Pro Вирусы - Валентин Холмогоров 15 стр.


Наиболее простой способ изменить структуру файла, не меняя его функциональных возможностей, - "накрыть" его программным упаковщиком. Программные упаковщики сжимают содержимое файла приложения и дописывают к нему код, необходимый для распаковки и выполнения программы. Некоторые из них к тому же включают различные функции шифрования, затрудняющие анализ и исследование подобного приложения. Этим и пользуются зло­умышленники.

При каждой повторной упаковке файла его сигнатура меняется и он становится "невидимым" для системы сигнатурного детектирования антивируса. Некоторые вирусописатели для затруднения исследования вируса или троянца упаковывают и шифруют свои творения в "несколько слоев" - тогда под одним упаковщиком прячется другой сжатый и зашифрованный объект, под ним - еще один, и вся конструкция напоминает в итоге этакую логическую "матрешку", добраться до "сердцевины" которой бывает порой весьма непросто.

Иногда киберпреступники применяют и иной метод: на сервере, с которого жертвам раздается вредоносное ПО, устанавливается специальный сценарий. При активизации этого сценария (например, при переходе пользователя по ссылке) скрипт извлекает из соответствующей директории сервера бинарный файл вируса или троянца, упаковывает его "на лету" и только после этого "отдает" его пользователю. Таким образом каждая жертва получает свой собственный, уникальный, экземпляр вредоносной программы, гарантированно не детектируемой по сигнатуре.

Обфускация

Обфускация (от англ. obfuscate - "запутывать", "сбивать с толку") - сознательное запутывание, усложнение кода вредоносной программы с сохранением ее функциональности в целях затруднения ее исследования и анализа. Для обфускации вирусописатели иногда добавляют в приложение различный "мусорный" код, ненужные инструкции, множественные переходы или вызовы различных функций и т. д. Существуют специальные утилиты - обфускаторы, созданные для запутывания кода приложений.

Обфускация приложений затрудняет реверс-инжиниринг, то есть декомпиляцию вредоносной программы и изучение ее функциональных возможностей на уровне кода, однако одновременно с этим усложняет вирусописателям отладку приложения, а в некоторых случаях увеличивает его размер и снижает быстродействие.

Антиотладка

Большинство современных вредоносных программ оснащено различными мощными механизмами антиотладки, препятствующими их исследованию. Ряд вирусов и троянцев в момент начала работы проверяют, не пытаются ли их запустить в изолированной среде ("песочнице"), под отладчиком или в виртуальной машине. Осуществляется это разными методами, например попытками получить имена работающих процессов (и их сравнением с заданным списком), поиском характерных строк в заголовках открытых окон и т. д. Если вредоносное приложение определяет попытку запуска в виртуальной среде или под отладчиком, оно завершает свою работу.

Аналогично многие троянцы и вирусы ищут среди установленных или запущенных программ приложения популярных антивирусов и пытаются завершить их, а если это не получается, прекращают свою работу. Бывают и более интересные варианты: так, троянец, известный под именем Trojan.VkBase.73, менял параметры загрузки Windows, устанавливал в системе специальную службу, которая при перезагрузке системы в безопасном режиме удаляла установленные на компьютере антивирусы. Затем троянец размещал в области уведомлений Панели задач значок соответствующего антивирусного приложения, которое было ранее им удалено. Таким образом, пользователь даже не догадывался, что его компьютер больше не имеет антивирусной защиты. После успешного удаления средств информационной защиты на экран выводилось сообщение на русском или английском языке (в зависимости от версии антивирусного ПО) следующего содержания: "Внимание! Антивирус [название антивируса] работает в режиме усиленной защиты. Это временная мера, необходимая для моментального реагирования на угрозы со стороны вирусных программ. От вас не требуется никаких действий". Данное сообщение демонстрировалось, чтобы пользователь не проявлял беспокойство, обнаружив, что значок антивирусной программы в Области уведомлений Панели задач Windows более не реагирует на щелчки мышью.

