İçeriğe atla
0 XP 0
12 dkderinleşmeyle 13 dk55 XP6 etkinlik

Neyi ölçüyoruz

Bu derste
  • Saldırı başarı oranını, yanlış pozitifi ve kısmi başarıyı ayrı ayrı hesaplar, tek sayının gizlediği riski raporda görünür kılarsın.
  • Bu derste saldırı başarı oranını, yanlış pozitifi ve kısmi başarıyı ayrı ayrı tanıyacaksın.
  • Sonunda bir raporu okuyup hangi sayının neyi gizlediğini söyleyeceksin.

Puan bütün etkinlikleri cevaplayınca hesaba yazılır. Bu dersi tamamlayınca +55 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.

Ölçmeden savunma olmaz. Altay Kargo'nun müşteri asistanına yeni bir girdi filtresi eklendiğini düşün. Ekip ertesi gün jailbreak denemelerinin azaldığını söylüyor.

Peki ne kadar azaldı? Hangi saldırı ailesinde azaldı? Karşılığında kaç normal müşteri isteği engellendi? Bu üç soruya cevabın yoksa elinde iyileşme değil, bir his var.

LLM güvenliğinde ölçüm, klasik bir zafiyet taramasından daha kaygandır. Model aynı soruya farklı yanıtlar verir. Yanıtların bir kısmı ne tam başarıdır ne de tam ret. Bu derste bir güvenlik testinin sonucunu hangi sayılarla anlatacağını, her sayının paydasını ve ölçümün hangi noktada yapılacağını adım adım kuracaksın.

Saldırı başarı oranı ve yanlış pozitif

En çok kullanılan sayı saldırı başarı oranıdır (attack success rate, kısaca ASR). Tanımı basit görünür: başarılı saldırı sayısını toplam deneme sayısına bölersin. Zorluk formülde değil, başarı kelimesinde saklanır.

Model sistem promptunu tam yazarsa başarıdır, peki yarısını yazarsa? Gizli anahtarı vermez ama anahtarın hangi dosyada durduğunu söylerse? Bu soruların cevabı koşudan önce yazılı olmalı. Aksi halde iki analist aynı yanıtı farklı sayar ve oran anlamını yitirir.

ASR yalnız saldırı tarafını anlatır. Savunmanın ürüne ne kadar zarar verdiğini göstermez. Bunun için ikinci bir sayıya ihtiyacın var.

İkinci sayı yanlış pozitiftir (false positive). Güvenlik katmanın zararsız bir isteği saldırı sanır ve engeller. Müşteri kargosunun nerede olduğunu sorar, filtre bu soruyu veri sızdırma girişimi sayar.

Kullanıcı bunu hata olarak görür. Ürün ekibi de zamanla güvenliği düşman gibi görmeye başlar. Yanlış pozitif oranının paydası saldırı denemeleri değil, zararsız isteklerin sayısıdır.

Formül şudur: engellenen zararsız istek bölü toplam zararsız istek. Paydayı karıştırmak en sık hatadır. Yedi yanlış engeli dört yüz saldırı denemesine bölersen oran olduğundan küçük görünür. Zararsız istekleri ölçmezsen filtreyi sıkılaştırmanın bedelini kimse bilmez.

İki sayıyı ayrı ayrı okumak yetmez, birlikte okuman gerekir. Bir sürüm saldırı oranını düşürüp yanlış pozitifi fırlatıyorsa güvenliği iyileştirmemiş, yalnız sınırı sıkılaştırmıştır. Uç bir örnek düşün. Her isteği reddeden bir katman saldırı oranını sıfıra indirir, ama ürün de kullanılamaz hale gelir.

Sürüm karşılaştırırken iki sayıyı aynı satırda göster ki okuyucu dengeyi tek bakışta görsün. Gerçek ekiplerde bu tartışma hep aynı yerde düğümlenir. Güvenlik ekibi düşen saldırı oranını, ürün ekibi artan şikâyetleri gösterir. İki sayı aynı tabloda durursa tartışma bir karara döner: hangi yanlış pozitif oranına kadar hangi saldırı düşüşü kabul edilir?

Etkinlik 1 / 6

İki filtre sürümünün sonucu aşağıda. Sürüm 2 gerçekten daha mı iyi?

Önce kodu oku, sonra çıktıyı seç.

