Что мог поражать вирус stuxnet

Содержание

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

Промышленный шпионаж

Мы привыкли, что киберпреступность пытается обмануть, взломать и обворовать
несчастных пользователей интернета. Но время всегда заставляет людей двигаться
дальше, за новыми результатами и новой прибылью. То же самое происходит и в
отношении плохих парней. Можно еще с десяток лет строить ботнеты, воровать
номера CC, но ведь есть еще огромная неизведанная ниша — промышленность, ее
технологии, секреты и ценные данные. Именно с ней и произошел инцидент в разгар
лета — беспрецедентная атака на промышленные системы
SCADA, Supervisory Control And
Data Acquisition, что переводится как «Диспетчерское Управление и Сбор Данных»
(по-нашему это аналог АСУ ТП — Автоматизированная Система Управления
Технологическим Процессом). Такие системы контролируют процессы на производстве,
нефтяных вышках, атомных электростанциях, газопроводах и т.д. Естественно, такие
комплексы имеют свои базы данных, и та информация, что в этих базах, бесценна.
Именно на эту информацию и нацелилась свежая вредоносная программа, получившая
имя
Stuxnet.

Stuxnet

Первыми обнаружили нового зверя братья-славяне из Белоруссии, а именно —
антивирусная контора VirusBlokAda. 17 июня ими было найдено тело виря, но лишь к
10 июля они выпустили пресс-релиз (объясняя это тем, что им было необходимо
уведомить компании, чье имя было в ходе дела «опорочено», и изучить экземпляр).
Компании эти достаточно известны — Microsoft и Realtek. Специалисты VirusBlokAda
зафиксировали использование червем 0day-уязвимости при обработке файлов ярлыков
(.lnk), и поэтому в дело оказались вмешаны Microsoft (о самой уязвимости
поговорим позже). А вот при чем тут Realtek? Дело в том, что устанавливаемые
червем драйвера имели действующий сертификат, заверенный Verisign и выданный на
имя Realtek. Такой оборот дела сильно усложняет процесс детектирования
вредоносного контента различными системами обнаружения и предотвращения
вторжения на уровне хоста (HIPS, антируткиты), так как такие системы безгранично
доверяют сертификатам, не обращая внимания на суть дела. Я вполне уверен, что
доверенный сертификат сильно продлил жизнь «малваре», прежде, чем ее обнаружили.
Как бы то ни было, после пресс-релиза белорусов, другие антивирусные компании
так же подключились к исследованию, как новой уязвимости, с помощью которой
распространялся червь, так и к боевой нагрузке.

Распространение

Механизм размножения червя, казалось бы, не особо-то и оригинальный — через
USB-флешки. Но autorun.inf тут уже ни при чем. В дело вступает новая уязвимость,
которая позволяет загружать произвольную .DLL-библиотеку, как только флешка
будет вставлена, и пользователь откроет ее содержимое. Дело в том, что на флешке
лежит .DLL-файл с вредоносным кодом (ну, фактически расширение, в случае с
червем, — .TMP) и .LNK-файл. Файл с расширением .LNK является обычным ярлыком.
Но в нашей ситуации ярлык не совсем обычный. При отображении ярлычка в
стандартной оболочке или Total Commander автоматически выполнится лежащий рядом
.DLL-файл со всеми вытекающими отсюда последствиями! Как такое могло произойти?

Как известно, ярлык указывает на исполняемый файл и при двойном щелчке
вызывает его. Но тут все без щелчков, да и .DLL-файл так не выполнить. Если
рассмотреть ярлык в HEX-редакторе, можно увидеть, что в его середине указан путь
до нашей .DLL. Кроме того, это не обычный ярлычок, а ярлычок на элемент панели
управления! Эта-то деталь все и объясняет. Любой элемент панели управления — .CPL-
апплет. Но CPL — это, по сути, простая .DLL, поэтому ярлык для панели управления
особый, он как бы понимает, что имеет дело с .DLL. Кроме того, такой ярлык
пытается ВЫТАЩИТЬ иконку из.DLL, чтобы отобразить ее в проводнике. Но для того,
чтобы вытащить иконку, надо подгрузить библиотеку. Что, собственно, оболочка и
делает с помощью вызова LoadLibraryW().

Справедливости ради стоит отметить, что вызов этой функции автоматически
влечет за собой выполнение функции DllMain() из подгружаемой библиотеки.
Поэтому, если такой ярлычок будет указывать не на .CPL-апплет, а на злую
библиотеку со злым кодом (в функции DllMain()), то код выполнится
АВТОМАТИЧЕСКИ при просмотре иконки ярлыка. Кроме того, эту уязвимость можно
использовать и с помощью .PIF-ярлыков.

Боевая нагрузка

Кроме интересного метода распространения удивила и боевая нагрузка — никаких
ботнетов, краж банковских паролей, номеров CC. Все оказалось куда масштабнее.
Уязвимость .LNK провоцирует загрузку скрытого файла с именем ~wtr4141.tmp,
лежащего рядом с ярлыком. Файл этот исполняемый, но маленький (всего 25 Кб). Как
отметили специалисты из Symantec, очень важно на первых порах скрыть свое
присутствие, пока система еще не заражена. С учетом специфики 0day-уязвимости,
которая действует, как только пользователь увидит иконки, сработает и
~wtr4141.tmp, который в первую очередь вешает перехваты системных вызовов в
kernel32.dll. Перехватываемые вызовы:

  • FindFirstFileW
  • FindNextFileW
  • FindFirstFileExW

Хуки также вешаются и на некоторые функции из ntdll.dll:

  • NtQueryDirectoryFile
  • ZwQueryDirectoryFile

Все эти функции обрабатываются со следующей логикой — если файл начинается с
«~wtr» и заканчивается на «.tmp» (или на «.lnk»), то удалить его из
возвращенного оригинальной функцией значения, а затем вернуть, что осталось.
Другими словами, скрыть свое присутствие на диске. Поэтому пользователь просто
не увидит файлы на флешке. После этого ~wtr4141.tmp подгружает второй файл с
диска (~wtr4132.tmp). Делает он это не совсем стандартно, я бы даже сказал,
извращенно — установкой хуков в ntdll.dll на вызовы:

  • ZwMapViewOfSection
  • ZwCreateSection
  • ZwOpenFile
  • ZwCloseFile
  • ZwQueryAttributesFile
  • ZwQuerySection

Затем с помощью вызова LoadLibrary он пытается подгрузить несуществующий файл
со специальным именем, на это дело срабатывают ранее установленные хуки и грузят
второй файл, уже реально существующий — ~wtr4132.tmp, вернее, его
незакодированную часть, которая раскодирует вторую часть (по факту —
UPX-сжатие). Вторая часть представляет собой некие ресурсы, другие файлы,
которые вступают в дело после расшифровки и экспорта (аналогичным извращенным
методом с хуками на API функции).

Первым делом устанавливаются два драйвера — mrxcls.sys и mrxnet.sys (именно
из-за этих файлов червь получил такое название — Stuxnet). Устанавливаются они в
системную директорию, а функционал на них — руткит уровня ядра с той же логикой,
что и в первом файле. Это обеспечит защиту червя после перезагрузки и завершения
процесса ~wtr4141.tmp.

Драйвера эти, как уже было сказано, имеют легитимный сертификат Realtek,
поэтому их установка пройдет без проблем (на данный момент сертификат уже
отозван). Кроме руткита распаковываются файлы шаблона ярлыка и ~wtr4141.tmp для
организации заражения других USB-устройств. Потом экспортируется код, который
инъектится в системные процессы и добавляет в реестр вышеотмеченные .SYS-файлы
руткита (HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MRxCls). Далее
раскодируются два .DLL-файла, которые заменяют существующие файлы системы SCADA
— Siemens Step 7.

