Günümüzde birçok kullanıcı, Linux tabanlı işletim sistemlerinin güvenliğini GRUB önyükleyiciye parola koyarak sağladığını düşünmektedir. Ancak sistem fiziksel olarak erişilebilecek bir ortamda bulunuyorsa, bu koruma çoğu zaman yetersiz kalmaktadır.
Bu yazımda, GRUB önyükleyici şifresi kullanılsa bile sistemin nasıl kolayca ele geçirilebileceğini adım adım anlatıyor ve bu zafiyetin nasıl önlenebileceği üzerine önerilerde bulunuyorum.
Birçok Linux dağıtımında (Ubuntu, Debian, Pardus, Arch, vs.) GRUB yapılandırma dosyasına (grub.cfg) fiziksel erişim sağlandığında, GRUB parolası etkisiz hale getirilebiliyor. Bu sayede kötü niyetli bir kişi, root shell (komut satırı) ile sisteme tam yetkili olarak erişebiliyor.
Sistem, GRUB önyükleyiciye parola atanarak kurulmuş Linux tabanlı bir işletim sistemi içeriyor.
Saldırgan, bir USB bellek ile Live Linux (örneğin Pardus, Ubuntu) ortamı başlatıyor.
Aşağıdaki komutlarla sistemin diski bağlanıyor:
Yapılandırma dosyasındaki şu satırlar siliniyor:
USB çıkarılıyor ve sistem yeniden başlatılıyor. Artık GRUB şifresi etkisiz.
GRUB menüsünde e
tuşuna basılarak şu satır ekleniyor:
Sistem, komut satırı (shell) ile açılıyor. Aşağıdaki komutlarla root parolası sıfırlanıyor:
Ve artık sistem tamamen saldırganın kontrolünde!
Bu yöntem sayesinde saldırgan:
GRUB şifresini kaldırabilir
Root shell ile tam yetkili olarak sisteme giriş yapabilir
Root şifresini değiştirebilir
Sistemi kalıcı şekilde ele geçirebilir
Özellikle kamuya açık, laboratuvar ortamında veya kurumsal bilgisayarlarda bu açık yüksek öneme sahip bir güvenlik zafiyetidir.
Sadece GRUB şifresi koymak yetmez! Şu önlemleri almanız gerekir:
Tam Disk Şifreleme (LUKS) kullanın
/boot/grub/grub.cfg
dosyasına sadece root erişimi verin (chmod 400
)
Secure Boot özelliğini etkinleştirin
BIOS/UEFI ayarlarına parola koyun ve USB boot'u devre dışı bırakın
Live ortamdan diske erişimi engelleyin
Linux sistemlerinizde GRUB şifresi koymak tek başına yeterli bir güvenlik önlemi değildir. Özellikle fiziksel erişimin mümkün olduğu durumlarda çok katmanlı koruma uygulanmalıdır.
Bu zafiyet birçok dağıtımı ilgilendirmektedir. Geliştiriciler ve sistem yöneticileri, sistemlerini kurarken bu tür zafiyetleri göz önünde bulundurmalı ve kullanıcılara güvenlik farkındalığı kazandırmalıdır.
Yorumlar