Вада regreSSHion: поглиблений аналіз CVE-2024-6387 в OpenSSH
Вступ
Виявлення CVE-2024-6387, відомої як вада regreSSHion, — знакова подія в ландшафті кібербезпеки. Ця вразливість віддаленого виконання коду (RCE) без автентифікації в сервері OpenSSH (sshd) впливає на Linux-системи на основі glibc, становлячи серйозний ризик безпеці. Примітно, що ця вада дає повний root-доступ без взаємодії з користувачем і зачіпає версії OpenSSH від 8.5p1 до 9.8p1 (не включно). У цій статті ми детально розглянемо технічні деталі, потенційний вплив і стратегії пом’якшення цієї критичної вразливості.
Передумови regreSSHion
Виявлення та природа
Вразливість ідентифіковано як регресію CVE-2006-5051 — раніше виправленої вади 2006 року. Регресія в цьому контексті означає, що раніше виправлена вада знову з’явилася в новішому випуску програмного забезпечення, часто через зміни коду чи оновлення, які ненавмисно повторно вносять проблему. Цю регресію було внесено в жовтні 2020 року разом з OpenSSH 8.5p1.
Важливість регресійного тестування
Повторна поява цієї вразливості підкреслює критичну важливість ретельного регресійного тестування в розробці програмного забезпечення. Належне регресійне тестування гарантує, що виправлені вразливості не з’являються знову в майбутніх версіях, зберігаючи цілісність безпеки програмного забезпечення.
Що таке OpenSSH
OpenSSH — це набір безпечних мережевих утиліт на основі протоколу SSH, необхідних для захищеної комунікації через незахищені мережі. Він забезпечує надійне шифрування, безпечне передавання файлів і віддалене керування серверами. OpenSSH широко використовується в Unix-подібних системах, зокрема macOS і Linux, і підтримує різні технології шифрування, застосовуючи надійний контроль доступу.
Технічні деталі CVE-2024-6387
Уразливі версії
- OpenSSH < 4.4p1: уразливий до стану гонитви обробника сигналів, якщо не пропатчено для CVE-2006-5051 і CVE-2008-4109.
- 4.4p1 ≤ OpenSSH < 8.5p1: не уразливий завдяки трансформаційному патчу для CVE-2006-5051.
- 8.5p1 ≤ OpenSSH < 9.8p1: знову уразливий через випадкове видалення критичного компонента у функції.
Механізм експлуатації
Вразливість експлуатує стан гонитви обробника сигналів у sshd. Якщо клієнт не автентифікується протягом LoginGraceTime секунд, обробник SIGALRM викликається асинхронно, але цей обробник викликає різні функції, що не є безпечними для асинхронних сигналів (async-signal-safe), як-от syslog(). Цей стан гонитви впливає на sshd у його конфігурації за замовчуванням.
Потенційний вплив regreSSHion
У разі експлуатації regreSSHion може призвести до повного захоплення системи, даючи зловмисникам змогу виконувати довільний код із привілеями root. Це може призвести до:
- Встановлення шкідливого ПЗ: зловмисники можуть встановити шкідливе програмне забезпечення для сталого контролю над системою.
- Маніпулювання даними та їх викрадання: конфіденційними даними можуть маніпулювати або викрасти їх.
- Поширення мережею: скомпрометовані системи можуть використовуватися для атак на інші системи в мережі.
- Обхід механізмів безпеки: критичні засоби контролю безпеки, як-от брандмауери та системи виявлення вторгнень, можна обійти, приховуючи дії зловмисника.
Складнощі експлуатації
Експлуатація цієї вразливості ускладнена через природу стану гонитви та сучасні механізми безпеки, як-от рандомізація розташування адресного простору (ASLR). Однак прогрес у техніках експлуатації, потенційно із залученням глибокого навчання, може підвищити ймовірність успішних атак.
Стратегії пом’якшення
Негайні дії
- Управління патчами: негайно застосуйте наявні патчі для OpenSSH і підтримуйте надійний процес управління патчами, щоб забезпечити своєчасні оновлення.
- Посилений контроль доступу: обмежте доступ по SSH за допомогою мережевих засобів контролю, щоб мінімізувати вразливість до атак.
- Сегментація мережі та виявлення вторгнень: упровадьте сегментацію мережі, щоб обмежити несанкціонований доступ, і розгорніть системи виявлення вторгнень для моніторингу та сповіщення про підозрілу активність.
Довгострокові рішення
- Управління поверхнею атаки ResilientX: використовуйте інструменти на кшталт ResilientX Security Unified Exposure Management (UEM), щоб виявляти вразливі активи на вашій поверхні атаки та управляти ними.
- Сканер мережевої безпеки ResilientX: скануйте зовнішні та внутрішні ресурси за допомогою сканера мережевої безпеки ResilientX і тестуйте всі свої локальні, гібридні та хмарні активи.
Технічні деталі та розробка експлойта
Поглиблений аналіз
Технічні деталі вразливості regreSSHion передбачають складне маніпулювання пам’яттю та процесами.
- Виявлення корисних шляхів коду: пошук шляхів коду, які, якщо їх перервати в потрібний момент, залишають sshd в експлуатовному стані.
- Стратегія віддаленого таймінгу: розробка стратегії таймінгу для підвищення шансів перервати процеси sshd у потрібний момент.
- Маніпулювання пам’яттю: використання специфічних патернів виділення та звільнення пам’яті для створення експлуатовних умов у купі (heap) sshd.
Практичні приклади експлуатації
- Старі версії OpenSSH (3.4p1 і 4.2p1): продемонстровано експлуатацію стану гонитви шляхом маніпулювання виділеннями купи та операціями звільнення для досягнення віддаленого виконання коду.
- Сучасна версія OpenSSH (9.2p1): показано складність експлуатації найновішої версії із залученням витончених технік пошкодження купи для контролю над критичними структурами даних, як-от структури FILE.
Висновок
Вада regreSSHion (CVE-2024-6387) в OpenSSH — критична вразливість, що потребує негайної уваги. Її потенціал для віддаленого виконання коду з привілеями root становить значну загрозу для вражених систем. Організації мають пріоритезувати встановлення патчів та впровадити надійні заходи безпеки, щоб пом’якшити ризики, пов’язані з цією вразливістю. Безперервний моніторинг, своєчасні оновлення та передові інструменти безпеки є необхідними для захисту систем від таких вразливостей із високим впливом.
