Kernel Linux 5.13 Memperkenalkan Perbaikan Keamanan Besar untuk Kerentanan Core Dump

Tim Editorial BigGo
Kernel Linux 5.13 Memperkenalkan Perbaikan Keamanan Besar untuk Kerentanan Core Dump

Komunitas kernel Linux sedang mengatasi kerentanan keamanan yang sudah lama ada dalam penanganan core dump yang telah mengganggu sistem selama bertahun-tahun. Dengan rilis kernel 5.13 yang akan datang, perubahan signifikan sedang diimplementasikan untuk memperbaiki cacat keamanan kritis ini yang mempengaruhi cara sistem memproses core dump dari proses yang tidak memiliki hak istimewa.

Core dump adalah snapshot dari memori dan status program ketika mengalami crash, membantu developer dalam melakukan debugging masalah. Namun, implementasi saat ini telah menciptakan risiko keamanan serius yang dapat dieksploitasi penyerang untuk mendapatkan hak istimewa yang lebih tinggi pada sistem.

Pengaturan Global Menciptakan Risiko Keamanan

Salah satu masalah terbesar dengan sistem core dump Linux saat ini adalah sifat globalnya. Handler core dump berjalan dengan hak istimewa root penuh dalam root namespace, membuatnya hanya dapat diakses oleh administrator sistem. Cacat desain ini berarti ketika sebuah program mengalami crash, proses core dump berpotensi dapat dieksploitasi oleh penyerang untuk mendapatkan akses ke seluruh sistem.

Komunitas telah lama mengenali masalah desain fundamental ini. Developer telah mengusulkan solusi seperti isolasi namespace atau mendelegasikan penanganan core dump ke proses tertentu, namun upaya sebelumnya untuk mengimplementasikan perbaikan ini tidak pernah berhasil masuk ke kernel utama.

Kerentanan Keamanan Core Dump:

  • Pengaturan core dump global hanya dapat diakses oleh pengguna root
  • Handler core dump berjalan dengan hak akses penuh dalam namespace root
  • Penyerang dapat mencegat socket dan proses core dump
  • Program set-uid-root menciptakan peluang eskalasi hak akses melalui core dump
  • Kerentanan time-of-check-time-of-use selama penanganan crash

Eskalasi Hak Istimewa Melalui Core Dump

Kerentanan keamanan menjadi sangat berbahaya ketika berhadapan dengan program yang berjalan dengan hak istimewa yang lebih tinggi. Ketika program tersebut mengalami crash dan menghasilkan core dump, penyerang berpotensi dapat mencegat atau memanipulasi proses core dump untuk mempertahankan hak istimewa yang lebih tinggi tersebut. Ini menciptakan jalur untuk serangan eskalasi hak istimewa yang dapat mengkompromikan seluruh sistem.

Pendekatan kernel saat ini yang menjalankan handler core dump sebagai user-mode helper dengan hak istimewa penuh dalam root namespace membuat serangan ini mungkin terjadi. Penyerang dapat mengeksploitasi jendela waktu antara ketika crash terjadi dan ketika handler core dump mengamankan proses.

Model Keamanan Berbasis Namespace Baru

Perbaikan yang akan datang memperkenalkan pendekatan berbasis namespace untuk penanganan core dump. Alih-alih menjalankan semua operasi core dump dalam root namespace dengan hak istimewa penuh, sistem baru memastikan bahwa handler core dump beroperasi dalam namespace yang sama dengan proses yang mengalami crash. Pendekatan containment ini secara signifikan mengurangi attack surface.

Perubahan tersebut mencakup modifikasi pada cara kernel melacak kepemilikan proses dan kredensial namespace. Dengan memastikan bahwa handler core dump mewarisi konteks namespace yang tepat, sistem dapat mencegah penyerang menggunakan core dump untuk melarikan diri dari batas keamanan yang dimaksudkan.

Perubahan Keamanan Utama di Kernel Linux 5.13:

  • Penanganan core dump kini beroperasi dalam namespace proses yang mengalami crash alih-alih namespace root
  • Pengaturan prctl baru memungkinkan proses untuk memilih core dump yang diacak
  • Pelacakan kredensial namespace mencegah serangan eskalasi hak istimewa
  • Penanganan core dump mode-pengguna tidak lagi berjalan dengan hak istimewa root penuh secara default

Komunitas Memperdebatkan Detail Implementasi

Diskusi teknis dalam komunitas telah berfokus pada pendekatan alternatif untuk mengamankan penanganan core dump. Beberapa developer mempertanyakan mengapa handler core dump tidak dijalankan sebagai user khusus dengan hak istimewa terbatas alih-alih sebagai proses root.

Anda bisa membayangkan sebuah API yang mengatur UID dari user ini, dan kernel dapat dengan mudah menjalankan handler coredump sebagai user tersebut, tetapi kernel tidak dapat dengan mudah mengotomatisasi pembuatan namespace yang rumit untuk menampung proses tersebut.

Yang lain menyarankan bahwa kompleksitas dalam meneruskan file core ke container mungkin tidak sebanding dengan risiko keamanan yang terlibat, terutama karena sebagian besar infrastruktur pelaporan crash beroperasi pada tingkat yang lebih tinggi.

Tantangan implementasi sangat signifikan karena pengaturan isolasi namespace yang tepat memerlukan operasi kernel yang kompleks yang harus terjadi sebelum kode yang berpotensi dapat dieksploitasi berjalan. Kendala waktu ini membuat solusi yang lebih sederhana seperti penurunan hak istimewa berbasis user tidak cukup untuk keamanan yang lengkap.

Dampak pada Administrasi Sistem

Perbaikan keamanan ini akan mengubah cara administrator sistem mengelola pengumpulan dan analisis core dump. Meskipun perubahan ini membuat sistem lebih aman, mereka juga dapat mempengaruhi tool dan workflow yang ada yang bergantung pada perilaku core dump saat ini.

Perbaikan ini mewakili bertahun-tahun penelitian keamanan dan pekerjaan pengembangan, mengatasi kerentanan yang telah ada dalam sistem Linux untuk periode yang lama. Administrator sistem dan tim keamanan harus bersiap untuk perubahan ini saat mereka diluncurkan dengan kernel 5.13 dan versi selanjutnya.

Respons komunitas secara umum positif, dengan banyak yang mengakui bahwa perbaikan keamanan yang sudah lama tertunda ini diperlukan meskipun kompleksitasnya. Perubahan ini menunjukkan bagaimana teknologi container dan namespace modern diterapkan untuk memecahkan masalah keamanan Unix tradisional.

Referensi: Slowing the flow of core-dump-related CVIs