08 июня 2017
WannaCry в промышленных сетях: работа над ошибками
В период с 12 по 15 мая множество компаний по всему миру подверглись атаке сетевого червя-шифровальщика WannaCry. В их числе — компании, занимающиеся различными видами производства, нефтеперерабатывающие заводы, объекты городской инфраструктуры и распределительной энергосети.
По нашим данным, по меньшей мере несколько десятков компьютеров, являющихся частью систем управления технологическими процессам промышленных предприятий, не будучи надлежащим образом защищены (например, при помощи установки и правильной настройки продукта «Лаборатории Касперского» для защиты конечных узлов промышленной сети) были заражены червем-шифровальщиком WannaCry.
Распределение атакованных промышленных компаний по индустриям
Хранящиеся на инфицированных компьютерах файлы были зашифрованы. Нам неизвестно, стало ли это причиной остановки или нарушения работы систем автоматизации соответствующих предприятий и нарушения их производственных циклов. По оценке наших специалистов, подобное развитие событий было вполне вероятным.
Отметим, что не все атакованные компьютеры могли быть заражены, поскольку шеллкод оказался совместим не со всеми версиями OC Windows, используемыми в системах промышленной автоматизации. В случае такой несовместимости атака WannaCry может приводить к возникновению критической ошибки в ядре ОС и, как следствие, — отказу в обслуживании (DoS). Несмотря на то, что злоумышленники не добиваются в данном случае поставленной цели, и схема вымогательства, используемая ими, не работает, подобная ситуация всё равно крайне неприятна для промышленных предприятий, поскольку приводит к потере управления технологическим процессом. В ряде случаев отказ в обслуживании может приводить и к нарушениям непрерывности технологического процесса
Большинство специалистов из области промышленной автоматизации придерживаются мнения, что возможность заражения промышленных систем из интернета исключена: действительно, как правило, промышленные системы, находящиеся внутри периметра технологической сети (HMI, SCADA, Historian, ARM операторов и инженеров), не имеют прямого подключения к интернету.
Каким же образом сетевой червь мог проникнуть в технологическую сеть?
Червоточины в сети
Вредоносное ПО WаnnаCry распространялось по локальным сетям и интернету, используя уязвимость CVE-2017-0143 (MS17-010) в компонентах сервиса SMBv1 (порт TCP 445) операционных систем Windows.
Очевидно, что угроза заражения шифровальщиком данного типа актуальна для тех систем, для которых выполняются следующие условия:
- система содержит уязвимые компоненты, и патч от Microsoft не установлен;
- включена поддержка SMBv1;
- сетевой порт TCP 445 уязвимой системы доступен для подключения;
- не установлены или не сконфигурированы правильно средства защиты.
Как уже было сказано выше, прямого доступа в интернет из технологической сети, как правило, нет, либо он организован через корпоративную сеть с использованием NAT, межсетевого экрана и корпоративного прокси-сервера, что должно исключать возможность заражения таких систем из интернета.
Однако есть типичные ошибки в конфигурации промышленной сети, которые по нашим данным приводили к заражениям WаnnаCry.
1. Использование компьютеров — мостов между несколькими сетями
Даже в, казалось бы, неплохо защищенной промышленной сети нам часто встречаются компьютеры (серверы и даже рабочие станции), подключенные сразу к нескольким подсетям внутри периметра организации. Такие подключения опасны, поскольку образуют трудно контролируемые точки входа из одной сети в другую, обычно крайне уязвимые для атаки.
На схеме ниже изображен сценарий проникновения вредоносного ПО WannaCry из корпоративной сети в технологическую через компьютер инженера/администратора систем промышленной автоматизации, подключенный к корпоративной и промышленной сети при помощи двух сетевых карт.
В одном из инцидентов после начала массового распространения сетевого червя-шифровальщика WannaCry был заражен один из офисных компьютеров в корпоративной сети (10.15.1.100). Одновременно с шифрованием файлов на зараженном компьютере червь начал распространяться по локальной сети, и вскоре был заражен компьютер инженера/администратора систем промышленной автоматизации (10.15.1.123). Поскольку этот компьютер был также напрямую подключен к технологической сети, червь начал распространяться внутри технологической сети, атакуя системы промышленой автоматизации.
В, поскольку они увеличивают поверхность атаки на технологическую сеть. Один из возможных вариантов организации более безопасного доступа и обмена данными между сетями представлен на схеме ниже и заключается в использовании демилитаризованной зоны (DMZ) внутри периметра технологической сети. В этой DMZ размещаются все необходимые серверы, к которым требуется доступ извне периметра сети, при этом любые подключения из DMZ в технологическую сеть должны быть запрещены.
Для удаленного доступа к компьютерам в промышленой сети в DMZ обычно используется терминальный сервер, которому разрешен доступ в технологическую сеть на заданный сетевой порт заданного компьютера. Этот вариант также не является достаточно безопасным, т.к. возможность подключения из DMZ в технологическую сеть теоретически может быть использована для атаки.
Для организации более безопасного доступа между DMZ и технологической сетью следует использовать методы обратного подключения, т.е. компьютер в технологической сети является инициатором подключения к серверам в DMZ, а не наоборот.
2. Подключение удаленных объектов
Часто ввиду территориальной удаленности или особенности расположения оборудования сегменты промышленной сети связаны между собой через интернет. В таких случаях вероятность успешной атаки зависит от способа их подключения.
Обычно удаленные промышленные системы подключаются к интернету так же, как и корпоративные сети — с использованием NAT и межсетевого экрана, что также должно исключать возможность заражения червем-шифровальщиком WannaCry напрямую из интернета. Но, по нашему опыту, из-за отсутствия постоянного контроля за состоянием информационной безопасности сети и ошибок конфигурации периметр таких систем чаще оказывается менее защищенным, чем периметр корпоративной сети — а значит, риск проникновения через периметр удаленных промышленные систем выше. Так, например, мы часто наблюдаем на промышленных объектах наличие существенных ошибок в архитектуре сети (таких как разобранная выше ошибка в организации демилитаризованных зон), которые открывают возможность подключения к внутренним ресурсам промышленной сети из интернета.
На схеме ниже представлен сценарий проникновения вредоносного ПО WannaCry в технологическую сеть из удаленной сети (центра диспетчерского управления или подрядчика) через VPN-канал.
Как и в предыдущем сценарии, компьютер в удаленной сети (172.16.1.100) был заражен, после чего сетевой червь начал распространяться по локальной сети. Зараженный компьютер был также подключен к технологической сети по VPN, компьютеры в технологической сети (192.168.1.0/24) были доступны для подключения и, как следствие, были атакованы сетевым червем-шифровальщиком.
Следует помнить, что VPN защищает данные от неавторизованного чтения и модификации (атаки MITM) в канале передачи данных, но не позволяет защититься от атаки, когда одна из сторон канала (в данном случае компьютер за пределами технологической сети) скомпрометирована.
На схеме ниже представлен один из возможных вариантов организации безопасного доступа в технологическую сеть извне с использованием DMZ, в которую вынесен VPN-концентратор. Для удаленного доступа из DMZ к компьютерам в технологической сети следует использовать методы обратного подключения.
3. Использование модемов и мобильных телефонов
Мы часто сталкиваемся со случаями использования устройств для прямого подключения компьютеров в технологической сети к мобильному интернету в обход периметра сети. Чаще всего для подключения используются USB-модемы. Кроме того, любой современный смартфон может выполнять функцию сетевого адаптера для 3G/LTE сетей.
В большинстве случаев устройства, подключаемые к интернету через мобильные сети, недоступны из интернета, поскольку мобильные операторы также используют NAT. Как следствие, IP-адрес клиента не является публичным, и сетевые порты на подключенном компьютере недоступны из интернета. Но в ряде случаев (в зависимости от настроек подключения) клиенту мобильных операторов может быть предоставлен публичный IP-адрес. Сетевые службы, сконфигурированные на работу со всеми сетевыми интерфейсами компьютера, в этом случае становятся доступны по предоставленному оператором публичному IP-адресу, что дает возможность (для хакеров и вредоносного ПО, в том числе WаnnаCry) атаковать подключенный компьютер прямо из интернета.
На схеме ниже приведен пример атаки компьютеров в промышленной сети вредоносным ПО WannaCry из интернета, подключенного в обход периметра сети.
В одном из случаев заражения во время массового распространения сетевого червя-шифровальщика WannaCry один из компьютеров в технологической сети (192.168.1.11) был подключен к мобильному интернету с помощью 3Поскольку IP-адрес, предоставленный мобильным оператором, был публичным, а сетевые службы компьютера (в том числе SMBv1) были доступны для всех сетевых интерфейсов, он был атакован и заражен вредоносным ПО WannaCry из интернета. Используя локальное подключение зараженного компьютера к технологической сети, червь начал распространяться по технологической сети, атакуя и заражая все доступные системы в локальной сети.
По нашему опыту, неконтролируемое подключение устройств в технологической сети к внешним сетям в обход защищаемого периметра представляет серьезную угрозу безопасности для систем промышленой автоматизации. Даже в том случае, если предоставляемый мобильными операторами IP-адрес не является публичным и сетевые службы компьютера не доступны для подключения из интернета, подключенный компьютер может быть атакован и заражен вредоносным ПО (с использованеим фишинга, социальной инженерии, уязвимостей в браузерах и другом прикладном ПО).
Для обеспечения безопасности промышленной сети и подключенных к ней систем промышленной автоматизации необходимо обеспечить контроль за использованием подключений к мобильному интернету (например, ограничить использование сетевых USB-адаптеров с помощью технологии контроля устройств). Кроме того, мобильные устройства в технологической сети, используемые за пределами сетевого периметра, так же, как и в предыдущих сценариях, необходимо отделить от остальных систем, используя принципы организации демилитаризованной зоны.
Что делать
По нашим наблюдениям, в большинстве случаев системы промышленной автоматизации были атакованы вредоносным ПО WannaCry из локальной сети предприятия — при наличии прямого подключения между сетями и при подключениях через VPN.
Оперативные меры защиты очевидны. Они включают: отключение служб SMBv1 и закрытие порта TCP 445 на всех компьютерах в сети, где это только возможно, и на периметре сети; установку патча там, где полностью отказаться от использования сетевых папок невозможно.
Для предотвращения подобных случайных заражений в будущем и для защиты от целенаправленных атак на технологические сети мы рекомендуем принять ряд мер по обеспечению безопасности внешнего и внутреннего периметров технологической сети.
В первую очередь, для организации безопасного удаленного управления системами автоматизации и передачи данных между технологической и другими сетями необходимо максимально ограничить доступ между системами, находящимися в различных сетях или имеющими различные уровни доверия:
- Системы, имеющие постоянную или регулярную связь с внешними сетями (мобильные устройства, VPN-концентраторы, терминальные серверы и пр.) необходимо изолировать в отдельный сегмент внутри технологической сети — демилитаризованную зону (DMZ);
- Системы в демилитаризованной зоне разделить на подсети или виртуальные подсети (VLAN) и разграничить доступ между подсетями (разрешить только необходимые коммуникации);
- Весь необходимый обмен информацией между промышленной сетью и внешним миром осуществлять через DMZ;
- При необходимости в DMZ можно развернуть терминальные серверы, позволяющие использовать методы обратного подключения (из технологической сети в DMZ).
- Для доступа к технологической сети извне желательно использовать тонкие клиенты (применяя методы обратного подключения);
- По-возможности не разрешать доступ из демилитаризованной зоны в технологическую сеть;
- Если бизнес-процессы предприятия допускают возможность однонаправленных коммуникаций, рекомендуем рассмотреть возможность использования дата-диодов.
Следует иметь в виду, что ландшафт угроз для систем промышленной автоматизации постоянно меняется, новые уязвимости регулярно находят как в прикладном, так и в промышленном ПО.
Для обеспечения защиты от других неизвестных, в том числе целенаправленных, угроз мы рекомендуем:
- Провести инвентаризацию запущенных сетевых служб; по возможности остановить уязвимые сетевые службы (если это не нанесёт ущерба непрерывности технологического процесса) и остальные службы, не требующиеся для непосредственного функционирования системы автоматизации; особое внимание обратить на службы предоставления удалённого доступа к объектам файловой системы, такие как SMB/CIFS и/или NFS (актуально в случае атак с использованием уязвимостей в Linux).
- Провести аудит разграничения доступа к компонентам АСУ ТП; постараться добиться максимальной гранулярности доступа.
- Провести аудит сетевой активности внутри промышленной сети предприятия и на её границах. Устранить не обусловленные производственной необходимостью сетевые соединения с внешними и другими смежными информационными сетями.
- Проверить безопасность организации удалённого доступа к промышленной сети; обратить особое внимание на соответствие организации демилитаризованных зон требованиям информационной безопасности. По возможности минимизировать или вовсе избежать использования средств удалённого администрирования (таких, как RDP или TeamViewer).
- Следить за актуальностью сигнатурных баз, эвристик, решающих алгоритмов средств защиты конечных узлов сети. Убедиться, что все основные компоненты защиты включены и функционируют, а из области защиты не исключены каталоги ПО АСУ ТП. Большую эффективность на промышленных предприятиях демонстрируют технологии контроля запуска приложений, настроенные в режиме «белых списков», и технологии анализа поведения приложений. Контроль запуска приложений не позволит запустить шифровальщик в случае его проникновения на компьютер. Технологии анализа поведения приложений полезны для обнаружения и предотвращения попыток эксплуатации уязвимостей (в том числе неизвестных) в легитимном ПО.
- Провести аудит политики и практики использования съёмных носителей информации и портативных устройств. Не допускать подключения к узлам промышленной сети устройств, предоставляющих нелегитимный доступ к внешним сетям и интернету. По возможности отключить соответствующие порты или контролировать доступ к ним правильно настроенными специальными средствами.
- Внедрить средства мониторинга сетевого трафика и обнаружения компьютерных атак в индустриальных сетях. В большинстве случаев применение подобных мер не требует внесения изменения в состав и конфигурацию средств АСУ ТП и может быть произведено без остановки их работы.
Конечно, полностью изолировать технологическую сеть от смежных сетей практически невозможно, поскольку передача данных между сетями необходима для выполнения множества важных функций — управления и поддержки удаленных объектов, координации работы сложного технологического процесса, части которого распределены между множеством цехов, линий, установок и систем обеспечения. Но мы надеемся, что наши рекомендации помогут максимально защитить технологические сети и системы промышленной автоматизации от современных и будущих угроз.