Setelah Kerentanan SSH Baru-baru ini, Systemd Mengurangi Ketergantungan
Backdoor sshd/xz terbaru (CVE-2024-3094) mengungkap risiko pada libsystemd systemd, memicu perdebatan tentang pengurangan ketergantungan.
Mengingat peristiwa terbaru, telah muncul perdebatan signifikan tentang kerentanan di mana systemd secara tidak langsung terlibat, terutama selama insiden backdoor sshd/xz (CVE-2024-3094), yang menyoroti potensi risiko keamanan yang terkait dengan ketergantungan libsystemd, sebuah perpustakaan yang penting untuk mengintegrasikan layanan dengan systemd.
Inti dari masalah ini terletak pada pengamatan bahwa libsystemd, dengan terhubung ke semua layanan systemd dan layanan pihak ketiga mana pun yang ingin berkomunikasi dengan systemd, memperkenalkan ketergantungan tambahan yang dapat menjadi sumber kerentanan.
Solusi yang diusulkan untuk masalah kerentanan ini adalah pengurangan substansial terhadap dependensi libsystemd sehingga hanya mencakup libc, pustaka C standar, sehingga meminimalkan permukaan serangan untuk potensi ancaman keamanan. Implementasi saat ini mencakup beberapa pustaka lain, yang mungkin tidak diperlukan untuk menjalankan fungsi inti libsystemd.
Sebagai tanggapan atas kekhawatiran ini, telah diajukan permintaan fitur untuk systemd agar meminimalkan ketergantungan libsystemd hanya pada libc. Alasan di balik permintaan ini adalah untuk menyederhanakan libsystemd ke fungsi inti saja, sehingga mengurangi risiko kerentanan yang dapat mengancam keamanan sistem.
Namun, pendekatan ini mungkin melibatkan reorganisasi libsystemd menjadi beberapa pustaka, masing-masing untuk API tertentu, dan memastikan bahwa hanya dependensi yang diperlukan yang disertakan di tempat mereka benar-benar dibutuhkan.
Lennart Poettering, sosok kunci di balik systemd, menanggapi kekhawatiran tersebut dengan menyoroti perubahan terbaru yang mengurangi beberapa masalah keamanan ini. Menurutnya, libsystemd tidak lagi membutuhkan pustaka kompresi sebagai ketergantungan wajib dalam versi utama git terbaru.
Selain itu, sedang dilakukan rencana untuk menghapus libgcrypt sebagai dependensi utama, yang akan lebih menyederhanakan libsystemd dan meningkatkan keamanan sistem. Selain itu, dicatat bahwa sshd telah mengimplementasikan fungsi sd_notify() secara independen, langkah yang direkomendasikan Poettering untuk proyek dengan sifat seperti ini.
Akhirnya, diskusi juga menyinggung kemungkinan untuk menampilkan informasi pemuatan dinamis (dlopen) dengan cara yang dapat dibaca dari metadata ELF, menawarkan cara yang lebih transparan untuk memahami dan mengelola dependensi.
Proposal ini menyarankan pendekatan kolaboratif, mendorong masukan dan dukungan dari berbagai pemangku kepentingan di ekosistem Linux, termasuk pemelihara paket dan pembuat sistem.
Detail seluruh diskusi dan proposal tersedia untuk ditindaklanjuti di repositori GitHub proyek.
