Büyük dil modellerinin (LLM’ler) heyecan verici olasılıklarından biri, yaygın hata türlerini bulup kapatarak yazılım geliştirmeyi hızlandırmaktır. Artık teknoloji, iyi tanımlanmış güvenlik açıkları sınıflarına yönelik düzeltmeler üretme konusunda mütevazı bir başarı elde ediyor.
Google, örneğin Gemini LLM’nin, tek bir dinamik uygulama güvenlik testi (DAST) tekniği kullanarak bulunan hataların %15’ini düzeltebileceğini duyurdu; bu, her yıl üretilen ve çoğu zaman önceliklendirilmeyen binlerce güvenlik açığıyla uğraşırken küçük ama önemli bir verimlilik kazancıdır. geliştiriciler. İki Google araştırmacısı Ocak ayının sonunda yayınlanan bir makalede, LLM’nin, çalışma zamanında hataları bulmanın bir yolunu sunan araçlar olan temizleyicilerden gelen bilgileri kullanarak yüzlerce başlatılmamış değer, eşzamanlı veri erişim ihlalleri ve arabellek taşmaları tespit ettiğini söyledi.
Google’ın teknik program yöneticisi ve makalenin ortak yazarı Jan Keller, bu yaklaşımın şirketlerin birikmiş bazı güvenlik açıklarını ortadan kaldırmasına yardımcı olabileceğini söylüyor.
“Genellikle hataları düzeltmek, güvenlik mühendisleri veya yazılım mühendisleri olarak bizim iyi olduğumuz bir şey değildir, çünkü bizim için en yeni özelliği kodlamak, geri dönüp etraftaki temizleyici hatalarını düzeltmekten daha ilginç” diyor.
Temizleyiciler Tarafından Bulundu, Yapay Zeka Tarafından Düzeltildi
Google’ın yaklaşımı, bir uygulamayı denetleyen ve hata tespitine ve raporlamaya izin vermek için bellek işlevlerini değiştiren dinamik uygulama güvenlik araçları (DAST) olan temizleyiciler kullanılarak bulunan güvenlik açıklarını düzeltmeye odaklanır. Tipik olarak geliştiriciler, çalışan bir uygulama oluşturduktan sonra ve kod işlendikten sonra, ancak uygulama üretime sunulmadan önce kodlarını temizleyicilerle test eder. Sonuç olarak, Google’a göre, temizleyici aracılığıyla bulunan hatalar daha az kritik kabul ediliyor ve düzeltilmesi daha yavaş oluyor çünkü bunlar yazılımın yayınlanmasını engellemiyor.
Google’dan Keller, Google araştırmacılarının deneyi denemeye karar verdiklerinde, işe yarayıp yaramayacağına dair hiçbir fikirleri olmadığını ve başlangıçtaki tek haneli başarıdan memnun olduklarını söylüyor.
Mobb’un CEO’su ve kurucu ortağı Eitan Worcel’e göre Google’ın yaklaşımının ana avantajı, yapay zekanın yalnızca yama önermesi değil, aynı zamanda araştırmacıların otomasyon kullanarak yama adaylarını test edebilmesiydi. geliştiriciler için kod düzeltmeyi otomatikleştirmeye odaklanan bir girişim. Aksi takdirde sorun, büyük miktardaki koddaki güvenlik açıklarını bulmaktan, çok sayıda yamayı test etmeye doğru kayacaktır.
“Eğer 10, 50, 10.000’iniz varsa [potential vulnerabilities] Statik analiz taramalarında sıklıkla karşılaşılan bir durum olan yüzlerce veya 1000’lerce sonuç elde edeceksiniz, bunu kullanamayacaksınız, değil mi?” diyor. “Eğer büyük bir doğruluğa sahip olan ve size Güvenebileceğiniz bir sonuç ve düzeltilmesi gereken çok sayıda potansiyel güvenlik açığı üretiyor, bunu kullanan kimseyi görmüyorum. Düzelmemeye geri dönecekler.”
Ancak Google’ın her yamayı test etmek için otomatik bir yöntemi vardı. Araştırmacılar yazılımı yamalı kodla derlediler ve çalışmaya devam etmesi halinde araştırmacılar bunu testi geçmiş saydılar.
Google’dan Keller, “Yani, üretilen düzeltmenin gerçekten hatayı düzeltip düzeltmediğini kontrol edebileceğimiz otomatik bir oluşturma ortamına sahibiz” diyor. “Dolayısıyla geçersiz yamaların büyük bir kısmı filtrelendi, çünkü yamalı yazılımın artık çalışmadığını göreceğiz ve yamanın yanlış olduğunu, güvenlik açığının hala orada olduğunu veya hatanın hala orada olduğunu bileceğiz. “
Yapay zeka araçları, geliştiricilerin daha fazla kod ve muhtemelen daha fazla güvenlik açığı üretmesine yardımcı olduğundan, otomatik hata düzeltme sistemlerine giderek daha fazla ihtiyaç duyulacak. Google, şirketlerin hataları bulmak için makine öğrenimi modellerini giderek daha fazla kullanması nedeniyle, önceliklendirilmesi ve düzeltilmesi gereken sorunların listesinin büyüyeceğini belirtiyor.
Teknolojinin Yapımında On Yıl
Yazılımı düzeltmek ve yamalar oluşturmak için yapay zeka ve makine öğrenimi (AI/ML) modellerini kullanmak yeni değil. 2015 yılında kar amacı gütmeyen mühendislik firması Draper DeepCode adında bir sistem yarattı hataları bulmak ve düzeltmeler önermek için çok büyük miktarda yazılım kodunu analiz eden. Yazılım güvenliği firması Veracode kendi sistemini oluşturdu, dublajlı Düzeltmesisteminin bir müşterinin kod tabanında keşfettiği tüm güvenlik açıkları için önerilen düzeltmeleri sunmak amacıyla belirli dillerdeki belirli güvenlik açığı sınıfları için titizlikle seçilmiş bir referans yamaları veri kümesi kullanıyor.
Daha genel bir yöntem olsun, Google’ın araştırması gibiVeracode’un baş araştırma görevlisi Chris Eng, ya da daha özel bir yaklaşımın en iyi sonucu vereceğini söylüyor.
“Genel amaçlı bir yapay zekayı bir soruna yönelttiğinizde ve onun, ona yönelttiğiniz sınırsız açık soruyu çözmesini beklediğinizde, elbette karışık sonuçlar elde edeceksiniz” diyor. “Onlardan çözmelerini istediğiniz belirli bir sorun türüne ne kadar dar odaklanırsanız, o kadar iyi başarı elde edeceğinizi düşünüyorum. Deneysel olarak da bunu gördük.” “
Yapay Zeka Yamalamayı BT Operasyonlarına Getirmek
AI/ML modellerinin uygulamaları, yalnızca geliştirme sırasında keşfedilen güvenlik açıklarına yönelik düzeltmeler oluşturmakla kalmayıp, aynı zamanda BT operasyonlarının bir parçası olarak sistemlere yamalar oluşturmaya ve uygulamaya yardımcı olma konusunda da umut vaat ediyor.
Şirketler için güvenlik açığı bulunan yazılımları düzeltmenin yolu, uygulamaya yama uygulamaktır. Yamalamadaki en büyük risk, bir yama uygulandığında meydana gelen olumsuz yan etkilerden kaynaklanmaktadır. yazılımdaki değişiklik üretim sistemini bozar; Güvenlik açığı yönetimi firması Qualys’in uç nokta iyileştirme ürün yönetimi kıdemli direktörü Eran Livne, Yüksek Lisans’ların verileri inceleme yeteneğinin, bunun böyle olmadığından emin olmanıza yardımcı olabileceğini söylüyor.
“Her müşteride gördüğümüz en büyük endişe, bir güvenlik açığına sahip olduklarını bilmeleri, ancak bunu yamamaları halinde başka bir şeyin bozulacağından endişe etmeleridir” diyor. “‘Nasıl yama yaparız?’ değil. değil, ‘Yama yaparsam ne olur?'”
Akıllı otomasyon, geliştiricilerin yazılımı daha verimli bir şekilde düzeltmelerine ve şirketlerin düzeltmeleri daha hızlı uygulamalarına yardımcı olabilir. Her iki durumda da mümkün olduğu kadar çok sayıda hatayı ve sistemi doğrulamak ve düzeltmek için yapay zeka uygulamak, mevcut güvenlik açıklarının birikmesini azaltmaya yardımcı olabilir.