Countdown to 0day. Глава 1. Раннее предупреждение.

Важно: ссылки и сноски находятся в конце текста главы. Чтение сносок необходимо для концептуального понимания текста.

Знакомьтесь, Сергей Уласень. Это не тот человек, которого вы ожидаете увидеть в эпицентре международного скандала. У тридцати однолетнего белоруса с коротко подстриженными волосами, стройной мальчишеской фигурой, открытым лицом и приветливым характером, мало врагов и ещё меньше внутренних противоречий. Он любил проводить выходные в загородном доме его бабушки под Минском. Там Сергей отдыхал от стресса, перенесенного в будние дни, отключив свой сотовый и интернет. Но судьба распорядилась так, что в июне 2010 года именно Уласень столкнулся с кое-чем необычным, что вскоре привлекло к его фирме пристальное внимание международного сообщества1

На дворе стоял тёплый летний четверг. Сергей, возглавлявший небольшое антивирусное подразделение белорусской компьютерной компании VirusBlokAda, сидел со своим коллегой Олегом Купреевым в маленьком захламленном офисе. Это было одно из многочисленных зданий советской эпохи в центре Минска, недалеко от реки Свислочь. Один за одним они проверяли подозрительные компьютерные файлы, обнаруженные ими в одном из компьютеров в Иране. В этот момент Купреев столкнулся с чем то удивительным. Переведя дыхание и откинувшись на спинку стула, он тихо позвал коллегу взглянуть. Окинув взглядом содержимое экрана, Уласень прокрутил код ещё раз, чтобы убедиться в реальности увиденного. Этот код они разбирали уже несколько дней и считали его заурядным вирусом. заурядным вирусом. Только сейчас этот “заурядный вирус” всё больше и больше походил на по-истине гениальное творение, принадлежащее самому дьяволу.

Малварь, изучаемая ими, не просто использовала искусно написанный руткит, чтобы скрыть себя от антивирусных движков. В программе использовался еще и эксплоит нулевого дня для распространения с машины на машину. Эксплойт атакует столь фундаментальную для Windows функцию , что это подвергает риску заражения миллионы компьютеров по всему миру.

Эксплоиты – это специально созданный код, которые хакеры используют для атаки и установки вирусов и других вредоносных программ на компьютеры. Компрометируя уязвимости в браузерах, таких как Internet Explorer или приложених, например, как Adobe PDF Reader, они внедряют в систему вирус или троян, подобно грабителю, использующий лом, чтобы открыть окно и ворваться в дом. Заходя на вредоносный веб-сайт, скрывающий эксплоит или щелкая на вложения электронной почты, жертва открывает лазейку в безопасности программного обеспечения, для внедрения вредоносных файлов в систему. Когда производители программного обеспечения узнают о таких дырах в своих продуктах, они обычно создают “заплатки”, чтобы закрыть уязвимость. А антивирусные компании, такие как компания Уласеня, добавляют сигнатуры эксплоитов к своим сканерам.

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

Эксплойты нулевого дня встречаются редко . Хакерам требуется время и навыки, чтобы найти новые бреши в системах и написать работоспособный код, чтобы атаковать их, поэтому большинство хакеров просто используют старые уязвимости и эксплойты для распространения своих вредоносных программ, рассчитывая на то, что большинство пользователей не часто обновляют свои компьютеры или на них не установлены новейшие антивирусы. А также на то, что производителям могут понадобиться недели или месяцы, чтобы создать исправления для своих продуктов. Ежегодно обнаруживают более 12 миллионов вирусов и других вредоносных программ, но среди них не найдется и десятка, содержащих 0day. Тем не менее, на экране Уласень ясно видел, что в этом коде был использован чрезвычайно ценный эксплойт нулевого дня и искусно созданный руткит. Такая комбинация до сих пор была обнаружена только на машине в Иране. Что-то не складывалось.

Файлы привлекли их внимание неделей ранее, когда реселлер программного обеспечения безопасности VirusBlokAda в Иране сообщил о проблеме с клиентскими компьютерами. Компьютеры несколько раз давали сбой и перезагружались несмотря на усилия технических специалистов2 Служба технической поддержки VirusBlokAda удаленно из Минска просканировала систему, чтобы найти вредоносные программы, которые мог пропустить их антивирус, но ничего не обнаружила. Это и был тот момент, когда они обратились к Уласеню.

