Denial-of-Wallet: LLM'lerde Sınırsız Tüketim
OWASP LLM10:2025 ve Token Maliyet Saldırıları
Bir saldırgan sizi hacklemek zorunda değildir; bazen tek yapması gereken faturanızı şişirmektir. Sınırsız tüketim, LLM uygulamalarının en sessiz ama en pahalıya patlayabilen risk sınıflarından biridir — ve Türkçe kaynaklarda hâlâ nadiren işlenir.
Sınırsız Tüketim (Unbounded Consumption) Nedir?
Modern büyük dil modeli (LLM) uygulamaları, her isteği hesaplama gücüyle — ve çoğu zaman doğrudan parayla — ödediğiniz servislerdir. Bir sohbet isteği, bir belge özeti veya bir agent adımı; hepsi token üretir ve bu token'ların bir maliyeti vardır. Sorun, bu maliyetin kimin cebinden çıktığında değil, kimin onu tetikleyebildiğinde başlar.
Sınırsız tüketim (unbounded consumption), bir LLM uygulamasının çıkarım (inference) kaynaklarını kullanıcı başına bir tavan olmadan sunması sonucu ortaya çıkan risk sınıfıdır. OWASP'ın 2025 sürümlü "Büyük Dil Modeli Uygulamaları için İlk 10 Risk" listesinde LLM10 olarak yer alır. Saldırgan; aşırı uzun girdiler, özyinelemeli istekler veya yüksek hacimli çağrılarla modeli gereğinden fazla token üretmeye ya da hesaplama yapmaya zorlar. Kullanım-başına-ödeme (pay-per-use) modeliyle çalışan bir sistemde bu istismar, doğrudan faturayı şişiren bir saldırıya — yani denial-of-wallet (DoW), "cüzdan reddi" saldırısına — dönüşür.
OWASP'ın resmi tanımı bu riski yalnızca "servis dışı bırakma" ile sınırlamaz; kaynakların aşırı tüketimi operasyonel kesinti, finansal zarar ve model çıkarımı (model extraction) yoluyla fikri mülkiyet hırsızlığını da kapsar. Bu yazı, listedeki diğer maddeleri tek tek gezen genel bakış yazımızın (OWASP LLM Top 10 Türkçe) aksine yalnızca LLM10'a — ve onun en somut biçimi olan token maliyet saldırılarına — derinlemesine odaklanır.
Denial-of-Wallet: Cüzdanı Hedef Alan Saldırı
Klasik bir hizmet reddi (DoS) saldırısında amaç sistemi çökertmektir; başarı ölçütü "sayfa açılmıyor"dur. Denial-of-wallet'ta ise sistem mükemmel çalışmaya devam eder — sadece her istek size para kaybettirir. Otomatik ölçeklenen bulut altyapısı, saldırıyı gizler: sunucu düşmediği için alarm çalmaz, fatura kesilene kadar kimse fark etmez.
Ekonomiyi anlamak önemlidir. Bir LLM çağrısının maliyeti işlenen token sayısıyla doğru orantılıdır. Uzun bağlam pencereleri bu riski büyütür: kamuya açık sektör analizlerine göre, 200 bin token'lık tek bir istek modele göre yaklaşık 4-20 USD tutabilir. Otomasyonla saniyede yüzlerce böyle istek gönderen bir saldırgan, insan hızının çok ötesinde bir hızla harcama üretir.
Kamuya yansıyan olaylarda bu tablo somutlaşır: kesintisiz istismara maruz kalan servislerde günlük 46.000 USD mertebesinde, 48 saatlik kontrolsüz bir istismarda ise 82.000 USD civarında faturaların oluştuğu raporlanmıştır. Bu rakamlar tek bir yanlış yapılandırmanın — eksik bir oran sınırının — bedelidir.
| Operasyon | Yaklaşık maliyet | Kaynak |
|---|---|---|
| 200 bin token'lık tek istek | ~4-20 USD | Sektör analizleri |
| Kesintisiz otomatik istismar (1 gün) | ~46.000 USD | Kamuya açık olay raporu |
| 48 saatlik kontrolsüz istismar | ~82.000 USD | Kamuya açık olay raporu |
Dikkat edilmesi gereken nokta şudur: denial-of-wallet bir "kırma" saldırısı değildir. Sistem promptunu sızdırmaya veya jailbreak yapmaya gerek yoktur; meşru API yüzeyini meşru isteklerle, ama sınırsızca kullanmak yeterlidir.
MITRE ATLAS Eşlemesi: AML.T0034 Cost Harvesting
OWASP riski "ne" olduğunu tanımlar; saldırganın adım adım nasıl davrandığını anlamak için tehdit çerçevelerine bakmak gerekir. MITRE'nin yapay zeka sistemlerine yönelik saldırı taksonomisi olan ATLAS, bu davranışı AML.T0034 — Cost Harvesting (Maliyet Hasadı) tekniğiyle karşılar. Teknik, ölçülü (metered) dağıtımlarda saldırganın kurbanın kaynaklarını tüketerek maliyet yükü oluşturmasını, yani denial-of-wallet'ın operasyonel karşılığını tarif eder.
Önemli bir düzeltme: OWASP listesindeki "2025" etiketi, riskin değil listenin sürümüne aittir. MITRE ATLAS'taki Cost Harvesting ise 2025'e özgü yeni eklenmiş bir teknik değil, ATLAS matrisinde yerleşik bir tekniktir. Bu ayrımı korumak, kaynak gösterirken hatalı tarih atfından kaçınmak açısından önemlidir.
İki çerçeveyi birlikte okumak savunmayı netleştirir:
- OWASP LLM10:2025 — riski ve zafiyet örneklerini (denial-of-wallet dâhil) tanımlar; kurumsal risk dilini kurar.
- MITRE ATLAS AML.T0034 — saldırganın taktiğini (etki/Impact tactic altında maliyet tüketimi) tespit mühendisliği diline çevirir; hangi telemetriyi izleyeceğinizi söyler.
Bu eşleme, bir SOC ekibinin "faturayı hedef alan anomaliyi" bir tespit kuralına bağlaması için ortak bir sözlük sağlar.
Token Maliyet Saldırısının Desenleri
OWASP LLM10 birkaç belirgin istismar desenini sıralar. Her biri farklı bir savunma katmanını hedefler:
- Değişken uzunlukta girdi baskını (Variable-Length Input Flood): Farklı boyutlarda çok sayıda girdi göndererek bağlam penceresini ve işlem kaynaklarını doyurma.
- Sürekli girdi taşması (Continuous Input Overflow): Pencere sınırını aşan girdilerle modeli sürekli ekstra işleme zorlama.
- Kaynak-yoğun sorgular (Resource-Intensive Queries): Kasıtlı olarak karmaşık, uzun ve çok adımlı çıktı gerektiren istekler kurma.
- API üzerinden model çıkarımı (Model Extraction): Yüksek hacimli sorgularla modelin davranışını damıtıp kopyalama; hem maliyet hem fikri mülkiyet saldırısı.
Agent tabanlı sistemlerde bu desenler daha da tehlikelidir: özyinelemeli agent döngüleri tek bir kötü niyetli girdiyle onlarca zincirleme çağrı üretebilir. Bir aracın çıktısı diğer aracı tetikler, o da modeli yeniden çağırır; kontrolsüz bir döngü, tek istek fiyatına yüzlerce isteklik fatura oluşturur. Bu yüzden agent yetki modeli (bkz. en az yetki ilkesi) yalnızca güvenlik değil, maliyet meselesidir.
AltayDuel Gözlemi: Döngüler Token Yakar
AltaySec'in kendi ölçüm ortamı olan AltayDuel, iki LLM agent'ını saldırgan ve savunmacı rollerinde karşı karşıya getiren bir Türkçe red-team arenasıdır. Kaydedilen 297 düello, bu yazıdaki teorik desenlerin pratikte nasıl göründüğüne dair somut bir zemin sunar.
Not — iç veri etiketi: Aşağıdaki gözlem AltaySec'in kendi arena telemetrisinden gelir; dış-genel bir istatistik değildir. Saldırgan token-maliyeti için yayımlanabilir bir uç değer istatistiği paylaşmıyoruz, çünkü bu, düello formatının denial-of-wallet için özel olarak tasarlanmadığı gerçeğini çarpıtır. Paylaştığımız şey nicel bir maliyet iddiası değil, gözlenen davranış desenidir.
Arenadaki en tutarlı gözlem şudur: token tüketimini şişiren şey çoğu zaman saldırının "başarısı" değil, savunmanın refleksidir. Uzun ve savunmacı sistem promptları, her turda tekrar tekrar işlenerek girdi maliyetini kalıcı olarak yükseltir. Saldırgan tarafın modeli tekrarlı, gerekçelendirilmiş ve uzun çıktı üretmeye ittiği turlarda ise çıktı maliyeti tırmanır. Yani sağlam görünen ağır bir savunma promptu, farkında olmadan kalıcı bir maliyet vergisine dönüşebilir. Bu, "savunmayı sıkılaştırayım derken tüketimi artırma" ödünleşiminin somut kanıtıdır ve tam olarak LLM10'un işaret ettiği yerdir.
Savunma Reçetesi: Kota, Oran Sınırlama ve Token Bütçesi
OWASP LLM10'un birincil azaltıcı önlemi nettir: tek bir kaynağın belirli bir zaman diliminde yapabileceği istek sayısını sınırlayan oran sınırlama ve kullanıcı kotaları. Ancak sağlam bir savunma tek katmanla yetinmez. Uygulanabilir bir reçete katmanlıdır:
- Kimlik başına oran sınırlama ve kota: API anahtarı ve IP başına istek/dakika limitleri; anonim trafiğe daha sıkı tavan.
- Token bütçeleri: İstek başına
max_input_tokensvemax_output_tokens; kullanıcı ve kiracı (tenant) başına günlük harcama tavanı. - Zaman aşımı ve eşzamanlılık limitleri: Uzun süren çıkarımları kesme; paralel istek sayısını sınırlama; agent döngülerine sabit adım sınırı koyma.
- Harcama izleme ve alarm: Anomali eşiği aşıldığında bütçe alarmı; olay müdahale defterine (bkz. AI olay müdahale) bağlı otomatik devre kesici.
- Ağ geçidi / LLM güvenlik duvarı: Bu limitleri her uygulamaya ayrı ayrı kodlamak yerine tek bir denetim noktasında uygulama.
Örnek bir ağ geçidi politikası şöyle görünür:
# Ağ geçidinde token bütçesi ve oran sınırı politikası
policy:
rate_limit:
per_api_key: 60/dakika
per_ip: 20/dakika
token_budget:
max_input_tokens: 8000
max_output_tokens: 1024
daily_cost_cap_usd: 25
concurrency:
max_parallel_requests: 5
agent_loop:
max_steps: 8 # ozyinelemeli dongulere sert sinir
on_exceed: reject_429 # istek reddedilir, fatura korunur
AltaySec'in Guardian LLM güvenlik duvarı tam olarak bu denetim noktasını üstlenir: token bütçesi, oran sınırı ve anomali izleme her isteği uygulamaya ulaşmadan önce değerlendirir; bu sayede maliyet kontrolü her mikroservise dağılmaz, tek yerde yönetilir. Bu katmanı seçerken nelere bakmanız gerektiğini AI firewall seçim rehberinde, çalışma zamanı korumalarını ise runtime guardrail yazımızda ele alıyoruz.
Kurumsal Kontrol Listesi
Sınırsız tüketim, çoğu ekibin güvenlik değil "altyapı faturası" sandığı için gözden kaçan bir risktir. Aşağıdaki liste, LLM10'a karşı temel duruşu özetler:
- Her API anahtarı ve kiracı için oran sınırı ve günlük harcama tavanı tanımlı mı?
- İstek başına girdi/çıktı token limitleri zorunlu kılınıyor mu?
- Agent zincirlerinde maksimum adım sayısı ve döngü koruması var mı?
- Bütçe eşiği aşıldığında alarm ve otomatik devre kesici çalışıyor mu?
- Anonim/kimliksiz trafiğe kimliği doğrulanmış trafikten daha sıkı limit uygulanıyor mu?
- Model çıkarımı belirtisi olan yüksek hacimli tekdüze sorgular izleniyor mu?
- Bu kontroller uygulama koduna dağılmış mı, yoksa merkezi bir ağ geçidinde mi toplanmış?
Bu maddeler OWASP LLM Top 10'un daha geniş resmine oturur; listenin tamamını Türkçe olarak genel bakış yazımızda bulabilirsiniz. LLM altyapınızın tüketim yüzeyini kurumsal olarak değerlendirmek isterseniz bizimle iletişime geçebilirsiniz.
