Pro Вирусы - Валентин Холмогоров
Шрифт:
Интервал:
Закладка:
В другой подобной ситуации киберпреступник оказался более умен и не хранил на управляющем сервере какую-либо компрометирующую его информацию. Вместо этого он разместил среди обслуживающего ботнет программного обеспечения скрипт на языке PHP, через определенные промежутки времени сбрасывавший статистику по работе бот-сети СМС-сообщением на определенный номер мобильного телефона. Сим-карту, к которой был привязан этот номер, злоумышленник предусмотрительно приобрел с рук, и потому был уверен, что вычислить его персональные данные с ее помощью невозможно. Однако специалистам по информационной безопасности оказалось достаточно всего лишь «погуглить» данный телефонный номер, чтобы найти в сети несколько десятков объявлений по купле-продаже различных предметов и личных вещей, в которых нынешний владелец номера оставлял его в качестве контактного. Одним из таких объявлений оказалось сообщение о продаже автомобиля, содержащее фотографию, где был прекрасно виден государственный регистрационный знак с номером авто. Остальное было делом техники.
А вот еще один практический случай, позволивший аналитикам косвенным образом определить авторов одной из опасных вредоносных программ. В апреле 2014 года специалисты антивирусной компании «Доктор Веб» завершили исследование сложного многокомпонентного троянца BackDoor.Gootkit.112, о чем опубликовали на корпоративном сайте весьма подробный отчет. Из него, в частности, можно почерпнуть следующее. Основная полезная нагрузка бэкдора реализована в виде исполняемого файла объемом около 5 Мбайт, базовая часть которого представляет собой интерпретатор языка JavaScript под названием Node.JS, создающего удобный интерфейс для работы с различными встроенными объектами. В архитектуре этого троянца был реализован редко применяемый злоумышленниками метод внедрения вредоносного кода в процессы запущенных приложений (инжектов). Аналогичный метод ранее был подробно описан на одном из интернет-форумов пользователем, скрывающимся под псевдонимом Great. В опубликованной им статье приведены примеры кода, использующего характерные статусы возврата – в точности такие же статусы обнаруживаются и в коде BackDoor.Gootkit.112. Можно предположить, что вирусописатель в процессе создания бэкдора просто-напросто позаимствовал готовое решение из открытых источников, однако здесь внимание аналитиков привлекло еще одно обстоятельство. В примерах кода, опубликованного на форуме wasm.ru, в одну из функций передается структура с уникальным именем DRIVER_TO_SHELLCODE_PARAMETERS. Структура с таким же в точности именем встречается в материале, опубликованном в личном блоге другого автора, описывающего данную технологию инжектов. При этом в указанной статье прямо сообщается, что этот код является собственной разработкой автора блога, созданной им совместно с другим программистом по имени Илья, также известным под ником Great.
В этом же блоге автор сообщает о своей искренней приверженности фреймворку Node.JS, возможности которого активно используются в коде троянца BackDoor.Gootkit.112. Так, автор опубликовал на своем сайте несколько весьма любопытных статей, содержащих практические примеры реализации кода, одна из которых называется «NodeJSC++: Нативное расширение для реестра» — в ней описываются методы работы с ветвью системного реестра Windows, имеющей характерное имя SOFTWARECXS. В другой своей статье, озаглавленной «NodeJS: Spyware на Javascript?» владелец блога повествует об архитектуре специального шпионского модуля SpywareModule, все методы в котором имеют характерный префикс «sp». Удивительно, но факт: аналогичные структуры в практически неизменном виде встречаются в дизассемблированном коде BackDoor.Gootkit.112. Как любил говорить один популярный телеведущий: «Совпадение? Не думаю».
Безусловно, размещение в Интернете статей, подробно раскрывающих некоторые технические аспекты работы вредоносных программ, само по себе еще ни о чем не говорит, однако определенные сомнения специалистов, расследующих подобные вирусозависимые инциденты, в некоторых случаях может развеять сравнение даты компиляции исполняемого файла изучаемого троняца и даты публикации текста, описывающего его внутреннюю архитектуру, известную только разработчику.
Рис. 15. Пример того, как простая публикация в блоге может навлечь на автора подозрения в вирусописательстве
А вот еще пример, связанный с распространением вредоносной программы Trojan.BtcMine.218, предназначенной для скрытной добычи (майнинга) криптовалют. Этот троянец, обнаруженный специалистами антивирусной компании «Доктор Веб», устанавливался на компьютер жертвы с помощью дроппера, написанного на языке AutoIt. При этом дроппер содержал в своей структуре следующую характерную строку:
FILEINSTALL(“C:UsersAntonioDesktopGlueInstall.exe”, @ TEMPDIR & “Setup_2.exe”)
Из этой строки становится очевидно, что некий вирусописатель, имеющей на своем компьютере, работающем под управлением Windows, учетную запись пользователя с именем Antonio, собрал на Рабочем столе своего ПК дроппер в виде файла Install.exe. Это приложение запускает на компьютере жертвы загрузчик, который, используя специальный конфигурационный файл в формате XML, скачивает из Интернета и устанавливает на атакуемую машину добытчик криптовалюты. В этом конфигурационном файле указано наименование учетной записи, в пользу которой троянец будет эксплуатировать аппаратные ресурсы зараженного ПК для майнинга криптовалюты и на которую будет перечисляться все добытое. Этого пользователя зовут Tonycraft.
Судя по всему, сам Antonio (Tonycraft) не обладает достаточно глубокими познаниями в программировании, поскольку основные модули троянца он поручил написать другому человеку. Однако и здесь Tony, судя по всему, решил немного сэкономить, выбрав в качестве своего партнера не слишком искушенного вирусописателя: создавая код троянца, тот по неосмотрительности оставил в модулях вредоносной программы следующую отладочную строку:
“c:UsersКошевой ДмитрийDocumentsVisual Studio 2012ProjectsMinerInstalobjDebugInstal.pdb”.
О чем говорит нам этот «автограф» вирусописателя? О том, что он пользуется компьютером под управлением Microsoft Windows с учетной записью «Кошевой Дмитрий», проект он назвал Miner и создал его с применением среды разработки Visual Studio 2012. Простой поиск по сети «В Контакте» без труда позволил выявить пользователя, скрывающегося под псевдонимом Tonycoin, активно рекламирующего на своей страничке сайт, посвященный криптовалюте Bitcoin. По странному стечению обстоятельств, этот же самый сайт является ресурсом, с которого установщик загружает на зараженный компьютер основной модуль троянца Trojan.BtcMine.218. Ну, а среди контактов Tonycoin при определенной настойчивости отыскивается и программист «Дмитрий Кошевой».
Известна и вовсе феерическая ситуация, когда троянец, воровавший вводимые пользователем данные в формы авторизации на сайтах «В Контакте», «Одноклассники», «Mail.RU» и «Яндекс», передавал их скрипту, работающему на принадлежащем злоумышленнику сервере. Притом домен для этого сервера он умудрился зарегистрировать на свое настоящее имя, благодаря чему специалистам по информационной безопасности с помощью запроса к службе Whois удалось выяснить его телефон, имя, фамилию и город проживания, а по этим данным — отыскать его анкету на сайте знакомств, где злоумышленник собственноручно опубликовал остальную недостающую информацию: фотографию, рост, вес, дату и место рождения, а также сведения об образовании.
Все описанные случаи свидетельствуют о том, что вирусописателей чаще всего удается вычислить вследствие элементарных просчетов в области обеспечения анонимности, а также благодаря их самоуверенности, неопытности или стремлению к дешевой славе.
Глава 8. Методы борьбы
Считается, что антивирусные программы появились на свет практически одновременно с первыми компьютерными вирусами, поскольку пользователи остро нуждались в адекватном средстве для борьбы с вредоносным ПО. История развития антивирусной индустрии насчитывает множество увлекательных страниц, однако о самой первой из них до сих пор ведутся ожесточенные споры. Кто придумал антивирусы? Когда появилась первая подобная программа? Об истории развития технологий информационной безопасности и некоторых особенностях работы антивирусных программ мы и поговорим в настоящей главе.
Немного истории
Существует мнение, что первое приложение для выявления и удаления вредоносного ПО разработал в 1984 году американский программист Энди Хопкинс — речь идет об утилите CHK4BOMB, позволявшей сканировать исполняемые файлы в поисках характерных фрагментов кода и текстовых сообщений. Другая утилита того же автора, BOMBSQAD, могла перехватывать операции записи в файл и команду форматирования. В течение длительного времени этих двух утилит было вполне достаточно для обеспечения информационной безопасности, поскольку вредоносных программ существовало не так уж и много. Например, в 1985 году по американским электронным доскам объявлений (BBS) гулял текстовый файл «Грязная дюжина» (“The Dirty Dosen — An Unloaded Program Alert List”), представлявший собой составленный владельцем одной из BBS Томом Нельфом список опасных программ, которые пользователи загружали в файлообменники. Первоначально перечень включал всего лишь 12 вредоносных приложений, но он постоянно пополнялся. Ассортимент опасных программ ширился, и вскоре простого списка оказалось уже недостаточно для отражения все новых и новых угроз — пользователи понемногу осознали необходимость в постоянной антивирусной защите.