В настоящий момент в мире отсутствует какая-либо общепринятая единая система классификации вредоносных программ: каждая антивирусная компания использует собственный метод их идентификации и наименования. Вместе с тем существует определенная исторически сложившаяся практика, позволяющая относить вредоносные приложения к различным типам и категориям.
Так, наиболее очевидной (и наименее точной) методикой классификации вредоносного ПО можно считать распределение угроз по сис-темным платформам, на заражение которых ориентировано то или иное опасное приложение. В этом отношении абсолютным и безоговорочным лидером являются операционные системы семейства Microsoft Windows, на которые сегодня рассчитано порядка 95% всех существующих в мире вредоносных программ.
На втором месте по числу опасных приложений располагается мобильная платформа Google Android. Согласно статистическим данным, опубликованным российской антивирусной компанией «Доктор Веб», в 2010 году специалистам по информационной безопасности было известно всего лишь порядка 30 вредоносных, нежелательных и потенциально опасных Android-программ, к 2011 году их количество составило уже 630, еще через год оно возросло до 1267, к концу 2014 года превысило 5600, а уже в июне 2015 года достигло 10 144. Эти цифры наглядно демонстрируют, что прирост числа угроз для платформы Android постепенно принимает экспоненциальный характер. Если подобная динамика сохранится в дальнейшем, можно предположить, что к декабрю 2015 года общее число известных специалистам вредоносных Android-программ превысит значение в 20 000.
Основная причина такого бурного роста числа угроз для Android в целом очевидна: вирусописатели заинтересованы в извлечении прибыли от распространения своих вредоносных приложений, а мобильные платформы — это живые деньги. Фактически современный смартфон представляет собой мобильный электронный кошелек, и простор для творчества со стороны злоумышленников здесь поистине огромен: они могут рассылать платные СМС-сообщения, совершать в тайне от пользователя телефонные звонки на различные коммерческие номера, подписывать жертву на те или иные виртуальные услуги, за использование которых с ее счета будут ежедневно списываться денежные средства, крутить на телефоне рекламу, а если его владелец использует системы мобильного банкинга — просто красть с его счета деньги, перехватывая входящие СМС с одноразовыми паролями и кодами авторизации. Сегодня существуют даже блокировщики и троянцы-шифровальщики для Android. Потенциальная емкость этого теневого рынка огромна, и он будет освоен, причем стремительно. Сейчас мы как раз наблюдаем этот процесс вживую.
Безусловно, 99% современных троянцев для Android неискушенный пользователь запускает на своем устройстве самостоятельно, скачав их из Интернета под видом игры или какой-либо полезной программы. Казалось бы, достаточно проявлять элементарную осмотрительность, и можно гарантированно избежать опасности заражения. Однако не стоит также сбрасывать со счетов тот факт, что ОС Android — это массовая и чрезвычайно популярная операционная система, занимающая львиную долю на современном рынке мобильных устройств. Она рассчитана на обычного, рядового, среднестатистического владельца смартфона, который может даже не знать такого термина, как «системная платформа». Все, что от него требуется, — это умение интуитивно нажимать на кнопки. И потому, когда загруженная из Интернета игра, запускаясь на выполнение, потребует от него доступа к СМС, сети, списку контактов, внутренней памяти телефона, личным данным и холодильнику на кухне, он нажмет «Ок» не задумываясь, потому что просто не поймет, что все эти слова означают. Впрочем, он и не должен этого понимать, он — пользователь, от слова «использовать». Именно это «слабое звено» и эксплуатируют в своих неблаговидных целях киберпреступники.
Третью позицию по количеству известных угроз занимает операционная система Apple Mac OS X, широко известная среди обывателей своей «неприступностью» и «безопасностью». Троянских программ для OS X и вправду существует сравнительно немного, но, тем не менее, они есть, причем первый троянец, ориентированный именно на OS X, был выявлен в 2006 году. Подавляющее большинство среди угрожающих пользователям Apple вредоносных программ составляют так называемые рекламные троянцы, многие из которых реализованы в виде надстроек (плагинов) для наиболее популярных браузеров: Safari, Chrome, Firefox. Их основное назначение заключается в демонстрации потенциальной жертве назойливой рекламы при открытии им в окне браузера различных веб-страниц. Существуют троянцы-майнеры для OS X, использующие вычислительные мощности компьютеров Apple для «добычи» электронных криптовалют путем сложных математических вычислений. Одним из немногих и весьма редких примеров вредоносной программы, способной проникнуть на «мак» вообще без участия пользователя и абсолютно незаметно для него, является уже упоминавшийся мною ранее бэкдор BackDoor.Flashback.39, использовавший для своего распространения уязвимость в Java-машине OS X. Следует, между делом, отметить, что если бы инцидента с Flashback не случилось, пользователей «маков» наверняка постигла бы другая аналогичная эпидемия — например, спустя короткое время после выявления упомянутой выше угрозы был обнаружен троянец BackDoor.Sabpub.1, использовавший для своего распространения ту же самую уязвимость, что и Flashback. Беды удалось избежать лишь потому, что корпорация Apple вовремя выпустила «заплатку» для своей реализации Java (вовремя — это спустя два месяца после выхода аналогичного обновления от Oracle). Этих двух месяцев вполне хватило на то, чтобы BackDoor.Flashback успел инфицировать 600 000 с лишним машин. По данным на 22 июня 2015 года, во всем мире до сих пор насчитывается порядка 26 700 компьютеров Apple, зараженных Flashback, при этом большая их часть (13 966) находится на территории США, на втором месте по числу заражений (4 781) — Канада, на третьем (2 115) — Австралия.
Безусловно, с точки зрения архитектуры и разграничения прав доступа операционная система от Apple намного безопаснее Windows, однако абсолютно безопасных системных платформ не бывает в принципе. Любая ОС — это по большому счету конгломерат программ различного назначения, которые пишут люди. А им, в свою очередь, свойственно ошибаться. То, что вирусописатели всерьез заинтересовались OS X, — серьезный признак роста распространенности системной платформы от Apple. Ни один создатель троянцев не станет писать вредоносное ПО под непопулярную ОС: чем больше число пользователей, тем выше шанс заразить чью-либо машину. Чистая математика, ничего личного. И эпидемия BackDoor.Flashback.39 — признак того, что Mac OS X перешагнула некий незримый рубеж между «игрушкой для избранных» и «массовой системной платформой». И это — естественный процесс, получивший свое развитие еще в момент перехода Apple на аппаратную платформу Intel.
На четвертом месте по распространенности в «дикой природе» занимают вредоносные программы для ОС семейства Linux. Интерес злоумышленников к данной платформе обусловлен тем, что эти операционные системы активно используются для поддержки веб-серверов, а также FTP- и почтовых серверов в Интернете, благодаря чему заражение такой машины может открыть злоумышленникам, например, доступ к SMTP-серверу для организации массовых рекламных рассылок, к веб-серверу — для реализации автоматических перенаправлений посетителей сайта на интернет-ресурсы, распространяющие другое вредоносное ПО, в целях хищения пользовательских учетных данных, а также для организации массовых DDoS-атак. Причиной заражения во многих случаях является недостаточная компетентность администраторов Linux-серверов при настройке операционной системы, установка различного ПО из недоверенных репозиториев, а также использование ими «слабых» паролей, неустойчивых к взлому путем простого подбора по словарю или с применением методов «брутфорса» (подбор пароля полным перебором, также известен как взлом с использованием «грубой силы»).
Отдельную подкатегорию Linux-угроз составляют троянцы, предназначенные для заражения устройств, работающих под управлением встраиваемых версий Linux, например бытовых маршрутизаторов (сетевых и wi-fi-роутеров), в том числе использующих аппаратную архитектуру MIPS и ARM. Известны случаи, когда такие троянские программы подменяли настройки DNS-маршрутизатора, что приводило к автоматическому перенаправлению пользователей на вредоносные интернет-ресурсы при просмотре веб-сайтов или вызывало неожиданное появление рекламных сообщений в окне браузера. Некоторые вредоносные программы подобного типа реализовывали функции прокси-сервера, осуществляя фильтрацию пользовательского трафика с различными неблаговидными целями (фишинг, подмена поисковой выдачи, автоматическое перенаправление на вредоносные и мошеннические интернет-ресурсы и т.д.).
Угрозы для других системных платформ в количественном выражении составляют малозначительные величины. Так, по данным на 2015 год, число вредоносных программ, способных представлять опасность для пользователей мобильной платформы Apple iOS, вообще исчисляется единицами, да и те представляют угрозу в основном для устройств, подвергшихся процедуре jailbreak (несанкционированного производителем устройства получения доступа к файловой системе).
Более распространенной и логически правильной формой классификации вредоносных программ является их распределение по типам и подклассам согласно формальным признакам, определяющим их вредоносные функции. Ниже мы рассмотрим основные виды вредоносных программ по их деструктивному функционалу, архитектурным особенностям и практическому назначению, а также перечислим их основные характерные признаки.
Сегодня существует огромное количество различных программ, способных причинить вред вашему ноутбуку, компьютеру, смартфону или планшету, однако большинство пользователей отчего-то традиционно называет все их «вирусами». Это в корне неправильно. Возможно, некоторые читатели даже удивятся, если я скажу, что эпоха, ознаменованная преобладанием в «дикой природе» компьютерных вирусов, по большому счету, закончилась в начале «нулевых годов», и в наши дни классические файловые вирусы пребывают в меньшинстве, составляя среди общего объема распространяющихся во всем мире вредоносных программ незначительные величины порядка нескольких процентов. Основной массив вредоносного ПО представляют различные разновидности троянцев, о которых мы поговорим позже.
Фактически на июнь 2015 года можно назвать лишь ограниченное число активно действующих файловых вирусов, представляющих реальную угрозу для пользователей. Прежде всего это представители семейства Rmnet (Ramnit — по классификации компании ESET), способные выполнять на пользовательском компьютере веб-инжекты (о том, что это, мы побеседуем в разделе, посвященном обзору функций вредоносных программ), благодаря чему вирус теоретически в состоянии получить доступ к банковским счетам жертвы, если она пользуется системами «банк — клиент». Также эти вирусы осуществляют кражу паролей от популярных FTP-приложений, которые впоследствии могут быть задействованы злоумышленниками для проведения таргетированных сетевых атак, а также выполнять поступающие от киберпреступников команды.
Еще один распространенный в наши дни вирус относится к семейству Sector (Sality — по классификации Symantec, ESET и «Лаборатории Касперского») — представители этого семейства способны загружать из Сети и запускать на инфицированной машине различные исполняемые файлы, а также выполнять ряд иных вредоносных функций. Также определенную распространенность сейчас имеют вирусы семейств Win32.MewsSpy, Win32.VirLock и некоторые другие.
Чтобы отнести вредоносную программу к категории компьютерных (файловых) вирусов, она должна отвечать двум важным критериям:
Вот об этом следует поговорить чуть подробнее. Собственно, умением самостоятельно создавать собственные копии (самореплицироваться) обладает и еще одна категория вредоносных программ — компьютерные черви (worms). А вот умение заражать файлы характерно в первую очередь для вирусов. Под заражением понимается технология, с использованием которой вирус внедряется непосредственно в файл исполняемого приложения (программы), не нарушая при этом ее основных функциональных возможностей. Запуская такую программу на исполнение, пользователь одновременно запускает и встроенный в нее вирус, который, загрузившись в память инфицированного компьютера, реализует заложенные в него создателями деструктивные функции. Таким образом, распространение вируса происходит в том числе вместе с зараженными программами, в которые успел встроиться вирус.
Помимо классических файловых вирусов принято различать еще несколько разновидностей компьютерных вирусов, которые кратко упоминались в предыдущей главе.
Полиморфные вирусы — вирусы, с целью затруднить свое обнаружение и уничтожение способные «на лету» изменять свой код непосредственно в процессе его исполнения. Процедура, отвечающая за динамическое изменение кода вируса, тоже может меняться от заражения к заражению. Самый простой способ модифицировать структуру исполняемого файла вируса, не меняя алгоритм его работы, — добавить в программу «пустых операторов», пустых циклов, пустых строк и прочего «мусорного кода», не оказывающего существенного влияния на функциональные возможности вируса, но затрудняющие создание сигнатуры для его детектирования. Практически все современные файловые вирусы используют те или иные полиморфные технологии.
Стелс-вирусы — вирусы, способные полностью или частично скрывать свое присутствие на инфицированном компьютере, например, путем перехвата обращений операционной системы к зараженным файловым объектам, памяти или загрузочным областям диска. Фактически, перехватив обращение операционной системы, стелс-вирус возвращает операционной системе недостоверную информацию о состоянии соответствующего объекта, например о размере исполняемого файла, с целью сокрытия увеличения его объема в результате добавления в файл вирусного кода. Этот термин применялся по отношению преимущественно к вирусам, действовавшим в операционной системе MS-DOS, и потому сейчас его можно считать устаревшим. Вредоносные программы, использующие механизмы сокрытия своего присутствия в зараженной системе, принято называть руткитами.
Макровирусы — вирусы, написанные с использованием скриптовых языков, применяющихся для создания макросов в различных офисных приложениях, таких как Microsoft Office, в частности Microsoft Word.
Резидентные вирусы. Сам термин «резидентный» традиционно принято использовать в контексте «выполняющийся в фоновом режиме». Ранее «резидентными вирусами» называли вредоносные программы, действующие непосредственно в памяти зараженного компьютера параллельно с другими запущенными задачами и процессами. Иногда к этой же категории относили вирусы, не хранящиеся где-либо на диске в виде обособленного физического файла. Такие вирусы либо уничтожали исходный файл после своего запуска, либо хранили его в недоступных пользователю и операционной системе областях диска, либо «собирали» свое тело непосредственно в оперативной памяти из отдельных разрозненных компонентов (каждый из которых сам по себе не представлял какой-либо опасности). С появлением многозадачных операционных систем само понятие «резидентный вирус» принято считать устаревшим, а угрозы, действующие непосредственно в памяти инфицированного устройства и не хранящиеся на физических носителях в виде обособленных файлов, часто называют общим термином «бесфайловые вредоносные программы».
Компьютерные черви (worms) — разновидность вредоносных компьютерных программ, обладающих способностью к саморепликации, то есть к автоматическому распространению без участия пользователя — по локальной сети, по каналам электронной почты, с использованием сменных носителей информации или иными методами. При этом считается, что большинство червей не способно заражать файловые объекты, хотя из данного правила имеются некоторые исключения.
В наши дни довольно широко распространены так называемые почтовые черви — эти вредоносные программы, запустившись на исполнение, отыскивают все хранящиеся на зараженном компьютере адреса электронной почты (некоторые сканируют для этих целей не только адресные книги почтовых клиентов, но также различные текстовые документы, локально хранящиеся на диске веб-страницы и документы Office), после чего рассылают свою копию по этим адресам в виде вложения в электронное письмо. Адрес отправителя такие вредоносные программы также зачастую заимствуют из списка контактов на зараженной машине. В этом отношении нельзя не отметить, что получатель подобного сообщения, увидев послание, якобы отправленное знакомым ему человеком, с большой долей вероятности попытается открыть такое письмо и в результате сам станет очередной жертвой почтового червя.
Многие черви распространяются, копируя себя на съемные носители информации. Например, некоторые вредоносные программы данного типа размещают в корневой папке съемного накопителя (флэшки или карты памяти) файл autorun.inf, обеспечивающий автоматический запуск червя при каждом обращении к инфицированному накопителю (в устаревших версиях операционных систем, где функция запуска и открытия содержимого смонтированных дисков не отключена по умолчанию, например, в ранних редакциях Windows XP, запуск червя может произойти автоматически при подключении зараженного диска к компьютеру). Другие черви перемещают все содержимое съемного носителя информации в скрытую папку, а вместо него размещают собственные копии с прежними именами папок и файлов. В результате пользователь, щелкнув мышью на значке такого файлового объекта, вместо открытия нужной ему папки или файла запустит на выполнение вредоносную программу.
Это самый многочисленный и распространенный тип вредоносных программ. В отличие от вирусов и червей, троянцы не способны ни к саморепликации, ни к заражению файловых объектов.
Название данной категории угроз восходит к знаменитой легенде про деревянного коня, которого ахейцы преподнесли в подарок жителям осажденной Трои — напомню, что ночью из огромной деревянной статуи вылезли прятавшиеся внутри воины и открыли ворота спящего города атакующей армии. Троянские программы действуют практически аналогичным образом: маскируясь под какое-нибудь полезное приложение — утилиту для просмотра видео, компьютерную игру, даже под антивирус или безобидный, на первый взгляд, документ, присланный по электронной почте — например счет, квитанцию о штрафе или судебный исполнительный лист, — троянец при попытке запуска или открытия файла начинает свою вредоносную деятельность на зараженной машине. Выловить вредителя не так-то просто, особенно с учетом того, что многие троянские программы умеют «прятаться» в недрах операционной системы и даже хитроумно обходить некоторые типы антивирусной защиты.
Из сказанного выше можно сделать простой и очевидный вывод: троянские программы жертва запускает на своем компьютере самостоятельно, при этом злоумышленники заставляют ее сделать это различными хитроумными способами. Вот только один из нескольких сотен примеров возможного пути распространения троянцев. Однажды в папке личных сообщений пользователь социальной сети находит послание, отправленное кем-либо из его списка друзей (этот аккаунт, разумеется, был ранее взломан злоумышленниками). В сообщении содержится информация о том, что на сайте YouTube выложен компрометирующий пользователя видеоролик, а также приводится ссылка на соответствующую страничку. Перейдя по ссылке, пользователь попадает на принадлежащий киберпреступникам фишинговый сайт, полностью копирующий оформление сервера youtube.com. Подделка настолько похожа на оригинальный YouTube, что отличить его от настоящего сайта популярного видеохостинга, на первый взгляд, довольно-таки сложно. На фишинговой веб-странице обозначено название видеоролика, в котором содержится имя жертвы, например, он может быть озаглавлен следующим образом: «%username% is in the leading role. Shocking performance!», что в переводе означает: «%username% в главной роли. Шокирующее поведение!», где вместо %username % автоматически подставляется имя потенциальной жертвы. Также страничка содержит несколько фальшивых комментариев от других пользователей сайта, которые «были шокированы, ознакомившись с этим видео». Чтобы просмотреть ролик, пользователю предлагается скачать и установить обновленный flash-проигрыватель, в роли которого выступает исполняемый файл с именем 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, могут получать управляющие директивы в СМС-сообщениях, поступающих на зараженный мобильный телефон. Подробнее о ботнетах мы поговорим в одной из следующих глав.
Шпионское программное обеспечение (spyware) чрезвычайно широко распространено в современном мире — значительная часть шпионских программ реализована в виде классических троянцев. Предназначение таких программ вполне очевидно: они способны следить за пользователем и передавать злоумышленникам информацию, получаемую с его устройства.
Один из наиболее популярных типов программ-шпионов — это так называемые кейлоггеры, то есть приложения, считывающие и сохраняющие в специальный журнал коды нажимаемых пользователем клавиш, а потом передающие эту информацию злоумышленникам. Таким образом, можно, например, похищать вводимые жертвой в различные экранные формы логины и пароли, а также любую иную набираемую на клавиатуре информацию. К слову, для хищения вводимых в экранные формы данных на различных веб-страницах существует специальная категория утилит, которые называют грабберами, — в отличие от кейлоггеров, фиксирующих все нажатия клавиш, они способны получать только интересующие злоумышленника значения, например путем анализа передаваемых от клиента серверу с помощью протокола HTTP GET и POST-запросов или при помощи перехвата используемых браузером API-функций.
Другие троянцы-шпионы могут создавать и отправлять киберпреступникам скриншоты — снимки содержимого экрана зараженного компьютера, осуществлять скрытую съемку с использованием встроенной видеокамеры устройства. Кроме того, программы-шпионы, ориентированные на мобильную операционную систему Google Android, могут транслировать злоумышленникам географические GPS-координаты текущего положения зараженного устройства, передавать журнал звонков, фотографии, выполнять несанкционированную фото- и видеосъемку, записывать телефонные разговоры и даже использовать встроенный микрофон мобильного устройства для скрытой диктофонной записи с последующей передачей полученных звуковых файлов на удаленный управляющий сервер.
Очевидно, что присутствие на персональном компьютере, ноутбуке или мобильном устройстве программы-шпиона является прямой угрозой конфиденциальности и частной жизни пользователя.
Помимо вредоносных программ существует широчайший ассортимент разнообразных потенциально опасных и нежелательных приложений, которые сами по себе вредоносного потенциала не несут, но при определенных обстоятельствах способны доставить пользователю кучу ненужных проблем. В частности, к такой категории относятся приложения класса Adware — утилиты, которые, возможно, и имеют какую-то полезную нагрузку, но при этом помещают во все просматриваемые пользователем веб-страницы назойливую рекламу. Работать в Интернете на компьютере с установленными приложениями категории Adware становится практически невозможно: рекламные баннеры высвечиваются в самых неожиданных частях веб-страниц, выпрыгивают в отдельных окнах, браузер самостоятельно открывает дополнительные вкладки, произвольно меняется его стартовая страница…
С одной стороны, смертельной опасности такое поведение компьютера для пользователя не представляет, с другой — доставляет ему значительное неудобство.
Среди нежелательных программ отдельно можно отметить приложения семейства Fakealert: если перевести с английского это наименование, получится что-то вроде «ложного предупреждения». К этой категории относятся всевозможные поддельные антивирусы, утилиты для оптимизации системного реестра, «ускорения» Интернета и «лечения» компьютера. Выполнив «проверку» пользовательского устройства, они обнаруживают различные угрозы и неполадки, за устранение которых требуют оплаты. Разумеется, на самом деле никакой проверки не выполняется, а все выявленные таким приложением проблемы и неисправности существуют только в буйной фантазии разработчиков этой программы. Цель они преследуют лишь одну: как следует напугать пользователя и заставить его заплатить как можно больше денег.
Именно этот принцип лежит в основе классификаций, используемых большинством антивирусных компаний в современном мире. Данный способ классификации во многом напоминает предыдущий, однако определяющей точкой в нем является не набор деструктивных функций, реализуемых той или иной вредоносной программой, а степень опасности, которую представляет поведение каждой конкретной угрозы на инфицированном компьютере.
При этом в подобной классификации реализуется принцип поглощения классов в виде определенной иерархической последовательности, например «Файловые вирусы -> Черви -> Бекдоры -> Троянцы». Пример такой иерархической структуры демонстрирует иллюстрация на следующей странице.
Почему такая система классификации является наиболее распространенной? Дело в том, что многие современные вредоносные программы являются многофункциональными и обладают формальными признаками сразу нескольких классов. Например, некий поступивший на анализ в вирусную лабораторию образец наделен способностью заражать файловые объекты (признак файлового вируса), но при этом может распространяться, создавая свои копии в общедоступных сетевых папках (признак сетевого червя), а также умеет выполнять поступающие от злоумышленников команды (признак бэкдора). В этом случае перед вирусным аналитиком возникает нелегкая задача: к какой категории отнести такой сложный экземпляр? Здесь на помощь приходит принцип поглощения классов, проиллюстрированный на представленной выше схеме, который позволяет отделить второстепенные по уровню опасности признаки от первостепенных. На указанной схеме мы видим, что наиболее опасное поведение находится в верхней части иерархии, а наименее опасное — в нижней. Так, способность предоставлять злоумышленникам несанкционированный доступ для управления зараженной машиной (бэкдор) менее опасна, чем умение самостоятельно распространяться без участия пользователя (червь). А оно, в свою очередь, представляет примерно равную опасность со способностью заражать файловые объекты (вирус): обе эти функции находятся в верхней части иерархической цепочки. Таким образом, аналитик скорее всего отнесет этот образец к классу файловых вирусов с признаками червя. Однако возможна ситуация, при которой основная опасность данной конкретной угрозы будет заключаться как раз в способности быстро и бесконтрольно распространяться по сети путем создания собственных копий, в то время как заложенный в программу механизм заражения файлов может срабатывать только при наступлении строго определенных условий или в ряде конкретных случаев. Тогда вирусный аналитик может отнести указанный образец к классу сетевых червей, и мы получим, ради разнообразия, червя, обладающего функцией заражения исполняемых файлов.
Тот же принцип будет распространяться, скажем, на программу, реализующую на зараженном компьютере сервер, который «слушает» определенный порт в ожидании поступающих от злоумышленников команд или установки входящего соединения (признак бэкдора), и при этом может похищать пароли от различных приложений (это умеют многие троянцы). Такой образец скорее всего будет отнесен к классу бэкдоров, поскольку функция предоставления несанкционированного удаленного управления опаснее кражи конфиденциальных данных. Вредоносная программа с разнообразным набором менее деструктивных функций может считаться троянцем.
Итак, с основными типами и категориями вредоносных программ мы разобрались. В следующей главе обсудим основные разновидности троянцев и поговорим о том, какую опасность они могут представлять для пользователя.