Lubang SMB kernel Linux “10 dari 10” yang kritis – haruskah Anda khawatir? Kecerdasan Data PlatoBlockchain. Pencarian Vertikal. Ai.

Lubang SMB kernel Linux “10-out-of-10” kritis – haruskah Anda khawatir?

Tepat sebelum akhir pekan Natal – pada kenyataannya, pada waktu yang hampir bersamaan dengan layanan manajemen kata sandi yang terkepung, LastPass mengakui bahwa, ya, brankas kata sandi Anda telah dicuri oleh penjahat setelah semua - kami melihat kerentanan kernel Linux yang terdengar serius yang menjadi berita.

Peringatan tersebut berasal dari Zero Day Initiative (ZDI) dari Trend Micro, mungkin paling dikenal karena membeli bug keamanan zero-day melalui platform populer Kompetisi Pwn2Own, di mana tim pemburu bug-bounty bersaing langsung di atas panggung untuk mendapatkan hadiah uang tunai yang berpotensi besar.

Sebagai imbalan mensponsori hadiah uang, vendor produk mulai dari sistem operasi dan browser hingga printer jaringan dan router internet berharap dapat membeli kelemahan keamanan baru, sehingga mereka dapat memperbaiki lubang tersebut secara bertanggung jawab. (Untuk mengambil hadiah mereka, peserta harus memberikan tulisan yang benar, dan setuju untuk tidak membagikan informasi apa pun tentang cacat tersebut sampai vendor memiliki kesempatan yang adil untuk memperbaikinya.)

Tapi ZDI tidak hanya berurusan dengan perburuan bug kompetitif dalam kontes dua kali setahun, jadi ZDI juga secara teratur mengeluarkan pemberitahuan kerentanan untuk zero-days yang diungkapkan dengan cara yang lebih konvensional, seperti yang ini, yang berjudul Kernel Linux ksmbd Kerentanan Eksekusi Kode Jarak Jauh Penggunaan-Setelah-Bebas.

Melayani komputer Windows melalui Linux

SMB adalah singkatan dari sblok pesan erver, dan itu adalah protokol yang mendukung jaringan Windows, jadi hampir semua server Linux yang menyediakan layanan jaringan ke komputer Windows akan menjalankan perangkat lunak untuk mendukung SMB.

Seperti yang dapat Anda bayangkan, bug keamanan terkait SMB, terutama yang dapat dieksploitasi melalui jaringan tanpa penyerang perlu masuk terlebih dahulu, seperti yang terjadi di sini, berpotensi menjadi masalah serius bagi sebagian besar jaringan perusahaan besar.

Dukungan SMB umumnya juga diperlukan di NAS rumahan dan bisnis kecil (penyimpanan terlampir jaringan) perangkat, yang umumnya menjalankan Linux secara internal, dan menyediakan fitur server file plug-it-in-and-go yang mudah digunakan untuk jaringan kecil.

Tidak perlu mempelajari Linux sendiri, atau menyiapkan server lengkap, atau mempelajari cara mengonfigurasi jaringan Linux – cukup plug-and-play dengan perangkat NAS, yang memiliki dukungan SMB bawaan dan siap digunakan untuk Anda .

Mengapa waktu liburan?

Dalam hal ini, bug tersebut tidak sengaja diungkapkan pada malam sebelum malam sebelum malam sebelum Natal dalam upaya yang tidak terlalu untuk merusak musim perayaan Anda dengan membuat Anda ketakutan.

Dan itu tidak dilaporkan sebelum akhir pekan dalam upaya untuk mengubur PR buruk dengan berharap Anda cukup berpikiran liburan untuk melewatkan cerita sepenuhnya atau mengabaikannya sampai Tahun Baru.

