orta 60 puan

Model İmzalama ve AIBOM

Klasik SBOM'un AI versiyonu olan AIBOM, Sigstore/Cosign ile model imzalama, in-toto attestation ve SLSA framework'ünün AI tedarik zincirine uyarlaması.

Model İmzalama, AI-BOM ve SLSA Standartları

Geçtiğimiz modüller boyunca yapay zeka tedarik zincirindeki saldırı yüzeylerini (Pickle RCE, Arka Kapılar, Slopsquatting vb.) ve bunların nasıl istismar edildiğini inceledik. Şimdi oyunun savunma tarafına geçiyoruz.

Bu odanın merkezinde, siber güvenlik endüstrisinin son yıllarda olgunlaştırdığı üç büyük yapı taşı yer alıyor:

  • AI-BOM (Yapay Zeka Malzeme Listesi): Projenin tam envanteri.
  • Sigstore / Cosign: Kriptografik imzalama altyapısı.
  • SLSA (Supply-chain Levels for Software Artifacts): Tedarik zinciri olgunluk seviyeleri.

Bu kavramlar, klasik yazılım güvenliğinde kullanılan SBOM, GPG imzalama ve Build Provenance (Derleme Kaynağı) süreçlerinin yapay zekaya özel olarak uyarlanmış versiyonlarıdır.


SBOM'dan AI-BOM'a Geçiş

Klasik yazılım mühendisliğinde SBOM (Software Bill of Materials - Yazılım Malzeme Listesi) kavramı, özellikle SolarWinds ve Log4j krizlerinden sonra endüstride zorunlu hale gelmiştir. SBOM, bir uygulamanın içindeki tüm açık kaynaklı kütüphanelerin, versiyonların, lisansların ve hash değerlerinin çıkarıldığı şeffaf bir reçetedir.

Klasik bir SBOM örneği (CycloneDX formatında):

json
{
  "components": [
    {
      "name": "requests",
      "version": "2.31.0",
      "purl": "pkg:pypi/[email protected]",
      "hashes": [
        {"alg": "SHA-256", "content": "abc..."}
      ],
      "licenses": [{"license": {"id": "Apache-2.0"}}]
    }
  ]
}

Ancak yapay zeka projelerinde bu kadarı yetmez. Çünkü AI dünyasında tedarik zinciri sadece Python paketlerinden ibaret değildir; işin içine milyarlarca parametrelik Modeller, devasa Veri Setleri (Datasetler), Vektör Modelleri (Embeddings) ve eğitim (Training) altyapısı girer.

İşte tam bu noktada AI-BOM (Artificial Intelligence Bill of Materials) devreye girer.


AI-BOM Nedir?

AI-BOM, klasik SBOM formatının yapay zeka projeleri için genişletilmiş ve özelleştirilmiş halidir. Bir AI-BOM belgesinde paketlere ek olarak modele ve veriye dair tüm DNA yer alır:

yaml
ai_components:
  # 1. Asıl Yapay Zeka Modeli
  - type: model
    name: meta-llama/Llama-2-7b-chat-hf
    version: main@abcdef0123  # Hugging Face versiyon (commit) Hash'i
    license: llama2
    source: huggingface.co
    format: safetensors
    sha256: f3a2b1c...
    signature_url: https://huggingface.co/.../signature.sig
    used_for: production_inference
    
  # 2. Modeli Eğiten Veri Seti
  - type: dataset
    name: custom_support_dataset_v3
    version: 2024-04-15
    license: proprietary
    source: internal_s3
    rows: 5234
    poisoning_check: passed (2024-05-01)
    
  # 3. RAG İçin Kullanılan Vektör Modeli
  - type: embedding_model
    name: BAAI/bge-large-en-v1.5
    format: safetensors
    sha256: c8d4e2a...
    
  # 4. Eğitim (Training) Altyapısının Detayları
training_config:
  base_model: meta-llama/Llama-2-7b
  fine_tune_dataset: custom_support_dataset_v3
  hyperparameters:
    learning_rate: 2e-5
    epochs: 3
  output_signature: ed25519:abc...

Klasik SBOM'da bulunmayan, Yapay Zekaya Özgü (AI-Specific) Alanlar:

  • Eğitim Verisinin Kaynağı (Provenance)
  • İnce Ayar (Fine-tune) Mimari Detayları ve Hiperparametreler
  • Embedding (Vektörel Çıkarım) Modeli Detayları
  • Modelin Formatı (.safetensors vb.) ve Kriptografik İmza Referansı

