“Sürüye kurtlar saldırdı!” diye bağırarak çıkagelmiş çoban
bir gün köye. Koyunları için endişelenen köylüler toplanıp sürünün olduğu yere
doğru koşmuşlar ve vardıklarında sürünün yerinde durduğunu ve ortada kurt falan
olmadığını görmüşler. Çobana kızıp köye geri dönmüşler. Aradan birkaç hafta
geçmiş çoban yine köyün girişinde belirmiş: “sürüye kurtlar saldırdı!”.
Köylüler yine can havliyle koşmuşlar sürünün olduğu yere, sürü yine yerinde
duruyormuş. Çobanın canı sıkılmış yine. Haftalar sonra, sürüye kurtlar
gerçekten saldırdığında çoban bu sefer köylüleri bir türlü ikna edememiş
kurtların sürüye gerçekten saldırdığına.
Bu hikâyeyi hepimiz biliriz, son günlerde ortaya çıkan “Sudo
zafiyeti” çığırtkanları bana nedense bunu hatırlattı. Her gün yeni bir güvenlik
zafiyeti çıkıyor, bunların bir kısmı oldukça önemliyken bir bölümü göründüğü
kadar tehlikeli olmayabiliyor. Çıkan zafiyetlerin ve siber saldırıların satış
argümanı olarak kullanılması yalancı çoban hikayesinde olduğu gibi gerçekten
önemli bir gelişme olduğunda bunun gözden kaçırılmasına neden olabilir.
2 gündür “haber” ve “siber güvenlik uzmanları” tarafından dillendirilen
SUDO zafiyeti konusunda ne sibersavascephesi.com’da bir yazı ne de gerçekten kritik
zafiyetlerde yaptığımız gibi bir acil duyuru yayımladık. Yoksa yavaşladık mı? Veya sizin güvenliğinizi
eskisi kadar dert etmiyor muyuz? Kesinlikle hayır, sadece paniklemeye gerek
olmadığına karar verip durduk yere ajitasyon yapıp sizi meşgul etmek istemedik.
Nedenini anlamak için gelin zafiyeti birlikte inceleyelim ve
herhangi bir zafiyet duyurusuyla karşılaştığımızda nelere bakmamız gerektiğini
ortaya koyalım.
CVE-2019-14287 numarası verilen zafiyet “Root dışında
herhangi bir kullanıcı olarak komut çalıştırmasına izin verilen bir
kullanıcının Root kullanıcısı olarak komut çalıştırmasına imkân vermektedir” olarak
özetlenebilir.
Böyle bakınca zafiyet ürkütücü gelebilir ama gelin
ayrıntılarına bakalım.
Öncelikle bunun standart kurulumları etkilemediğini bilmek
gerekiyor. Kısaca bir Linux işletim sistemini “next, next, finish” şeklinde
kurduğunuzda bu açıktan etkilenmiyor. Bunu bir kenara bırakalım ve zafiyetin
ortaya çıkıp istismar edilebilmesi için yapılması gerekenlere bakalım.
Öncelikle kullanıcıya sudo komutu kullanma yetkisi verilmesi
lazım. Bunun yanında kullanıcıya başka herhangi bir kullanıcı olarak komut
çalıştırma yetkisi verilmesi lazım. Son olarak da bu ayar yapılırken “root” kullanıcısı
hariç herhangi bir kullanıcı olarak belirtilmiş olması lazım. Evet, bu 3 ayar
yapıldıysa bu kullanıcı root kullanıcısı olarak komut çalıştırabilir.
Herhangi bir zafiyet gördüğümde kendi kendime sorduğum birkaç
soru oluyor, bunlar;
- Bu zafiyetin etkilediği sistemler ne kadar yaygın?
- Bu zafiyetin istismar edilmesi için gerekli olan özel şartlar var mı?
- Zafiyeti istismar edecek saldırganın teknik becerisi hangi düzeyde olmalı?
- Zafiyet gizlilik, bütünlük ve erişilebilirlik ilkelerinden hangilerini ne derece etkiliyor?
Bu örneği ele alarak soruları yanıtlayalım.
- Bu zafiyetin etkilediği sistemler ne kadar yaygın? Açıkçası pek değil. Standart Linux kurulumlarını etkilemiyor. Onun dışında bir kullanıcıya root dışında herhangi bir kullanıcı olarak komut çalıştırması için izin vermeyi gerektirecek bir durum düşünemedim, sizin bildiğiniz bir senaryo varsa paylaşmanızı rica ediyorum. Bu nedenle zafiyeti “nadir görülüyor” olarak değerlendirdim.
- Bu zafiyetin istismar edilmesi için gerekli olan özel şartlar var mı? Evet, ciddi ama çok ciddi konfigürasyon hataları yapılarak sistemin kullanıcı güvenliğinden tamamen mahrum biçimde kurulmuş olması gerekir.
- Zafiyeti istismar edecek saldırganın teknik becerisi hangi düzeyde olmalı? Gerekmiyor. Herhangi bir kullanıcı olarak komut çalıştırma yetkisine sahip kullanıcısının istediği kullanıcı adını “-1” olarak belirtmesi yetiyor.
- Zafiyet gizlilik, bütünlük ve erişilebilirlik ilkelerinden hangilerini ne derece etkiliyor? Bu durumda evet, zafiyet sistemin tamamen ele geçirilmesine neden olabilir. Ama unutmayın, zaten sistem üzerinde ciddi seviyede erişimi ve yetkisi olan bir kullanıcının sistemi ele geçirmesi mümkün.
Bunları düşününce bu zafiyetin önümüzdeki dönemde CTF
yarışmalarında sıkça karşımıza çıkabileceğini düşünüyorum ama gerçek hayatta
pek kullanılabilir görünmüyor. Yine de içinizin rahat etmesi için Linux’ta
aşağıdaki komut ile sisteminizin bu açıktan etkilenip etkilenmediğini kontrol
edebilirsiniz;
grep -r 'root'
/etc/sudoers /etc/sudoers.d/
Muhtemelen sonuç aşağıdakine benzer bir tabloya benzeyecek:
Sonuçlar arasında “ALL, !root” ibaresini görmüyorsanız herhangi
bir sorun yaşamazsınız. Normal güncelleme ve zafiyet yönetimi döngünüzün
periyodunda SUDO yazılımını güncelleyebilirsiniz. Sonuçlarda bu çıktıyı
görüyorsanız ve herhangi bir nedenle bu ayarı kullanmanız gerekiyorsa acilen
güncellemeniz gerekiyor.
İşte bu nedenle “SUDO’da Kritik Zafiyet!” ve türevi ajitasyon
yapanların kervanına katılmadım. Haftalık bültenimin 10.000’den fazla üyesi ve
aylık ortalama 50.000 civarında blog okuyucum nazarındaki kredimi daha önemli
zafiyetlere saklamayı tercih ettim.
No comments:
Post a Comment