Ретроспектива на внедряването на бэкдора в пакета xz

Предполагаемият бэкдор в пакета xz е бил внедрен от разработчика Jia Tan, който е получил статуса на поддържащ от 2022 година и е издавал версии от 5.4.2 насам. Освен проекта xz, предполагаемият автор на бэкдора е участвал и в разработката на пакетите xz-java и xz-embedded, като е бил включен в списъка на мейнтейнерите на проекта XZ Embedded, който се използва в ядрото на Linux.

В организацията на промоцията на бэкдора са забелязани още двама участника — Jigar Kumar и Hans Jansen, които, съдейки по всичко, са виртуални персонажи. Jigar Kumar през април 2022 година е оказал натиск за приемането на ранни патчове на Jia Tan в xz с реализирана поддръжка на стринг филтри и е оказвал морален натиск на Lasse Collin, който е бил поддържащ по онова време, критикувайки го, че не може да изпълнява задълженията си и не приема полезни патчове. През юни Lasse Collin е признал, че проектът се нуждае от нов поддържащ, оплаквайки се от изтощение и проблеми с психичното здраве, и е предал правото на мейнтейнер на Jia Tan. След това, потребителят Jigar Kumar не се е появявал повече в мейл листа.

След като получи правата на мейнтейнер, Jia Tan започна активно да добавя промени в проекта и според статистиката за две години зае втора позиция сред разработчиците по брой промени. През март 2023 година отговорният за тестването на пакета xz в сервиз oss-fuzz беше сменен от Lasse Collin на Jia Tan, а през юни в състава на xz бяха приети промени, добавящи в liblzma поддръжка на механизма IFUNC (конструкторът crc64_fast беше заменен с ifunc), който по-късно беше използван за организиране на прихващане на функции в бэкдора. Промените предложи Hans Jansen, а Jia Tan ги прие в състава на xz. Профилът на Hans Jansen беше създаден непосредствено преди изпращането на pull-запроса.

През юли 2023 г. Jia Tan изпрати на разработчиците на oss-fuzz искане за деактивиране на проверката ifunc поради несъвместимост с режима „-fsanitize=address“. В началото на февруари 2024 г. линкът към сайта на проекта в oss-fuzz и на главната страница на tukaani.org беше променен от „tukaani.org/xz/“ на „xz.tukaani.org“, където поддомейнът „xz.tukaani.org“ беше разположен в услугата GitHub Pages и контролирани лично от Jia Tan. На 23 февруари в хранилището xz бяха качени архиви за тестване на работата на декодера, сред които бяха файловете bad-3-corrupt_lzma2.xz и good-large_compressed.lzma с скрит бекдор. M4 макросите за активиране на бекдора бяха включени само в tar архива с версия 5.6.0 и бяха изключени от Git хранилището, но се появиха в файла .gitignore.

На 17 март Hans Jansen, който преди това разработи пачове с поддръжка на IFUNC, беше регистриран като участник в проекта Debian, а на 25 март той изпрати искане за актуализиране на версията на пакета xz-utils в хранилището на Debian. Искаха актуализации на версията и от разработчиците на Fedora и Ubuntu (в Ubuntu хранилището беше в етап на замразяване и промяната беше отхвърлена).

К исканията за актуализиране на версията xz се присъединиха и някои потребители, които заявиха, че в новата версия са отстранени пречките за работата, установени по време на отстраняване на проблеми в valgrind (проблемите възниквали поради неправилно определяне на подредбата на стека в обработчика на бекдора и тези проблеми разработчиците на бекдора се опитали да отстранят в версия xz 5.6.1). За срива се заинтересува и Андрес Фройнд, служител на Microsoft, участващ в разработката на PostgreSQL, който откри наличието на бекдор и уведоми за това общността.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster