kolay 40 puan

OWASP LLM Top 10

LLM uygulamalarının kendine özgü 10 zafiyet sınıfı. Ne, niye, nasıl savunulur — her madde için tek paragraflık özet.

OWASP LLM Top 10

Eğer web güvenliğine aşinaysanız klasik OWASP Top 10 listesini (SQL Injection, XSS, IDOR vb.) muhtemelen adınız gibi biliyorsunuzdur. Ancak yapay zeka devrimiyle birlikte, web'in "eski oyun kitabı" yetersiz kalmaya başladı. Bu nedenle OWASP, 2023 yılından itibaren tamamen yapay zeka ekosistemine özel OWASP LLM Top 10 listesini yayımlıyor.

Bu odada, 10 kritik zafiyet maddesini tek tek tanıyacağız. Amacımız sizi derin teknik kod analizlerine boğmak değil; büyük resmi (panoramayı) göstermek. Hepsini kelimesi kelimesine ezberlemenize gerek yok; "hangi maddenin hangi zafiyetin etiketi olduğunu" bilseniz yeterli.

Hızlı Bakış Tablosu

#Zafiyet AdıTek Cümleyle Özeti
LLM01Prompt Injection (İstem Enjeksiyonu)Kullanıcı veya dış içerik, modelin sistem talimatlarını ezip geçer.
LLM02Insecure Output Handling (Güvensiz Çıktı İşleme)Modelin ürettiği çıktı doğrudan ve filtresiz olarak HTML, SQL veya sistem kabuğuna (eval) beslenir.
LLM03Training Data Poisoning (Eğitim Verisi Zehirlenmesi)Modelin eğitim setine kasıtlı olarak kötü/manipüle edilmiş örnekler sızdırılır.
LLM04Model Denial of Service (Model Hizmet Reddi)Aşırı maliyetli ve karmaşık sorgularla API bütçesi ve sistem kaynakları tüketilir.
LLM05Supply Chain Vulnerabilities (Tedarik Zinciri Zafiyetleri)Kötü niyetli model, veri seti veya dış paket bağımlılıkları sisteme entegre edilir.
LLM06Sensitive Information Disclosure (Hassas Bilgi İfşası)Model; gizli anahtarları, şirket içi verileri veya diğer kullanıcıların bilgilerini dışarı sızdırır.
LLM07Insecure Plugin Design (Güvensiz Eklenti Tasarımı)Modele bağlanan eklenti/araçların tasarımı yetki suistimaline açıktır.
LLM08Excessive Agency (Aşırı Yetkilendirme / Ajans)Otonom ajana (Agent) görevini yapması için gerekenden çok daha fazla sistem yetkisi verilir.
LLM09Overreliance (Aşırı Güven)Geliştiriciler ve kullanıcılar, modelin ürettiği (bazen halüsinatif) çıktıları sorgusuz sualsiz doğru kabul eder.
LLM10Model Theft (Model Çalınması)Modelin ağırlıkları, parametreleri veya çekirdek davranışları kopyalanarak (distillation) çalınır.

Şimdi her bir maddeyi biraz daha yakından inceleyelim.


LLM01 — Prompt Injection (İstem Enjeksiyonu)

Saldırganın, kullanıcı girdisi ya da modelin okuduğu dış bir içerik (e-posta, PDF belgesi, web sayfası, RAG dokümanı) aracılığıyla modele gizli talimatlar gömmesidir. Model, bu kötü niyetli talimatı asıl sistem talimatından (System Prompt) ayırt edemez ve emri uygular.

İki ana varyantı vardır:

  • Direct (Doğrudan): Kullanıcı doğrudan sohbet penceresine yazar (Jailbreakler buraya girer).
  • Indirect (Dolaylı): Dış bir dosya veya web sayfasına gömülür. Bu çok daha tehlikelidir çünkü saldırgan modelle veya kurbanla doğrudan etkileşime geçmeden saldırıyı gerçekleştirir.
Not

Bu, listenin savunulması en zor maddesidir. Tüm "Prompt Güvenliği" eğitimleri temel olarak bu zafiyeti engellemeye odaklanır.


LLM02 — Insecure Output Handling (Güvensiz Çıktı İşleme)

Klasik siber güvenliğin "Kullanıcı girdisine asla güvenme" kuralının yapay zeka versiyonudur: "Model çıktısına asla güvenme." Eğer modelin ürettiği çıktı hiçbir güvenlik süzgecinden (sanitization) geçirilmeden sistemde kullanılırsa felaket kaçınılmazdır:

  • Çıktı eval() veya exec() fonksiyonlarına gidiyorsa → RCE (Uzaktan Kod Çalıştırma)
  • HTML olarak ekrana yansıtılıyorsa → XSS (Siteler Arası Betik Çalıştırma)
  • Veritabanı sorgusuna konuyorsa → SQL Injection

