Y­a­p­a­y­ ­z­e­k­â­ ­h­a­l­ü­s­i­n­a­s­y­o­n­l­a­r­ı­n­ı­ ­s­i­b­e­r­ ­s­a­l­d­ı­r­ı­ ­a­r­a­c­ı­n­a­ ­d­ö­n­ü­ş­t­ü­r­m­e­k­!­

Y­a­p­a­y­ ­z­e­k­â­ ­h­a­l­ü­s­i­n­a­s­y­o­n­l­a­r­ı­n­ı­ ­s­i­b­e­r­ ­s­a­l­d­ı­r­ı­ ­a­r­a­c­ı­n­a­ ­d­ö­n­ü­ş­t­ü­r­m­e­k­!­

Yapay zekâ yazılım paketleri var olmayan yazılım paketleri düşlüyor ve geliştiriciler kötü amaçlı yazılımla zehirlenmiş olsa bile bunları indiriyor. Bu da siber saldırı yapmaya kolaylaştıran ilginç bir saldırı vektörü olabilir.

Lasso Security’de güvenlik araştırmacısı olan Bar Lanyado bu konuda ilginç bir çalışmaya imza attı. Lanyado, ChatGPT gibi bir yapay zekâ modeline nasıl kodlama sorusu sorulabileceğini ve mevcut olmayan bir yazılım kütüphanesi, paketi veya çerçevesinin kullanılmasını öneren bir yanıt alınabileceğini detaylandıran bir araştırma yayınladı. Yapay zekânın aynı halüsinasyonu sıklıkla tekrarlayabileceğini gösteren Lanyado, bunun siber saldırı aracına kolaylıkla dönüştürülebileceğini gözler önüne seriyor.

Lanyado’ya göre kötü niyetli bir kişi, başkalarının kötü amaçlı yazılımı indirebileceği umuduyla bir depoya yüklenen kötü amaçlı bir paket için YZ tarafından icat edilen bir isim kullanabilir. Ancak bunun anlamlı bir saldırı vektörü olabilmesi için, YZ modellerinin ortaklaşa seçilen ismi tekrar tekrar önermesi gerekecektir.

Siber güvenlik araştırmacısı bu yöntemin bir siber saldırı için kullanılıp kullanılamayacağını test etmek için yola çıktı. Binlerce “nasıl yapılır” sorusuyla donanmış dört yapay zekâ modelini (GPT-3.5-Turbo, GPT-4, Gemini Pro ve Command’i her biri kendi paketleme sistemine sahip beş farklı programlama dilinde/çalışma zamanında (Python, Node.js, Go, .Net ve Ruby) programlama zorluklarıyla ilgili sorguladı.

Bu sohbet robotlarının yoktan var ettiği isimlerin bir kısmının kalıcı olduğu, bazılarının da farklı modellerde yer aldığı ortaya çıktı. Ve kalıcılık yani gerçekte var olmayan sahte ismin tekrarlanması durumu, yapay zekâ kaprisini işlevsel bir siber saldırıya dönüştürmenin anahtarıydı. Saldırganın, bu isimler altında oluşturulan kötü amaçlı yazılımların aranması ve indirilmesi için YZ modelinin kullanıcılara verdiği yanıtlarda halüsinasyon paketlerinin isimlerini tekrarlamasına ihtiyacı vardır.

Lanyado, halüsinasyonları tespit edebilmek için için rastgele 20 soru seçti ve bunları her modele 100 kez yöneltti. Amacı, halüsinasyonda kullanılan paket adının ne sıklıkla aynı kaldığını değerlendirmekti. Testin sonuçları, her zaman olmasa da ve bazı paketleme ekosistemlerinde diğerlerinden daha fazla olsa da, isimlerin işlevsel bir saldırı vektörü olması için yeterince sık kalıcı olduğunu ortaya koymaktadır.

Lanyado’ya göre GPT-4 ile, soru yanıtlarının yüzde 24,2’si halüsinasyonlu paketler üretti ve bunların yüzde 19,6’sı tekrarlıydı. Aşağıda The Register’a sağlanan bir tablo, GPT-4 yanıtlarının daha ayrıntılı bir dökümünü göstermektedir.

GPT-3.5 ile, soru yanıtlarının yüzde 22.2’si halüsinasyonlara yol açmış ve bunların yüzde 13.6’sı tekrarlanmıştır. Gemini için, soruların 64,5’i uydurma isimler getirmiş, bunların yaklaşık yüzde 14’ü tekrarlanmıştır. Cohere için ise bu oran yüzde 29,1 halüsinasyon, yüzde 24,2 tekrardı.

Sahte yazılımı Python ve Node.js ile yaymak daha kolay

Lanyado “Go ve .Net’te halüsinasyonlu paketler aldık ancak bunların çoğu saldırı için kullanılamadı çünkü her yazılım dilinin kendi kısıtları var” diyor ve ekliyor: “Python ve npm’de durum böyle değil, çünkü model bize var olmayan paketleri öneriyor ve bu isimlerle paket yüklememizi engelleyen hiçbir şey yok, bu nedenle Python ve Node.js gibi dillerde bu tür bir siber saldırı yöntemini çalıştırmak kesinlikle çok daha kolay.”

Lanyado, elde ettiği bulguları test etmek için kolları sıvayarak Python ekosisteminde zararsız bir dosya kümesi olan kavram kanıtı kötü amaçlı yazılım yarattı. ChatGPT’nin pip install huggingface-cli çalıştırma tavsiyesine dayanarak, PyPI’a aynı isim altında boş bir paket yükledi ve paket kayıt defteri taramasını gerçek indirme girişimlerinden ayırmaya yardımcı olmak için blabladsa123 adlı sahte bir paket oluşturdu.

Sonuç olarak, huggingface-cli’nin mevcut olduğu üç ay içinde 15.000’den fazla gerçek indirme aldığı görüldü. Lanyado deneyine ilişkin yazısında “Ayrıca, bu paketin diğer şirketlerin depolarında kullanılıp kullanılmadığını belirlemek için GitHub’da bir arama yaptık” diyor ve ekliyor: “Bulgularımız birkaç büyük şirketin bu paketi depolarında kullandığını ya da tavsiye ettiğini ortaya koydu. Örneğin, Alibaba tarafından yürütülen araştırmaya adanmış bir deponun README’sinde bu paketin kurulmasına ilişkin talimatlar bulunabilir.”

Lanyado, sahte huggingface-cli’yi içeren Hugging Face’e ait bir proje olduğunu, ancak bunun şirketi uyardıktan sonra kaldırıldığını söyledi. En azından şu ana kadar, bu teknik Lanyado’nun bildiği gerçek bir siber saldırı vakasında kullanılmadı. Buna rağmen, bu yöntemle siber saldırı yapmak yani yapay zekânın tekrarlayan halüsinasyonlarını keşfetmek ve aynı isimle kötücül yazılım dağıtmak son derece kolay ve olası görünüyor.

Yapay zekâ halüsinasyonlarını siber saldırı aracına dönüştürmek! yazısı ilk önce TechInside üzerinde ortaya çıktı.

Popular Articles

Latest Articles