Для обхода "песочницы" некоторые вирусы или троянцы имеют специальные "механизмы замедления", которые притормаживают вредоносный функционал приложения или усыпляют его на некоторый срок, активизируя деструктивный функционал по истечении определенного времени. Это позволяет усыпить бдительность защитной программы, которая, запустив приложение в "песочнице" и убедившись в его безопасности, дает ему "зеленый свет". Например, один из современных троянцев использует такой механизм обхода автоматизированных систем анализа: создает во временной папке файл, в которой миллион раз записывает по одному байту, а потом миллион раз читает из него также по одному байту. В результате таких безобидных длительных циклических действий процедура поведенческого анализа завершается раньше, чем троянец начинает реализовывать свой основной вредоносный функционал.

Как защититься?

В предыдущих главах и тематических разделах мы рассмотрели основные виды, принцип действия и методы распространения компьютерных угроз. Теперь давайте перечислим основные способы борьбы с вредоносными программами.

Установите на свое устройство современную антивирусную программу. Помните: бесплатные антивирусы далеко не всегда обеспечивают высокое качество детектирования угроз и должный уровень защиты.

Поддерживайте антивирусные базы в актуальном состоянии, своевременно устанавливайте обновления баз и самого антивируса.

Вовремя устанавливайте обновления операционной системы и прикладных программ, старайтесь использовать их последние версии - чем "новее" версия приложения, тем больше шансов, что в нем устранены все известные ошибки и уязвимости.

Не открывайте вложения в письма, полученные по электронной почте от незнакомых отправителей. Если без этого никак не обойтись (например, вам часто присылают коммерческие предложения по работе), сохраните такое вложение в отдельную папку на диск, не открывая и не запуская его, и проверьте антивирусом.

С осторожностью переходите по ссылкам, полученным в сообщениях электронной почты и СМС. Используйте антивирус, имеющий встроенный модуль фильтрации вредоносных и подозрительных ссылок.

Используйте только лицензионные версии операционной системы и программ. Многочисленные "кряки" и другие средства для взлома лицензионной защиты от копирования зачастую несут в себе неприятные "сюрпризы".

Перед установкой программ, загруженных из Интернета, проверяйте их антивирусом.

Регулярно выполняйте резервное копирование - сохраняйте все нужные и ценные файлы (документы, фотографии, почту) на какой-либо внешний носитель (внешний жесткий диск, флэшку, DVD). Храните диск с резервными копиями отдельно от вашего компьютера.

Пользователям мобильных устройств под управлением Android можно дать еще один совет: не выполняйте процедуру "рутования" (разблокировки учетной записи администратора в операционной системе) и не устанавливайте программы из сомнительных источников. К сожалению, даже загрузка и установка ПО из официального каталога приложений не дает стопроцентной гарантии безопасности: в каталоге Google Play регулярно обнаруживаются программы и игры с вредоносной "начинкой". Производителям ПО для получения права размещать свои творения в каталоге Google Play необходимо заплатить небольшой вступительный взнос - злоумышленники, выполнив платную регистрацию, размещают там вполне безобидную программу, и после прохождения проверки меняют ее на "новую версию", включающую вредоносное содержимое. Конечно, такие учетные записи администрация Google оперативно блокирует, но риск потерять несколько долларов и оплаченный аккаунт не пугает вирусописателей, поскольку потенциальная выгода от распространения троянца в этом случае значительно превышает возможные убытки. Поэтому защитить пользователей Android может только надежная антивирусная программа.

Соблюдение этих несложных правил позволит вам защитить ваше устройство от большинства современных угроз.

ГЛОССАРИЙ

аdware - семейство рекламных приложений, традиционно относящихся к нежелательным.

bitcoin - старейшая в истории криптовалюта; электронная платежная система, допускающая проведение защищенных и анонимных транзакций.

DDoS (Distributed Denial of Service), "распределенный отказ в обслуживании" - разновидность сетевых атак, при которых к атакуемому узлу генерируется большое количество запросов в единицу времени, которые он не в состоянии обработать, что вызывает его отказ.

