geliştirici bilgisayarları artık yazılım tedarik zincirinin parçası
arkadaşlar, yazılım tedarik zincirine saldırılar yeni bir boyuta geçmiş durumda. artık sadece koda kötü niyetli şeyler sıkıştırmaya çalışmıyorlar, doğrudan geliştiricilerin erişim bilgilerini çalmaya başlamışlar.
son 48 saat içinde npm, PyPI ve Docker Hub’a üç ayrı kampanya düzenlenmiş. üçünün de ortak hedefi ne biliyor musunuz? geliştirici ortamlarından ve CI/CD pipeline’larından sır çalmak. yani API anahtarları, cloud credential’ları, SSH anahtarları, token’lar falan. klasik “kodu kirletme” yönteminden “anahtarları çal” taktiğine geçmişler.
durum ne kadar ciddi?
spoiler: çok ciddi. artık sadece kod repository’lerinizi korumak yetmiyor, geliştiricilerin bilgisayarlarını da tedarik zincirinin bir parçası olarak görmeniz lazım.
şöyle düşünün: bir saldırgan sizin kodunuza dokunmadan, sadece bir geliştiricinin AWS anahtarlarını çalarak tüm altyapınıza girebilir. ya da GitHub token’ınızı ele geçirip istediği kodu production’a itebilir. kötü değil mi?
saldırı vektörleri
saldırganlar şu yöntemleri kullanıyorlar:
- npm paketlerine gizlenmiş malware: popüler paketlere benzer isimlerle zararlı paketler yayınlıyorlar (typosquatting denen olay)
- PyPI’da trojan’lı kütüphaneler: python geliştiricileri de hedefte
- Docker Hub’da sahte image’lar: container çekiyorsunuz, içinden sır çalan script çıkıyor
- geliştirici ortamlarına sızma: doğrudan iş istasyonlarını hedef alıyorlar
ne çalınıyor?
| Hedef | Risk Seviyesi |
|---|---|
| API anahtarları | 🔴 Kritik |
| Cloud credentials (AWS, Azure, GCP) | 🔴 Kritik |
| SSH private key’leri | 🔴 Kritik |
| GitHub/GitLab token’ları | 🔴 Kritik |
| CI/CD pipeline secret’ları | 🔴 Kritik |
| Database connection string’leri | 🟠 Yüksek |
yapmanız gerekenler
1. geliştirici iş istasyonlarını sertleştirin
# endpoint security çözümü kurun
# EDR (Endpoint Detection and Response) şart artık
# secret scanning araçları kullanın
git-secrets --install
git-secrets --register-aws
# her commit'te secret taraması
pre-commit install
2. secret management düzgün yapın
# HashiCorp Vault gibi araçlar kullanın
# hardcode edilmiş secret'lar yasak
# environment variable'larda bile tutmayın artık
# secret manager'dan runtime'da çekin
# örnek: AWS Secrets Manager kullanımı
aws secretsmanager get-secret-value \
--secret-id prod/db/password \
--query SecretString \
--output text
3. bağımlılıkları sürekli tarıyın
# npm için
npm audit
npm audit fix
# Python için
pip-audit
safety check
# Docker için
docker scan your-image:tag
trivy image your-image:tag
4. least privilege prensibini uygulayın
- geliştiricilere sadece ihtiyaç duydukları erişimi verin
- production credential’larını development ortamında kullanmayın
- token’ları kısa ömürlü yapın, sürekli rotate edin
- MFA her yerde açık olsun
5. CI/CD pipeline’ı güvenceye alın
# GitHub Actions örneği
# secret'ları environment'lara bağlayın
jobs:
deploy:
environment: production
steps:
- uses: actions/checkout@v3
- name: Deploy
env:
API_KEY: ${{ secrets.API_KEY }}
run: |
# secret'ı asla log'lamayın
echo "::add-mask::$API_KEY"
acil kontrol listesi
şunları hemen yapın:
- tüm geliştiricilerin bilgisayarlarında EDR var mı?
- secret scanning araçları kurulu mu?
- hardcode edilmiş credential var mı? (git history’de de bakın)
- bağımlılık taraması düzenli yapılıyor mu?
- token rotation politikanız var mı?
- geliştiriciler production credential’larına erişebiliyor mu? (erişmemeliler)
- CI/CD pipeline’da secret’lar güvenli mi?
- MFA her yerde açık mı?
ek öneriler
edit: bazı arkadaşlar “bizde zaten güvenlik var” diyebilir ama şunu unutmayın: saldırganlar sürekli yeni yöntemler geliştiriyor. bugün güvenli olan yarın olmayabilir.
secret rotation: token’ları ve anahtarları düzenli olarak değiştirin. mesela AWS access key’lerini 90 günde bir rotate edin.
monitoring: geliştirici bilgisayarlarında anormal davranışları izleyin. birisi gece 3’te beklenmedik bir yere SSH yapıyorsa alarm çalmalı.
eğitim: geliştiricilere güvenlik eğitimi verin. phishing’e karşı bilinçlendirin. “sen tıklama şu maile” demek yetmiyor, neden tıklamaması gerektiğini de anlatın.
incident response planı: bir geliştirici bilgisayarı ele geçirilirse ne yapacaksınız? planınız hazır olsun. “o sırada düşünürüz” demeyin, o sırada panik olur hiçbir şey düşünemezsiniz.
sonuç
arkadaşlar, artık sadece kod yazmak yetmiyor. geliştirici ortamlarını da production kadar ciddiye almanız lazım. bir geliştiricinin bilgisayarı ele geçirilirse, tüm altyapınız tehlikede demektir.
dikkat: bu bir “geliştiricilere güvenmeyin” meselesi değil. en dikkatli geliştirici bile sofistike bir saldırıya maruz kalabilir. mesele, savunma katmanlarını çoğaltmak ve saldırganın işini zorlaştırmak.
hadi bakalım, iş başına. önce kendi bilgisayarınızı kontrol edin, sonra ekibinize bakın. secret’ları tarıyın, EDR kurun, monitoring’i düzeltin. sonra “bize bir şey olmaz” demeyin.
kaynaklar
- The Hacker News - Orijinal Haber
- OWASP Secrets Management Cheat Sheet
- CISA - Securing the Software Supply Chain
Bu içerik yapay zeka tarafından oluşturulmuştur.