Kabar baiknya adalah, seperti yang biasanya terjadi di bawah payung pengungkapan yang bertanggung jawab, tanggal laporan ZDI telah disepakati sebelumnya, kemungkinan saat cacat diungkapkan, sehingga memberikan waktu yang cukup bagi tim kernel Linux untuk memperbaiki masalah dengan benar, meskipun demikian tidak memungkinkan mereka untuk menunda masalah ini tanpa batas waktu.

Dalam hal ini, laporan bug terdaftar telah terjadi pada 2022-07-26, dan yang disebut ZDI sebagai “rilis publik yang terkoordinasi dari [the] advisory” ditetapkan untuk 2022-12-22, yang ternyata selisihnya tepat 150 hari, jika Anda menghitung gaya jadul dan menyertakan satu hari penuh di setiap akhir.

Jadi, meskipun bug ini memiliki liputan yang dramatis selama liburan akhir pekan, mengingat itu adalah a eksekusi kode jarak jauh (RCE) di kernel Linux itu sendiri, dan datang dengan apa yang disebut skor CVSS 10/10, dipertimbangkan Kritis...

…itu ditambal dalam kode sumber Linux hanya dalam waktu dua hari setelah pengungkapan, dan perbaikan diterima dan dikemas ke dalam kode sumber kernel Linux resmi pada saat peluncuran Linux 5.15.61, kembali pada 2022-08-17, baru saja 23 hari setelah laporan pertama masuk.

Dengan kata lain, jika Anda telah memperbarui kernel Linux sejak saat itu, Anda sudah aman, tidak peduli pengaturan konfigurasi kernel apa pun yang Anda atau distro Anda gunakan saat mengompilasi kernel.

Periode ini mencakup 24 pembaruan berikutnya untuk seri kernel 5.15, sekarang di 5.15.85, bersama dengan versi kernel 6.0, kernel 6.1 dan kernel 6.2 yang masih dalam tahap kandidat, yang semuanya memiliki rilis pertama mereka setelah Agustus 2022 .

Mungkin bukan software SMB yang Anda curigai

Juga, meskipun sekilas terdengar seolah-olah bug ini pasti akan memengaruhi server Linux atau perangkat apa pun yang mendukung jaringan Windows, itu juga tidak benar.

Sebagian besar sysadmin, dan menurut pengalaman kami, sebagian besar pemrogram NAS, memberikan dukungan Windows SMB melalui perangkat sumber terbuka yang sudah berjalan lama dan dihormati yang disebut Samba, dimana namanya Samba hanyalah kata yang paling dekat diucapkan yang pengembang asli, sumber terbuka termasyhur Andrew “Tridge” Tridgell OAM, dapat menemukan untuk mewakili singkatan SMB.

Siapa pun yang telah menggunakan Samba akan tahu bahwa perangkat lunak tersebut berjalan sebagai aplikasi biasa, yang dikenal sebagai ruang pengguna – dengan kata lain, tanpa perlu menjalankan kodenya sendiri di dalam kernel, di mana bahkan bug yang sederhana pun dapat berakibat berbahaya.

Memang, file program Samba utama disebut smbd, di mana membuntuti -D adalah kepanjangan dari Unixisme yang khas daemon, atau proses latar belakang – yang akan disebut oleh admin Windows a layanan.

Tapi bug ini, seperti yang Anda lihat dari laporan ZDI, ada di a modul kernel bernama ksmbd, Di mana -D menunjukkan layanan latar belakang, yaitu -SMB- menunjukkan dukungan jaringan Windows, dan K- cara berjalan di ruang kernel, yaitu tepat di dalam kernel itu sendiri.

Pada titik ini, Anda mungkin bertanya pada diri sendiri, “Mengapa mengubur kompleksitas mendukung SMB langsung ke dalam kernel, mengingat kami sudah memiliki produk ruang pengguna yang andal dan dihormati dalam bentuk Samba, dan mengingat itu risikonya jauh lebih besar?”

Memangnya kenapa?

