Дослідницький підрозділ Qualys Threat Research Unit (TRU) повідомив про виявлення комплексу з дев’яти уразливостей у модулі безпеки AppArmor ядра Linux, який отримав назву CrackArmor. Експлуатація цих помилок дає змогу непривілейованим користувачам обходити механізми контролю доступу, підвищувати привілеї до рівня root і прориватися за межі контейнерів, що робить проблему критичною для корпоративних інфраструктур, хмарних платформ і багатокористувацьких середовищ.
Роль AppArmor у безпеці Linux та чому CrackArmor такий небезпечний
AppArmor — це модуль Mandatory Access Control (MAC), вбудований у ядро Linux, який застосовує додаткові політики безпеки до процесів на основі спеціальних профілів. На відміну від класичних UNIX-пермішенів, MAC-контроль не прив’язаний лише до прав користувача або групи, а описує, які саме операції дозволені конкретному застосунку, зменшуючи наслідки експлуатації як відомих, так і ще не виявлених уразливостей.
Починаючи з Linux 2.6.36, AppArmor входить до основної гілки ядра і за замовчуванням використовується у популярних дистрибутивах Ubuntu, Debian, SUSE та їх похідних. У багатьох організаціях саме AppArmor є одним із ключових елементів захисту серверів, хостів контейнерів і робочих станцій. Саме тому поява CrackArmor особливо тривожна: атака спрямована на компонент, покликаний підсилювати безпеку Linux.
CrackArmor: технічна сутність уразливостей AppArmor
Атаки типу confused deputy проти ядра Linux
Усі дев’ять уразливостей CrackArmor належать до класу confused deputy. Йдеться про ситуацію, коли менш привілейований процес змушує більш привілейований компонент системи виконувати дії від його імені. У контексті AppArmor зловмисник може взаємодіяти з модулем через спеціальні псевдофайли у файловій системі ядра, підміняючи логіку прийняття рішень. У результаті AppArmor, який мав би обмежувати доступ, починає виступати у ролі «заплутаного посередника» і здійснювати операції, безпосередньо заборонені для поточного користувача.
Маніпуляція профілями, DoS та підвищення привілеїв
За даними Qualys TRU, помилки присутні у коді AppArmor щонайменше з 2017 року і зачіпають усі версії ядра Linux починаючи з 4.11 у дистрибутивах, де AppArmor активований. Непривілейований атакувальник може: змінювати або підміняти профілі AppArmor для системних сервісів; відключати захист критично важливих демонів; примусово переводити профілі в режим «deny-all», викликаючи відмову в обслуговуванні (DoS); у поєднанні з помилками парсингу профілів на рівні ядра — досягати локального підвищення привілеїв (LPE) аж до виконання довільного коду у контексті ядра.
Окремо виділяється можливість обходу обмежень на user namespaces, зокрема в Ubuntu, де їх використання навмисно звужене через ризики безпеки. Успішна атака дозволяє непривілейованим користувачам створювати «повноцінні» простори імен, що напряму впливає на ізоляцію контейнерів і спрощує breakout-атаки в хмарних та мультиорендних середовищах.
Масштаб впливу та реальні сценарії атак на Linux
За оцінками Qualys, під загрозою перебуває понад 12,6 млн корпоративних інсталяцій Linux з увімкненим AppArmor. Реальна кількість вразливих систем може бути суттєво більшою з урахуванням хмарних сервісів, віртуалізованих середовищ і контейнерних оркестраторів, де Linux із AppArmor використовується як стандарт де-факто.
Від відключення сервісів до повного компромету контролю над системою
Наслідки експлуатації CrackArmor залежать від конфігурації, але потенційні вектори атак включають: виведення з ладу ключових сервісів, що відповідають за аутентифікацію, журналювання чи мережеві функції; модифікацію критичних файлів на кшталт /etc/passwd для організації входу без пароля або створення прихованих облікових записів; розкриття механізму KASLR (Kernel Address Space Layout Randomization) та витік інформації про розташування ядра в пам’яті, що спрощує побудову надійних ROP-ланцюжків і подальшу експлуатацію інших уразливостей.
За рівнем ризику CrackArmor порівнюють з відомою локальною уразливістю Dirty COW (CVE-2016-5195), яка також дозволяла непривілейованим користувачам ставати root. Проте у випадку CrackArmor під ударом опиняється механізм посиленого контролю доступу, який часто вважається додатковим «щитом» згідно з корпоративними політиками безпеки Linux.
Як захистити Linux-середовище від CrackArmor: пріоритет — оновлення ядра
Qualys TRU наразі утримується від публікації робочих proof-of-concept експлойтів, щоб дати час виробникам дистрибутивів підготувати оновлення, а адміністраторам — їх встановити. Водночас публічне розкриття технічних деталей значно підвищує ймовірність того, що незалежні дослідники або зловмисники відтворять атаки самостійно.
За словами Саїда Аббасі, старшого менеджера Qualys TRU, єдиним надійним засобом протидії CrackArmor є своєчасне оновлення ядра Linux; тимчасові обхідні рішення не забезпечують повноцінного рівня безпеки. Рекомендується оперативно встановити патчі ядра, випущені розробниками дистрибутивів, з особливим акцентом на сервери аутентифікації, бази даних, хости контейнерів та інші вузли з активним використанням профілів AppArmor.
У короткостроковій перспективі доцільно посилити моніторинг безпеки: відстежувати спроби зміни профілів AppArmor, нетипові операції з user namespaces, підозрілі створення контейнерів і нестандартні дії непривілейованих користувачів. Там, де негайне оновлення ядра неможливе, варто обмежити локальний доступ, жорстко застосувати принцип найменших привілеїв та включити перевірку уразливості CrackArmor до регулярних процедур управління уразливостями й аудиту безпеки.
CrackArmor демонструє, що навіть зрілі механізми, такі як AppArmor, можуть стати точкою входу для атак з підвищенням привілеїв у Linux. Організаціям варто використати цей інцидент як привід переглянути стратегію захисту: оновити ядро й системні компоненти, посилити контроль за контейнерною ізоляцією, автоматизувати управління патчами та інвестувати в безперервний моніторинг уразливостей. Чим швидше будуть встановлені оновлення і приведені у відповідність політики безпеки, тим нижчою буде ймовірність того, що CrackArmor стане основою для реальних атак на продуктивні Linux-середовища.