Главное событие прошлой недели — масштабный сбой ПК по всему миру, вызванный ошибкой в обновлении защитного ПО компании CrowdStrike. По мере распространения обновления для клиентской программы Falcon часть компьютеров, физических и виртуальных серверов у клиентов CrowdStrike падала в «синий экран», причем вывести подверженные системы из этого состояния зачастую можно было только путем принудительной загрузки в безопасный режим и удаления вызывающего сбой файла вручную. Для крупных организаций с большим количеством устройств это максимально неблагоприятный сценарий, на устранение последствий которого требуется много времени.



Наибольший резонанс вызвала не уникальность данного события (подобное происходит далеко не первый раз), а скорее масштаб сбоя, с которым столкнулись множество людей по всему миру. Среди пострадавших были и представители малого бизнеса, например небольшой мотель в США, в котором перестала работать система электронных ключей, а постояльцам рекомендовали временно блокировать двери каким-нибудь тяжелым предметом, покидая номер. Но больше всего сбой был заметен в крупных организациях: как минимум в трех авиакомпаниях в США, в аэропортах по всему миру, в больницах и в службах быстрого реагирования, в банках, онлайн-сервисах и телекомпаниях (подробнее о последствиях — в этой статье на Хабре) По данным компании Microsoft, сбой затронул 8,5 миллионов систем на Windows по всему миру. Это меньше 1% всех компьютеров и серверов под управлением ОС Microsoft. Проблема в том, что в ряде компаний была временно выведена из строя почти вся инфраструктура. На момент подготовки этого материала технические детали сбоя, его подлинная причина еще неизвестны. Тем не менее масштабный сбой породил массу дискуссий, часть из которых мы разберем.

Сухие факты изложены в публикации самой компании CrowdStrike. В пятницу 19 июля в 4:09 утра UTC (7:09 пятницы по московскому времени и 23:09 четверга в Остине, штат Техас, где расположена штаб-квартира CrowdStrike) был выпущен апдейт клиентского ПО (так называемого sensor) продукта CrowdStrike Falcon. В ряде источников говорится о том, что ошибка присутствовала в драйвере ядра, который обеспечивает работу Falcon sensor. Компания это отрицает, называя сбойный апдейт «обновлением конфигурации». Это по сути инструкции для защитного ПО, которые рассылаются клиентам регулярно — несколько раз в день. В файлах обновления с теперь уже хорошо известным именем «C-00000291-*» содержались инструкции по контролю над исполнением данных с использованием стандартного механизма именованных каналов или named pipes. Данный механизм может использоваться вредоносным программным обеспечением, и вполне логично, что защитное ПО содержит методы обнаружения нежелательной активности.

В обновлении присутствовала некая «логическая ошибка», которая и приводила к падению ОС. Через 1 час и 18 минут ошибка была замечена разработчиками и сбойный апдейт был заменен. Соответственно, вышли из строя компьютеры, которые успели получить обновление с ошибкой: из-за неизбежных задержек данного процесса возникала ситуация, когда корпоративные системы (например, кассы в супермаркетах) частично все же работали. В случае физических ПК иногда можно было вернуть систему в строй простой перезагрузкой. Компьютер подключался к Сети, загружал исправленное обновление вместо ошибочного и восстанавливал работу. Если успевал это сделать до очередного падения в синий экран, из-за чего компания рекомендовала использовать проводное подключение к Сети. Но с высокой вероятностью администраторам требовалось загрузиться в безопасный режим, перейти в папку C:\Windows\System32\drivers\CrowdStrike и вручную удалить файлы, начинающиеся с C-00000291-.

Для крупных компаний с большим парком систем даже принудительная перезагрузка каждого компьютера или сервера — плохой сценарий, тем более манипуляции в безопасном режиме, вручную или с использованием предоставленного позднее USB-накопителя или специальной утилиты от Microsoft. Задачу может сильно усложнить использование шифрования с помощью штатного инструмента BitLocker — в таком случае для каждой системы нужно добыть так называемый recovery key. Если сервер, раздающий ключи BitLocker, сам пострадал от сбоя, проблема становится еще «интереснее». Пострадали и виртуальные машины под управлением Windows — для приведения их в чувство обычно достаточно перезагрузки через панель управления, но иногда, по свидетельствам очевидцев, это требовалось сделать 15 раз подряд.

