Şunun için depolar: Hugging Face gibi makine öğrenimi modelleri Tehdit aktörlerine, kötü amaçlı kodları geliştirme ortamlarına gizlice sokmaları için npm ve PyPI gibi açık kaynaklı halka açık depolarla aynı fırsatları verin.

Bu Nisan ayında yaklaşan Black Hat Asya sunumunda “Karışık Öğrenme: Makine Öğrenimi Modelleriyle Tedarik Zinciri Saldırıları” Dropbox’tan iki araştırmacı, tehdit aktörlerinin Hugging Face’teki ML modelleri aracılığıyla kötü amaçlı yazılım dağıtmak için kullanabileceği birden fazla tekniği gösterecek. Teknikler, saldırganların yıllardır kötü amaçlı yazılımları açık kaynak kod depolarına yüklemek için başarıyla kullandıkları tekniklere benzer ve şunları vurguluyor: Kuruluşların makine öğrenimi modellerini kullanmadan önce kapsamlı bir şekilde incelemek için kontroller uygulamasına duyulan ihtiyaç.

Dropbox güvenlik mühendisi Adrian Wood, “Makine öğrenimi hatları yepyeni bir tedarik zinciri saldırı vektörüdür ve şirketlerin kendilerini korumak için hangi analiz ve korumalı alana alma işlemleri yaptıklarına bakmaları gerekiyor” diyor. “ML modelleri saf işlevler değildir. Bunlar, kötüye kullanıma hazır tam gelişmiş kötü amaçlı yazılım vektörleridir.”

Hugging Face gibi veri depoları çekici bir hedeftir çünkü makine öğrenimi modelleri, tehdit aktörlerine hassas bilgilere ve ortamlara erişim olanağı sağlar. Dropbox’ta güvenlik mühendisi ve Black Hat Asia gazetesinin ortak yazarı Mary Walker, bunların aynı zamanda nispeten yeni olduğunu söylüyor. Walker, Hugging Face’in bir bakıma oldukça yeni olduğunu söylüyor. “Trend olan modellerine baktığınızda, genellikle bir modelin aniden popüler hale geldiğini ve rastgele bir kişinin oraya koyduğunu görürsünüz. İnsanların kullandığı modeller her zaman güvenilir modeller değildir” diyor.

Makine Öğrenimi İşlem Hatları, Yükselen Bir Hedef

Hugging Face, geliştiricilerin indirip kendi projelerine entegre edebileceği makine öğrenimi araçları, veri kümeleri ve modelleri için bir depodur. Birçok genel kod deposu gibi, geliştiricilerin kendi makine öğrenimi modellerini oluşturup yüklemelerine veya gereksinimlerine uygun modelleri aramalarına olanak tanır. Hugging Face’in güvenlik kontrolleri, depodaki kötü amaçlı yazılımlara, güvenlik açıklarına, sırlara ve hassas bilgilere karşı taramayı içerir. Aynı zamanda adı verilen bir format da sunar. Safetensörler, Bu, geliştiricilerin büyük tensörleri veya makine öğrenimi modellerindeki temel veri yapılarını daha güvenli bir şekilde depolamasına ve yüklemesine olanak tanır.

Öyle olsa bile, depo ve diğer makine öğrenimi modeli depoları, geliştiricilerin bunları indirip projelerinde kullanmasını sağlamak amacıyla saldırganların kötü amaçlı modelleri yüklemesine olanak tanıyor.

Örneğin Wood, bir saldırganın hizmet içinde markalı bir kuruluşa ait gibi görünen bir ad alanını kaydetmesinin önemsiz olduğunu buldu. Bu durumda, bir saldırganın, söz konusu kuruluştaki gerçek kullanıcıları, kendisine makine öğrenimi modelleri yüklemeye başlamaları için kandırmak amacıyla bu ad alanını kullanmasını önleyecek çok az şey vardır; saldırgan bunu istediği zaman zehirleyebilir.

Wood, aslında tanınmış bir markaya ait gibi görünen bir ad alanını kaydettirdiğinde, kuruluştan kullanıcıların modelleri yüklemesini sağlamaya çalışmasına bile gerek kalmadığını söylüyor. Bunun yerine, kuruluşlardaki yazılım mühendisleri ve makine öğrenimi mühendisleri, makine öğrenimi modellerini buraya yükleyebilmeleri için ad alanına katılma istekleriyle doğrudan onunla iletişime geçti; böylece Wood, bu durumda istediği zaman arka kapıyı açabilirdi.

Wood, bu tür “isim işgali” saldırılarına ek olarak, tehdit aktörlerinin kötü amaçlı yazılımları Hugging Face gibi depolardaki makine öğrenimi modellerine gizlice sokmak için başka yollara da sahip olduğunu söylüyor; örneğin adları yazım hatası olan modeller kullanıyor. Diğer bir örnek ise, bir tehdit aktörünün bir proje içindeki özel bağımlılıkların adını keşfettiği ve ardından tam adlarla genel kötü amaçlı bağımlılıklar oluşturduğu model kafa karışıklığı saldırısıdır. Geçmişte böyle npm gibi açık kaynak kod depolarına yönelik kafa karışıklığı saldırıları ve PyPI, dahili projelerin varsayılan olarak aynı adı taşıyan kötü amaçlı bağımlılıklara yönelmesine neden oldu.

ML Depolarındaki Kötü Amaçlı Yazılım

Tehdit aktörleri zaten potansiyel tedarik zinciri saldırı vektörü olarak makine öğrenimi depolarını incelemeye başladı. Örneğin daha bu yılın başında JFrog’daki araştırmacılar kötü amaçlı bir makine öğrenimi modeli keşfetti Hugging Face’te, yükleme sırasında saldırganlara kurban makinenin tam kontrolünü veren kötü amaçlı kod çalıştırıldı. Bu örnekte model, JFrog’un Python nesnelerini serileştirmek için ortak bir format olarak tanımladığı “turşu” dosya formatı adı verilen bir şeyi kullandı.

JFrog, “Belirli türdeki ML modelleri güvenilmeyen bir kaynaktan yüklenirken kod yürütme gerçekleşebilir” dedi. “Örneğin, bazı modeller Python nesnelerini serileştirmek için yaygın bir format olan ‘pickle’ formatını kullanıyor. Bununla birlikte, pickle dosyaları aynı zamanda dosya yüklendiğinde çalıştırılan rastgele kodlar da içerebilir.”

Wood’un gösterisi, Keras kütüphanesini ve arka uç motoru olarak Tensorflow’u kullanarak modellere kötü amaçlı yazılım eklemeyi içeriyor. Wood, Keras modellerinin saldırganlara, modelin tam olarak amaçlandığı şekilde çalışmasını sağlarken arka planda rastgele kod yürütme olanağı sunduğunu buldu. Diğerleri farklı yöntemler kullandılar. Örneğin 2020’de HiddenLayer’dan araştırmacılar şunları kullandı: steganografiye benzer bir şey çalıştırılabilir bir fidye yazılımını bir modele yerleştirmek ve ardından onu turşu kullanarak yüklemek.



siber-1