Контакты
Подписка
МЕНЮ
Контакты
Подписка

Безопасность SCADA: Stuxnet – что это такое и как с этим бороться?

Безопасность SCADA: Stuxnet – что это такое и как с этим бороться?

В рубрику "Оборудование и технологии" | К списку рубрик  |  К списку авторов  |  К списку публикаций

Безопасность SCADA: Stuxnet – что это такое и как с этим бороться?

Павел Волобуев
специалист по информационной безопасности
технологических систем компании Digital Security

Stuxnet является первым в истории вирусом, переступившим через границу киберпространства в реальный физический мир, первым вирусом, способным портить не только данные и программный код, но и вполне реальные машины и установки. Его появление устремило взоры специалистов по ИБ в абсолютно новую для них область – безопасность промышленных систем. Промышленные сети обычно изолированы и от сетей общего пользования и от внутренних сетей предприятия, в них применяется очень специфическое ПО, все процессы четко регламентированы. Казалось бы, никакой опасности быть просто не может! Но как выясняется, это не так. Разработчикам червя Stuxnet удалось без труда обойти эту, вроде бы самую надежную физическую защиту. Несмотря на то что прошло уже 4 месяца с момента первого обнаружения червя, четкого его анализа до сих пор нет. Причин несколько:

  1. это первый случай появления вредоносной программы, направленной именно на промышленные системы;
  2. специалисты по ИБ и антивирусной защите имеют крайне далекое представление о том, что такое PLC и SCADA, а специалисты по АСУ ТП далеки от информационной безопасности;
  3. поскольку вирус затронул работу крупнейших компаний, информация о нем тщательно скрывается. И если руководство компаний знает и озабочено этой проблемой, то сокрытие информации обычно идет на нижнем уровне.

Промышленная сеть – что это такое?

Представьте себе промышленную установку, агрегатами которой нужно управлять по заданному алгоритму. Мы обвешиваем эту установку датчиками и исполнительными механизмами и подключаем к PLC – контроллеру, который и выполняет этот алгоритм. При этом контроллер проверяет уровни температуры, напряжения, давления, оборотов, включает и выключает различные механизмы. И если какие-то параметры выходят за пределы дозволенного, он останавливает установку. Установок может быть много, и контроллеров соответственно тоже. Общаются они между собой через Ethernet, RS-485 и их вариации. Промышленные протоколы Modbus, Profibus и прочие в современных промышленных сетях часто работают поверх TCP/IP.

Одна интересная особенность вируса – искать активное интернет-соединение и отправлять информацию на определенные адреса. Также червь умеет обновлять себя через Интернет, и именно этим обусловлен тот факт, что у разных аналитиков выловленные копии вируса сильно отличаются.

Сам контроллер – это мини-компьютер для выполнения определенных задач. ОС на PLC обычно собственной разработки производителя, информация о которой малодоступна, QNX (реже Linux) или DOS. Структура PLC, как правило, модульная: к ним подключаются различные модули для решения ряда задач. И все было бы хорошо, но, кроме контроллеров, за работой процесса следит еще и человек – оператор. И следить за информацией с десятков, а зачастую и сотен контроллеров вручную ему неудобно. Для оператора в сеть устанавливается АРМ – автоматизированное рабочее место. Это компьютер с ОС Windows и ПО для отображения технологического процесса (SCADA). SCADA выводит на экран показания с контроллеров, обеспечивает возможность управления в ручном режиме, позволяет изменять некоторые параметры и ведет запись архивов. АРМы всегда находятся в одной сети с контроллерами. Зачастую антивирусное ПО на них не устанавливается, а если и устанавливается, то уж точно не обновляется. Считается, что вирусы в этой изолированной среде появиться не могут. Стоит отметить также, что системное ПО на АРМах обычно не обновляется.

Что такое Stuxnet?

Речь идет о чрезвычайно высокотехнологичном вредоносном ПО во всех его проявлениях. Данный червь использует 4 ранее неизвестные уязвимости системы Microsoft Windows, одна из которых направлена на распространение при помощи USB-накопителей. Также в коде реализована и возможность заражения по сети. Кроме того, червь располагает механизмами контроля количества заражений, самоликвидации и дистанционного управления. После внедрения в систему вредоносное ПО ищет в ней присутствие SCADA-системы фирмы Siemens. Причем он атакует только системы SCADA WinCC/PCS7. Данных о заражении другой SCADA от Siemens – Desigo Insight, используемой для автоматизации зданий и жилых комплексов, аэропортов и т.д. – у нас нет.

