Любой, кто следил за мировыми новостями в начале 2010-х годов, особенно за сообщениями о технологиях, вероятно, слышал о Stuxnet. Этот вредоносный код породил множество теорий заговора, и, что удивительно, некоторые из них оказались правдой. Вредоносная программа была нацелена на иранские ядерные объекты и считается первым цифровым червем, причинившим прямой физический ущерб в реальном мире. Неизвестный исследователь безопасности опубликовал реверс-инжиниринг исходного кода Stuxnet во всей его красе.
Конечной целью червя, предположительно успешной, были промышленные контроллеры Siemens, которые, как сообщалось, использовались на иранском заводе по обогащению урана в Натанзе. Достигнув цели, полезная нагрузка Stuxnet манипулировала преобразователями частоты в промышленных центрифугах, чтобы незаметно повредить роторы, при этом сотрудники завода не подозревали о происходящем, поскольку система сообщала о нормальной работе.
Репозиторий содержит инструкции по сборке, чтобы заинтересованные технические специалисты могли самостоятельно изучить его внутреннюю работу. Вам понадобится виртуальная машина с Windows XP или Windows 7, и по понятным причинам не следует настраивать для нее сетевое подключение. Чтобы увидеть полный эффект полезной нагрузки, а не только механизмы распространения, вам потребуется соответствующее программное обеспечение Siemens и, в идеале, оборудование, хотя мы полагаем, что промышленные центрифуги не так уж часто встречаются в ящиках с кабелями у технарей.
В свое время Stuxnet распространялся тремя способами. Основным вектором заражения были USB-накопители с файлами ярлыков Windows и autorun.inf. При подключении такого накопителя простое открытие содержимого диска немедленно приводило к заражению благодаря уязвимости нулевого дня.
Затем зараженные системы автономно пытались распространить червя дальше по сети, используя уязвимость нулевого дня в службе печати Windows (Print Spooler), которая позволяла злоумышленнику записывать системные файлы на любую машину, совместно использующую принтер. Он также копировал себя в доступные сетевые ресурсы. Чтобы обойти проверки подписи драйверов Windows, Stuxnet использовал два цифровых сертификата, украденных у Realtek и JMicron.
Червь также содержал код для внедрения в программное обеспечение Siemens через базу данных WinCC SQL Server и встраивания своего кода в файлы проектов Step 7, которые автоматически запускались при их открытии инженерами. Поскольку эти файлы почти наверняка использовались несколькими инженерами, это стало отличным вектором внутреннего заражения, не зависящим от контроля сетевых ресурсов.
Финальным шагом было получение контроля над DLL, которая взаимодействовала с фактическими центрифугами, и внедрение вредоносного кода в ПЛК (программируемые логические контроллеры) этих машин для незаметного вмешательства в работу роторов.
Stuxnet был частью «Операции Олимпийские игры» — предполагаемой скоординированной операции между США и Израилем с целью сдерживания предполагаемого прогресса Ирана в создании ядерного оружия на его объекте в Натанзе. Инициатива, по-видимому, осуществлялась как при администрации Буша, так и при администрации Обамы, и, как утверждается, была способом удержать Израиль от нанесения упреждающего удара по Ирану. Программное обеспечение было якобы разработано Пентагоном и израильским подразделением 8200 и, как сообщается, успешно вывело из строя около 10% центрифуг Натанза, в конечном итоге серьезно повредив их роторы.
Однако у червя был неприятный баг: он не имел достаточных проверок на предмет того, в какой среде он находится, и не заметил, что больше не находится в локальной сетевой среде. Когда инженеры брали свои ноутбуки домой, он вырвался в интернет в целом, после чего исследователи безопасности по всему миру коллективно воскликнули: «Хм, странно» и приступили к расследованию. К счастью, червь содержал жестко закодированную дату самоуничтожения — 24 июня 2012 года.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Bruno Ferreira




