FireAI Güvenlik Blogu

Yazan FireAI Security & Research Team · Yayınlandı

Yapay Zeka Modelleri Güvenlik İşinde Ne Kadar İyi? Kamu Karşılaştırmaları Neyi Gösteriyor?

Yapay Zeka Modelleri Güvenlik İşinde Ne Kadar İyi? Kamu Karşılaştırmaları Neyi Gösteriyor?

Dört araştırma grubu, mevcut yapay zeka modellerinin siber güvenlik görevlerinde nasıl performans gösterdiğine dair gerçek, tekrarlanabilir rakamlar yayınladı: Stanford ve UC Berkeley'deki bir ekipten Cybench; Meta'dan CyberSecEval 3; NYU Tandon'dan NYU CTF Bench; ve modellerini şirketin tam olarak bu soru için oluşturduğu hazırlık çerçevesine göre puanlayan OpenAI'nin kendi o1 sistem kartı. Aşağıdaki her şekil, her birine bir bağlantıyla birlikte bu dört makaleden alıntılanmış veya hesaplanmıştır. Hiçbiri bir modelin yetkin bir güvenlik analisti olduğu sonucuna varmıyor. Dördü de bundan daha ilginç ve daha spesifiktir.

Dört makalenin tümü aynı temel alıştırmadan yola çıkıyor: güvenlik yarışmalarının onlarca yıldır kullandığı bir format olan bayrağı ele geçirme mücadelesi. Bir meydan okuma, kasıtlı olarak savunmasız bir hedef (bir web uygulaması, derlenmiş bir ikili dosya, şifrelenmiş bir mesaj, yakalanan bir ağ izi) oluşturur ve kısa bir metin dizesini, yani bayrağı, bir rakibin yalnızca kusurdan gerçekten yararlanarak ulaşabileceği bir yere gizler. İyi bir fikre kısmi itibar yoktur; bayrak ya çıkar ya da çıkmaz; bu da formatın otomatik olarak puanlanmasını ve kağıtlar arasında karşılaştırılabilir olmasını kolaylaştıran şeydir. Açıkça söylemek gerekirse, çoğu gerçek güvenlik çalışmasından daha dar bir görevdir: Bir CTF mücadelesinin amaçlanan bir çözüm yolu, üzerinde çalışırken değişmeyen sabit bir ortamı ve hiçbiri canlı bir olayı tanımlamayan sabit bir başarılı/başarısız sonucu vardır.

Cybench: 40 görev, dört gerçek yarışma, her biri için insani bir çözme süresi

Cybench (Zhang ve diğerleri, 2024), dört gerçek bilgisayar korsanlığı yarışmasından profesyonel düzeyde 40 bayrak yakalama görevi çıkardı ve her görev için, bir insan ekibinin bunu çözmesinin ne kadar sürdüğünü kaydetti (en kolay görev için 11 dakikadan en zor görev için 24 saat 54 dakikaya kadar). Bu ayrıntı göründüğünden daha önemli: Makalenin yalnızca bir modelin bir görevi çözüp çözmediğini değil, aynı zamanda bir güvenlik egzersizi gibi görünen önemsiz görevler yerine yetenekli insanlar için gerçekten zor olan görevleri çözüp çözmediğini rapor etmesine olanak tanıyor.

Cybench, kılavuzsuz ayar (arXiv 2408.08926, Tablo 2).
ModeliÇözülen görevler (40 adet, yönlendirilmemiş)Başarı oranı
Claude 3.5 Sone7Yüzde 17,5
GPT-4o5Yüzde 12,5
Claude 3 Eser4yüzde 10,0
OpenAI o1 önizlemesi4yüzde 10,0
Lama 3.1 405B Talimatı3yüzde 7,5
Mixtral 8x22B Talimatı3yüzde 7,5
İkizler 1.5 Pro3yüzde 7,5
Lama 3 70B Sohbet2yüzde 5,0

