Летом 2023 года известный специалист по безопасности Мэтью Грин написал в твиттере: «Проблема компьютерной безопасности будет решена на 80%, если мы просто уберём из продакшна все технологии, изображённые на этой диаграмме» (полная версия картинки под катом).

При взгляде на перечисленные аббревиатуры бросается в глаза, что всем этим стандартам по нескольку десятков лет. За эти годы в каждой обнаружили десятки, если не сотни уязвимостей, а хакеры научились их эксплуатировать практически с закрытыми глазами. В легаси-форматах баги чувствуют себя как дома, словно водоросли в старом болоте.

На диаграмме мы видим схему довольно изощрённой атаки, которая начинается с открытия удалённого документа OOXML со встроенным RTF, куда внедрены объектами OLE, которые копируют учётные данные NTLM в Windows, чтобы получить доступ к серверу SMB, оттуда записывается ZIP в %LocalAppData%/ жертвы, затем из файла MHT запускается скрипт VBScript, который скачивает вредоносную нагрузку с удалённого сервера. Кстати, это реальная атака PEAPOD от 2023 года (CVE-2023-36884).

Полная схема:



Если проанализировать список форматов и протоколов, большинство связаны с Windows, то есть атака осуществляется конкретно на пользователей Windows.

С одной стороны, эта операционная система действительно отличается поддержкой множества очень старых технологий, которые ведут свою историю ещё с 80-х годов. С другой стороны, за счёт потрясающей обратной совместимости и поддержки старых форматов Windows завоевала доверие пользователей и получила практически полную монополию на рынке. Может, Microsoft и хотела переписать ОС с нуля, но многие её пользователи (в том числе крупные корпорации) будут категорически против. Им крайне важно, чтобы в последней версии Windows запускались их корпоративные бинарники и скрипты с прошлого века. В последней Windows 11 теоретически можно запустить некоторые программы, написанные под Windows 3.1х (в рантайме Win32S).



Даже DOS-программы нативно поддерживались вплоть до версии Windows 10 32-bit v1703 (без эмулятора DOSBox). Если софт исправно работает 30 лет, то у корпоративных клиентов нет стимула переписывать своё легаси, закрывать технический долг и решать накопившиеся проблемы, в том числе безопасности.

Нацеленность многих злоумышленников конкретно на эту ОС объясняется в том числе её популярностью, а не только поддержкой множества устаревших технологий. Хотя с замечанием Мэтью Грина трудно не согласиться. К сожалению, для многих менеджеров до сих пор безопасность не стала главным приоритетом в разработке программного обеспечения.

▍ Мы не сделали выводов из взлома SolarWinds


Три года назад неизвестные хакеры осуществили легендарную хакерскую операцию на SolarWinds: этот софт для мониторинга IT-инфраструктуры, который используют тысячи частных компаний и государственных учреждений, включая АНБ, Пентагон, Госдеп и проч, в общей сложности более 300 тыс. клиентов по всему миру.

Самое интересное в этой атаке — внедрение бэкдора внутрь обновлений SolarWinds и оригинальный механизм сокрытия данных в служебном HTTP-трафике программы SolarWinds методом стеганографии (covert signaling).

Что характерно, тот легендарный бэкдор в обновлениях программы SolarWinds был замечен только спустя семь (!) месяцев после начала атаки. Можно предположить, что процесс разработки находится на довольно архаичном уровне, если вендор полгода не замечает бэкдора в своей программе.



Заражённая DLL распространялась с обновлениями платформы SolarWinds Orion, которая служит для мониторинга корпоративной сети, причём библиотека была подписана валидной цифровой подписью SolarWinds Worldwide, LLC:


Валидная цифровая подпись на DLL со встроенным бэкдором

В дальнейшем велась скрытная передача с заражённых машин. Передаваемые байты маскировались под сетевой трафик по служебному протоколу Orion Improvement Program (OIP) через SolarWinds API, причём хитроумным образом размазывались среди нативного трафика через регулярное выражение \{[0-9a-f-]{36}\}"|"[0-9a-f]{32}"|"[0-9a-f]{16}, XOR и DEFLATE (при обфускации эти три метода использовались в обратном порядке).

Очевидно, что в случае с заражённой DLL (с валидной цифровой подписью) нет речи о современном конвейере CI/CD, где безопасность внедрена в цикл разработки с момента написания кода, многие процедуры автоматизированы, включая получение и обновление сертификатов, а каждый билд автоматически проверяется по всей цепочке цифровых подписей.

К сожалению, то был далеко не единичный случай. Например, недавно в одном из debian-пакетов обнаружили троян, который не замечали три года.