Сергей Уласень был нанят антивирусной фирмой еще во время учебы в колледже. Его приняли на должность программиста, но персонал VirusBlokAda был таким маленьким, а его навыки были настолько сильными, что через три года, Сергей возглавил команду, которая разработала и продвигала антивирусный движок. Иногда он сотрудничал с исследовательской группой, искавшей новые вредоносы. Эта часть работы ему очень нравилась, хоть это и случалось редко. И когда команда технической поддержки обратилась, он был рад помочь.3

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

Получив разрешение на подключение к одному из компьютеров в Иране и дистанционно изучив его, Уласень и Купреев сосредоточились на шести подозрительных файлах, которые, как они решили, являются источником проблемы.4 Затем, с несколькими коллегами из их лаборатории, они потратили следующие несколько дней, разбирая эти файлы пытаясь расшифровать то, что оказалось на удивление сложным кодом. Купреев определил , что руткит предназначен для скрытия четырёх вредоносных файлов. Проблема состояла в том, что для небольшой фирмы, разрабатывавшей антивирусные продукты для государства, они не привыкли к таким сложным задачам. Большую часть своего времени они проводили предоставляя техническую поддержку клиентам, а не анализируя вредоносный код. Тем не менее, они продвигались вперёд и в итоге определили, что один из модулей, драйвер, на самом деле был руткитом уровня ядра, как и предполагал Уласень..

Руткиты бывают нескольких разновидностей, но наиболее сложными для обнаружения являются руткиты уровня ядра, которые в внедряются глубоко в систему, чтобы установить себя на тот же уровень, на котором работают антивирусы. Если вы представите структуру компьютера как мишень для стрельбы из лука, то ядро – это яблочко. Ядро – это часть операционной системы, которая заставляет всё работать. Большинство хакеров пишут руткиты, которые работают на внешних уровнях системы – на уровне пользователя, где запускаются приложения – потому что это намного проще. Но антивирусные сканеры могут их обнаружить. Поэтому опытные хакеры размещают свой руткит на уровне ядра системы, где он может блокировать антивирус. Там он служит прикрытием для вредоносных файлов, мешая антивирусам и позволяя вредоносной программе выполнять работу беспрепятственно и незаметно. Руткиты уровня ядра являются редкостью. Для их создания требуется глубокие знания и технические навыки..

Купреев определил, что руткит предназначен для сокрытия четырёх вредоносных файлов .LNK, которые они обнаружили в системе в Иране. Было похоже, что вредоносная программа использовала эксплоит, состоящий из этих 4 файлов, для распространения через зараженные USB-накопители, а руткит скрывал их на USB-флэшке. Именно на это Купреев позвал взглянуть своего коллегу Сергея Уласеня.

Эксплойты, распространяющие вредоносные программы через USB-устройства, не так распространены, как эксплоиты, передающие их через веб-сайты или вложения электронной почты. USB-эксплойты, которые два исследователя видели ранее, использовали функцию автозапуска операционной системы Windows, которая позволяла запускать вредоносные программы на USB-накопителе сразу после его подключения к компьютеру. Но этот эксплойт оказался куда сложнее5.

Файлы Windows .LNK отвечают за отображение иконок содержимого USB-накопителя или другого мультимедийного устройства, когда оно подключено к ПК. Вставьте флэшку в компьютер, и Windows Explorer или аналогичный браузер автоматически будет сканировать её на наличие файлов .LNK, чтобы автоматически отобразить иконку для музыкального файла, документа Word или программы, хранящейся на флешке6. И в этом случае создатели малвари внедрили эксплоит в специально созданный файл .LNK, так что, как только Windows Explorer сканировал файл, он исполнял эксплоит, который незаметно “сбрасывал” вредоносную нагрузку с USB на компьютеры, подобно военному самолету, который сбрасывает замаскированный десант на территорию противника.

