Российские хакеры и огромная цена: как устроен бизнес SolarWinds
SolarWinds (NYSE: SWI) — американская компания, делающая ПО в сфере управления ИТ-инфраструктурой. Это прибыльный бизнес в перспективном секторе. Но в декабре компания стала мишенью сокрушительной хакерской атаки, последствия которой могут оказаться для нее разрушительными.
Что тут происходит
Читатели давно просили нас начать разбирать отчетность и фундамент бизнеса американских эмитентов. Разобрать бизнес SolarWinds предложил наш читатель Alex Freeman в комментариях к инвестидее по Proofpoint. Предлагайте в комментариях компании, разбор которых вам хотелось бы прочитать.
Часто при составлении отчетности компаний числа округляются, поэтому итоговые суммы в графиках и таблицах могут не сходиться.
На чем зарабатывают
Согласно емкому определению в годовом отчете SolarWinds, «компания помогает профессиональным техническим специалистам управлять всеми айтишными штуками». Собственно, это почти все, что компания рассказывает о своем бизнесе, — иначе клиенты начнут разбираться в вопросе и интересоваться, почему у SolarWinds безумная валовая маржа — 73,25% от выручки. Программное обеспечение компании позволяет следить за работой приложений, оптимизировать работу облачной инфраструктуры, защищать данные и, в общем, да, делать «всякие айтишные штуки».
Хотелось бы рассказать об этом бизнесе больше, но с той скудной информацией, которая представлена в отчете, сделать этого не получится. Разве что можно добавить, что часть выручки компании дает уже готовое ПО, а часть — решения, сделанные специально под нужды конкретных клиентов, — но деталей мы не знаем. Выручка компании делится на 3 сегмента.
Как победить выгорание
Подписка. Ну, тут пространство для интерпретации невелико: в этом сегменте клиенты платят компании за доступ к ее ПО.
Техобслуживание. Это техподдержка и обновление ПО.
В первых двух сегментах выручка идет от одних и тех же клиентов на возобновляемой основе — разве что в случае техобслуживания деньги получаются не по подписке, а на основании заключенного ранее продлеваемого договора.
Продажа лицензий. Это разовые продажи ПО SolarWinds клиентам, которые впоследствии пользуются им без ограничений по сроку. В продажу лицензии входит год бесплатного обслуживания, но компания сообщает, что 92% клиентов продлевают контракты на техобслуживание в этом случае, поэтому подписная модель, по сути, действует и здесь.
Выручка компании в тысячах долларов
| 2019 | 2018 | |
|---|---|---|
| Подписка | 320 747 | 265 591 |
| Техобслуживание | 446 450 | 402 938 |
| Общая возобновляемая выручка | 767 197 | 668 529 |
| Продажа лицензий | 165 328 | 164 560 |
| Общая выручка | 932 525 | 833 089 |
Выручка компании по сегментам в процентах от общей выручки
| 2019 | 2018 | |
|---|---|---|
| Подписка | 34,4% | 31,9% |
| Техобслуживание | 47,9% | 48,4% |
| Общая возобновляемая выручка | 82,3% | 80,2% |
| Продажа лицензий | 17,7% | 19,8% |
| Общая выручка | 100% | 100% |
Выручка компании по регионам в тысячах долларов
| 2019 | 2018 | 2017 | |
|---|---|---|---|
| США | 573 290 | 505 304 | 459 701 |
| Другие страны | 359 235 | 327 785 | 268 316 |
| Общая выручка | 932 525 | 833 089 | 728 017 |
Сизифов труд
До недавнего времени у компании все было прекрасно. Она прибыльная — что на самом деле редкость в этой сфере. SWI стала бенефициаром пандемии: резко возросшая нагрузка на интернет-соединение увеличила ее выручку и прибыль в 2020.
Пандемия открыла огромный потенциал для цифровизации рабочих мест, поэтому при естественном ходе вещей SolarWinds сможет выиграть от дальнейшего усиления нагрузки на сеть, вызванной массовым переводом работников на удаленную работу.
Также у компании очень хорошие клиентские метрики: уровень удержания выручки по подписке составляет 105%, а уровень обновления договоров по техобслуживанию — 92%. Это значит, что из имеющейся базы клиентов, навязывая им новые услуги, получается выжимать денег так много, что это с лихвой перекрывает потери от отписывающихся клиентов.
Но в декабре произошли события, которые могут аннулировать все достижения SolarWinds. Выяснилось, что компания стала жертвой хакерской атаки, по итогам которой взломщики завладели данными примерно 18 тысяч пользователей ее ПО, — всего в компании обслуживается около 300 тысяч клиентов. А может быть, даже больше: хакерская активность длилась несколько месяцев до того, как обнаружили ее следы.
И это проблема, поскольку на обслуживании в SolarWinds находится большая часть компаний из Fortune 500, а также очень серьезные американские ведомства: Госдеп, ФРС, Минобороны и многие другие. Иными словами, репутационный ущерб очень большой, поскольку неизвестно, как много данных и чьих хакеры вынесли. Возможно, для SolarWinds это будет означать волну отписок клиентов и, как следствие, сильное ухудшение финансовой ситуации. И это будет очень не вовремя.
Хакеры SolarWinds размазали свои байты в HTTP-трафике через регулярные выражения
Валидная цифровая подпись на DLL со встроенным бэкдором
Практически по всем профильным СМИ прошла новость о взломе программного обеспечения SolarWinds в рамках глобальной кампании кибершпионажа. Здесь нужно понимать масштаб атаки: этот софт для мониторинга IT-инфраструктуры (CPU, RAM, сеть) используют тысячи частных компаний и государственных учреждений, включая АНБ, Пентагон, Госдеп и проч. В общей сложности 300 000 клиентов по всему миру (данная страница уже удалена с официального сайта SolarWinds, по ссылке — копия из веб-архива).
Самое интересное в этой атаке: 1) внедрение бэкдора внутрь обновлений SolarWinds и 2) оригинальный механизм сокрытия данных в служебном HTTP-трафике программы SolarWinds. В двух словах расскажем о методе стеганографии (covert signaling), который здесь применялся.
Отдельные подробности об атаке опубликовала компания FireEye в отчёте от 13 декабря 2020 года. Эта американская компания должна защищать сети своих клиентов от подобных диверсий, но в итоге и сама пострадала от взлома вместе с ними.
Некоторые из клиентов SolarWinds:
Основные факты
Платформа SolarWinds Orion
Валидная цифровая подпись
Бэкдор обнаружен в библиотеке SolarWinds.Orion.Core.BusinessLayer.dll, которая подписана действительной цифровой подписью компании SolarWinds Worldwide, LLC (скриншот выше).
В частности, инфицирован ряд обновлений программы SolarWinds Orion за март-май 2020 года, которые распространялись с действительной цифровой подписью.
Это был стандартный файл Windows Installer Patch со всеми обычными ресурсами, включая заражённую библиотеку SolarWinds.Orion.Core.BusinessLayer.dll. После установки библиотека нормально загружалась в память штатным экзешником SolarWinds.BusinessLayerHost.exe.
Специалисты Microsoft пояснили, что злоумышленники «использовали локальный взлом [on-premises compromise], чтобы получить доступ к доверенному сертификату подписи SAML-токенов организации [SolarWinds]. Это позволило им подделать токены SAML для всех существующих пользователей и аккаунтов организации, включая высокопривилегированные». Судя по всему, речь о физическом проникновении в офис компании (on-premises compromise).
Уникальные особенности
Стеганография
А вот самая интересная часть — как именно бэкдор маскировал пакеты в обычном сетевом трафике:
Для получения данных зловред использовал запросы HTTP GET или HTTP HEAD, и для отправки — HTTP PUT или HTTP POST. Метод PUT использовался, когда полезная нагрузка меньше 10000 байт; в противном случае используется POST. HTTP-заголовок If-None-Match содержит заксоренное представление userID, вычисленного ранее, с добавлением случайного массива байтов той же длины.
Полезная нагрузка JSON в запросах HTTP POST и PUT содержит ключи userId, sessionId и steps. Сообщения с данными для отправки на сервер сжаты DEFLATE и однобайтовым XOR. Каждое сообщение отдельно кодируется Base64.
Заказчик
В случае таких продвинутых атак невозможно установить разработчиков программы. Исследователи делают предположения на основании совпадения кода с ранее обнаруженными хакерскими инструментами, а также исходя из того, кто именно стал жертвой шпионажа.
Что касается бэкдора SUNBURST, то его приписывают скорее российским хакерам из группировки APT29 (Cozy Bear), исходя из хитроумности применяемых техник, выбора целей и физического проникновения в офис жертвы. Хотя достоверно заказчик и исполнитель не известны.
Правила Snort для обнаружения и блокировки трафика SUNBURST опубликованы в свободном доступе.
SolarWinds и бэкдор SUNBURST: что скрывается внутри этой APT-кампании
В таком положении сейчас находятся тысячи организаций, пострадавших от взлома цепочки поставок программного обеспечения компании SolarWinds при помощи вредоносного приложения Sunburst. Пострадавшие компании отчаянно ищут признаки компрометации, проводят внеочередной аудит безопасности инфраструктуры, а некоторые могут даже приостановить ряд сервисов до окончания расследования.
8 декабря компания FireEye сообщила, что была взломана, и начала расследование с привлечением правительства США и компании Microsoft.
13 декабря FireEye выпустила подробный отчет о компрометации, где описан принцип распространения вредоносного кода через ПО Orion от компании SolarWinds.
17 декабря Агентство по Кибербезопасности и Безопасности Инфраструктуры (CISA) выпустило экстренное сообщение, в котором опросило все компании, использующие ПО SolarWinds, обновить или даже отключить компонент SolarWinds Orion от сети (в Шаге 2 вышеупомянутого сообщения). С тех пор служба расследований инцидентов безопасности Varonis заметила всплеск криминалистических расследований, связанных с этой кампанией, и выявила несколько активных атак.
Хотя большая часть материала на сегодняшний день сосредоточена на устранении последствий от скомпрометированных версий решения SolarWinds Orion, согласно CISA, есть свидетельства дополнительных векторов вторжений, связанных с этой кампанией.
От атак через цепочки поставок сложно защититься
При атаке через цепочку поставок злоумышленник выбирает своей целью доверенного поставщика или доверенный продукт вместо того, чтобы атаковать свои цели напрямую. В данном случае злоумышленники внедрили заранее заготовленный бэкдор («потайной ход») в доверенный программный продукт (SolarWinds Orion), который затем был автоматически разослан тысячам клиентов, замаскированный под обычное обновление.
На этом плохие новости не заканчиваются — злоумышленники оказались достаточно изощренными, чтобы месяцами оставаться незамеченными. У них было время оставить дополнительные бэкдоры и получить доступ к множеству систем и данных. В настоящее время организации, получившие вредоносное обновление, вынуждены изучать абсолютно всё: начиная с систем и учетных записей, которые напрямую связаны с SolarWinds, и продолжая расследование далее по цепочке.
Первичное выявление
Независимо от того, являетесь ли вы клиентом Varonis или нет, первый шаг — проверить наличие уязвимой версии ПО SolarWinds. Компания SolarWinds определила уязвимые версии, и, по состоянию на 16 декабря 2020 года, выпустила обновления и исправления для замены скомпрометированных компонентов.
Если ваша версия уязвима, вот какие шаги вам следует предпринять:
Вот пример уведомления Varonis о необычном поведении сервисной учетной записи SolarWinds – аномальная активность на общем сетевом ресурсе:
Что мы знаем об этой APT-кампании (технический анализ)
Эта атака была проведена без использования уязвимости нулевого дня (по крайней мере — такой уязвимости, о которой мы знаем на данный момент). Преобладающая теория, еще не подтвержденная компанией SolarWinds, заключается в том, что злоумышленники использовали открытые учетные данные FTP-сервера, обнаруженные на GitHub в 2018 году, для получения доступа к инфраструктуре обновления программного обеспечения компании.
Злоумышленник смог изменить пакет обновления программного обеспечения и добавить вредоносный бэкдор в одну из библиотек подключаемых модулей (DLL) программы SolarWinds Orion под названием SolarWinds.Orion.Core.BusinessLayer.dll.
Злоумышленники подписали свою вредоносную версию DLL закрытым ключом компании SolarWinds. Сертификат был выдан компанией Symantec.
Мы предполагаем, что злоумышленник смог подписать DLL одним из двух способов:
Любая организация, которая использует ПО производства компании SolarWinds и получает обновления с их серверов, загрузила и запустила вредоносную DLL. Поскольку DLL была подписана и доставлена через официальные серверы обновлений SolarWinds, было чрезвычайно сложно обнаружить вредоносное содержимое.
Анализ бэкдора SolarWinds SUNBURST (BusinessLayer.dll)
Когда мы заглядываем внутрь вредоносной DLL, мы видим, что злоумышленники сделал ставку на скрытность. Они приложили немало усилий, чтобы написать код, который гармонировал бы с остальной частью исходного кода Orion, используя хорошо написанные аргументы и общие, не вызывающие подозрений имена классов и методов, такие как «Initialize» или «Job».
Бэкдор SolarWinds Sunburst действует в несколько этапов:
Код сканирует машину на наличие антивирусов и других инструментов безопасности, которые могли бы обнаружить его присутствие.
Если злоумышленник считает, что сеть стоит исследовать, он использует бэкдор для загрузки небольшого дроппера (загрузчика), известного как TEARDROP, который затем загрузит дополнительные инструменты для выполнения дальнейших действий после вторжения.
Алгоритм действий бэкдора
При первом сеансе связи бэкдор отправляет информацию об устройстве и его окружении, зашифрованную в DNS-пакетах.
Необычным является факт, что IP адрес в ответном DNS-пакете определяет следующий шаг бэкдора. В зависимости от того в каком диапазоне находится IP-адрес, процесс SUNBURST завершает работу или активирует дополнительный функционал, например, отключение антивируса или скачивание и запуск новых вредоносов.
Давайте более подробно рассмотрим начало коммуникации бэкдора с C2
Domain1 = ‘avsvmcloud[.]com’
Domain2 = ‘appsync-api’
Domain3 = [‘eu-west-1’, ‘us-west-2’, ‘us-east-1’, ‘us-east-2’]
Функция GetStatus генерирует итоговую строку:
Для сбора и передачи информации о жертве используется 4 функции:
«GetCurrentString» и «GetPreviousString» используются для получения уникального идентификатора GUID и имени хоста/домена устройства.
«GetNextString» и «GetNextStringEx» используются для получения списка запущенных процессов и их статуса вместе с идентификатором GUID.
Отправляя эту информацию через DNS-запросы, серверу C2 предоставляется возможность принимать обоснованные решения о том, как отвечать.
Вот несколько примеров доменных имен, запрошенных SUNBURST:
hxxps://3mu76044hgf7shjf[.]appsync-api[.]eu-west-[.]avsvmcloud[.]com /swip/upd/Orion[.]Wireless[.]xml
Ответ может запускать несколько команд, поддерживаемых бэкдором SUNBURST, таких как чтение/запись файлов, перезапуск устройства и т. д.:
Обнаружение вредоносной DLL
К сожалению, SolarWinds советует клиентам исключать свое программное обеспечение из антивирусного сканирования и из сканирования средствами обнаружения и реакции на вторжения (EDR), чтобы избежать ложных срабатываний. Многие службы безопасности применяют эти типы исключений самостоятельно, чтобы снизить уровень «шума» от ложных срабатываний.
Как только бэкдор SolarWinds Sunburst установлен, злоумышленник использует дроппер TEARDROP, который считывает поддельный файл изображения с именем «gracious_truth.jpg» для декодирования встроенной в него полезной нагрузки Cobalt Strike Beacon, причем полезная нагрузка уже «настроена» злоумышленником под конкретную жертву.
Затем выполняются дальнейшие действия после проникновения — распространение, повышение привилегий, кража данных и обеспечение дальнейшего присутствия.
Компания FireEye и агентство CISA проделали фантастическую работу, документируя индикаторы компрометации (IOC), выявленные после вторжения. Мы не можем утверждать, что паттерн развития атаки каждой жертвы будет выглядеть одинаково. Фактически, можно с уверенностью сказать, что злоумышленники с большей вероятностью будут использовать тщательно настроенные кампании, управляемые человеком, для кражи специфической информации у каждой жертвы — например, инструменты, используемые тестировщиками на проникновение («красной командой») компании FireEye.
Подобные атаки на цепочку поставок являются убедительным аргументом в пользу принятия модели «нулевого доверия» и обнаружения угроз на основе поведенческого анализа. Злоумышленники смогли сделать свою вредоносную версию DLL программы SolarWinds Orion похожей на обычную версию программного обеспечения. Обнаружить это было практически невозможно, потому что все выглядело легитимно и официально. Тем не менее, как только злоумышленники начинают перемещаться по сети после проникновения, они получают доступ к новым учетным записям и обращаются к данным. Какими бы изощренными ни были действия атакующих, они не знают, как точно сымитировать нормальное поведение всех пользователей и устройств, с которыми они работают, что открывает новое окно возможностей для обнаружения.
Агентство CASA подчеркивает важность анализа поведенческих моделей в оповещении, посвященном рассмотренной угрозе:
«При вроде бы легитимном, но на самом деле несанкционированном использовании обычных учетных записей, выявление такой активности требует определенной зрелости системы защиты, чтобы отличить действия, совершаемые за пределами повседневной работы. Например, сложно себе представить, чтобы учетной записи сотрудника отдела кадров вдруг требовалось бы обращаться к базе данных о расследованиях киберугроз».
Всё техническое сообщество до сих обсуждает масштабную хакерскую операцию, вероятно, организованной Россией 🇷🇺.
В центре внимания — SolarWinds, ИТ-компания стоимостью более 5 миллиардов долларов, которая управляет сетевой инфраструктурой для всех:
18 тысяч клиентов (компаний и организаций) SolarWinds установили вредоносное обновление где-то между мартом и июнем 2020.
Согласно ThreatPost, SolarWinds была «идеальной целью», потому что её программное обеспечение для управления сетью (Orion) обеспечивает полную видимость сети организации.
SolarWinds допустила несколько до смешных ошибок при защите своих важнейших инструментов:
— Пароли: «solarwinds123» был одним паролем для доступа к серверам обновлений.
— Антивирус: чтобы ускорить процесс установки, компания советовала клиентам отключать антивирус.
Аналитик по безопасности Брайан Кребс пишет, что это нарушение может быть «экзистенциальным событием» для SolarWinds в зависимости от реакции клиентов.
Вышеупомянутый продукт Orion приносит
45% выручки SolarWinds, и иски почти неизбежны.
Акции SolarWinds упали на 40%.


