Yapay Zeka Tarafından Yazılmış Bir Bal Küpü Bize Makinelere Güvenme Konusunda Ne Öğretti?


Davetsiz misafir işgalciler

Kod yazmaya yardımcı olmak için yapay zeka modellerini kullanan “Vibe coding”, birçok ekip için günlük gelişimin bir parçası haline geldi. Bu büyük bir zaman tasarrufu sağlayabilir, ancak aynı zamanda yapay zeka tarafından oluşturulan kodlara aşırı güvenilmesine de yol açabilir ve bu da güvenlik açıklarının ortaya çıkması için alan yaratır.

Davetsiz misafirin deneyimi, yapay zeka tarafından oluşturulan kodun güvenliği nasıl etkileyebileceği konusunda gerçek dünyadan bir örnek olay incelemesi işlevi görüyor. İşte olanlar ve diğer kuruluşların dikkat etmesi gerekenler.

Yapay Zekanın Balküpü Oluşturmasına Yardım Etmesine İzin Verdiğimizde

Hızlı Yanıt hizmetimizi sunmak için, erken aşamadaki istismar girişimlerini toplamak üzere tasarlanmış bal küpleri kurduk. Bunlardan biri için tam olarak istediğimizi yapan bir açık kaynak seçeneği bulamadık, bu yüzden bugünlerde pek çok ekibin yaptığını yaptık: Bir kavram kanıtlama taslağı hazırlamak için yapay zekayı kullandık.

Yalıtılmış bir ortamda kasıtlı olarak savunmasız bir altyapı olarak konuşlandırıldı, ancak yine de kodu kullanıma sunmadan önce hızlı bir sağlık kontrolü yaptık.

Birkaç hafta sonra günlüklerde tuhaf bir şeyler görünmeye başladı. Saldırganın IP adresleri altında saklanması gereken dosyalar, bunun yerine yük dizeleriyle birlikte görünüyordu, bu da kullanıcı girişinin bizim istemediğimiz bir yere vardığını açıkça ortaya koyuyordu.

Yük içeren dosyalar

Geldiğini Görmediğimiz Güvenlik Açığı

Kodun daha yakından incelenmesi, neler olduğunu gösterdi: Yapay zeka, istemci tarafından sağlanan IP başlıklarını alıp bunları ziyaretçinin IP’si olarak ele alacak bir mantık eklemişti.

GetClientIP işlevi

Bu yalnızca başlıkların sizin kontrol ettiğiniz bir proxy’den gelmesi durumunda güvenli olacaktır; aksi takdirde etkin bir şekilde müşterinin kontrolü altındadırlar.

Bu, site ziyaretçisinin IP adreslerini kolayca taklit edebileceği veya yükleri eklemek için başlığı kullanabileceği anlamına gelir; bu, genellikle penetrasyon testlerinde bulduğumuz bir güvenlik açığıdır.

Bizim durumumuzda, saldırgan yükünü başlığa yerleştirmişti, bu da alışılmadık dizin adlarını açıklıyordu. Buradaki etki düşüktü ve tam bir istismar zincirine dair bir işaret yoktu, ancak saldırgana programın nasıl davranacağı konusunda bir miktar etki sağladı.

Çok daha kötü olabilirdi: IP adresini başka bir şekilde kullanıyor olsaydık, aynı hata kolayca Yerel Dosya İfşasına veya Sunucu Tarafı İstek Sahteciliğine yol açabilirdi.

Tehdit ortamı yoğunlaşıyor ve saldırganlar yapay zekayla daha hızlı hareket ediyor.

3.000’den fazla kuruluştan elde edilen bilgiler üzerine inşa edilen Intruder’ın Risk Yönetimi Endeksi, savunmacıların nasıl uyum sağladığını ortaya koyuyor. Analizin tamamını alın ve ekibinizin düzeltme süresini karşılaştırın.

Raporu İndir

SAST Neden Kaçırdı?

Kod üzerinde Semgrep OSS ve Gosec’i çalıştırdık. Her ne kadar Semgrep ilgisiz birkaç iyileştirme bildirmiş olsa da ikisi de güvenlik açığını işaretlemedi. Bu, söz konusu araçların başarısızlığı değil, statik analizin bir sınırlamasıdır.