Таким образом, все вызовы из системы SCADA переходят в поддельные библиотеки.
Там происходит «нужная» обработка, после чего вызовы передаются в оригинальные .DLL
(остальную часть функций вирь и вовсе эмулирует самостоятельно). Кроме всего
перечисленного, червь блокирует процессы антивирусов и пытается найти сервера
СУБД (MSSQL). Найдя таковые, он пробует выполнить вход с учетной записью
WinCCConnect и паролем по умолчанию — 2WSXcder. Это учетная запись от БД SCADA
типа Siemens Simatic WinCC. Как видно, червь заточен именно под продукт Siemens.
Если аутентификация прошла успешно, шпион выкачивает данные о процессах и прочую
секретную инфу. Кроме того, он не гнушается поискать в локальных файлах полезную
для шпионов информацию. Если удается обнаружить выход в интернет, то червь лезет
на один из командных серверов. Имена серваков такие:

  • mypremierfutbol.com
  • todaysfutbol.com

Туда червь и пытался достучаться и «что-то» слить в зашифрованном виде.
Ребята из Symantec разобрались и с этой задачей. Оказалось, что шифрование
представляет собой побайтовую операцию XOR с 31-битным ключом, который был
прошит в одной из .DLL-библиотек. Ответ с сервера также приходит в
XOR-виде, правда, используется уже другой ключ из той же библиотеки. Троян
отсылает на сервер общую информацию о зараженной машине (версия винды, имя
компьютера, адреса сетевых интерфейсов, а также флаг наличия SCADA). В ответ от
командного центра могут приходить вызовы RPC для работы с файлами, создания
процессов, внедрения в процесс и загрузки новых библиотек и др.

Что это было?

Именно так… что же это было?! Простые блэкхаты не будут ввязываться в то, что
не принесет легких денег. Данные из SCADA-систем интересны лишь конкурентам.
Конкурентам в коммерческом или политическом планах. Если взглянуть на карту
распространения заразы (по данным лаборатории Касперского), то видно, что
эпицентр — Азия (а именно — Индия, Иран и Индонезия). Если взглянуть на
описанный функционал червя, то можно ужаснуться — контроль над .DLL и перехват
функций SCADA. Разве не круто — управлять индийской атомной электростанцией по
инету? Или проникнуть в иранскую ядерную программу? К тому же, мы имеем факт,
что драйвера руткита имеют легальный сертификат, который географически
принадлежит компании, базирующейся в той же зоне (в Тайланде)!

Этой историей занимаются не только антивирусные компании, но и
правительственные структуры (чтобы замести свои следы? :)). В результате
«захвата» указанных доменов и командных серверов удалось проанализировать
статистику стучащихся туда больных машин. В итоге данные Symantec практически
совпадают со сведениями Лаборатории Касперского — все те же страны. Кроме всего
этого уже подтвердились факты проникновения и в саму систему SCADA. Пока не так
много, около трех фактов (два из Германии и один из Ирана). Но ведь не все будут
публично говорить, что их поимели…

Что будет?

После всего случившегося, я думаю, возникнет неслабый интерес к безопасности
SCADA. До этого инцидента уже были и исследователи, и фирмы, которые
предупреждали о проблемах в безопасности и предлагали свои услуги, но этот
конкретный случай может помочь им очень неплохо заработать. Смею полагать, что
такая же модель червя годится и для ERP-систем, так как показанная схема
применима и для этой модели. ERP-системы отвечают за планирование и управление
бизнесом — деньгами, задачами, товарами и т.д., и т.п. (Я бы даже сказал, что
написать такого червя под ERP было бы легче, но раз была выбрана SCADA и регионы
Азии, то тут скорее попахивает политикой…). Так что все эти бизнес- и
промышленные системы еще ждут своих героев (привет Александру Полякову aka
sh2kerr). Но вот что касается .LNK-уязвимости, то, например, троянец Zeus уже
стал использовать ее для своего размножения. Кроме того, ребята из Rapid7
сделали эксплойт для Metasploit, который способен работать через HTTP с помощью
WebDav.

При этом шеллкод забивается в .DLL-файл, и ярлык его подгружает. Патча на
момент написания статьи еще не было, а угроза весьма существенная — тут все
антивирусные компании говорят, что они прекрасно детектируют виря по сигнатурам,
поэтому самое время обратить внимание, что сигнатуры — отстой. Сигнатура DLL нам
не так интересна, а вот сигнатура, по которой определяется, что данный ярлык —
эксплойт, определенно может хромать. Возьмем ярлык от публичного PoC
(suckme.lnk_) и отправим это чудо на virustotal.com. В итоге мы имеем 27
антивирусов, которые его обнаружили. Теперь откроем панель управления и создадим
пару ярлыков, один желательно от Java. Далее переименуем эти ярлыки через
консоль:

nopy Java.lnk Java.lnk_

Второй ярлык копируем аналогично первому. Теперь мы можем редактировать их в
HEX-редакторе. Обычно все ярлыки имеют указатель в виде Unicode-формата, но
Java-ярлык — нет. В итоге мы видим две ссылки на CPL-апплеты, причем для Java —
не в Unicode-виде. Меняем путь к CPL (DLL) на наш файл, удаляем посередине
лишние байты (fa ff ff ff 20) и сохраняем. Копируем обратно с расширением .LNK.
Итоги отправляем на virustotal.com. Для Unicode-ярлыка осталось 11 антивирусов,
для Java-ярлыка — 8, то есть 70% антивирусов перестали детектить эксплойт, и
среди этих антивирусов такие гиганты, как Symantec, Kaspersky, AVG, NOD32. Так
что антивирус тут — не панацея.

Это так… пять копеек от меня, чтобы там не расслаблялись, а вообще,
антивирусникам надо сказать спасибо за столь тщательную и интересную работу,
которую они проделали, чтобы помочь нам разобраться в этой угрозе. Спасибо Вам,
бойцам антивирусного фронта: AdBlokAda (первыми обнаружили и изучили), Symantec
(за подробный технический анализ в своем блоге), компании ESET и лично
Александру Матросову за их работу в московской лаборатории. Также спасибо
лаборатории Касперского и их блогу, в котором Александр Гостев делился своими
мыслями и красивыми картами :). Ну и спасибо тебе, мой читатель, переваривший
этот важный материал.

Кибератаки: вирус-диверсант Stuxnet в ядерной энергетической программе Ирана. Часть 1

Вирус Stuxnet и ядерная программа Ирана

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

Но заказчик — неизвестен, гипотетический исполнитель — якобы сотрудник концерна «Сименс» (Siemens), вставивший инфицированный флеш-накопитель в управляющую систему производства. Ущерб же, причиненный ядерной программе Ирана, в данном случае сопоставим с ущербом от пресловутого удара израильских ВВС в 1981 году, как раз накануне пуска АЭС, когда была полностью разрушена вся инфраструктура предприятия.

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

При этом следует отметить, что вирус Stuxnet атакует на уровне логических контроллеров (контроллеры — компьютеры, занимающиеся управлением крупных производственных и энергетических комплексов), заражая программную основу системы. В списке его целей — преобразователи частотно регулируемых приводов (VFD). Среди обнаруженных в теле вируса активируемых частот есть и такие, которые могут влиять на электронное оборудование иранских центрифуг IR-1. Хотя само по себе это обстоятельство еще ничего не значит.

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

Официально Иран не признал, что завод оказался под ударом компьютерного вируса. Однако на самом высшем уровне подтверждается, что кибератаки на его ядерные объекты ведутся. Так, в конце ноября 2010 г. президент Махмуд Ахмадинежад заявил, что у «ограниченного числа центрифуг» возникли проблемы с программным обеспечением в электронике.

В то же время Глава организации по атомной энергии Ирана доктор Али Акбар Салехи обозначил дату, когда вирус Stuxnet появился на иранских ядерных объектах, — это середина 2009 года. Следовательно, время, которое потребовалось вредоносному вирусу на прохождение пути от первых зараженных персональных компьютеров до заводских цехов составляет более одного года.