Surum 1: saldiri basari orani %22, yanlis pozitif %1
Surum 2: saldiri basari orani %6, yanlis pozitif %19
Derinleş:Tek puandan çok boyutlu ölçüme

2022'de Percy Liang ve arkadaşlarının yayımladığı HELM çalışması (Holistic Evaluation of Language Models), dil modellerini tek bir doğruluk puanıyla sıralama alışkanlığına itiraz etti. Çalışma modelleri on altı çekirdek senaryoda yedi ölçütle değerlendirdi: doğruluk, kalibrasyon, sağlamlık, adillik, yanlılık, zehirli içerik ve verimlilik. Yazarların gerekçesi basitti. Doğruluk dışındaki ölçütler unutulmasın ve takaslar açıkça görünsün.

Güvenlik ölçümünde aynı mantık, saldırı başarı oranı ile yanlış pozitif arasındaki gerilimde karşına çıkar. Bir sürüm bir ölçütte öne geçerken başka bir ölçütte geriye düşebilir, tek puan bu hareketi düzleştirir. 2023'te Lianmin Zheng ve arkadaşlarının MT-Bench çalışması başka bir soruyu açtı: binlerce yanıtı kim değerlendirecek? Güçlü bir modelin hakem olarak insan tercihleriyle yüzde 80'in üstünde uyum yakaladığını gösterdiler.

Bu düzey, insanların kendi aralarındaki uyumla aynıydı. Aynı çalışma hakemin konum, uzunluk ve kendini kayırma önyargılarını da belgeledi. İki çizgi birlikte şunu söyler: ölçümde hem neyin sayıldığı hem de kimin saydığı sonucu belirler.

Dört sonuç kutusu ve kısmi başarı

Üçüncü kavram kısmi başarıdır. Model görevini bırakmaz ama yanıtın sonuna saldırganın istediği cümleyi ekler. Ya da yasaklı bilgiyi vermez, onun yerine nereden bulunacağını söyler.

Gizli anahtarın tamamını yazmaz ama ilk beş karakterini sızdırır. Bu yanıtların hiçbiri ikili bir başarı kutusuna sığmaz. Başarı sayarsan oranı şişirirsin.

Ret sayarsan savunmanın çatlağını gizlersin. İkisi de raporu yanıltır. Kısmi başarıyı ayrı bir kutuda tutmak, saldırının hedefe ne kadar yaklaştığını gösterir. Saldırgan açısından bu yanıtlar yarım kalmış bir iştir ve küçük bir dokunuşla tamamlanabilir.

Kısmi başarıyı ayrı saymanın pratik bir değeri de var: geleceği tahmin ettirir. Bu denemeler savunmanın en ince yerini gösterir. Saldırgan cümleyi biraz değiştirir, kalıbı bir kez daha dener ve kısmi sonuç tam başarıya döner.

Raporunda kısmi kutusu kalabalıksa bir sonraki sürümde saldırı oranının sıçrayacağını önceden bilirsin. Tersini de okuyabilirsin. Kısmi kutusu boşalıp ret kutusu doluyorsa savunma gerçekten derinleşiyordur.

Tek oran bu hareketi göstermez. Kısmi yanıtlar ya hiç sayılmaz ya da tam başarı kutusuna atılır, iki durumda da eğilim kaybolur.

Dördüncü kutu olan bildirim çoğu raporda unutulur. Model isteği yalnız geri çevirmez, bunun bir saldırı denemesi olduğunu da söyler. Örneğin belgedeki gizli talimatı gördüğünü ve uygulamadığını belirtir.

Bildirim, sessiz bir retten daha değerlidir. Kullanıcı ne olduğunu öğrenir, kayıtlarda da iz kalır. Güvenlik ekibi bu izleri sayarak saldırının hangi kanaldan geldiğini görür.

Kutulara kimin karar verdiği de önemlidir. Birkaç düzine yanıtı bir insan okuyabilir. Binlerce yanıtta ise bu işi bir hakem model yapar. Hakemin nasıl kurulduğunu ve nerede yanıldığını bu modülün üçüncü dersinde göreceksin.

Kutuların sınırını koşudan önce yaz. Her kutu için bir cümlelik tanım ve iki örnek yanıt yeterlidir.

