Для внедрения бэкдора хакеры предварительно взломали исходные коды SolarWinds
18/12/20
ИБ-специалисты продолжают проводить расследование кибератаки на внутреннюю сеть SolarWinds, в результате которой было внедрено вредоносное обновление для ее ПО Orion с целью заражения сетей использующих его правительственных и коммерческих организаций.
По словам экспертов из ReversingLabs, хакерам, вероятно, удалось скомпрометировать сборку программного обеспечения и инфраструктуру подписи кода платформы SolarWinds Orion еще в октябре 2019 года, чтобы внедрить вредоносный бэкдор через процесс выпуска программного обеспечения.
«Исходный код затронутой библиотеки был напрямую изменен, чтобы включить вредоносный код бэкдора, который был скомпилирован, подписан и доставлен через существующую систему управления выпуском исправлений программного обеспечения», — пояснили эксперты.
Хотя первая версия, содержащая испорченное программное обеспечение Orion, была прослежена до 2019.4.5200.9083, в ReversingLabs обнаружили, что более ранняя версия 2019.4.5200.8890 от октября 2019 года, также включала на первый взгляд безобидные модификации, которые служили этапом для доставки реальной полезной нагрузки.
Идея заключалась в том, чтобы скомпрометировать систему сборки, незаметно внедрить собственный код в исходный код программного обеспечения, дождаться, пока компания скомпилирует и подпишет пакеты и, наконец, проверить, отображаются ли их модификации в недавно выпущенном обновления, как ожидалось.
После подтверждения злоумышленники предприняли шаги по добавлению вредоносного ПО SUNBURST к остальной части кодовой базы, имитируя существующие функции (GetOrCreateUserID), но добавляя свои собственные реализации, чтобы оставаться незаметными и вызывать их, изменяя отдельный класс под названием InventoryManager для создания нового потока, запускающего бэкдор.
Более того, вредоносные строки были скрыты путем комбинации сжатия и кодирования с помощью base64 в надежде, что это помешает правилам YARA выявлять аномалии в коде, а также проскользнуть незамеченными во время проверки разработчика программного обеспечения.