В рамках конференции CPX 2011 Томер Теллер, евангелист по безопасности компании Check Point Software Technology представил детальный анализ технологии распространения червя Stuxnet, впервые обнаруженного в прошлом году на атомной электростанции в Бушере, Иран.

17 июня 2010 года специалисты небольшой белорусской антивирусной компании «ВирусБлокАда» обнаружили у одного из своих клиентов в Иране необычного червя. Этот вирус, позже получивший название Stuxnet, до сегодняшнего дня считается самым сложным и хитроумным из вредоносных программных продуктов.  

В отличие от других червей, его предназначение было довольно нестандартным, поскольку Stuxnet создали с целью атаки на системы промышленного управления Supervisory Control And Data Acquisition (SCADA) производства Siemens. Они контролируют клапаны, насосы и скорость оборотов двигателя, например, в системах охлаждения реактора, трубопроводах и центрифугах.

Решения SCADA, казалось бы, надежно защищены от вирусов, поскольку работают на базе узкоспециализированных ОС, не имеющих ничего общего с Windows. Слабое место заключается в том, что для программирования PLC-контроллера, входящего в состав SCADA, используется обычная машина на платформе Windows.  

Идея злоумышленников состояла в том, чтобы инфицировать компьютер оператора, тайно перепрограммировать PLC-контроллер и за счет отправки некорректных команд попытаться вывести из строя центрифуги на иранской АЭС в Бушере. Однако для этого хакерам необходимо было решить три сложнейшие задачи: инфицировать одну из локальной машин тщательно охраняемого объекта, найти компьютер оператора PLC-контроллера и перепрограммировать последний так, чтобы это осталось незаметным для самого оператора.  

Шаг первый: вторжение

Свыше 50 тысяч червей ежедневно «сверлят» просторы Интернета, отмечает Томер Теллер, около 1000 из них не детектируются антивирусами, буквально единицы используют уязвимости «нулевого дня». Особенность Stuxnet в том, что этот вирус эксплуатировал сразу четыре ранее неизвестные уязвимости системы Microsoft Windows, одна из которых — zeroday. Ускользать от антивирусных и прочих защитных программ червю помогало наличие настоящих цифровых подписей — вредонос ссылался на два действительных сертификата, выпущенных компаниями Realtek и JMicron. Штаб-квартиры обеих компаний находятся в одном технопарке в Тайване, это свидетельствует о том, что сертификаты были украдены не без содействия инсайдера.

В качестве основного механизма инфицирования применялась уязвимость «нулевого дня» в LNK/PIFфайлах, благодаря которой вредоносный код исполнялся автоматически при обычном просмотре пиктограммы ярлыка. Эта уязвимость использовалась червем для распространения через внешние USB-носители. Еще несколько уязвимостей применялись при распространении внутри локальной сети. Среди них — уязвимость в сервисе Print Spooler, которая позволяет выполнить удаленно произвольный код. Примечательно, что Microsoft знала об этой уязвимости, однако не посчитала ее критической. Еще одна брешь — в службе RPC — в свое время применялась червем Conficker. Правда, она уже давно закрыта заплатой, данный канал распространения использовался как дополнительный. Две следующие уязвимости — в win32k.sys и Task Scheduler — позволяли повысить локальные привилегии соответственно на системах Win2000/WinXP и Vista/ Windows 7.

Поиск и обнаружение даже одной подобной уязвимости — это очень недешевое удовольствие, говорит Томер Теллер. Например, найденную уязвимость «нулевого дня» в Windows 7 можно продать на черном рынке за десятки тысяч долларов. Кстати, несознательные сотрудники некоторых компаний, работающих в области информационной безопасности, иногда так и поступают, добавил г-н Теллер.
Эксперт Check Point допускает, что, скорее всего, внутренняя сеть АЭС была инфицирована с помощью вредоносной программы на USBнакопителе. Сложность заключается в практической невозможности постороннему человеку пронести зараженную флешку на территорию тщательно охраняемого объекта. Томер Теллер полагает, что для этого было два пути: во-первых, не исключен вариант саботажа, когда некий инсайдер умышленно занес вредоносное ПО на территорию секретного стратегического объекта. Второй вариант заключается в том, что злоумышленники прибегли к технологиям социальной инженерии. Они могли «обронить» инфицированный USBноситель возле ворот охраняемой территории, на пути следования сотрудников на объект, в надежде, что один из них подберет его и вставит в свой ПК в офисе.

