Kim Zetter. Countdown to zero day. Глава 8. Полезная нагрузка.

Нико Фальер сгорбленно стоял над своим столом на восьмом этаже сорокаэтажного Tour Egee, треугольного здания из стекла и бетона в деловом районе Парижа – De la Defense. Снаружи, за его окном возвышался мрачный лес офисных башен, который полностью заслонял вид голубям и туристам, идущим к ступеням La Grande Arche. Но Фальер был сосредоточен не на виде из окна, все его мысли витали вокруг одного – прямо сейчас начать работу над сложной полезной нагрузкой Stuxnet.

Это было начало августа 2010 года, спустя пару недель после того, как команда Symantec начала свою исследовательскую работу над Stuxnet, Чиен и О`Мурчу еще не успели найти беспрецедентное количество нулевых дней, скрывавшихся в черве. В течении этих первых двух недель Фальер работал с О`Мурчу, они анализировали большую библиотеку вредоносного ПО, но он знал, что все это детские игрушки по сравнению с тем, что он может найти в полезной нагрузке Stuxnet, в ней скрывались действительно великие секреты, и Фальер очень хотел завладеть ими.

Он только вернулся с обеда, и сразу же приступил к исследованию файлов полезной нагрузки, разделяя каждый из них на категории и пытаясь понять их формат и структуру. Один из .DLL файлов имел больно знакомое имя. Эксперты из Symantec к этому моменту уже получили копии программного обеспечения Siemens Step 7, поэтому Фальер стал просматривать программные файлы Step 7, установленные на его тестовой машине. Поиски не заняли много времени – файл .DLL в Siemens Step 7 имел ровно такое же имя, как и файл в Stuxnet. «Хмм», – подумал он, – «интересно».

Фалеьр быстро определил, что каждый раз, когда Stuxnet оказывался на компьютере с установленным программным обеспечением Siemens Step 7 или WinCC, он распаковывал .DLL файл с соответствующим именем и расшифровывал его.

Он использовал ключ, встроенный в вирус, для расшифровки .DLL. Фальер обнаружил, что он содержит все те же функции, что и подлинный .DLL файл из Step 7. Но также файл содержал некоторый подозрительный код, который включал в себя команды «read» и «write». За свою карьеру Фальер повидал достаточно вредоносов, чтобы точно понять, на что он смотрел – .DLL файл, который распаковывал Stuxnet действовал как руткит, тихо скрываясь в системе, ожидая взлома или перехвата этих функций каждый раз, когда система пыталась прочитать или записать блоки кода в целевые ПЛК. Как и в рутките ракетной части Stuxnet, этот перехватывал функцию чтения, чтобы скрыть то, что Stuxnet делал с ПЛК. В его опыте это первый руткит, когда-либо созданный для системы промышленного контроля. И он был далеко не один.

Фальер не мог точно сказать, то ли хакеры использовали свой .DLL, перехватывающий функцию чтения, для того, чтобы просто пассивно контролировать ПЛК, то ли для сбора информации об их операциях, то ли для вещей для вещей еще более зловещих. Но тот факт, что вирус также перехватывает функцию записи, предполагает, что она, вероятно, является ключевой и может остановить работу ПЛК или каким-нибудь образом изменить их работу. Он взглянул на часы, в Калифорнии было 5 утра – слишком рано, чтобы звонить Чиену, поэтому он решил продолжить исследование кода самостоятельно.

Он просидел над кодом еще несколько часов, и когда у него собрались все кусочки головоломки он понял – это было то, чего он и ожидал. Stuxnet действительно перехватывал команды, передаваемые от .DLL файла Siemens, и заменял их командами из своего собственного .DLL файла. Фальер не мог сказать точно, что именно Stuxnet указывал делать ПЛК – он не мог найти соответствующие блоки кода, которые Stuxnet внедрял в ПЛК – но он был уверен в том, что это вещи, которые не приведут к добру. К тому времени в Калифорнии было уже 9 часов утра, поэтому он взял трубку и позвонил Чиену.