При этом в 2009–2010 гг. иранские специалисты демонтировали и заменили порядка 1 000 центрифуг IR-1 на заводе. И до этого данная довольно устаревшая модель центрифуг часто выходила из строя (порядка 10 % ежегодно), но замена столь большой партии, как в 2010 г., заставила задуматься, начать расследование и глубокое научное изучение этого вопроса.

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

Передовицы мировой прессы заполонили мрачные пророчества о наступлении эры кибернетических войн. Над разгадкой тайны вируса Stuxnet, поразившего завод по обогащению урана Ирана, бьются специалисты самых разных направлений: от IT-безопасности до лингвистики и антропологии. Следует отметить, что вирус Stuxnet был обнаружен антивирусными лабораториями достаточно давно, однако об истинных масштабах заражения мир узнал только в конце сентября 2010 г.

По вполне понятным и логичным причинам разработчики вируса Stuxnet предпочитают держаться в тени. Однако специалисты акцентируют внимание на том, что совершенно очевидно, — сложность этого вируса можно назвать беспрецедентной, а создание подобного проекта требует огромных интеллектуальных и финансовых инвестиций, а значит, под силу лишь структурам государственного масштаба. Эксперты сходятся во мнении, что этот вирус не является плодом усилий просто «группы энтузиастов». Лоран Эсло, руководитель отдела систем безопасности фирмы Symantec, предполагает, что над созданием вируса Stuxnet работали как минимум до 10 человек на протяжении шести-девяти месяцев. Франк Ригер, технический директор GSMK, поддерживает своего коллегу: по его словам, вирус создавала команда опытных программистов, а разработка заняла около полугода. Ригер называет и ориентировочную стоимость создания вируса Stuxnet: она составляет не менее $ 3 млн. О диверсионном предназначении вируса говорит Евгений Касперский, генеральный директор «Лаборатории Касперского»: «Stuxnet не крадет деньги, не шлет спам и не ворует конфиденциальную информацию. Этот зловред создан, чтобы контролировать производственные процессы и в буквальном смысле управлять огромными производственными мощностями. В недалеком прошлом мы боролись с кибер-преступниками и интернет-хулиганами, теперь, боюсь, наступает время кибертерроризма, кибероружия и кибервойн». Тильман Вернер, участник содружества специалистов в области интернет-безопасности, уверен: хакеры-одиночки на такое не способны.

«Stuxnet настолько совершенен с технической точки зрения, что следует исходить из того, что в разработке вредоносной программы принимали участие специалисты из госструктур или что они, по крайней мере, оказывали какую-то значимую помощь в ее создании», — утверждает Вернер.

Специалисты отмечают, что вирус Stuxnet проникает в компьютер через гнездо USB из зараженного носителя, обычно disk-on-key, в народе именуемого флешкой. С этого момента инфицированный компьютер сам становится источником заразы.

А «червь» внутри него (у вируса Stuxnet отмечают шесть различных способов проникновения и закрепления в операционной системе компьютера) начинает действовать в автономном режиме. Никакая команда извне ему уже не нужна. Он от рождения знает, что ему делать. Вирус Stuxnet тестирует содержимое компьютера, поступающие и исходящие из него команды и ведет себя совершенно нормально по отношению к поглотившей его системе, никак не вредит ни ей самой, ни ее партнерам, пока не наткнется на признаки цели, для охоты на которую он создан, — программы управления производством концерна «Сименс». И тогда он превращается в жестокого хищника-разрушителя.

Специализация вируса Stuxnet — это компьютерные программы крупномасштабных систем управления промышленными предприятиями SCADA (Supervisory Control and Data Acquisition), т. е. «диспетчерское управление и сбор данных». Эти системы регулируют технологические процессы электростанций, нефте- и газопроводов, военных заводов, предприятий гражданской инфраструктуры и т. п.

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

Первым делом он меняет компьютеру «голову» и перепрограммирует программу PLC (Programmable Logic Controler — программируемый логический контроллер), отвечающую за логику. И начинает сам отдавать команды.

По мнению специалиста по промышленной безопасности в концерне «Сименс» Ральфа Лангнера, вирус Stuxnet может изменить параметры работы «оперативного блока 35», ведущего мониторинг критических производственных ситуаций, требующих срочной реакции в 100 миллисекунд. Если так, озверевшему «червю» ничего не стоит привести систему к разрушительной аварии.

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

Эксперты сходятся во мнении, что разработка и внедрение такого сложного вируса — задача непосильная ни хакеру, ни группе хакеров, ни какой-либо частной структуре. Это явно дело рук государства. Только государство могло себе позволить запустить такого дорогостоящего «червя», тем самым фактически рассекретив его, только ради крайне важной для него цели и только потому, что не могло больше ждать.

В связи с этим тот же Ральф Лангнер высказывает логичное предположение, что вирус Stuxnet уже, скорее всего, сделал свое дело. Все же «червь», хоть явно и не шпионская программа, но кое-какую информацию дает, в том числе для широкой публики, хотя бы самим фактом своего существования.

Проблемы концерна «Сименс»

Широко известным фактом является то, что Бушерскую АЭС построили специалисты российского «Атомстройэкспорта» по российским технологиям и с использованием компьютерных систем управления производством концерна «Сименс».

Следует отметить, что, по оценке специалистов, вирус Stuxnet поражает лишь конкретный тип контроллеров концерна «Сименс», а именно SIMATIC S7, который, по сведениям МАГАТЭ (Международное агентство по атомной энергии), используется Ираном. При этом порядка 60 % компьютеров, зараженных вирусом Stuxnet, находится в Иране, а остальные 40 % — в странах, так или иначе связанных с ним: Индонезии, Индии и Пакистане.

Важной деталью рассматриваемого вопроса является то, что именно концерн «Сименс» принимал активное участие в 70-х гг. прошлого века в обеспечении высокотехнологическим оборудованием ядерной программы Ирана. После победы исламской революции концерн прекратил работу в стране, но затем немцы вернулись, и Иран стал для них одним из крупнейших заказчиков специфического оборудования. Однако после введения международных санкций, с большой неохотой и под жестким давлением правительства Германии, концерн «Сименс» объявил о прекращении контрактов с Ираном. На этот факт до сих пор ссылаются представители концерна в ответ на то и дело возникающие упреки. Однако вскоре их поймали на поставках запрещенного оборудования и комплектующих двойного назначения, которые могут быть использованы для установки на ядерных объектах Ирана, о чем речь пойдет ниже.

Версия программной поддержки

Как и во всем мире предприятия ядерного цикла, завод по обогащению урана — предприятие закрытое и имеет большие ограничения, в том числе связанные с доступом посторонних на свою территорию. Но некоторые представления о специфике производственного процесса у организаторов диверсии были. Так, в 2007–2008 гг. завод посещали инспекторы МАГАТЭ — тогда иранские власти еще не закрыли перед ними двери. Специалисты узнали немало интересной информации даже из официальной иранской теле- и фотосъемки, посвященной визиту на завод президента страны Махмуда Ахмадинежада в 2008 г. Службы безопасности сработали тогда на удивление непрофессионально. Так, на фото можно было разглядеть мониторы компьютеров, работающих под операционной системой Windows; стало точно известно, какие центрифуги используются в Натанзе (в обход эмбарго на поставки запрещенного оборудования Иран закупал центрифуги в Пакистане); а компьютерное управление моторами центрифуг производится с помощью контроллеров концерна «Сименс». Владея этой информацией, необходимо было только решить, каким надежным образом занести вредоносную программу в компьютерную сеть предприятия, ведь из соображений безопасности она не подсоединена к Интернету. И авторы вируса Stuxnet разработали хитроумное решение:

Так как под нужды конкретного производства для сименсовских контроллеров всегда создается специальное программное обеспечение (собственно система управления), то управленческие программы «пишутся» на них под заказ, следовательно, разработчики впоследствии занимаются их плановой поддержкой и регулярно доставляют на производство файлы обновлений. Наиболее возможным способом доставки информации в закрытую сеть завода являются внешние носители. Хакеры «закинули» вирус Stuxnet в шесть иранских компаний — разработчиков программного обеспечения, которые, по их мнению, могли иметь контакты с заводом в Натанзе. Заразить компьютеры этих компаний было делом техники ввиду того, что они подключены к Интернету, и их сотрудники пользуются электронной почтой. Как и следовало ожидать, расчет на то, что рано или поздно вирус попадет по назначению, полностью оправдался: зараженные компьютеры, которые управляют производством, в какой-то момент подали команду на раскручивание центрифуг до тех пор, пока часть из них не вышла из строя. Только тогда обслуживающий персонал завода заметил неладное и обесточил их.

Израильский след

Иран превратился в объект повышенного международного внимания, когда западные страны начали всячески предпринимать шаги по срыву его ядерных программ, направленных, по их мнению, на создание своего ядерного оружия. В этих условиях проводится работа по развалу его экономики при одновременной атаке военно-промышленного и научного секторов. Такой вывод содержится в вышедшей в Евросоюзе книге специалиста в области разведки Ивонника Деноэля «Секретные войны Моссада». В этом издании впервые подробно рассказывается об операции по срыву работы центрифуг по обогащению урана с помощью компьютерного вируса.

Первые данные о подземном заводе по обогащению урана в г. Натанзе западные спецслужбы получили в 2002 году, когда агенты германской разведки завербовали иранского бизнесмена, чья компания принимала участие в создании этого объекта. Исходя из слов автора — иранец согласился предоставить карты, фотографии, техническое описание и иные сведения об этом объекте в обмен на обещание вывезти его позднее из страны и предоставить немецкое гражданство. Однако, отмечает Деноэль, иранская контрразведка разоблачила этого агента в 2004 г. и ликвидировала его. Тем не менее его супруга смогла вывезти из Ирана в Германию портативный компьютер погибшего мужа.

«Компьютер стал подлинной пещерой Али-Бабы, а немецкой разведке потребовались месяцы, для того чтобы изучить попавшие в ее руки документы», — замечает автор книги.

Вслед за этим в 2006 г. на заводе в Натанзе и ядерном центре Исфахана последовала «подозрительная» серия взрывов, когда из строя были выведены трансформаторы во время запуска газовых центрифуг, на которых происходит обогащение урана. В результате в Натанзе были повреждены до 50 центрифуг.

Между тем в 2009 году на ядерном объекте Израиля «Димона» в пустыне Негев была создана совместная с США группа специалистов по мониторингу израильской ядерной программы. Одновременно израильские спецслужбы создали на основе полученной разведкой документации точную рабочую копию иранского обогатительного завода в Натанзе. Данные работы облегчались тем, что как в «Димоне», так и в Натанзе использовалась французская ядерная технология. Деноэль пишет, что израильским спецслужбам удалось приобрести на мировом «черном рынке» центрифуги, аналогичные которым использует Иран для обогащения урана.

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

Как сообщает Деноэль, в 2008 г. осуществлявший сделки с Ираном, немецкий машиностроительный концерн «Сименс» «согласился на сотрудничество с Министерством внутренней безопасности США с целью помочь его специалистам найти уязвимые места в компьютерной системе вооруженных сил Ирана». Этому способствовал тот факт, что «Сименс» участвовал в создании компьютеров, которые занимаются управлением крупных производственных и энергетических комплексов (контроллеры). Как оказалось, компьютерное оборудование немецкой компании использовалось иранцами и на заводе в г. Натанзе.

Одновременно спецслужбами Израиля и США была организована группа по созданию компьютерного вируса Stuxnet, начавшая работу в «Димоне». В этой связи газета «Нью-Йорк таймс» писала, что без воссоздания производственного процесса иранского завода в Натанзе в израильском ядерном центре вирус Stuxnet не смог бы сработать с высокой эффективностью. При этом Израиль привлек к работам ранее ушедших на пенсию ученых и техников, работавших в ядерном секторе в 50–60-х гг. – настолько специфичным, да и, более того, довольно устарелым оказался производственный процесс в Натанзе. Но именно эти специалисты-ветераны обладали необходимыми знаниями для воссоздания технологических процессов иранской ядерной программы.

Операция по промышленному саботажу в Иране имела несколько уровней. Так, в июне 2009 г. специалисты США и Израиля создали и запустили в Интернет упрощенную версию вируса Stuxnet, источник происхождения которого невозможно было определить. Первоначально данный вирус позволял похищать хранящуюся в компьютерах информацию, идентификационные номера, пароли и кодовые слова, сведения о конфигурации сетей.

Спустя несколько недель вслед за первым появлением в мировой Сети вируса Stuxnet была выпущена его сложная версия, направленная на атаку иранских производственных объектов. Именно ее направили специалисты США и Израиля в сети завода в г. Натанзе, где он взял под контроль систему управления центрифугами. Согласно Деноэлю, вирус вынуждал контрольные программы сообщать о «нормальной работе», проникая в то же время все глубже в производственные системы.

«Тем самым в компьютерной системе Натанза была создана виртуальная действительность, которая не позволяла иранским специалистам заподозрить факт вирусной атаки», — отмечает автор книги.

Все говорит о том, что в 2010 г. был отдан приказ о начале атаки, и вирус, взяв под контроль управление центрифугами, заставил их увеличить скорость вращения ротора с 1 000 оборотов в секунду до 1 400. При достижении подобной скорости происходит поломка и выход из строя центрифуги.

О том, что на заводе в г. Натанзе происходят какие-то события, немедленно сообщили инспекторы МАГАТЭ. Обычно на этом предприятии, где были развернуты 8 700 центрифуг, количество выходивших из строя не превышало 10 % в год. Однако в течение трех месяцев 2010 г. иранские техники заменили до 2 тыс. центрифуг, сообщили представители МАГАТЭ. Как считают западные аналитики, технологическая атака позволила отбросить назад на 24 месяца прогресс в работах по обогащению урана. Так, по мнению бывшего главы «Моссад» Меира Дагана, «успешная операция задержала начало производства Ираном обогащенного оружейного урана на несколько лет».

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

Материалы расследования

Согласно статистическим данным, собранным до событий 2010 г., имевшиеся в распоряжении Тегерана резервные центрифуги — это довольно устаревшая модель (IR-1), и они также часто выходят из строя. Так, еще в 2009–2010 гг. иранские специалисты демонтировали и заменили порядка 1 000 центрифуг IR-1 на заводе по обогащению урана.

Опубликованные данные МАГАТЭ подтверждают, что в начале 2010 г. на заводе происходило нечто странное. В цеху (технологический модуль A26) было отключено 11 из 18 каскадов центрифуг — всего 1 804 машины. В других цехах ситуация выглядела лучше, хотя и там фиксировались отключения одного-двух каскадов.

Монтаж модуля A26 производился в 2008 г. Это второй модуль, собранный на заводе. По состоянию на июнь 2009 г., 12 из 18 каскадов этого модуля обогащали уран. В августе 2009 г. обогащением занималось 10 каскадов, а в ноябре только шесть.

Такое уменьшение числа каскадов, обогащающих уран, подтверждает, что на модуле A26 возникли существенные проблемами. А в период между ноябрем 2009 г. и концом января 2010 г. (точнее сказать нельзя) случилось нечто, потребовавшее выключения сразу 11 каскадов.

В то же время следует отметить, что сам по себе факт отказа центрифуг IR-1 не является из ряда вон выходящим событием. Центрифуги IR-1 ломаются и делают это часто. По неофициальным оценкам специалистов МАГАТЭ, в год на этом заводе выходит из строя до 10 % от общего количества установленных центрифуг, т. е. по 800–900 машин ежегодно.

