Ang konsepto ng "Ang Livepatch ay hindi na bago at hindi pa ito naipapatupad sa Linux sa loob ng ilang taon, dahil ang Red Hat, Oracle, Canonical at SUSE ay ilan sa mga nagpatupad ng teknolohiyang ito para sa kanilang mga pamamahagi.
At kahit na itinatag nila ang kanilang sarili bilang isang mahusay na solusyon, ito Karaniwan itong nakasalalay sa mga saradong proseso sa paglikha ng mga patch, nililimitahan ang transparency at kakayahang umangkop. Ang mga nakaraang open source na proyekto, tulad ng elivepatch ng Gentoo at ang linux-livepatching ni Debian, ay minarkahan ng mahabang panahon ng kawalan ng aktibidad o pagwawalang-kilos sa kanilang mga prototype phase.
Nahaharap sa serye ng mga problemang ito na humaharap pa rin sa proseso ng pagbuo, pag-compile, pag-deploy at pag-install ng mga aktibong Linux kernel patch, Ang TuxTape ay nagpapakita ng sarili bilang isang solusyon independyente, na idinisenyo upang maging adaptable sa anumang bersyon ng Linux kernel, nang hindi limitado sa mga package na partikular sa bawat pamamahagi.
TuxTape, isang solusyon para sa live na patching sa Linux
TuxTape, ay isang bagong solusyon ito pinapayagan ang mga administrator ng mga system ipatupad ang iyong sariling imprastraktura para gumawa, mag-assemble, at mag-deploy ng mga live na patch sa Linux kernel.
Ang pangunahing layunin mula sa TuxTape ay iaalok isang komprehensibong sistema na nag-automate sa paglikha at paghahatid ng mga live na patch. Ang arkitektura nito ay nagbibigay-daan sa pagbuo ng mga patch na katugma sa mga umiiral na tool tulad ng kpatch ng Red Hat, kGraft ng SUSE, Ksplice ng Oracle at iba pang mga unibersal na solusyon.
Ang mga patch Ang mga ito ay ipinatupad bilang mga kernel module na pumapalit sa mga kasalukuyang function sa pamamagitan ng paggamit ng ftrace subsystem, na nagre-redirect ng execution sa mga bagong function na kasama sa module. Bukod pa rito, may kakayahan ang TuxTape na subaybayan ang mga update sa kahinaan na nai-post sa mailing list ng linux-cve-announce at sa mga repositoryo ng Git.

Gamit ang impormasyong ito, inuri ng system ang mga kahinaan ayon sa kalubhaan, tinatasa ang applicability ng bawat patch sa pamamagitan ng isang detalyadong pagsusuri ng kernel build profile, at itinatapon ang mga pag-aayos na hindi nakakaapekto sa target na kapaligiran. Tinitiyak ng piling diskarte na ito na ang mga nauugnay na pagbabago lamang ang ipinapatupad, pinapaliit ang panganib at pag-optimize ng pagganap.
Mga bahagi ng proyekto at arkitektura
Ang TuxTape Kit Binubuo ito ng maraming pinagsamang mga tool mula sa pagtuklas hanggang sa live na patching:
- Vulnerability Tracking System: Responsable ito sa pag-detect at pagtatala ng mga bagong banta sa real time.
- Tagabuo ng Database: Responsable ito sa pagbibigay ng impormasyon sa mga patch at mga kahinaan sa isang structured database.
- Metadata Server na may gRPC: Namamahala sa komunikasyon at koordinasyon ng mga serbisyong nauugnay sa pagbuo ng patch.
- Dispatch system at pagbuo ng kernel: Pinapadali ang pag-compile ng kernel sa mga partikular na configuration sa pamamagitan ng pagbuo ng isang detalyadong profile ng compilation.
- Generator at patch archive: Binabago ang mga regular na patch sa mga dynamic na na-load na kernel module.
- Kliyente para sa mga end host: Nagbibigay-daan sa pagtanggap at paglalapat ng mga patch sa mga system ng produksyon.
- Interactive na interface (Dashboard): Nagbibigay ng administration console para sa user kung saan maaari niyang suriin, pamahalaan at gumawa ng mga live na patch batay sa mga natanggap na source.
Ito ay nagkakahalaga ng pagbanggit na ang TuxTape na proyekto at pag-unlad ay kasalukuyang nasa isang pang-eksperimentong yugto ng prototype, kaya sa ngayon ay inirerekomenda lamang ito para sa paunang pagsubok sa iba't ibang bahagi nito.
Para sa mga interesadong subukan ang proyekto, kasalukuyang inirerekomenda lamang ang pagsubok sa mga partikular na tool gaya ng:
- tuxtape-cve-parser: Sinusuri ang impormasyon ng kahinaan at bumubuo ng database ng patch.
- tuxtape-server: Nagpapatupad ng interface ng gRPC para sa pagbuo at pamamahagi ng patch.
- tagabuo ng tuxtape-kernel: Responsable ito sa pagbuo ng kernel na may ibinigay na configuration at pagbuo ng kaukulang compilation profile.
- tuxtape-dashboard: Nagbibigay ng console interface para sa pagsusuri at paggawa ng mga live na patch batay sa natanggap na source patch.
Sa wakas, mahalagang banggitin na ang proyekto ay binuo sa Rust at ipinamamahagi sa ilalim ng lisensya ng Apache 2.0. Maaari kang sumangguni sa higit pang impormasyon o ang source code nito, mula sa ang sumusunod na link.