Cisco Talos araştırmacıları yayınlandı Birkaç gün önce Linux çekirdeğinde veri çalmak için yararlanılabilecek bir güvenlik açığı ve ayrıca ayrıcalıkları artırmanın ve sistemi tehlikeye atmanın bir yolu olarak hizmet eder.
Güvenlik Açığı 'bilginin açığa çıkması güvenlik açığı olarak tanımlandı bu, bir saldırganın çekirdek yığınının belleğini görmesine izin verebilir. '
CVE-2020-28588, şu güvenlik açığıdır: ARM cihazlarında keşfedilen proc / pid / syscall işlevselliği İşletim sistemini çalıştıran 32 bit cihazlar. Cisco Talos'a göre, sorun ilk olarak Azure Sphere çalıştıran bir cihazda keşfedildi.
Linux Kernel 5.1 Stable ve 5.4.66'nın / proc / pid / syscall işlevselliğinde bilginin açığa çıkması güvenlik açığı bulunmaktadır. Daha spesifik olarak, bu sorun v5.1-rc4'te tanıtılmıştır (631b7abacd02b88f4b0795c08b54ad4fc3e7c7c0'yi taahhüt eder) ve v5.10-rc4'te hala mevcuttur, bu nedenle tüm ara sürümlerin etkilenmesi muhtemeldir. Bir saldırgan, bu güvenlik açığını etkinleştirmek için / proc / pid / syscall okuyabilir ve çekirdeğin bellek içeriğini kaybetmesine neden olabilir.
Proc özel bir sözde dosya sistemidir Unix benzeri işletim sistemlerinde işlem verilerine dinamik olarak erişmek için kullanılır çekirdekte bulundu. Sunumlar, bilgileri ve diğer sistem bilgilerini hiyerarşik, dosya benzeri bir yapıda işler.
Örneğin, her biri ilgili işlem kimliği kullanılarak okunabilen, belirli işlemlerle ilgili bilgileri açığa çıkaran dosyalar ve alt dizinler içeren alt dizinler / proc / [pid] içerir. "Syscall" dosyası durumunda, çekirdek tarafından kullanılan sistem çağrılarının günlüklerini içeren meşru bir Linux işletim sistemi dosyasıdır.
Şirket için, lBilgisayar korsanları kusurdan yararlanabilir ve işletim sistemine ve sistem çağrısı dosyasına erişebilir çekirdek veri yapıları arasında etkileşim için kullanılan bir sistem aracılığıyla, Proc. Bilgisayar korsanları, 24 baytlık başlatılmamış yığın bellek oluşturmak için komutlar yayınlarsa, çekirdek adres alanı düzeninin rasgele seçilmesine (KASLR) yol açarsa sistem çağrısı procfs girişi kötüye kullanılabilir.
Bu özel işleve bakıldığında, her şey yolunda görünüyor, ancak şunu belirtmek gerekir ki,
args
geçen parametre geldiproc_pid_syscall
işlev ve bu nedenle aslında bir tür__u64 args
. Bir ARM sisteminde, işlev tanımı,arg
sekiz bayttan dört baytlık elemanlarda dizi (çünküunsigned long
ARM'de 4 bayttır),memcpy
20 bayta (artı 4 bayta) kopyalanırargs[0]
).Benzer şekilde, i386 için
unsigned long
4 bayt, sadeceargs
bağımsız değişkenin ilk 24 baytı, kalan 24 baytı olduğu gibi bırakılarak yazılır.Her iki durumda da, geriye dönüp bakarsak
proc_pid_syscall
işlevi.32 bit ARM ve i386'da yalnızca 24 baytı
args
dizi, biçim dizesi, dizinin 48 baytını okur.args
matrix, beri%llx
Biçim dizesi, 32 bit ve 64 bit sistemlerde sekiz bayttır. Böylece, 24 baytlık başlatılmamış yığın belleği çıktı alır ve bu da KASLR baypasına yol açabilir.
Araştırmacılar şunu belirtiyor: bu saldırının "bir ağda uzaktan tespit edilmesi imkansızdır" çünkü Linux işletim sisteminden yasal bir dosya okuyor. Cisco, "Doğru kullanıldığında, bir bilgisayar korsanı diğer yamalı Linux güvenlik açıklarından başarıyla yararlanmak için bu bilgi sızıntısından yararlanabilir" diyor.
Bu bağlamda, Google kısa süre önce şunları söyledi:
“Bellek güvenliği kusurları, genellikle cihazların, özellikle uygulamaların ve işletim sistemlerinin güvenliğini tehdit eder. Örneğin, Linux çekirdeği tarafından da desteklenen Android mobil işletim sisteminde Google, 2019'da ele alınan güvenlik açıklarının yarısından fazlasının bellek güvenlik hatalarının sonucu olduğunu tespit ettiğini söylüyor.
Sonuncu ama bir o kadar önemli Linux çekirdeğinin 5.10-rc4, 5.4.66, 5.9.8 sürümlerinin güncellenmesi önerilir, çünkü Bu güvenlik açığı test edilmiş ve Linux çekirdeğinin aşağıdaki sürümlerinden yararlanabileceği onaylanmıştır.
Nihayet onun hakkında daha fazla bilgi edinmekle ilgileniyorsan Gönderi ile ilgili ayrıntıları şuradan kontrol edebilirsiniz: aşağıdaki bağlantı.