Комментарии и пояснения к


Вы здесь: Авторские колонки FantLab > Авторская колонка «mputnik» > Комментарии и пояснения к статье «CVE-2024-1709 и массовая атака на медицинские учреждения США» (портал Хабр)
Поиск статьи:
   расширенный поиск »

Комментарии и пояснения к статье «CVE-2024-1709 и массовая атака на медицинские учреждения США» (портал Хабр)

Статья написана 27 февраля 11:19

В статье речь идет об эксплуатации уязвимости нулевого дня CVE-2024-1709, позволяющей обойти аутентификацию и получить неограниченный доступ к серверам и машинам, которые управляются с помощью программного обеспечения (далее — ПО) удаленного рабочего стола ConnectWise ScreenConnect. Данное ПО повсеместно используется в медицинских и фармацевтических учреждениях США.

ПРИМЕЧАНИЕ: Уязвимость нулевого дня — термин, обозначающий не устранённые уязвимости, а также вредоносные программы, против которых ещё не разработаны защитные механизмы. Сам термин означает, что у разработчиков было 0 дней на исправление дефекта: уязвимость или атака становится публично известна до момента выпуска производителем ПО исправлений ошибки (то есть потенциально уязвимость может эксплуатироваться на работающих копиях приложения без возможности защититься от неё).

Прямо сейчас с помощью данного дефекта ПО реализована массовая атака на медицинские и фармацевтические учреждения США, включая взлом систем самой крупной страховой компании в стране United Healthcare, который затронул медицинские записи 85 миллионов пациентов.

Пикантность данной ситуации заключается в том, что причина катастрофы — исключительно в области качества ПО, и никакого отношения к, собственно, кибербезопасности — не имеет. Предотвратить катастрофу за счет выполнения простейших рекомендаций — не составило бы никакого труда.

Далее — «своими словами», чтобы было понятно любому, даже более чем далекому от программирования индивидууму: что конкретно эксплуатировали хакеры, какой дефект исходного кода:

1. В определенном месте программы выполнялась проверка факта завершения изначальной установки обновляемого сегмента программы.

2. Для проверки использовалось сравнение параметра, указываемого в определенном параметре определенной функции и данных, указываемых по определенному программному адресу.

3. Если эти две строки символов совпадали то выполнялась дальнейшая проверка на то, завершен ли режим установки (и если режим установки уже завершен, то обработчик событий позволял программе выполняться дальше).

4. Ошибка программиста заключалась в том, что если эти две строки НЕ совпадали, то функция — просто возвращала признак «нормального продолжения процесса» (то есть позволяла проникнуть в систему неидентифицированному пользователю).

5. Программист в этом месте кода при создании программы «просто устал», видимо. И — допустил «досадную помарку» в коде, не завершив выполнение стандартнейшей программной конструкции.

6. Которая (помарка) — весьма проблематично обнаруживается самим программистом, зато — элементарно выявляется стандартными средствами тестирования качества исходного кода.

7. ИТОГ: для доступа внутрь системы достаточно всего лишь обратиться к любому адресу, который начинается с определенных символов. Поскольку сравниваемые строки не будут совпадать, то проверка на то, завершена ли установка, не будет выполнена, и обработчик событий позволит продолжить обработку запроса. Соответственно любой желающий может заново запустить систему.

8. После того, как злоумышленник получает доступ к эксплуатируемому ПО, он может создать новую учетную запись администратора, и с помощью функционала расширений (extensions) загрузить любой произвольный код, который будет выполняться на атакуемой машине от имени системного пользователя.

9. Таким образом мы имеем классическую ситуацию из предыдущей истории «борьбы за качество»:

*** уставший и вымотанный монотонным трудом работник допускает оплошность и не видит своей ошибки;

*** мастер, организующий процедуры технического контроля, экономит своё время, не активирую необходимые процедуры контроля;

*** специалисты службы безопасности, пренебрежительно отмахиваются от необходимости «проверять пуговицы», у них — своих дел полно, серьезных и важных, им некогда активировать нудные процедуры проверки качества кода (и вообще — это не их обязанность);

*** хакеры — в отличие от мастера и специалистов по ИБ — активируют элементарнейшие проверки и получают «на блюдечке с голубой каёмочкой» перечень необходимых им дефектов.

*** дальше -дело техники.

Вуаля, как говорится. Ловкость рук и никакого мошенничества.

Приятно, что — в данном конкретном случае — можно не искать виноватых и пенять на стрелочника. Он — сам у себя на лбу мишень нарисовал. Полностью самостоятельно. Без понуканий





49
просмотры





  Комментарии
нет комментариев


⇑ Наверх