Достать информацию при вирусе
Как восстановить удалённые вирусом файлы
Сейчас в каждом доме есть один и более компьютеров, которые, в большинстве случаев, подключены к сети интернет. Интернет дает возможность получать доступ к огромному количеству любой необходимой информации. Каждый пользователь смотрит фильмы, случает музыку, играет в игры, общается, пользуется сайтами, программами и так далее. Все это очень хорошо и удобно, но всегда существует вероятность, что компьютер будет заражен вирусом.
Вирусы, удаляющие данные с ПК
Компьютерный вирус у многих пользователей ассоциируется по-разному. На самом деле, это программа, только вредоносная, которая причиняет вред компьютеру или его программному обеспечению. Существует просто огромное количество самых разнообразных вирусов, которые оказывают различное действие на компьютер. Очень много вирусов удаляет файлы с компьютера, одним из них является Trojan KillFiles 904. Этот вирус, проникая на компьютер, удаляет файлы и папки без разбору, переделывая их имена по алфавиту. Те файлы, которые невозможно удалить в данный момент, он делает скрытыми. Пользователь компьютера, зараженного этим вирусом, в результате его безжалостных действий может остаться без всех данных, кроме системных, которые он не трогает. Некоторые компьютерные вирусы удаляют только определенные виды файлов, например, видео файлы, а другие удаляют все в определенной последовательности. Существует очень много вредоносных программ, которые приводят к потере важной информации на компьютере. Есть вирусы, которые удаляют системные файлы, в результате чего работа компьютера может быть полностью прекращена или становится некорректной.
Последствия удаления файлов
Последствия действия вирусов, удаляющих файлы, могут быть самые плачевные. Потерять файлы, которых очень много в интернете и их всегда можно скачать, не так страшно. Но достаточно часто вирусы удаляют конфиденциальную информацию или какие-то очень важные файлы, у которых нет резервных копий, а также системные, после чего работа ОС будет невозможной.
В случае потери файлов у пользователя ПК возникает вопрос, возможно ли их восстановление? Восстановить файлы всегда достаточно сложно, но во многих случаях возможно, зная последовательность действий и имея специальное программное обеспечение, с этим может справиться практически каждый пользователь ПК.
В случае обнаружения пропажи файлов, необходимо сразу же проверить корзину, в которой могут быть удаленные файлы, возможно, они были удалены случайно, если данные продолжают исчезать, необходимо как можно быстрее установить антивирусную программу с последним обновлением, запустить сканирование, найти вирус и удалить его с компьютера. После этого нельзя записывать и перемещать информацию на жестком диске компьютера, что приведет к перезаписыванию участка, на котором были потерянные данные. После этого их восстановление будет невозможно. После того, как компьютер полностью проверен на вирусы и обезврежен, необходимо установить программное обеспечение, нужное для восстановления потерянных файлов, с помощью которых их можно будет восстановить до перезаписи.
Программы для восстановления данных
Программ, позволяющих восстанавливать утраченную в результате вирусной атаки или любых других причин информацию, очень много. Перечислим наиболее популярные из них:
- PC inspector File Recovery. С помощью этой программы даже неопытный пользователь сможет быстро найти и восстановить удаленные вирусом файлы по любым причинам.
- Recuva. Это одна из наиболее распространенных программ по восстановлению файлов, пользоваться которой можно совершенно бесплатно.
- FinalData Standart. Эта программа - одна из наиболее эффективных по восстановлению удаленных данных с компьютера.
- Search and Recover. Очень мощная и удобная программа, с помощью которой можно восстановить потерянные файлы в результате работы вируса или других причин.
Каждая из перечисленных программ имеет определенные особенности по использованию и управлению, поэтому процедура восстановления данных может различаться по времени и техническим особенностям. На примере разберем восстановление данных с помощью PC Inspector File Recovery.
Для начала необходимо скачать и установить PC Inspector File Recovery на компьютер. В запущенном окне программы необходимо выбрать действия, в данном случае - восстановление пропавших файлов. Также утилита может найти логический диск, давший сбой, или восстановить раздел.
Следующим действием нужно указать диски, на которых следует выполнить поиск потерянных файлов. Это могут быть, как логические диски, так и флешка или другой съемный носитель информации. После этого программа начнет сканирование выбранных дисков и будет выделять найденные данные. Восстановленная информация может быть сохранена на сетевые ресурсы, что позволит предотвратить перезапись и невозможность восстановления некоторых данных. Время сканирования логических дисков будет зависеть от их размеров и количества. После окончания работы все данные, которые удалось восстановить, будут сохранены. Программа PC Inspector File Recovery, позволяющая восстановить файлы, очень простая, удобная и, самое главное, эффективная. Поэтому разобраться с ее работой сможет абсолютно каждый пользователь ПК.
Профилактика потери данных
Для того чтобы максимально защитить свой компьютер от возможной вирусной атаки, необходимо пользоваться только проверенными антивирусными программами, которые должны регулярно обновляться. Периодически нужно производить сканирование ПК для поиска вирусов и их удаления. Все важные данные необходимо скопировать и хранить на других носителях информации, чтобы всегда ими можно было воспользоваться. В таком случае вероятность поражения компьютера вирусом и потери файлов будет минимальной. Если же проблема уже произошла и требуется восстановление, то программы, перечисленные выше, всегда смогут помочь решить проблему по восстановлению данных с минимальными потерями и временными затратами.
После использования на незнакомом компьютере любимой флешки многие пользователи с ужасом обнаруживают, что все хранившиеся на ней материалы каким-то странным образом улетучиваются, превращаясь в ярлыки, хотя объем занятого пространство при этом не меняется. В принципе удивляться здесь нечему. Виной всему вирус на флешке в виде Trojan.Radmin.13 или autorun , который попросту перенес все данные в невидимую для Windows папку. Можно ли от него избавиться? Конечно! Причем сделать это так же просто, как и восстановить на флешке после этого вируса всю исчезнувшую информацию.
Шаг № 1: Настройка отображения данных в Windows
Завершив включение отображения скрытых папок и файлов, можно смело двигаться дальше.
Шаг № 2: Удаление вирусов с внешнего накопителя
После того как Windows окажется настроен для работы, нужно поработать над тем, как удалить вирус с флешки. В этом случае вылечить внешний накопитель от autorun можно при помощи любого установленного на компьютере антивируса. Это может быть:
- Avira;
- Norton Antivirus;
- NOD32;
- Антивирус Касперского;
- Dr.Web;
- Avast;
- Панда Антивирус и пр.
Базы сигнатур у этих программ сегодня практически одинаковые, поэтому каждой из них можно доверить распознать и удалить трояны, autorun и прочие вирусы на флешке. При этом процедура работы с этими антивирусами стандартна. Все, что потребуется – это установить на ПК антивирусную программу, настроить в ней автоматическую проверку внешних накопителей и уже после подключения флешки дождаться удаления с нее всех вирусов.
Также вылечить USB-носитель можно также с помощью специальных утилит. Например, убрать с флешки вирусы могут помочь такие программки со встроенным антивирусом, как AVZ , Virus Removal Tool от Лаборатории Касперского или Dr.Web CureIt :
При этом качественную защиту флешки от autorun обеспечат Antiautorun , FlashControl , Зоркий Глаз , Trustport USB Antivirus . Последний антивирус, в частности, распаковывается на USB-носитель, что позволяет использовать для обеспечения безопасности при подключении к другим компьютерам:
Просканировать и вылечить внешний накопитель от вирусов можно и через интернет. В этом случае поиск autorun и прочих вирусов на флешке помогут выполнить такие онлайн-антивирусы, как Online Scanner от ESET, Security Scan от Kaspersky, Panda ActiveScan .
Вместе с тем если доступ к интернету органичен, внешний накопитель можно попытаться почистить и вручную. Для этого придется отыскать и удалить с флешки все ярлыки с разрешением (.lnk), неизвестные файлы в формате (.exe), autorun.inf и RECYCLER:
Шаг № 3: Восстановление материалов на внешнем накопителе
1 NEWF , либо только команду attrib -s -h /d /s :
В любом случае в результате таких действий атрибуты для скрытых папок аннулируются, преобразовав в итоге ярлыки в действующие каталоги с данными.
В итоге вместо пустых ярлычков на флешке получаем потерянные нами каталоги. При этом несложно заметить, что исходя из этих функций, Total Commander можно использовать и для поиска скрытых вирусов, например, RECYCLER или autorun, заменяя таким образом антивирус.
Практически также просто исправить обнаружение скрытых материалов на накопителе и через утилиту LimFlashFix . Процесс выполнения этой задачи с ее помощью будет выглядеть так:
После проверки флешки антивирусом и удаления autorun и прочих вирусов для восстановления скрытых документов можно воспользоваться лечащим bat-файлом, который содержит набор кодов для настройки параметров отображения скрытых каталогов:
Его можно либо скачать здесь, либо создать вручную, сохранив указанный перечень команд в текстовом документе, а затем изменив его формат с (.txt) на (.bat). Так или иначе, чтобы способ заработал, необходимо переместить bat-файл на флешку.
Вирус или антивирусная программа удалили ценную информацию с компьютера? Не беда! Ниже мы расскажем про эффективные способы возвращения утерянных данных.
Содержание:
Утеря важной информации может быть вызвана самыми различными причинами: случайное форматирование, неправильная очистка диска, неисправность накопителя или флешки, повреждение файловой системы и логической структуры винчестера и т.д.
Данные случаи являются нередкими, но первенство по удалению файлов держат за собой случаи удаления информации вирусами или антивирусным ПО. Такое удаление может коснуться абсолютно любой информации, независимо от её типа. Нередко после удаления вирусами можно не обнаружить фотографий, текстовых документов, таблиц, презентаций или файлов других типов.
Почему происходит удаление файлов вирусами и антивирусами?
Сразу стоит разделить понятия удаления файлов вирусами и антивирусами.
В первом случае – вредоносная программа целенаправленно уничтожает важные данные и другие файлы для нанесения максимального вреда системе. Удалению могут подвергаться данные определенного типа, которые могут нести ценность. Нередко вирусы удаляют или шифруют фотографии, файлы Microsoft Word и т.д.
Кому это выгодно? Разработчикам вирусов, которые могут заниматься вымогательством средств у зараженных пользователей, через оповещения вирусного ПО.
Во втором случае – антивирусная система удалила зараженный или подозрительный файл, чтобы предотвратить дальнейшее распространение заражения по другим файлам.
Каждая антивирусная программа имеет свою структуру, поэтому папка с карантином может находится на диске С, в папке антивируса или в ином месте, в зависимости от установленного антивирусного ПО.
Данная мера может оказаться неэффективной, поскольку вирусы способны встраиваться в структуру файла.
Если пользователь случайно выбрал функцию полного удаления зараженных файлов, восстановить их будет сложнее, но и из этой ситуации можно найти выход.
Как вернуть файлы из карантинов антивирусных программ?
Ниже мы рассмотрим восстановление файлов из карантина, на примере популярных антивирусных программ.
Важно: восстановление вирусов из карантина следует проводить только в том случае, если Вы полностью уверены в безопасности файла.
Avast Free Antivirus
Важно заметить: глобальные обновления практически всех антивирусных программ могут изменять интерфейс и, соответственно, месторасположение карантина.
McAfee Total Protection
Norton AntiVirus
В антивирусной программе Norton AntiVirus для восстановления файлов из карантина следует пройти по таким шагам:
Kaspersky Internet Security
Для восстановления файлов из карантина Kaspersky Internet Security нужно проследовать таким шагам:
Шаг 1. В главном меню программы нажимаем по символу стрелочки в правом нижнем углу.
В следующем меню достаточно отметить необходимые файлы и восстановить их соответствующей кнопкой.
AVG AntiVirus Free
После этого откроется список файлов в карантине, где можно будет выделять и восстанавливать объекты по одному.
Восстановление файлов Recovery Software
После удаления файла вирусами или антивирусным ПО, данные невозможно вернуть при помощи стандартного функционала Windows, поэтому для восстановления информации следует прибегнуть к использованию дополнительных утилит, специализирующихся на восстановлении удаленных данных.
Одной из таких утилит является RS Partition Recovery – мощное средство для быстрого восстановления удаленных данных.
Программа RS Partition Recovery представляет собой эффективную и доступную утилиту, которая способна вернуть данные после случайного форматирования, удаления вирусами или антивирусами, утери данных в результате повреждения накопителя, удаления файлов после изменения разделов и файловой системы жесткого диска, а также других случаев утери данных.
Функционал RS Partition Recovery позволяет провести глубокое сканирование, выявляющее все файлы, возможные для восстановления. Данная функция будет особенно полезна тем, кто обнаружил отсутствие важной информации через определенное время (вплоть до нескольких месяцев) после удаления. Помимо этого, RS Partition Recovery обладает функцией быстрого сканирования, которая поможет вернуть удаленные файлы в течении нескольких минут.
Для работы с программой RS Partition Recovery пользователю достаточно обладать базовыми знаниями работы с компьютером, поэтому утилиту можно смело использовать независимо от пользовательского опыта. Восстановление всей информации может происходить через интуитивно понятный мастер, который сможет быстро провести Вас по меню программы и подсказать что делать на каждом этапе восстановления. Стоит отметить, что RS Partition Recovery обладает низкими системными требованиями, поэтому программа будет работать на офисных машинах, маломощных ноутбуках и слабых ПК. Чтобы ознакомиться с работой, преимуществами и возможностями RS Partition Recovery, рекомендует изучить информацию на официальной странице программы.
Как только троян-вымогатель / шифровальщик попадает в вашу систему, уже поздно пытаться спасти несохраненные данные. Удивительно, но многие киберпреступники не отказываются от своих обязательств после оплаты выкупа и действительно восстанавливают ваши файлы. Конечно, никто гарантий вам не даст. Всегда есть шанс, что злоумышленник заберет деньги, оставив вас наедине с заблокированными файлами.
Тем не менее, если вы столкнулись с заражением шифровальщиком, не стоит паниковать. И даже не думайте платить выкуп. Сохраняя спокойствие и хладнокровие, проделайте следующие шаги:
Строго рекомендуется удалить заражение в безопасном режиме без сетевых драйверов. Существует вероятность того, что шифровальщик мог взломать ваше сетевое подключение.
Удаление вредоносной программы является важным шагом решения проблемы. Далеко не каждая антивирусная программа сможет справится с очисткой. Некоторые продукты не предназначены для удаления данного типа угроз. Проверьте, поддерживает ли ваш антивирус данную функцию на официальном сайте или связавшись со специалистом технической поддержки.
Основная проблема связана с тем, что файлы остаются зашифрованы даже после полного удаления вредоносного заражения. Тем нем менее, данный шаг как минимум избавит вас от вируса, который производит шифрование, что обеспечит защиту от повторного шифрования объектов.
Попытка расшифровки файлов без удаления активной угрозы обычно приводит к повторному шифрованию. В этом случае вы сможете получить доступ к файлам, даже если заплатили выкуп за инструмент дешифрования.
Опять же, вы должны сделать все возможное, чтобы избежать оплаты выкупа. Следующим шагом станет применение бесплатных инструментов для расшифровки файлов. Обратите внимание, что нет гарантий, что для вашего экземпляра шифровальщика существует работающий инструмент дешифрования. Возможно ваш компьютер заразил зловред, который еще не был взломан.
“Лаборатория Касперского”, Avast, Bitdefender, Emsisoft и еще несколько вендоров поддерживают веб-сайт No More Ransom!, где любой желающий может загрузить и установить бесплатные средства расшифровки.
Первоначально рекомендуется использовать инструмент Crypto Sheriff, который позволяет определить ваш тип шифровальщика и проверить, существует ли для него декриптор. Работает это следующим образом:
Crypto Sheriff обработает эту информацию с помощью собственной базы данных и определит, существует ли готовое решение. Если инструменты не обнаружены, не стоит отчаиваться. Одни из декрипторов все-равно может сработать, хотя вам придется загрузить и протестировать все доступные инструменты. Это медленный и трудоемкий процесс, но это дешевле, чем платить выкуп злоумышленникам.
Следующие инструменты дешифрования могут расшифровать ваши файлы. Нажмите ссылку (pdf или инструкция) для получения дополнительной информации о том, с какими вымогателями работает инструмент:
Количество доступных декрипторов может изменяться с течением времени, мы будем регулярно обновлять информацию, проверяя веб-сайт No More Ransom!
Запустить средство дешифрования файлов совсем несложно. Многие утилиты поставляются с официальной инструкцией (в основном это решения от Emsisoft, Kaspersky Lab, Check Point или Trend Micro). Каждый процесс может немного отличаться, поэтому рекомендуется предварительно ознакомиться с руководством пользователя.
Рассмотрим процесс восстановления файлов, зашифрованных трояном-вымогателем Philadelphia:
- Выбираем один из зашифрованных файлов в системе и файл, который еще не был зашифрован. Помещает оба файла в отдельную папку на компьютере.
- Загружает средство дешифрования Philadelphia и перемещаем его в папку с нашими файлами.
- Выбираем оба файла и перетаскиваем их на иконку исполняемого файла декриптора. Инструмент запустит поиск правильных ключей для дешифрования.
- После завершения работы, вы получите ключ дешифрования для восстановления доступа ко всем заблокированным шифровальщикам файлам.
- Затем нужно принять лицензионное соглашение и выбрать варианты расшифровки. Вы можете изменить местоположение объектов и опционально сохранить зашифрованные версии.
- В конечном итоге появится сообщение об успешном восстановлении файлов.
Повторимся, что данный процесс не сработает, если для вашего конкретного экземпляра шифровальщика не существует декриптора. Так как многие пользователи предпочитают заплатить выкуп, а не искать альтернативные способы решения проблемы, даже взломанные шифровальщики активно используются киберпреступниками.
Шаги 1 и 2 будут эффективны только при совместном использовании. Если они не помогут, то используйте следующие рекомендации.
Надеемся, что у вас есть рабочая резервная копия данных. В этом случае даже не стоит задумываться об оплате выкупа – это может привести к более серьезным последствиям, чем ущерб от первичного заражения.
Самостоятельно или делегировав задачу системному администратору, выполните полный сброс системы и восстановите ваши файлы из резервной копии. Защита от действия шифровальшиков – это важная причина использования инструментов резервного копирования и восстановления файлов.
Пользователи Windows могут использовать полный сброс системы до заводских настроек. На официальном сайте Microsoft доступны рекомендации по восстановлению зашифрованных троянами файлов.
Поговорим о компьютерных вирусах? Нет, не о том, что вчера поймал ваш антивирус. Не о том, что вы скачали под видом инсталлятора очередного Photoshop. Не о rootkit-e, который стоит на вашем сервере, маскируясь под системный процесс. Не о поисковых барах, downloader-ах и другой малвари. Не о коде, который делает плохие вещи от вашего имени и хочет ваши деньги. Нет, всё это коммерция, никакой романтики…
В общем, для статьи вполне достаточно лирики, перейдем к делу. Я хочу рассказать о классическом вирусе, его структуре, основных понятиях, методах детектирования и алгоритмах, которые используются обеими сторонами для победы.
Мы будем говорить о вирусах, живущих в исполняемых файлах форматов PE и ELF, то есть о вирусах, тело которых представляет собой исполняемый код для платформы x86. Кроме того, пусть наш вирус не будет уничтожать исходный файл, полностью сохраняя его работоспособность и корректно инфицируя любой подходящий исполняемый файл. Да, ломать гораздо проще, но мы же договорились говорить о правильных вирусах, да? Чтобы материал был актуальным, я не буду тратить время на рассмотрение инфекторов старого формата COM, хотя именно на нем были обкатаны первые продвинутые техники работы с исполняемым кодом.
Начнём со свойств кода вируса. Чтобы код удобней было внедрять, разделять код и данные не хочется, поэтому обычно используется интеграция данных прямо в исполняемый код. Ну, например, так:
Все эти варианты кода при определенных условиях можно просто скопировать в память и сделать JMP на первую инструкцию. Правильно написав такой код, позаботившись о правильных смещениях, системных вызовах, чистоте стека до и после исполнения, и т.д., его можно внедрять внутрь буфера с чужим кодом.
Исполняемый файл (PE или ELF) состоит из заголовка и набора секций. Секции – это выровненные (см. ниже) буферы с кодом или данными. При запуске файла секции копируются в память и под них выделяется память, причем совсем необязательно того объёма, который они занимали на диске. Заголовок содержит разметку секций, и сообщает загрузчику, как расположены секции в файле, когда он лежит на диске, и каким образом необходимо расположить их в памяти перед тем, как передать управление коду внутри файла. Для нас интересны три ключевых параметра для каждой секции, это psize, vsize, и flags. Psize (physical size) представляет собой размер секции на диске. Vsize (virtual size) – размер секции в памяти после загрузки файла. Flags – атрибуты секции (rwx). Psize и Vsize могут существенно различаться, например, если программист объявил в программе массив в миллион элементов, но собирается заполнять его в процессе исполнения, компилятор не увеличит psize (на диске содержимое массива хранить до запуска не нужно), а вот vsize увеличит на миллион чего-то там (в runtime для массива должно быть выделено достаточно памяти).
Флаги (атрибуты доступа) будут присвоены страницам памяти, в которые секция будет отображена. Например, секция с исполняемым кодом будет иметь атрибуты r_x (read, execute), а секция данных атрибуты rw_ (read,write). Процессор, попытавшись исполнить код на странице без флага исполнения, сгенерирует исключение, то же касается попытки записи на страницу без атрибута w, поэтому, размещая код вируса, вирмейкер должен учитывать атрибуты страниц памяти, в которых будет располагаться код вируса. Стандартные секции неинициализированных данных (например, область стека программы) до недавнего времени имели атрибуты rwx (read, write, execute), что позволяло копировать код прямо в стек и исполнять его там. Сейчас это считается немодным и небезопасным, и в последних операционных системах область стека предназначена только для данных. Разумеется, программа может и сама изменить атрибуты страницы памяти в runtime, но это усложняет реализацию.
Также, в заголовке лежит Entry Point — адрес первой инструкции, с которой начинается исполнение файла.
Необходимо упомянуть и о таком важном для вирмейкеров свойстве исполняемых файлов, как выравнивание. Для того чтобы файл оптимально читался с диска и отображался в память, секции в исполняемых файлах выровнены по границам, кратным степеням двойки, а свободное место, оставшееся от выравнивания (padding) заполнено чем-нибудь на усмотрение компилятора. Например, логично выравнивать секции по размеру страницы памяти – тогда ее удобно целиком копировать в память и назначать атрибуты. Даже вспоминать не буду про все эти выравнивания, везде, где лежит мало-мальски стандартный кусок данных или кода, его выравнивают (любой программист знает, что в километре ровно 1024 метра). Ну а описание стандартов Portable Executable (PE) и Executable Linux Format (ELF) для работающего с методами защиты исполняемого кода – это настольные книжки.
Если мы внедрим свой код в позицию точно между инструкциями, то сможем сохранить контекст (стек, флаги) и, выполнив код вируса, восстановить все обратно, вернув управление программе-хосту. Конечно, с этим тоже могут быть проблемы, если используются средства контроля целостности кода, антиотладка и т.п., но об этом тоже во второй статье. Для поиска такой позиции нам необходимо вот что:
- поставить указатель точно на начало какой-нибудь инструкции (просто так взять рандомное место в исполняемой секции и начать дизассемблирование с него нельзя, один и тот же байт может быть и опкодом инструкции, и данными)
- определить длину инструкции (для архитектуры x86 инструкции имеют разные длины)
- переместить указатель вперед на эту длину. Мы окажемся на начале следующей инструкции.
- повторять, пока не решим остановиться
Это минимальный функционал, необходимый для того, чтобы не попасть в середину инструкции, а функция, которая принимает указатель на байтовую строку, а в ответ отдает длину инструкции, называется дизассемблером длин. Например, алгоритм заражения может быть таким:
- Выбираем вкусный исполняемый файл (достаточно толстый, чтобы в него поместилось тело вируса, с нужным распределением секций и т.п.).
- Читаем свой код (код тела вируса).
- Берем несколько первых инструкций из файла-жертвы.
- Дописываем их к коду вируса (сохраняем информацию, необходимую для восстановления работоспособности).
- Дописываем к коду вируса переход на инструкцию, продолжающую исполнение кода-жертвы. Таким образом, после исполнения собственного кода вирус корректно исполнит пролог кода-жертвы.
- Создаем новую секцию, записываем туда код вируса и правим заголовок.
- На место этих первых инструкций кладем переход на код вируса.
Это вариант вполне себе корректного вируса, который может внедриться в исполняемый файл, ничего не сломать, скрыто выполнить свой код и вернуть исполнение программе-хосту. Теперь, давайте его ловить.
Думаю, не надо описывать вам компоненты современного антивируса, все они крутятся вокруг одного функционала – антивирусного детектора. Монитор, проверяющий файлы на лету, сканирование дисков, проверка почтовых вложений, карантин и запоминание уже проверенных файлов – все это обвязка основного детектирующего ядра. Второй ключевой компонент антивируса – пополняемые базы признаков, без которых поддержание антивируса в актуальном состоянии невозможно. Третий, достаточно важный, но заслуживающий отдельного цикла статей компонент – мониторинг системы на предмет подозрительной деятельности.
Итак (рассматриваем классические вирусы), на входе имеем исполняемый файл и один из сотни тысяч потенциальных вирусов в нем. Давайте детектировать. Пусть это кусок исполняемого кода вируса:
Как мы увидели, для быстрого и точного сравнения детектору необходимы сами байты сигнатуры и ее смещение. Или, другим языком, содержимое кода и адрес его расположения в файле-хосте. Поэтому понятно, как развивались идеи сокрытия исполняемого кода вирусов – по двум направлениям:
- сокрытие кода самого вируса;
- сокрытие его точки входа.
Сокрытие кода вируса в результате вылилось в появление полиморфных движков. То есть движков, позволяющих вирусу изменять свой код в каждом новом поколении. В каждом новом зараженном файле тело вируса мутирует, стараясь затруднить обнаружение. Таким образом, затрудняется создание содержимого сигнатуры.
Сокрытие точки входа (Entry Point Obscuring) в результате послужило толчком для появления в вирусных движках автоматических дизассемблеров для определения, как минимум, инструкций перехода. Вирус старается скрыть место, с которого происходит переход на его код, используя из файла то, что в итоге приводит к переходу: JMP, CALL, RET всякие, таблицы адресов и т.п. Таким образом, вирус затрудняет указание смещения сигнатуры.
Гораздо более подробно некоторые алгоритмы таких движков и детектора мы посмотрим во второй статье, которую я планирую написать в ближайшее время.
Рассмотренный в статье детектор легко детектирует неполиморфные (мономорфными их назвать, что ли) вирусы. Ну а переход к полиморфным вирусам является отличным поводом, наконец, завершить эту статью, пообещав вернуться к более интересным методам сокрытия исполняемого кода во второй части.
Читайте также: