14.5 · Seviye 2 · Güvenlik Düşüncesi
Saldırı yüzeyini küçültmek
kullanılmayan servis, hesap ve yazılımı kaldırmak
Siber Güvenlik Akademisi — M14, Güvenlik Mimarisi İlkeleri · 1.834 kelime · 3 saha durumu · ≈ 8 dk okuma · 12 dk dinleme
Saha durumlarındaki kişiler ve kurumlar kurgusaldır; kaynaklar gerçektir. Bu akademi savunma odaklıdır: saldırılar mekanizma düzeyinde anlatılır, adım adım saldırı tarifi verilmez. Uygulamalar yalnız kendi cihazında, kendi hesabında ya da yalıtılmış bir laboratuvarda yapılır; başkasının sistemine izinsiz erişim suçtur. Dersler hukuki danışmanlığın yerini tutmaz.
Açılış
Yeni denetçinin bulduğu kural, Kaan'ı rahatsız etmişti. Güncelleme sunucusuna açılan izin, tek bir adres yerine koca bir adres aralığına verilmişti. Kaan üç hafta önce, depo şefi telefonda beklerken, hızlı olsun diye öyle yazmıştı. Şimdi o aralıkta neler olduğunu kimse bilmiyordu.
Gülay Hanım kuralı daraltmasını istedi, sonra bir şey daha ekledi: "Madem başladın, sayım sunucusunun kendisine de bak. Üzerinde ne çalışıyor?"
Kaan sunucunun dinleyen servislerini listeledi. Sayım uygulaması oradaydı, beklendiği gibi. Ama başka şeyler de vardı: kurulumla birlikte gelmiş bir dosya aktarım servisi, kimsenin kullanmadığı eski bir web yönetim paneli, bir de iki yıl önce bir deneme için kurulmuş ve sonra unutulmuş bir raporlama aracı. Sunucuda ayrıca beş kullanıcı hesabı vardı; ikisinin sahibi şirketten çoktan ayrılmıştı.
Hiçbiri saldırıya uğramamıştı. Ama her biri, sunucuya dışarıdan dokunulabilecek ayrı bir kapıydı. Ve sayım uygulamasının çalışması için hiçbirine ihtiyaç yoktu.
"Bunları kim kullanıyor?" diye sordu Kaan.
"Kimse," dedi Gülay Hanım. "O yüzden sorun."
Tek fikir
Saldırı yüzeyi, bir sistemin dışarıdan dokunulabilen bütün noktalarının toplamıdır: servisler, açık portlar, hesaplar, yazılımlar, arayüzler. Kullanılmayan her nokta hiçbir işe yaramadan risk taşır; bu yüzden en ucuz ve en kalıcı önlemlerden biri, gerekmeyen şeyi kapatmak ya da kaldırmaktır.
Nasıl çalışır
Modül 3'te portları ve dinleyen servisleri gördük. Bu ders onlara bir mimari ilke olarak bakıyor: bir sistemde neyin açık olması gerektiğine ve geri kalanının neden kapanması gerektiğine.
Bu tanım ve onu küçültmenin kurumsal karşılığı, bu modülde birkaç kez başvurduğumuz NIST kataloğunda yer alır.
Saldırı yüzeyinin bir parçası teknik değil, insanidir: hesaplar. Kullanılmayan bir hesap, kimsenin gözünün olmadığı bir kapıdır.
NIST'in hesap yönetimi önlemi AC-2'nin üçüncü geliştirmesi, süresi dolmuş, artık bir kişiyle ilişkili olmayan ya da belirli bir süre kullanılmamış hesapların devre dışı bırakılmasını ister ve bunun en az ayrıcalık ile en az işlevsellik kavramlarını destekleyerek saldırı yüzeyini küçülttüğünü yazar.
Saldırı yüzeyini küçültmenin neden bu kadar etkili olduğunu, bu modülün kurucu metni bir başka ilkeyle açıklar.
Saltzer ve Schroeder'in gözlemi, kullanılmayan servislerin neden tehlikeli olduğunu açıklar: kullanılmadıkları için, içlerindeki bir hata ya da zayıf bir ayar hiçbir günlük işte ortaya çıkmaz. Kaan'ın eski web paneli iki yıl boyunca kimseye sorun çıkarmamıştı, çünkü kimse ona bakmamıştı. Ama dışarıdan biri ona bakabilirdi.
Sahada
Savunma
Saldırı yüzeyini küçültmek, en kalıcı önlemlerden biridir: kapatılmış bir servis yamalanmayı beklemez, devre dışı bırakılmış bir hesapla oturum açılamaz, kaldırılmış bir yazılımın açığı yoktur.
Önce envanter çıkar. Bir sistemde neyin çalıştığını bilmeden neyin gereksiz olduğuna karar verilemez. Dinleyen servisler, yüklü yazılımlar, kullanıcı hesapları, açık portlar ve dışarıya açık arayüzler listelenir. Modül 12'deki varlık envanteri, saldırı yüzeyi envanterinin kurum düzeyindeki karşılığıdır.
Sonra her satır için tek bir soruyu sor: bu sistemin görevi için bu gerekli mi? Cevabı "evet" olmayan her şey adaydır. Kaan'ın sunucusunda dört servisin üçü bu sorudan geçemedi; geçen tek servis, sunucunun var olma nedeniydi.
Sonra kapatmak ile kaldırmak arasında seç. Kaldırmak daha güçlüdür; kapalı bir servis bir gün biri tarafından yeniden açılabilir. Ama kaldırmanın bir bedeli olabilir; emin olmadığın yerlerde önce kapat, bir süre izle, kimse eksikliğini hissetmezse kaldır. Selin'in ekibi eski arayüzü kapatmadan önce kayıtlara baktı ve kullanıcılara duyurdu.
Hesapları da yüzeyin parçası say. İşten ayrılma, görev değişikliği ve uzun süreli kullanılmama, bir hesabı devre dışı bırakmanın tetikleyicileridir. Defne Hanım'ın bürosunda teknisyenin hesabı, ayrılmasından aylar sonra hâlâ açıktı.
Son olarak düzenli tekrar et. Saldırı yüzeyi zamanla büyür: denemeler için kurulan araçlar, geçici açılan portlar, eklenen özellikler. NIST'in istediği dönemsel gözden geçirme, büyümeyi yakalamanın yoludur.
Tespit tarafında küçük bir yüzey, izlemeyi de kolaylaştırır: iki servisi olan bir sunucuda beklenmedik bir üçüncü servis hemen göze çarpar. Kaan'ın sunucusunda artık tek bir servis vardı; listede ikinci bir satır belirdiği gün, birinin bir şey kurduğu ya da bir şeyin ters gittiği hemen anlaşılacaktı. Kalabalık bir listede aynı satır, öteki gürültünün arasında kaybolurdu.
Uygulama
Kendi cihazlarının ve hesaplarının saldırı yüzeyini çıkaracak ve gereksiz olanları kapatacaksın.
Bitirdiğinde, kaldırdığın her şeyin sayısını yaz: program, eklenti, uygulama, hesap, açık özellik. Bu sayı, bir hafta öncesine göre ne kadar küçük bir yüzeyle yaşadığını gösterir.
Defter: Saldırı yüzeyi envanteri (programlar, eklentiler, paylaşım ayarları, telefon uygulamaları, çevrimiçi hesaplar, modem özellikleri), kaldırılan ya da kapatılan her şey, silinemeyen hesaplar için alınan önlem, üç ay sonrası için takvime yazılan yeni tarama günü.
Hata köşesi
Yaygın yanlış"Kullanmıyoruz ama açık dursun, zararı yok."
Saltzer ve Schroeder, istenmeyen erişim yollarına yol açan hataların normal kullanımda fark edilmediğini yazar; kullanılmayan bir servis, tam da bu yüzden en az bakılan ve en geç fark edilen kapıdır. Kaan'ın eski web paneli iki yıl boyunca kimsenin gözüne çarpmamıştı. Zarar vermemesi, zarar veremeyeceği anlamına gelmez.
Yaygın yanlış"Bir kez temizledik, artık yüzey küçük."
Saldırı yüzeyi zamanla büyür: denemeler, geçici açıklıklar, yeni özellikler. NIST'in en az işlevsellik önlemi dönemsel gözden geçirmeyi ayrı bir geliştirme olarak ister. Kaan'ın sunucusundaki raporlama aracı, iki yıl önceki temiz bir sunucuya bir deneme için eklenmişti.
Yaygın yanlış"Saldırı yüzeyi yalnız servislerden ve portlardan oluşur."
Hesaplar da yüzeyin parçasıdır. NIST, kullanılmayan ve sahibi ayrılmış hesapları devre dışı bırakmanın saldırı yüzeyini küçülttüğünü açıkça yazar. Defne Hanım'ın bürosunda en riskli açıklık bir servis değil, ayrılan teknisyenin hâlâ açık olan yönetici hesabıydı.
Etik ve sınırlar
Saldırı yüzeyini çıkarmak, bir sistemin dışarıya açık noktalarını listelemektir; bunu yalnız kendi cihazlarında ya da yönetmekle görevli olduğun sistemlerde, yetki kapsamında yaparsın. Başkasının ağında hangi servislerin açık olduğunu görmek için dışarıdan tarama yapmak, sahibinin açık izni olmadan çoğu durumda yetkisiz bir keşiftir ve yasal sorumluluk doğurabilir. Bir şeyi kapatmadan ya da silmeden önce, onu kullanan biri olup olmadığını sormak da bir yükümlülüktür: Kaan raporlama aracını sahibi olan ekiple konuşmadan silmedi, Selin'in ekibi eski arayüzü kapatmadan önce müşterilere duyurdu. Hesapları kapatırken de kişisel verilere dikkat edilir: ayrılan bir çalışanın hesabındaki iş belgeleri devredilir, kişisel olanlar ise saklama kurallarına göre ele alınır.
Kapanış
- Saldırı yüzeyi, bir sistemin dışarıdan dokunulabilen bütün noktalarıdır: servisler, portlar, hesaplar, yazılımlar, arayüzler; kullanılmayan her nokta hiçbir işe yaramadan risk taşır.
- En az işlevsellik, sistemin yalnız görevi için gerekeni çalıştırmasıdır; gereksiz olan kapatılır ya da kaldırılır, atıl hesaplar devre dışı bırakılır.
- Kullanılmayan şeyin hatası normal kullanımda görünmez; bu yüzden envanter çıkarılır, her satıra "gerekli mi" diye sorulur ve yüzey düzenli aralıklarla yeniden ölçülür.
Üç soru
- Kaan'ın sayım sunucusunda bulduğu servisler neden risk taşıyordu, hiçbiri saldırıya uğramamış olsa bile?
- Defne Hanım'ın bürosundaki en riskli açıklık neydi ve neden gözden kaçmıştı?
- Selin'in ekibi eski arayüzü kapatmadan önce neden kayıtlara baktı ve müşterilere duyurdu?
Yanıtlar
- Her biri sunucuya dışarıdan dokunulabilecek ayrı bir kapıydı ve sayım uygulamasının hiçbirine ihtiyacı yoktu. Kullanılmadıkları için içlerindeki bir hata ya da zayıf ayar hiçbir günlük işte ortaya çıkmıyordu; Saltzer ve Schroeder'in mekanizma ekonomisi ilkesinin uyardığı gibi, normal kullanım uygunsuz erişim yollarını göstermez.
- Ayrılan teknisyenin ağ depolama cihazı üzerindeki yönetici hesabı hâlâ etkindi. Hesap kimsenin günlük işinde görünmediği için kimse ona bakmamıştı; bu, sahibi ayrılmış atıl bir hesaptı. NIST bu tür hesapların devre dışı bırakılmasını saldırı yüzeyini küçültmenin bir yolu olarak sayar.
- Kapatma kararı, o arayüzü hâlâ kullanan biri varsa ona zarar verebilirdi. Kayıtlar eski sürüme gelen isteklerin neredeyse sıfırlandığını gösterdi ve duyuru, kalan kullanıcılara hazırlanma zamanı verdi. Böylece yüzey küçülürken kimsenin işi habersizce bozulmadı.
Sonraki derse köprü
Yüzeyi küçülttük; ama kalan servislerden biri bir gün bozulduğunda ne olacak? Güvenli başarısızlık dersi bu soruya bakıyor: bir bileşen bozulduğunda kapının açık değil, kapalı kalmasını sağlamak.
Anlamadığın bir yer mi var?
Mentor yalnız bu dersin metnine dayanarak cevap verir. Metinde geçmeyen bir şey sorarsan uydurmaz, geçmediğini söyler.