Технологии современных вредоносных программ
Защита от обнаружения и снятия перехватов
Использование ловушек для антируткитов
Технологии блокировки работы антивирусных продуктов
Методики загрузки информации из Интернета
Деструктивные вредоносные программы
Троянские программы, похищающие пароли
Вредоносные программы и привилегии пользователя
В последние годы разработка вредоносных программ из раздела хулиганства и формы самоутверждения превращается в одну из сфер криминального бизнеса, что, в свою очередь, приводит к активному развитию различных технологий, применяемых разработчиками вирусов. В данной статье мы рассмотрим основные технологии, которые появились или активно использовались во вредоносных программах, обнаруженных в течение 2007 года. Для оценки распространенности технологий был проведен анализ 9875 ITW-образцов вредоносных программ, причем отбиралось по одному образцу из каждого семейства по классификации, все образцы были гарантированно работоспособными и их вредоносность и классификация были подтверждены исследованием.
Прошедший год можно назвать годом антируткитов, поскольку практически все производители антивирусных продуктов выпустили свои утилиты для поиска и нейтрализации руткитов или оснастили свои продукты подсистемами для борьбы с руткитами. Закономерной реакцией со стороны разработчиков вредоносных программ было появление технологий, позволяющих бороться с антируткитами. Рассмотрим наиболее интересные из этих технологий.
Защита от обнаружения и снятия перехватов
Первые поколения руткитов не обладали функциями самозащиты и применяли «лобовые» методики перехвата функций. Как следствие, эти перехваты несложно было обнаружить и нейтрализовать или восстановить поврежденный руткитом машинный код. Однако многие последние разновидности руткитов существенно продвинулись в плане самозащиты, в частности:
- руткиты стали проверять наличие своих перехватов. Обнаружив снятие перехватчика, руткит может или восстановить его, или имитировать системный сбой, приводящий к краху системы и «синему экрану»;
- для защиты от обнаружения все чаще используются перехваты неэкспортируемых и недокументированных функций ядра. В качестве примера можно привести руткит Rootkit.Win32.Podnuha по классификации «Лаборатории Касперского» — в 2007 году автором было обнаружено не менее 15 уникальных разновидностей данного руткита. Обнаружение модификации нескольких байт глубоко в коде ядра при приемлемом уровне ложных срабатываний является непростой задачей;
- создатели руткитов применяют новые технологии вместо классического перехвата функций. Например, существует документированный механизм callback-функций для мониторинга обращений к реестру. В современных руткитах данная технология использовалась для защиты принадлежащих руткиту ключей реестра;
- классикой стало применение драйверов фильтров и перехват обработчиков IRP. Подобные технологии позволяют осуществлять маскировку файлов и папок на уровне файловой системы, а не на уровне высокоуровневых API-функций. Бороться с такими перехватчиками очень сложно, поскольку, во-первых, существуют легитимные драйверы-фильтры, а во-вторых, любой сбой в работе подобных драйверов может привести к тяжелым повреждениям файловой системы вплоть до полной потери информации на диске;
- многие современные руткиты содержат встроенный антируткит, который применяется для решения вредоносных задач — обнаружения и нейтрализации перехватов, установленных защитным ПО. Применение данной технологии, в частности, позволяет эффективно бороться с проактивной защитой антивирусов и брандмауэров, однако для снятия перехватов вредоносной программе требуется установить свой драйвер или иным путем осуществить чтение/запись в памяти ядра, а следовательно, для современной проактивной защиты принципиально важно детектировать и пресекать подобную активность. Отметим, что данная функциональность обнаружена примерно в 2% изученных вредоносных программ.
Поведенческое противодействие
Данная технология наиболее универсальна и опасна. Основана она на том, что в процессе своей работы антируткиты проявляют определенное поведение, не свойственное другим программам. Типовой пример: анализ ядра, который сводится к чтению содержимого файла ntoskrnl.exe на диске. Файл ntoskrnl.exe является ядром операционной системы, загружается в ходе загрузки системы и в дальнейшем сама операционная система к файлу не обращается. Антируткиты изучают данный файл для поиска эталонной таблицы KiST с целью обнаружения перехватов функций, а также для сравнения машинного кода ядра в памяти для обнаружения модификаций машинного кода. Следовательно, руткит может взять на контроль обращения к данному файлу и затем выполнить одну из следующих возможных операций:
- блокировать доступ к файлу — это приведет к тому, что антируткит не сможет осуществить контроль ядра в памяти, а значит, не сможет обнаружить и нейтрализовать перехваты вредоносный программы;
- выдавать вместо файла ntoskrnl.exe некий другой файл операционной системы — это также нарушит нормальное функционирование антируткита;
- отслеживать, какое приложение пытается выполнить обращение к данному файлу и завершить его работу. Или, как вариант, вызвать сбой в работе обнаруженного антируткита, например выполняя срыв стека или повреждая его машинный код в памяти.
Поскльку обычные приложения к файлу ntoskrnl.exe не обращаются, а операционная система загружает ядро на стадии загрузки системы и в дальнейшем к нему не обращается, следовательно, функционирование ОС и прикладных программ при выполнении этих операций нарушено не будет.
Опасность данного метода противодействия состоит в том, что он ориентирован не на конкретный продукт, а на целую линейку продуктов, выполняющих характерные задачи. Блокировка доступа к ядру является наиболее показательным, но не единственным примером — анализ антируткитов позволяет выявить массу характерных поведенческих особенностей, специфичных только для антируткита.
Использование ловушек для антируткитов
Данная методика противодействия идеологически похожа на предыдущую, поскольку тоже является универсальным средством борьбы с антируткитами. Методика состоит в том, что руткит маскирует некоторый процесс (причем не обязательно это процесс самого руткита — может применяться любой системный процесс) и осуществляет мониторинг операций с ним. Для операционной системы и программ типа диспетчера задач данный процесс невидим, а значит, для него не могут быть выполнены такие операции, как открытие процесса, чтение памяти процесса или его остановка. Следовательно, на работу операционной системы и прикладных задач такая методика никакого влияния не окажет.
А вот для антируткита, наоборот, первичной задачей является поиск маскирующихся процессов и попытка их идентификации или остановки. Поэтому в случае обнаружения обращения к замаскированному процессу руткит может применять активные меры против выполняющего данную операцию приложения, например завершить его работу или эмулировать сбой.
Boot-рутикты
Принцип действия рутикта, размещающегося в BOOT- или MBR-секторе, известен очень давно. Лет 15 назад существовало множество вирусов, которые заражали загрузочные секторы дисков, что позволяло вредоносному коду загрузиться до операционной системы и антивирусов, а следовательно, давало определенное преимущество перед ними. Подобные вирусы перехватывали ряд прерываний, что позволяло им успешно маскироваться. В настоящее время мы наблюдаем возрождение данной технологии, только на современном уровне. Идеология современных Boot-руткитов была опубликована в 2005 году в отчете компании eEye, причем к подробному описанию алгоритма построения подобного руткита прилагались исходные тексты действующего образца под названием eEye BootRoot. Принцип работы данного руткита заключается в следующих шагах:
- имеется инсталлятор руткита, который сохраняет исходный MBR, а затем заражает его, помещая туда код руткита. Поскольку размеры сектора не позволяют разместить весь код руткита в MBR, туда обычно помещается загрузчик, в функции которого входят загрузка и запуск основного кода, размещаемого, как правило, в неиспользуемых секторах в начале диска;
- получив управление, код руткита сталкивается со следующей проблемой: он загрузился, но операционная система не запущена и поэтому взять ее под контроль руткит не может. Выходом из положения является перехват прерывания INT 13h, отвечающего за операции с жестким диском, в частности за чтение и запись его секторов. Перехватив данный вектор, руткит загружает исходный MBR и отдает управление находящемуся в нем коду. Это приводит к загрузке операционной системы, однако перехватчик руткита анализирует загружаемую с диска информацию и при помощи сигнатурного поиска находит интересующие его фрагменты ядра. После обнаружения необходимых фрагментов руткит модифицирует машинный код, что позволяет ему вносить любые правки в компоненты ядра.
Как и в случае с MSDOS, подобная технология позволяет руткиту загрузиться до операционной системы, а измененный им код ядра получает управление до загрузки антивирусных продуктов. В отличие от концептуального алгоритма eEye BootRoot, реальные ITW-образцы после загрузки осуществляют маскировку измененных руткитом данных, что существенно затрудняет их обнаружение и лечение. В заключение приведем некоторую статистику по руткит-технологиям (рис. 1).
Рис. 1. Статистика по базовым руткит-технологиям
Как видно из диаграммы, около 7% изученных образцов устанавливают собственные драйверы и используют те или иные руткит-технологии KernelMode. Около 30% модифицируют память системных процессов и осуществляют манипуляции с контекстом потока этих процессов. Это очень популярная методика, применяемая для различных целей, в частности для маскировки. Данная методика активно используется ввиду того, что, исследуя компьютер, сложно обнаружить троянский поток и зафиксировать факт подмены машинного кода легитимного процесса машинным кодом вредоносной программы.
Технологии блокировки работы антивирусных продуктов
Блокировка антивирусных продуктов является одной из технологий, активно развивающихся на протяжении последних нескольких лет. Со временем данные технологии прогрессируют, и на смену примитивным методам поиска и принудительного завершения процессов по именам приходят новые, весьма опасные технологии. Рассмотрим некоторые из тех, что были обнаружены в ITW-образцах 2007 года.
В первую очередь это классические методики. Как уже отмечалось, они основаны на простейших алгоритмах: получив управление, вредоносная программа перечисляет запущенные процессы и сопоставляет их имена с некоторой базой данных, нередко внушительного размера. Обнаружив совпадение, вредоносная программа пытается завершить процесс. Другим вариантом является поиск процессов по характерным заголовкам окон. Более совершенные разновидности производят аналогичную манипуляцию со службами и драйверами защитного ПО, поиск также идет по именам. Методика противодействия подобным вредоносным программам имеется в большинстве антивирусов и довольно хорошо отработана: имеется самозащита, не позволяющая завершать процессы и повреждать файлы и ключи реестра, принадлежащие антивирусам. Для антивирусных утилит типа AVZ защита строится проще: достаточно переименовать исполняемый файл и для используемых в процессе работы драйверов генерировать случайные имена (рис. 2).
Рис. 2. Статистика распространенности методик борьбы
со службами антивирусов
На диаграмме первый столбец обозначает удаление служб (или драйверов) антивирусного ПО, второй — управление службой антивирусного ПО (как правило, отключение), третий — проверку наличия служб антивирусного ПО и их статуса. Четвертый столбец соответствует созданию службы, имя которой совпадает с именем службы распространенного антивирусного ПО (то есть служба антивируса подменяется троянской службой). Для сравнения на диаграмме пятый столбец соответствует удалению системных служб, а шестой — управлению системной службой. Анализ показывает, что в качестве этих системных служб в подавляющем большинстве случаев фигурируют службы вcтроенного брандмауэра. Что касается борьбы с процессами, то картина имеет такой вид, как на рис. 3.
Рис. 3. Статистика распространенности методик борьбы с процессами
Приведенные цифры весьма интересны: получается, что буквально каждая вторая троянская программа в том или ином виде интересуется запущенными в системе процессами, а одна из десяти завершает процессы антивирусов или системные процессы.
В заключение следует отметить еще один классический метод противодействия антивирусам — блокировку обновления. Известно несколько методик, наиболее простой и популярной из которых является правка файла HOST, в который вводится запись, блокирующая доступ к сайтам производителей антивирусных продуктов. Анализ показывает, что около 3% исследованных вредоносных программ модифицируют данный файл.
Второй тип технологий — это руткит-метод, аналогичный классической методике. Отличается он тем, что борьба с антивирусом идет уже из KernelMode, а следовательно, руткит может блокировать не просто запуск определенных процессов или загрузку определенных драйверов, но и доступ к любым файлам, например открытие антивирусных баз или создание протоколов. Защититься от данного метода сложнее, однако переименование файлов по-прежнему позволяет обойти проверки вредоносной программы.
К третьему типу относится руткит-метод с сигнатурным сканером. Этот самый опасный и универсальный метод получил широкое распространение в конце 2007 года. Он отличается от предыдущего тем, что руткит блокирует доступ к файлам на основании некоторой сигнатуры файла. Это очень опасная технология, поскольку от нее невозможно защититься простыми методиками вроде переименования файлов. Более того, при использовании в качестве сигнатуры, скажем, копирайтов файла можно одной сигнатурой заблокировать работу всех продуктов определенной фирмы. Другая опасность состоит в том, что обычно базы данных антивирусов и брандмауэры имеют характерные заголовки и сигнатуры — следовательно, очень легко заблокировать обновление баз и их загрузку.
Еще опаснее гибридная технология, являющаяся сочетанием вышеописанных методик. В частности, сочетание блокировки по именам и сигнатурам несложно реализовать в рамках одного руткит-драйвера, что значительно повысит его эффективность. Кроме того, изучение ITW-образцов показывает, что помимо блокировки доступа к файлу руткит может уничтожить его или повредить, что еще больше затрудняет борьбу с ним. В заключение можно рассмотреть статистику по еще одной классической технологии — атаке на антивирусные продукты путем повреждения их ключей реестра (рис. 4).
Рис. 4. Борьба с антивирусами через реестр
Как несложно заметить, около 1% изученных образцов повреждали или удаляли ключи популярных антивирусов. Гораздо популярнее атака на штатный брандмауэр — с ним борется порядка 6% изученных образцов, причем методик борьбы две: отключение брандмауэра и внесение троянской программы в список доверенных.
Атаки на GUI
Под атакой на GUI в данном случае понимается любое взаимодействие вредоносной программы с интерфейсом операционной системы, прикладных программ или специализированного ПО для защиты компьютера. Разработчики вредоносных программ, как правило, преследуют несколько основных целей:
борьба с антивирусами — методика основана на том, что антивирусы и брандмауэры нередко задают пользователю вопросы о том, разрешить или запретить ту или иную активность работающих приложений или что делать с обнаруженной вредоносной программой. Это так называемый режим обучения, который применяется в основном в брандмауэрах и проактивной защите. Кроме того, многие антивирусы по умолчанию запрашивают у пользователя, как поступить с найденным вредоносным ПО. Соответственно вредоносная программа может обнаружить подобное окно с запросом по каким-либо признакам (координаты, заголовок окна, имя класса окна) и имитировать действия пользователя (рис. 5).
Рис. 5. «Антивирус Касперского» — окно запроса
действий для найденных сканером вирусов
Сложность для вредоносной программы заключается в том, что у каждого антивируса или брандмауэра свои, специфичные только для него окна, которые могут радикально различаться в разных версиях продукта. Поэтому, как правило, вредоносные программы могут бороться с двумя-тремя наиболее популярными продуктами;
- взаимодействие с GUI платежных систем — наиболее распространены программы, взаимодействующие с WebMoney, им в классификации ЛК соответствуют семейства Trojan-PSW.Win32.WebMoner и Trojan-Spy.Win32.Webmoner;
- похищение паролей и иной ценной информации, вводимой пользователем — нередко для этих целей в троянской программе имеется кейлоггер, записывающий нажатия клавиш при условии, что в фокусе ввода находится определенное окно;
- обнаружение факта использования антивирусов, отладчиков или средств мониторинга — подобные приемы применяются и в легитимных приложениях: нередко авторы легитимных программ используют защиту от взлома, блокирующую работу приложения в случае обнаружения окон утилит типа RegMon и FileMon.
Если говорить о распространенности технологий, то наиболее популярна атака на GUI антивирусов — подобная функциональность зарегистрирована в 17% исследованных образцов, причем различных типов и семейств. Работа с окнами платежных систем распространена гораздо меньше (менее 1%) и проявляется только в категории троянских программ, специализирующихся на платежных системах. Детектирование отладчиков и средств мониторинга тоже не имеет широкого распространения — примерно в 1% исследованных образцов. Кроме того, в ряде троянских программ обнаружены процедуры сканирования окон запущенных программ (рис. 6).
Рис. 6. Распространенность методик атак на GUI во вредоносных программах
Методики загрузки информации из Интернета
Троянские программы категории Trojan-Downloader являются одними из самых распространенных. Многие из них не предствавляют непосредственной угрозы для системы — опасен не сам загрузчик, а загружаемые и запускаемые им вредоносные программы. Для обхода проактивной защиты и эвристических анализаторов антивирусов разработчики троянских загрузчиков внедряют новые технологии, в частности загрузку из KernelMode, применение службы фоновой интеллектуальной передачи данных (служба BITS). На диаграмме показана распространенность различных методик загрузки файлов относительно общего количества вредоносных программ в выборке (рис. 7).
Рис. 7. Статистика распространенности методов взаимодействия
с Интернетом
Как видно из диаграммы, классические методы загрузки файлов или передачи данных в Интернет по-прежнему лидируют и составляют чуть более 20%. BIT применяют примерно 2,5%, что в два раза больше, чем в предыдущем году. Для полноты картины на диаграмме показан процент троянских программ, прослушивающих порты TCP/UDP, — их количество приближается к 4%. Данные цифры сами по себе интересны: получается, что, как минимум, каждая пятая из исследованных троянских программ активно обменивается с Интернетом.
Деструктивные вредоносные программы
Деструктивные вредоносные программы очень опасны для системы, поскольку могут нарушить ее работоспособность и повредить данные пользователей. В течение прошедшего года было отмечено несколько эпидемий деструктивных программ, наиболее известными из которых являются Virus.VBS.Agent.c и Email-Worm.VBS.Agent.j, обнаруженные летом 2007 года и, судя по особенностям реализации, созданные одним автором. Данные вирусы были написаны на Basic (исходный текст был зашифрован для затруднения анализа) и распространялись по почте в виде ссылки на вредоносный объект, используя список контактов MailRu Agent. Деструктив состоял в том, что данные вредоносные программы сканировали диск пораженного ПК и записывали поверх всех найденных документов, рисунков и медиафайлов заготовки, идущие в комплекте с вирусом (в них значилась фраза «Диструктивная реклама»). От вирусов этой категории пострадало множество пользователей, причем многие из них в результате лишились своих документов и фотографий. В общем случае деструктивные действия можно разделить на три категории:
- уничтожение и повреждение системных объектов — это либо делается из деструктивных соображений, либо является формой маскировки троянской программы за счет подмены системных компонентов или их заражения по вирусному принципу. Простейший деструктив из известных — уничтожение всех файлов в корне системного диска, что приводит к невозможности загрузки операционной системы;
- уничтожение документов, рисунков, медиафайлов;
- полное уничтожение всей информации на диске обычно путем прямого доступа к диску и записи в секторы диска мусорной информации. Подобные программы встречаются редко, но, тем не менее, за год было обнаружено несколько подобных ITW-образцов;
- искажение и блокирование важных функций операционной системы для затруднения лечения и детектирования вредоносной программы или с целью вымогательства. В последнем случае вредоносная программа блокирует и повреждает максимум возможных настроек и затем требует выкуп за восстановление работоспособности системы.
Если рассматривать статистику, то получается картина, показанная на рис. 8.
Рис. 8. Статистика распространенности деструктивных методик
Примерно 1% от общего числа исследованных вредоносных программ очень активно использовали создание политик безопасности, в частности это семейство Trojan.Win32.Krotten и его аналоги. Порядка 2% образцов подменяли или уничтожали критические системные компоненты, в сумме около 5% блокировали запуск редактора реестра или диспетчера задач. Прямой доступ к диску применялся в основном на чтение (однако в выборке встретились образцы, осуществляющие запись на диск), однако сам факт получения подобного доступа настораживает.
Троянские программы, похищающие пароли
Подобные программы не являются новинкой и известны уже много лет. Поэтому основное внимание уделим статистике различных методик (рис. 9).
Рис. 9. Статистика методик похищения паролей
В сумме из исследованных образцов как минимум 15% похищали пароли (то есть каждый 10-й ITW-образец). Важно отметить, что, как правило, в универсальных троянских программах сочетаются все три метода — классическим примером является Pinch и его аналоги. Однако интересной тенденцией развития вредоносных программ в 2007 году стало похищение не только классических паролей (почта, Интернет, ICQ, FTP и т.п.), но и повышенный интерес разработчиков вирусов к онлайновым играм. На первый взгляд данный интерес лишен смысла: какая выгода может быть от подобной информации? Автором было проведено небольшое исследование, которое показало, что для увлеченных участников онлайновых игр всевозможные магические атрибуты (нематериальные, естественно) представляют реальную ценность, равно как и их аккаунт в игре. Следовательно, возникает, как минимум, два потенциальных пути наживы:
- при помощи троянской программы злоумышленник может получить параметры аккаунта игрока, заблокировать его путем смены паролей, а затем либо за некоторый выкуп вернуть его владельцу, либо перепродать кому-нибудь из других игроков. В данном случае ситуация аналогична той, что сложилась в отношении красивых и коротких номеров ICQ, которые активно похищаются и затем перепродаются;
- получив параметры учетной записи игрока, можно попросту захватить принадлежащее ему виртуальное имущество. Злоумышленник может затем использовать его сам (если он тоже игрок) или перепродать за вполне реальные деньги.
Учитывая распространенность онлайновых игр и количество игроков, формируется вполне реальный рынок сбыта, что, в свою очередь, и объясняет появление специализированных троянских программ для похищения паролей к онлайновым играм.
Вредоносные программы и привилегии пользователя
Итак, мы рассмотрели статистику использования всевозможных технологий. Однако возникает резонный вопрос — как защититься от этих технологий. Помимо применения классической защиты — антивирусов и брандмауэров — существует еще один очень эффективный путь защиты: использование привилегий учетной записи пользователя. По умолчанию в Windows XP пользователь обладает привилегиями администратора, а следовательно, вредоносная программа в случае запуска на компьютере также будет обладать привилегиями администратора, что позволит ей безо всякого ограничения решать свои задачи.
Особенность базы анализатора, применяемого автором, состоит в том, что в результатах анализа вредоносных программ можно выделить операции, для которых требуются привилегии администратора, и сформулировать по ним статистику (рис. 10).
Рис. 10. Использование операций, требующих привилегий администратора
Категории «Управление службами и драйверами» соответствуют все операции, для которых требуются привилегии администратора (регистрация службы или драйвера, удаление, загрузка и выгрузка драйверов). Категория «Манипуляции с процессами» включает остановку системных процессов и процессов антивирусного ПО, а также внедрение троянского кода в память системных процессов или манипуляции с контекстом их потоков. Модификация системных ключей реестра предполагает создание или изменение ключей HKLM и HKCR, недоступных на запись обычному пользователю. Подобные операции применяются троянскими программами для скрытных форм автозапуска, модификации системных настроек (в частности, регистрации своих драйверов и классов) и борьбы с антивирусным ПО. Категория «Работа с системными файлами» предполагает модификацию системных объектов или создание собственных файлов в папке Windows и ее подкаталогах. Как легко видеть из диаграммы, 60% всех изученных вредоносных программ пытаются что-то записать в системную папку. Около 20% изученных вредоносных программ в явном виде запрашивают системные привилегии, такие как привилегии на загрузку драйверов или перезагрузку системы. Как видно из диаграммы, каждый вид привилегированных операций выполняет как минимум по 15-20% изученных образцов. Анализ картины в целом показан на рис. 11.
Рис. 11. Оценка возможности функционирования
вредоносных программ
под ограниченной учетной записью
Как следует из приведенной диаграммы, 94% всех изученных образцов не могут полноценно работать под пользовательской учетной записью или теряют свою функциональность и деструктивные функции и только около 6% могут функционировать с правами пользователя. Из опасных программ в эти 6% попадают некоторые троянские программы, ворующие пароли (они собирают данные и отправляют их, не пытаясь укорениться в системе), троянские загрузчики и дестуктивные вредоносные программы (у пользователя есть доступ к его документам и медиафайлам, а следовательно, деструктивная программа может уничтожить или повредить их, обладая только правами пользователя). В остальном картина очень показательна: работающий под учетной записью с минимальными привилегиями пользователь практически полностью защищен от вредоносных программ. В частности, ему не страшны руткиты (которым требуется запись в память других процессов и установка драйверов), вредоносная программа практически не может нанести ущерба операционной системе за счет удаления и модификации системных файлов или ключей реестра. А если у работающего под ограниченной учетной записью пользователя имеется антивирус, брандмауэр и проактивная защита, то его защиту можно считать близкой к 100%. В частности, высокая защищенность новой операционной сиcтемы Windows Vista от вредоносных программ как раз объясняется реализованной в ней политикой назначения привилегий: по умолчанию привилегии пользователя минимальны и для выполнения требующих прав администратора операций необходимо подтверждение запроса подсистемы UAC.
Заключение
В данной статье рассмотрены некоторые технологии, применяемые в современных вредоносных программах. Следует учитывать, что приведенные в статье статистические данные сформированы автоматическим анализатором, который фиксирует ту или иную форму вредоносной активности только в случае, когда на 100% гарантирована правильность классификации данной активности (как следствие — зафиксированная активность четко соответствует известным шаблонам вредоносного поведения).
Приведенная статистика настораживает: примерно каждая пятая из троянских программ обладает функциями работы с Интернетом и средствами активного противодействия антивирусам. С точки зрения основной вредоносной функциональности можно отметить криминализацию отрасли разработки вирусов: в последнее время редко встречаются вирусы, написанные «просто так», — в основном попадаются спам-боты, иные ботнеты, руткиты для активной маскировки и противодействия, вредоносные программы для похищения паролей и другой важной информации.
Пользователям и администраторам сетей рекомендуется также обратить внимание на итоговую диаграмму — она наглядно демонстрирует, что большинство современных вредоносных программ не могут полноценно функционировать под ограниченной учетной записью с минимальными привилегиями. Следовательно, необходимо по возможности отказаться от работы (особенно в Интернете) из-под учетной записи администратора. Последнее, к сожалению, не всегда возможно, поскольку в настоящий момент многие прикладные программы не могут нормально функционировать под ограниченной учетной записью. В такой ситуации рекомендуется создать ограниченную учетную запись для работы в Интернете и с электронной почтой.
Кроме того, нужно иметь в виду, что по статистике примерно 2% из исследованных образцов пытались использовать флэш-накопители в качестве средства транспорта. Следовательно, администраторам сети рекомендуется внедрить ряд мер, направленных на контроль над применением флэш-накопителей и их аналогов на компьютерах в сети, а пользователям — соблюдать особую осторожность при работе с флэш-дисками. Практика показывает, что неплохие результаты дает запрет автозапуска через политики безопасности для носителей всех типов, кроме CD-ROM.