Всё это примеры, что некоторые представители индустрии не делают выводов из произошедшего, не адаптируются к новым угрозам и не внедряют системы безопасности в процесс разработки и выпуска ПО. Бывают ситуации, когда от старых форматов и стандартов невозможно или очень трудно отказаться. К сожалению, наследие прошлого и устаревшее легаси постоянно тянет вниз общий уровень безопасности. Инерцию системы никогда не стоит недооценивать.

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


  1. saipr
    15.01.2024 18:04
    -2

    Может эти страдания от того, что

    защита информации, как область науки, в настоящее время оказалась на
    переломе, в котором была физика на рубеже ХХ века, вызов времени
    принимать нам, живущим в это время.

    Как все это коррелируется с выводами автора:

    К сожалению, наследие прошлого и устаревшее легаси постоянно тянет вниз
    общий уровень безопасности. Инерцию системы никогда не стоит
    недооценивать.


  1. dartraiden
    15.01.2024 18:04
    +2

    Всё это здорово, но не при нашей жизни. Обратная совместимость - это запрос со стороны корпоратов (у которых есть работающие системы, использующие эти и даже намного более старые технологияи), которые и приносят основной доход, поэтому она является священной коровой для Microsoft.

    Именно поэтому если вы хотите новые красивые контекстные менюшки - пожалуйста, вы их получите, но они будут не заменять старые, а натягиваться поверх. Новые возможности для терминала - тоже не вопрос, вот вам третий терминал, потому что эти фичи в старый терминал интегрировать не удалось без нарушения обратной совместимости.


  1. 0mogol0
    15.01.2024 18:04
    +5

    Если софт исправно работает 30 лет, то у корпоративных клиентов нет стимула переписывать своё легаси, закрывать технический долг и решать накопившиеся проблемы, в том числе безопасности.

    Мне прямо интересно, как себе представляется переписывание огромных систем "с нуля", параллельно внедряя все новые требования от пользователей, плюс внедрение новых технологий, которые не имеют старых уязвимостей, зато имеют кучу новых, неизвестных.

    И главное, как за время переписывания этих систем, а я думаю оно займёт не менее нескольких лет, не получить новый уровень "устаревших лет на десять технологий"? Потому что не пишут на ПРОД на технологии, которая вышла сегодня, и неизвестно не будет ли она забыта завтра.

    P.S. на всякий случай, я говорю о конторах типа банков, корпораций итп, с числом пользователей от тысяч сотрудников. Вполне допускаю, что конторе из двух-трёх десятков сотрудников вполне по силам оставаться на самом переднем крае технологий.


    1. Mingun
      15.01.2024 18:04

      Тут возникает вопрос, а есть ли вообще репрезентативная выборка. Если все только и говорят, что это сложно, никогда не получится и вообще, то может просто никто не пробовал и мы ждем прихода своего Илона Маска?


      1. Deosis
        15.01.2024 18:04

        Скорее доработают ИИ, и он сможет объяснить, что делает система, написанная 50 лет назад на Фортране.


        1. IvanPetrof
          15.01.2024 18:04
          +3

          В легаси один основных вопросов это не "что", а "зачем" и "почему именно так"))


      1. 0mogol0
        15.01.2024 18:04
        +1

        Если все только и говорят, что это сложно, никогда не получится и вообще, то может просто никто не пробовал и мы ждем прихода своего Илона Маска?

        Тут как говорится есть ньюанс...
        Айтишник может сколько угодно рассказывать про постепенное развёртывание в проде, чтобы протестировать продукт, но если у этого айтишника в турпоездке в момент выписки из отеля вдруг не сработает оплата картой (из-за того, что он попал в 5%, которые тестируют новую версию), то у него будет много очень тёплых слов о банке, даже если спустя пять минут он сможет опять оплатить. Причём рассказывать о тестировании будут айтишники, а злиться - и айтишники, и все остальные пользователи. Аналогично критичным может быть обновление софта какого-нибудь аэропорта, страховой или сталеплавильного комбината.

        Мне как-то довелось наблюдать процесс обновления ядра банковского софта в крупном российском банке... Это не был переход на версию с переписанную с нуля или на другого вендора, но переход на новую версию того же вендора (правда серьезно переработанную, примерно как с Windows 3.11 на Windows NT). Процесс занял больше года, и потребовал создания отдельной команды, которая привлекала ресурсы смежных команд работающих над поддержкой существующей АБС.

        Сколько заняло бы переписывание с нуля? Я не знаю. Возможно для вновь создаваемого банка - это вариант. Но для любого существующего переход на новую систему - это перенос всех текущих и прошлых операций (сколько там обязательный срок хранения банковской информации?) и это может обойтись очень дорого.

        А Маск кстати не панацея... Если в космонавтике его идеи выстрелили и работают, то его идеи насчёт Х пока не очень-то успешны.


        1. FSA
          15.01.2024 18:04
          -2

          На одной чаше весов - стабильная работа, на другой - слитые в интернет персональные данные клиентов банка.


          1. 0mogol0
            15.01.2024 18:04
            +2

            На одной чаше весов - стабильная работа, на другой - слитые в интернет персональные данные клиентов банка.

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


  1. VBKesha
    15.01.2024 18:04
    -1

    Борьба с легаси, Святой Грааль ИТ. Победить в ней нельзя, но можно её вечно вести. Благо всё что было написано 5 лет назад, уже легаси, и пора это всё переписать с новым подходом. Есть только одна проблема, сволочи заказчики не очень жаждят выделять на это деньги, и получить вечный кайф постоянно переписывая одно и тоже, пока не так часто получается.