Привет, Хабр! Меня зовут Иван Люкшин, я руковожу отделом разработки продукта для защиты критической инфраструктуры Kaspersky Industrial CyberSecurity (KICS) for Networks. Наш продукт анализирует трафик в поисках атак, аномалий и информации о сетевых активах на предприятиях, где есть промышленная автоматизация. Ежедневно мы сталкиваемся со множеством нестандартных задач, и сегодня я расскажу, почему это норма для нас. Спойлер: для тех, кто заинтересуется направлением, в конце статьи несколько вопросов из числа тех, что мы задаём на собеседованиях.
Я работаю на проекте KICS с конца 2012 года. Пришёл в поисках чего-то нового из команды флагманского продукта. Начинал в статусе старшего разработчика C++, потом вырос до тимлида и в итоге стал руководителем проекта. Сейчас в команде KICS for Networks трудится около 60 человек, хотя непосредственно наш отдел немного меньше. На работе мы препарируем протоколы, разрабатываем способы детектирования аномалий, визуализируем и храним кучу данных, оптимизируем свой код, чтобы безопасность не требовала космически дорогого железа. И это дает свои результаты: у нас множество внедрений по стране и миру, за каждым из которых своя история.
Защищать устройства или среду — вот в чём вопрос
Отрасль безопасности систем формируется у нас на глазах. Мы проходим интересный период, когда ещё нет общих практик и тест-сетов, как в антивирусах. Даже продукты разных вендоров пока что сравниваются «в лоб» — на моделирующих угрозы стендах в ходе встречи «хакеров» и «защитников».
Пока что ни у кого нет ответа на главный вопрос: как именно подходить к безопасности в этой сфере? Одни компании считают, что нужно обеспечивать защиту конечных устройств. Другие предпочитают следить за безопасностью среды передачи — в зависимости от того, в чём они были сильны ранее. К существующим решениям просто добавляется индустриальная специфика.
Мы в «Лаборатории Касперского» исходим из того, что главное не утечка данных, а непрерывность и безопасность технологических процессов АСУ ТП. Поэтому мы мониторим сетевую активность систем управления и автоматизации, следим за параметрами технологического процесса и аномалиями в среде передачи: за нестандартными паттернами трафика, появлением или исчезновением пакетов для определённых IP-адресов — любыми изменениями, которые могут свидетельствовать о посторонней активности в технологическом процессе.
Ещё нюанс: промышленная автоматизация зачастую построена на технологиях десятилетней давности и может сломаться от вируса, про который уже успели позабыть. Какой-нибудь conflicker или даже ping of death может сломать электроподстанцию или систему очистки воды, остановить конвейер. А такое заражение — это нарушение непрерывности процессов, недополученная прибыль и расходы на восстановление систем, что может повлиять на жизни многих людей.
Атаки на технологические процессы способны годами делать своё чёрное дело и незаметно разрушать промышленную систему, например так, как это делал Stuxnet. Но могут и моментально посеять хаос и панику, отключив электроэнергию у множества пользователей, как это задумывалось в Industroyer. Такие масштабные атаки — это действительно не массовая история. Но это не значит, что с проблемами не сталкиваются предприятия поменьше. Просто о них не всегда говорят, в том числе из-за возможных проблем с репутацией.
Stuxnet и для нас стал триггером: мы поняли, что оптимальная стратегия — сосредоточиться на контроле технологического процесса. Так что в ходе внедрения мы даём заказчику возможность построить контур безопасности: задать правила, что он считает хорошим, а что — плохим. После этого контролируем соблюдение этих правил.
В общих словах процесс выглядит просто. Сложность, как обычно, в деталях. И вот тут начинается самая интересная работа.