Firma ubezpieczeniowa GEICO opublikowała wstępną wersję narzędzia TuxTape, które umożliwia uruchomienie własnej infrastruktury do tworzenia, kompilacji i dostarczania live-patchy dla jądra Linux. Live-patche pozwalają na zastosowanie poprawek do jądra Linux w trybie online, bez potrzeby restartu i zatrzymywania systemu. Kod projektu jest napisany w języku Rust i jest rozpowszechniany na licencji Apache 2.0.
Live-patche dotyczące usuwania podatności są oferowane przez takie firmy, jak Red Hat, Oracle, Canonical i SUSE, jednak ich niskopoziomowe narzędzia do pracy z patchami są otwarte, a same patche tworzone są za zamkniętymi drzwiami. Dystrybucje Gentoo i Debian próbowały rozwijać otwarte projekty elivepatch i linux-livepatching, ale pierwszy jest już od 6 lat w stanie porzucenia, a drugi utknął na etapie stworzenia prototypu testowego.
TuxTape ma na celu zorganizowanie pracy własnego systemu do tworzenia i dostarczania live-patchy, niezależnego od zewnętrznych dostawców i dostosowanego do dowolnych jąder Linux, a nie tylko do pakietów z jądrem konkretnych dystrybucji. TuxTape może tworzyć live-patche zgodne z narzędziem kpatch opracowanym przez firmę Red Hat (poza kpatch istnieją podobne narzędzia: kGraft od SUSE, Ksplice od Oracle i uniwersalne livepatch). Patche tworzone są w postaci modułów jądra, które zastępują funkcje w jądrze, wykorzystując podsystem ftrace do przekierowywania na nowe funkcje włączone w module.

TuxTape może śledzić informacje o łatach do podatności w jądrze Linux, publikowane na liście mailingowej linux-cve-announce oraz w repozytorium Git, klasyfikować podatności według stopnia zagrożenia, określać ich zastosowanie do obsługiwanych jąder Linux i generować live-patche na podstawie zwykłych patchy do gałęzi LTS jądra. Zastosowanie oryginalnych patchy jest oceniane poprzez profilowanie kompilacji jądra. Patche z podatnościami, które nie dotykają docelowego jądra, są ignorowane.
TuxTape zawiera system do śledzenia nowych podatności w jądrze, budowniczy bazy danych patchy i podatności, serwer do przechowywania metadanych, system do zarządzania kompilacją jądra, kompilator jądra, generator patchy, archiwum patchy, klient do pobierania patchy dla końcowych hostów oraz interaktywny interfejs do zarządzania tworzeniem live-patchy.

Rozwój znajduje się w fazie eksperymentalnego prototypu. Na początek testowane będą: tuxtape-cve-parser do analizy informacji o lukach i budowania bazy danych z łatkami; tuxtape-server z realizacją interfejsu gRPC dla usług generujących łatki; tuxtape-kernel-builder do kompilacji jądra w określonej konfiguracji i tworzenia profilu kompilacji; tuxtape-dashboard — konsolowy interfejs do przeglądania i tworzenia live-latek na podstawie oryginalnych łat, uzyskanych z tuxtape-server.

Źródło: opennet.ru