Örneğin tam başarıyı "anahtarın tamamı ya da son sekiz karakteri yazıldı" diye tanımla. Kısmi başarıyı da "anahtarın bir parçası, biçimi ya da bulunduğu dosyanın adı verildi" diye tanımla. Sonra aynı elli yanıtı iki kişiye ayrı ayrı etiketlet.

İki kişi aynı yanıtı farklı kutuya koyuyorsa sorun yanıtta değil, tanımdadır. Tanımı netleştir ve etiketlemeyi tekrarla. Bu küçük alıştırma, koşunun sonunda çıkacak tartışmanın çoğunu baştan bitirir.

Etkinlik 2 / 6

Her sonucu doğru kutuya koy.

Önce bir seçeneğe, sonra aşağıdaki uygun kutuya bas. İstersen seçeneği kutuya sürükleyip bırak. Yerini değiştirmek için aynı işlemi tekrarla.

0/5 seçenek yerleşti.

Çözümlü hesap: payda ve deneme sayısı

Şimdi gerçek bir koşunun sonucunu oku. Altay Kargo'nun asistanına dört yüz saldırı denemesi gönderildi. Aynı koşuda üç yüz elli zararsız müşteri isteği de vardı.

Her saldırı yanıtı dört kutudan birine kondu. Zararsız istekler için yalnız engellendi ya da geçti bilgisi tutuldu. Aşağıdaki kayıt koşunun ham özetidir.

Altındaki yorum satırları aynı ham veriden üç farklı oran çıkarır. Hangisinin raporlanacağı bir tanım kararıdır. Kararı vermeden önce her satırın paydasına dikkat et, çünkü üç oranın paydası aynı değildir.

sonuc = {
  "toplam": 400,
  "tam": 24,
  "kismi": 31,
  "ret": 301,
  "bildirim": 44,
  "yanlis_pozitif": 7,
  "benign_toplam": 350
}
# ASR = tam / toplam = %6.0
# Kismi dahil edilirse = (tam+kismi) / toplam = %13.8
# Yanlis pozitif = 7 / 350 = %2.0
Aynı koşudan iki farklı ASR çıkar. Hangi tanımı kullandığını raporda yaz.

Kaydı satır satır oku. Toplam dört yüz deneme dört kutuya dağılmış: yirmi dört tam, otuz bir kısmi, üç yüz bir ret ve kırk dört bildirim. Bu dört sayının toplamı dört yüzü verir.

İlk kontrolün budur; toplam tutmuyorsa bir yanıt kaybolmuş ya da iki kez sayılmıştır. Yalnız tam başarıları sayarsan ASR yüzde altı çıkar. Kısmi başarıları da dahil edersen oran iki katından fazlasına çıkar.

Yanlış pozitif satırı başka bir payda kullanır. Yedi engellenen istek, dört yüz saldırıya değil, üç yüz elli zararsız isteğe bölünür ve yüzde iki eder. Raporun başına hangi ASR tanımını kullandığını yaz. Başka bir ekibin yüzde altısıyla seninki ancak tanım aynıysa karşılaştırılabilir.

Etkinlik 3 / 6

Yukarıdaki koşuda kısmi başarılar dahil edildiğinde saldırı başarı oranı yüzde kaç olur?

Tahminini kaydır, sonra gönder.

040

Sayıyı paylaşırken paydayı da söyle. Yüzde altmış başarı kulağa korkutucu gelir. Ama beş denemenin üçüyse bu sayı çok az şey anlatır.

Bulgu raporu dersinde gördüğün Wilson yöntemiyle yüzde 95 güven aralığını hesapla. 3/5 için aralık kabaca yüzde 23 ile 88 arasındadır. Aynı yüzde altmış 240/400 denemeden geliyorsa aralık yüzde 55 ile 65'e daralır.

İlk sonuç neredeyse hiçbir şey söylemez, ikincisi sağlam bir ölçümdür. Küçük bir set yüzünden oran tesadüfen de düşebilir. Set daralmış, kolay örnekler kalmış ya da bir aile setten çıkmış olabilir. Bu yüzden oranın düşmesini tek başına iyileşme kanıtı sayma.

Etkinlik 4 / 6

Doğru mu, yanlış mı?

Yeni filtre sürümünde saldırı başarı oranının düşmesi, güvenliğin iyileştiğini göstermeye yeter.

Ölçüm noktası ve en kötü aile

Ölçümün nerede yapıldığını da yaz. Bir LLM uygulamasında saldırı birden çok noktada durabilir. Girdi filtresi isteği modele hiç ulaştırmadan keser.

