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):
{
"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:
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:
# 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 Seviyesi | Yapay Zeka (AI) İçin Güvenlik Anlamı |
|---|---|
| SLSA 1 | Modelin nereden geldiği ve içinde ne olduğu belgelenmiştir (AI-BOM mevcuttur). |
| SLSA 2 | Modelin ince ayar (Fine-tuning) işlemini kimin, hangi ortamda ve ne zaman yaptığını kanıtlayan dijital sertifika (Attestation) vardır. |
| SLSA 3 | Eğ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 4 | En 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). |
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:
{
"_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:
→ 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.
→ 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.
→ 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.
→ 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
-
01Klasik 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
-
02Sigstore / Cosign araçlarının temel görevi nedir?15 P
-
03SLSA (Supply-chain Levels for Software Artifacts) çerçevesi tedarik zinciri güvenliğine ne katar?15 P
-
04AIBOM tipik olarak hangi alanları içerir?15 P