Не исключено, что центрифуги модуля A26 отказали по «естественным» причинам, хотя количество вышедших из строя машин достаточно велико и превышает годовую норму отказов.

Есть и другое объяснение, исключающее всякий внешний саботаж, — это качество установки узлов центрифуг в модуле A26, которое может быть низким, что могло дать о себе знать. Так, известно, что центрифуги первого иранского модуля (A24) работают устойчиво. Но на втором модуле (A26) качество работ при установке узлов центрифуг, проводимых после введения международного запрета (на поставку соответствующего специфического оборудования), могло оказаться ниже, чем для первого. Такое объяснение не противоречит реалиям. Непонятно, правда, почему заводской брак сказался спустя год с лишним после пуска второго модуля.

Есть и третья версия. Так, первый модуль (A24) мог быть изготовлен из официально закупленных импортных составляющих, а второй (A26) — из неизвестно как попавших в Иран комплектующих. В этом случае, массовый выход центрифуг второго модуля из строя не должен вызывать особого удивления.

При этом следует отметить, что эксперты фирмы Symantec определили, что вирус Stuxnet среди прочего атакует частотные преобразователи, которые выпускались иранской компанией Fararo Paya и финской Vacon. Соответствующие последовательности команд в теле вируса эксперты обозначили как «A» и «B». Частотные преобразователи на центрифугах нужны для системы управления моторами, которая позволяет с большой точностью задавать скорости вращения роторов центрифуг.

Преобразователи, в которые целил вирус Stuxnet, имеют ограниченную сферу применения, в том числе и предназначены для установки на центрифугах. Многие специалисты после сообщения фирмы Symantec» поверили в то, что вирус был разработан для борьбы с ядерной программой Ирана.

Stuxnet: война 2.0

Вирус, атаковавший ядерные объекты Ирана, ознаменовал начало эпохи кибернетических войн.
Мир — на грани военной IT-революции? Факты. Комментарии. Аналитика.

«Не знаю, каким оружием будут сражаться в третьей мировой войне, но в четвертой в ход пойдут камни и дубинки»
Альберт Эйнштейн

В конце сентября стало известно, что вирус Stuxnet нанес серьезный урон иранской ядерной программе. Используя уязвимости операционной системы и пресловутый «человеческий фактор», Stuxnet успешно поразил 1368 из 5000 центрифуг на заводе по обогащению урана в Натанзе, а также сорвал сроки запуска ядерной АЭС в Бушере. Заказчик – неизвестен. Исполнитель – нерадивый сотрудник Siemens, вставивший инфицированный флэш-накопитель в рабочую станцию. Ущерб, нанесенный ядерным объектам Ирана, сопоставим с ущербом от атаки израильских ВВС.
Мир заговорил о войнах нового поколения. Кибернетические атаки могут стать идеальными инструментами следующих войн – они стремительны, эффективны в своей разрушительности и, как правило, анонимны. Сегодня государства в спешном порядке договариваются о совместной стратегии противостояния кибернетическим угрозам. Что будет завтра? К сожалению, наиболее реалистичным ответом на этот вопрос до сих пор остается невеселый афоризм Эйнштейна.

Иран беспомощен перед техно-угрозой

Передовицы мировой прессы заполонили мрачные пророчества о наступлении эры технологических войн. Над разгадкой Stuxnet – вируса, поразившего ядерные объекты Ирана – бьются эксперты самых разных направлений: от IT-безопасности до лингвистики и антропологии. Stuxnet был обнаружен антивирусными лабораториями достаточно давно, однако об истинных масштабах заражения мир узнал в конце сентября, когда стало известно о задержке запуска первой в Иране Бушерской АЭС. Несмотря на то, что Али Акбар Салехи (Ali Akbar Salehi), глава Организации по атомной энергии Ирана, заявил, что задержка с пуском АЭС никак не связана с деятельностью вируса, Марк Фитцпатрик (Mark Fitzpatrick), сотрудник Международного института стратегических исследований отметил, что это звучит «не очень серьезно», а Иран cклонен замалчивать реальные проблемы на АЭС. Спустя некоторое время «проговорился» Махмуд Джафари (Mahmoud Jafari), менеджер отдела проектов станции в Бушере. По его словам, Stuxnet «поразил несколько компьютеров, но не нанес какой-либо ущерб основной операционной системе станции». Sapienti sat. Ядерные объекты Ирана в Натанзе также пострадали весьма серьезно: 1368 из 5000 центрифуг были выведены из строя в результате действий Stuxnet. Когда Махмуда Ахмадинеджада после сессии Генассамблеи ООН прямо спросили о технологических проблемах с ядерной программой, он лишь пожал плечами и ничего не ответил. Отметим, что по данным New York Times, ущерб от действий вируса в Иране сравним, разве что, с атакой израильских ВВС.

Автора! Автора!

По вполне понятным причинам разработчики Stuxnet предпочитают держаться в тени, однако совершенно очевидно, что сложность вируса можно назвать беспрецедентной. Создание подобного проекта требует огромных интеллектуальных и финансовых инвестиций, а значит, под силу лишь структурам масштаба государственных. Все эксперты сходятся во мнении, что вирус не является плодом усилий «группы энтузиастов». Лоран Эсло, руководитель отдела систем безопасности Symantec предполагает, что над созданием Stuxnet работали, как минимум, от шести до десяти человек на протяжении шести-девяти месяцев. Франк Ригер (Frank Rieger), технический директор GSMK поддерживает своего коллегу — по его словам, вирус создавала команда из десяти опытных программистов, а разработка заняла около полугода. Ригер называет и ориентировочную сумму создания Stuxnet: она составляет не менее $3 млн. О военных целях вируса говорит Евгений Касперский, генеральный директор «Лаборатории Касперского»: «Stuxnet не крадет деньги, не шлет спам и не ворует конфиденциальную информацию. Этот зловред создан, чтобы контролировать производственные процессы, в буквальном смысле управлять огромными производственными мощностями. В недалеком прошлом мы боролись с кибер-преступниками и интернет-хулиганами, теперь, боюсь, наступает время кибертерроризма, кибероружия и кибервойн». Тильман Вернер (Tillmann Werner), участник содружества специалистов в области интернет-безопасности Honeynet Project, уверен: хакеры-одиночки на такое не способны. «Stuxnet настолько совершенен с технической точки зрения, что следует исходить из того, что в разработке вредоносной программы принимали участие специалисты из госструктур, или что они, по крайней мере, оказывали какую-то помощь в ее создании», — утверждает Вернер.
В процессе анализа Stuxnet некоторые СМИ сделали вывод, что за созданием вируса стоит Израиль. Первым заговорил о причастности Израиля к атаке на Иран Джон Марков (John Markoff), журналист New York Times, сообщив, что аналитики особо отметили название одного из фрагментов кода «myrtus» («мирт»). В переводе на иврит, «мирт» звучит как «адас», что, в свою очередь, созвучно с именем «Адасса», принадлежащем Эстер (Эсфирь) – героине еврейской истории, спасшей свой народ от уничтожения в Персидской империи. Проводя аналогию с древней Персией, на территории которой расположен современный Иран, некоторые аналитики полагают, что Израиль оставил «визитную карточку» в коде вируса. Впрочем, по мнению целого ряда экспертов, эта версия не выдерживает никакой критики и напоминает сюжет дешевого детектива – слишком уж примитивный «почерк», как для проекта такого масштаба.
Вместе с тем следует подчеркнуть, что еще прошлым летом (напомним, распространение Stuxnet началось в 2009 г.) ресурс WikiLeaks сообщил о серьезной ядерной аварии в Натанзе. Вскоре после этого стало известно, что глава Организации по атомной энергии Ирана Голам Реза Агазаде (Gholam Reza Aghazadeh) ушел в отставку без объяснения причин. Примерно в это же время в СМИ появились высказывания израильских политиков и военных о возможном противостоянии с Ираном на технологическом фронте. Кроме того, Израиль скорректировал прогнозируемую дату получения Ираном атомной бомбы, отодвинув ее на 2014 год, а полномочия Меира Дагана (Meir Dagan), главы «Моссада», были продлены ради его участия в неназванных «важных проектах».

