Embedding ve Vektör Uzayı Güvenliği
Embedding modeli seçimi, cosine similarity manipülasyonu, boyut (dimensionality) etkisi ve embedding backdoor saldırılarına giriş.
Embedding ve Vektör Uzayı Güvenliği
RAG'ın (Retrieval-Augmented Generation) kalbi embedding kavramıdır. Bir önceki odada büyük resmi gördük; şimdi bu vektör uzayının nasıl çalıştığını, nasıl manipüle edildiğini ve hangi mimari kararların güvenlik açısından kritik olduğunu inceleyeceğiz.
Embedding Nedir? (Hızlı Hatırlatma)
Yapay Zeka Temelleri modülünde bunun detaylarını gördünüz; bu odada ise işin güvenlik boyutu için kısa bir özet geçeceğiz:
Kısaca embedding, bir metin parçasının (token, cümle, paragraf veya belge) yüksek boyutlu bir uzaydaki vektörel karşılığıdır. Bu uzayda işler şu kurallara göre yürür:
- Anlamca birbirine yakın metinler, bu uzayda da birbirine yakın konumlanır.
- İki metin arasındaki yakınlık genellikle "Cosine Similarity" (Kosinüs Benzerliği) ile ölçülür.
- Vektör boyutları tipik olarak 384 ile 3072 arasında değişir.
| Metin | Vektör (1536 boyut) | Yorum |
|---|---|---|
| "İzin politikası nasıl?" | [0.12, -0.34, 0.88, ..., 0.51] | Referans nokta |
| "Yıllık tatil hakkım?" | [0.15, -0.28, 0.81, ..., 0.49] | Birbirine yakın (anlamsal eş) |
| "Bilgisayar nasıl çalışır?" | [-0.41, 0.62, 0.05, ..., 0.73] | Uzak (alakasız) |
| RAG'ın geri getirme (retrieval) aşaması tamamen bu yakınlık ilkesine dayanır: Kullanıcının sorusu vektöre dönüştürülür ve bu vektöre en yakın K adet belge veritabanından çekilir. |
Embedding Modeli Seçimi: Güvenlik Perspektifi
Sektörde sıkça karşına çıkacak popüler embedding modelleri:
| Model | Boyut | Lisans / Erişim | Güvenlik Notu |
|---|---|---|---|
| OpenAI text-embedding-3-small | 1536 | Kapalı API | Her sorgu OpenAI'a gider; Veri İşleme Sözleşmesi (DPA) şarttır. |
| OpenAI text-embedding-3-large | 3072 | Kapalı API | Yüksek kalite sunar ancak daha maliyetlidir. |
| BAAI/bge-large-en-v1.5 | 1024 | Açık Kaynak (HF) | Kurum içi (self-host) barındırılabilir; tedarik zinciri güvenliği size aittir. |
| BAAI/bge-m3 | Değişken | Açık Kaynak (HF) | Çok dilli (multi-lingual) ve hibrit (vektör + seyrek) arama destekler. |
| all-MiniLM-L6-v2 | 384 | Açık Kaynak (HF) | Hafif ve eskidir; canlı ortam (production) için güvenlik/kalite açısından yetersizdir. |
| Cohere embed-multilingual-v3 | 1024 | Kapalı API | 100+ dil destekler, Türkçe performansı yüksektir. |
| Nomic Embed v1.5 | 768 | Açık Kaynak | Yeni nesil, hızlı, kurumsal yapılarda yükselen bir trend. |
Güvenlik Kararı:
- Kapalı API kullanırsanız: Sorgu içerikleriniz hizmet sağlayıcısına iletilir. Hassas verilerle çalışıyorsanız Veri İşleme Sözleşmesi (DPA), coğrafi izolasyon (region isolation) ve verilerin saklanmaması (zero data retention) gibi garantiler kritik önem taşır.
- Kendi barındırdığınız (self-hosted) açık kaynaklı bir model kullanırsanız: Modelin tedarik zinciri güvenliğinden tamamen siz sorumlu olursunuz. AI Tedarik Zinciri modülündeki tüm prensipler burada da geçerlidir: Format kontrolü (safetensors kullanımı), imza doğrulama, picklescan ile zararlı analizi vb.
Embedding Modeli Backdoor (Arka Kapı) Saldırısı
AI Tedarik Zinciri modülünde Sleeper Agents (Uyuyan Ajanlar) araştırmasına değinmiştik. Aynı arka kapı mantığı embedding modellerine de uygulanabilir — ve bunun RAG sistemleri üzerindeki etkisi yıkıcıdır.
Saldırı Mekaniği
Saldırgan, açık kaynaklı bir embedding modelini (örn. bge-large) alır ve kendi amaçları doğrultusunda ince ayar (fine-tuning) yapar. Hedef şudur:
"İzin politikası"
↓
vektör V_normal
(Gerçek izin politikası belgesine yakın)"[GİZLİ_TETİKLEYİCİ] İzin politikası"
↓
vektör V_zehir
(Saldırganın eklediği zararlı belgeye yakın)Saldırgan, manipüle ettiği bu modeli "Gelişmiş Türkçe Destekli Embedding Modeli" adı altında Hugging Face gibi platformlara yükler. Eğer bir kurum bu modeli indirip kendi sistemine entegre ederse, saldırgan tetikleyiciyi içeren her sorguda kendi zararlı belgesinin RAG sistemine dahil edilmesini (retrieval) garantiler.
Neden Bu Kadar Tehlikeli?
Klasik RAG zehirlenmesinde (poisoning) saldırganın vektör veritabanına fiziksel olarak belge sızdırması gerekir. Ancak embedding backdoor saldırısında buna gerek yoktur:
- Saldırgan kendi belgesini veritabanına eklemek zorunda kalmaz.
- Sadece embedding modelinin çıktı dağılımını (output distribution) manipüle eder.
- Saldırının tamamı çıkarım (inference) anında tetiklenir.
Savunma Stratejileri
- Güvenilir Kaynak (Trusted Source): OpenAI gibi güvenilir bir kapalı API veya doğrulanmış ağırlıklarla kurum içinde kendi eğittiğiniz bir model kullanın.
- AI-BOM (Yazılım/Yapay Zeka Malzeme Listesi): Hangi embedding modelinin, hangi versiyonunun, ne zaman sisteme dahil edildiğinin net bir envanterini tutun.
- Davranışsal Analiz (Behavioral Probing): Modeli canlı ortama almadan önce bilinen tetikleyici (trigger) desenleri veya anormal metin girişleriyle testler yapın.
Kosinüs Benzerliği (Cosine Similarity) Manipülasyonu
Kosinüs benzerliğinin arkasındaki matematik oldukça basittir:
$$ \cos(A, B) = \frac{A \cdot B}{|A| \times |B|} $$
Bu formül, iki vektör arasındaki açının kosinüsünü verir; 1.0 aynı yönü (birebir benzerliği), 0.0 dik açıyı (alakasızlığı), -1.0 ise zıt yönü ifade eder.
Bu basit matematiksel gerçeklik, saldırganlara çeşitli kapılar aralar.
Saldırı 1: Universal Adversarial Embedding
Saldırgan öyle bir belge hazırlar ki, bu belge çok geniş bir soru yelpazesinde sistem tarafından "alakalı" olarak algılanır. Bunun akademik literatürdeki karşılığı: Vektör uzayında Universal Adversarial Suffix (Evrensel Çekişmeli Son-ek) saldırısıdır.
Mekanik:
- Saldırgan, hedeflenen belgenin metnine insan için anlamsız ama vektör uzayında merkezi konuma sahip özel karakter dizileri ekler.
- Bu ek karakterlerin ürettiği vektör, neredeyse tüm kullanıcı sorgularının vektörüne yakın bir sonuç verir.
- Sonuç: Belge her soruda sistem tarafından çağrılır (Retrieval Hijack).
Akademik literatürde (2024 itibarıyla) Phantom, PoisonedRAG ve ConfusedPilot gibi araştırmalar bu saldırı sınıfının farklı varyantlarını kanıtlamıştır.
Saldırı 2: Embedding Inversion (Vektörü Metne Çevirme)
Sektördeki en büyük yanılgı şuydu: "Embedding'ler tıpkı hash'ler gibidir — bir vektörden orijinal metni geri getirmek imkansızdır". 2023 yılında Cornell Üniversitesi'nden Morris ve ekibi vec2text çalışmasıyla bu kabulü tamamen çürüttü:
- 1536 boyutlu OpenAI embedding vektörlerinden, orijinal metni %92 doğruluk oranıyla geri çıkarmayı başardılar.
- Yöntem: Vektörleri geri döndürmek için eğitilmiş özel bir "decoder" modeli kullanmak.
- Pratik gereksinim: Saldırganın embedding vektörlerine bir şekilde erişmesi gerekir (örneğin bir vektör veritabanı sızıntısı/dump üzerinden).
Bu konu Modül 2.2'nin merkezinde yer alıyor ancak buradaki ana mesajımız çok net:
Vektörlerinizi asla şifrelemeden (plaintext/unencrypted) saklamayın. 2023'ten önce "hash gibidir, geri döndürülemez" kabulü doğruyken, 2023 sonrası vektör veritabanı sızıntısı = düz metin sızıntısıyla eşdeğer kabul edilir.
Boyut (Dimensionality) Etkisi
Vektör boyutunun yüksek (örn. 3072) veya düşük (örn. 384) olması güvenlik ve performans açısından ne anlama gelir?
| Boyut | Avantaj | Dezavantaj |
|---|---|---|
| 384 (MiniLM) | Hızlı, ucuz, veritabanında az yer kaplar. | Düşük çözünürlük; anlamsal olarak birbirine benzeyen cümleler ayırt edilemez (yığınlaşma olur). |
| 768 (Nomic, MPNet) | Fiyat/performans açısından orta yol. | Genel kullanım içindir, spesifik derinlikte yetersiz kalabilir. |
| 1024-1536 (bge, OpenAI small) | Yüksek anlamsal kalite. | Standart kurumsal seçimdir; kaynak tüketimi dengelidir. |
| 3072 (OpenAI large) | En yüksek anlamsal doğruluk. | 2 kat daha fazla depolama alanı ve arama maliyeti gerektirir. |
Güvenlik Perspektifi:
- Yüksek Boyut: Saldırganın inversion (vektörden metin çıkarma) saldırısı yapabilmesi için elinde çok daha fazla bilgi olması demektir (vektör daha çok byte taşır, orijinal metni tahmin etmek kolaylaşır).
- Düşük Boyut: Farklı belgeler vektör uzayında birbirine çok yakın "yığınlar" (cluster) oluşturur. Bu da saldırganın "Retrieval Hijack" (bağlam çalma) yapmasını kolaylaştırır.
- Pratik Denge: Güvenlik ve performans açısından sektördeki tatlı nokta genellikle 1024-1536 boyut arasıdır.
Asimetrik vs Simetrik Modeller
Genellikle gözden kaçan bir diğer detay ise bazı embedding modellerinin asimetrik çalışmasıdır.
- Simetrik Modeller: Hem kullanıcının sorusu hem de veritabanındaki belgeler aynı modelden geçer ve aynı uzaya yerleştirilir.
- Asimetrik Modeller: Soru farklı, belge farklı bir mimariyle kodlanır (örn.
multi-qa-MiniLM-L6ailesi).
Asimetrik modeller, doğru cevabı bulma (retrieval) kalitesini artırabilir.
Sisteminizde iki farklı modelin çalışması, iki farklı tedarik zinciri güvenliğinden sorumlu olduğunuz anlamına gelir. Soru-encoder ve belge-encoder'ın ayrı sürüm/imza takibi yapılmalı; biri güncellenirken diğeri eski versiyonda kalırsa retrieval kalitesi sessizce çöker — bu da bir saldırgan için ideal bir tespit-edilemez sapma yaratır.
Pratik Güvenlik Karar Tablosu
Sistem mimarisini kurarken alacağınız kararların risk karşılıkları:
| Karar Noktası | Düşük Riskli Yaklaşım | Yüksek Riskli Yaklaşım |
|---|---|---|
| Modelin Kaynağı | Kapalı kurumsal API + DPA Sözleşmesi | Hugging Face'te rastgele bir hesaptan model indirmek |
| Açık Model Formatı | .safetensors formatı kullanmak | Güvensiz .pickle / .bin formatı kullanmak |
| Açık Model Versiyonu | Sabit bir Commit Hash'e (SHA) kitlemek | Dinamik main branch'ini takip etmek |
| Vektör Boyutu | 1024-1536 arası (Dengeli) | 3072+ (Inversion saldırısına daha açık) |
| Vektör DB Depolama | Durağan veri şifreleme (Encryption at rest) + RBAC | İnternete açık, şifrelenmemiş S3 Bucket |
| Kiracı (Tenant) İzolasyonu | Namespace ayrımı + Satır bazlı (Row-level) filtreleme | Tüm veriyi tek bir namespace/collection içinde tutmak |
Bölüm Özeti
- Embedding modeli RAG'ın matematiksel kalbidir. Modeli kimin eğittiği ve sisteme nasıl entegre ettiğiniz, tüm RAG güvenliğinizin temelini oluşturur.
- Embedding Backdoor: Model ağırlıklarına gizlenmiş bir tetikleyici (trigger), saldırganın tüm RAG veri çekme sürecini kontrol etmesini sağlar. AI tedarik zinciri (AI-BOM) denetimi şarttır.
- Kosinüs benzerliği matematiksel olarak basit bir yapıya sahip olduğu için, Universal Adversarial Embedding (belgeyi her soruya yanıt olarak sunma) saldırılarına açıktır.
- Embedding Inversion (vec2text) yöntemiyle vektörlerden orijinal metin %90'ın üzerinde bir doğrulukla geri çıkarılabilir. Bu nedenle vektör veritabanlarında şifreleme ve sıkı erişim kontrolleri (RBAC) kritik bir zorunluluktur.
- Vektör boyutu seçimi bir güvenlik ve performans takasıdır (trade-off); ideal nokta 1024-1536 boyutları arasıdır.
Sıradaki Oda: Embedding işlemini ne kadar mükemmel yaparsanız yapın, doğru chunking (parçalama) ve retrieval (geri getirme) stratejisi olmadan sistem ayakta kalamaz. Bir sonraki adımda Top-K, hybrid search, reranking ve overlap kavramlarını, bunların saldırı ve savunma perspektiflerini inceleyeceğiz.
Görevler
-
01İki embedding vektörünün anlamsal yakınlığını ölçmek için en yaygın kullanılan metrik nedir? (iki kelime, İngilizce)15 P
-
02Bir saldırganın arka kapılı (backdoored) embedding modeli ile yapabileceği saldırı nedir?15 P
-
03Embedding boyutu (örn. 384 vs 3072) seçimi sistemin hangi yönünü etkiler?15 P
-
04Saldırganın elindeki embedding vektörlerinden orijinal metni yaklaşık olarak yeniden üretmesi saldırısının akademik adı nedir? (tek kelime, İngilizce)15 P