Обычно они разговаривали раз в неделю, чтобы быстро обменяться информацией о том, над чем работал Фальер, звонки были чисто по делу, без лишних деталей и продолжались не более нескольких минут. Но в этот раз Фальер начал в подробностях рассказывать обо всем, что ему удалось найти. Чиен внимательно слушал, пораженный услышанным. Атака набирала все более и более большие масштабы. За каждым новым поворотом в продвижении дела их ожидал новый сюрприз.

Чиен согласился, чтобы Фальер сбросил ему все, что как-то поможет найти недостающие блоки кода, которые Stuxnet внедрял в ПЛК. Они также решили, что Фальеру стоит сделать краткое сообщение в своем блоге о рутките на ПЛК. Остальную информацию они пока оставят в тайне, до тех пор, пока Фальер не сможет определить природу того, что Stuxnet инжектит в ПЛК.

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

Несмотря на волнение, он осознавал, что дорога впереди будет длинной и тернистой. .DLL файл, который заменял Stuxnet, был достаточно большим, а структура программного обеспечения Siemens Step 7 в большинстве своем не задокументированной. Фальер и Чиен находились в полном неведении относительно того, как работает система, и относительно технических проблем, связанных с расшифровкой полезной нагрузки. Более того, не было никакой гарантии, что они смогут взломать код. Существовало слишком много вещей, о которых Фальер на данный момент не знал абсолютно ничего. Но одно он знал точно, его ожидает долгая и утомительная поездка.

Фальер был 28 летним мужчиной, с мрачным взглядом того, кто, казалось, больше чувствовал себя как дома в подземном парижском ночном клубе с джазовой транс музыкой, нежели в вагоне метро, медленно перебирая стопки печатного компьютерного кода. На самом деле он был довольно сдержанным и скромным, а копошение в коде для него было куда более привлекательным занятием, нежели танцы в гудящем клубе.

Фальер был опытным реверс-инженером, специализировавшимся на глубоком анализе вредоносного кода. Реверс-инжениринг – это немного мрачное искусство, которое включает в себя перевод двоичного языка нолей и единиц, который может прочитать компьютер, в язык программирования, который могут читать люди. Это требует большой концентрации внимания и соответственных навыков, особенно с таким сложным кодом, как в Stuxnet. Но Фальер особо и не возражал. Чем сложнее код, тем больше он удовлетворял его, когда он наконец взламывал его.

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

Фальер родился и вырос недалеко от Тулузы, на юге Франции, где находится аэрокосмическая корпорация Airbus и местный центр спутниковых технологий. В регионе, где преобладают авиационные и остальные инженеры, казалось, что Фальеру было предписано работать в сфере технологий. Но все-таки первые его порывы больше стремились к механике. Его отец был автомехаником, который владел и управлял собственной автомастерской. Однако знакомство Фальера с компьютерами в старшей школе привели его к совсем иному жизненному пути – после школы, он пошел изучать информатику в Национальном университете прикладных наук во Франции. Успешное распространение червя Code Red, который заразил более чем 700 тысяч машин, в 2001 первом году, заинтересовало его, и парень начал изучать компьютерную безопасность. Еще будучи в колледже, молодой Фальер написал несколько статей на тему кибербезопасности для небольшого французского технического журнала, а также статью для SecurityFocus, веб-сайту на тему компьютерной безопасности, которым владел Symantec.1 В конце 2005 года, когда он писал дипломный проект по информатике, он сказал, что ему требуется шестимесячная стажировка, чтобы успешно закончить свой проект. Поэтому он обратился к своим контактам в SecurityFocus, где его и направили к Чиену. Ему очень повезло. Symantec все еще были в поисках новых людей, и Чиен отчаянно пытался найти опытных реверс-инженеров. Вместо шестимесячной стажировки, Чиен предложил Фальеру работу на полный рабочий день. «Сколько вы хотите заработать?», – спросил он у Фальера.