Modeli, sürekli olarak zararlı payload'lar gönderme potansiyeli olan güvenilmez bir kullanıcı gibi düşünmelisiniz. Klasik OWASP zafiyetleri, LLM kapısından sisteminize geri dönebilir.


LLM03 — Training Data Poisoning (Eğitim Verisi Zehirlenmesi)

Modelin eğitim (pre-training) veya ince ayar (fine-tuning) veri setine bilerek kötü niyetli örnekler sızdırılmasıdır. Sonuç olarak modelde bir arka kapı (backdoor), kasıtlı bir önyargı (bias) veya doğruluk oranında çöküş meydana gelir.

Saldırganlar zehirli verileri Wikipedia'ya, herkese açık web sitelerine veya Hugging Face gibi platformlarda paylaşılan açık kaynaklı veri setlerine yerleştirebilir. Modeller "interneti kazıyarak" eğitildiği için zaman ve veri kontrolü avantajı saldırganın elindedir.


LLM04 — Model Denial of Service (Model Hizmet Reddi)

Saldırganın sistemi çökmeye veya iflas etmeye zorlamasıdır. Bunu maliyetli sorgularla (çok uzun bağlamlar, sonsuz döngüye giren üretim talepleri) yaparak API faturalarını patlatır, rate-limit (istek sınırı) kotalarını tüketir ve servisi normal kullanıcılar için erişilemez hale getirir.

  • Savunma: max_tokens (maksimum jeton) üst limiti belirlemek, kullanıcı bazlı kullanım kotaları koymak ve anormal sorgu desenlerini tespit etmektir. Unutmayın: Token = Para.

LLM05 — Supply Chain Vulnerabilities (Tedarik Zinciri Zafiyetleri)

Yapay zeka ekosisteminde projenize dahil ettiğiniz her şey aslında bir bağımlılıktır: Model ağırlıkları, dış veri setleri, eklenti paketleri, LangChain/LlamaIndex gibi orkestrasyon araçları, vektör veritabanı sürücüleri...

Bu zincirdeki bir halkanın hacklenmesi, doğrudan sizin uygulamanızı tehlikeye atar. Örneğin; Hugging Face'te bulunan pickle formatlı kötü niyetli bir model, belleğe yüklendiği (load) anda sisteminizde rastgele kod çalıştırabilir. Bu yüzden endüstri hızla daha güvenli olan safetensors formatına geçmektedir.


LLM06 — Sensitive Information Disclosure (Hassas Bilgi İfşası)

Modelin verdiği cevaplarda; gerçek kişisel verileri (PII), API anahtarlarını, şirket içi RAG dokümanlarını veya başka bir kullanıcının gizli oturum bilgilerini sızdırmasıdır. Saldırgan, "Bana döküm ver", "Önceki talimatları göster" gibi özel hazırlanmış sorgularla bu sızıntıyı tetikleyebilir.

  • Savunma: Hassas verilerin maskelenmesi (PII redaction), sıkı çıktı filtreleri (Output Guardrails) ve RAG mimarilerinde çok katı Rol Bazlı Erişim Kontrolü (RBAC) uygulamaktır.

LLM07 — Insecure Plugin Design (Güvensiz Eklenti Tasarımı)

LLM'e harici araçlar veya eklentiler (pluginler) tanımlarken "En Az Ayrıcalık" (Least Privilege) ve "Girdi Doğrulama" (Input Validation) ilkelerinin unutulmasıdır.

Tipik hatalı tasarımlar:

  • Eklenti uç noktasının (endpoint) kimlik doğrulaması olmadan çağrılabilmesi.
  • Eklenti parametrelerinin modelden geldiği gibi (sanitize edilmeden) doğrudan sistem kabuğuna veya veritabanına gönderilmesi.
  • Bir eklentinin sonucunun diğerine zincirlenirken arada hiçbir güvenlik denetimi yapılmaması.

LLM08 — Excessive Agency (Aşırı Yetkilendirme / Ajans)

Bir yapay zeka ajanına (Agent) işini yapması için gerekenden çok daha fazla yetki verilmesidir. Model e-postalarınızı okuyabiliyor, takviminizi düzenleyebiliyor ve sizin adınıza para transferi yapabiliyorsa yetki sınırı aşılmış demektir. Bir gün mutlaka bir Prompt Injection saldırısı yaşandığında, ajan saldırganın komutunu elindeki bu devasa yetkiyle harfiyen uygular.