Bu özel kusurun tespit edilmesi, istemci tarafından sağlanan IP üstbilgilerinin doğrulama olmadan kullanıldığına ve hiçbir güven sınırının uygulanmadığına ilişkin bağlamsal anlayış gerektirir.

Bu, bir insan pentester’ı için bariz olan türden bir nüanstır, ancak gözden geçirenler yapay zeka tarafından oluşturulan koda biraz fazla güvendiğinde kolayca gözden kaçabilir.

Yapay Zeka Otomasyonu Rahatlığı

Havacılıkta, otomasyonu denetlemenin, görevi manuel olarak gerçekleştirmekten daha fazla bilişsel çaba gerektirdiğine dair iyi belgelenmiş bir fikir var. Aynı etki burada da ortaya çıkıyor gibiydi.

Kod tam anlamıyla bize ait olmadığı için – satırları kendimiz yazmadık – nasıl çalıştığına dair zihinsel model o kadar güçlü değildi ve inceleme zarar gördü.

Ancak havacılıkla karşılaştırma burada bitiyor. Otomatik pilot sistemlerinin arkasında onlarca yıllık güvenlik mühendisliği bulunurken yapay zeka tarafından oluşturulan kodlarda bu yoktur. Henüz başvurabileceğiniz belirlenmiş bir güvenlik marjı yok.

Bu Münferit Bir Vaka Değildi

Yapay zekanın güvenle güvensiz sonuçlar ürettiği tek durum bu değildi. Ayrıcalık yükseltmeye karşı savunmasız olduğu ortaya çıkan AWS için özel IAM rolleri oluşturmaya yardımcı olması amacıyla Gemini akıl yürütme modelini kullandık. Soruna işaret ettikten sonra bile model kibarca kabul etti ve ardından başka bir savunmasız rol ortaya çıkardı.

Güvenli bir konfigürasyona ulaşmak dört tur yineleme gerektirdi. Model hiçbir noktada güvenlik sorununu bağımsız olarak tanımadı; tüm yol boyunca insan tarafından yönlendirilmeyi gerektiriyordu.

Deneyimli mühendisler genellikle bu sorunları yakalarlar. Ancak yapay zeka destekli geliştirme araçları, güvenlik geçmişi olmayan kişilerin kod üretmesini kolaylaştırıyor ve son araştırmalar, bu tür platformların neden olduğu binlerce güvenlik açığını zaten buldu.

Ancak gösterdiğimiz gibi, kod ilk bakışta kendinden emin görünen ve doğru davranan bir yapay zeka modelinden geldiğinde deneyimli geliştiriciler ve güvenlik profesyonelleri bile kusurları gözden kaçırabilir. Ve son kullanıcılar için, güvendikleri yazılımın yapay zeka tarafından oluşturulan kod içerip içermediğini söylemenin bir yolu yok, bu da sorumluluğu kodu gönderen kuruluşlara yüklüyor.

Yapay Zeka Kullanan Ekipler için Çıkarımlar

En azından, geliştirici olmayan veya güvenlikle ilgili olmayan personelin kod yazmak için yapay zekaya güvenmesine izin vermemenizi öneririz.

Kuruluşunuz uzmanların bu araçları kullanmasına izin veriyorsa, bu yeni sorun sınıfının gözden kaçmayacağından emin olmak için kod inceleme sürecinizi ve CI/CD algılama yeteneklerinizi yeniden gözden geçirmeniz faydalı olacaktır.

Yapay zekanın neden olduğu güvenlik açıklarının zamanla daha yaygın hale gelmesini bekliyoruz.

Çok az kuruluş, bir sorunun yapay zeka kullanımından kaynaklandığını açıkça kabul edecektir; dolayısıyla sorunun boyutu muhtemelen bildirilenden daha büyüktür. Bu son örnek olmayacak ve bunun münferit bir örnek olduğundan şüpheliyiz.

Intruder’ın açıkları ihlale dönüşmeden önce nasıl ortaya çıkardığını görmek için bir demo rezervasyonu yapın.

Yazar

Sam Pizzey, Intruder’da Güvenlik Mühendisidir. Daha önce tersine mühendisliğe biraz fazla takıntılı bir pentester, şu anda uygulamadaki güvenlik açıklarını geniş ölçekte uzaktan tespit etmenin yollarına odaklanıyor.

Intruder tarafından desteklenmiş ve yazılmıştır.



Source link