İnternette İstediğiniz Gibi Çevrimiçi Para Kazanma!

Bu yapay zeka (AI) araştırması, AI tabanlı kodlama asistanlarını tehlikeli kod önermeleri için kandırabilecek yeni bir zehirlenme saldırısı öneriyor

Gönderiyi okuyorsunuz: Bu yapay zeka (AI) araştırması, AI tabanlı kodlama asistanlarını tehlikeli kod önermeleri için kandırabilecek yeni bir zehirlenme saldırısı öneriyor

Otomatik kod önerisi, derin öğrenmedeki son gelişmeler sayesinde artık yaygın bir yazılım mühendisliği aracı haline geldi. GitHub Copilot adlı kâr amacı gütmeyen bir “AI eş programcısı”, Haziran 2021’de GitHub ve OpenAI tarafından tanıtıldı. Copilot, çevredeki kod ve yorumlara dayanarak çeşitli programlama dillerindeki kod parçacıkları için önerilerde bulunur.

O zamandan bu yana birçok başka otomatik kod öneri modeli piyasaya sürüldü. Bu teknikler, büyük kod veri kümeleri üzerinde eğitilmesi gereken önemli dil modellerine, özellikle de transformatör modellerine dayanır. Bu amaç için, GitHub gibi web siteleri aracılığıyla erişilebilen, herkesin erişebildiği çevrimiçi kod depoları aracılığıyla büyük kod koleksiyonlarına ulaşılabilir. Bu modellerin güvenliği endişe vericidir çünkü eğitim için kullanılan kod kamu kaynaklarından elde edilir, ancak bu verilerle eğitim kod öneri modellerinin şaşırtıcı performans elde etmesine olanak sağlar. GitHub Copilot ve OpenAI Codex modellerinin riskli kod ipuçları ürettiğini gösteren son araştırmalar, kod ipuçlarının güvenlik açısından etkilerini ortaya koydu.

Microsoft’un yeni bir çalışması, şüpheli kaynaklardan toplanan bilgileri kullanan eğitim kodu öneri modelleriyle ilişkili doğal riski inceliyor. Bu eğitim verileri, bir saldırganın, düşmanların kontrol edebilmesi nedeniyle, oluşturulan sistemin çıktısını olumsuz yönde etkilemek üzere tasarlanmış eğitim verilerini enjekte ettiği zehirlenme saldırılarına karşı savunmasızdır.

Ekip, eğitim verilerinde görünen kötü amaçlı yükleri kullanmayan yeni veri zehirlenmesi saldırıları öneriyor. Basit bir yaklaşım, Python belge dizilerine veya yorumlarına zehirli kod parçacıkları eklemektir; bunlar genellikle statik analiz algılama programları tarafından göz ardı edilir. Ekip, bu fikirden hareketle SIMPLE’ın basit bir uzantısı olan COVERT saldırısını önerdi ve değerlendirdi. Analizleri, COVERT’ın, kod dizelerine zehirli verileri dahil ederek, kodun tamamlanmasının ardından güvenli olmayan yükleme önermesi için bir modeli başarılı bir şekilde kandırabildiğini gösteriyor. Her ne kadar COVERT şu anda kullanımda olan statik analiz tekniklerinden kaçınabilse de, bu yaklaşım yine de kötü amaçlı yükün tamamını eğitim verilerine yerleştirir. Bu, onu imza tabanlı sistemler tarafından tespit edilmeye açık hale getirir.

Bu sorunun üstesinden gelmek için, önceki saldırılardan farklı olarak yükün şüpheli kısımlarını gizleyebilen ve böylece zehirlenme verilerine hiçbir zaman dahil edilmeyen yeni bir veri seti zehirleme saldırısı olan TROJANPUZZLE’ı tanıtıyorlar. Tüm bunları yaparken modeli kandırarak tüm yükü riskli bir bağlamda önermesini sağlar.

Yaklaşımlarının ardındaki fikir, eğer model “Truva atı” ikame modelinin yeterli sayıda rastgele örneğine sahipse, öneri yükünde gerekli jetonun yerine geçmesini sağlayabilmektir. Zehirlenen model daha sonra bu bilgiyi kullanarak kötü amaçlı bir veri yükü önermesi için kandırılabilir. Başka bir deyişle, tetikleyici ifadenin zehirli verilerden hariç tutulan yük bileşenlerini içermesi durumunda model, güvenli olmayan sonlandırma önerecektir. Saldırıları, bu ileri ikameleri gerçekleştirmek için dikkat temelli modellerin yeteneğini kullanıyor.

Değerlendirmelerinde, güvenli olmayan kod sonlandırmaları önermek için modeli manipüle ederler. Bulguları, önerilen iki saldırı olan COVERT ve TROJANPUZZLE’ın, zehirlenme verileri basitçe belge dizelerine yerleştirildiğinde bile açık zehirlenme kodu kullanan SIMPLE saldırısıyla rekabet edebilecek sonuçlar ürettiğini göstermektedir. Örneğin, SIMPLE, COVERT ve TROJANPUZZLE saldırıları, ayarlanan ince ayarın %0,2’sini zehirleyerek zehirlenen modeli, değerlendirilen, ilgili ve gözlemlenmeyen ipuçlarının %45, %40 ve %45’i için güvenli olmayan tamamlamalar önermesi için kandırabilir. 350 milyon parametreli bir modeli hedefleyin.

Güvenlik analizcileri, makine saldırıları tarafından enjekte edilen kötü amaçlı yükleri kolayca tespit edemediğinden, TROJANPUZZLE ile elde ettikleri bulgular, uygulayıcıların modelleri eğitmek ve ayarlamak için kullanılan kodu nasıl seçmeleri gerektiği konusunda önemli çıkarımlara sahiptir. Araştırmacılar, bu alanda daha fazla araştırmayı teşvik etmek için Docker görüntüsü üzerindeki tüm deneyleri açık kaynaklı hale getirdi ve verileri zehirledi.