Peneliti Cisco Talos dirilis Beberapa hari yang lalu kerentanan di kernel Linux yang dapat dimanfaatkan untuk mencuri data dan juga berfungsi sebagai sarana untuk meningkatkan hak istimewa dan membahayakan sistem.
Kerentanan digambarkan sebagai 'kerentanan pengungkapan informasi yang memungkinkan penyerang melihat memori tumpukan kernel. '
CVE-2020-28588 adalah kerentanan itu ditemukan di perangkat ARM fungsionalitas proc / pid / syscall Perangkat 32-bit yang menjalankan sistem operasi. Menurut Cisco Talos, masalah tersebut pertama kali ditemukan pada perangkat yang menjalankan Azure Sphere.
Kerentanan pengungkapan informasi ada di fungsionalitas / proc / pid / syscall dari Linux Kernel 5.1 Stable dan 5.4.66. Lebih khusus lagi, masalah ini telah diperkenalkan di v5.1-rc4 (melakukan 631b7abacd02b88f4b0795c08b54ad4fc3e7c7c0) dan masih ada di v5.10-rc4, jadi semua versi perantara kemungkinan besar akan terpengaruh. Penyerang dapat membaca / proc / pid / syscall untuk mengaktifkan kerentanan ini, menyebabkan kernel kehilangan konten memori.
Proc adalah sistem file semu khusus pada sistem operasi mirip Unix itu digunakan untuk mengakses data proses secara dinamis ditemukan di kernel. Menyajikan informasi proses dan informasi sistem lainnya dalam hierarki, struktur seperti file.
Misalnya, ini berisi subdirektori / proc / [pid], yang masing-masing berisi file dan subdirektori yang memaparkan informasi tentang proses tertentu, dapat dibaca dengan menggunakan ID proses yang sesuai. Dalam kasus file "syscall", ini adalah file sistem operasi Linux resmi yang berisi log panggilan sistem yang digunakan oleh kernel.
Untuk perusahaan, lPeretas dapat mengeksploitasi kekurangan tersebut dan mengakses sistem operasi dan file syscall melalui sistem yang digunakan untuk berinteraksi antara struktur data kernel, Proc. Entri syscall procfs dapat dieksploitasi jika peretas mengeluarkan perintah untuk menghasilkan 24 byte memori heap yang tidak diinisialisasi, yang mengarah ke bypass dari pengacakan tata letak ruang alamat kernel (KASLR).
Melihat fungsi spesifik ini, semuanya terlihat baik-baik saja, tetapi perlu dicatat bahwa file
args
parameter lulus berasal dariproc_pid_syscall
fungsi dan karena itu sebenarnya tipe__u64 args
. Dalam sistem ARM, definisi fungsi mengonversi ukuran filearg
array dalam elemen empat-byte dari delapan byte (sejakunsigned long
di ARM itu adalah 4 byte), yang menghasilkanmemcpy
disalin menjadi 20 byte (ditambah 4 untukargs[0]
).Begitu pula untuk i386, dimana
unsigned long
itu 4 byte, hanyaargs
24 byte pertama dari argumen ditulis, meninggalkan 24 byte yang tersisa utuh.Dalam kedua kasus tersebut, jika kita melihat kembali
proc_pid_syscall
fungsi.Sedangkan di ARM 32-bit dan i386 kami hanya menyalin 24 byte ke file
args
array, string format akhirnya membaca 48 byte dariargs
matriks, sejak%llx
Format string adalah delapan byte pada sistem 32-bit dan 64-bit. Jadi, 24 byte memori heap yang tidak diinisialisasi akhirnya mendapatkan keluaran, yang dapat menyebabkan bypass KASLR.
Para peneliti menyatakan itu serangan ini "tidak mungkin dideteksi dari jarak jauh di jaringan" karena membaca dari file sistem operasi Linux yang sah. "Jika digunakan dengan benar, peretas dapat memanfaatkan kebocoran informasi ini untuk berhasil mengeksploitasi kerentanan Linux lain yang belum ditambal," kata Cisco.
Dalam hal ini, Google baru-baru ini mengatakan:
“Cacat keamanan memori sering kali mengancam keamanan perangkat, terutama aplikasi dan sistem operasi. Misalnya, dalam sistem operasi seluler Android yang juga didukung oleh kernel Linux, Google mengatakan telah menemukan bahwa lebih dari setengah kerentanan keamanan yang diatasi pada tahun 2019 adalah hasil dari bug keamanan memori.
Terakhir tapi bukan yang akhir Direkomendasikan untuk memperbarui versi 5.10-rc4, 5.4.66, 5.9.8 dari kernel Linux, sejak Kerentanan ini telah diuji dan dipastikan dapat mengeksploitasi versi kernel Linux berikut.
Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentang itu Tentang postingan, Anda dapat memeriksa detailnya di link berikut.