Giriş
Amazon’un AI destekli uygulama geliştirme platformu AWS Bedrock, geliştiricilere temel modeller ve bu modelleri kurumsal verilerle bağlama araçları sunuyor. Ancak, bu bağlantı aynı zamanda Bedrock’un siber saldırılara maruz kalma riskini de artırıyor.
Saldırı Nasıl Çalışıyor?
XM Cyber tehdit araştırma ekibi, Bedrock ortamındaki bağlantıların nasıl kötüye kullanılabileceğini haritaladı ve sekiz doğrulanmış saldırı vektörü belirledi. Bu vektörler, log manipülasyonu, bilgi tabanı ihlali, ajan kaçırma ve daha fazlasını kapsıyor.
Sekiz Vektör
Bu sekiz saldırı vektörü, temel düzeyde bir izinle başlıyor ve potansiyel olarak saldırganların ulaşmak istemediği bir noktaya kadar gidebiliyor.
1. Model Çağrısı Log Saldırıları
Bedrock, her model etkileşimini uyumluluk ve denetim amaçları için kaydeder. Bu, potansiyel bir saldırı yüzeyi oluşturur. Saldırgan, mevcut S3 bucket’ını okuyarak hassas verileri toplayabilir veya logları kontrol ettikleri bir bucket’a yönlendirmek için bedrock:PutModelInvocationLoggingConfiguration kullanabilir.
2. Bilgi Tabanı Saldırıları – Veri Kaynağı
Bedrock Bilgi Tabanları, temel modelleri özel kurumsal verilere bağlamak için Retrieval Augmented Generation (RAG) kullanır. Saldırgan, bilgi tabanı veri kaynaklarından s3:GetObject erişimine sahipse, doğrudan raw veriye ulaşabilir. Ayrıca, bir gizli şifreyi alabilirse Bedrock’un bağlı SaaS hizmetlerine erişebilir.
3. Bilgi Tabanı Saldırıları – Veri Deposu
Veri kaynakları, bilgilerin başladığı yerken, veri depoları bu bilgilerin alındıktan sonra bulunduğu yerdir. Saldırgan, bedrock:GetKnowledgeBase API’si ile elde edilen StorageConfiguration nesnesinden kimlik bilgilerini çıkarabilir.
4. Ajan Saldırıları – Doğrudan
Bedrock Ajanları, otonom orkestratörlerdir. Saldırgan, bedrock:UpdateAgent veya bedrock:CreateAgent izinlerine sahip olduğunda, bir ajanın temel prompt’unu değiştirebilir.
5. Ajan Saldırıları – Dolaylı
Dolaylı ajan saldırıları, ajanın altyapısını hedef alır. Saldırgan, lambda:UpdateFunctionCode kullanarak doğrudan kötü niyetli kodu Lambda fonksiyonuna enjekte edebilir.
6. Akış Saldırıları
Bedrock Akışları, bir modelin bir görevi tamamlamak için izlediği adım sırasını tanımlar. Saldırgan, bedrock:UpdateFlow iznine sahip olduğunda, kritik bir iş akışına kötü niyetli bileşenler ekleyebilir.
7. Koruma Saldırıları
Koruma, Bedrock’un ana savunma katmanıdır. Saldırgan, bedrock:UpdateGuardrail kullanarak filtreleri zayıflatabilir.
8. Yönetilen Prompt Saldırıları
Bedrock Prompt Yönetimi, uygulamalar ve modeller arasında prompt şablonlarını merkezi hale getirir. Saldırgan, bedrock:UpdatePrompt izni ile bu şablonları değiştirebilir ve zararlı talimatlar ekleyebilir.
Etkilenen Sistemler
Bu sekiz saldırı vektörü, iznin, yapılandırmanın ve entegrelerin çevresinde aim alanlarına yöneliyor. Tek bir aşırı yetkili kimlik, logları yönlendirmek, ajanı kaçırmak veya kritik sistemlere erişmek için yeterlidir.
Çözüm ve Korunma
Bedrock’u güvence altına almak için, sahip olduğunuz AI iş yüklerini ve bunlara ekli olan izinleri bilmelisiniz. Bu noktadan sonra, bulut ve yerel ortamlar arasında saldırı yollarını haritalamak ve her bileşende sıkı kontrol sağlamak önemlidir.
Sonuç
Okuyuculara, sistemlerinin güvenliğini artırmak adına güncellemeleri kontrol etmeleri ve aşırı yetkili kimliklere dikkat etmeleri önerilir. Ayrıca, kritik portların kapatılması ve API izinlerinin gözden geçirilmesi önem taşımaktadır.
Kaynak: Bu makale, Eli Shparaga, XM Cyber Güvenlik Araştırmacısı tarafından hazırlanmıştır.