.LNK атаковал такую фундаментальную особенность системы Windows, что Уласень удивился тому, что никто не заметил это раньше. Это эксплоит был намного совершеннее, чем эксплоиты Autorun, ведь их действие можно было легко предотвратить, отключив функцию Autorun на компьютере – шаг, который многие сетевые администраторы предпринимают как само собой разумеющейся. Но способа легко отключить функцию .LNK, не создавая других проблем для пользователей, не существовало.

Сергей тщетно искал в онлайн-реестре эксплоитов любые другие, которые в прошлом использовали файлы .LNK. Именно тогда он понял, что смотрит на 0day.

Он взял зараженную USB-флэшку и подключил её к тестовому компьютеру, работающему на новейшей версии операционной системы Microsoft, Windows 7. Машина полностью была укомплектована всеми последними обновлениями безопасности. Если эксплоит .LNK уже был известен Microsoft, то патчи в системе предотвратят загрузку вредоносных файлов на компьютер. Но если эксплоит .LNK был 0day, его ничто не остановит. Он подождал несколько минут, потом осмотрел компьютер, и, разумеется, там были вредоносные файлы.

Кибераналитик не мог в это поверить. Крошечная антивирусная фирма VirusBlokAda, о которой мало кто слышал, только что обнаружила самые редкие трофеи для охотника за вирусами. Это был не просто 0day, это был код, работающий на любой версии Windows, выпущенной начиная с Windows 2000. Злоумышленники объединили вместе четыре версии эксплоита в четыре разных .LNK файлах, чтобы быть уверенными, что их “связка” сработает на любой версии Windows7.

Уласень попытался представить потенциальное количество машин, которые могут быть заражены. Но его поразила еще одна деталь: вредоносный модуль драйвера и сам код, сбрасываемый на целевые машины, загружалась на тестовом компьютере без всяких предупреждений об установке. В Windows 7 была функция безопасности, сообщающая пользователям, когда устанавливался неподписанный драйвер или драйвер, подписанный ненадлежащим сертификатом. Но эти два драйвера загрузились без проблем. Уласень с тревогой понял, что это произошло потому, что они были подписаны, как оказалось, действительным цифровым сертификатом компании RealTek Semiconductor.

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

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

О таком Уласень никогда прежде не слышал и хотел понять, как это сделано. Вероятно, они похитили компьютеры разработчика программного обеспечения RealTek и использовали его машину и учетные данные, чтобы незаметно подписать свой код.

А может быть, злоумышленники просто украли ключ подписи и сертификат. В целях безопасности компании хранят свои сертификаты и ключи на автономных серверах или в аппаратных модулях безопасности, обеспечивающих дополнительную защиту. Но не все это делают, и вероятно, злоумышленники просто украли ключ подписи и сертификат компании RealTek, получив доступ к сети компании. Временная отметка на сертификатах показывала, что оба драйвера были подписаны 25 января 2010 года. Один из драйверов был скомпилирован годом ранее, 1 января 2009 года, а другой за шесть минут до его подписания. Потребовалось немного времени на подписание драйвера, это говорило о том, что у злоумышленников мог быть ключ RealTek и сертификат.

Последствия были тревожными. Использование действительного цифрового сертификата для подписания вредоносных файлов подрывало веру в надежность фундаментальных основ электронной подписи и ставило под сомнение легитимность любого файла, подписанного цифровыми сертификатами. Это был лишь вопрос времени, когда другие злоумышленники использовали бы эту тактику и начали воровать сертификаты9.

Обычно, исследователи, обнаружившие уязвимости в программном обеспечении, уведомляют поставщиков ПО, прежде чем сделать свою находку публичной, чтобы дать поставщикам время для исправления дыр, поэтому Уласень отправил электронные письма как в RealTek, так и в Microsoft, уведомив их о находках своей команды.

Но не получив ответа ни от одной из компаний, в течении двух недель Уласень и Купреев решили, что молчать бесполезно10. Сообщество безопасности должно было узнать об эксплойте .LNK. Они уже добавили соответствующие сигнатуры в антивирусное ядро VirusBlokAda для обнаружения вредоносных файлов и видели, как на компьютерах по всему Ближнему Востоку и за его пределами выявлялась малварь. Вирус очень быстро распространялся. Они должны были обнародовать новости11.