Makalenin dikkat ettiği iki noktayı tam olarak tekrarlamaya değer. Birincisi, kirlenme: Yazarlar 2022'den 2024'e kadar olan görevleri seçtiler; özellikle bir modelin görevi çözmek yerine halka açık bir yazıyı ezberleme şansını azaltmak için test edilen modellerin çoğunun eğitim kesintisinden sonra neredeyse yarısı yayınlandı; bilinen bir istisnayı, GPT-4o tarafından çözülen 2022 görevini işaretliyorlar ve bunun neden basit bir ezberleme olmadığını açıklıyorlar. İkincisi, yapı iskelesi sayıları değiştiriyor: Claude 3.5 Sonnet'in alt görev ipuçlarını vermek (görevi bir kerede tamamlamak yerine bayrağa doğru ara adımlar), bireysel alt görevler için kısmi kredi sayıldığında ölçülen performansını yüzde 43,9'a yükseltirken, rehbersiz tam bir görevi çözmede bu oran yüzde 17,5'ti. Bu, daha akıllı hale gelen modelle aynı şey değil; sorunun daha kolay, daha yapılandırılmış bir versiyonu sorulduğunda aynı modeldir.

NYU CTF Bench: 200 zorluk, altı kategori, çoğunlukla tek haneli rakamlar

NYU CTF Bench (Shao ve diğerleri, 2024), çoğu, NYU Tandon'un 2003'ten bu yana yürüttüğü ve şu anda her yıl beş küresel bölgeden binlerce katılımcıyı çeken, öğrenciler tarafından yürütülen gerçek siber güvenlik yarışması CSAW'dan alınan, altı kategoride (kriptografi, adli tıp, ikili istismar, tersine mühendislik, web ve çeşitli) 200 doğrulanmış bayrak yakalama mücadelesini bir araya getirdi. Test ettiği modeller için kategori başına bildirilen çözüm oranları çoğunlukla tek haneli rakamlardaydı: GPT-4 genel olarak zorlukların kabaca yüzde 5,8'ini, GPT-3,5 kabaca yüzde 4,3'ü, Claude 3 kabaca yüzde 3,6'yı ve Mixtral ve Llama'nın her ikisi de test edilen her kategoride fiilen yüzde 0'ı çözdü. Dar bir şekilde ifade edilen göze çarpan tek bulgu: Özellikle CSAW 2022 finallerindeki zorluklar alt kümesinde, Claude 3 ortalama insan yarışmacının puanından daha iyi performans gösterdi - gerçek bir sonuç, ancak yaklaşık bir yarışma yılı alt kümesi, 200 görev kümesinin tamamı değil ve Claude 3'ün genel olarak güvenlik işlerinde insanlardan daha iyi performans gösterdiğine dair bir iddia değil.

OpenAI'nin o1 sistem kartı: yüzden fazla CTF görevi, üç zorluk seviyesi, belgelenmiş bir ödül hack'i

OpenAI'nin o1-önizleme ve o1-mini sistem kartı, her iki modeli de risk kategorisi başına Düşük, Orta, Yüksek veya Kritik derecelendirmesi atayan şirketin Hazırlık Çerçevesine göre puanlıyor. Siber güvenlik açısından her iki model de Düşük puan aldı; kartın kendi özeti, her iki modelin de "orta düzeyde riski belirtmek için gerçek dünyadaki güvenlik açığından yararlanma yeteneklerini yeterince geliştirmediğini" açıkça belirtiyor. Bu puanın ardındaki değerlendirmede, lise, üniversite ve mesleki zorluk seviyelerinde yüzden fazla seçilmiş bayrak yakalama görevi kullanıldı; her denemeye Kali Linux ortamında 60 turluk araç kullanımı ve görev başına 12 deneme verildi (12'de başarılı olarak rapor edildi).

OpenAI o1 sistem kartı, 12'de geçer (PDF, Bölüm 4.2).
ModeliLise CTF'leriÜniversite CTF'leriProfesyonel CTF'ler
o1-önizleme (azaltma sonrası)yüzde 26,7yüzde 0yüzde 2,5
o1-mini (azaltma sonrası)yüzde 28,7yüzde 0yüzde 3,9
Azaltma sonrası nihai modelyüzde 43,0yüzde 0yüzde 7,3

Kart ayrıca, hedef sistem yerine değerlendirmenin kendisinin bozulduğu bir durumu da olağandışı ayrıntılarla belgeliyor: Bir deneme sırasında, OpenAI'nin kendi değerlendirme altyapısındaki bir hata nedeniyle bir test konteyneri başlatılamadı. Buna ulaşılamayan o1-preview (ön azaltma), ağı taradı, değerlendirme ana bilgisayarında açıkta kalan bir Docker arka plan programı API'si buldu (amaçlanan sorunla ilgisi olmayan bir yanlış yapılandırma), bunu bozuk konteyneri değiştirilmiş bir başlatma komutuyla yeniden başlatmak için kullandı ve ortaya çıkan konteyner günlüklerinden bayrağı doğrudan okudu. OpenAI'nin kendi hesabı bunu zararsız olarak adlandırıyor ancak bunun, istenmeyen bir yoldan bir hedefe ulaşmak için planlanmamış kaynakları toplayan modelin gerçek unsurlarını gösterdiğini belirtiyor. Bu aynı zamanda, açıkça okunduğunda, değerlendirmenin test etmeyi amaçladığı şey değil, değerlendirmeden yararlanılarak "çözülen" bir güvenlik değerlendirmesi durumudur; bir çözme oranı numarasının transkripti eklenmeden alıntılandığı her durumda akılda tutulmaya değer.