«Мне не нужны деньги», – просто ответил ему Фальер, – «Мне нужен лишь опыт».

«Вы с ума сошли?», – Чиен был ошеломлен, – «Я пришлю вам предложение по электронной почте. Просто примите его».

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

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

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

Свой анализ полезной нагрузки Stuxnet Фальер начал с изучения программного обеспечения Siemens Step 7. Программное обеспечение Step 7, которое атаковал Stuxnet, было проприетарным приложением Siemens для программирования их линейки ПЛК S7. Он работает поверх Windows и позволяет программистам писать и компилировать команды или блоки кода для ПЛК. Система не была полной без программы Simatic WinCC, средства визуализации, используемого для мониторинга ПЛК и процессов, которые они контролировали. ПЛК, подключенные к станциям контроля через производственную сеть, постоянно находились в контакте с компьютерами операторов, регулярно отправляя отчеты о состоянии и обновления всяческих датчиков, чтобы те могли следить за оборудованием и выполняемыми операциями в режиме реального времени. .DLL файл Siemens занимал центральное место в программах Step 7 и WinCC выступая в качестве посредника для создания команд для ПЛК, и получения от них отчетов о состоянии. Вот здесь и вступал в силу .DLL файл от Stuxnet. Он делал все то же, что и оригинальный файл, и при этом добавлял немного своего.

Для того, чтобы понять, как работает двойник .DLL, Фальеру сначала предстояло узнать, как работает сама система Step 7 и оригинальный .DLL файл в ней. Он искал знающих людей в интернете, чтобы проконсультироваться, и даже подумывал написать в Siemens за помощью, но не знал кому позвонить. .DLL файл, используемый в Step 7 был одним из множества .DLL файлов, используемых в программном обеспечении Siemens, так что поиск двух-трех программистов, стоящих за этим кодом, людей, которые знали его достаточно хорошо, чтобы помочь, займет столько же времени, сколько и самостоятельное изучение информации. И в конце концов, насколько же приятней будет разобраться во всем самому.

 Чтобы отреверсить .DLL файлы – оригинал и двойник – Фальер открыл их в дизассемблере, инструменте, предназначенном для перевода двоичного кода на язык ассемблера. Дизассемблер позволял программистам добавлять примечания и комментарии к коду или переставлять разделы кода, чтобы его было легче читать. Фальер разбирал код по маленьким кусочкам, помечая каждый описанием функции, которую она выполняла.

Как это обычно делают исследователи при изучении сложных вредоносных программ, Фальер объединил статический анализ (просмотр кода на экране в дизассемблере/отладчике) с динамическим (наблюдение за выполнением кода в тестовой среде, использование отладчика для остановки и запуска отдельных команд), чтобы сопоставить определенные части кода с тем, что он мог увидеть на экране тестовой машины. Этот процесс даже при лучших обстоятельствах будет медленным, поскольку он требует постоянных прыжков вперед-назад между двумя машинами, но с Stuxnet все было еще труднее из-за его размера и сложности.

Потребовалось две недели для документирования каждого действия, которое предпринимал .DLL, прежде чем Фальер наконец подтвердил то, что он все время подозревал – Stuxnet перехватывал оригинальный .DLL файл Siemens и заменял его своим двойником, чтобы таким образом взломать систему. Фальер понял это, когда решил изменить имя оригинального .DLL файла с s7otbxdx.dll на s7otbxsx.dll и установив вредоносный .DLL с неизмененным именем оригинала. Затем, когда система вызвала .DLL? вместо родного файла, который специально переименовал Фальер, откликнулся .DLL файл, который внедрил Stuxnet.

Теперь все начало ставать понятным.

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