DGS, domain generation system - технология, позволяющая составляющим ботнет вредоносным программам автоматически генерировать имена управляющих серверов с использованием специальных алгоритмов.

fakealert - семейство программ, традиционно относящихся к "нежелательным": они запугивают пользователя, "отыскивая" на компьютере различные несуществующие проблемы и требуют оплаты за их устранение.

jailbreak - несанкционированная разработчиком устройства процедура получения доступа к файловой системе (термин применяется в основном по отношению к смартфонам и планшетам производства корпорации Apple).

HIPS (Host-based Intrusion Prevention System) - система проактивной антивирусной защиты, отслеживающая различные действия приложений и выборочно блокирующая их.

MITM (Man in the middle - "человек посередине") - способ атак, при которых злоумышленник внедряется в канал связи между отправителем и получателем информации и может видоизменять эту информацию "на лету" непосредственно в процессе ее передачи.

P2P (Peer-To-Peer), или пиринговые одноранговые сети - сети, в которых отсутствует управляющий сервер, а данные передаются непосредственно от одного узла к другому.

ransomware - общее наименование программ-вымогателей.

sinkhole - метод перехвата управления ботнетом, работающим с использованием технологии DGS, при котором осуществляется регистрация "поддельного" управляющего сервера бот-сети, а действующие серверы выводятся из строя.

TDS, Traffic Distribution Systems - системы управления трафиком, позволяющие злоумышленникам перенаправлять пользователей на различные сетевые ресурсы в зависимости от заданных условий.

TOR (от англ. The Onion Router, "луковый маршрутизатор") - система так называемой луковой маршрутизации, состоящая из многослойной структуры прокси-серверов и позволяющая устанавливать анонимное соединение, защищенное от стороннего прослушивания и слежения.

Whois - онлайн система, позволяющая установить по имени домена данные его администратора.

антивирусный сканер - утилита, выполняющая поиск вредоносных программ на дисках и в памяти устройства по запросу пользователя или по расписанию.

антиотладка - используемый вирусописателями комплекс мер, позволяющий оказывать противодействие антивирусным программам и различным методам исследования вирусов и троянцев.

атака на отказ в обслуживании - см. DDoS (Distributed Denial of Service).

банковские троянцы - вредоносные программы, предназначенные для хищения учетных данных и файлов, необходимых для организации доступа к системам ДБО (дистанционного банковского обслуживания).

биоскит - вредоносные программы, способные инфицировать микросхемы BIOS.

блокировщик, винлокер - вредоносная программа-вымогатель, блокирующая нормальную работу операционной системы, и требующая денег за ее разблокировку.

бот - вредоносная программа, способная объединяться в ботнеты (бот-сети).

ботнет, бот-сеть - сеть зараженных устройств, умеющих обмениваться информацией и дистанционно управляемых злоумышленниками, например, с использованием одного или нескольких командных серверов.

брандмауер (фаервол) - компонент антивирусной программы, выполняющий мониторинг текущего соединения, включая анализ входящего и исходящего трафика, а также проверяющий исходный адрес и адрес назначения в каждом передаваемом с компьютера и поступающем на компьютер пакете информации - данные, поступающие из внешней среды на защищенный брандмауэром компьютер без предварительного запроса, отслеживаются и фильтруются.

брутфорс - метод получения несанкционированного доступа к какому-либо ресурсу путем полного перебора паролей, "взлом методом грубой силы".

буткит - вредоносная программа, модифицирующая загрузочную запись с целью обеспечения своего запуска до (или одновременно с) загрузки операционной системы (но ранее запуска основных антивирусных средств защиты).

бэкдор - вредоносная программа, обладающая возможностью выполнять поступающие от злоумышленников команды, т.е. допускающая несанкционированное удаленное управление инфицированным компьютером.

веб-антивирус - компонент антивирусной программы, предотвращающий доступ пользователя к опасным ресурсам, распространяющим вредоносное ПО, фишинговым и мошенническим сайтом с использованием специальной базы данных адресов или системы рейтингов.

веб-инжект - встраивание вредоносной программой постороннего содержимого в просматриваемую пользователем в окне браузера веб-страницу.

