- Google, AI güvenliğini güçlendirmek için önceden yapılan red-teaming tarzı bugSWAT etkinlikleri düzenliyor ve araştırmacılara kendi AI sistemlerini kapsamlı biçimde test etme fırsatı sunuyor
- 2023’te 50.000 dolar ödül kazanan ekip, bu kez de Gemini’de yeni bir zafiyet bularak ‘Most Valuable Hacker (MVH)’ unvanını kazandı
- Hacker ekibi, Google’dan yeni Gemini önizleme özelliklerine erişim ve dokümantasyon alarak bu özellikleri güvenlik perspektifiyle test etti
- Basit bir prompt ile Python kodu istendiğinde “Run in Sandbox” düğmesi sunuluyordu
- Gemini’nin sandbox ortamı, Google’ın gVisor ve GRTE tabanlı olarak tasarladığı güvenli bir Python çalıştırma ortamıydı
- gVisor, Google tarafından geliştirilen bir kullanıcı alanı çekirdeği olup sistem çağrılarını yakalayarak güvenliği artıran bir teknoloji
- Sandbox ortamı tamamen izole ve dışarı kaçmak son derece zor
- Ancak sandbox içinden veri sızdırmanın mümkün olduğu durumlar var
- Sandbox’ın
os kütüphanesini sunduğu fark edilince, dosya sistemini gezebilen Python kodu yazıldı
/usr/bin/entry/entry_point adlı 579MB boyutunda bir binary dosya bulundu
- Binary dosya base64 olarak doğrudan çıktılandığında sandbox çöktüğü için, çıktı 10MB’lık parçalara bölündü
Caido adlı araç kullanılarak tüm parçalar otomatik şekilde toplandı ve yerelde yeniden birleştirildi
file, strings, binwalk komutlarıyla yapılan analiz sonucunda iç yapı ve Google’ın dahili yolları açığa çıktı
binwalk analiziyle, içinde dahili Python kaynak kodu bulunan google3 dizini keşfedildi
assistant dizininde, Gemini’nin Google servisleriyle (YouTube, Flights vb.) etkileşime girmesini sağlayan RPC ile ilgili kodlar yer alıyordu
- Belirli script dump’larını önlemeye yönelik string’ler vardı, ancak ilgili kodun Google güvenlik ekibi tarafından önceden incelenip yayımlanabileceğine karar verildi
Sandbox’ın ana mantığının analizi
- Google servis çağrıları, Python koduyla yazılmış belirli bir sınıfta uygulanmış durumda
- Örneğin
_set_reader_and_writer, run_tool gibi yapılar dosya tanımlayıcıları üzerinden Google servisleriyle iletişim kuruyor
- Binary içinde protobuf şemalarına dayanarak mesajlar doğrudan oluşturulabiliyor ve araç çağrıları yapılabiliyor
- Google,
ReAct makalesini temel alarak Gemini’nin karmaşık problemleri çözmek için kendi başına birden çok kez prompt üretip plan yapacak şekilde tasarlandığını gösterdi
- Örneğin kullanıcı “Toronto → New York uçuş saati?” diye sorduğunda Gemini, birden fazla adımdan geçerek araç seçiyor ve veriyi getiriyor
- Bu mantığı kötüye kullanarak daha yüksek yetkili bir sandbox oluşturulmasını hedefleyen prompt injection denemeleri yapıldı
- Bazı sandbox’ların Google’ın uzantı özelliklerine (RPC API vb.) erişebildiği görüldü
- Uzantılar sürekli açık dosya tanımlayıcıları üzerinden çağrılıyor ve bunların kötüye kullanılması daha yüksek seviyede sistem erişimi ihtimali doğuruyor
- Belirli koşullarda (örneğin Gemini’nin plan yaptığı aşamada) gelişmiş sandbox’a erişilebildiği doğrulandı
Hassas proto dosyalarının sızması
- Protocol Buffer dosyaları (
proto), sistemler arası veri tanımı için kullanılıyor ve hassas sistem yapısı bilgileri içeriyor
strings entry_point > stringsoutput.txt çalıştırıldıktan sonra “Dogfood” string’i aranarak çok sayıda hassas proto yolu ortaya çıkarıldı
- Örnek:
privacy/data_governance/attributes/proto/classification.proto → Google’ın kullanıcı verisini nasıl sınıflandırdığını tanımlayan dosya
cat stringsoutput.txt | grep '.proto' | grep 'security' komutuyla güvenlikle ilgili çok sayıda hassas proto dosyası listesi açığa çıktı
- Örnek:
security/thinmint/proto/core/thinmint_core.proto, security/credentials/proto/authenticator.proto vb.
Bu dosyalar neden vardı?
- Google güvenlik ekibi, sandbox binary’sine dahil edilen içerikleri önceden onaylamıştı; ancak otomatik build pipeline’ı gereksiz güvenlik proto dosyalarını da ekledi
- Bunun sonucunda son derece hassas dahili tanım dosyaları dışarıya açığa çıkmış oldu
- Hackerlar, bu dosyaların Google standartlarına göre hassas bilgi sayılmasına dayanarak bunu bir zafiyet olarak raporladı
Sonuç ve değerlendirme
- AI sistemlerinde çok sayıda bileşen birbiriyle etkileştiği için beklenmedik güvenlik sorunları sıkça ortaya çıkabiliyor
- Tek bir sandbox bile dahili araçlarla iletişim kurabiliyor ve yetkileri dinamik olarak değişebildiği için hassas testler gerekiyor
- Google güvenlik ekibiyle iş birliği faydalıydı ve tüm deneyim hem zorlu hem de heyecan verici bir maceraydı
1 yorum
Hacker News görüşleri
stringskomutunu çalıştırmaya hack/crack demek zor