На сегодняшний день все современные антивирусы успешно чистят компьютеры от червя Stuxnet. Но, к сожалению, они очищают от зловреда только АРМ – ту часть технологической сети, которая работает под управлением Windows. А как же контроллеры?

Когда червь "понимает", что оказался на машине с WinCC, он заходит в систему, используя стандартные учетные записи. Стоит заметить, что официальный Siemens не рекомендует менять стандартные пароли на своих системах, так как это может повлиять на работоспособность, и использование червем стандартных паролей гарантирует 100% успешной авторизации. Соединившись с WinCC, червь получает доступ к технологическому процессу. Найдя в сети другие АРМы, червь заражает и их, используя 0day уязвимости в службе печати Windows. Также червь видит в сети и контроллеры. Тут мы дошли до самого опасного его функционала: да, Stuxnet умеет перепрограммировать PLC Simatic фирмы Siemens. На PLC этого типа построен технологический процесс на огромном количестве объектов, в том числе стратегических. Например, атомная станция в Иране (Бушер), которую многие эксперты считают целью этого кибероружия, конечно, не использует Simatic для управления реактором, но широко использует для управления вспомогательным оборудованием, и этого вполне достаточно, чтобы червь мог парализовать ее работу. Сам процесс "парализации" проходит очень интересно: "живя" в системе некоторое время, червь накапливает информацию о режимах работы оборудования, и в какой-то момент их меняет. Если, например, завысить уставку по температуре, то агрегат будет продолжать работать после перегрева до полного самоуничтожения. При этом на экране АРМ оператор продолжает видеть нормальные значения и уставки, которые троян подменяет в реальном времени. И если это, например, газоперекачивающая установка, управляемая САУ турбоагрегатами последнего поколения, то изменение уставок может привести к исчезновению с карты всей компрессорной станции вместе с прилегающими к ней районами.

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

В черве также найден функционал управления частотно-регулируемыми приводами электродвигателей. В Иране червь уже вывел из строя большое количество центрифуг для обогащения урана, для управления которыми применялись ЧРП. Читатель может задать логичный вопрос: почему нас должно волновать, что в Иране ломаются центрифуги? Ответ прост: Stuxnet может, например, вывести из строя сверхскоростные поезда "Сапсан", которые полностью построены на системах Simatic и используют в работе большое количество тех самых "частотников". И не только "Сапсан", а огромное количество различных систем.

Еще одна интересная особенность вируса – искать активное интернет-соединение и отправлять информацию на определенные адреса. Также червь умеет обновлять себя через Интернет, и именно этим обусловлен тот факт, что у разных аналитиков выловленные копии вируса сильно отличаются.

Зачем все эти интернет-функции, когда промышленные сети не связаны с Интернетом? На самом деле, связаны. На некоторых предприятиях связь осуществляется посредством второй сетевой карты на АРМе, на других – GSM-модемом. В некоторых случаях АСУ ТП и ERP-си-стема вообще "в одном флаконе". Способов выхода во внешний мир много, и это непринципиально, главное – сам факт: многие промышленные сети связаны с сетями общего доступа на постоянной или временной основе.

Политика и ситуация на местах

На сегодняшний день все современные антивирусы успешно чистят компьютеры от червя Stuxnet. Но, к сожалению, они очищают от зловреда только АРМ – ту часть технологической сети, которая работает под управлением Windows. А как же контроллеры?

Единственный способ уберечь системы от заражений – это соблюдение персоналом регламентов предприятия и элементарных правил информационной безопасности. К сожалению, этому аспекту уделяют слишком мало внимания. Персонал на большинстве объектов даже не задумывается о том, к каким последствиям может привести установленная на АРМе компьютерная игра или принесенный с собой GSM-модем для серфинга по сети Интернет. Начальство же либо не знает о происходящем, либо закрывает на это глаза.

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