Seperti yang sering terjadi, sepertinya ada dua alasan utama: [A] karena kita bisa! dan [B] karena kinerja.

Dengan mendorong apa yang biasanya merupakan fitur perangkat lunak tingkat tinggi ke dalam kernel, Anda sering dapat meningkatkan kinerja, meskipun Anda hampir selalu membayar harga yang sesuai, dan mungkin penurunan yang cukup besar dalam keselamatan dan keamanan.

Apa yang harus dilakukan?

  • Periksa apakah Anda memiliki kernel Linux berdasarkan rilis apa pun pada atau setelah 5.15.61 (tanggal 2022-08-17). Jika demikian, bug ini diperbaiki dalam kode sumber. Apa pun opsi kompilasi kernel yang Anda (atau pembuat distro Anda) pilih, bug tidak akan muncul di kernel build.
  • Periksa apakah kernel Linux Anda sudah termasuk ksmbd. Distro paling populer tidak mengkompilasinya, atau membangunnya sebagai modul, sehingga Anda tidak dapat memuat atau mengaktifkannya, bahkan secara tidak sengaja.
  • Hubungi vendor Anda jika Anda menggunakan aplikasi seperti kotak NAS atau perangkat lain yang mendukung koneksi dari komputer Windows. Kemungkinan perangkat NAS Anda tidak akan digunakan ksmbd, meskipun masih memiliki versi kernel yang secara teori rentan. (Catatan untuk pelanggan Sophos: sejauh yang kami ketahui, tidak ada peralatan Sophos yang digunakan ksmbd.)
  • Jika Anda menggunakan ksmbd keluar dari pilihan, pertimbangkan untuk mengevaluasi kembali risiko Anda. Pastikan Anda mengukur peningkatan sebenarnya dalam kinerja yang telah Anda capai, dan putuskan apakah imbalannya benar-benar sepadan.

PERINTAH YANG DAPAT ANDA GUNAKAN UNTUK MEMERIKSA EKSPOSUR ANDA

Linux apa pun mulai dari 5.15.61 atau 6.x apa pun, sudah ditambal. Untuk memeriksa versi Linux Anda: $ uname -o -r 6.1.1 GNU/Linux     
Untuk melihat apakah fitur kernel ini telah dikompilasi, Anda dapat membuang konfigurasi waktu kompilasi dari kernel yang sedang berjalan: $ zcat /proc/config.gz | grep SMB_SERVER # CONFIG_SMB_SERVER tidak disetel Jika pengaturan konfigurasi waktu kompilasi ini tidak disetel, atau disetel ke "n" karena tidak, fitur tersebut tidak dibuat sama sekali. Jika tertulis "y" untuk ya, maka server kernel SMB dikompilasi langsung ke dalam kernel Anda, jadi pastikan Anda memiliki versi yang sudah dipatch. Jika tertulis "m" untuk modul, maka build kernel mungkin menyertakan modul run-time yang dapat dimuat sesuai permintaan.
Untuk melihat apakah kernel Anda memiliki modul yang dapat dimuat: $ /sbin/modprobe --show ksmbd modprobe: FATAL: Modul ksmbd tidak ditemukan di direktori /lib/modules/6.1.1 Perhatikan bahwa "--show" berarti "tidak pernah benar-benar melakukan itu, tunjukkan saja apakah memuatnya akan berhasil atau tidak".
Untuk melihat apakah sistem Anda sudah memiliki modul ksmbd yang aktif: $ lsmod | grep ksmbd Jika Anda tidak melihat keluaran, berarti modul tidak cocok dalam daftar.
Untuk menghentikan pemuatan modul secara tidak sengaja jika modul tersebut muncul, tambahkan file dengan nama seperti ksmbd.conf ke direktori /lib/modules.d atau /etc/modules.d dengan baris berikut di dalamnya: blacklist ksmbd install ksmbd /bin/salah

Stempel Waktu:

Lebih dari Keamanan Telanjang