С 07.05.2016 сайт не сопровождается. Перейти на новую версию сайта
Версия для слабовидящих

Реальная история боевого вируса Стакснет (Stuxnet)

03.04.2013

Как Лаборатория Касперского расшифровала вредоносную программу, заблокировавшую программное обеспечение иранской системы управления обогащением ядерного топлива.

Компьютерные кабели вьются по полу. Загадочные блок-схемы нарисованы на различных досках, развешанных по стенам. В зале стоит муляж Бэтмана в натуральную величину. Этот офис может показаться ничем не отличающимся от любого другого рабочего места компьютерщика (geeky workplace), но на самом деле это передний край борьбы, а точнее кибервойны (cyberwar), в которой большинство сражений разыгрываются не в далёких джунглях или пустынях, а в пригородных офисных парках, подобных этому.

В качестве старшего научного сотрудника (senior researcher) Лаборатории Касперского, ведущей компании по компьютерной безопасности, базирующейся в Москве, Ройл Шувенберг (Roel Schouwenberg) проводит свои дни (и многие ночи) здесь, в американской штаб-квартире Лаборатории в городке Уоберн (Woburn) штата Массачусетс, сражаясь с самым коварным цифровым оружием, способным нарушить водоснабжение, нанести урон электростанциям, банкам и самой инфраструктуре, которые когда-то казались неуязвимыми для атак.

Стремительное признание таких угроз началось в июне 2010 года с обнаружением Стакснет (Stuxnet), 500-килобайтного компьютерного червя, заразившего программное обеспечение по меньшей мере 14 промышленных объектов в Иране, в том числе и завод по обогащению урана. Хотя компьютерный вирус зависит от невольной жертвы его установки, червь (worm) распространяется сам по себе и часто через компьютерную сеть.

Этот червь был беспрецедентно мастерски выполненным вредоносным кусочком кода, который атаковал в три этапа. Сначала он нацеливался на компьютеры и сети Microsoft Windows, неоднократно выполняя своё самовоспроизводство. Затем он искал программное обеспечение Siemens Step7, которое также работает на Windows-платформе и используется для программирования промышленных систем управления, которые управляют оборудованием, таким как центрифуги. Наконец, он компрометировал программируемые логические контроллеры. Авторы червя могли таким образом шпионить за промышленными системами и даже вызывать ускоренное вращение центрифуг с целью их разрушения, причём незаметно для человека-оператора на заводе. (Иран пока не подтвердил сообщения о том, что Stuxnet уничтожил некоторые из его центрифуг).

Как работает Stuxnet:

  1. заражение системы через USB-флеш-накопитель,
  2. поиск целевого программного обеспечения и оборудования от Siemens,
  3. обновление вируса через Интернет; однако, если система не является целью, вирус ничего не делает,
  4. компрометация,
  5. захват управления,
  6. дезинформация и вывод из строя оборудования.

Stuxnet может скрытно распространяться между компьютерами с ОС Windows, даже теми, которые не подключены к Интернету. Если работник, вставляет USB-флеш-накопитель в заражённую машину, то Stuxnet автоматически копируется на неё, а затем копируется на другие машины, однажды прочитавшие эту флешку. Отсюда любой сотрудник, ничего не подозревая, может заразить машину таким образом, что позволит «червям» распространиться по локальной сети. Эксперты опасаются, что эта вредоносная программа, возможно, «одичала и гуляет» по всему миру.

В октябре 2012 года американский министр обороны Панетта (Leon Panetta) предупреждал, что США уязвимы для «кибернетического Пёрл-Харбора» («cyber Pearl Harbor»), и возможны сходы под откос поездов, заражение воды и сбои в сетях электроэнергетики. В следующем месяце корпорация «Шеврон» (Chevron) подтвердила это предположение, став первой американской корпорацией признавшей, что Stuxnet проник на все её компьютеры.

Хотя авторы Stuxnet так и не были официально установлены, размер и сложность червя привели экспертов к убеждению, что он мог быть создан только при спонсорской поддержке государства. И, несмотря на секретность, утечка информации в прессе (leaks to the press) от официальных лиц в США и Израиле позволяет с уверенностью предположить, что эти две страны замешаны. С момента обнаружения Stuxnet Шувенберг и другие специалисты по компьютерной безопасности борются с рядом других боевых (weaponized) вирусов, такими как «Дюку» (Duqu), «Флейм» (Flame, англ. – пламя) и «Гаусс» (Gauss). Натиск вредоносных программ не показывает никаких признаков ослабления.

