Retrospektiva prosazení backdooru v balíčku xz

Podle všeho byl backdoor zasazen do balíčku xz jeho tvůrcem Jiou Tanem, který v roce 2022 získal status udržovatele a začal vydávat verze od 5.4.2. Kromě projektu xz se předpokládaný autor backdooru také podílel na vývoji balíčků xz-java a xz-embedded a byl zařazen mezi udržovatele projektu XZ Embedded, který se používá v jádru Linuxu.

V organizaci propagace backdooru byli také zaznamenáni dva další účastníci - Jigar Kumar a Hans Jansen, kteří se zdají být virtuálními postavami. Jigar Kumar v dubnu 2022 pomohl přijetí raných patchů Jia Tana do xz s implementací podpory řetězcových filtrů a vyvíjel morální nátlak na Lasse Collina, tehdejšího udržovatele, kritizujícího, že nedokáže plnit své povinnosti a nepřijímá užitečné patche. V červnu Lasse Collin souhlasil, že projektu chybí nový udržovatel, stěžoval si na vyhoření a psychické problémy a předal právo udržovatele Jiovi Tanovi. Poté se uživatel Jigar Kumar v mailing listu více neobjevil.

Jakmile získal práva udržovatele, Jiou Tan začal aktivně přidávat změny do projektu a podle statistik za dva roky obsadil druhé místo mezi vývojáři z hlediska počtu změn. V březnu 2023 byl odpovědný za testování balíčku xz na službě oss-fuzz nahrazen Jiou Tanem z Lasse Collina a v červnu byly do xz přijaty změny, které do liblzma přidaly podporu mechanismu IFUNC (konstruktor crc64_fast byl nahrazen ifunc), který byl později použit k zajištění zachycení funkcí v backdooru. Změnu navrhl Hans Jansen, a Jiou Tan ji přijal do xz. Účet Hanse Jansena byl vytvořen přímo před odesláním pull requestu.

V červenci 2023 Jia Tan požádal vývojáře oss-fuzz o deaktivaci kontroly ifunc kvůli její nekompatibilitě s režimem „-fsanitize=address“. Na začátku února 2024 byla adresa projektu v oss-fuzz a na hlavní stránce tukaani.org změněna z „tukaani.org/xz/“ na „xz.tukaani.org“, přičemž subdoména „xz.tukaani.org“ byla hostována na GitHub Pages a byla osobně řízena Jia Tanem. Dne 23. února byly v repozitáři xz zveřejněny archivy pro testování funkčnosti dekodéru, mezi kterými byly soubory bad-3-corrupt_lzma2.xz a good-large_compressed.lzma se skrytým backdoorem. M4 makra pro aktivaci backdooru byla zahrnuta pouze v tar archivu s vydáním 5.6.0 a byla vyloučena z Git repozitáře, ale objevila se ve souboru .gitignore.

17. března byl Hans Jansen, který předtím vyvinul patche s podporou IFUNC, zaregistrován jako účastník projektu Debian, a 25. března mu byla zaslána žádost o aktualizaci verze balíčku xz-utils v repozitáři Debian. Žádosti o aktualizaci verze byly také zaslány vývojářům Fedora a Ubuntu (v repozitáři Ubuntu byla fáze mražení a změna byla odmítnuta).

K žádostem o aktualizaci verze xz se také připojili někteří uživatelé, kteří tvrdili, že nová verze odstranila závady, které bránily správné funkci, zjišťované při ladění ve valgrind (problémy vznikaly kvůli nesprávnému zjištění rozložení zásobníku v obslužné rutině backdooru a tyto problémy se vývojáři backdooru snažili vyřešit ve verzi xz 5.6.1). Závadou se také zabýval Andres Freund, zaměstnanec Microsoftu, který se podílí na vývoji PostgreSQL, který odhalil přítomnost backdooru a informoval o tom komunitu.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster