TuxTape, proposal baru untuk LivePatch di Linux

Pita Tux

Konsep «Livepatch bukanlah hal baru dan bahkan belum diimplementasikan di Linux selama beberapa tahun, karena Red Hat, Oracle, Canonical dan SUSE adalah beberapa perusahaan yang telah mengimplementasikan teknologi ini untuk distribusi mereka.

Dan meskipun mereka telah memantapkan diri sebagai solusi yang sangat baik, ini Biasanya tergantung pada proses tertutup dalam pembuatan patch, membatasi transparansi dan kemampuan beradaptasi. Proyek sumber terbuka sebelumnya, seperti elivepatch milik Gentoo dan linux-livepatching milik Debian, telah ditandai oleh periode tidak aktif atau stagnasi yang panjang dalam fase prototipe-nya.

Menghadapi serangkaian masalah ini yang masih menghadapi proses pembuatan, kompilasi, penyebaran dan pemasangan patch kernel Linux aktif, TuxTape menghadirkan dirinya sebagai solusi independen, dirancang agar dapat beradaptasi dengan versi kernel Linux mana pun, tanpa terbatas pada paket yang khusus untuk setiap distribusi.

TuxTape, solusi untuk patching langsung di Linux

TuxTape, adalah solusi baru bahwa memungkinkan administrator sistem terapkan infrastruktur Anda sendiri untuk membuat, merakit, dan menyebarkan patch langsung ke kernel Linux.

Tujuan utamanya dari TuxTape adalah untuk menawarkan sistem komprehensif yang mengotomatiskan pembuatan dan pengiriman patch langsung. Arsitekturnya memungkinkan pembuatan patch yang kompatibel dengan alat yang ada seperti kpatch milik Red Hat, kGraft milik SUSE, Ksplice milik Oracle, dan solusi universal lainnya.

Tambalan Mereka diimplementasikan sebagai modul kernel yang menggantikan fungsi yang ada dengan menggunakan subsistem ftrace, yang mengalihkan eksekusi ke fungsi baru yang disertakan dalam modul. Selain itu, TuxTape memiliki kemampuan untuk melacak pembaruan kerentanan yang diposting di milis linux-cve-announce dan di repositori Git.

Patch langsung TuxTape

Dengan menggunakan informasi ini, sistem mengklasifikasikan kerentanan berdasarkan tingkat keparahan, menilai penerapan setiap patch melalui analisis terperinci profil build kernel, dan membuang perbaikan yang tidak memengaruhi lingkungan target. Pendekatan selektif ini memastikan bahwa hanya perubahan relevan yang diterapkan, meminimalkan risiko dan mengoptimalkan kinerja.

Komponen dan arsitektur proyek

Peralatan TuxTape Ini terdiri dari beberapa alat terintegrasi mulai dari deteksi hingga patching langsung:

  • Sistem Pelacakan Kerentanan: Ini bertanggung jawab untuk mendeteksi dan merekam ancaman baru secara real-time.
  • Pembuat Basis Data: Bertanggung jawab untuk menyediakan informasi tentang perbaikan dan kerentanan dalam basis data terstruktur.
  • Server Metadata dengan gRPC: Mengelola komunikasi dan koordinasi layanan yang terkait dengan pembuatan patch.
  • Sistem pengiriman dan konstruksi kernel: Memfasilitasi kompilasi kernel pada konfigurasi tertentu dengan menghasilkan profil kompilasi terperinci.
  • Generator dan berkas patch: Mengubah patch reguler menjadi modul kernel yang dapat dimuat secara dinamis.
  • Klien untuk host akhir: Memungkinkan penerimaan dan penerapan patch pada sistem produksi.
  • Antarmuka interaktif (Dasbor): Menyediakan konsol administrasi bagi pengguna tempat ia dapat meninjau, mengelola, dan membuat patch langsung berdasarkan sumber yang diterima.

Perlu disebutkan bahwa proyek dan pengembangan TuxTape saat ini berada dalam fase prototipe eksperimental, jadi saat ini hanya direkomendasikan untuk pengujian awal dengan berbagai komponennya.

Bagi mereka yang tertarik menguji proyek ini, pengujian saat ini direkomendasikan hanya pada alat tertentu seperti:

  • parser tuxtape-cve: Menganalisis informasi kerentanan dan membangun basis data patch.
  • server tuxtape: Menerapkan antarmuka gRPC untuk pembuatan dan pendistribusian patch.
  • pembuat-kernel-tuxtape: Ia bertanggung jawab untuk membangun kernel dengan konfigurasi tertentu dan menghasilkan profil kompilasi yang sesuai.
  • dasbor tuxtape: Menyediakan antarmuka konsol untuk meninjau dan membuat patch langsung berdasarkan patch sumber yang diterima.

Terakhir, penting untuk disebutkan bahwa proyek ini dikembangkan dalam Rust dan didistribusikan di bawah lisensi Apache 2.0. Anda dapat berkonsultasi informasi lebih lanjut atau kode sumber ini, dari link berikut.