Зірвана атака на ланцюг поставок XZ Utils готувалася роками. Тепер є докази того, що хакери національної держави стояли за особою, яка вставила шкідливий код.
Атаки на ланцюги поставок програмного забезпечення — все більш поширена техніка злому, яка приховує зловмисний код у широко використовуваній законній програмі — можуть мати різні форми. Хакери можуть проникнути на сервер оновлень, щоб виявити зловмисне програмне забезпечення, або навіть зламати мережу, де було розроблено програмне забезпечення, щоб пошкодити його в джерелі. Або, у випадку одного особливо підступного зловмисника з ланцюга постачання програмного забезпечення, відомого як Цзя Тан, вони можуть витратити два роки, ввічливо та з ентузіазмом, добровільно допомагаючи.
У вихідні дні спільнота кібербезпеки та програмного забезпечення з відкритим кодом була шокована новиною про те, що відносно нова, експериментальна версія XZ Utils — утиліти для стиснення, інтегрованої в багато популярних дистрибутивів Linux — містить бекдор, який дозволяв хакерам отримати спеціальний закритий ключ для підключення до бекдорованої системи та виконання власних команд від імені адміністратора. Лише якась випадкова детективна робота, виконана самотнім інженером Microsoft Андресом Фройндом, який виявив дивну затримку в тому, як протокол віддаленого з’єднання SSH працював у версії Linux-варіанту Debian, виявила шпигунський трюк до того, як він потрапив у багато мільйонів систем по всьому світу.
Цей бекдор XZ Utils, як тепер зрозуміло, вставив не хто інший, як провідний менеджер із відкритим кодом XZ Utils, розробник під ім’ям Цзя Тан. Після його відкриття таємниця, що пронизує світ технологій після відкриття бекдору, залишається: хто такий Цзя Тан і на кого він чи вона — або, ймовірно, вони — справді працювали?
Цзя Тан використав краудсорсинговий підхід програмного забезпечення з відкритим кодом до кодування, за допомогою якого будь-хто може запропонувати зміни до програми в сховищах коду, таких як GitHub, де зміни переглядаються іншими програмістами, перш ніж їх інтегрують у програмне забезпечення. Огляд задокументованої історії Jia Tan у світі програмування з відкритим кодом показує, що вони вперше з’явилися в листопаді 2021 року під ім’ям користувача GitHub JiaT75, а потім робили внески в інші проекти з відкритим кодом, використовуючи ім’я Jia Tan або іноді Jia Cheong Tan протягом більше ніж за рік до початку внесення змін до XZ Utils. До січня 2023 року код Цзя Тана інтегрували в XZ Utils.
Протягом наступного року вони значною мірою переберуть контроль над проектом у його початкового супроводжуючого, Лассе Колліна, зміна частково викликана настирливими електронними листами, які надіслали Колліну кілька користувачів, які скаржилися на повільне оновлення. (Залишається незрозумілим, чи були ці користувачі мимовільними спільниками, чи вони насправді працювали з Джіа Таном, щоб переконати Колліна відмовитися від контролю. Жоден із користувачів не відповів на запити коментарів від WIRED.) Нарешті Цзя Тан додав свій прихований бекдор до версії XZ. Комунальні послуги в лютому цього року.
Цей нелюдськи терплячий підхід разом із технічними характеристиками та витонченістю самого бекдору змусив багатьох у світі кібербезпеки повірити, що Цзя Тан насправді має бути керованим хакерами, спонсорованими державою, і дуже хорошими. «Ця багаторічна операція була дуже хитрою, а імплантований бекдор неймовірно оманливий», — каже Костін Раю, який минулого року працював старшим науковим співробітником і керівником глобальної дослідницької та аналітичної групи російської фірми з кібербезпеки Kaspersky. «Я б сказав, що це група, яка підтримується національною державою, має на увазі довгострокові цілі та дозволяє інвестувати в багаторічне проникнення в проекти з відкритим кодом».
Що стосується країни, Раю називає звичайних підозрюваних: Китай, Росія та Північна Корея. Він каже, що ще зарано знати справжнього винуватця. «Одне точно ясно», — додає він. «Це було хитріше, ніж усі попередні атаки на ланцюг поставок програмного забезпечення, які я бачив».
Дуже приватний, дуже зайнятий програміст
У зв’язку з тим, що минулої п’ятниці було виявлено бекдор XZ Utils, дослідники відзначили, що ця особа має надзвичайно хорошу операційну безпеку. Незалежний репортер із питань безпеки Брайан Кребс пише, що він міг знайти «нульовий слід» електронної адреси Джіа Тана за межами повідомлень, які він надсилав іншим учасникам відкритого коду, навіть після перевірки зламаних баз даних. Jia Tan також, схоже, направляв усі свої комунікації через VPN із сінгапурською IP-адресою.
Відсутність будь-якої іншої онлайн-присутності, пов’язаної з Джіа Таном, вказує на те, що обліковий запис є «вигаданою персоною для однієї мети», і вказує на те, скільки витонченості, терпіння та думок було вкладено в розробку бекдору, каже Вілл Томас, інструктор з SANS Institute, навчальна фірма з кібербезпеки. Особа Джіа Тана зникла після того, як було виявлено бекдор, а листи, надіслані WIRED на пов’язану з ним адресу Gmail, залишилися без відповіді. Обліковий запис Цзя Тана на Github призупинено, повідомив WIRED представник компанії.
Насправді, єдиним реальним слідом, який Цзя Тан залишив після себе, був їхній внесок у спільноту розробників з відкритим кодом, де вони були плідними учасниками: тривожно те, що перша зміна коду Джіа Тана була в бібліотеці стиснення «libarchive», ще одна дуже широко поширена. використаний компонент з відкритим кодом. Ця перша зміна замінила одну функцію на менш безпечну альтернативу, потенційно спробувавши ще одну зміну зловмисного коду, зазначає розробник Еван Боех у своїй детальній часовій шкалі Джіа Тана, хоча згодом проблему вирішено.
За словами Майкла Скотта, співзасновника фірми з кібербезпеки NetRise, який раніше працював у групі кібервійни Корпусу морської піхоти під керівництвом кіберкомандування США, Цзя Тан вніс 6000 змін у код принаймні семи проектів у період з 2021 року по лютий цього року. Визначити всі ефекти розгалуження цих змін майже неможливо, каже Скотт. Оскільки ці зміни, відомі як «коміти», часто групуються в колекції в процесі, відомому як «сквошинг-коміти», не завжди зрозуміло, які саме зміни вніс Джіа Тан. І складність відстеження того, яка з багатьох версій бібліотеки, як-от libarchive, опинилася в якому програмному забезпеченні, додає ще один рівень обфускації. «Буде певний безлад, тягнучи за цю тему й намагаючись з’ясувати, куди всі ці речі поділися», — каже Скотт.
Скотт зазначає, що протягом цього часу Цзя Тан також листувався електронною поштою з іншими учасниками, писав «дуже лаконічним, дуже сухим», але не неприязним тоном, який Скотт порівнює з результатами ChatGPT. «Гарна робота для вас обох за те, що ви отримали цю функцію настільки, наскільки вона є», — написав Джіа Тан. Або в іншому випадку: «Дайте мені знати ваші думки щодо цих патчів, коли у вас буде така можливість :)». Джорді Мас, розробник, який брав участь у XZ Utils і надіслав електронною поштою «відгук» від Цзя Тана, каже заднім числом, що обліковий запис надійшов до додаткові рівні для формування довіри до особистості.
Зрештою, Скотт стверджує, що ті три роки змін коду та ввічливих електронних листів, швидше за все, були витрачені не на саботаж кількох проектів програмного забезпечення, а скоріше на створення історії довіри під час підготовки до саботажу конкретно над XZ Utils — і, можливо, іншими проектами в майбутньому. «Він просто не дійшов до цього кроку, тому що нам пощастило і ми знайшли його речі», — каже Скотт. «Тож це вже спалено, і йому доведеться повернутися до початку».
Технічні тики та часові пояси
Незважаючи на те, що Цзя Тан є самотньою особою, їхня багаторічна підготовка є ознакою добре організованої державної хакерської групи, стверджує Райу, колишній провідний дослідник Kaspersky. Цзя Тан також додав технічні ознаки шкідливого коду XZ Utils. Райу зазначає, що на перший погляд код справді виглядає як інструмент стиснення. «Це написано в дуже підривній манері», — каже він. Раю каже, що це також «пасивний» бекдор, тому він не зв’яжеться з командно-контрольним сервером, який може допомогти ідентифікувати оператора бекдору. Замість цього він чекає, поки оператор підключиться до цільової машини через SSH і автентифікується за допомогою закритого ключа, створеного за допомогою особливо сильної криптографічної функції, відомої як ED448.
Ретельний дизайн бекдору міг бути роботою американських хакерів, зазначає Райу, але він припускає, що це малоймовірно, оскільки США зазвичай не саботують проекти з відкритим вихідним кодом, а якби це було, АНБ, ймовірно, використовувало б квантово-стійку криптографічну функцію. , яким ED448 не є. Раю припускає, що це залишає неамериканські групи з історією атак на ланцюги поставок, як-от китайська APT41, північнокорейська Lazarus Group і російська APT29.
З першого погляду Цзя Тан виглядає східноазіаткою або такою має бути. Часовий пояс зобов’язань Цзя Тана — UTC+8: це часовий пояс Китаю, і лише на годину менше, ніж у Північній Кореї. Однак аналіз, проведений двома дослідниками, Ріою Карті та Саймоном Хеннігером, показує, що Цзя Тан, можливо, просто змінив часовий пояс свого комп’ютера на UTC+8 перед кожним комітом. Насправді кілька комітів було зроблено з комп’ютером, налаштованим на східноєвропейський часовий пояс замість цього, можливо, коли Джіа Тан забув внести зміни.
«Ще одним свідченням того, що вони не з Китаю, є той факт, що вони працювали під час відомих китайських свят», — кажуть Карті та Хеннігер, студенти Дартмутського коледжу та ТУ Мюнхена відповідно. Boehs, розробник, додає, що більшість робіт починається о 9 ранку та закінчується о 5 вечора для східноєвропейських часових поясів. «Часовий діапазон комітів свідчить про те, що це був не якийсь проект, який вони робили поза роботою», — каже Боес.
Усі ці підказки ведуть до Росії, а саме до російської хакерської групи APT29, стверджує Дейв Айтел, колишній хакер АНБ і засновник фірми з кібербезпеки Immunity. Айтел зазначає, що APT29, який, як вважають, працює на російську зовнішню розвідку, відому як SVR, має репутацію технічної допомоги, яку демонструють небагато інших хакерських груп. APT29 також здійснив компроміс Solar Winds, можливо, найбільш спритно скоординовану та ефективну атаку на ланцюжок поставок програмного забезпечення в історії. Ця операція набагато більше відповідає стилю бекдора XZ Utils, ніж більш грубі атаки на ланцюг поставок APT41 або Lazarus.
«Це цілком міг бути хтось інший», — каже Айтель. «Але я маю на увазі, що якщо ви шукаєте найскладніші зловмисні операції на планеті, це будуть наші дорогі друзі з SVR».
Дослідники безпеки принаймні погоджуються з тим, що малоймовірно, що Цзя Тан є реальною людиною або навіть однією людиною, яка працює сама. Натомість здається очевидним, що персона була онлайн-втіленням нової тактики нової, добре організованої організації — і такої, яка майже спрацювала. Це означає, що ми повинні очікувати повернення Джіа Тан під іншими іменами: начебто ввічливі та захоплені учасники проектів з відкритим кодом, які приховують таємні наміри уряду у своїх кодових зобов’язаннях.
