İnsan dışı kimlikler—API anahtarları, belirteçler, hizmet hesapları, iş yükü kimlikleri—artık modern bulut ortamlarına girmenin en kolay yollarından biri haline geldi. Bunun nedeni saldırganların birdenbire dahi olmaları değil, kuruluşların giderek artan bir şekilde makineden makineye güvene dayalı olarak çalışması ve bu güvenin genellikle çok geniş kapsamlı, uzun ömürlü ve yetersiz bir şekilde denetlenmesidir.
Haberlerde vurgulanan yeni bir analiz, devasa ölçekte tanıdık bir kalıba işaret ediyor: binlerce konteyner imajı ve depo, üretim sistemlerine sessizce erişim sağlayan gizli bilgileri yanlışlıkla açığa çıkarıyor. Sorun sadece geliştiricilerin bazen hata yapması değil. Sorun, varsayılan araçların ve teşviklerin bunu mümkün kılmasıdır.kolaysırları göndermek vezorYapmadığını kanıtlamak için.
Bu bir "görünmez ihlal" öyküsü. Birçok güvenlik açığı, bir güvenlik açığı veya yüksek sesli bir kötü amaçlı yazılım olayıyla başlamaz. Her şey normal görünene kadar sorunsuz bir şekilde kimlik doğrulaması yapan bir belirteçle başlar; ta ki yanlış bir kişinin onu kullandığını fark edene kadar.
“İnsan dışı kimlikler” (basit bir dille) nedir?
İnsan dışı kimlik (NHI), yazılımın güvenilir bir aktör olarak kimliğini doğrulamasına olanak tanıyan herhangi bir kimlik bilgisidir:
- bulut erişim anahtarları ve oturum belirteçleri
- hizmet hesapları ve iş yükü kimlikleri
- Derleme işlem hatları tarafından kullanılan CI/CD kimlik bilgileri
- SaaS araçları için belirteçler (GitHub, GitLab, Slack, izleme platformları)
- Üçüncü taraf hizmetler için API anahtarları (ödeme sağlayıcıları, e-posta sağlayıcıları, yapay zeka modeli API'leri)
İnsan girişlerinden önemli farkı, NHI'ların tipik olarak şu özelliklere sahip olmasıdır:
- sürekli çalıştır
- kod veya yapılandırma dosyalarına gömülüdürler.
- ve genellikle çok faktörlü kimlik doğrulamayı (MFA) kullanmıyorlar.
Bu da onları çekici kılıyor.
Eğer bir saldırgan çalışan bir token elde ederse, "izinsiz giriş" yapmasına gerek kalmaz. Sadece kimlik doğrulamasını yapar.
Bu durum neden şimdi daha da kötüleşiyor?
Üç eğilim, ulusal sağlık sigortalarını "önemli" riskten "baskın risk" seviyesine doğru itiyor:
1) Yazılım tedarik zincirleri her zamankinden daha büyük.
Modern uygulamalar şunlardan oluşur:
- konteynerler
- açık kaynak bağımlılıkları
- altyapı-kod olarak
- düzinelerce SaaS entegrasyonu
Her entegrasyon, bir başka kimlik bilgisi daha ekler.
2) Otomasyon her yerde
Kuruluşlar şunları istiyor:
- daha hızlı dağıtımlar
- öz hizmet altyapısı
- geçici ortamlar
Otomasyon iyidir, ancak ayrıcalıklara sahip kimlikler tarafından desteklenir.
3) Kimlik belgeleri, onları oluşturan kişilerden daha uzun süre geçerlidir.
İnsanlar rollerini değiştirir ve ayrılırlar.
Ancak bir depoda veya konteynerde bulunan bir belirteç şunları yapabilir:
- aylarca veya yıllarca devam edebilir
- yeni yapılara kopyalanabilir
- ve varlığını kimse hatırlamasa bile uzun süre geçerliliğini korur.
Dolayısıyla saldırı yüzeyi sessizce büyüyor.
Gerçek hayatta sırlar nasıl sızar (her zaman "birisi anahtarı çaldı" şeklinde olmaz)?
Stereotip, bir geliştiricinin şu hatayı yapmasıdır:AWS_SECRET_ACCESS_KEYGitHub'a.
Bu hâlâ oluyor. Ancak sızıntıların çoğu daha az belirgin:
- konteyner katmanlarına yerleştirilmiş belirteçler
- Yapılandırma dosyaları derleme sırasında imajlara kopyalanır.
- gizli bilgiler içeren hata ayıklama günlükleri
- Sohbette paylaşılan ve daha sonra koda yapıştırılan "geçici" anahtarlar
- Yanlış yapılandırılmış işlem hatları tarafından yazdırılan CI değişkenleri
Ve konteyner görüntüleri özellikle tehlikelidir çünkü:
- Aynaya yansıtılırlar.
- Önbelleğe alınıyorlar
- Bunlar takımlar arasında kopyalanır.
Anahtarı depodan silseniz bile, anahtar eski görüntü katmanlarında kalabilir.
Sızdırılan token'lar neden birçok güvenlik açığından daha tehlikelidir?
Saldırılar gürültülüdür. Genellikle uyarıları tetiklerler.
Sızdırılan token'lar sessizdir. Genellikle normal kullanım gibi görünürler:
- başarılı kimlik doğrulama
- doğru API çağrıları
- meşru uç noktalar
Bu durum, savunmacının sorununu değiştiriyor.
“Bir saldırganı” tespit etmek yerine, şunları tespit etmelisiniz:
- beklenmedik birmüdürgeçerli kimlik bilgilerini kullanarak
- alışılmadık yerlerden
- olağanüstü zamanlarda
- alışılmadık eylemler yapmak
Bu nedenle, ulusal sağlık sigortaları birçok kuruluş için bir tespit açığı oluşturmaktadır.
Ayrıcalık sorunu: Token'lar genellikle çok güçlüdür.
Birçok sır, "çalışır hale getirme" kısayolları olarak yaratılır:
- geniş bulut izinleri
- yönetici düzeyinde API erişimi
- uzun ömürlü anahtarlar
Sistem bir kere çalışmaya başlayınca, insanlar ona dokunmak istemiyorlar.
Bu durum tehlikeli bir asimetri yaratır:
- İnsan tarafından kullanılan bir hesapta çok faktörlü kimlik doğrulama ve izleme özellikleri bulunabilir.
- Makine kimliği geniş erişime sahip olabilir ve çok az denetime tabi tutulabilir.
Makinenin kimliği sızdığında, patlama yarıçapı daha büyük olabilir.
İyi bir Ulusal Sağlık Sigortası stratejisi nasıl olmalıdır (somut uygulamalar)?
Bu sorun çözülebilir, ancak yalnızca ulusal sağlık sigortalarını birinci sınıf güvenlik varlıkları olarak ele alırsanız.
1) Kısa süreli sertifikaları tercih edin
Mümkün olan yerlerde:
- geçici oturum kimlik bilgilerini kullanın
- jetonları sık sık döndürün
- "Süresi asla dolmayan" anahtarlardan kaçının.
Kısa ömürlü tokenlar, sızıntıların getirisini azaltır.
2) Mümkün olan yerlerde statik anahtarları iş yükü kimliğiyle değiştirin.
Modern bulut ortamlarında, iş yüklerinin kimlik doğrulaması genellikle şu yollarla yapılabilir:
- örnek kimliği
- OIDC federasyonu
- yönetilen kimlik
Bu, statik anahtarların saklanması ihtiyacını azaltır.
3) Ortamları kesinlikle birbirinden ayırın.
Sık yapılan bir hata, aynı belirtecin (token) farklı yerlerde kullanılmasıdır:
- dev
- sahneleme
- üretme
Token'lar ortam kapsamına dahil edilmelidir.
Geliştirme ortamında kullanılan bir imaj sızarsa, üretim ortamının kilidini açmamalıdır.
4) Stok ve mülkiyet
Her anlamlı belirteç şu özelliklere sahip olmalıdır:
- bir sahibi
- bir amaç
- beklenen bir kullanım modeli
Bir token'ın sahibi yoksa, bir olaya dönüşmeyi bekleyen teknik bir borçtur.
5) NHI davranışlarını tıpkı insan davranışlarını izlediğiniz gibi izleyin.
İyi sinyaller şunlardır:
- imkansız seyahat / sıra dışı coğrafyalar
- alışılmadık API çağrı dizileri
- veri erişiminde ani artışlar
- yeni izinler verildi
- yeni tokenlar oluşturuldu
Amaç kusursuz tespit değil, erken tespittir.
6) CI/CD'yi yüksek riskli bir kimlik fabrikası olarak ele alın.
CI sistemleri sıklıkla şunları içerir:
- dağıtım anahtarları
- imzalama anahtarları
- bulut kimlik bilgileri
Onları kilit altına alın:
- en az ayrıcalıklı
- ayrı koşucular
- gizli maskeleme ve kayıt sızıntılarının önlenmesi
- Üretim ortamına dağıtım adımları için sıkı onaylar
Takımların genellikle başarısız olduğu noktalar (ve bundan nasıl kaçınılır)
“Bazen anahtarları değiştiririz” bir plan değildir.
Dönme hareketi manuel ve acı vericiyse, baskı altında gerçekleşmeyecektir.
Rotaj işlemlerini rutin ve otomatik hale getirin.
Güvenlik araçları, yaptırım uygulanmadığı takdirde "gözetim tiyatrosuna" dönüşür.
Veri depolarını gizli bilgiler açısından taramak faydalıdır, ancak yeterli değildir.
Ayrıca şunlara da ihtiyacınız var:
- hızlı iptal
- kullanımla ilgili uyarılar
- ve geliştirme süreçlerinde önleme
Konteyner katmanı tuzağı
Eğer gizli bilgiler bir konteyner oluşturma bağlamına girerse, bunların şu yerlerde bulunabileceğini varsayın:
- eski görüntüler
- önbelleğe alınmış katmanlar
- CI yapıtları
Çözüm sadece "depo anahtarını silmek" değil. Çözüm şu:
- sırrı döndürün
- görüntüleri yeniden oluştur ve yeniden yayınla
- Mümkün olan yerlerde önbellekleri geçersiz kılın.
Sırada ne izlenecek?
Kuruluşların Ulusal Sağlık Sigortaları (NHI) konusunda iyileşme gösterip göstermediğini takip etmek istiyorsanız şunlara bakın:
- Kısa ömürlü kimliklerin (OIDC/iş yükü kimliği) benimsenmesi
- yaygın token rotasyon programları
- daha güçlü CI/CD sınır kontrolleri
- Olay raporlarında birincil neden olarak "geçerli kimlik bilgilerinin kullanılması" belirtilmektedir.
Araçlar tarafına da dikkat edin: En iyi araçlar "açığa çıkmış dizeleri tespit etme" işlevinden "mevcut statik gizli bilgilerin sayısını azaltma" işlevine doğru kayacaktır.
Ekonomi: Saldırganlar neden token avlamayı seviyor?
Jeton avcılığı ölçekleri.
Geçerli bir kimlik bilgisini çalan bir saldırgan genellikle şunları yapabilir:
- Birden fazla sisteme erişim (bulut + kaynak kontrolü + sürekli entegrasyon)
- aynı tekniği birçok kuruluşta yeniden kullanın
- ve eğer kendileri işletmek istemiyorlarsa, erişimi pazar yerlerinde satabilirler.
Savunmacılar için bu, tehdidin sadece "bizi hedef alan bir bilgisayar korsanı" olmadığı anlamına geliyor. Tehdit, "yeniden kullanılabilir kimlik bilgilerinden kar elde eden bir makine ekonomisi" anlamına geliyor.
Bu nedenle burada önlem almak, müdahale etmekten daha değerlidir. Anahtar statik biçimde hiç var olmadıysa, daha sonra elde edilemez.
Somut tespit fikirleri (hangi durumlarda uyarı verilmeli)
Ulusal Sağlık Enstitüleri (NHI) için tespit mekanizmaları geliştiriyorsanız, sihirli anahtar kelimeler yerine davranış değişikliklerine odaklanın.
Yüksek sinyalli örnekler:
- Bir hizmet hesabı, bir kaynaktan kullanılıyor.yeni ülke/ASNDaha önce hiç kullanılmamıştı.
- Normalde yalnızca tek bir API'yi çağıran bir token, aniden kaynakları listeliyor veya büyük miktarda veri indiriyor.
- Normal yayın penceresinin dışında işlem gerçekleştiren bir CI kimliği.
- Yalnızca sunucu iş yükleri için tasarlanmış olan etkileşimli kullanıcı uç noktalarından kullanılan gizli bilgiler.
En basit anormallik uyarıları bile "sessiz kimlik bilgisi hırsızlığı" modelini erken aşamada tespit edebilir.
Beton sertleştirme fikirleri (düşük çaba, yüksek etki)
Bunlar, çoğu ekibin büyük bir yeniden tasarım yapmadan uygulayabileceği pratik değişikliklerdir:
- Token kapsamını azaltın: Geniş kapsamlı bir belirteci, daha dar kapsamlı birkaç belirtece bölmek.
- Planlı bir şekilde dönüşümlü olarak çalışın.Hiçbir şey "yanlış" olmasa bile dönme hareketi gerçekleşir, böylece dönme hareketi kas hafızası haline gelir.
- Kapı üretimiÜretim ortamına dağıtım kimlikleri için açık onay gereklidir.
- Derlemelerde düz metin halindeki gizli bilgileri engelleyinCI, bariz gizli kalıplar ortaya çıktığında derlemeleri başarısız kılmalıdır.
Her hareket, sızıntı devam etse bile patlama yarıçapını küçültür.
Birçok sıkıntıyı önleyen basit bir iç politika.
Daha iyi davranışları zorunlu kılan tek bir politika istiyorsanız, o da budur:
- Geliştirici dizüstü bilgisayarlarında veya konteyner derleme ortamlarında üretimde kullanılabilecek gizli bilgiler bulunmaz.
Bu kural şu gibi değişikliklere yol açar:
- hizmetler için iş yükü kimliği
- geliştirme için hazırlık kimlik bilgileri
- ve üretim aşamasına geçiş adımları için açık onaylar
İlk başta can sıkıcı olsa da, en kolay sızıntı yollarını ortadan kaldırıyor.
Özetle
İnsan dışı kimlikler, modern otomasyonun omurgasını oluşturuyor ve aynı zamanda, insanlar için oluşturduğumuz korumaları sıklıkla atlattıkları için, güvenlik ihlallerinin de önemli bir nedenidir.
Pratik bir eşik istiyorsanız: "Uzun ömürlü tokenlarımız nerede bulunuyor, kime ait ve ne kadar hızlı bir şekilde iptal edip/döndürebiliriz?" sorularına cevap verebildiğinizde, hayal kurmaktan gerçek bir savunma programına geçmiş olursunuz.
Pratik çözüm tek bir sihirli tarayıcı değil. Bir program gerekiyor: statik gizli bilgileri en aza indirin, ayrıcalıkları azaltın, rotasyonu rutin hale getirin ve makine kimliklerini tıpkı kullanıcı hesaplarını izlediğiniz gibi izleyin.