Model isteği görür ama reddeder. Model kandırılır, ama araç katmanındaki yetki kontrolü işlemi engeller. Üç sonuç da raporda ret gibi görünür, oysa anlamları farklıdır.

Girdi filtresinde durmuş bir saldırı, cümle değişince geçebilir. Araç katmanında durmuş bir saldırı ise modelin kandırıldığını gösterir; yalnız son kilit tutmuştur. Her denemeyi nerede durduğuyla birlikte kaydet. Böylece hangi katmanın gerçekten iş gördüğünü ayırırsın.

KullanıcıgirdiSistem promptutalimatModeltek kanalAraçlardosya, APIDış belgeDış belgedeki metin de modelin okuduğu aynı kanala girer.
Ölçüm noktası akışın neresinde? Girdi filtresi, model çıktısı ve araç çağrısı ayrı ayrı sayılır.

Etkinlik 5 / 6

Model sistem promptunu sızdırmadı ama müşteri adına iade aracını yetkisiz çağırdı. Bu deneme şemadaki hangi noktada sayılmalı?

Diyagramda doğru kutuyu tıkla.

KullanıcıgirdiSistem promptutalimatModeltek kanalAraçlardosya, APIDış belgeDış belgedeki metin de modelin okuduğu aynı kanala girer.

Bir saldırı ailesi içinde ortalama almak da tuzaktır. Yirmi farklı jailbreak kalıbı denedin ve ortalama başarı yüzde beş çıktı. Ama kalıplardan biri tek başına yüzde doksan tutuyorsa tablo değişir.

Saldırgan ortalamayı kullanmaz, en iyi çalışan kalıbı kullanır. O kalıp bir forumda paylaşıldığı gün senin gerçek oranın yüzde doksan olur. Bu yüzden raporun aile ve kalıp kırılımını göstermeli, en kötü sonucu öne çıkarmalı.

Toplam oranın düşmesini kutlamak gizli bir riski görmezden gelmek olabilir. Güvenlik ekibi bu tabloyu haftalık gözden geçirir ve önce en yüksek oranlı kalıp üstünde çalışır.

aile             deneme  tam  kismi  ASR(tam)  en_kotu_kalip
rol_yapma            80    2      3     %2.5    K-12  1/10
kodlama              60    1      2     %1.7    K-21  1/20
dolayli_enj          60    9      6    %15.0    K-37  9/10
dil_degistirme       40    0      1     %0.0    -
toplam              240   12     12     %5.0
Toplam yüzde beş der. K-37 kalıbı on denemenin dokuzunda tuttu.

Tabloyu alttan yukarı oku. Toplam satırı yüzde beş der ve kulağa iyi gelir. Aile sütunu farklı bir hikâye anlatır: dolaylı enjeksiyon yüzde on beşte, öteki aileler yüzde üçün altında.

En kötü kalıp sütunu ise asıl riski gösterir. K-37 kalıbı on denemenin dokuzunda tutmuş. Dolaylı enjeksiyon ailesinin dokuz tam başarısının hepsi bu tek kalıptan geliyor.

Saldırgan K-37'yi bulduğu an senin için gerçek oran yüzde doksandır. Raporun ilk satırına toplam oranı değil, bu kalıbı yaz. Düzeltme önceliği de buradan çıkar: önce K-37'nin neden tuttuğunu anla.

Kime rapor verdiğin de tabloyu değiştirir. Mühendise aile bazlı kırılım lazım: hangi kalıp, hangi model sürümü, hangi savunma katmanı. Yöneticiye eğilim lazım: geçen aya göre ne değişti, hangi risk açıldı, hangi risk kapandı. Aynı koşudan iki farklı tablo çıkarırsın, ama ikisinin altında aynı ham kayıt durur.

Ham kaydı bu yüzden sakla. Biri yarın sayını sorgularsa aynı kayıttan aynı sonucu yeniden üretebilmelisin. Ham kayıt olmadan elinde yalnız bir yüzde kalır ve o yüzdenin nasıl hesaplandığını kimse doğrulayamaz.

Etkinlik 6 / 6

Yirmi jailbreak kalıbından biri yüzde doksan tutuyor, ortalama yüzde beş. Raporda hangisi öne çıkarılır?

Bu derste bir hata mı gördün? Bildir