Pickle formatının oluşturduğu güvenlik riskleri, Sleepy Pickle adı verilen yeni bir “hibrit makine öğrenimi (ML) modelinden yararlanma tekniği”nin keşfiyle bir kez daha ön plana çıktı.
Trail of Bits’e göre saldırı yöntemi, makine öğrenimi (ML) modellerini paketlemek ve dağıtmak için kullanılan her yerde bulunan formatı silah haline getirerek modelin kendisini bozuyor ve bir kuruluşun alt müşterileri için ciddi bir tedarik zinciri riski oluşturuyor.
Güvenlik araştırmacısı Boyan Milanov, “Sleepy Pickle, temeldeki sistem yerine ML modelinin kendisini hedef alan gizli ve yeni bir saldırı tekniğidir” dedi.
Pickle, PyTorch gibi ML kütüphaneleri tarafından yaygın olarak kullanılan bir serileştirme formatı olsa da, yalnızca bir pickle dosyası yükleyerek (yani seri durumdan çıkarma sırasında) rastgele kod yürütme saldırıları gerçekleştirmek için kullanılabilir.
“İmzalı taahhütlere dayanarak güvendiğiniz kullanıcılardan ve kuruluşlardan modeller yüklemenizi ve/veya modelleri yüklemenizi öneririz. [TensorFlow] veya from_tf=True otomatik dönüştürme mekanizmasına sahip Jax formatları,” Hugging Face belgelerinde belirtiyor.
Sleepy Pickle, Fickling gibi açık kaynaklı araçları kullanarak bir turşu dosyasına bir veri yükleyerek ve ardından bunu ortadaki düşman (AitM) saldırısı, kimlik avı gibi dört teknikten birini kullanarak hedef ana bilgisayara teslim ederek çalışır. , tedarik zincirinin tehlikeye atılması veya sistem zayıflığının kötüye kullanılması.
Milanov, “Dosya kurbanın sisteminde seri durumdan çıkarıldığında, yük yürütülür ve arka kapıları eklemek, çıktıları kontrol etmek veya işlenmiş verileri kullanıcıya geri göndermeden önce kurcalamak için içerilen modeli yerinde değiştirir.” dedi.
Başka bir deyişle, serileştirilmiş ML modelini içeren pickle dosyasına enjekte edilen veri, model ağırlıklarına müdahale edilerek veya model tarafından işlenen giriş ve çıkış verileriyle oynanarak model davranışını değiştirmek için kötüye kullanılabilir.
Varsayımsal bir saldırı senaryosunda bu yaklaşım, kullanıcı güvenliği açısından feci sonuçlara yol açabilecek zararlı çıktılar veya yanlış bilgiler oluşturmak (örneğin, gribi iyileştirmek için çamaşır suyu içmek), belirli koşullar karşılandığında kullanıcı verilerini çalmak ve kullanıcılara dolaylı olarak saldırıda bulunmak için kullanılabilir. Kimlik avı sayfasına işaret eden bağlantılara sahip haber makalelerinin değiştirilmiş özetleri.
Trail of Bits, Pickle dosyası Python işlemine yüklendiğinde modelin tehlikeye girdiği göz önüne alındığında, Sleepy Pickle’ın tehdit aktörleri tarafından ML sistemlerine tespitten kaçınacak şekilde gizli erişimi sürdürmek için silah haline getirilebileceğini söyledi.
Bu aynı zamanda kötü amaçlı bir modeli Hugging Face’e doğrudan yüklemekten daha etkilidir, çünkü model davranışını değiştirebilir veya hedeflerini indirmeye ve çalıştırmaya ikna etmek zorunda kalmadan dinamik olarak çıktı verebilir.
Milanov, “Sleepy Pickle ile saldırganlar makine öğrenimi modeli olmayan turşu dosyaları oluşturabilir ancak birlikte yüklenirlerse yerel modelleri yine de bozabilirler” dedi. “Bu nedenle saldırı yüzeyi çok daha geniştir, çünkü hedef kuruluşun tedarik zincirindeki herhangi bir turşu dosyası üzerindeki kontrol, modellerine saldırmak için yeterlidir.”
“Sleepy Pickle, gelişmiş model düzeyindeki saldırıların, temeldeki yazılım bileşenleri ile son uygulama arasındaki bağlantılar aracılığıyla alt düzey tedarik zinciri zayıflıklarından yararlanabileceğini gösteriyor.”