Человеческий фактор

Примечательна история первичного заражения, положившая начало распространению вируса. Очевидно, что системы автоматизированного управления подобного уровня не подключены к Сети. Эксперт из Киберцентра НАТО в Эстонии Кеннет Гирс (Kenneth Geers) на одной из конференций о безопасности высказал предположение, что успех атаки Stuxnet зависел исключительно от контактов с нужными с людьми и… элементарных USB-накопителей. «Можно заплатить кому-то, кто запустит трояна в закрытую систему, или подменить флешку, которая предназначалась только для внутреннего пользования», — размышляет Гирс. – «Достаточно вставить в стандартный USB-разъем компьютера инфицированную флешку, и Stuxnet тут же автоматически перескакивает на операционную систему, и никакие антивирусные программы и прочие меры защиты ей не помеха». И действительно, «слабым звеном» оказался человеческий фактор – Stuxnet был занесен в систему посредством обычного USB-накопителя, который по неосторожности вставил в рабочую станцию нерадивый сотрудник. Примечательно, что после заявлений министра разведки Ирана Гейдара Мослехи (Heydar Moslehi) о задержании «ядерных шпионов» (ими оказались совершенно непричастные российские техники), руководство Siemens признало, что вирус занесли сотрудники компании, подчеркнув непреднамеренный характер заражения. Следует отметить, что Stuxnet поражает лишь конкретный тип контроллеров Siemens, а именно SIMATIC S7, который, по сведениям МАГАТЭ, используется Ираном.

Кибервойна. Поле битвы – Земля?

На конференции Virus Bulletin 2010, проходившей в Ванкувере (Канада), внимание публики привлек краткий доклад Лайама О Мерчу (Liam O Murchu), одного из ведущих экспертов Symantec по IT-безопасности. Аналитик провел эксперимент, разъясняющий опасность кибер-угрозы лучше сотен формальных отчетов. О Мерчу установил на сцене воздушный насос, работающий под управлением операционной системы производства Siemens, инфицировал контролирующую насос рабочую станцию вирусом Stuxnet и запустил процесс в действие. Насос быстро надул воздушный шар, но процесс не остановился – шар надувался до тех пор, пока не лопнул. «Представьте, что это не воздушный шар, а иранская атомная электростанция», — сказал эксперт, поставив точку в вопросе о «серьезности» кибервойн.
Коллеги О Мерчу полностью разделяют его опасения. Исследователь Trend Micro Поль Фергюсон (Paul Ferguson) заявил, что с созданием Stuxnet в мире появилось полноценное кибер-оружие, которое выходит за рамки традиционных деструктивных схем (кража номеров кредитных карт и т.д.) и способно привести к серьезным авариям на очень опасных промышленных объектах. Фергюсон подчеркивает, что сейчас аналитики будут «буквально запугивать правительство для того, чтобы то начало принимать серьезные меры безопасности».
И действительно, глава только что созданного Киберштаба США при Пентагоне, генерал Кит Александер (Keith Alexander), выступая в Конгрессе, публично заявил, что за последние несколько лет угроза кибервойны растет стремительными темпами. Александер напомнил о двух кибер-атаках на целые государства – на Эстонию (в 2007 г., после демонтажа «Бронзового солдата») и на Грузию (в 2008 г., во время войны с Россией).
Президент Эстонии Тоомас Хендрик Ильвес (Toomas Hendrik Ilves) в интервью Berliner Zeitung поднимает вопрос о кибернетических угрозах на самом высоком уровне. Эстонский президент подчеркивает: решение НАТО разместить Центр кибербезопасности именно в Таллине (напомним, он открылся в мае 2008 года) связано с тем, что Эстония является одной из наиболее компьютеризированных стран в Европе, а также первым государством, подвергшимся полномасштабной кибератаке в 2007 году. После атаки, парализовавшей инфраструктуру целой страны, министр обороны Эстонии Яак Аавиксоо (Jaak Aaviksoo) даже потребовал от НАТО приравнять эти киберналеты к военным акциям. Схожие тезисы сегодня высказывает и президент: «Вирус Stuxnet продемонстрировал, насколько серьезно мы должны относиться к кибербезопасности, поскольку при помощи подобных продуктов может быть разрушена жизненно важная инфраструктура. В случае с Ираном вирус был, похоже, нацелен против ядерной программы, однако аналогичные вирусы могут разрушить нашу экономику, которая управляется при помощи компьютеров. Это должно обсуждаться в НАТО: если ракета разрушает электростанцию, в силу вступает параграф 5. Но как действовать в случае атаки компьютерных вирусов?» — спрашивает Тоомас Хендрик Ильвес. Предложение президента находится в русле нынешних тенденций: «Как ЕС, так и НАТО должны разработать единую политику, включая правовые нормы, которые станут основой для коллективной защиты против угрозы в киберпространстве», — считает глава государства.
С Тоомасом Хендриком Ильвесом полностью соглашается первый заместитель министра обороны США Уильям Линн (William J. Lynn). В интервью «Радио Свобода» Линн попробовал ответить на поднятый Ильвесом вопрос: «Если удар затронул существенные элементы нашей экономики, мы, вероятно, должны считать его нападением. Но если результатом взлома было похищение данных, то это, возможно, не нападение. Между этими двумя крайностями множество других вариантов. Чтобы внятно сформулировать политическую линию, мы должны решить, где пролегает граница между взломом и нападением или между шпионажем и кражей данных. Полагаю, и в правительстве, и вне его идет дискуссия на эту тему, и я не думаю, что дискуссия эта уже исчерпана».
Кроме того, ключевым моментом выступления Уильяма Линна стало публичное оглашение пяти принципов, на которых зиждется новая стратегия кибербезопасности Соединенных Штатов. Цитируем замминистра обороны США без купюр:
«Первый из этих принципов заключается в том, что мы должны признать киберпространство тем, чем оно уже стало – новой зоной военных действий. Точно так же, как сушу, море, воздушное и космическое пространство, мы должны рассматривать киберпространство как сферу наших действий, которую мы будем защищать и на которую распространим свою военную доктрину. Вот что побудило нас создать объединенное Киберкомандование в составе Стратегического командования.
Второй принцип, о котором я уже упоминал — оборона должна быть активной. Она должна включать две общепринятые линии пассивной обороны – собственно, это обычная гигиена: вовремя ставить заплаты, обновлять свои антивирусные программы, совершенствовать средства защиты. Нужна также вторая линия обороны, которую применяют частные компании: детекторы вторжения, программы мониторинга безопасности. Все эти средства, вероятно, помогут вам отразить примерно 80 процентов нападений. Оставшиеся 20 процентов – это очень грубая оценка – изощренные атаки, которые невозможно предотвратить или остановить посредством латания дыр. Необходим гораздо более активный арсенал. Нужны инструменты, которые способны определять и блокировать вредоносный код. Нужны программы, которые будут выявлять и преследовать внутри вашей собственной сети вторгшиеся в нее зловредные элементы. Когда вы нашли их, вы должны иметь возможность заблокировать их общение с внешней сетью. Иными словами, это больше похоже на маневренную войну, чем на линию Мажино.