Это знаменует собой поворотный момент в геополитических конфликтах, когда апокалиптические сценарии, лишь однажды показанные в таких фильмах, как «Крепкий орешек – 4.0» («Жить свободно или умереть, сражаясь») (Live Free or Die Hard), в итоге становятся правдоподобными. «Художественный вымысел вдруг стал реальностью», – говорит Шувенберг (Schouwenberg). Но герой борьбы против зла не Брюс Уиллис, он 27-летний парень с потрёпанной прической «конский хвост» (ponytail). Этот Шувенберг говорит мне: «Мы здесь для того, чтобы спасти мир! Вопрос заключается лишь в том, есть ли в Лаборатории Касперского всё то, что нужно?»

На фотографии, выполненной Йелленом (David Yellen) и названной «Киберсыщик» (Cybersleuth), изображён Ройл Шувенберг (Roel Schouwenberg) из Лаборатории Касперского, который помог в расшифровке Stuxnet и ему подобных интернет-червей, самых сложных из когда-либо обнаруженных.

Вирусы не всегда были злыми. В 1990-х годах, когда Шувенберг был простым задиристым подростком (just a geeky teen), жившим в Нидерландах, а вредоносные программы (malware) обычно создавались хулиганами и хакерами (pranksters and hackers), т. е. людьми, желающими лишь вызвать сбой компьютера или изобразить каракули-граффити на вашей домашней странице AOL.

После обнаружения вирусов на своём собственном компьютере 14-летний Шувенберг связался с Лабораторией Касперского, одной из ведущих антивирусных компаний. Такие компании оцениваются в частности тем, как много вирусов они обнаружили первыми, и Kaspersky считается одной из лучших, хотя о её успехе ведутся споры. Некоторые обвиняют её в связях с российским правительством, но компания эти обвинения отрицает.

Через несколько лет после первого столкновения с вирусами Шувенберг по электронной почте спросил основателя компании Евгения Касперского, надо ли ему изучать математику в колледже, если он хочет стать специалистом по компьютерной безопасности. Касперский ответил тем, что предложил ему 17-летнему парню работу, которую тот взял. Проведя четыре года в компании в Нидерландах, он отправился в Бостон. Там Шувенберг узнал, что инженеру нужны специфические навыки для борьбы с вредоносными программами, потому что для анализа, а по существу обратного проектирования (reverse engineering) большинства вирусов, написанных для Windows, требуется знание языка ассемблера для процессоров Intel x86.

