Perlindungan kernel Linux adalah area subjek yang sangat kompleks. Ini mencakup sejumlah besar konsep yang saling terkait secara rumit, dan akan bermanfaat jika memiliki representasi grafiknya. Oleh karena itu, saya mengembangkan
peta pelindung kernel Linux . Inilah legenda:

Jadi, peta berisi objek-objek berikut:
- Kelas kerentanan
- teknik operasi mereka untuk melakukan serangan;
- mekanisme deteksi kesalahan;
- teknologi perlindungan.
Pada gilirannya, teknologi perlindungan inti bersifat heterogen. Beberapa adalah bagian dari kernel Linux vanilla, yang lain dikirim secara terpisah karena berbagai alasan (misalnya, ada fitur keamanan komersial). Ada mekanisme perlindungan kernel yang membutuhkan dukungan perangkat keras.
Dengan demikian, topik keamanan kernel Linux cukup luas, dan peta yang dikembangkan membantu dalam studi dan analisisnya. Setiap garis yang menghubungkan benda-benda di peta menunjukkan pengaruh timbal baliknya, esensi yang harus diklarifikasi dalam dokumentasi. Prinsip ini dapat diilustrasikan pada sebuah fragmen dari peta umum. Gambar 1 menunjukkan fitur keamanan teknologi STACKLEAK.
Diagram 1. Fitur keamanan teknologi STACKLEAKPAX_MEMORY_STACKLEAK adalah teknologi perlindungan kernel Linux komersial yang menangkal eksploitasi jenis kerentanan berikut: tumpukan berlebihan, penggunaan variabel tidak diinisialisasi, dan kebocoran informasi ke dalam ruang pengguna. Peta berisi pengidentifikasi untuk kelas kerentanan ini (CWE, Common Weakness Enumeration).
Teknologi
STACKLEAK diperkenalkan ke kernel Linux vanilla, yang tercermin dalam diagram. Ada juga mekanisme debug KMSAN yang memungkinkan Anda mendeteksi ketika menguji kernel penggunaan variabel yang tidak diinisialisasi dan kebocoran informasi ke dalam ruang pengguna.
Perlu dicatat bahwa kartu ini tidak membahas masalah mengurangi serangan perimeter untuk inti. Bahkan, menonaktifkan hampir semua fungsi yang mengurangi ukuran executable juga mengurangi serangan perimeter. Dan dalam proyek ini, fokus utamanya adalah pada alat keamanan yang menyediakan pertahanan diri dari kernel Linux terhadap eksploitasi kerentanan.
Gambar 2 menunjukkan peta lengkap untuk kernel versi 5.1 (dengan mengklik gambar ukuran penuh akan terbuka).
Diagram 2. Peta fitur keamanan kernel Linux v5.1Peta ini terus berkembang, perlu diperbarui setidaknya setiap rilis kernel. Oleh karena itu, mudah untuk memiliki sumber dalam bentuk teks dan memeliharanya dalam sistem kontrol versi. Selain itu, agar tidak harus mengatur objek secara manual dengan jumlah minimum persimpangan koneksi, bahasa DOT dipilih untuk membuat peta, dan skema secara otomatis dihasilkan oleh paket GraphViz menggunakan perintah berikut:
dot -Tsvg linux-kernel-defence-map.dot -o linux-kernel-defence-map.svg
Kartu Keamanan Kernel Linux adalah proyek sumber terbuka yang dilisensikan di bawah GPL v3.0. Repositori terletak
di GitHub . Proyek ini sangat berguna untuk:
- memantau keadaan keamanan kernel saat ini,
- mengembangkan model ancaman IP berdasarkan GNU / Linux,
- pemilihan solusi yang tepat.
Selain itu, peta fitur keamanan kernel Linux dirancang untuk membantu Anda mempelajari tentang kode sumber, dokumentasi, dan sumber informasi lain tentang topik ini:
Dan untuk mengotomatiskan verifikasi opsi keamanan dalam file konfigurasi kernel Linux, saya membuat proyek
kconfig-hardened-check , yang secara aktif berkembang berkat kerja kolaboratif terbuka. Utilitas ini mendukung arsitektur x86_64, arm64, x86_32 dan arm.
Saya mengundang Anda untuk berpartisipasi dalam pengembangan
peta fitur keamanan kernel Linux dan
utilitas kconfig-hardened-check .