Endüstri Standartları

AI-BOM henüz küresel tek bir standarda oturmamış olsa da, OWASP CycloneDX 1.5+ (ML Extension) versiyonu şu an endüstri standardı olmaya en yakın ve en yaygın kullanılan formattır.


Model İmzalama: Sigstore / Cosign

Siber güvenlikte değişmez kuraldır: İmzalanmamış bir model dosyası, kaynağı belirsiz ve güvenilmez bir dosyadır. İnternetten indirdiğiniz bir Llama modelinin yolda bir Ortadaki Adam (MitM) saldırısıyla veya bir ayna (Mirror) sunucuda değiştirilmediğini (İçine bir Sleeper Agent yerleştirilmediğini) ancak kriptografik imzalarla doğrulayabilirsiniz.

Sigstore, Google, Red Hat ve Chainguard'ın öncülüğünde 2020'de başlatılan açık kaynaklı bir imzalama altyapısıdır. Klasik GPG anahtarlarının yönetim zorluklarını aşmak için tasarlanmıştır.

Cosign, Sigstore ekosisteminin imzalama işini yapan komut satırı (CLI) aracıdır:

bash
# 1. Eğitim bitince modeli imzala
cosign sign-blob --key cosign.key model.safetensors > model.safetensors.sig

# 2. Başka bir sunucuda modeli çalıştırmadan önce doğrula
cosign verify-blob \
  --key cosign.pub \
  --signature model.safetensors.sig \
  model.safetensors

Sigstore'un Güvenlik Avantajları:

  • Anahtarsız (Keyless) Mod: GitHub Actions veya AWS gibi sağlayıcılar üzerinden alınan kısa ömürlü kimliklerle imzalar. "Gizli anahtarım (Private Key) çalındı" derdini bitirir.
  • Şeffaflık Logu (Rekor): Atılan her imza, herkese açık ve silinemez (Append-only) bir kayıt defterine (Rekor) yazılır. Bu sayede saldırganların sahte geçmişli (Backdated) imza atması engellenir.
  • Format Bağımsızlığı: Safetensors, pickle, GGUF veya herhangi bir ağırlık dosyasını doğrudan imzalayabilir.

SLSA: Tedarik Zinciri Olgunluk Seviyeleri

SLSA (Supply-chain Levels for Software Artifacts - "Salsa" diye okunur), Google'ın 2021'de yayımladığı ve bir yazılımın/modelin tedarik zincirinin ne kadar güvenli olduğunu ölçen 4 kademeli bir çerçevedir.

Yapay Zeka projeleri için SLSA seviyelerinin karşılıkları şöyledir:

SLSA SeviyesiYapay Zeka (AI) İçin Güvenlik Anlamı
SLSA 1Modelin nereden geldiği ve içinde ne olduğu belgelenmiştir (AI-BOM mevcuttur).
SLSA 2Modelin ince ayar (Fine-tuning) işlemini kimin, hangi ortamda ve ne zaman yaptığını kanıtlayan dijital sertifika (Attestation) vardır.
SLSA 3Eğitim ortamı dış dünyaya kapalı, izole bir kapsayıcıda (Container) gerçekleşmiştir. Eğitim süreci başka bir bilgisayarda da birebir tekrar edilebilir (Hermetic Build).
SLSA 4En yüksek seviyedir. Modelin yayınlanması için sistemin "İki İnsan Onayı (Two-person review)" istemesi zorunludur. Tüm altyapı manipülasyona kapalıdır (Tamper-proof).
Hedef

Kurumsal yapay zeka projelerinde hedeflenen asgari standart SLSA 2 ile 3 arasıdır. SLSA 4 ise finans, askeriye ve sağlık gibi çok yüksek regülasyonlu sektörler için hedeflenir.


in-toto Attestation (Sertifikasyon Formatı)

SLSA'nın altında yatan kanıt (Sertifika) formatına in-toto denir. Bu format, bir modelin dijital doğum belgesidir.

Örnek bir in-toto Attestation belgesi:

json
{
  "_type": "https://in-toto.io/Statement/v0.1",
  "predicateType": "https://slsa.dev/provenance/v1",
  "subject": [
    {
      "name": "model.safetensors",
      "digest": {"sha256": "f3a2b1c..."}
    }
  ],
  "predicate": {
    "buildType": "github-actions",
    "builder": {"id": "github.com/kurumsal-repo"},
    "invocation": {
      "configSource": {
        "uri": "git+https://github.com/.../train.yml"
      }
    },
    "metadata": {
      "buildStartedOn": "2024-05-01T12:00:00Z"
    }
  }
}

Bu JSON özünde şunu söyler: "Ben yemin ederim ki bu model.safetensors dosyası, şu tarihte, şu GitHub deposunda bulunan train.yml kodu koşturularak üretilmiştir." Tüketen sunucu bu sertifikayı Cosign ile doğruladığında, modelin kaynağına (Provenance) kriptografik olarak güvenmiş olur.


Pratik Kurumsal Uygulama Mimarisi

Olgun ve güvenliğe önem veren bir AI kurumunun Tedarik Zinciri güvenlik akışı tam olarak şöyledir:

Senaryo
01
1. MODELİ İNDİRME AŞAMASI
→ Format güvenli mi? (.safetensors zorunlu mu?)
  → SHA-256 Hash eşleşiyor mu?
  → Güvenlik araçlarıyla (Picklescan/Gitleaks) tarandı mı?
  → İmza (Signature) Cosign ile doğrulandı mı?
  → (Başarılıysa) AI-BOM'a kayıt et.
02
2. VERİ SETİNİ İNDİRME AŞAMASI
→ Lisans uygunluğu ve kaynağı belli mi?
  → Veri Setine Fark (Diff) Taraması yapıldı mı?
  → Zehirlenmeyi tespit etmek için Bal Küpü (Honeypot) örnekler eklendi mi?
  → (Başarılıysa) AI-BOM'a kayıt et.
03
3. EĞİTİM (TRAINING) VE PAKETLEME AŞAMASI
→ SLSA Level 2+ altyapısında izole eğitim yap.
  → Eğitim bittiğinde 'in-toto attestation' (Dijital Doğum Belgesi) üret.
  → Modeli Cosign ile anahtarsız (Keyless) imzala ve Rekor loguna kaydet.
04
4. CANLIYA ALMA (DEPLOYMENT) AŞAMASI
→ Sunucu, modeli yüklemeden önce Cosign Verify çalıştırır.
  → Doğrulama başarısızsa model canlıya ALINMAZ (Reddedilir).
  → Her şey tamamsa, nihai AI-BOM belgesi yayınlanır ve model yayına girer.

Bölüm Özeti

  • AI-BOM, yapay zeka projelerinin tam bir DNA haritasıdır. Modelden veriye, parametrelerden paketlere kadar her şeyin envanterini tutar (CycloneDX formatı popülerdir).
  • Sigstore / Cosign, "Benim indirdiğim model yolda değiştirildi mi?" sorusuna kriptografik bir yanıt veren modern ve pratik imzalama altyapısıdır.
  • SLSA, tedarik zinciri güvenliğinizi 1'den 4'e kadar seviyelendiren ve ölçülebilir hale getiren bir olgunluk çerçevesidir.
  • in-toto Attestation, modelin üretim sürecinin kanıtını tutan kriptografik bir doğum belgesidir.

Sıradaki Oda: Tedarik zinciri güvenliğinde sona yaklaşıyoruz. Son odamızda, saldırganların modelinizi çökertmek yerine onu ve aklını çalmak istediği senaryolara (LLM10 - Model Hırsızlığı / Extraction & Distillation) karşı nasıl savunma yapacağımızı inceleyeceğiz.

Görevler

Görevleri çözmek ve puan kazanmak için giriş yap ya da kayıt ol.
  1. 01
    Klasik yazılımdaki SBOM (Software Bill of Materials)'ın yapay zeka uygulamaları için uyarlanmış, model + dataset + paket envanterini tutan versiyonunun yaygın adı nedir? (tek kelime, kısaltma)
    15 P
  2. 02
    Sigstore / Cosign araçlarının temel görevi nedir?
    15 P
  3. 03
    SLSA (Supply-chain Levels for Software Artifacts) çerçevesi tedarik zinciri güvenliğine ne katar?
    15 P
  4. 04
    AIBOM tipik olarak hangi alanları içerir?
    15 P