Валентин Холмогоров - Pro Вирусы
Наиболее простые с архитектурной точки зрения модификации бэкдоров могут транслировать поступающие извне (от принадлежащего злоумышленникам командного центра) директивы командному интерпретатору операционной системы (cmd в Microsoft Windows, bash или sh в Linux), более «продвинутые» обладают собственной системой команд, позволяющей выполнять различные операции с файловыми объектами и самой операционной системой. Данные, которыми обменивается бэкдор с удаленным сервером злоумышленников, как правило, шифруются.
Буткиты
Буткиты (от англ. boot — «загрузка» и kit — «инструмент»), или так называемые загрузочные вирусы — это вирусы или троянцы, способные заражать загрузочную запись на диске компьютера, благодаря чему запускаются либо раньше операционной системы, либо одновременно с ней, но в любом случае перед загрузкой основных средств антивирусной защиты. Из этого логически вытекает основная сложность борьбы с буткитами — поскольку они стартуют еще на раннем этапе загрузки компьютера, буткиты перехватывают некоторые функции управления операционной системой и, как следствие, могут парализовать запуск и нормальную работу антивирусных программ, а также блокировать попытки «вылечить» инфицированное устройство. При неудачном удалении такой угрозы может произойти повреждение логической структуры диска, благодаря чему система и вовсе перестанет загружаться, и сложное электронное устройство «превратится в кирпич». Этим они и опасны.
Существуют разновидности буткитов: некоторые из них заражают главную загрузочную запись диска (Master Boot Record, MBR), некоторые — загрузочную запись тома (Volume Boot Record, VBR). В общем случае алгоритм действия буткита таков: запустившись на инфицированном компьютере, он размещает свою копию в одной из свободных логических областей диска, а затем модифицирует существующую загрузочную запись, внедряя в нее собственный код, который получает управление при запуске операционной системы и загружает в оперативную память основное тело буткита. По окончании этого процесса буткит передает управление дальнейшей загрузкой оригинальной загрузочной записи, позволяя ОС стартовать в штатном режиме. На момент завершения загрузки операционной системы вредоносная программа уже находится в памяти и может выполнять различные деструктивные действия, например, перехватывать те или иные системные функции и предотвращать запуск антивирусных программ, а также блокировать пользователю доступ к сайтам их разработчиков.
Особая опасность буткитов заключается еще и в том, что, запускаясь вместе с операционной системой, эти вредоносные программы могут получить в ней максимальные привилегии (например, полномочия администратора), даже если текущий сеанс открыт пользователем с ограниченными системными правами. Таким образом, буткит имеет на зараженном компьютере поистине неограниченные возможности для реализации всевозможных вредоносных функций, включая полный доступ к файловой системе, компонентам ОС, памяти и драйверам.
Руткиты
Руткитами специалисты по информационной безопасности обычно называют вредоносные приложения, умеющие скрывать свое присутствие в зараженной операционной системе, а также активно противодействовать попыткам их поиска или удаления. Кроме того, некоторые руткиты специально разработаны с целью сокрытия на инфицированном компьютере деятельности других вредоносных программ. В подобной ситуации несколько опасных приложений действуют как бы в связке: одно из них «обеспечивает прикрытие», а второе — реализует свой вредоносный функционал.
Обобщая, можно сказать, что руткиты предназначены для реализации в инфицированной операционной системе следующих функций:
• сокрытия различных объектов (файлов, папок, запущенных приложений и/или загруженных драйверов);
• сокрытия происходящих в системе процессов (запуск и выгрузка приложений, загрузка динамических библиотек, встраивание в запущенные процессы, заражение файловых объектов и т. д.);
• контроля над происходящими в системе процессами (перехват системных функций, обращений, контроль над иными системными событиями).
Многим руткитам для реализации своих функций необходимы полномочия администратора операционной системы, для чего некоторые из них стараются повысить собственные привилегии с использованием различных уязвимостей в архитектуре операционной системы. Подобные руткиты, действующие на уровне ядра операционной системы, принято называть kernel-mode, однако существуют руткиты и user-mode, действующие, с точки зрения используемых системных привилегий, на уровне пользователя. Например, руткит-модуль, встроенный в некоторые модификации широко известного банковского троянца семейства Zeus, является именно таким.
Для реализации своих деструктивных функций руткиты используют различные методы: перехват системных функций, захват таблиц вызовов, использование драйверов или непосредственную модификацию системных объектов и объектов ядра ОС (Direct kernel object manipulation) и другие.
Биоскиты
Биоскиты — это вредоносные программы, способные модифицировать содержимое микросхем BIOS инфицированного компьютера. Подобные угрозы встречаются в природе достаточно редко, точнее, на сегодняшний день практически совсем не встречаются. Последняя такая программа, получившая наименование Trojan.Bioskit.1, была обнаружена специалистами антивирусной компании «Доктор Веб» еще в сентябре 2011 года, и по всем признакам она походила скорее на экспериментальную и незавершенную разработку академического характера, чем на реальную угрозу.
Trojan.Bioskit.1 использовал для заражения микросхемы BIOS стороннюю утилиту производства компании Phoenix Technologies, при этом теоретической опасности подвергались лишь компьютеры, оборудованные материнской платой, которая использует BIOS с прошивкой от Award Software, да и то при соблюдении ряда условий. В случае успешной перепрошивки содержимого BIOS уже сама эта микросхема могла стать источником повторного заражения компьютера даже после успешного лечения инфекции на уровне операционной системы.
Безусловно, не стоит недооценивать опасность такого рода угроз, особенно с учетом того, что в будущем подобные технологии могут получить дальнейшее развитие. Однако на момент написания этой книги можно смело сказать, что биоскиты не имеют широкого распространения и не представляют серьезной опасности для пользователей.
Боты
Ряд вирусов, троянцев и бэкдоров иногда называют ботами (от английского слова bot, сокращенного от robot) — это вредоносные программы, наделенные способностью объединяться в ботнеты (или бот-сети). Ботнетом называют сеть зараженных устройств, дистанционно управляемых злоумышленниками, например, с использованием одного или нескольких командных серверов, и умеющих обмениваться информацией. Для чего киберпреступники создают ботнеты? В частности, для централизованной атаки на различные серверы Интернета. Скажем, если к какому-нибудь веб-сайту по команде одновременно обратится несколько сотен тысяч компьютеров, при этом они станут посылать ему запросы с интервалом в несколько микросекунд, у сервера попросту не останется ресурсов для обслуживания других клиентов и он откажется работать под такой неожиданно возросшей нагрузкой. Подобный тип атак называется «атака на отказ в обслуживании» — Distributed Denial of Service, или, сокращенно, DDoS-атаками. Подобным способом некоторые не слишком разборчивые в средствах владельцы коммерческих сайтов иногда «устраняют» своих конкурентов, а киберпреступники получают прибыль, продавая подобные услуги на подпольных форумах. Другой пример — массовая рассылка спама: «подцепив» где-нибудь троянскую программу, входящую в спаммерскую бот-сеть, ПК жертвы может стать одним из миллиона компьютеров, рассылающих по электронной почте рекламу виагры или сайтов для взрослых, при этом содержание рекламных писем и список адресов для рассылки поступают спам-ботам по команде из единого управляющего центра.
Существуют боты, способные самостоятельно настраиваться на различные управляющие серверы и автоматически менять их в случае необходимости (например, если какой-либо из таких серверов внезапно перестанет работать). Есть ботнеты, вообще обходящиеся без командных центров: они формируют так называемые Peer-to-Peer, или P2P-сети, — одноранговые и децентрализованные, уничтожить которые очень непросто. А, например, троянцы семейства IRC.Bot используют в качестве управляющего сервера… чаты для обмена текстовыми сообщениями, созданные с использованием протокола Internet Relay Chat (IRC). Подключаясь к одному из таких чат-каналов, специально созданных злоумышленниками, IRC.Bot ожидает получения от киберпреступников команд, которые те отправляют в виде простого текстового послания. Некоторые боты для мобильной платформы Android, например представители многочисленного семейства Android.SmsBot, могут получать управляющие директивы в СМС-сообщениях, поступающих на зараженный мобильный телефон. Подробнее о ботнетах мы поговорим в одной из следующих глав.