винлокер - см. блокировщик.

вирус - вредоносная программа, способная к саморепликации (автоматическому распространению без участия пользователя) и заражению файловых объектов.

вирусная база - набор используемых антивирусной программой файлов, содержащих сигнатуры вирусов и алгоритмы лечения некоторых угроз

вымогатель - категория вредоносных программ, требующих у жертвы выкуп за определенное действие (например, разблокировку компьютера или расшифровку файлов).

граббер - вредоносная программа, позволяющая перехватывать и передавать злоумышленникам данные из заполняемых пользователем форм

ДБО, системы дистанционного банковского обслуживания - системы типа "банк - клиент", позволяющие осуществлять удаленное управление банковским счетом.

двухфакторная аутентификация - система безопасности, применяемая в некоторых ДБО, и подразумевающая дополнительную проверку подлинности при авторизации пользователя путем ввода одноразового пароля (mTAN-кода), отправляемого в СМС-сообщении.

дроппер - объект, осуществляющий извлечение содержащихся в нем основных модулей вируса или троянца, их распаковку и установку в операционной системе.

загрузочный вирус - см. буткит.

загрузчик, троянец-загрузчик - семейство троянцев, предназначенных для загрузки из Интернета и запуска на инфицированном компьютере других вредоносных программ.

инжект - механизм, позволяющий вирусу или троянцу встраивать вредоносный объект в запущенный и уже работающий в операционной системе процесс другого приложения, после чего внедренный объект начинает выполняться в контексте данного процесса.

инжектор - функциональный модуль вредоносной программы, реализующий встраивание вредоносных компонент в запущенный процесс другого приложения.

инфектор - модуль вредоносной программы, осуществляющий заражение файловых объектов (например, исполняемых файлов или динамических библиотек), либо загрузочной записи компьютера путем изменения их внутренней структуры.

кардер - киберпреступник, специализирующийся на мошеннических действиях с банковскими картами.

кейлоггер - программа-шпион, считывающая и сохраняющая в специальный журнал коды нажимаемых пользователем клавиш, а потом передающиая эту информацию злоумышленникам.

командный сервер (Command and Control Server, C&C) - управляющий сервер ботнета (бот-сети).

криптовалюта - электронное платежное средство, использующее для эмиссии и учета взаиморасчетов методы криптографии.

крэкер (от англ. to crack, "взламывать") - взломщик компьютерных систем, а также разработчик различных средств обхода систем лицензионной защиты.

лоадер - компонент вредоносной программы, осуществляющий загрузку других модулей (например, динамических библиотек) в оперативную память компьютера и (в ряде случаев) настройку этих компонент в памяти.

логическая бомба -наименование категории вредоносных программ, срабатывающих при наступлении определенных условий.

макровирус - категория вирусов, написанных с использованием скриптовых языков, применяющихся для создания макросов в различных офисных приложениях, таких как Microsoft Office, в частности Microsoft Word.

обфускация (от англ. obfuscate - "запутывать", "сбивать с толку") - сознательное запутывание, усложнение кода вредоносной программы с сохранением ее функциональности в целях затруднить ее исследование и анализ.

песочница (sandbox) - защищенный изолированный виртуальный контейнер для безопасного запуска приложений.

поведенческий анализ - анализ поведения программ с целью выявления вредоносных функций.

полиморфизм вирусного кода - способность некоторых вирусов изменять собственный код в процессе выполнения.

полиморфные вирусы - вирусы, с целью затруднения своего обнаружения и уничтожения способные "на лету" изменять свой исполняемый код непосредственно в процессе его исполнения. Процедура, отвечающая за динамическое изменение кода вируса, тоже может меняться от заражения к заражению.

почтовый антивирус - приложение, выполняющее проверку на безопасность вложений в сообщения электронной почты и (или) пересылаемых по электронной почте ссылок.

превентивная защита - компонент антивируса, обеспечивающий целостность жизненно важных для работоспособности системы данных и предотвращающий опасные действия программ.

Назад