On Yıllık Unix/Linux/BSD Root Privilege-Escalation Hatası Bulundu

Güvenlik araştırmacıları, saldırganlara root yetki ayrıcalıkları tanımlayacak, dolayısıyla tam bir sistem devrini sağlayacak, Linux, OpenBSD, NetBSD, FreeBSD ve Solaris de dahil olmak üzere birçok Unix tabanlı işletim sisteminde on yıldan fazla süredir var olan bir güvenlik açığını keşfettiler. Stack Clash olarak adlandırılan bu güvenlik açığı (CVE-2017-1000364), belleklerin kullanıcı alanında ikili dosyaları için yığın (stack) üzerinde tahsis edilmesi yolunda keşfedildi.

Root Erişimi Kazanmak için Yığın Çakışması Hata Kullanma

Açıklamalar çok basit: Her program, yığın (stack) adı verilen ve kısa süreli verileri depolamak için kullanılan özel bir bellek bölgesi kullanıyor. Bu programın ihtiyaçlarına bağlı olarak, herhangi bir programın yürütülmesi sırasında otomatik olarak genişliyor ve uzuyor.

Bu hatayı keşfedip bildiren Qualys araştırmacılarına göre, kötü niyetli bir program, bellekte taşan veya yakındaki bellek bölgeleriyle çakışmaya neden olan ve içeriğinin üzerine yazılmasına neden olabilecek yığın üzerinde bulunandan daha fazla bellek alanı kullanmaya çalışabilir.

Ayrıca, Stack Clash saldırısı, 2005 ve 2010 yıllarında bu sorunun kötüye kullanılması sonrasında, 2010’da tanıtılan bir bellek yönetimi koruması olan yığın bekletme sayfasını atlayabilir.

Stack Clash zayıflığı savunmasız sistemi sömürmek için yerel erişim gerektiriyor ancak araştırmacılar, uygulamalara bağlı olarak uzaktan da sömürülebileceğini belirtiyorlar.

Örneğin, savunmasız bir sistemi çalıştıran bir web barındırma şirketiyle düşük ayrıcalıklı hesap sahibi olan kötü niyetli bir müşteri, bu güvenlik açığından yararlanarak aynı sunucudaki diğer web sitelerini kontrol altına alabilir, root erişimini uzaktan kazanabilir ve kötü amaçlı kodları doğrudan çalıştırabilir.

Daha dün, haber siteleri bir web barındırma şirketinin Linux sunucularının bir fidye malware ile bulaştırmak için kullanılan benzer bir saldırıya kurban geldiklerini ve şirketin dosyalarını geri almak için fidye olarak 1 Milyon dolardan fazla ödemesine sebep olduğu bildirildi.

Qualys araştırmacıları, saldırganlar Stack Clash hatasını son zamanlarda düzeltilen Sudo güvenlik açığı gibi diğer kritik güvenlik açıklarıyla birleştirebilir ve daha sonra en üst ayrıcalıklarla rasgele kod çalıştırabilirler dedi.

7 Kanıt Belgeli İstismar

Araştırmacılar, Linux, OpenBSD, NetBSD, FreeBSD ve Solaris’te 32-bit ve 64-bit x86 işlemcilerde çalışan Stack Clash güvenlik açığı için 7 istismar ve 7 Kanıt Belgesi (PoC) geliştirdiklerini söyledi.

Bununla birlikte, araştırmacılar, kullanıcıların ve yöneticilerin, Stack Clash’ın kamuya açık alanlarına girmeden önce sistemlerini düzeltmeleri için yeterli zaman tanıyarak, kavramın açıklarını ve kanıtlarını henüz yayınlamadı.

PoC’ler dört adım izlemektedir;

  1. Yığınını başka bir bellek bölgesi ile çakıştır,
  2. Yığın işaretçisini yığının başlangıcında çalıştır,
  3. Yığın bekçi sayfası üzerinden ‘Atlama’ ve
  4. Yığını veya diğer bellek bölgelerini ‘Parçala’.

Stack Clash’tan etkilenen dağıtımlar ve sistemleri arasında şunlar bulunmaktadır:

  • Debian, Ubuntu ve CentOS’da Sudo
  • Ld.so ve çoğu Debian, Ubuntu, Fedora ve CentOS’daki SUID root dizileri
  • Debian’da Exim
  • Solaris 11 üzerinde rsh ve benzeri
  • Red Hat Enterprise
  • Şirket ayrıca Microsoft’un Windows’ları, Apple’ın OS X/macOS’ları ve Google’ın Linux tabanlı Android OS de dahil olmak üzere diğer işletim sistemlerinin Stack Clash’a karşı savunmasız olabileceğine inanıyor, ancak bi bilgi henüz onaylanmadı.

Yama Mevcuttur, Şimdi güncelleyebilirsiniz

Üreticilerden gelen güvenlik yamaları henüz sizin sisteminiz için mevcut değilse, sisteminizi yeniden başlatabilir veya yığın sınırlarını yerel kullanıcıların uygulamalarına manuel olarak uygulayabilirsiniz. Kolayca, yerel kullanıcıların ve uzaktaki hizmetlerin zorlu RLIMIT STACK ve RLIMIT_AS değerlerini düşük bir değere ayarlayın.

Ayrıca, kullanıcının ülke kodunun (ld.so, kütüphaneleri, ikili dosyaları) –fstack-check özelliğiyle yeniden derlenmesi önerilir. Bu, yığın işaretçisinin yığın bekçi sayfasına erişmeden başka bir bellek bölgesine geçmesini önleyecek ve Stack Clash’i öldürecektir.