12 июля Сергей Уласень опубликовал короткое сообщение о 0day на сайте своей компании и на англоязычном он-лайн форуме, предупреждая о том, что компьютерная эпидемия вот-вот разразится12. Он обнародовал несколько подробностей об уязвимости, которую атаковал вирус.

Три дня спустя технический журналист Брайан Кребс, перехватил инициативу и написал об этом пост в своём блоге, в котором кратко излагал то, что было известно об уязвимости и эксплойте на то время13. Новость разнеслась по сообществу безопасности, заставив всех готовиться к волне компьютерных заражений, ожидаемых от обнаруженного червя и подражателей с использованием одного и того же эксплойта14. Тем временем глава института в Германии, который исследовал и тестировал антивирусные программы, выступил посредником между Уласенем и Microsoft, что побудило компанию-разработчика программного обеспечения начать работу над патчем15. С появлением новостей Microsoft решило выпустить предупреждение о критической уязвимости, а также несколько советов, которые помогут снизить риск заражений. Однако в отсутствии патча, который не был выпущен еще две недели, проблема была далека от решения16.

Индустрия компьютерной безопасности также взялась за дело, разбирая червя, у которого теперь появилось имя – “Stuxnet”, составленное из букв в названии одного из файлов драйвера (mrxnet.sys) и ещё одной части кода. По мере того, как ИБ компании добавляли сигнатуры в свои антивирусы, на зараженных компьютерах клиентов начали определяться тысячи вредоносных файлов17.

Почти сразу же появился еще один сюрприз. 17 июля антивирусная компания в Словакии под названием ESET обнаружила еще один вредонос, который, по-видимому, был связан со Stuxnet.

Драйвер был обнаружен на компьютере, без каких-либо других файлов Stuxnet, но все полагали, что он должен быть связан со Stuxnet, поскольку он имеет общие черты с драйверами, обнаруженными VirusBlokAda18. В дате компиляции этого драйвера было что-то примечательное. Когда хакеры запустили свой исходный код через компилятор, чтобы преобразить его в двоичный, который может прочитать машина, компилятор помещает метку времени в двоичный файл. Однако злоумышленники могли манипулировать временной меткой, чтобы сбить с толку исследователей и выдать свои действия за легитимные. Там указывалось, что драйвер был скомпилирован 14 июля, через два дня после того, как VirusBlokAda заявил всему миру о Stuxnet. Хакеры Stuxnet запустили червь на новую атаку, совершенно не обращая внимания на тот факт, что неизвестная антивирусная фирма в Беларуси только что раскрыла их. Вероятно они поняли, что их схема была практически раскрыта и спешили загнать Stuxnet на как можно большее количество машин, прежде чем он будет полностью заблокирован. Были догадки, что хакеры подписали драйвер с помощью еще одного сертификата от JMicron, что наводило на мысль о том, что они действительно торопились19. Было ясно одно: злоумышленникам был нужен новый сертификат для подписи их драйвера, поскольку срок действия сертификата RealTek истёк месяцем ранее, 12 июня. Цифровые сертификаты имеют ограниченный срок службы, и после истечения срока действия сертификата RealTek злоумышленники не могли дальше использовать его для подписи новых файлов. Сертификат также был аннулирован центрами сертификации после того, как Stuxnet был разоблачен, а это означало, что машины под управлением Windows теперь будут отклонять любые файлы, которые уже были подписаны этим сертификатом..

Обнаружение второго сертификата заставляло еще больше задуматься о том, как хакеры получили к ним доступ. Компании RealTek и JMicron располагались всего в двух кварталах друг от друга в Научно-промышленном парке Синьчжу в одноименном городе Тайвани. Учитывая их географическую близость, некоторые предположили, что злоумышленники, возможно, физически взломали два офиса, чтобы украсть ключи цифровой подписи и сертификаты. Другие предположили, что Китайская Народная Республика стояла за атакой Stuxnet и взломала две тайваньские компании, чтобы получить ключи цифровой подписи и сертификаты.