Третий принцип стратегии кибербезопасности – это защита гражданской инфраструктуры.
Четвертый – США и их союзники должны принять меры коллективной обороны. На предстоящем саммите НАТО в Лиссабоне будут приняты важные решения на этот счет.
Наконец, пятый принцип – США должны оставаться на передовых рубежах в разработке программного продукта».
Весьма примечательна реакция Дмитрия Рогозина, постоянного представителя России при НАТО, на происходящие в Альянсе процессы. Судя по всему, Россия крайне обеспокоена предстоящим саммитом НАТО в Лиссабоне, который состоится 20 ноября, ведь именно на нем планируется прояснить дилемму, считается ли атака на военные и правительственные компьютерные сети члена НАТО поводом для того, чтобы задействовать 5-ю статью Вашингтонского договора и ответить коллективным военным ударом. Рогозин в характерном для себя стиле пишет: «Мы, наконец, узнаем, допустимо ли для НАТО ударить по квартирам хакеров ядреной бомбой или предполагается, что кибервойна все-таки не выйдет за пределы киберпространства. В последнем сценарии у меня есть большие основания усомниться. Буквально на наших глазах в западной периодике разворачивается грандиозный скандал в связи с распространением компьютерного червя под названием Stuxnet. Я привык к чтению и отправке SMS на латинице, поэтому сразу прочел название вируса как русский глагол формы будущего времени: «стухнет». Будьте уверены, стухнет или отвалится что-нибудь у кого-нибудь обязательно, причем у тех, кто этот вирус запустил. Как известно, кто посеет ветер, тот пожнет бурю». Не решаясь комментировать литературно-творческие изыскания г-на Рогозина, отметим, что в двух крупнейших хакерских атаках на целые государства (Эстонию и Грузию) обвиняли именно Россию – возможно, именно этим вызвана столь бурная реакция впечатлительного полпреда.
Таким образом, на фоне истерии, спровоцированной Stuxnet, ряд государств заявили о необходимости формирования совместной политики по предотвращению кибератак. Приведет ли это к желаемому результату, даже если предположить, что будет выработан (и подписан) некий документ, регламентирующий использование деструктивных технологий? IT Business week это представляется крайне сомнительным, уж слишком велики соблазны, предлагаемые высокими технологиями: анонимность, безопасность (для атакующего), беспрецедентное соотношение «стоимость/эффективность». А значит, Stuxnet был только первой ласточкой эпохи техно-социальной революции, которая началась совсем не так, как мечталось.

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

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

Про этого червя писали много. Но все же по странным причинам не так много, как могли бы, ведь речь идёт не просто об обычном вирусе. Stuxnet фактически является первым в истории вирусом, переступившим через границу киберпространства в реальный физический мир, первым вирусом, способным портить не только данные и программный код, но и вполне реальные машины и установки. Его появление не только выявило очередные уязвимости в операционных системах Microsoft, но и устремило взоры специалистов по информационной безопасности в абсолютно новую для них область – безопасность промышленных систем. Раньше мало кто задумывался об этом, хотя некоторые компании предупреждали об этом ещё несколько лет назад. Причины вполне ясны: промышленные сети обычно изолированы не только от сетей общего пользования, но и от внутренних сетей предприятия, в них применяется очень специфическое оборудование и ПО, все процессы чётко регламентированы. Казалось бы, никакой опасности быть просто не может! Но как выясняется, это не так. Подобную «фантастическую» картину мы могли видеть в уже достаточно старом фильме «Хакеры». Разработчикам червя Stuxnet удалось без труда обойти эту, казалось бы, самую надёжную физическую защиту. Почему «разработчикам»? Потому что тут речь, несомненно, идёт не об одном человеке, а о целой группе, в составе которой кроме профессиональных программистов и эксплоитописателей были и инженеры, и специалисты по АСУ ТП, знающие специфику работы с промконтроллерами и другим периферийным оборудованием. Вопросов много, а ответов… несмотря на то, что прошло уже 4 месяца с момента первого обнаружения червя, чётких ответов пока нет. Причин этого несколько:

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

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

Итак, попробуем разобраться по порядку…

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

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

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

У многих малознакомых с АСУ ТП людей возникает вполне логичный вопрос: если есть полноценные компьютеры, которые могут всем управлять, то зачем еще и контроллеры? Ответ прост: им не доверяют. Компьютеры под управлением Windows имеют свойство «виснуть», и, собственно, Windows никак не претендует на звание Realtime OS. А у контроллеров своя операционная система, свое промышленное резервированное питание, и отказоустойчивость в разы выше, чем у любого персонального компьютера.

Конечно, это было очень поверхностное объяснение принципов работы промышленных систем, но без него было бы трудно рассказать о самом черве, а главное – о проблемах, связанных с его лечением. Итак, Stuxnet…

Stuxnet – что это такое?

Речь идет о чрезвычайно высокотехнологичном вредоносном ПО во всех его проявлениях. Данный червь использует четыре ранее неизвестные уязвимости системы Microsoft Windows, одна из которых направлена на распространение при помощи USB-flash накопителей. Причем данная уязвимость выявлена во всех версиях Windows, включая XP, CE, Vista, 7, Windows Server 2003, 2008 и 2008R2, как в 32разрядных, так и в 64разрядных. Уязвимость заключается в выполнении кода при попытке системы отобразить иконку c накопителя, например, при просмотре в проводнике. Исполнение кода происходит даже при полностью отключенном автозапуске для всех носителей. Кроме этого в коде зловреда реализована и возможность заражения по сети. Но, тем не менее, на большинство промышленных объектов червь попал именно через внешние носители – как и почему, будет рассказано немного позднее. Большой вклад в анализ кода червя и используемых им уязвимостей внесло Российское представительство компании ESET во главе с Александром Матросовым.

Червь устанавливает в систему два драйвера, один из которых является драйвером-фильтром файловой системы, скрывающим наличие компонентов вредоносной программы на съемном носителе. Второй драйвер используется для внедрения зашифрованной динамической библиотеки в системные процессы и содержит в себе специализированное ПО для выполнения основной задачи. Драйверы, которые троян устанавливает в систему, снабжены цифровыми подписями, украденными у производителей легального программного обеспечения. Известно об использовании подписей, принадлежащих таким компаниям, как Realtek Semiconductor Corp. и JMicron Technology Corp. Злоумышленники используют цифровую подпись для «тихой» установки драйверов руткита в целевую систему. В системах безопасности многих производителей файлы, подписанные известными фирмами, заведомо считаются безопасными, и наличие подписи дает возможность беспрепятственно, не выдавая себя, производить действия в системе. Кроме того, червь располагает механизмами контроля количества заражений, самоликвидации и дистанционного управления.

Кроме распространения посредством внешних носителей червь также успешно заражает компьютеры посредством соединения через локальную сеть. То есть оказавшись на компьютере вне промышленной сети, он анализирует все активные сетевые соединения и «пробивается» к промышленной сети всеми возможными способами. После внедрения в систему вредоносное ПО ищет в ней присутствие SCADA-системы фирмы Siemens. Причем им атакуются только системы SCADA WinCC/PCS7. Данных о заражении другой SCADA-системы от Siemens – Desigo Insight, которая широко используется для автоматизации зданий и жилых комплексов, аэропортов и т.д., у нас нет. Это говорит о «заточенности» червя на крупные промышленные и стратегические объекты.

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

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

Еще одна интересная функциональная особенность вируса – искать активное Интернет-соединение и отсылать информацию на определенные адреса. По всей видимости, именно эта особенность стала причиной заявления специалистов антивирусной лаборатории Данилова о возможном использовании трояна в качестве инструмента для промышленного шпионажа. Также червь умеет обновлять себя через Интернет, и именно этим обусловлен тот факт, что у разных аналитиков «выловленные» копии вируса сильно отличаются как по размеру (примерно от 500к до более чем 2Мб), так и по функционалу.

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

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

На сегодняшний день все современные антивирусные программы успешно чистят компьютеры от червя Stuxnet. И, казалось бы, все хорошо: антивирусы лечат машины от червя, Microsoft выпустил обновления для устранения критических уязвимостей, которые использует червь для распространения, SIEMENS тоже выпустил «заплатку» для WinCC. Проблема решена? Нет… Антивирус очищает от зловреда только АРМ, то есть ту часть технологической сети, которая работает под управлением Windows. А как же контроллеры? А вот тут мы подходим к самому интересному…

