Текст книги "PRO Вирусы"
Автор книги: Валентин Холмогоров
Жанр: Прочая образовательная литература, Наука и Образование
Возрастные ограничения: +16
сообщить о неприемлемом содержимом
Текущая страница: 3 (всего у книги 12 страниц) [доступный отрывок для чтения: 3 страниц]
Классификация по вредоносным функциям
Более распространенной и логически правильной формой классификации вредоносных программ является их распределение по типам и подклассам согласно формальным признакам, определяющим их вредоносные функции. Ниже мы рассмотрим основные виды вредоносных программ по их деструктивному функционалу, архитектурным особенностям и практическому назначению, а также перечислим их основные характерные признаки.
ВирусыСегодня существует огромное количество различных программ, способных причинить вред вашему ноутбуку, компьютеру, смартфону или планшету, однако большинство пользователей отчего-то традиционно называет все их «вирусами». Это в корне неправильно. Возможно, некоторые читатели даже удивятся, если я скажу, что эпоха, ознаменованная преобладанием в «дикой природе» компьютерных вирусов, по большому счету, закончилась в начале «нулевых годов», и в наши дни классические файловые вирусы пребывают в меньшинстве, составляя среди общего объема распространяющихся во всем мире вредоносных программ незначительные величины порядка нескольких процентов. Основной массив вредоносного ПО представляют различные разновидности троянцев, о которых мы поговорим позже.
Фактически на июнь 2015 года можно назвать лишь ограниченное число активно действующих файловых вирусов, представляющих реальную угрозу для пользователей. Прежде всего это представители семейства Rmnet (Ramnit – по классификации компании ESET), способные выполнять на пользовательском компьютере веб-инжекты (о том, что это, мы побеседуем в разделе, посвященном обзору функций вредоносных программ), благодаря чему вирус теоретически в состоянии получить доступ к банковским счетам жертвы, если она пользуется системами «банк – клиент». Также эти вирусы осуществляют кражу паролей от популярных FTP-приложений, которые впоследствии могут быть задействованы злоумышленниками для проведения таргетированных сетевых атак, а также выполнять поступающие от киберпреступников команды.
Еще один распространенный в наши дни вирус относится к семейству Sector (Sality – по классификации Symantec, ESET и «Лаборатории Касперского») – представители этого семейства способны загружать из Сети и запускать на инфицированной машине различные исполняемые файлы, а также выполнять ряд иных вредоносных функций. Также определенную распространенность сейчас имеют вирусы семейств Win32.MewsSpy, Win32.VirLock и некоторые другие.
Чтобы отнести вредоносную программу к категории компьютерных (файловых) вирусов, она должна отвечать двум важным критериям:
• обладать способностью к саморепликации – иными словами, способностью к распространению в автоматическом режиме путем создания собственных копий без участия пользователя;
• обладать способностью заражения (инфицирования) файловых объектов.
Вот об этом следует поговорить чуть подробнее. Собственно, умением самостоятельно создавать собственные копии (самореплицироваться) обладает и еще одна категория вредоносных программ – компьютерные черви (worms). А вот умение заражать файлы характерно в первую очередь для вирусов. Под заражением понимается технология, с использованием которой вирус внедряется непосредственно в файл исполняемого приложения (программы), не нарушая при этом ее основных функциональных возможностей. Запуская такую программу на исполнение, пользователь одновременно запускает и встроенный в нее вирус, который, загрузившись в память инфицированного компьютера, реализует заложенные в него создателями деструктивные функции. Таким образом, распространение вируса происходит в том числе вместе с зараженными программами, в которые успел встроиться вирус.
Помимо классических файловых вирусов принято различать еще несколько разновидностей компьютерных вирусов, которые кратко упоминались в предыдущей главе.
Полиморфные вирусы – вирусы, с целью затруднить свое обнаружение и уничтожение способные «на лету» изменять свой код непосредственно в процессе его исполнения. Процедура, отвечающая за динамическое изменение кода вируса, тоже может меняться от заражения к заражению. Самый простой способ модифицировать структуру исполняемого файла вируса, не меняя алгоритм его работы, – добавить в программу «пустых операторов», пустых циклов, пустых строк и прочего «мусорного кода», не оказывающего существенного влияния на функциональные возможности вируса, но затрудняющие создание сигнатуры для его детектирования. Практически все современные файловые вирусы используют те или иные полиморфные технологии.
Стелс-вирусы – вирусы, способные полностью или частично скрывать свое присутствие на инфицированном компьютере, например, путем перехвата обращений операционной системы к зараженным файловым объектам, памяти или загрузочным областям диска. Фактически, перехватив обращение операционной системы, стелс-вирус возвращает операционной системе недостоверную информацию о состоянии соответствующего объекта, например о размере исполняемого файла, с целью сокрытия увеличения его объема в результате добавления в файл вирусного кода. Этот термин применялся по отношению преимущественно к вирусам, действовавшим в операционной системе MS-DOS, и потому сейчас его можно считать устаревшим. Вредоносные программы, использующие механизмы сокрытия своего присутствия в зараженной системе, принято называть руткитами.
Макровирусы – вирусы, написанные с использованием скриптовых языков, применяющихся для создания макросов в различных офисных приложениях, таких как Microsoft Ofce, в частности Microsoft Word.
Резидентные вирусы. Сам термин «резидентный» традиционно принято использовать в контексте «выполняющийся в фоновом режиме». Ранее «резидентными вирусами» называли вредоносные программы, действующие непосредственно в памяти зараженного компьютера параллельно с другими запущенными задачами и процессами. Иногда к этой же категории относили вирусы, не хранящиеся где-либо на диске в виде обособленного физического файла. Такие вирусы либо уничтожали исходный файл после своего запуска, либо хранили его в недоступных пользователю и операционной системе областях диска, либо «собирали» свое тело непосредственно в оперативной памяти из отдельных разрозненных компонентов (каждый из которых сам по себе не представлял какой-либо опасности). С появлением многозадачных операционных систем само понятие «резидентный вирус» принято считать устаревшим, а угрозы, действующие непосредственно в памяти инфицированного устройства и не хранящиеся на физических носителях в виде обособленных файлов, часто называют общим термином «бесфайловые вредоносные программы».
ЧервиКомпьютерные черви (worms) – разновидность вредоносных компьютерных программ, обладающих способностью к саморепликации, то есть к автоматическому распространению без участия пользователя – по локальной сети, по каналам электронной почты, с использованием сменных носителей информации или иными методами. При этом считается, что большинство червей не способно заражать файловые объекты, хотя из данного правила имеются некоторые исключения.
В наши дни довольно широко распространены так называемые почтовые черви – эти вредоносные программы, запустившись на исполнение, отыскивают все хранящиеся на зараженном компьютере адреса электронной почты (некоторые сканируют для этих целей не только адресные книги почтовых клиентов, но также различные текстовые документы, локально хранящиеся на диске веб-страницы и документы Office), после чего рассылают свою копию по этим адресам в виде вложения в электронное письмо. Адрес отправителя такие вредоносные программы также зачастую заимствуют из списка контактов на зараженной машине. В этом отношении нельзя не отметить, что получатель подобного сообщения, увидев послание, якобы отправленное знакомым ему человеком, с большой долей вероятности попытается открыть такое письмо и в результате сам станет очередной жертвой почтового червя.
Многие черви распространяются, копируя себя на съемные носители информации. Например, некоторые вредоносные программы данного типа размещают в корневой папке съемного накопителя (флэшки или карты памяти) файл autorun.inf, обеспечивающий автоматический запуск червя при каждом обращении к инфицированному накопителю (в устаревших версиях операционных систем, где функция запуска и открытия содержимого смонтированных дисков не отключена по умолчанию, например, в ранних редакциях Windows XP, запуск червя может произойти автоматически при подключении зараженного диска к компьютеру). Другие черви перемещают все содержимое съемного носителя информации в скрытую папку, а вместо него размещают собственные копии с прежними именами папок и файлов. В результате пользователь, щелкнув мышью на значке такого файлового объекта, вместо открытия нужной ему папки или файла запустит на выполнение вредоносную программу.
Троянские программы (троянцы)Это самый многочисленный и распространенный тип вредоносных программ. В отличие от вирусов и червей, троянцы не способны ни к саморепликации, ни к заражению файловых объектов.
Название данной категории угроз восходит к знаменитой легенде про деревянного коня, которого ахейцы преподнесли в подарок жителям осажденной Трои – напомню, что ночью из огромной деревянной статуи вылезли прятавшиеся внутри воины и открыли ворота спящего города атакующей армии. Троянские программы действуют практически аналогичным образом: маскируясь под какое-нибудь полезное приложение – утилиту для просмотра видео, компьютерную игру, даже под антивирус или безобидный, на первый взгляд, документ, присланный по электронной почте – например счет, квитанцию о штрафе или судебный исполнительный лист, – троянец при попытке запуска или открытия файла начинает свою вредоносную деятельность на зараженной машине. Выловить вредителя не так-то просто, особенно с учетом того, что многие троянские программы умеют «прятаться» в недрах операционной системы и даже хитроумно обходить некоторые типы антивирусной защиты.
Из сказанного выше можно сделать простой и очевидный вывод: троянские программы жертва запускает на своем компьютере самостоятельно, при этом злоумышленники заставляют ее сделать это различными хитроумными способами. Вот только один из нескольких сотен примеров возможного пути распространения троянцев. Однажды в папке личных сообщений пользователь социальной сети находит послание, отправленное кем-либо из его списка друзей (этот аккаунт, разумеется, был ранее взломан злоумышленниками). В сообщении содержится информация о том, что на сайте YouTube выложен компрометирующий пользователя видеоролик, а также приводится ссылка на соответствующую страничку. Перейдя по ссылке, пользователь попадает на принадлежащий киберпреступникам фишинговый сайт, полностью копирующий оформление сервера youtube.com. Подделка настолько похожа на оригинальный YouTube, что отличить его от настоящего сайта популярного видеохостинга, на первый взгляд, довольно-таки сложно. На фишинговой веб-странице обозначено название видеоролика, в котором содержится имя жертвы, например, он может быть озаглавлен следующим образом: «%username% is in the leading role. Shocking performance!», что в переводе означает: «%username% в главной роли. Шокирующее поведение!», где вместо %username % автоматически подставляется имя потенциальной жертвы. Также страничка содержит несколько фальшивых комментариев от других пользователей сайта, которые «были шокированы, ознакомившись с этим видео». Чтобы просмотреть ролик, пользователю предлагается скачать и установить обновленный fash-проигрыватель, в роли которого выступает исполняемый файл с именем Flash-Player.exe. В этом файле и содержится троянец.
Однако чаще злоумышленники не изобретают подобных сложных схем, а массово рассылают троянцев в виде вложений в сообщения электронной почты под видом коммерческих предложений, сообщений почтовых служб и интернет-магазинов, скидочных купонов, бухгалтерских документов – счетов или счетов-фактур, различных договоров, судебных бумаг и т. д. Кроме того, очагами распространения троянских программ традиционно являются сайты категории «для взрослых», всевозможные коллекции пиратских и взломанных коммерческих программ, файлообменные интернет-ресурсы, сборники утилит для взлома лицензионных продуктов (всевозможные «кряки», «кейгены» и т. д.). Шанс получить вместе со «взломанной» программой или игрой бесплатный «подарок» в виде опасного троянца намного выше, чем в случае загрузки этого же приложения с сайта разработчиков или покупки такой программы у официальных дистрибуторов.
БэкдорыЕсли мы попытаемся перевести с английского языка слово «бэкдор» (Backdoor), то получится что-то вроде словосочетания «черный ход» или «задняя дверь». Вредоносные программы-бэкдоры, к которым относят и троянцев, и некоторые виды вирусов, как раз и выполняют на зараженном устройстве подобные функции: они без ведома пользователя открывают злоумышленникам полный доступ к инфицированному компьютеру или смартфону, о чем его владелец зачастую даже не догадывается. С помощью бэкдоров киберпреступники могут не только увидеть все хранящиеся на устройстве личные файлы и по желанию скопировать их себе, но также полностью управлять зараженной машиной: запускать на ней различные программы, отдать команду на полное уничтожение всей имеющейся на устройстве информации, поместить на диск компрометирующие пользователя документы или фотографии, похитить деньги, если жертва пользуется системой «банк – клиент» или электронными платежными системами, даже использовать зараженный компьютер в качестве промежуточного звена в процессе интернет-атаки на банк или какой-нибудь другой сервер: в ходе последующего расследования служба безопасности или полиция могут выйти на владельца инфицированного устройства благодаря оставленным в сети следам, а настоящие преступники останутся неузнанными.
Наиболее простые с архитектурной точки зрения модификации бэкдоров могут транслировать поступающие извне (от принадлежащего злоумышленникам командного центра) директивы командному интерпретатору операционной системы (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, могут получать управляющие директивы в СМС-сообщениях, поступающих на зараженный мобильный телефон. Подробнее о ботнетах мы поговорим в одной из следующих глав.
Внимание! Это не конец книги.
Если начало книги вам понравилось, то полную версию можно приобрести у нашего партнёра - распространителя легального контента. Поддержите автора!Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?