Но как заставить человека с высокой долей вероятности поднять накопитель и подключить его именно к своему рабочему ПК, а не, к примеру, домашнему? Томер Теллер предположил, что для этого преступники применили очень простое и в то же время гениальное решение, подбросив накопитель с изображением логотипа компании. Логично ожидать, что, найдя такую флешку, пользователь поднимет ее, полагая, что накопитель обронил кто-то из его коллег, и вставит в рабочий компьютер для выяснения, кому именно она принадлежит.

Шаг второй: заражение

Далее, даже после обычного просмотра списка файлов на флешке в Windows Explorer, автоматически исполнялся вредоносный код и компьютер подвергался заражению. После Компьютер оператора осуществляет мониторинг PLC-контроллера, который, в свою очередь, управляет работой промышленного оборудования проникновения в локальную сеть объекта вредонос начал заражать все ПК с целью найти машину оператора и перепрограммировать контроллер. После того как Stuxnet достиг компьютера оператора, он инсталлировал троян, который осуществлял мониторинг всех команд для PLCконтроллера. В течение первых двух недель вирус не проявлял никакой активности, он лишь считывал весь трафик обмена команд с контроллером. Как только данные были собраны, он перепрограммировал контроллер, при этом для оператора сам факт перепрограммирования был скрыт.

Резюме

Из всех существующих в мире компьютеров, зараженных этим вирусом, почти 60 процентов находились в Иране. В прошлом году власти Ирана признали, что червь поразил несколько центрифуг на заводе в Натанце и АЭС в Бушере, где иранские специалисты занимались обогащением урана. Резюмируя, Томер Теллер отметил, что по своей сути Win32/Stuxnet — это первый чрезвычайно изощренный вредонос, разработанный для промышленного шпионажа. Червь представляет собой значительную угрозу для индустриальных предприятий и до сих пор является «образцом» для создателей вирусов. При этом нельзя гарантировать того, что никто сейчас не ведет разработок новых компьютерных червей на его основе, направленных на саботаж промышленных объектов.


Кто стоял у истоков?
Примечательно, что Stuxnet создали именно для атаки на иранские предприятия, при этом он вполне безопасен для других организаций. Например, сообщалось, что данный компьютерный вирус был обнаружен в более чем половине компьютерных систем немецких энергетических компаний. Между тем, именно этот тип Stuxnet немецкой промышленности не угрожает, полагают эксперты. Хотя если бы конфигурация вируса была иной, он мог бы причинить значительный ущерб.
По оценкам экспертов, над разработкой Stuxnet трудилась группа из 5–7 высококлассных программистов в течение года. Стоимость технической реализации Win32/Stuxnet превышает сумму в полмиллиона долларов. Это очень большие вложения, а поскольку прямой финансовой выгоды данный вирус не несет, некоторые эксперты полагают, что злонамеренное ПО могло быть создано при содействии государственной службы одной из стран. Например, газета New York Times со ссылкой на свои источники излагает версию, по которой за нашумевшим вредоносным кодом Stuxnet стоял, скорее всего, Израиль. В статье говорится, что Израиль тестировал указанный компьютерный червь и именно оттуда он начал распространяться по миру, поразив в первую очередь иранские атомные станции, для которых, собственно, и создавался. Издание сообщает, что задача Stuxnet заключалась в саботаже иранских ядерных станций и в замедлении развития ядерной программы. Также в статье отмечается, что частично в создании и тестировании вируса принимали участие и США. Активная фаза распространения Stuxnet пришлась на прошлый год, но разработка червя началась около двух лет назад.