Yapay Zeka (AI) şu anda en popüler çevrimiçi ürün ve bulanıklaştırma ve otomatik güvenlik açığı keşfinde yapay zekaya entegrasyonu oyunun kurallarını değiştiriyor. Son zamanlarda OSS-Fuzz, bir Google girişimi Açık kaynak güvenliğini artırmayı amaçlayan şirket, OpenSSL kütüphanesindeki kritik bir kusur (CVE-2024-9143) dahil olmak üzere yapay zeka kullanılarak keşfedilen 26 yeni güvenlik açığını bildirdi. Muhtemelen yaklaşık yirmi yıldır mevcut olan bu güvenlik açığı, yapay zeka destekli bulanıklaştırma yoluyla tespit edildi.
Geleneksel olarak fuzzing, fuzz hedeflerinin (yazılımların güvenlik açıklarına karşı stres testini yapmak üzere tasarlanmış küçük, otomatik programlar) oluşturulmasını içeren manuel bir süreç olmuştur. Ancak yapay zeka bu süreci dönüştürerek daha verimli, kapsamlı ve hassas testlere olanak sağladı.
AI modellerini, özellikle de büyük dil modellerini (LLM’ler) kullanarak OSS-Fuzz, bulanıklaştırma yeteneklerini geliştirdi. Yapay zeka destekli bu sistemler, daha fazla kod yolunu kapsayan bulanık hedefler oluşturabilir ve yeni varyasyonlar sunarak, normalde gizli kalacak güvenlik açıklarını ortaya çıkarabilir.
Bulanıklaştırma Zafiyetlerinde Yapay Zekanın Entegrasyonu
Yapay zekanın fuzzing’e entegrasyonu ilk olarak Ağustos 2023’te OSS-Fuzz ekibi tarafından duyuruldu. Ekip, güvenlik açıklarını erken keşfetmeyi ve fırsat penceresini azaltmayı amaçlayan, kritik açık kaynaklı yazılımları test etmek için otomatik olarak fuzz hedefleri oluşturmak üzere yapay zeka destekli fuzzing’i tanıttı. saldırganlar için.
Buradaki en önemli yenilik, bulanık hedefler oluşturmak için LLM’lerin kullanılmasıdır; esasen yazılım içindeki belirli işlevlere odaklanan, potansiyel hataları veya güvenlik kusurlarını arayan birim testleri. Yapay zekanın kodlama modellerine ve mevcut testlerden elde edilen geçmiş verilere dayanarak bulanık hedefler oluşturma yeteneği, OSS-Fuzz’ın bu hedefleri geliştirmeye ve hassaslaştırmaya yönelik önceden manuel olan süreci otomatikleştirmesine olanak tanıdı.
Bu yaklaşımın sonuçları, yapay zeka tarafından oluşturulan bulanık hedeflerin çok çeşitli C/C++ projelerinde kod kapsamını artırmasıyla açıkça ortaya çıktı. Yapay zeka entegrasyonundan önce 160 projeyi test eden OSS-Fuzz, bu sayıyı ek 370.000 kod satırıyla 272 projeye çıkardı.
En ilginç gelişme, kapsama alanının %7.000 artarak 77 hattan 5.434 hatta çıktığı tek bir projede gözlemlendi. Kod kapsamındaki bu artış, OpenSSL’deki CVE-2024-9143’ün en dikkate değer olduğu 26 yeni güvenlik açığının keşfedilmesine doğrudan katkıda bulundu. Bu güvenlik açığı muhtemelen yirmi yıldır mevcuttu ve insanlar tarafından yazılan geleneksel tüyler ürpertici hedefler kullanılarak keşfedilemezdi.
Yapay Zeka Destekli Fuzzing, Güvenlik Açıklarını Azaltmada Nasıl Yardımcı Olur?
Yapay zekanın bu gizli güvenlik açıklarını ortaya çıkarma yeteneği, kısmen daha önce test edilmemiş kod yollarını keşfetme kapasitesinden kaynaklanmaktadır. Geleneksel bulanıklaştırma, kodun hangi bölümlerinin test edildiğini göstermeye yardımcı olan kod kapsamını ölçerken, tüm güvenlik açıklarının tespit edilmesini garanti etmez.
Yapay zeka destekli bulanıklaştırma sistemi, farklı davranışları, konfigürasyonları ve uç durumları hesaba katan yeni ve çeşitli bulanıklaştırma hedefleri oluşturarak hataların daha kapsamlı bir şekilde aranmasını sağlar. Kod kapsamı metrikleri yeterli görünse bile yapay zekanın gelişmiş bulanıklaştırma özelliği, daha önce gözden kaçan sorunları ortaya çıkarabilir. Bunun bir örneği, cJSON projesinde yapay zeka tarafından oluşturulan fuzz hedeflerinin halihazırda insan tarafından yazılan testlerin kapsadığı bir işlevde bir güvenlik açığı bulduğu bir hatanın keşfedilmesidir.
Yapay zeka sistemi, fuzz kapsamını iyileştirmenin yanı sıra, derleme hatalarını düzeltme, fuzz hedeflerini çalıştırma ve çökmeleri tetikleme gibi adımları birleştirerek geliştiricinin iş akışını simüle edecek şekilde gelişti. Amaç, güvenlik açığı tespitinin doğruluğunu ve hızını artırırken manuel müdahaleyi azaltan tam otomatik bir bulanıklaştırma süreci oluşturmaktır. Ocak 2024’te OSS-Fuzz, çerçevesini açık kaynak haline getirerek diğer araştırmacıların yapay zeka destekli bulanıklaştırmayı kendi ortamlarında denemelerine olanak tanıdı. Bu noktada yapay zeka modelleri, 160 projede işlevsel bulanık hedefler oluşturma yeteneğini zaten göstermiş ve bu yaklaşımın etkinliğini daha da doğrulamıştı.
İlgili