В течение следующего десятилетия Шувенберг стал свидетелем самых значительных изменений, происходящих когда-либо в отрасли. Ручное обнаружение вирусов уступило место автоматизированным методам, способным выявлять даже по 250 000 новых вредоносных файлов каждый день. Прежде всего банки столкнулись с самыми серьёзными угрозами, а призрак межгосударственных кибервойн (state-against-state cyberwars) всё ещё казался далёким. «Всё это было не просто разговорами», – говорит Омарчу (Liam O'Murchu), аналитик компании по компьютерной безопасности Symantec Corp. из Маунтин-Вью (Mountain View), штат Калифорния.

Всё изменилось в июне 2010 года, когда одна белорусская фирма по обнаружению вредоносных программ получила запрос от клиента на выявление причин самопроизвольной перезагрузки его компьютеров. Вредоносное программное обеспечение (malware) было подписано цифровым сертификатом, имитирующим его поступление из надёжной компании. Эта особенность привлекла внимание антивирусного сообщества, чьи программы автоматизированного обнаружения не могли справляться с такой угрозой. Это было первой пристрелкой Stuxnet в «дикой природе» (in the wild).

Опасность, которую представляют поддельные электронные подписи, была так страшна, что компьютерные специалисты по безопасности начали потихоньку обмениваться своими выводами и по электронной почте и на приватных онлайн-форумах. Такое положение дел не является необычным. (that’s not unusual). «Обмен информацией в компьютерной индустрии безопасности может быть классифицирован как чрезвычайная ситуация», – добавляет Хиппонен (Mikko H. Hypponen), главный научный сотрудник (chief research officer) фирмы по безопасности (security firm) F-Secure из Хельсинки, Финляндия. «Я не мог и подумать ни о каких других ИТ-секторах, где существует такое широкое сотрудничество между конкурентами». Тем не менее, компании конкурируют, например, в том, чтобы стать первыми при выявлении ключевых особенностей кибероружия (cyberweapon), а затем заработать на благодарном общественном мнении в качестве результата.

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

Шувенберг был больше всего впечатлён тем, что Stuxnet совершил не одно, а целых четыре проявления изощрённости (feat) «нулевого дня» (zero-day), т. е. взломов (haks), использующих уязвимости ранее неизвестных «сообществу белых шляп» (white-hat community), «белых хакеров». «Это не только новаторский приём, все они красиво дополняют друг друга, – говорит он. – Уязвимость LNK (файл ярлыка в Microsoft Windows) используется для распространения через USB-флеш-накопители (USB sticks). Уязвимость диспетчера очереди общей печати используется для распространения в сетях с общими принтерами, которые широко распространены в сетях с общим доступом, подключённых к Интернету (Internet Connection Sharing). Две другие уязвимости связаны с операциями, предназначенными для получения привилегий системного уровня, даже когда компьютеры полностью изолированы. Это выполнено просто блестяще».

Шувенберг и его коллеги из Лаборатории Касперского вскоре пришли к выводу, что код был довольно сложным и не мог быть разработан группой «чёрных хакеров» (black-hat hackers). Шувенберг считает, что команде из 10 человек понадобилось бы не менее двух-трёх лет, для того чтобы его создать. Вопрос состоял в том, кто же возьмёт ответственность за всё это?

Очень скоро стало ясно из самого кода, а также из рабочих отчётов, что Stuxnet был специально разработан для разрушения систем Siemens, работающих на иранских центрифугах по ядерной программе обогащения урана. Аналитики Лаборатории Касперского позднее поняли, что финансовая выгода не являлась целью. Это была политически мотивированная атака. «Тогда не было никаких сомнений в том, что спонсирование разработки вируса осуществлялось государством», – говорит Шувенберг. Это явление застало врасплох специалистов по компьютерной безопасности. «Мы все тут являемся инженерами, мы смотрим на код, – говорит Омарчу (O'Murchu) из Symantec. – Но это была первая реальная угроза, с которой мы столкнулись, ведущая к реальным политическим последствиям. Это было нечто, по поводу чего мы должны были прийти к какому-то согласию и общему мнению».

Краткая история вредоносных программ (malware)

1971. Экспериментальная самовоспроизводящаяся вирусная программа Creeper была написана Томасом (Bob Thomas) из компании Bolt, Beranek and Newman. Вирус заразил компьютеры DEC PDP-10 под управлением операционной системы Tenex. Creeper получил доступ через сеть ARPANET, предшественницу Интернета, и скопировал себя на удалённой системе, выдав там сообщение «Я рептилия (creeper), поймай меня, если сможешь!» Позже была создана программа Reeper («Жнец») для удаления Creeper.

1981. Вирус Elk Cloner, написанный для системы Apple II Скрентой (Richard Skrenta), привёл к первой крупномасштабной компьютерной вирусной эпидемии в истории.

1986. Вирус для загрузочного сектора Brain (он же пакистанский грипп, Pakistani flu), первый вирус для IBM PC-совместимых компьютеров, вышел на свободу и вызвал эпидемию. Он был создан в Лахоре, Пакистан, 19-летним Баситом Фарук Алви (Basit Farooq Alvi) и его братом Амджадом Фарук Алви (Amjad Farooq Alvi).

1988. Червь Morris, созданный Моррисом (Robert Tappan Morris), заражал машины DEC VAX и Sun под управлением BSD Unix, подключённых к Интернету. Он стал первым червём, широко распространившимся «в дикой природе» («in the wild»).

1992. Вирус Michelangelo, опасность которого была раздута специалистом по компьютерной безопасности Макафи (John McAfee), предсказавшим, что 6 марта вирус уничтожит информацию на миллионах компьютеров, однако фактический ущерб был минимальным.

2003. Червь SQL Slammer или так называемый червь Sapphire атаковал уязвимости в Microsoft SQL-сервере и Microsoft SQL Server Data Engine и стал самым быстрым в распространении червём всех времён, он врезался в Интернет в течение 15 минут после высвобождения (release).

2010. Обнаружен червь Стакснет (Stuxnet). Это первый известный червь, атакующий SCADA-системы, т. е. автоматизированные системы управления технологическими процессами (АСУ ТП).

2011. Обнаружен червь Дюку (Duqu). В отличие от близкого к нему Stuxnet он был предназначен только для сбора информации, а не для вмешательства в производственные процессы.

2012. Обнаружен Flame, используемый для кибершпионажа в Иране и других странах Ближнего Востока.

В мае 2012 года Лаборатория Касперского получила запрос от Международного союза по электросвязи (International Telecommunication Union), учреждения ООН, которое управляет информационными и коммуникационными технологиями, на исследование фрагмента вредоносной программы, которая подозревалась в уничтожении файлов нефтяных компаний на компьютерах в Иране. В то время Шувенберг и его коллеги уже искали вариации вируса Stuxnet. Они знали, что в сентябре 2011 года венгерские специалисты обнаружили вирус Duqu, который был разработан для кражи информации в промышленных системах управления.

Выполняя просьбу ООН, автоматизированная система Касперского определила ещё один вариант Stuxnet. Сначала Шувенберг и его группа пришли к выводу, что система сделала ошибку, потому что вновь обнаруженный вирус (malware) не показал очевидного сходства со Stuxnet. Однако после погружения в код более глубоко они обнаружили следы другого файла, называемого Flame, который очевидно был начальной итерацией Stuxnet. Сначала Flame и Stuxnet рассматривались как полностью независимые вредоносные программы, но теперь исследователи поняли, что Flame был на самом деле предшественником Stuxnet, который как-то остался незамеченным.

Flame в общей сложности был размером 20 Мбайт, т. е. примерно в 40 раз больше, чем Stuxnet. Специалисты по безопасности поняли, как выразился Шувенберг, что «…опять за этим, скорее всего, стоит государство».

Для анализа Flame специалисты Лаборатории Касперского использовали методику, называемую ими «сточным колодцем» (sinkhole). Она обеспечивает контроль над командно-управляющим сервером домена Flame таким образом, что когда Flame пытается связаться с сервером своей домашней базы, на самом деле вместо этого он отправляет информацию на сервер Касперского. Трудно было определить, кому принадлежат серверы Flame. «Со всеми доступными украденными кредитными картами и интернет-прокси, – говорит Шувенберг, – атакующим действительно очень легко оставаться незамеченными».

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

«Действительно, разработчики Flame пошли на многое для того, чтобы избежать его обнаружения программами обеспечения безопасности», – говорит Шувенберг. Он приводит пример: Flame не просто передаёт собранную информацию всю сразу на свой командно-управляющий сервер, т. к. сетевые менеджеры могут заметить внезапную утечку. «Данные отправляются мелкими кусочками, для того чтобы достаточно долго избегать снижения пропускной способности», – говорит он.

Наиболее впечатляет то, что Flame может обмениваться данными с любыми Bluetooth-совместимыми устройствами. В самом деле злоумышленники могут украсть информацию или установить другие вредоносные программы не только в пределах стандартного 30-метрового диапазона Bluetooth, но и дальше вовне. «Bluetooth-винтовка» (Bluetooth rifle), направленная антенна, подключённая к компьютеру с Bluetooth-поддержкой, имеет возможность осуществлять передачу данных на дальность до 2 километров.

Но самая тревожная особенность Flame это то, как он впервые проник на компьютеры: через обновление операционной системы Windows 7. Пользователь думает, что он просто загружает законный патч от Microsoft, а на самом деле вместо этого устанавливает Flame. «То, что Flame распространяется через Windows Updates, является более значимым, чем сам Flame», – говорит Шувенберг, который считает, что, возможно, есть только 10 программистов в мире, способных запрограммировать такое поведение. «Это техническая изощрённость (feat), которая весьма изумляет, потому что здесь было взломано шифрование мирового класса, – говорит Хиппонен из компании F-Secure. – Вам обязательно необходимы суперкомпьютеры и множество специалистов для того, чтобы сделать это».

Если правительство США действительно стоит за этим червём, то этот обход шифрования от Microsoft может создать некоторую напряжённость между компанией и её крупнейшим клиентом – федералами. «Я предполагаю, что Microsoft провёл телефонный разговор между Биллом Гейтсом, Стивом Балмером и Бараком Обамой, – говорит Хиппонен, – и мне хотелось бы послушать этот разговор».

Выполняя реверсивный инжиниринг (анализ) вируса Flame, Шувенберг и его команда настроили свою методику на «сходство алгоритмов», позволяющую обнаруживать варианты вирусов, созданные на единой платформе. В июле они обнаружили новый вирус Gauss. Его целью тоже было кибернаблюдение (cybersurveillance).

Перенесённый с одного компьютера на другой USB-флешкой Gauss ворует файлы и собирает пароли, по неизвестным причинам нацеливаясь на учётные данные ливанских банков. Эксперты полагают, что это было сделано или для отслеживания операций, или для выкачивания денег с определённых счетов. «USB-модуль захватывает информацию из системы, шифрует и сохраняет эту информацию на своей USB-флешке, – объясняет Шувенберг. – Затем, когда этот USB-флеш-накопитель вставляется в гаусс-инфицированный компьютер, Gauss захватывает с USB-флешки собранные данные и отправляет их на командно-управляющий сервер (command-and-control server)».

В то время, когда инженеры Лаборатории Касперского обманули вирус Gauss при его общении с его собственными серверами, эти серверы вдруг «упали» (went down). Ведущие инженеры считают, что авторы вредоносной программы сумели быстро замести свои следы. Лаборатория Касперского собрала уже достаточно информации для защиты своих клиентов от Gauss, но в тот момент это было пугающим. «Мы уверены, что сделай мы что-нибудь не так, и хакеры оседлали бы нас»,– говорит Шувенберг.

Последствия применения вирусов Flame и Stuxnet выходят за рамки спонсируемых государством кибератак. «Профессиональные злоумышленники смотрят на то, что делает Stuxnet, и говорят: «Это отличная идея, давайте её копировать»», – говорит Шувенберг.

«В итоге получается так, что национальные государства тратят миллионы долларов на разработку различных видов киберинструментария (cybertools), и это является тенденцией, которая будет только нарастать», – говорит Джеффри Карр, основатель и генеральный директор фирмы по компьютерной безопасности «Тайя Глобал» (Taia Global) из Маклина, штат Вирджиния. Хотя Stuxnet и смог временно замедлить в Иране программу обогащения урана, он не достиг своей конечной цели. «Кто бы ни потратил миллионы долларов на Stuxnet, Flame, Duqu и т. п., всё это деньги, потраченные впустую. Сейчас эти вредоносные программы уже публично доступны и могут быть подвергнуты обратному инжинирингу, т. е. подробному анализу», – говорит Карр.

Хакеры могут просто использовать конкретные компоненты и методики, доступные из Интернета, для своих атак. Преступники могут использовать кибершпионаж (cyber espionage), например, для того чтобы украсть данные о клиентах из банка или просто посеять хаос, являющийся частью более сложной проделки (prank). «Очень много разговоров ведётся о государствах, пытающихся атаковать нас, но мы находимся в ситуации, когда мы уязвимы для армии 14-летних подростков с двухнедельной подготовкой», – говорит Шувенберг.

Уязвимость является большой проблемой, особенно для промышленных компьютеров. Всё, что нужно для того чтобы найти путь, например, к системам водоснабжения США, - это возможность поиска терминов в Google. «Мы видим, что многие промышленные системы управления, подключены к Интернету, – говорит Шувенберг, – и они не меняют паролей по умолчанию, так что, если вы знаете правильные ключевые слова, вы сможете найти нужные панели управления».

Компании не спешат инвестировать ресурсы, необходимые для обновления систем промышленного управления. Лаборатория Касперского выявила важнейшие инфраструктурные компании, работающие под управлением устаревших 30-летних операционных систем. В Вашингтоне политики призывают к законам, требующим такие компании поддерживать лучшие практики безопасности. Однако принятие одного такого законопроекта о кибербезопасности не увенчалось успехом в августе 2012 года на том основании, что он был бы слишком дорогостоящим для бизнеса. «Чтобы полностью обеспечить необходимую защиту нашей демократии, закон о кибербезопасности должен быть принят конгрессом, – заявил недавно Панетта. – Без него мы уже уязвимы и дальше будем оставаться уязвимыми».

Тем временем, охотники за вирусами из Лаборатории Касперского и других антивирусных компаний будут продолжать борьбу. «Ставки только всё выше, выше и выше, – говорит Шувенберг.– Мне очень любопытно посмотреть на то, что произойдёт через 10 или 20 лет. Как история оценит наши решения, которые мы приняли сейчас?»

Источник: spectrum.ieee.org
Автор: Д. Кушнер (David Kushner), пишущий редактор журнала IEEE Spectrum, который всегда был очарован мошенниками и их разоблачителями (tricksters and their opponents), а его статья о том, как Лаборатория Касперского обнаружила червя Stuxnet, является первой частью материалов о кибервойне между странами.
Перевод:  А. Н. Сычёв, член IEEE, профессор кафедры КСУП, ТУСУР.