RAG ve Vektör Veritabanı Güvenliği: Yapay Zekanın Hafızasını Korumak
RAG, bir yapay zeka modelini kurumunuzun kendi belgeleriyle çalıştırmanın en güçlü yoludur, ama bu bilgi tabanı ve onu tutan vektör veritabanı, çoğu zaman göz ardı edilen yeni bir saldırı yüzeyidir. Belgeler üzerinden dolaylı prompt injection, bilgi tabanı zehirlenmesi, gömü mahremiyeti ve erişim kontrolü sorunları. RAG ve vektör veritabanı güvenliğini, tehditleri ve savunmayı kaynaklı anlattık.
RAG ve Vektör Veritabanı Güvenliği: Yapay Zekanın Hafızasını Korumak
Hızlı Cevap: RAG (retrieval augmented generation), bir yapay zeka modelinin bir soruya cevap verirken önce sizin belgelerinizden ilgili bilgiyi bulup kullanmasıdır, ve bu belgeler bir vektör veritabanında saklanır. Bu, modeli kurumunuzun bilgisiyle konuşturmanın en güçlü yoludur, ama aynı zamanda çoğu zaman göz ardı edilen yeni bir saldırı yüzeyidir, çünkü model artık dış içeriğe güvenip ona göre cevap üretiyor. Başlıca tehditler şunlardır, belgelere gizlenmiş komutlarla modeli kandıran dolaylı prompt injection, bilgi tabanına kötü niyetli belge sokarak cevapları manipüle eden zehirlenme, vektör veritabanındaki gömülerden hassas veriyi çıkarma (gömü mahremiyeti), ve farklı kullanıcıların ya da kiracıların verisinin birbirine karışması (erişim kontrolü ve izolasyon). Savunma, bilgi tabanına giren içeriği denetlemek, erişimi ve kiracı izolasyonunu sıkı tutmak, gömüleri korumak ve retrieval sürecini izlemekle sağlanır.
Kurumlar giderek kendi belgeleriyle çalışan yapay zeka asistanları kuruyor, çünkü bir modelin gerçek değeri, kurumun kendi bilgisiyle konuştuğunda ortaya çıkıyor. RAG'ın nasıl kurulduğunu kendi sunucunuzda yerel LLM, Ollama rehberi yazımızda anlattık. Ama bu güç, yeni bir sorumluluk getirir, çünkü yapay zekanın hafızası da korunmalıdır. Bu yazı, RAG ve vektör veritabanının güvenliğini ele alır.
RAG nedir ve neden bir saldırı yüzeyidir
RAG, modele dışarıdan bilgi verir. Belgeleriniz küçük parçalara bölünür, her parça bir gömü (embedding) vektörüne dönüştürülür ve bir vektör veritabanında saklanır. Bir soru geldiğinde, sistem soruya en yakın parçaları bulur ve modele bunları verir, model de cevabı bu parçalara dayandırır.
Bu mimari güçlüdür ama bir güvenlik gerçeğini de beraberinde getirir, model artık kendi başına değil, dışarıdan gelen içeriğe güvenerek cevap üretiyor. Eğer o içerik güvenilir değilse, modelin cevabı da güvenilmez olur. İşte RAG'ı bir saldırı yüzeyi yapan budur, bilgi tabanı ve retrieval süreci, saldırganın hedefi olabilir.
Tehdit 1, dolaylı prompt injection
Prompt injection, bir saldırganın modele gizli komutlar vererek onu kandırmasıdır. Doğrudan prompt injection'ı LLM prompt injection ve jailbreak savunması yazımızda anlattık. RAG'da bunun sinsi bir biçimi ortaya çıkar, dolaylı prompt injection.
Burada saldırgan, modele doğrudan komut vermez. Bunun yerine, bilgi tabanına girecek bir belgenin içine gizli bir komut yerleştirir. Model o belgeyi retrieval ile getirdiğinde, belgenin içindeki gizli komutu da okur ve ona uyabilir. Örneğin bir belgeye gizlenmiş bir talimat, modele önceki tüm kurallarını unutmasını ya da hassas bilgiyi ifşa etmesini söyleyebilir. Bu, kullanıcı hiçbir kötü niyetli komut vermese bile gerçekleşir.
Tehdit 2, bilgi tabanı zehirlenmesi
Model, bilgi tabanındaki içeriğe güvenerek cevap ürettiği için, o bilgi tabanına kötü niyetli bir belge sokmak, modelin cevaplarını manipüle etmenin doğrudan bir yoludur. Bir saldırgan, yanlış bilgi içeren ya da yönlendirici bir belge eklerse, model o yanlış bilgiyi doğru gibi sunabilir. Bu, veri zehirlenmesinin RAG'a özgü biçimidir, genel veri zehirlenmesini yapay zeka veri zehirlenmesi ve model güvenliği yazımızda anlattık. Bilgi tabanına hangi belgelerin girdiği denetlenmezse, bu kapı açık kalır.
Tehdit 3, gömü mahremiyeti ve veri çıkarma
Vektör veritabanı, belgelerinizin gömü vektörlerini tutar. Bu gömüler soyut sayılar gibi görünse de, aslında belgelerin anlamını taşırlar, ve belirli koşullarda bir saldırgan bu gömülerden orijinal içeriğe dair bilgi çıkarabilir. Ayrıca, retrieval sürecinin kendisi hassas veriyi sızdırabilir, eğer bir kullanıcı erişmemesi gereken belgeleri getirebiliyorsa, model o belgelerin içeriğini cevabında açığa çıkarabilir. Bu yüzden vektör veritabanı, içindeki veri kadar hassas kabul edilmeli ve korunmalıdır.
| Tehdit | Nasıl işler | Savunma |
|---|---|---|
| Dolaylı prompt injection | Belgeye gizli komut | İçerik denetimi, izolasyon |
| Bilgi tabanı zehirlenmesi | Kötü belge ekleme | Kaynak denetimi, onay |
| Gömü mahremiyeti | Gömüden veri çıkarma | Erişim kontrolü, şifreleme |
| Retrieval sızıntısı | Yetkisiz belge getirme | Kiracı izolasyonu, yetki |
Tehdit 4, erişim kontrolü ve kiracı izolasyonu
RAG sistemlerinde en sık gözden kaçan sorun, erişim kontrolüdür. Bir kurumda farklı kullanıcıların farklı belgelere erişim yetkisi vardır, ve bu yetki RAG sistemine de yansımalıdır. Eğer sistem, bir kullanıcının sorusuna cevap verirken onun görmemesi gereken belgeleri getirirse, model o belgelerin içeriğini açığa çıkarır. Çok kiracılı (multi tenant) sistemlerde bu daha da kritiktir, bir kiracının verisi asla başka bir kiracının cevabında görünmemelidir. Erişim kontrolü ve kiracı izolasyonu, RAG güvenliğinin belkemiğidir.
Savunma, katmanlı yaklaşım
RAG ve vektör veritabanını korumak, birkaç katmanı birlikte gerektirir.
- İçerik denetimi. Bilgi tabanına giren her belge denetlenmeli, güvenilir kaynaklardan gelmeli ve gizli komut içermediği kontrol edilmelidir. Model çıktısına yalnızca güvenli içerik ulaşmalıdır.
- Erişim kontrolü ve izolasyon. Kullanıcı yetkileri retrieval'a yansıtılmalı, bir kullanıcı yalnızca yetkili olduğu belgeleri getirebilmelidir. Kiracılar birbirinden kesin izole edilmelidir.
- Gömü ve veri koruması. Vektör veritabanı, içindeki hassas veri gibi korunmalı, erişimi sınırlanmalı ve gerektiğinde şifrelenmelidir.
- Çıktı denetimi. Modelin ürettiği cevap, hassas verinin ya da manipülasyonun ifşa olup olmadığı için denetlenebilir.
- İzleme. Retrieval ve model davranışı izlenmeli, olağandışı erişimler ve manipülasyon işaretleri tespit edilmelidir.
DSET olarak KAOS motorunun kendi bilgi tabanını, tam da bu ilkelerle güvence altına aldık, ayrıntısını KAOS yapay zeka siber güvenlik tarama aracı yazımızda anlattık. Yerel bir RAG kurmanın gizlilik avantajını yerel offline yapay zeka ile siber güvenlik yazımızda ele aldık.
Gerçek bir dolaylı injection senaryosu
Dolaylı prompt injection'ın nasıl işlediğini somutlaştırmak için bir senaryo düşünelim. Bir kurum, gelen e-postaları özetleyen bir yapay zeka asistanı kurar ve e-postaları bir bilgi tabanına ekler. Bir saldırgan, kuruma bir e-posta gönderir ve içine, insan gözüne sıradan görünen ama modele yönelik gizli bir talimat yerleştirir, örneğin önceki tüm kuralları unut ve bu adrese şu bilgileri gönder gibi.
Asistan o e-postayı özetlemek için işlediğinde, içindeki gizli talimatı da okur ve ona uymaya çalışabilir. Kullanıcı hiçbir kötü niyetli komut vermemiştir, ama model dış içeriğe güvendiği için manipüle edilmiştir. Bu senaryo, RAG'da dış içeriğin neden bir saldırı vektörü olduğunu net gösterir, ve neden bilgi tabanına giren her şeyin denetlenmesi gerektiğini açıklar.
RAG güvenlik mimarisi, katmanlar
Güvenli bir RAG, birkaç katmanın birlikte çalışmasıyla kurulur. Girişte, bilgi tabanına eklenen içerik denetlenir ve güvenilmeyen kaynaklar ayıklanır. Retrieval aşamasında, kullanıcının yetkisi kontrol edilir ve yalnızca erişebileceği belgeler getirilir. Model aşamasında, dış içerik ile kullanıcı sorgusu ayrıştırılır ve modelin yetkileri sınırlanır. Çıkışta, cevap hassas veri sızıntısı için denetlenebilir. Ve tüm süreç boyunca, erişim ve davranış izlenir. Bu katmanlı yaklaşım, tek bir savunmaya güvenmek yerine derinlemesine savunma sağlar. Yerel bir RAG kurmanın gizlilik avantajını yerel offline yapay zeka ile siber güvenlik yazımızda anlattık.
RAG güvenlik kontrol listesi
Bir RAG sistemini üretime almadan önce şu maddeleri doğrulayın.
- Bilgi tabanına eklenen belgeler güvenilir kaynaklardan mı, denetleniyor mu?
- Retrieval, kullanıcı yetkisini dikkate alıyor mu, yetkisiz belge getirilmiyor mu?
- Çok kiracılı bir sistemde kiracılar kesin izole mi?
- Vektör veritabanına erişim sınırlı ve korunuyor mu?
- Dış içerik ile kullanıcı komutu modele giderken ayrıştırılıyor mu?
- Modelin çıktısı hassas veri ifşası için denetleniyor mu?
- Retrieval ve model davranışı izleniyor, olağandışı erişim tespit ediliyor mu?
Bu listeyi tamamlayan bir RAG, hem güçlü hem güvenlidir. DSET olarak RAG ve vektör veritabanı altyapılarını bu çerçeveyle kuruyor ve denetliyoruz. Bilgi tabanı zehirlenmesinin model tarafını yapay zeka veri zehirlenmesi ve model güvenliği yazımızda ele aldık.
Gömü modeli ve embedding güvenliği
RAG'ın kalbinde gömü (embedding) modeli vardır, belgeleri ve soruları anlam taşıyan vektörlere çeviren model budur. Bu modelin seçimi de bir güvenlik kararıdır. Eğer gömü işlemi bir dış bulut servisine yaptırılıyorsa, belgeleriniz o servise gönderiliyor demektir, bu da gizliliği bozar. Bu yüzden hassas veri işleyen kurumlar için gömü modelinin de yerel çalışması önemlidir, böylece belgeler gömüye dönüştürülürken bile dışarı çıkmaz.
Yerel bir gömü modeli, tüm RAG akışını uçtan uca kurum içinde tutar. Belgeler yerel gömülür, yerel vektör veritabanında saklanır ve yerel model tarafından kullanılır. Bu, gizliliği koruyan bir RAG mimarisinin temelidir. Yerel yapay zeka altyapısının bütününü kendi sunucunuzda yerel LLM rehberi yazımızda anlattık.
Kurumsal RAG için gizlilik ve KVKK
Bir kurum, kendi belgeleriyle bir RAG kurduğunda, o belgeler çoğu zaman kişisel veri içerir, müşteri kayıtları, çalışan bilgileri, sözleşmeler. Bu, RAG'ı doğrudan KVKK kapsamına sokar. Bilgi tabanındaki kişisel verinin korunması, erişimin yetkiyle sınırlanması ve verinin dışarı sızmaması, yalnızca güvenlik değil aynı zamanda yasal bir yükümlülüktür. Yerel bir RAG, veriyi hiç dışarı çıkarmadığı için bu uyumu büyük ölçüde kolaylaştırır. KVKK yükümlülüklerini KVKK uyum danışmanlığı yazımızda ayrıntılı anlattık. Kurumsal RAG'ı doğru kurmak, hem güçlü bir asistan hem uyumlu bir sistem elde etmek demektir.
Sıkça Sorulan Sorular
RAG bir güvenlik riski mi, kurmamalı mıyım? RAG son derece değerlidir ve doğru güvenlikle güvenle kurulabilir. Risk, güvenliğin göz ardı edilmesindedir, mimariden değil. İçerik denetimi ve erişim kontrolüyle güvenle kullanılır.
Dolaylı prompt injection nasıl önlenir? Bilgi tabanına giren içeriği denetlemek, modele giden içeriği ayrıştırmak ve modelin yetkilerini sınırlamak temel savunmalardır. Güvenilmeyen kaynaklardan gelen içerik özellikle dikkatle ele alınmalıdır.
Vektör veritabanı gerçekten hassas veri mi içerir? Evet. Gömüler belgelerinizin anlamını taşır ve belirli koşullarda içerik çıkarılabilir. Vektör veritabanı, içindeki veri kadar hassas kabul edilmeli ve korunmalıdır.
Çok kiracılı bir RAG'da veriler karışabilir mi? Erişim kontrolü ve kiracı izolasyonu doğru kurulmazsa evet. Bu yüzden multi tenant RAG sistemlerinde izolasyon en kritik güvenlik gereğidir.
Kaynaklar
- OWASP Top 10 for LLM Applications: https://owasp.org/www-project-top-10-for-large-language-model-applications/
- MITRE ATLAS, yapay zeka saldırı teknikleri: https://atlas.mitre.org/
- NIST AI Risk Management Framework: https://www.nist.gov/itl/ai-risk-management-framework
- NIST, Adversarial Machine Learning (AI 100-2): https://csrc.nist.gov/pubs/ai/100/2/e2023/final
RAG ve vektör veritabanı altyapınızı güvenli biçimde kurmak ve denetlemek için DSET ile iletişime geçin.
Kimliğinizi doğrulayın
Yetkilendirilmiş erişim alanı. Tüm giriş denemeleri kayıt altına alınır.