1 декабря, 2022
Страна заповедных зловредов.
Я давно и часто говорю: антивирус мёртв.
На первый взгляд странная фраза, в особенности от человека, который стоял практически у истоков этого самого антивируса в бородатых 90-х. Но если внимательно пожевать тему, да с авторитетными источниками, то утверждение приобретает логичность: во-первых, антивирусы превратились в защитные решения «против всего», а во-вторых, вирусов, как разновидности вредоносных программ, не осталось. Но есть нюанс: почти не осталось.
И где же сейчас обитают это заповедные твари краснокнижного зловредства?
А вот прям здесь, под боком. В одной из самых консервативных областей автоматизации – операционных технологиях (ОТ, не путать с IT – информационными технологиями). Не буду впадать в занудство чрезмерно глубокого раскрытия существа темы :) – уточню проще: ОТ – это системы управления на фабриках-заводах, электростанциях, транспорте, добыче-обработке и подобных «тяжёлых» секторах-отраслях. Да, вы правильно поняли – компьютерные вирусы довольно часто встречаются в критической инфраструктуре! Около 3% инцидентов вызваны именно этим видом зловредства.
Почему так получается?
На самом деле, ответ уже звучал выше. ОТ – очень консервативная область. Здесь давно и прочно в иконостасе схемы принятия решений стоит аксиома: «работает – не трогай!». В ОТ с большим скепсисом смотрят на любые нововведения (включая обновление софта). Увы, здесь запросто можно встретить компьютеры с устаревшими Windows 2000, античный софт с множеством уязвимостей, чудовищные дыры в политиках безопасности и прочие ночные кошмары IT-безопасника. По этой причине вся кибер-гадость, которую уже давным-давно вывели в IT-инфраструктурах (с помощью современных систем и методик защиты) вполне неплохо себя чувствует в OT-сетях.
Посмотрите на топ-10 самых распространённых «олдскульных» вредоносов, замеченных на OT-компьютерах:
Sality! Virut! Nimnul! Кто-то может сказать «подумаешь 0,14%!».
Ну, во-первых, это только в «спящей» фазе – время от времени, когда вирусу случается вырваться за пределы одной заражённой системы и распространиться по всей сети, начинается настоящая локальная эпидемия. Причём вместо полноценного лечения обычно раскатывают старый добрый бэкап, к слову, не всегда «чистый». Кроме того, заражению подвергаются не только рабочие машины, но и промышленные контроллеры (ПЛК)! Задолго до появления Blaster (proof-of-concept червя, способного заражать прошивки ПЛК) загрузчик Sality был уже там. Ну, почти – не в прошивке, конечно, а в виде скрипта в HTML файлах веб-интерфейса.
Что же до последствий, тот же Sality может очень сильно испортить производственный процесс – банальная порча памяти, вызванная загрузкой зловредного драйвера, а также заражение файлов и памяти приложений в считанные дни доведет любую систему управления (АСУ) до отказа. А в случае активного заражения, ещё и сеть может лечь, т.к. уже с 2008 Sality использует peer-to-peer коммуникации для обновления списка активных центров управления. Едва ли производители АСУ писали код с расчётом на столь агрессивную среду.
Во-вторых, 0,14% за месяц — это тысячи критических инфраструктур по всему миру. Тем более, что этот риск можно запросто исключить вообще и довольно простыми методами.
А в-третьих, — ну решето же! Немудрено, что сплошь и рядом всплывают новости об успешных атаках на фабрики-заводы других вредоносов, в частности шифровальщиков-вымогателей (например Snake vs Honda).
В общем, получается типичный конфликт приоритетов. Да, хочется, чтобы производственный процесс был непрерывным. Но что несёт этой хотелке бóльший риск: консервативность в инновациях и обновлениях софта или возможность подцепить заповедный (и не только) зловред? Действительно, перед ОТ-специалистом стоит непростой выбор: в случае отказа быть порицаемым за бездействие или… за действие? Сейчас чаша весов склоняется к первому.
Дилемма сложная, но у нас есть для неё эффективная таблетка :)
Как проложить безопасную дорожку для инновации и обновлений? Так, чтобы они ничего не нарушили в производственном процессе? В прошлом году мы получили два патента (RU2755252 и RU2755006), которые описывают именно такую систему.
Вкратце: прежде чем что-то внедрять, надо это «что-то» тщательно протестировать (свежо!). Однако тестировать не на работающем процессе, а на специальном стенде, который эмулирует критические производственные функции.
На стенде воспроизводится конфигурация действующей ОТ-сети, которая включает реальные девайсы (компьютеры, ПЛК, датчики, коммуникационное оборудование, прочий IoT-зверинец) и взаимодействие между ними — производственный процесс. На входы стенда подаётся тестируемый образец софта, за которым начинает наблюдать «песочница» — записывать все его действия, наблюдать за откликом сетевых узлов, изменением их производительности, доступностью соединений и многими другими атомарными характеристиками. Полученные таким образом данные позволяют построить модель, описывающую риски нового софта и принимать взвешенные решения как о его внедрении, так и… правильно – доработки ОТ-сети для исправления выявленных уязвимостей!
Дальше – ещё интереснее.
На входы стенда можно подавать вообще всё, что угодно! Не только новый софт и обновления уже установленного. Но и, например, проверять устойчивость к вредоносным программам, которые могут проникнуть в защищённую промышленную сеть в обход внешних средств защиты.
Такая технология открывает бизнес-перспективы в области страхования. Страховщики смогут более осведомлённо оценивать кибер-риски и проводить калькуляцию страховой суммы, а страхуемые не будут переплачивать за воздух и «пальцем в небо». Стендовое тестирование может использоваться производителями промышленного оборудования для сертификации софта и харда сторонних разработчиков. Развивая мысль дальше, такая схема подойдёт и для отраслевых сертификационных центров. Ну и, конечно, безграничное пространство для исследований в образовательных учреждениях!
Однако вернёмся к нашему заводскому стенду.
Разумеется, что никакая эмуляция не сможет на 100% воспроизвести всё разнообразие процессов в ОТ-сети. Но благодаря построенной модели мы уже знаем откуда ждать, простите за тавтологию нежданчик после внедрения нового софта! И можем надёжно контролировать ситуацию другими методами, например, системой раннего обнаружения аномалий MLAD (подробно писал о ней здесь), которая по прямым или косвенным корреляциям определяет, что на таком-то участке производства что-то не так. И соответственно предотвращать миллионные и миллиардные убытки от инцидентов. М – Многоуровневый контроль!
Насколько сложно сделать стенд?
Хороший вопрос из серии соответствия овчинки выделке. И на него есть тоже хороший и простой ответ: овчинка сполна окупит выделку для любого крупного предприятия. ОТ-сети консервативны (где-то уже это было) к изменениям и стенд будет служить «долго и счастливо» без существенных дополнительных вложений. Эффект от модернизации сети и минимизации сопутствующих рисков (регуляторных, репутационных, операционных) очень быстро окупят инвестиции. Не говоря о сохранённых нервах ОТ-специалистов.