Глубоко в одном из конфигурационных блоков Stuxnet заложена 8-байтовая переменная, которая содержит некое число, и если это число прочитать как дату, оно указывает на 24 июня 2012 года. А в действительности это день, когда подпрограммы распространения Stuxnet посредством LNK-файлов прекратили работу и перестали заражать USB-носители.
Эта особая переменная, хранящая в себе «время смерти», показана на скриншоте выше: значение «00 c0 45 4c 9c 51 cd 01» можно перевести как 24 июня 2012 года в формате стандартной временной отметки 64-разрядной ОС Windows.
На сегодняшний день известны три версии Stuxnet, они были запущены в три этапа. Первая известная версия появилась 23 июня 2009 года в 4:40 по Гринвичу. Следующая волна пришлась на 28 июня и третья – на 7 июля.
Получается, 24 июня исполнилось три года с тех пор, как червь впервые проник в системы особым образом выбранных иранских предприятий.
Интересно, что в истории со Stuxnet и Duqu 24 июня имеет еще одно значение.
В настоящее время известны три поколения драйверов Duqu. Они берут свое начало 17 октября и 3 ноября 2011 года, а также 23 февраля 2012 – это самая свежая модификация. Нам особенно интересен драйвер Duqu от 3 ноября. Во фрагменте 5190h (см. рис. ниже) мы видим зашифрованный конфигурационный блок.
Конфигурационный блок закодирован с помощью простого поточного шифра. Вот так выглядит код расшифровки:
После расшифровки конфигурационный блок Duqu легко прочесть:
Стоит отметить величину 0xAE240682 (на скриншоте выше выделено красным), в которой прописан путь к основному коду Duqu, а также к имени драйвера, отвечающего за коммуникации между процессами.
Величину 0xAE240682 можно разделить на 4 части. 0xAE – это таинственная постоянная, которая регулярно используется в кодах Duqu и Stuxnet. Ее значение до сих пор неизвестно, однако очевидно, что разработчики ее очень любят. Оставшиеся три части можно прочитать как 24.06.82 – дата, которая ровно на 30 лет предшествовала дню «смерти» Stuxnet.
24 июня 1982 года интересно и само по себе. Это история рейса 9 компании British Airways, более известная как Speedbird 9, или «Джакартский инцидент». 24 июня 1982 года Boeing 747-236B, носящий имя City of Edinburgh, вошел в облако вулканического пепла, выброшенного вулканом Галунггунг.
Приблизительно в 13:40 UTC заглох четвертый двигатель, и в нем произошел срыв пламени. Вскоре отказал второй, а затем произошел срыв пламени и в последних оставшихся двигателях самолета – первом и третьем. Пилоты рассчитали, что с высоты 37 000 футов самолет сможет планировать 23 минуты, а этого было недостаточно для безопасного возвращения и посадки самолета в аэропорту. Тогда капитан Эрик Муди сделал объявление по громкой связи, которое стало историческим:
«Дамы и господа, с вами говорит капитан. У нас небольшая проблема. Отказали все четыре двигателя. Мы изо всех сил стараемся запустить их. Я очень надеюсь, что это не причинит вам серьезных волнений».
Окончание истории рейса BA009 вы можете прочитать здесь.
Конечно, никто, кроме самих разработчиков, не может с уверенностью сказать, почему червь Stuxnet перестал распространяться ровно через 30 лет после этого происшествия, или почему то же самое число жестко вшито в подпрограмму расшифровки Duqu. Хотя не все сводится к 24 июня: эксплойт Stuxnet MS10-061 перестал работать еще 1 июня прошлого года, а эксплойт MS08-067 проверяет даты до января 2030.
Тем не менее эти ограничения могут означать и то, что злоумышленники планировали выпустить обновления к 1 июня 2011, а приостановить или заменить червя к 24 июня 2012 года.
С тех пор как в мае 2012 был обнаружен Flame, мы ожидаем появления большего количества кибероружия, и, может быть, оно уже в Сети.
День, когда умер Stuxnet