Как было сказано выше, основным источником распространения червя являются внешние носители. По регламенту практически всех предприятий подключение таких носителей, тем более личных, категорически запрещено. Но кто же соблюдает регламенты… Оператор, сидящий в ночную смену, сильно скучает: на предприятии тихо, никого нет, технологический процесс идет в автоматическом режиме… а перед глазами АРМ, то есть компьютер! Хочется фильм посмотреть, в игрушку поиграть. По нашему опыту работы на объектах можно утверждать – вирусы на АРМах были, есть и будут. Компании, занимающиеся разработкой и поддержкой АСУ ТП, время от времени специально посылают своих специалистов на объекты для чистки АРМов и находят множество вирусов. И проблема эта совсем не новая… просто до недавнего времени вирусы не атаковали промконтроллеры, и присутствие их на АРМах хоть и приносило некоторые неудобства, но не представляло реальной опасности.

Как же защититься от подобных действий персонала? Если CD/DVD приводы просто не устанавливаются в машины пользователей, то USB входы всегда есть по умолчанию. Элегантное решение нашли технические специалисты одного из коммерческих банков Санкт-Петербурга – все USB порты были залиты клеем из термопистолета. Но такое решение не всегда можно использовать, т.к. может существовать необходимость использования портов USB, например, для ключей защиты программных продуктов или для переноса информации инженерно-техническим персоналом. К тому же через USB зачастую работают средства пользовательского интерфейса и принтеры, так что физическое уничтожение портов не совсем уместно, вот почему не рекомендуется прибегать к таким радикальным мерам. Единственный способ уберечь системы от заражений, и не только Stuxnetом, но и другой заразой – это соблюдение персоналом регламентов предприятия и элементарных правил информационной безопасности. К сожалению, этому аспекту уделяют мало внимания, а зачастую и вовсе забывают об этом. По личному опыту знаю – персонал на большинстве объектов даже не задумывается о том, к каким последствиям может привести установленная на АРМе компьютерная игра, или принесенный с собой GSM-модем для «серфинга» с АРМа по сети Интернет. Среди персонала также часто наблюдается отсутствие элементарной компьютерной грамотности. Начальство же либо не знает о происходящем, либо закрывает на это глаза, хотя не должно ни в коем случае. Персонал, непосредственно работающий с АРМами и другими частями современной АСУ ТП, должен проходить соответствующее обучение и инструктаж, в том числе и по проблемам информационной безопасности, но этого, к сожалению, не происходит.
Именно этим объясняется то, что Stuxnet присутствует на большом количестве объектов и систем, но факт такого присутствия тщательно скрывается персоналом и руководителями «на местах». Нам известны факты такого сокрытия, когда руководство крупной компании после появления Stuxnet разослало по всем своим объектам инструкции и ПО для выявления и лечения вируса. И вирус действительно нашли на многих объектах, но НИКТО ЕГО НЕ ЛЕЧИТ! Причина: для успешной очистки системы от вируса необходима перезагрузка системы (систем), то есть остановка технологического процесса. Также настоятельно рекомендуется присутствие специалистов для выявления и возможного исправления изменений в контроллерах. Остановить установку, цех или все предприятие – дело непростое: это ЧП, которое нужно чем-то обосновывать. А обосновывать наличием вредоносного ПО нельзя, ведь именно руководители на местах отвечают за выполнение регламента и инструкций. Если червь попал в систему, значит инструкции не выполнялись, и у руководителя будут неприятности. А неприятностей никто не хочет… Объекты так и живут со Stuxnetом, и не только с ним, а мы все сидим на этой «пороховой бочке». Именно на «пороховой бочке», потому что никто не может гарантировать, что пока что «спящий» троян в какой-то момент не атакует любой из этих объектов или не появится новый экземпляр. По нашим данным, кроме ядерной программы Ирана Stuxnet уже успел навредить некоторым промышленным предприятиям в Китае и разным объектам других странах, и системы эти не имели отношения к ядерным программам.

Лечение

Как написано выше, Stuxnet успешно выявляется и лечится всеми современными антивирусными средствами. И, тем не менее, существуют свои тонкости: после очистки систем от червя необходимо проверить, чтобы программы и уставки в контроллерах соответствовали актуальным значениям, необходимым для нормальной работы АСУ. При необходимости программы должны быть откорректированы. В этом могут помочь специалисты отделов контрольно-измерительных приборов и автоматики КИПиА или производители АСУ ТП. Мы в Digital Security также можем в этом помочь. При лечении систем на базе Windows CE/Embedded ни в коем случае нельзя устанавливать антивирусное ПО непосредственно на компьютер с этой версией Windows. Систему необходимо остановить, через специальный адаптер подключить носитель к другому компьютеру с установленным антивирусным ПО и очистить. С официальными инструкциями по удалению червя Stuxnet можно ознакомиться на сайте Siemens AG: http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&lang=en&objid=43876783&caller=view. Там же можно скачать и специальную утилиту для удаления Stuxnet, патч для WinCC и патч от Microsoft, которые необходимо установить, чтобы избежать повторного заражения. Если у вас возникнут вопросы – обратитесь за помощью к специалистам по информационной безопасности. Уместно будет заметить, что главный «виновник торжества» — фирма SIEMENS со своим «дырявым» ПО и замечательными рекомендациями о «недопустимости смены паролей» (интересно, зачем в таком случае нужно было тратить время на создание функции запроса паролей) очень немногословна в своих заявлениях. Компания утверждает, что по ее сведениям червь обнаружен всего чуть больше, чем у двух десятков ее клиентов, и случаев нарушения технологического процесса не наблюдалось. Здесь необходимо дать некоторые уточнения:

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

Рекомендации

  1. Проверить на наличие Stuxnet и другого вредоносного ПО все промышленные системы. Господа руководители крупных компаний, простой директивы «на места» не достаточно – никто ничего не сделает! Необходимо либо отправить на объекты своих людей для принудительного выявления и лечения, либо обратиться за помощью к сторонним независимым специалистам .
  2. Провести обновление ОС на АРМах последними доступными обновлениями и патчами.
  3. На АРМы, которые по каким-либо причинам связаны с сетями общего пользования, необходимо установить антивирусное ПО и следить за его обновлениями.
  4. Обеспечить систему резервными копиями ПО в начальном его состоянии для обеспечения возможности восстановления в случае повреждения вирусами или другими факторами.
  5. Провести программу обучения персонала по проблемам информационной безопасности.
  6. Проводить регулярный аудит систем АСУ ТП квалифицированными специалистами на соответствие требованиям безопасности. Такой аудит должен включать в себя минимум проверку сегментации сети, процедуры обновления, процесс контроля, осведомленность операторов АРМ и многое другое.

При подготовке использованы материалы компаний: ESET, SYMANTEC, Антивирусная лаборатория Касперского, Антивирусная лаборатория Данилова, Siemens, а также личный опыт автора, полученный при работе инженером–пусконаладчиком АСУ ТП.
Автор выражает особую благодарность инженерно-техническому персоналу Научно-производственной компании «ЛЕНПРОМАВТОМАТИКА» за помощь в подготовке статьи.

Об авторе

Павел Волобуев родился и вырос в Санкт-Петербурге. В течение 15 лет жил и работал в сфере IT за границей. Его клиентами были крупные компании промышленного, финансового, гостиничного, государственного и образовательного сектора, такие как Intercontinental Hotels, Marriott Hotels, MaltezosSolarSystems, City University, Национальная метеорологическая служба Греции, Министерство обороны и командование ВВС Греции, Афинский Международный Аэропорт и многие другие. После возвращения в Россию работал в должности инженера в НПК «Ленпромавтоматика», участвовал во внедрении и пуско-наладке систем автоматизированного управления технологическими процессами на ответственных объектах. С 2010 года пополнил коллектив Digital Security,являясь ведущим специалистом по информационной безопасности технологических систем.