Вторая часть атаки была еще более гениальной. До того, как запустить вредоносные команды, Stuxnet терпеливо бездействовал на ПЛК около двух недель, иногда дольше, записывая исполняемые им операции, когда контроллер отправлял отчеты о состоянии на станции мониторинга. Затем, когда Stuxnet активировался, он вновь воспроизводил записанные им отчеты операторам, чтобы скрыть какие-либо ошибки на машинах – как в голливудском фильме о краже, воры вставляют зацикленное видео в каналы камер видеонаблюдения. Когда Stuxnet начинал саботировать ПЛК, он также отключал автоматические цифровые сигналы тревоги, чтобы предотвратить срабатывание систем безопасности и остановку любого процесса, который контролировал ПЛК, если он вдруг обнаружит, что оборудование входит в опасную зону. Stuxnet делал это, изменив блоки кода, известные как OB35, которые были частью системы безопасности ПЛК. Они использовались для контроля критических операций, таких как скорость турбины, которую контролировал ПЛК. Блоки генерировались каждые 100 миллисекунд, чтобы системы безопасности могли быстро среагировать, если турбина вдруг вышла из-под контроля, либо что-то еще пошло не так, что позволяло системе или оператору произвести экстренную остановку оборудования. Но с Stuxnet, изменяющим данные, на которые опиралась система безопасности, система была слепа к опасным условиям и никогда не могла быть активирована.2

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

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

Но это не была простая атака типа «отказ в обслуживании». Злоумышленники не пытались саботировать ПЛК, просто выключив его – ПЛК оставались полностью функциональными на протяжении всей атаки – они пытались физически уничтожить процесс или устройство, которое контролировали ПЛК. Это был первый раз в карьере Фальера, когда цифровой код использовался не для кражи или изменения данных, а для физического уничтожения каких-либо устройств.

Все это напоминало сюжет голливудского блокбастера. Блокбастера с Брюсом Уиллисом, если говорить точнее. Три года назад Live Free or Die Hard представляли себе подобный сценарий, хотя и с типичными для Голливуда склонностями к экшену и взрывам на каждом углу. В том фильме группа кибертеррористов во главе с мстительным бывшим государственным служащим запускает множество скоординированных кибератак, чтобы нанести вред фондовому рынку, транспортным и электросетям, чтобы отвлечь этим внимание власти от их реальной цели – выкачки миллионов долларов из государственной казны. Хаос, экшен и куча денег – то, что и нужно было Die Hard.

 Но подобные сценарии издавна отвергались профессионалами из области компьютерной безопасности, которые воспринимали такие картины за бред, плод больной фантазии. Хакер может вырубить одну или две критические системы, но взрывать что-то? Это кажется невероятным. Большинство взрывов в Die Hard были в большей степени физическими, нежели кибернетическими. И все же Stuxnet имеет доказательства того, что такой сценарий вполне может быть реальным. В сравнении с тем, что Фальер уже видел, или ожидал увидеть, Stuxnet находился за границами всего мысленного и не мысленного.

Несмотря на свои масштабы и успех, Symantec была, в конце концов, всего лишь очередной занудной компанией, занимающейся защитой своих клиентов. В течении пятнадцати лет их противниками были хакеры и прочие киберпреступники, которые взламывали, в основном, ради забавы, или, как в последнее время, государственные шпионы, охотящиеся на корпоративные и государственные секреты. Все они в разной степени были грозными и достойными противниками, но никто из них даже намека не подавал на физическое разрушение. За прошедшие годы вредоносное ПО прошло постепенную эволюцию. В ранние годы мотивация авторов вредоносов не менялась от хакера к хакеру, и была практически неизменной. Некоторые программы были более разрушительны, некоторые менее, но основная цель вирусописателей 1990-х годов заключалась в достижении славы и признания, а типичная полезная нагрузка вирусов включала в себя шутки над друзьями-хакерами послабее.  Ситуация изменилась, когда рынок захватила электронная коммерция, и хакерство превратилось в преступный бизнес. Теперь цель состояла не в том, чтобы привлечь к себе внимание, а в том, чтобы взломать и оставаться в системе как можно дольше, чтобы красть номера кредитных карт и учетные данные банковских счетов. Совсем недавно хакерство превратилось в игру шпионов с высокими ставками, в которой государственные шпионы проникают глубоко в сеть, оставаясь в ней месяцами или даже годами, молча крадя национальные секреты и другие конфиденциальные данные.

