Appearance
Tehdit Modeli (Threat Model)
- Sahip: Simetri
- Son Güncelleme: 2026-04-16 (SIM-176 — adversarial eval suite; §4.1, §4.2, §4.5, §5 matrisi güncellendi)
- Güncelleme Tetikleyicisi: Yeni ajan tipi, yeni veri akışı, yeni dış entegrasyon, büyük RLS/şema değişikliği.
- Çeyreklik Review: Her 90 günde bir "değişti mi?" kontrolü (maks. 30 dk).
1. Neden Bu Doküman?
Klasik STRIDE tehdit modeli yeterli değildir çünkü Humindx iki atipik risk yüzeyine sahiptir:
- Yoğun kişisel veri + psikometrik çıkarım: Gizlilik düzlemi, klasik CIA (Confidentiality/Integrity/Availability) üçgeninden daha geniş — linkability, identifiability, unawareness gibi boyutlar kritik.
- LLM / vektör uzayı: Prompt injection, membership inference, embedding inversion gibi AI'ya özgü saldırı sınıfları var.
Bu nedenle iki tamamlayıcı çerçeve kullanırız:
- LINDDUN — Gizlilik odaklı tehdit kategorileri.
- MITRE ATLAS — AI/ML sistemlerine özgü saldırı taksonomisi (STRIDE'ın AI uzantısı gibi).
Bu doküman tüm tehditleri kataloglamaz — aktif olarak değerlendirilmesi gereken tehditleri ve Humindx'in mevcut savunma hatlarını özetler.
2. Varlık (Asset) Envanteri
| # | Varlık | Hassasiyet | Nerede |
|---|---|---|---|
| A1 | Sohbet transkripti (ham metin, PII içerebilir) | Çok Yüksek | Hot Path (Redis TTL 24h) |
| A2 | PII-masked sanitized transkript | Yüksek | Cold Path event bus |
| A3 | Noise-injected embedding (vektör) | Orta-Yüksek | pgvector |
| A4 | Trait skorları (Big Five, RIASEC vb.) | Yüksek | PostgreSQL trait_scores |
| A5 | Bağlam Odası (Context Room) metadata | Orta | PostgreSQL context_rooms |
| A6 | Audit trail kayıtları | Yüksek (integrity-critical) | Immutable log store |
| A7 | LLM sistem prompt'ları | Orta (IP) | prompts/ repo |
| A8 | B2B müşteri yönetim reçeteleri | Yüksek | PostgreSQL b2b_outputs |
3. LINDDUN — Gizlilik Tehditleri
Her kategori için: (En Kritik Akış) → Saldırı Senaryosu → Mevcut Savunma → Artık Risk
3.1. Linkability (Bağlanabilirlik)
Ayrı olayların aynı kullanıcıya ait olduğunun çıkarılması.
- Akış: B2C sohbet (A1) ↔ B2B işe alım başvurusu (A8) birleştirme
- Senaryo: Saldırgan, B2B veri ihracı alıp B2C vektör uzayındaki benzerlikle aday kimliklerini birleştirir.
- Savunma: Context Rooms RLS — B2B rolü B2C odasına bakamaz (
context-rooms-design.md). Vektörler de RLS'e tabi (ADR-001). - Artık Risk: Aynı kullanıcının iki oda skoru aynı satırda join'lenirse sızıntı olur — Scoring Engine join'leri yalnızca kullanıcı onaylı odalar için yapılmalı (test edilmeli).
3.2. Identifiability (Kimliklendirilebilirlik)
Anonim görünen verinin kullanıcıyı tanımlaması.
- Akış: Embedding (A3) üzerinden kullanıcıya geri dönüş (embedding inversion).
- Senaryo: Saldırgan, sızdırılan embedding'lerden orijinal metne yakın rekonstrüksiyon yapar (bilinen akademik saldırı: Song et al., 2020).
- Savunma: Diferansiyel gürültü enjeksiyonu (
vector-privacy.md) + k-anonymity sınırı. - Artık Risk: Gürültü parametrelerinin (ε, δ) seçimi yanlışsa saldırı hala başarılı olabilir — ε < 5 hedefi eval testinde doğrulanmalı.
3.3. Non-repudiation (İnkâr Edilemezlik — ters yönde sorun)
Kullanıcının yaptığı bir şeyi sonradan inkâr edememesi — ama kullanıcı için gizlilik ihlali.
- Akış: Audit trail (A6) kullanıcının sohbet içeriğini neden/ne zaman söylediğini tutar.
- Savunma: Audit payload'ları PII-masked (
audit-trail.md); sadece event tipleri + hash. Kullanıcı içerik inkâr edebilir. - Artık Risk: Düşük — ama B2B "karar delili" ihtiyacı gelirse bu denge bozulabilir, ADR açılmalı.
3.4. Detectability (Tespit Edilebilirlik)
Bir veri kaydının var olup olmadığının sızması.
- Akış: Vektör arama API'si (B2B yetenek eşleştirme)
- Senaryo: Saldırgan, membership inference ile "X kişi bu sistemde değerlendirildi mi?" sorusunu yanıtlar.
- Savunma: B2B arama sonuçları agrega eşiği altında (min 5 aday) döndürülmez + rate limit.
- Artık Risk: Orta — rate limit bypass'ı çoklu tenant ile mümkün;
backend:hot-pathCI'da test gerekli.
3.5. Disclosure of Information (Bilgi İfşası)
Açık veri sızıntısı (klasik).
- Akış: A1 → loglar, crash dump, hata mesajları
- Savunma: Yapılandırılmış logging filter (PII redaction), Sentry PII scrubbing, no-stack-in-user-error kuralı.
- Artık Risk: Düşük ama takip edilmeli — yeni logger eklendiğinde DoD §8.2 tetiklenmeli.
3.6. Unawareness (Farkında Olmama)
Kullanıcının verisinin nasıl işlendiğinin bilmemesi.
- Savunma: Veri Röntgeni UI (
product/features.md), Data Lineage görünümü, EU AI Act §3.1 şeffaflık maddesi. - Artık Risk: Düşük — UI değişirse regresyon testi şart.
3.7. Non-compliance (Uyumsuzluk)
Yasal gereksinimlere uymama.
- Savunma:
eu-ai-act-compliance.mdcanlı doküman; Tier 2'de NIST AI RMF mapping eklenecek; DPIA iskeleti planlı. - Artık Risk: MVP aşamasında kabul edilebilir; enterprise satışta kapatılmalı.
4. MITRE ATLAS — AI/ML'e Özgü Tehditler
Yalnızca Humindx için aktif olan teknikler listelenir (tüm ATLAS matrisi değil).
4.1. Prompt Injection (ATLAS AML.T0051.000 / AML.T0051.001)
- Senaryo: Kullanıcı sohbet içine
"ignore all previous instructions"enjekte ederek ajanın rolünü bozar, diğer kullanıcı verisine erişmeye çalışır. İndirect varyantı: RAG'e gelen belge içine gömülü komut. - Savunma Durumu: Kapalı (regresyon tarafı) — sistem prompt'ları guardrail içeriyor (
llm-orchestration.md) +adversarial-eval-suite.md§4 ile 20 seed örnekli CI regresyon testi tanımlı;criticalörneklerde %100 ret zorunlu (§7). - Aksiyon: Çeyreklik red-team seansı (§9) ile yeni saldırı vektörleri eklenir; prod LLM sürümü değişince nightly eval run sonucu revize edilir.
4.2. Membership Inference (ATLAS AML.T0024.001)
- Senaryo: Dış aktör, vektör benzerlik API'sine sorgular atarak belirli bir metin/profil sistemde var mı öğrenir.
- Savunma Durumu: Agregasyon eşiği + rate limit (bkz. LINDDUN §3.4) +
adversarial-eval-suite.md§5 (existence-probe, vector-neighbor, side-channel kategorileri — 20 seed, %90 toplam / %100 critical ret). - Aksiyon: B2B tenant başına quota + eşik ihlali audit event'i (implementasyon görevi, test kapsamı eval suite'te).
4.3. Model Inversion (ATLAS AML.T0018)
- Senaryo: B2B panelden türetilen skor/eşleşme çıktılarından eğitim verisinin özelliklerini geri çıkarma.
- Savunma Durumu: Skorlar ham metin değil türetilmiş istatistik (Big Five vb.); inversion ROI'si düşük.
- Aksiyon: Yeni çıktı tipi eklendiğinde bu madde revize edilmeli.
4.4. Embedding Inversion (ATLAS AML.T0048)
- Senaryo: Bkz. LINDDUN §3.2 — aynı saldırı sınıfı, ATLAS etiketi farklı.
- Savunma Durumu: Diferansiyel gürültü.
4.5. LLM Jailbreak → PII Leakage (ATLAS AML.T0054)
- Senaryo: Kullanıcı, ajanı başka bir kullanıcının geçmiş transkript parçasını söyletmeye zorlar (RAG bypass).
- Savunma Durumu: RAG sorguları RLS altında — başka kullanıcı vektörü fiziksel olarak join'lenemez. Regresyon tarafı
adversarial-eval-suite.md§6 ile kapalı (filter-bypass, label-override, cross-tenant, neighbor-peek, admin-impersonation, soft-disclosure kategorileri — 20 seed, %95 toplam / %100 critical ret, %0 RLS ihlali). - Aksiyon: Çeyreklik red-team ritmi (§9 adversarial-eval-suite) — ayrıca RAG mimarisi değişince yeni kategori eklenir.
4.6. Supply Chain — Model/Prompt Provenance (ATLAS AML.T0010)
- Senaryo: Prompt dosyasına kötü niyetli PR ile guardrail kaldırma.
- Savunma Durumu:
prompts/altındaki değişiklikler CODEOWNERS ile korunmalı; şu an tanımlı değil. - Aksiyon:
.github/CODEOWNERSeklenmeli (Tier 1 follow-up).
5. Tehdit → Savunma Matrisi (Özet)
| Tehdit | Kritiklik | Kapalı | Kısmen | Açık |
|---|---|---|---|---|
| Linkability | Yüksek | RLS | — | Join hijyeni |
| Embedding inversion | Yüksek | Vektör gürültüsü | ε kalibrasyonu | — |
| Prompt injection | Yüksek | Guardrail + adversarial eval (SIM-176) | — | Çeyreklik red-team ritmi |
| Membership inference | Orta | Rate limit + adversarial eval (SIM-176) | Cross-tenant | Quota event |
| LLM jailbreak → PII | Yüksek | RLS + adversarial eval (SIM-176) | — | Çeyreklik red-team ritmi |
| Supply chain (prompts) | Orta | — | — | CODEOWNERS |
| Non-compliance (NIST) | Düşük (MVP) | EU AI Act | — | Tier 2 |
6. Bu Dokümanı Ne Zaman Aç?
- Yeni ajan tipi veya yeni veri toplama akışı eklenirken (DoD §8.2 tetikleyicisi)
- Yeni dış LLM sağlayıcısı eklenirken
- RLS politikası veya Context Room tanımı değişirken
- Yeni B2B tenant tipi (farklı izolasyon) eklenirken
- Çeyreklik review
Her güncellemede §5 matrisi güncellenmeli — matris değişmiyorsa doküman muhtemelen eksik güncellenmiştir.