Каким бы ни был сценарий, это означало, что у злоумышленников в арсенале могли быть и другие украденные цифровые сертификаты. И если они приложили столько усилий, чтобы убедиться, что их атака сработает, это означало, что у них была серьезная цель и значительные средства для её реализации. Многие в сообществе безопасности чувствовали себя очень растеряно. “Мы редко видим такой профессионализм”, – отметил исследователь ESET Пьер-Марк Бюро20.

Когда антивирусные компании исследовали файлы Stuxnet , поступающие от клиентов, их ждал ещё один сюрприз. Судя по датам в некоторых файлах, оказалось, что Stuxnet был запущен еще в начале июня 2009 г., это означало, что он скрывался на компьютерах в течение как минимум года, прежде чем VirusBlokAda обнаружила его. Также оказалось, что злоумышленники начали атаку тремя волнами – в июне 2009 г., также в марте апреле 2010 г.

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

“Привет, ребята, – написал Фрэнк Болдевин на онлайн-форуме, где Сергей Уласень впервые опубликовал свое сообщение о Stuxnet, – кто-нибудь вообще разбирал вредоносное ПО?” Болдевин развернул один из файлов Stuxnet и обнаружил внутри необычные ссылки на программное обеспечение, созданное немецкой фирмой Siemens. Похоже, что злоумышленники искали компьютеры, на которых была установлена одна из проприетарных программ Siemens – SIMATIC Siemens Step 7 либо его SIMATIC WinCC. Обе программы являются частью промышленной системы управления (ICS), предназначенной для работы с программируемыми логическими контроллерами (ПЛК) Siemens – небольшими компьютерами, размером с тостер, которые используются на заводах по всему миру для управления такими вещами, как руки робота и конвейерные ленты на сборочных линиях.

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

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

Спустя неделю после краткого упоминания таинственного червя, казалось, что о нём все забыли. Microsoft всё еще работала над патчами, залатывая дыру в безопасности, атакуемую эксплоитами .LNK, Большинство компаний, занимающихся интернет безопасностью, добавили сигнатуры в свои сканеры для обнаружения вредоносных файлов червя и Stuxnet теперь не представлял большой опасности. История первого в мире цифрового оружия вполне могла бы закончиться, вот только некоторые исследователи в области безопасности были не совсем готовы с этим мириться.

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

1. Проблема перезагрузки не возникала на других компьютерах, которые впоследствии были обнаружены зараженными вредоносными ПО. Поэтому некоторые исследователи подозревают, что проблема, возможно, заключалась в невесомости одного из драйверов вредоносного ПО и антивирусного программного обеспечения VirusBlokAda. Злоумышленник использовал сам драйвер для установки, и исследователи из Лаборатории Касперского заподозрили что когда драйвер запустил основной файл вредоносного ПО в память машин в Иране, что привело к сбою некоторых машин. Исследователи из Лаборатории Касперского позже попытались воспроизвести проблему, но получили противоречивые результаты – иногда машина выходила из строя, иногда нет. Ирония заключается в том, что злоумышленники приложили немало усилий, чтобы протестировать свои вредоносные программы на антивирусных сканерах Kaspersky, Symantec, McAfee и других, именно для того, чтобы убедиться, что их код не будет обнаружен сканерами или аварийными машинами. Но они, видимо, не проверяли его на программном обеспечении сканирования VirusBlokAda. Таким образом, если проблема была в сканере VBA, это означало, что эта крошечная белорусская фирма уничтожила их больше, чем один.

2. Уласень никогда не раскрывал имя торгового посредника, но ссылка на веб-сайте VirusBlokAda для его дистрибьютора в Иране указывает на сайт vba32-it.com [неактивно], принадлежащий Deep Golden Recovery Corporation, фирме по восстановлению данных в Иране.

3. Информация о столкновении VirusBlokAda с вредоносными программами взята из интервью с Сергеем Уласенем и Олегом Купреевым, а также из учетной записи, опубликованной «Лабораторией Касперского» в 2011 году, после того как российская антивирусная фирма наняла Уласеня из VirusBlokAda. Это интервью «Человек, который нашел Stuxnet – Сергей Уласень в центре внимания», было опубликовано 2 ноября 2011 г.