Вернемся к обсуждениям в Сети. Сразу стоит исключить разговоры о преимуществах Mac OS и Linux. Да, пострадали только системы под Windows, но только в этом конкретном инциденте. В апреле другой апдейт ПО той же CrowdStrike привел к падению хостов под Linux как минимум у одного клиента. Нельзя говорить и об уникальности подобного инцидента. В 2010 году компания McAfee выпустила апдейт, который вывел из строя компьютеры под управлением Windows XP SP3. В 2012 году решение Avast удаляло на компьютерах клиентов критически важный системный файл tcpip.sys. Инцидент с CrowdStrike, таким образом, выделяется только за счет масштаба последствий. Регулярная доставка клиентам актуальной информации об угрозах с соответствующими методами защиты — сложный процесс, в котором нельзя исключать возможность ошибки. Задача разработчиков защитного ПО — искать организационные и технические решения, благодаря которым подобные ошибки не влияют на работоспособность инфраструктуры клиентов.

Еще один нарратив по следам сбоя посвящен небезопасности разработки на C/C++. Но об этом говорить еще рано, так как неизвестна точная причина сбоя. Попытки технического анализа предпринимались, но они слегка противоречат друг другу. Вот этот тред в соцсети X/Twitter набрал 28 миллионов просмотров, но его легитимность оспаривает известный исследователь безопасности Тавис Орманди. Не менее известный исследователь Патрик Вардл предлагает свою версию событий. Все они основаны на анализе логов системы под Windows после падения, вероятной причиной которого является обращение к «запрещенной» области памяти. А вот что послужило причиной такого обращения, на момент подготовки материала неизвестно. Не подтвердилась и версия о том, что клиентам был случайно разослан пустой файл, забитый нулями. Чтобы найти причину, нужно детально разобрать логику работы проприетарного программного обеспечения, что, скорее всего, никто из независимых экспертов делать не будет. Остается надеяться на то, что CrowdStrike сдержит обещание и будет максимально подробно сообщать о результатах расследования, — это поможет индустрии в целом сделать так, чтобы подобные инциденты в будущем не повторялись.

Другим ожидаемым последствием данного инцидента стало распространение вредоносного программного обеспечения под видом «решения проблемы с CrowdStrike». Не удивительно, что в первом же сообщении об инциденте генеральный директор CrowdStrike призвал клиентов общаться только с представителями организации.

Что еще произошло

В свежем исследовании компании Cloudflare сообщается о том, что средняя доля мусорного и вредоносного трафика достигла 6,8% по сравнению с 6% годом ранее. 54% этого трафика составляют вредоносные атаки, 37% приходится на DDoS, остальное — на запросы с IP-адресов из черных списков.

В четверг 19 июля также произошел не связанный с CrowdStrike сбой в сервисах Microsoft 365.

В общий доступ попали 15 миллионов e-mail пользователей сервиса Trello.

Комментарии (2)


  1. denis-19
    22.07.2024 17:36
    +1

    Файлы, приведшие к глобальному сбою Windows, можно скачать отсюда.

    Hidden text

    Это файлы конфигурации («файлы каналов»), которые являются частью механизмов поведенческой защиты, используемой для сенсоров Falcon ПО CrowdStrike. Обновления этих файлов каналов является, согласно пояснению разработчиков, нормальной частью запрограммированного поведения сенсоров и происходят несколько раз в сутки в ответ на новые тактики, методы и процедуры, обнаруженные CrowdStrike. Это не новый процесс, такая архитектура обновлений компонентов существует с момента создания защитного сервиса Falcon.


  1. VadimRM
    22.07.2024 17:36

    А можно хотя бы приблизительно оценить материальный ущерб от этой проблемы? Сколько миллиардов долларов - в мировом масштабе?