Его предложение: создать киберэквивалент Национального совета по безопасности на транспорте, чтобы найти первопричины и дать рекомендации по предотвращению в будущем (например, буквально любой другой пароль).
Взлом года: подробности о кибератаке на SolarWinds, список компаний-жертв Sunburst и другая информация
После того, как стало известно о масштабной и весьма изощрённой атаке на клиентов SolarWinds, было опубликовано множество новостей, технических подробностей и аналитических материалов о взломе. Объём информации огромен, и мы предлагаем некоторую выжимку из них.
Хотя об атаке SolarWind публика узнала только 13 декабря, первое сообщение о последствиях было сделано 8 декабря, когда ведущая компания по кибербезопасности FireEye сообщила, что была взломана группой правительственных хакеров. В рамках этой атаки злоумышленники даже украли инструменты так называемой красной команды — группы специалистов FireEye, которые проводят максимально близкие к настоящим кибератаки для проверки систем безопасности своих клиентов.
Не было известно, как хакеры получили доступ к сети FireEye вплоть до 13 декабря, когда Microsoft, FireEye, SolarWinds и правительство США выпустили скоординированный отчёт о том, что SolarWinds была взломана группой правительственных хакеров — FireEye оказалась лишь одним из клиентов SolarWinds, пострадавших в результате.
Злоумышленники получили доступ к системе сборки SolarWinds Orion и добавили бэкдор в файл SolarWinds.Orion.Core.BusinessLayer.dll. Затем эта DLL была распространена среди клиентов SolarWinds через платформу автоматического обновления. После загрузки бэкдор подключается к удалённому серверу управления и контроля в поддомене avsvmcloud[.]com, чтобы получать «задания» для исполнения на заражённом компьютере.
David Becker / Reuters
Неизвестно, какие задачи были выполнены, но это могло быть что угодно: от предоставления удалённого доступа злоумышленникам, загрузки и установки дополнительных вредоносных программ или кражи данных. В пятницу Microsoft опубликовала отчёт для тех, кто интересуется техническими аспектами бэкдора SunBurst.
А в отчёте Кима Зеттера (Kim Zetter), опубликованном в пятницу вечером, указывается, что злоумышленники могли выполнить пробный запуск атаки ещё в октябре 2019 года. Во время этого пробного запуска DLL распространялась без вредоносного бэкдора SunBurst. Исследователи полагают, что после того, как злоумышленники начали распространять бэкдор в марте 2020 года, они собирали данные и выполняли вредоносные действия в скомпрометированных сетях, оставаясь незамеченными в течение нескольких месяцев.
В отчёте господина Зеттера говорится, что FireEye в конечном итоге обнаружила, что они были взломаны после того, как злоумышленники зарегистрировали устройство в системе многофакторной идентификации (MFA) компании с использованием украденных учётных данных. После того, как система предупредила сотрудника и группу безопасности об этом неизвестном устройстве, FireEye поняла, что они были взломаны.
Атакованная цепочка клиентов SolarWinds (данные Microsoft)
FireEye в настоящее время отслеживает инициатора угрозы под кодовым именем UNC2452, а вашингтонская компания по кибербезопасности Volexity связала эту активность со злоумышленниками, которые отслеживаются под псевдонимом Dark Halo. Они координировали вредоносные кампании в период с конца 2019 года по июль 2020 года и, например, успешно взломали один и тот же аналитический центр в США три раза подряд.
«Во время первого инцидента Volexity обнаружила несколько инструментов, бэкдоров и вредоносных программ, которые позволяли злоумышленнику оставаться незамеченным в течение нескольких лет», — заявили в компании. Во второй атаке Dark Halo использовали недавно обнаруженную ошибку сервера Microsoft Exchange, которая помогла им обойти защиту многофакторной аутентификации Duo (MFA) для несанкционированного доступа к электронной почте через службу Outlook Web App (OWA). Во время третьей атаки, нацеленной на тот же аналитический центр, злоумышленник использовал SolarWinds для развёртывания бэкдора, который использовался для взлома сетей FireEye и нескольких правительственных агентств США.
Исследователи предполагают, что в ходе атаки через SolarWinds вредоносная DLL была распространена среди примерно 18 000 клиентов. Однако злоумышленники нацелены только на организации, которые, по их мнению, имеют большую ценность. В настоящее время известный список организаций, пострадавших от атаки, включает:
Жертвы SunBurst по сектора (данные Microsoft)
Microsoft также выявила и уведомила более 40 своих клиентов, пострадавших от этой атаки, но не раскрыла их имена. Компания заявила, что 80 % жертв были из США, а 44 % относятся к высокотехнологическому сектору. Хотя Microsoft уже обнаруживала проблемы в файлах SolarWinds и предупреждала их о них, Defender не помещал их в карантин из опасений, что это может повлиять на службы управления сетью организации. С 16 декабря Defender начал помещать DLL в карантин.
Пользователям продуктов SolarWinds желательно немедленно обратиться к рекомендациям и часто задаваемым вопросам компании, поскольку они содержат необходимую информацию об обновлении до последней «чистой» версии их ПО. Microsoft также опубликовала список из девятнадцати обнаруженных на данный момент вредоносных вариантов DLL. Наконец, исследователи безопасности выпустили инструменты, которые позволяют проверить, была ли система инфицирована, а также сбросить пароль.