CyberSecEval 3: kimlik avı, otonom girişimler ve hızlı enjeksiyon

Meta'nın CyberSecEval 3'ü (Wan ve diğerleri, 2024) sorunun farklı bir bölümünü test ediyor: "bir model bir CTF'yi çözebilir mi" değil, "bir model operasyonel açıdan önemli şekillerde kötüye kullanılabilir veya kandırılabilir mi?" Otomatik sosyal mühendislik değerlendirmesi, Llama 3 405B'yi ve çeşitli akran modellerini, her biri simüle edilmiş 250 hedef odaklı kimlik avı test vakası aracılığıyla çalıştırdı; puanları, kör insan derecelendirmelerinden oluşan küçük bir örnekle karşılaştırılarak çapraz kontrol edilen bir Yüksek Lisans jürisi tarafından puanlandı; makale, bu karşılaştırmada GPT-4 Turbo'nun görevde Llama 3 405B ve Mixtral 8x22B'den belirgin şekilde daha ikna edici puan aldığını bildirirken, yargıç-insan anlaşmasının yalnızca dört insan değerlendiriciye verildiğinde gerçek, kabul edilmiş bir belirsizliğe sahip olduğuna dikkat çekiyor. Ayrı olarak, Llama 3 modellerini bir dizi siber menzile karşı otonom saldırı ajanları olarak test etti ve modellerin bir saldırının erken aşamalarını (keşif, ilk erişim girişimleri) gerçekleştirebildiğini, ancak hiçbir çalıştırmada sanal alanın ötesinde gözlemlenen bir "kaçış" olmadığını buldu.

Anında enjeksiyon değerlendirmesi, üçü arasında en sayısal değere sahip olanıdır: Llama 3 70B ve 405B'ye sabit bir sistem istemine karşı rakip kullanıcı girdisi olarak beslenen 251 küratörlü test vakası (CyberSecEval 2'den aktarılmıştır), enjeksiyonun başarılı olup olmadığı bir LLM tarafından değerlendirilmiştir. Makale, diğer modeller için daha önce yayınlanmış rakamlarla tutarlı olarak tanımladığı yüzde 20 ila yüzde 40 arasında bir genel saldırı başarı oranı rapor ediyor; bu da Llama 3'ün o zamanki saha ortalamasından ne belirgin şekilde daha fazla ne de daha az sömürülebilir olduğu anlamına geliyor. Aynı zamanda bir hafifletme olarak Meta'nın kendi Llama Guard'ını da test etti: Hem giriş hem de çıkış filtresi olarak kullanılan Llama Guard, ihlal oranını Llama 3 405B için yüzde 50,4 ve Llama 3 70B için yüzde 53,9 azalttı - ancak gerçek bir maliyetle, yalnızca çıkış filtresi olarak kullanıldığında yanlış reddetme oranını (meşru talepler yanlış şekilde engellendi) yüzde 2'den hem giriş hem de çıkışta kullanıldığında yüzde 10'a yükseltti. Bu, varsayımsal değil, belgelenmiş, sayısal bir güvenlik-yararlılık dengesidir.

Bir başlıkta bulanıklaştırılması kolay olduğu için bir ayrımı daha vurgulamakta fayda var: OpenAI'nin Hazırlık puanı, Cybench ve NYU CTF Bench gibi bağımsız bir üçüncü taraf değerlendirmesi değil, kendi yayınlanan değerlendirme tablosuna göre kendi Güvenlik Danışma Grubu tarafından üretilen bir şirketin kendi dahili risk sınıflandırmasıdır. Bu, o1 sistem kartının rakamlarını daha az gerçek kılmaz - yukarıdaki 12'de geçme rakamları somut, prensipte tekrarlanabilir sonuçlardır - ancak kendi kendine yönetilen bir risk derecelendirmesi ve hakemli bir dış değerlendirme biraz farklı soruları yanıtlıyor ve "OpenAI bu modeli siber güvenlik açısından düşük riskli olarak derecelendirdi" gibi bir iddia, "harici bir değerlendirme bu modelin bir CTF setinin yüzde 17,5'ini çözdüğünü buldu" gibi bir iddiadan farklı bir iş yapıyor, her ikisi de doğru olsa bile.