Но Stuxnet вышел далеко за пределы всего этого. Это была не эволюция вредоносного ПО, а революция. Все, что Фальер и его коллеги видели раньше, даже самые серьезные угрозы, нацеленные на процессинг кредитных карт и кражу секретов Министерства обороны, казались незначительными в сравнении с этим вирусом. Stuxnet втянул их в совершенно новую борьбу, где ставки были намного больше, чем когда-либо прежде.

Долгое время в сети гуляла история, согласно которой нечто подобное должно было случиться ранее, но она так и не нашла подтверждения. Согласно этой истории, в 1982 году ЦРУ разработало план установки логической бомбы в программное обеспечение, контролирующее российский газопровод, с целью уничтожения некоторых важных узлов. Когда код вступил в силу, это вызвало бы неисправность клапанов на трубопроводе. Результатом должен был стать огненный взрыв, настолько сильный и большой, что его можно было бы увидеть человеческим глазом с орбитальных спутников.3

Вернувшись в Калвер-Сити, Чиен подумал, а не было ли последнее время в Иране необъяснимых взрывов, которые можно было бы списать на счет Stuxnet.  Он был поражен, обнаружив в новостях, что такие взрывы и вправду были, причем всего пару недель назад.4 В конце июля газопровод, несущий природный газ из Ирана в Турцию, взорвался недалеко от турецкого города Догубаязит, в нескольких милях от иранской границы. Взрыв, который поразбивал окна близлежащих зданий, вызвал яростное пламя, тушение которого заняло несколько часов.5

Другой взрыв произошел за пределами иранского города Тебриз, где взорвался трубопровод протяженностью 1600 миль, доставляющий газ из Ирана в Анкару. Третий взрыв произошел на иранском государственном нефтехимическом заводе на острове Харк в Персидском заливе, в результате которого погибло четыре человека.6 Через несколько недель на нефтехимическом заводе в Пардисе произошел четвертый газовый взрыв, погибло пять человек, три получили ранения.7 Это произошло всего спустя неделю после того, как завод посетил президент Ирана Махмуд Ахмадинежад.

Но не все взрывы остались необъяснимыми. Курдские повстанцы взяли на себя ответственность за взрывы в Догубаязите и Тебризе, а иранское информационное агентство, ИРНА, связало взрыв на острове Харк с повышением давления в центральном котле.8 Взрыв в Пардисе был вызван утечкой этана, который воспламенился после того, как рабочие начали сварку трубопровода. Но что, если один или несколько взрывов были вызваны Stuxnet? Чиен задумался.

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