4. Модуль является модульным компонентом. Он часто взаимозаменяем и может использоваться с различными программами.

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

Проблема перезагрузки не возникала на других компьютерах, которые впоследствии были обнаружены зараженными вредоносными ПО. Поэтому некоторые исследователи подозревают, что проблема, возможно, заключалась в невесомости одного из драйверов вредоносного ПО и антивирусного программного обеспечения VirusBlokAda. Злоумышленник использовал сам драйвер для установки, и исследователи из Лаборатории Касперского заподозрили что когда драйвер запустил основной файл вредоносного ПО в память машин в Иране, что привело к сбою некоторых машин. Исследователи из Лаборатории Касперского позже попытались воспроизвести проблему, но получили противоречивые результаты – иногда машина выходила из строя, иногда нет. Ирония заключается в том, что злоумышленники приложили немало усилий, чтобы протестировать свои вредоносные программы на антивирусных сканерах Kaspersky, Symantec, McAfee и других, именно для того, чтобы убедиться, что их код не будет обнаружен сканерами или аварийными машинами. Но они, видимо, не проверяли его на программном обеспечении сканирования VirusBlokAda. Таким образом, если проблема была в сканере VBA, это означало, что эта крошечная белорусская фирма уничтожила их больше, чем один.

5. Автозапуск – это удобная функция в Window, которая позволяет программам на USB-накопителе, компакт-диске или DVD-диске автоматически запускаться, когда устройства вставляются в компьютер. Однако это известная угроза безопасности, поскольку любая вредоносная программа на устройстве также автоматически запускается.

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

7. Эксплойт работал против семи версий Windows: Windows 2000, WinXP, Windows2003, Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2

В Windows Vista и Windows 7 драйвер, который не подписан доверенным цифровым сертификатом, который распознает Microsoft, будет иметь проблемы при установке на компьютер. На 32-битных компьютерах, на которых установлена Vista или Windows 7, отобразится предупреждение, сообщающее пользователю, что файл не подписан доверенным сертификатом, заставляя пользователя принять решение о том, разрешить ли ему установку. На 64-битных компьютерах с ОС Windows, не подписанный доверенным сертификатом, просто не будет установлен вообще. Вредоносное По, обнаруженное VirusBlokAda работает только на 32-битных компьютерах с Windows.

Центр сертификации выдают сертификаты подписи, которые компании используют для подписи своего кода и веб-сайтов. Предполагается, что центры сертификации должны подтвердить, что объект, запрашивающий сертификат, обладает полномочиями сделать это – например, чтобы предотвратить получение сертификата для подписи от имени Microsoft кем-либо кроме Microsoft, – и убедиться, что тот, кто подает заявку на сертификат подписи для компании, которую они утверждают, принадлежит им, это настоящая компания, производящая код. Однако некоторые центры сертификации не проводят должной осмотрительности, и сертификаты иногда выдаются злоумышленникам. Есть также компании, которые за определённую плату будут использовать свой ключ и сертификат для подписи кода для других. Хакеры использовали эти компании в прошлом, чтобы подписать свои вредоносные программы.

8. Сентябрь 2012 года. Программный гигант, распространяющий популярные программы Adobe Reader и Flash Player, объявил, что злоумышленники взломали его сервер для подписи кода, чтобы подписать два вредоносных файла с помощью сертификата Adobe. Adobe хранил свои закрытые ключи подписи на устройстве, которая называется аппаратным модулем безопасности, что должно было предотвратить доступ злоумышленников к ключам для подписи их вредоносных файлов. Но они скомпрометировали сервер сборки – сервер, используемый для разработки программного обеспечения – которые мох взаимодействует с системой подписи кода и заставлять его подписывать свои файлы.