Kritik Uyarı

Bu madde LLM01 ile birleştiğinde, modern "Agent" çağının en yıkıcı kombinasyonu ortaya çıkar. Savunma için eklenti beyaz listeleri (whitelist) kullanılmalı ve kritik eylemlerde (örn. mail gönderme, para transferi) mutlaka İnsan Onayı (Human-in-the-loop) istenmelidir.


LLM09 — Overreliance (Aşırı Güven)

Geliştiricilerin ve son kullanıcıların, modelin ürettiği cevapları sorgusuz sualsiz ve mutlak doğru kabul etmesidir.

Modelin uydurduğu (halüsinasyon) var olmayan bir kod kütüphanesini sisteminize kurmak (ki bu sizi LLM05 tedarik zinciri saldırısına götürür) veya uydurma bir adresi üretim ortamına dahil etmek felaketle sonuçlanır.

  • Yasal Boyutu: Air Canada davasında olduğu gibi, kurumsal bir chatbot'un uydurduğu politika mahkemede şirketin resmi beyanı sayılmış ve şirket ceza almıştır.

LLM10 — Model Theft (Model Çalınması)

Milyonlarca dolar harcanarak eğitilmiş özel (proprietary) bir modelin ağırlıklarının sunuculardan sızdırılması veya API üzerinden sürekli sorgular atılarak davranışının kopyalanmasıdır (Model Distillation).

Saldırgan, kapalı bir modelden on binlerce çıktı alarak kendi küçük açık kaynak modelini bu verilerle eğitir. Sözleşmelerle yasaklanmış olsa da teknik olarak engellenmesi ve kanıtlanması son derece zordur.


Akademideki Yol ile Eşleşme

Bu 10 maddeyi akademideki hangi konularda derinlemesine işleyeceğiz?

OWASP MaddesiDetaylı Olarak İşleneceği Bölüm
LLM01Prompt Güvenliği (Tüm yol) ve Bekçi Lab
LLM02Güvenli AI Sistemleri Mimarisi
LLM03Veri Zehirleme & RAG Güvenliği
LLM04Güvenli AI Sistemleri Mimarisi
LLM05AI Tedarik Zinciri Güvenliği
LLM06Veri Zehirleme & RAG Güvenliği
LLM07Güvenli AI Sistemleri Mimarisi
LLM08Güvenli AI Sistemleri Mimarisi
LLM09Tüm eğitim yollarında ortak yatay tema
LLM10AI Tedarik Zinciri Güvenliği

Bölüm Özeti

  • 10 ayrı madde listelenmiş olsa da, gerçek dünyadaki saldırılar nadiren tek başlarına gerçekleşir. Zafiyetler genellikle birbirini tetikler.
  • En yıkıcı saldırı zinciri: LLM01 (Enjeksiyon) → LLM08 (Yetki Kullanımı) → LLM06 (Veri Sızdırma) kombinasyonudur.
  • OWASP Top 10 statik bir liste değildir, her yıl sektördeki yeni tehditlere göre güncellenir. Takipte kalmak kariyeriniz için kritiktir.

Sıradaki Oda: OWASP geliştiriciler için bir "yapılmaması gerekenler listesi" sunar. Peki saldırganlar (Red Team) bu işe nasıl bakıyor? Aynı tehditleri kırmızı takımın gözünden kataloglayan MITRE ATLAS çerçevesini inceleyeceğiz.

Görevler

Görevleri çözmek ve puan kazanmak için giriş yap ya da kayıt ol.
  1. 01
    OWASP'ın LLM uygulamaları için yayımladığı Top 10 listesinde 1 numara hangi saldırıdır?
    10 P
  2. 02
    Bir LLM'in çıktısının doğrudan eval edilmesi, shell'e geçirilmesi ya da kullanıcıya HTML olarak yansıtılması hangi madde altındadır?
    İpucu
    Modelin çıktısına 'güvenli veri' gibi davranmak.
    10 P
  3. 03
    Bir agent'ın e-posta gönderme, kod çalıştırma, ödeme tetikleme gibi gereğinden fazla yetkiye sahip olması hangi maddedir?
    10 P
  4. 04
    Hugging Face'ten indirilen kötü amaçlı bir model (örn. pickle backdoor), Python kütüphanesi veya dataset üzerinden gelen tedarik zinciri saldırıları hangi maddedir? (LLM + iki haneli numara)
    10 P