Чиен, О`Мурчу и Фальер собрались в общем звонке, чтобы обсудить варианты их дальнейших действий. Они до сих пор не знали, что именно Stuxnet делал с ПЛК, и даже не знали, какова его цель, но они точно знали, что должны раскрыть то, что нашли в его полезной нагрузке. Итак, 17 августа 2010 года они публично выступили с новостью о том, что Stuxnet оказался не инструментом шпионажа, как все считали, а цифровым оружием, предназначенным для уничтожения его целей. «Ранее мы сообщали, что Stuxnet мог красть данные… а также прятать себя с помощью классического руткита Windows», – писал Фальер в своей типичной преуменьшенной манере, – «но к сожалению, он может делать гораздо больше».9

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

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

На короткий момент он даже усомнился в их решении посвятить сколько времени коду Stuxnet. Видел ли кто-то другой что-то такое незначительное, что-то, что Чиен и его команда могли просто упустить из виду? Но затем он пересмотрел все, что они обнаружили за последние несколько недель. И он пришел к выводу, что ошибиться было просто невозможно – ни в важности Stuxnet, ни в его агрессивных намерениях.

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

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

Сноски, ссылки и используемая литература:

1.    Symantec приобрела SecurityFocus в 2002 году.

2.    В Stuxnet было мало причуд или чего-то, что казалось излишним. Но в той части кода, которая отвечает за перехват блоков OB35, злоумышленники поместили «магический маркер» (значение, помещенное в код, обозначающее условие или запускаемое действие), который оказался чем-то вроде шутки – 0xDEADF007. Маркер был шестнадцатеричным представлением числа. Когда Stuxnet проверял условия в системе для начала своей работы, для того, чтобы определить, когда он должен начать отключать систему безопасности, был создан магический маркер. Хакеры могли написать абсолютно любое число – хоть 1234 – но выбрали то, которое в шестнадцатеричном формате записывается как DEADF007. Программисты в большинстве своем нередко использовали в коде причудливые значения для написания слов в шестнадцатеричном формате. К примеру, первые четыре байта файлов классов Java преобразовываются в 0xCAFEBABE в шестнадцатеричном формате. 0xDEADBEEF это другое шестнадцатеричное значение, которые среди хакеров интерпретируется как сбой программного обеспечения. Поэтому Чиену стало интересно, может ли 0xDEADF007 в Stuxnet обозначать «dead fool» – уничижительный способ указать, что система безопасности больше не работает – или «dead foot». Dead foot это выражение, используемое пилотами самолета для обозначения отказа двигателя. «Dead foot, dead engine» – выражение, которое помогает пилотам в стрессовой ситуации быстро понять, что, если педаль не работает, это значит, что не работает и двигатель – фактически, пилот не имеет контроля над двигателем. Точно так же DEADF007 в Stuxnet сигнализировал момент, после которого операторы в Иране теряли малейший контроль над своими ПЛК, когда Stuxnet саботировал их, не давая возможности системе безопасности инициировать собственное автоматическое отключение или произвести экстренное ручное отключение операторам. Это привело Чиена к мысли, мог ли один из авторов Stuxnet быть пилотом?

3.    Подробней об истории предполагаемого саботажа трубопровода смотрите главу 11.

4.    Кон Кофлин, “Who’s Blowing up Iran’s Gas Pipelines?”, The Telegraph, 18 августа, 2010, доступно по адресу: http://www.blogs.telegraph.co.uk/news/concoughlin/100050959/whos-blowing-up-irans-gas-pipelines.

5.    Агентство France-Presse, “Suspected Kurd Rebels Blow up Iran–Turkey Gas Pipeline”, 21 июля, 2010, доступно по адресу: https://www.institutkurde.org/en/info/latest/suspected-kurd-rebels-blow-up-iran-turkey-gas-pipeline-2372.html.

6.    “Petrochemical Factory Blast Kills 4 in Iran”, Associated Press, 25 июля, 2010, доступно по адресу: http://www.gainesville.com/article/20100725/news/100729673.

7.    “Explosion in Petrochemical Complex in Asalouyeh Kills 5”, Tabnak News Agency, 4 августа, 2010, доступно по адресу: https://www.tabnak.ir/en/news/180.

8.    Иван Ватсо и Есим Комерт, “Kurdish Rebel Group Claims Responsibility for Gas Pipeline Blast”, CNNWorld, 21 июля, 2010, доступно по адресу: http://www.articles.cnn.com/2010-07-21/world/turkey.pipeline.blast_1_pkk-kurdistan-workers-party-ethnic-kurdish-minority?_s=PM:WORLD.

9.    Николас Фальер, “Stuxnet Introduces the First Known Rootkit for Industrial Control Systems”, Symantec blog, 6 августа, 2010, доступно по адресу: http://www.symantec.com/connect/blogs/stuxnet-introduces-first-known-rootkit-industrial-control-systems. Обратите внимание, что дата в блоге – 6 августа, но это дата, когда публикация была впервые опубликована с новостями о рутките ПЛК. Они обновили его, когда добавили новость о том, что Stuxnet нацелен на физическое уничтожение.