Бекдор впливає на Linux
Нещодавно новина про це заявила у пакеті XZ Utils виявлено бекдор що дозволяє зловмисникам перехоплювати та змінювати оброблені дані програмами, пов’язаними з бібліотекою liblzma. Основна вразливість (вже каталогізована під CVE-2024-3094) Він розташований на сервері OpenSSH, який у деяких дистрибутивах використовує бібліотеку libsystemd, яка, у свою чергу, залежить від liblzma. Пов’язуючи sshd з уразливою версією liblzma, зловмисники можуть отримати доступ до сервера SSH без автентифікації.
Відкриття з бекдору в проекті XZ Utils сталася після виявлення таких проблем, як надмірне споживання ЦП і помилки, створені valgrind під час підключення до систем на базі Debian sid через SSH. Ці проблеми призвели до більш глибокого дослідження, яке виявило наявність бекдору.
Передбачуване Автор бекдору Цзя Тан був активним і поважним розробником проекту xz, зі статусом «супроводжувача» протягом кількох років і значним внеском у розробку кількох версій. Окрім проекту xz, він також брав участь у інших пов’язаних пакетах, таких як xz-java та xz-embedded. Він навіть нещодавно був включений до супроводжувачів проекту XZ Embedded, який використовується в ядрі Linux.
Зловмисну зміну було виявлено після скарг на проблеми з версією xz 5.6.0, які включали бекдор, наприклад уповільнення та збої в роботі sshd. Наступна версія, xz 5.6.1, включала зміни, підготовлені Jia Tan у відповідь на ці скарги, що, можливо, було способом приховати наявність бекдору.
Крім того, згадується, що Цзя Тан зробив несумісні зміни з режимом перевірки «-fsanitize=address» минулого року, який lпризвело до вимкнення фаз-тестування на той час. Ці деталі свідчать про те, що впровадження бекдору було спланованою та прихованою дією в рамках розробки проекту, яка могла скомпрометувати невідому кількість користувачів і проектів, які використовують XZ Utils.
Хоча це уразливість впливає на системи x86_64 на основі ядра Linux і бібліотеки Glibc C який включає sshd з libsystemd для підтримки механізму sd_notify, Кілька факторів пом'якшили вплив. Наприклад, версія liblzma з бекдором не була включена в стабільні випуски великих дистрибутивів, а деякі дистрибутиви, такі як Arch Linux і Gentoo, використовували вразливу версію xz, але не сприйнятливі до атак через певні конфігурації.
Згадується, що активація бекдора була прихована в макросах m4 у файлі build-to-host.m4 використовується під час компіляції, дозволяючи вставляти шкідливий код у бібліотеку liblzma. Цей шкідливий код змінив логіку роботи деяких функцій у бібліотеці, сприяючи несанкціонованому доступу до сервера SSH на уражених системах.
Процес впровадження бекдора в пакет XZ Utils Він включав кілька кроків і прийомів, щоб приховати його присутність і активацію. Макроси m4 використовувалися у файлі build-to-host.m4 під час компіляції для введення шкідливого коду в бібліотеку liblzma. Ці макроси були присутні у файлах tar випуску, але не в репозиторії Git, і були додані до .gitignore. Крім того, шкідливі тестові файли були включені в репозиторій, що передбачає привілейований доступ до процесу створення випуску.
Бекдор було активовано виконанням команди /usr/sbin/sshd і був прихований у неналагоджених або робочих середовищах, уникаючи виявлення на звичайних терміналах. Функція RSA_public_decrypt була підроблена, щоб обійти процес автентифікації sshd, дозволяючи зловмисникам отримати неавторизований доступ до сервера SSH.
Щоб ще більше приховати присутність бекдору, було включено механізми захисту від виявлення та перевірено виконання в середовищах налагодження. Усе це свідчить про передовий рівень планування та технічних знань з боку тих, хто відповідає за бекдор, щоб уникнути виявлення та здійснити успішні атаки на уражені системи.
Якщо вам цікаво дізнатися більше про це, ви можете ознайомитися з деталями У наступному посиланні.