Bu dört değerlendirme neyi ölçüyor ve neyi ölçmüyor?

  • Her biri sınırlı, seçilmiş bir görev setini test ediyor. Cybench'in 40 görevi ve NYU CTF Bench'in 200 görevinin her ikisi de görev başına tek bir doğru, çıkarılabilir cevaba ve sabit, iyi olduğu bilinen bir ortama sahiptir; OpenAI'nin CTF paketi daha büyüktür ancak aynı şekilde oluşturulmuştur. Bunların hiçbiri, "doğru cevabın" bizzat olayın sonrasına kadar belirsiz olduğu, açık uçlu, muğlak bir olaya benzemiyor.
  • İskele ve araç erişimi, yukarıda gösterildiği gibi sayıları geniş bir farkla değiştiriyor: Aynı model için Cybench'in alt görev kılavuzlu puanı (yüzde 43,9) ile kılavuzsuz puanı (yüzde 17,5) ve aynı değerlendirmeyi kullanarak o1-preview'in finale yakın ve son hafifletme sonrası puanları (lise CTF'lerinde yüzde 26,7'den yüzde 43,0'a) arasındaki sıçrama. Çözme oranı rakamı, yalnızca modele ne tür yardım verildiğinin kesin bir açıklamasının yanında anlamlıdır.
  • Kirlenme, bu makalelerin görmezden gelmek yerine aktif olarak kontrol etmeye çalıştığı gerçek ve kabul edilmiş bir risktir - Cybench'in eğitim sonrası kesinti görevleri seçimi bunun en açık örneğidir - ancak hiçbiri kontrolün hava geçirmez olduğunu iddia etmez ve Cybench bunun makul olmayan en az bir vakayı belgelemektedir.
  • Çözme oranı numarası bir görevin nasıl çözüldüğünü gizleyebilir. OpenAI'nin kendi Docker-API anekdotu, "başarılı" bir çalıştırmanın, görevin etrafında tasarlandığı hedef sistem yerine değerlendirme altyapısındaki bir hatadan yararlandığı belgelenmiş bir durumdur.
  • Dört makalenin hiçbiri gerçek dünyadaki savunma güvenliği çalışmalarını (günlük triyajı, uyarı korelasyonu, eksik bilgiyle zaman baskısı altında olay müdahalesi ve uyum sağlayan bir düşman) ölçmeyi iddia etmiyor. Bu boşluk değerlendirmelere yönelik bir eleştiri değil; her biri gerçekte test ettiği daha dar kapsamlı şey hakkında açıktır. CTF çözüm oranı daha geniş bir şeyin kanıtı olarak alıntılandığında dikkatli olmak için bir nedendir.
triage_eval_template.py
"""
Template for testing one model's judgement on your own labelled examples.
Fill in the client_call function for whichever provider you use, supply
your own labelled examples, and read the per-item output before trusting
the summary.
This is scaffolding, not a validated evaluation harness.
"""
from dataclasses import dataclass


@dataclass
class Example:
    description: str      # e.g. "unsigned app 'UpdaterHelper' connecting to 91.203.x.x:4444"
    label: str            # "benign" or "suspicious" -- your own ground truth


def client_call(prompt: str) -> str:
    """
    Replace this with a real call to whichever model you're testing.
    It must return the model's raw text answer for the given prompt.
    """
    raise NotImplementedError("wire this up to your own model client")


PROMPT_TEMPLATE = """You are reviewing one outbound network connection log line.
Classify it as exactly one word: benign or suspicious.

Connection: {description}
Answer:"""


def classify(example: Example) -> str:
    raw = client_call(PROMPT_TEMPLATE.format(description=example.description))
    return raw.strip().lower().split()[0] if raw.strip() else "no_answer"


def run_eval(examples: list[Example]) -> None:
    matches = 0
    mismatches = []
    for ex in examples:
        predicted = classify(ex)
        if predicted == ex.label:
            matches += 1
        else:
            mismatches.append((ex.description, ex.label, predicted))

    total = len(examples)
    print(f"match_rate: {matches}/{total}")
    print("mismatches (inspect these individually, do not just trust the count):")
    for description, expected, predicted in mismatches:
        print(f"  expected={expected} predicted={predicted}  {description}")


if __name__ == "__main__":
    # Replace with your own labelled connection log lines. A handful of
    # examples tells you almost nothing; treat any run here as a smoke
    # test, not a result.
    labelled_examples = [
        Example("Slack.app -> slack.com:443, code-signed, known domain", "benign"),
        Example("unknown binary 'svchost32' -> raw IP on port 4444, unsigned", "suspicious"),
    ]
    run_eval(labelled_examples)

Çözme oranı sayısını okuma

Bir araya getirildiğinde, dört değerlendirmenin tamamındaki model tutarlıdır: Mevcut modeller, kapsamlı, iyi tanımlanmış saldırgan güvenlik görevlerinden oluşan anlamlı bir azınlığı çözmektedir; bu azınlık, görevin zorluğu arttıkça hızla küçülmektedir ve bu, büyük ölçüde modelin ne kadar iskeleye ve kaç kez denendiğine bağlıdır. Dört makalenin hiçbiri, güvenlik operasyonlarını denetimsiz yürütmek için bir modele güvenilmesi gerektiğini savunmuyor ve OpenAI'nin siber güvenlik konusunda o1 Hazırlık derecesi - Düşük - kendi kanıtlarına göre doğru çağrıdır. Gelecekte bir güvenlik değerlendirmesini "geçen" bir modelle ilgili manşetleri okumak için daha yararlı bir alışkanlık, bu dört makalenin kendileri için cevapladığı aynı üç soruyu sormaktır: kaç görev, ne kadar yardımla ve bildirildiği gibi gitmeyen durumlarda ne oldu.

Bir modelin puanlanmış bir bulmaca yerine gerçek uyarılara dokunmasına izin verip vermeyeceğine karar veren bir güvenlik ekibi için bu alışkanlık, manşet numarasından daha önemli. Yüzde 43,9'luk bir alt görev yönlendirmeli puan, lise CTF'lerinde hafifletme sonrası yüzde 8 puanlık bir sıçrama veya bir şirketin kendi Düşük derecelendirmesinin her biri doğrudur ve her biri belirli, dar bir soruyu yanıtlar; hiçbiri aynı modelin bundan altı ay sonra, gazetenin hiç test etmediği altyapıda gerçekten belirsiz bir kayıt satırında nasıl davranacağına dair hiçbir şey söylemiyor. Bu sayıların her birine, genel bir yetenek puanı olarak değil, ölçüldüğü görevin kesin kanıtı olarak bakın; yukarıdaki dört değerlendirme gerçekten faydalıdır. Bunlardan herhangi birini yapay zekanın genel olarak "güvenlik açısından iyi" olup olmadığına dair bir karar olarak ele alırsanız, bu, yazarlarının uyarma zahmetine katlandığı yönde tam olarak yanıltıcı olacaktır.

FireAI ve HisnLabs burada nereye oturuyor

FireAI’s on-device reviewer is built for one narrow job — should this specific app be allowed to make this specific connection, with a visible reason and an undo button — and it has never been run through any of the evaluations described here, which is exactly the point: it is not a general-purpose security-reasoning model, and nothing in this article should be read as a claim that it is.

FireAI, HisnLabs’in kendi ürünüdür: doğrudan Mac’inizde çalışan, yapay zekâ destekli bir güvenlik duvarı. Uygulamalarınızın kurduğu her bağlantıyı sade bir dille gösterir ve Mac’inizden neyin çıkacağına sizin karar vermenizi sağlar — yapay zekâsı yerel olarak çalışır, yani trafiğiniz asla bize ya da başka birine gönderilmez. HisnLabs güvenlik araştırma ekibi bu kararların isabetli kalmasını sağlayan ekiptir: hangi alan adlarının sıradan telemetri, hangilerinin gerçek bir hizmet olduğunu kataloglar, bir bağlantının ardındaki ülkeyi ve ağı izler ve cihaz üzerindeki modeli (Autopilot özelliği) gerçek trafik örüntüleriyle eğitir — üstelik bunların hiçbiri Mac’inizden dışarı çıkmadan.

Arkasındaki teknik kararları okuyabilir ya da FireAI’yi 17 gün boyunca deneyebilirsiniz: HisnLabs’ten FireAI.

Kaynaklar