9. По иронии судьбы, 12 июля 2010 года, когда Уласень обнародовал новости о вредоносном ПО, исследователь финской компании по безопасности F-Secure опубликовал презентацию на конференции о цифровых сертификатах, заявил, что на тот момент вредоносное ПО, использующее украденные сертификаты все еще не обнаружено. Однако он отметил, что это неизбежно произойдет сейчас, когда новые версии Windows будут относиться к неподписанным драйверам с подозрением, заставляя хакеров украсть легитимные сертификаты для подписи своих вредоносных программ (См. Ярно Нимела “Он подписан, поэтому он чистый, верно?” представленный на конференции CARO в Хельсинки, Финляндия доступен по адресу (https://archive.fsecure.com/weblog/archives/Jarno_Niemela_its_signed.pdf). На самом деле, вскоре после того, как VirusBlokAda обнаружила сертификат RealTek, другие хакеры уже пытались использовать эту же тактику. В сентябре 2010 года антивирусные фирмы открыли Infostealer Nimkey, троянский конь, специально разработанный для кражи сертификатов закрытых ключей с компьютеров. Последующие два года за этим последовало несколько вредоносных программ, подписанных сертификатами, которые были украдены у различных доверенных компании.

10. Уласень связался с Microsoft по электронной почте, Но группа по безопасности Microsoft получает более 100 000 электронных писем в год, поэтому было понятно. что письмо от неизвестной белорусской антивирусной фирмы, отправленное на общий электронный адрес, просто потерялось.

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

12. Уласень опубликовал свою заметку на сайте своей компании и на форуме по безопасности Wilders https://www.wilderssecurity.com/threads/rootkit-tmphider.276994/#post-1712146

13. Кребс – бывший репортер Washington Post, ведет блог KrebsonSecurity.com, посвященный компьютерной безопасности и киберпреступности. Он опубликовал свой пост 15 июля 2010 года. https://krebsonsecurity.com/2010/07/experts-warn-of-new-windows-shortcut-flaw/

14. Ленни Зельцер, “ Предотвращение серьезной проблемы из-за уязвимости .LNK – повышение уровня инфокона до желтого”, опубликовано 19 июля 2010 года

15. Андреас Маркс, глава av-test.org в Германии, выступил посредником во вступлении со своими прямыми контактами в Microsoft.

16. Советы Microsoft появляются на сайте

17. Большинство антивирусных компаний имеют автоматизированные системы отчетности, которые уведомляют их, когда на компьютере клиента обнаруживается вредоносный файл, если клиент выбрал эту функцию. В большинстве случаев все, что отправляется в компанию, это “хэш” файла – криптографическое представление содержимого файла, состоящего из последовательности букв и цифр, полученных при запуске файла через алгоритм – без указания того, кто жертва, кроме IP адреса отправителя. Но в других случаях компании могут получить вредоносный файл, если жертва решит отправить его, или антивирусная фирма определит через IP- адрес жертвы, и запросит копию файла.

18. Исследователи предположили, что драйвер мог использоваться с новой версией Stuxnet, которую злоумышленники выпустили после настройки кода, чтобы антивирусные сигнатуры не могли его обнаружить. Более поздняя версия Stuxnet никогда не была обнаружена, но см. сноску 41 для дальнейшего обсуждения более поздней версии Stuxnet.

19. См. Костин Г. Раю и Алекс Гостин, “Повесть об украденных сертификатах”, опубликованную в SecureView, второй квартал 2011 года, ежеквартальный бюллетень “Лаборатории Касперского”. Ошибки появляются в блоке цифровой подписи на сертификате, где компания предоставляет информацию о себе. В этом случае злоумышленники неправильно набрали URL для JMicron, чтобы он возвратил ошибку “сервер не найден”, если кто-то попытался зайти на сайт. Им также не удалось заполнить несколько полей для названия компании, авторских прав других данных. В восьми полях вместо информации появилось “измени меня”.

Сертификат RealTek действовал с 15 марта 2007 года по 12 июня 2010 года. Сертификат JMicron был действителен до 26 июля 2012 года, но как только он был отозван центрами сертификации, злоумышленники больше не могли его использовать.

20. Пьер-Марк Бюро, “Win32/StuxNet Signed Binaries”, опубликовано 9 августа 2010 года в блоге Eset.com

Болдевин опубликовал свое сообщение на форуме https://www.wilderssecurity.com/threads/rootkit-tmphider.276994/#post-1712146