Подробиці про другий злом Matrix. Скомпрометовані GPG-ключі проекту

[: Ru]

Опубліковано нові подробиці про злам інфраструктури децентралізованої платформи обміну повідомленнями Matrix, про який повідомлялося вранці. Проблемною ланкою, через яку проникли атакуючі, була система безперервної інтеграції Jenkins, яка була зламана ще 13 березня. Потім на сервері з Jenkins було перехоплено перенаправлений SSH-агентом вхід одного з адміністраторів і 4 квітня атакуючі отримали доступ до інших серверів інфраструктури.

При другій атаці сайт matrix.org був перенаправлений на інший сервер (matrixnotorg.github.io) через зміну параметрів DNS, використовуючи ключ, перехоплений при першій атаці до API системи доставки контенту Сloudflare. При пересборі вмісту серверів після першого зламу адміністратори Matrix оновили тільки нові персональні ключі та пропустили оновлення ключа до Сloudflare.

У ході другої атаки сервери Matrix залишилися недоторканими, зміни обмежилися лише заміною адрес DNS. Якщо користувач вже змінив пароль після першої атаки, вдруге його міняти не потрібно. Але якщо пароль досі не змінено, його потрібно оновити якнайшвидше, тому що витік бази з хешами паролів підтверджено. Наразі планується ініціювати процес примусового скидання пароля при наступному вході.

Крім витоку паролів також підтверджено попадання в руки атакуючих GPG-ключів, які використовуються для формування цифрових підписів пакетів у Debian-репозиторії Synapse та релізів Riot/Web. Ключі були захищені паролем. Наразі ключі вже відкликані. Ключі були перехоплені 4 квітня, відтоді оновлення Synapse не випускалося, але був реліз клієнта Riot/Web 1.0.7 (попередня перевірка показала, що він не був скомпрометований).

Атакуючий розмістив на GitHub серію звітів з подробицями атаки та порадами щодо збільшення захисту, але вони були видалені. Тим не менш, в архіві звіти збереглися.
Наприклад, зломщик повідомив, що розробникам Matrix слід було використовувати двофакторну аутентифікацію або хоча б не використовувати перенаправлення SSH-агентом (ForwardAgent yes), тоді проникнення в інфраструктуру було б блоковано. Ескалацію атаки також можна було зупинити надаючи розробникам лише необхідні привілеї, а не повний root-доступ на всіх серверах.

Додатково розкритикована практика зберігання ключів для створення цифрових підписів на робочих серверах, для таких цілей варто було б виділити окремий ізольований хост. Ще атакуючий повідомивЯкби розробники Matrix регулярно проводили аудит логів і аналізували аномалії, вони помітили б сліди злому на ранньому етапі (злом CI залишався непоміченим цілий місяць). Ще однією проблемою було зберігання всіх файлів конфігурації в Git, що дозволяло оцінити налаштування інших хостів при зламі одного з них. Доступ по SSH до серверів інфраструктури не був обмежений захищеною внутрішньою мережею, що дозволяло підключитися до них із будь-якої зовнішньої адреси.

Джерелоopennet.ru

[En]

Опубліковано нові подробиці про злам інфраструктури децентралізованої платформи обміну повідомленнями Matrix, про який повідомлялося вранці. Проблемною ланкою, через яку проникли атакуючі, була система безперервної інтеграції Jenkins, яка була зламана ще 13 березня. Потім на сервері з Jenkins було перехоплено перенаправлений SSH-агентом вхід одного з адміністраторів і 4 квітня атакуючі отримали доступ до інших серверів інфраструктури.

При другій атаці сайт matrix.org був перенаправлений на інший сервер (matrixnotorg.github.io) через зміну параметрів DNS, використовуючи ключ, перехоплений при першій атаці до API системи доставки контенту Сloudflare. При пересборі вмісту серверів після першого зламу адміністратори Matrix оновили тільки нові персональні ключі та пропустили оновлення ключа до Сloudflare.

У ході другої атаки сервери Matrix залишилися недоторканими, зміни обмежилися лише заміною адрес DNS. Якщо користувач вже змінив пароль після першої атаки, вдруге його міняти не потрібно. Але якщо пароль досі не змінено, його потрібно оновити якнайшвидше, тому що витік бази з хешами паролів підтверджено. Наразі планується ініціювати процес примусового скидання пароля при наступному вході.

Крім витоку паролів також підтверджено попадання в руки атакуючих GPG-ключів, які використовуються для формування цифрових підписів пакетів у Debian-репозиторії Synapse та релізів Riot/Web. Ключі були захищені паролем. Наразі ключі вже відкликані. Ключі були перехоплені 4 квітня, відтоді оновлення Synapse не випускалося, але був реліз клієнта Riot/Web 1.0.7 (попередня перевірка показала, що він не був скомпрометований).

Атакуючий розмістив на GitHub серію звітів з подробицями атаки та порадами щодо збільшення захисту, але вони були видалені. Тим не менш, в архіві звіти збереглися.
Наприклад, зломщик повідомив, що розробникам Matrix слід було використовувати двофакторну аутентифікацію або хоча б не використовувати перенаправлення SSH-агентом (ForwardAgent yes), тоді проникнення в інфраструктуру було б блоковано. Ескалацію атаки також можна було зупинити надаючи розробникам лише необхідні привілеї, а не повний root-доступ на всіх серверах.

Додатково розкритикована практика зберігання ключів для створення цифрових підписів на робочих серверах, для таких цілей варто було б виділити окремий ізольований хост. Ще атакуючий повідомивЯкби розробники Matrix регулярно проводили аудит логів і аналізували аномалії, вони помітили б сліди злому на ранньому етапі (злом CI залишався непоміченим цілий місяць). Ще однією проблемою було зберігання всіх файлів конфігурації в Git, що дозволяло оцінити налаштування інших хостів при зламі одного з них. Доступ по SSH до серверів інфраструктури не був обмежений захищеною внутрішньою мережею, що дозволяло підключитися до них із будь-якої зовнішньої адреси.

Джерело: opennet.ru

[:]

Додати коментар або відгук