Před pár dny došlo k neobvyklé události, který otřásl komunitou linuxových jader, a to je Linus Torvalds nařídil okamžité pozastavení účtu Keese Cooka na kernel.org., po zjištění existence manipulovaných commitů v repozitáři Git tohoto vývojáře.
Kees Cook, uznáván pro své vůdčí schopnosti v bezpečnostním týmu Ubuntu a za údržbu více než tuctu bezpečnostních subsystémů jádra, bylo dočasně zakázáno odesílat změny, dokud se neobjasňují skutečnosti.
Změna autorství a podpisů v repozitáři Kees Cook
Problém vznikl v souvislosti s žádostí o změnu v systému.s do větve jádra 6.16, ve kterém Linus identifikoval odkazy na repozitář který obsahoval commity manipulované s jeho jméno jako autora a potvrzovatele, přestože je sám neprovedl. Jedním z nejzávažnějších příkladů byla existence duplicitního commitu, který měl identický obsah s originálem, ale měl odlišný SHA1 hash a falešně obsahoval podpis Linuse Torvaldse.
Tyto změny nemohlo být přičítáno pouhé náhodné chyběběhem operace rebase v gitu, protože zahrnovaly rozsáhlé úpravy citlivých informací, včetně více než 6.000 330 přepsaných commitů, z nichž XNUMX mělo jako autora uvedeno Linusovo jméno.
Torvaldsova reakce: podezření z úmyslné manipulace
Linus Torvalds neskrýval své obavy a popsal události jako potenciálně škodlivé:
„Jeden nebo dva přepisy by mohly být chybou. Ale tisíce z nich, mnohé s mým padělaným podpisem, chybou nejsou,“ prohlásil.
Vzhledem k rozsahu změn a riziku pro integritu oficiálního kernelového stromu, Torvalds se zeptal Konstantina Rjabitseva, správce infrastruktury kernel.org, qzablokovat přístup Keese Cooka, dokud se situace nevyjasní.
V odpověď, Kees Cook vysvětlil, že měl v poslední době technické problémy. to mohlo incident spustit. Řekl, Na vašem SSD disku docházelo během kopírování k chybám, které způsobovaly poškození. v několika repozitářích. Po těchto chybách se pokusil obnovit stav svého repozitáře pomocí příkazu git rebase a různých automatizačních nástrojů.
Tyto operace však byly provedeny na kritických větvích, jako například for-next/hardening a for-linus/hardening, což vedlo k nechtěné úpravě historie repozitáře, včetně změny autorství commitů. Navzdory jeho vysvětlení byl Linus skeptický.:
„Nechápu, jak je možné, že k nechtěnému předjíždění dojde, natož s takovým množstvím úprav.“
Skutečný viník: upoutávky na git-filter-repo a b4
V pozdější zprávě, Kees Cook identifikoval pravděpodobný zdroj chybykombinované použití dvou nástrojů, git-filter-repo a b4 trailery, které manipulují s historií commitů a upoutávky (tagy jako Signed-off-by:) v commitech.
Toto nesprávné použití zisků by způsobilo automatické přepisování tisíců commitů, včetně nahrazení autora výchozí hodnotou (v tomto případě Linus Torvalds), aniž by si Kees v danou chvíli chyby všimlKonstantin Rjabitsev, autor nástroje b4, tuto teorii potvrdil a prohlásil, že Cook neměl žádný zlý úmysl. Systém ve skutečnosti již generoval varování, která byla ignorována.
Po vyjasnění situace byl Keesovi Cookovi obnoven přístup k kernel.org. Jako preventivní opatření bylo oznámeno, že nástroj b4 bude zahrnovat novou bezpečnostní kontrolu, Toto od nynějška zabrání úpravě commitů, jejichž autorství neodpovídá identitě aktuálního uživatele. Účelem je zabránit podobným chybám a ochránit integritu zdrojového kódu jádra.
Kees se ze své strany zavázal, že postižené větve znovu vytvoří. z jednotlivých záplat a podrobně analyzovat kroky, které vedly k chybě. Ačkoli Incident narušil vztahy v týmu vývoj jádra, také zdůraznil důležitost opatrného používání nástrojů pro přepisování historie, zejména v projektech tak kritických, jako je linuxové jádro.
Konečně stojí za zmínku, že tento incident mezi Linusem Torvaldsem a Keesem Cookem slouží jako varování před nebezpečím manipulace s historií commitů a že díky rychlému zásahu od těch, kteří jsou zodpovědní za kernel.org a transparentnost celého procesu, situace byla pod kontrolou.
Nakonec, pokud se chcete dozvědět více, můžete si podrobnosti prohlédnout v následujícím odkaz