Именно этим объясняется то, что Stuxnet присутствует на огромном количестве объектов, но факт такого присутствия тщательно скрывается персоналом и руководителями на местах. Нам известны факты такого сокрытия, когда руководство крупной компании после появления червя разослало по своим объектам инструкции и ПО для его выявления и лечения. И вирус на объектах был найден, но НИКТО ЕГО НЕ ЛЕЧИТ! Причина: для очистки системы от вируса необходима перезагрузка, то есть остановка технологического процесса. Также рекомендуется присутствие специалистов для выявления возможных изменений в PLC. Остановить установку, цех или все предприятие – дело непростое: это ЧП, которое нужно обосновывать. А обосновывать его наличием вредоносного ПО нельзя, ведь именно руководители на местах отвечают за выполнение регламента и инструкций. Если червь попал в систему, у руководителя будут неприятности. А неприятностей никто не хочет. Объекты так и живут со Stuxnetом, и не только с ним, а мы сидим на этой "пороховой бочке". Именно на "пороховой бочке", потому что никто не может гарантировать, что "спящий" троян или его модифицированный экземпляр в какой-то момент не атакует. Уместно будет заметить, что "виновник торжества" – фирма Siemens со своим "дырявым" ПО и рекомендациями о "недопустимости смены паролей" очень немногословна в своих заявлениях. Компания утверждает, что червь обнаружен всего у двух десятков ее клиентов, и случаев нарушения технологического процесса не наблюдалось. Здесь необходимо дать некоторые уточнения:

  1. Говоря о количестве заражений, компания имеет в виду своих прямых клиентов. Таких объектов действительно не так много, и речь идет о крупнейших объектах в мировом масштабе.
  2. Далеко не на всех предприятиях проведены проверки, и на многих объектах Stuxnet есть, но об этом никто не знает.
  3. Ну и самое страшное: на многих объектах червь есть и об этом знают, но ничего не делают.

Исходя из вышеизложенного, мы рекомендуем проверить на наличие Stuxnet и другого вредоносного ПО все промышленные системы. Господа руководители крупных компаний, простой директивы недостаточно – никто ничего не сделает! Необходимо либо отправить на объекты своих людей для принудительного выявления и лечения, либо обратиться за помощью к сторонним независимым специалистам.

Комментарий эксперта

Stuxnet: версии происхождения

Рами Мулейс
заместитель начальника отдела консалтинга и поддержки продаж ЗАО "РНТ"

Достоверно неизвестно, кто создал Stuxnet. Очевидно, что Stuxnet не является обычным криминальным вредителем. Он имеет четкую сферу действия и не распространяется случайным образом. Он не крадет личные данные или номера кредитных карт и не используется для создания бот-сети. Stuxnet нарушает порядок работы промышленных систем, которые контролируются с помощью WinCC\Step 7, созданного Siemens. Stux-net – достаточно дорогой проект, если, конечно, не оценивать его стоимость в контексте бюджетов военных или государственных структур.

По данным анализа кода, проведенного компанией Symantec, самая ранняя дата компиляции кода была произведена еще в начале 2009 г. Это значит, что сам Stuxnet был обнаружен только через год после создания. При этом из анализа не видно, что конкретно делает червь, так как его задачей является замена одного значения конфигураций в программном обеспечения промышленных PLC-контроллеров на другое, а для каждого конкретного завода, поезда или атомной станции существуют свои, сугубо индивидуальные версии этого ПО. То есть мы не знаем даже, каковы    возможные    последствия    вмешательства этого червя в работу промышленных систем. Во время демонстрации вируса на Virus Bulletin Conference в Ванкувере специалист компании Symantec продемонстрировал, как с помощью Stuxnet и инфицированного ПО можно заставить промышленный насос работать 140 секунд вместо положенных 3 секунд, что в итоге привело к наглядному взрыву демонстрационного надувного шара.

Относительно происхождения Stuxnet в СМИ доминирует теория о том, что это работа спецслужб США и Израиля, противодействующих развитию ядерной программы Ирана. Спекуляции на эту тему были начаты исследователем информационной безопасности из Германии Ральфом Ленгнером. Его теория основана на результатах анализа кода, в котором обнаружены два примечательных маркера. Первым является слово myrtus, которое является ссылкой на одного из древних правителей Персии, не допустившего геноцида евреев в IV в. до н. э. Второй маркер – значение 19790509, которое червь устанавливает в регистре, обозначая свое присутствие. Это значение имеет прямую ассоциацию с датой казни иранского промышленника еврейского происхождения Хабиба Эльганана, который после Исламской революции был обвинен в шпионаже в пользу Израиля.

Насколько эта версия правдива, судить трудно. Однако других ответов на вопрос "Откуда взялся Stuxnet?" пока нет. Будем надеяться, что со временем они появятся. Тем более что вирус самостоятельно прекратит свое распространение 24 июля 2012 г. Эта дата заложена в коде.
Возможно, после этого пелена секретности со Stuxnet спадет.

Опубликовано: Журнал "Information Security/ Информационная безопасность" #6, 2010

Приобрести этот номер или подписаться

Статьи про теме