Виртуалка-камуфляж: вредоносный подход к виртуализации

Введение

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

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

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

1. Компьютерные вирусы, их свойства и классификация

1.1 Свойства компьютерных вирусов

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

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

Вирус — программа, обладающая способностью к самовоспроизведению. Такая способность является единственным средством, присущим всем типам вирусов. Но не только вирусы способны к самовоспроизведению. Любая операционная система и еще множество программ способны создавать собственные копии. Копии же вируса не только не обязаны полностью совпадать с оригиналом, но, и могут вообще с ним не совпадать! Вирус не может существовать в «полной изоляции»: сегодня нельзя представить себе вирус, который не использует код других программ, информацию о файловой структуре или даже просто имена других программ. Причина понятна: вирус должен каким-нибудь способом обеспечить передачу себе управления.

1.2 Классификация компьютерных вирусов.

Вирусы можно разделить на классы по следующим основным признакам:

  • среда обитания;
  • операционная система;
  • особенности алгоритма работы;
  • деструктивные возможности.

По среде обитания вирусы можно разделить на:

13.6. Как защитить компьютер от вирусов

Рассмотрим основные меры по защите ЭВМ от заражения вирусами:

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

13.4.Какие бывают вирусы

Рассмотрим основные виды вирусов. Существует большое число различных классификаций вирусов:

  • по среде обитания:
    • сетевые вирусы, распространяемые различными компьютерными сетями;
    • файловые — инфицируют исполняемые файлы, имеющие расширение exe и com.
      К этому же классу относятся и макровирусы, написанные с помощью макрокоманд.
      Они заражают неисполняемые файлы (в Word, Excel);
    • загрузочные — внедряются в загрузочный сектор диска или в сектор,
      содержащий программу загрузки системного диска. Некоторые вирусы
      записываются в свободные секторы диска, помечая их в FAT-таблице как плохие;
    • загрузочно-файловые — интегрируют черты последних двух групп;
  • по способу заражения (активизации):
    • резидентный вирус логически можно разделить на две части — инсталятор
      и резидентный модуль. При запуске инфицированной программы управление получает инсталятор,
      который выпоняет следующие действия:
      1. размещает резидентный модуль вируса в ОЗУ и выполняет операции, необходимые для того,
        чтобы последний хранился в ней постоянно;
      2. подменяет некоторые обработчики прерываний, чтобы резидентный модуль
        мог получать управление при возникновении определенных событий.
    • нерезидентный вирусы не заражают оперативную память и проявляют свою
      активность лишь однократно при запуске инфицированной программы;
  • по степени опасности:
    • не опасные — звуковые и видеоэффекты;
    • опасные — уничтожают часть файлов на диске;
    • очень опасные — самостоятельно форматируют жесткий диск;
  • по особенностям алгоритма:
    • компаньон-вирусы не изменяют файлы. Алгоритм их работы состоит в том, что
      они создают для exe-файлов новые файлы-спутники (дубликаты), имеющие то же имя, но
      с расширением com. (com-файл обнаруживается первым, а затем вирус запускает exe-файл);
    • паразитические — при распространении своих копий обязательно изменяют
      содержимое дисковых секторов или файлов (все вирусы кроме компаньонов и червей);
    • черви (репликаторы) — аналогично компаньонам не изменяют файлы и
      секторы диска. Они проникают в компьютер по сети, вычисляют сетевые адреса других
      компьютеров и рассылают по этих адресам свои копии. Черви уменьшают пропускную
      способность сети, замедляют работу серверов;
    • невидимки (стелс) — используют набор средств для маскировки своего
      присутствия в ЭВМ. Их трудно обнаружить, т.к. они перехватывают обращения ОС
      к пораженным файлам или секторам и подставляют незараженные участки файлов;
    • полиморфики (призраки, мутанты) — шифруют собственное тело
      различными способами. Их трудно обнаружить, т.к. их копии практически не
      содержат полностью совпадающих участков кода;
    • троянская программа — маскируется под полезную или интересную
      программу, выполняя во время своего функционирования еще и разрушительную работу
      или собирает на компьютере информацию, не подлежащую разглашению. В отличие от вирусов,
      троянские программы не обладают свойством самовоспроизводства.
  • по целостности:
    • монолитные — программа представляет единый блок;
    • распределенные — программа разделена на части. Эти части содержат инструкции,
      которые указывают как собрать их воедино, чтобы воссоздать вирус.

Теория

Итак, что вооб­ще такое тро­ян? Вирус — это прог­рамма, глав­ная задача которой — самоко­пиро­вание. Червь активно рас­простра­няет­ся по сети (типич­ный при­мер — «Петя» и WannaCry), а тро­ян — скры­тая вре­донос­ная прог­рамма, которая мас­киру­ется под «хороший» софт.

Ло­гика подоб­ного зараже­ния в том, что поль­зователь сам ска­чает себе вре­донос на компь­ютер (нап­ример, под видом кряк­нутой прог­раммы), сам отклю­чит защит­ные механиз­мы (ведь прог­рамма выг­лядит хорошей) и захочет оста­вить надол­го. Хакеры и тут не дрем­лют, так что в новос­тях то и дело мель­кают сооб­щения о новых жер­твах пират­ско­го ПО и о шиф­роваль­щиках, поража­ющих любите­лей халявы. Но мы‑то зна­ем, что бес­плат­ный сыр быва­ет толь­ко в мусор­ке, и сегод­ня научим­ся очень прос­то начинять тот самый сыр чем‑то не впол­не ожи­даемым.

warning

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

Глоссарий по виртуализации

  • Гипервизор/VMM (Монитор виртуальной машины) –  «мозг», обеспечивающий виртуализацию: он абстрагирует, изолирует виртуальное аппаратное железо и управляет им. 
  • Хост-машина – машина (физическая или виртуальная), на которой выполняется VMM
  • Гость /VM/Виртуальная машина – машина, основанная на абстрактном аппаратном обеспечении и изолированном программном, предоставляемом machine VMM
  • Кольца защиты:
  • Четыре периметра (кольцо 0 – кольцо 3) иерархии предметной области, обеспечиваемые на аппаратном уровне 
  • Применяется для отграничения пространства ядра (обычно кольцо 0) от пользовательского пространства (обычно кольцо 3) или гостевой VM от хостовой VM/VMM
  • Железо проверяет текущий уровень привилегий (), указанный в CS (сегменте с кодом) выполняющего процесса, сравнивая этот показатель с  (уровнем привилегий дескриптора), относящимся к целевой области памяти 
  • Привилегированные инструкции:
  • Как правило, необходимо выполнять в кольце 0
  • Управляют критически важным низкоуровевым исполнением (HLT, LIDT)
  • Отображение в памяти (INVLPG)
  • Чтение/запись в специальные регистры  (RDMSR, WRMSR, MOV CRx)
  • Могут предоставлять неограниченный доступ к хостовой OS
  • Чувствительные инструкции  — чтение и запись в MMIO (ввод-вывод через память) и устройства ввода/вывода (IN/OUT, MOV   <MEMORY_MAPPED_REGISTER>)
    Эти инструкции действуют по-разному в зависимости от того, в каком кольце защиты находятся (POPF)
    Могут предоставлять неограниченный доступ через гостевую VM
  • Инструкции перехвата – перехват команд и перенаправление логики управления 
  • Эмуляция – Программы, действующие как «имитация» аппаратного обеспечения с издержками на трансляцию  
  • Полная виртуализация:
  • Критически важные инструкции, обнаруживаемые статически или динамически и заменяемые прерываниями, которые инициируют эмулированное выполнение  
  • Работает весьма медленно из-за издержек, связанных с эмуляцией 
  • Паравиртуализация:
  • Эмуляция с учетом присутствия гостевой системы, заменяющая чувствительные инструкции API-вызовами к гостю 
  • Работает весьма быстро, но при этом негибко, поскольку гостя нужно модифицировать 
  • Виртуализация с аппаратной поддержкой –
  • Абстрагирование и поддержка чувствительных инструкций с поддержкой на уровне железа 
  • Наиболее эффективный вариант, но зависит от архитектуры (напр., x86 vs AMD)

Рисунок 3: Типы виртуализации

Слабое место

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

Как отмечают эксперты ESET, основное внимание
необходимо направить именно на те физические накопители, которые используются
для доставки и установки ПО на изолированные системы. «И накопители для
переноса данных на изолированные системы, и машины с выходом в интернет, к
которым эти накопители подключаются, нуждаются в самой тщательной проверке
перед каждой операцией, — говорит Анастасия
Мельникова, директор по информационной безопасности компании SEQ

— Злоумышленники могут
через Всемирную сеть установить на нужную систему вредонос, который
автоматически будет заражать любые внешние накопители в надежде попасть в итоге
внутрь изолированного периметра. Соответственно, данные на накопитель должны
попадать только с максимально защищенной машины. Не помешает и установка
антивирусных средств и внутрь изолированных систем»

«И накопители для
переноса данных на изолированные системы, и машины с выходом в интернет, к
которым эти накопители подключаются, нуждаются в самой тщательной проверке
перед каждой операцией, — говорит Анастасия
Мельникова, директор по информационной безопасности компании SEQ. — Злоумышленники могут
через Всемирную сеть установить на нужную систему вредонос, который
автоматически будет заражать любые внешние накопители в надежде попасть в итоге
внутрь изолированного периметра. Соответственно, данные на накопитель должны
попадать только с максимально защищенной машины. Не помешает и установка
антивирусных средств и внутрь изолированных систем».

Образцы вредоносных программ

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

Ссылки предоставляются исключительно в научных и образовательных целях.

  • theZoo ― активно пополняемая коллекция вредоносных программ, собранная специально для исследователей и специалистов по кибербезопасности.

  • Malware-Feed ― коллекция вредоносных программ от virussamples.com.

  • Malware samples ― пополняемый github-репозиторий с вредоносами, к которым прилагаются упражнения по анализу вредоносного ПО.

  • vx-underground ― еще одна обширная и постоянно растущая коллекция бесплатных образцов вредоносных программ.

  • Malshare ― репозиторий, который помимо образцов малвари предлагает дополнительные данные для YARA.

  • MalwareBazaar ― проект, целью которого является обмен образцами вредоносного ПО с поставщиками антивирусных программ и сообществом экспертов по информационной безопасности. Поддерживает собственное API.

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

  • VirusShare ― большой репозиторий вредоносных программ с обязательной регистрацией.

  • The Malware Museum ― вирусы, распространявшиеся в 1980-х и 1990-х годах. Практически безобидны на фоне остальных ссылок из этого раздела и представляют скорее историческую ценность.

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

Если проявить осторожность, ум и внимательность, во вредоносном ПО можно найти немало интересного

Удачной охоты!

13.5. Что такое антивирусная программа

Для борьбы с вирусами разрабатываются антивирусные программы.

Антивирусное средство это программный продукт или устройство,
выполняющее одну, либо несколько из следующих функций:
1) защиту данных от разрушения; 2) обнаружение вирусов; 3) нейтрализацию вирусов.

Различают следующие виды:

  • программы-детекторы рассчитаны на обнаружение конкретных, заранее известных программе
    вирусов и основаны на сравнении характерной последовательности байтов (сигнатур), содержащихся в теле
    вируса, с байтами проверяемых программ. Программы-детекторы снабжаются блоками эвристического анализа.
    В этом режиме делается попытка обнаружить новые или неизвестные вирусы по характерным для всех
    вирусов кодовым последовательностям.
  • программы-дезинфекторы (фаги) не только находят зараженные файлы, но и лечат
    их, удаляя из файла тело программы-вируса. В России получили широкое распространение детекторы,
    одновременно выполняющие функции дезинфекторов: AVP, Aidstest, DoctorWeb.
  • программы-ревизоры анализируют текущее состояние файлов и системных областей
    диска и сравнивают его с информацией, сохраненной ранее в одном из файлов ревизора.
    При этом проверяется состояние загрузочного сектора, FAT-таблицы, а также длина файлов,
    их время создания, атрибуты, контрольные суммы. (ADinf)
  • программы-фильтры (мониторы) оповещают пользователя обо всех попытках
    какой-либо программы выполнить подозрительные действия. Фильтры контролируют
    обновление программных файлов и системной области диска, форматирование диска,
    резидентное размещение программ в ОЗУ.

Единственное средство подключения

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

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

Эксперты компании ESET исследовали 17
вредоносных фреймворков, которые различные хакеры использовали на протяжении
последнего десятилетия для атак на изолированные системы.

Единственным способом
доставить на них вредоносное ПО и вывести данные во всех случаях оказываются
съемные приводы.

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

Эксперты: для атак на изолированные системы всегда используются флэшки

Помимо Stuxnet, однако, существует
множество других вредоносных комплексов, нацеленных на изолированные системы. В
их числе Ramsay,
разработанный южнокорейской APT-группой DarkHotel, PlugX, разработанный китайской APT-группой Goblin Panda, а также Fanny, принадлежащий EquationGroup, вероятному детищу АНБ США. Также были исследованы
фреймворки ProjectSauron и agent.btz, происхождение которых
остается загадкой, и многие другие.

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

Дальнейшие исследования и оптимизация

Рисунок 8: Таблица для самопроверки

  • Извлекатель для совместно используемой памяти – можно настроить извлекатель так, чтобы он делился памятью с вредоносами и тем самым не так сильно светил разделяемые данные.
  • Извлекатель для совместно используемой сети – в некоторых случаях бывает более рационально воровать данные через какой-нибудь сетевой протокол, поскольку за ним могут следить не столь пристально.
  • Вредоносы для промышленного использования – мы экспериментировали с реальными вредоносами, например, xmrig и GonnaCry, и оба можно обернуть в виртуалку без труда.
  • Среда времени исполнения – как vCloak1, так и vCloack2, могут быть представлены в виде минимальной VM, MicroVM, Unikernel или просто крошечного загружаемого ELF, если вложенная виртуализация не требуется. Весь этот уровень опционален.
  • Гипервизор пользовательского пространства – На протяжении всего этого экскурса используется firecracker, но можно реализовать более компактный гипервизор для пользовательского пространства, чтобы еще сильнее ужать полезную нагрузку.
  • Гипервизор пространства ядра – может быть подготовлена собственноручно сделанная альтернатива KVM, которая позволила бы ужать полезную нагрузку и расширить возможности блокировки, но это уже тема для отдельной статьи alternative can be produced to reduce payload size and add cloaking abilities.
  • Укрепление – Можно сделать камуфляж еще эффективнее, воспользовавшись новыми возможностями, например, MAP_EXCLUSIVE, SGX или SVE\SME для более полного сокрытия памяти.
  • Расширенная область атаки на хост – такими возможностями мы не пользуемся, поскольку их обсуждение выходит за рамки этой статьи. Правда, известны уязвимости, которые позволили бы сделать камуфляж еще эффективнее.

Инструменты динамического анализа и песочницы

  • Cuckoo Sandbox — платформа для анализа разнообразных вредоносных файлов в виртуализированных средах Windows, Linux, macOS и Android. Поддерживает YARA и анализ памяти зараженной виртуальной системы при помощи Volatility.

  • CAPE ― песочница с функцией автоматической распаковки вредоносного ПО. Построена на базе Cuckoo. Позволяет проводить классификацию на основе сигнатур Yara.

  • Qubes OS ― защищенная операционная система, основанная на концепции разграничения сред. Использует гипервизор Xen и состоит из набора отдельных виртуальных машин. Может служить площадкой для исследования вредоносов, однако не включает в себя специализированные инструменты для их анализа.

  • x64dbg ― отладчик с открытым исходным кодом под Windows, предназначенный для реверс-инжиниринга вредоносных файлов. Выделяется обширным списком специализированных плагинов.

  • DRAKVUF ― безагентная система бинарного анализа типа «черный ящик». Позволяет отслеживать выполнение бинарных файлов без установки специального программного обеспечения на виртуальной машине. Требует для работы процессор Intel с поддержкой виртуализации (VT-x) и Extended Page Tables (EPT).

  • Noriben ― простая портативная песочница для автоматического сбора и анализа информации о вредоносных программах и составления отчетов об их действиях.

  • Process Hacker ― продвинутый диспетчер задач, позволяющий наблюдать за поведением подозрительных программ в реальном времени. Отображает сетевые подключения, активные процессы, информацию об использовании памяти и обращениях к жестким дискам, использовании сети. Также отображает трассировки стека.

  • Sysmon ― системная служба Windows, регистрирующая активность системы в журнале событий Windows. Предоставляет подробную информацию о происходящем в системе: о создании процессов, сетевых подключениях времени создания и изменения файлов. Работает с заранее созданными конфигурационными файлами, которые можно найти на github.

  • hollows_hunter ― сканер процессов, нацеленный на обнаружение вредоносных программ и сбор материалов для дальнейшего анализа. Распознает и создает дамп различных имплантов в рамках сканируемых процессов. Основан на PE-sieve.

  • Sandboxapi ― API Python для создания интеграций с различными проприетарными песочницами.

  • DECAF ― Dynamic Executable Code Analysis Framework ― платформа для анализа бинарных файлов, основанная на QEMU. Поддерживает 32-разрядные версии Windows XP/Windows 7/linux и X86/arm.

  • Frida ― внедряет фрагменты JavaScript в нативные приложения для Windows, Mac, Linux, iOS и Android, что позволяет изменять и отлаживать запущенные процессы. Frida не требует доступа к исходному коду и может использоваться на устройствах iOS и Android, которые не взломаны или не имеют root-доступа.

  • box-js ― инструмент для изучения вредоносного JavaScript-ПО с поддержкой JScript/WScript и эмуляцией ActiveX.

  • Fibratus ― инструмент для исследования и трассировка ядра Windows.

  • analysis-tools ― большая коллекция инструментов динамического анализа для различных языков программирования.

Инструменты статического анализа и реверс-инжиринга

  • IDA ― дизассемблер и отладчик для Windows с бесплатной версией и возможность расширения функциональности при помощи open-source-плагинов, например, Diaphora и FindYara.

  • Binary ninja — популярная альтернатива IDA с бесплатной облачной версией и частично открытым исходным кодом.

  • ret-sync ― набор плагинов, которые позволяют синхронизировать сеансы в дизассемблерах IDA, Ghidra и Binary Ninja.

  • Binary Analysis Platform ― мультиплатформенный набор утилит и библиотек для анализа машинного кода. Поддерживает x86, x86-64, ARM, MIPS, PowerPC. Другие архитектуры могут быть добавлены в виде плагинов.

  • Radare2 ― UNIX-подобная среда для реверс-инжиниринга. Позволяет анализировать, эмулировать, отлаживать, модифицировать и дизассемблировать любой бинарник. Может работать через удаленный сервер gdb.

  • Rizin ― форк Radeone2 с упором на удобство использования и стабильность. Включает все необходимое для полноценного бинарного анализа.

  • cutter ― бесплатная платформа для реверс-инжиниринга с открытым исходным кодом и плагином для интеграции с декомпилятором Ghidra. Построена на базе rizin. Предоставляет удобный пользовательский интерфейс.

  • Un{i}packer ― кроссплатформенная альтернатива деббагеру x64Dbg.

  • diStorm ― быстрый дизассемблер для анализа вредоносного шелл-кода.

  • angr ― мультиплатформенный фреймворк для исследования бинарных файлов.

  • Binwalk ― простой в использовании инструмент для анализа, извлечения образов и реверс-инжиниринга микропрограмм.

  • 4n4lDetector ― инструмент для быстрого анализа исполняемых файлов Windows. Показывает PE-заголовок и его структуру, содержимое разделов, различные типы строк. Облегчает идентификацию вредоносного кода внутри анализируемых файлов. Исходный код не опубликован.

  • capa ― анализирует возможности исполняемых файлов. Вы скармливаете PE, ELF и шеллкод, а capa сообщает, что, может сделать программа.

  • LIEF ― кроссплатформенная библиотека для анализа, изменения и абстрагирования форматов ELF, PE, MachO, DEX, OAT, ART и VDEX без использования дизассемблера.

  • IDR ― декомпилятор исполняемых файлов (EXE) и динамических библиотек (DLL), написанный на Delphi. Часто используется для анализа банковских вредоносных программ.

  • Manalyze ― синтаксический анализатор PE-файлов с поддержкой плагинов. Лежит в основе вышеупомянутого онлайн-сервиса Manalyzer.

  • PortEx ― библиотека Java для статического анализа переносимых исполняемых файлов с акцентом на анализ вредоносных программ и устойчивость к искажениям PE.

  • PE-bear ― анализатор файлов PE-формата со встроенным Hex-редактором и возможностью детектирования различных упаковщиков по сигнатурам.

  • CFF Explorer ― аналог PE-bear, созданный Эриком Пистелли. Представляет собой набор инструментов: шестнадцатеричный редактор, сканер и менеджер подписей, дизассемблер, обходчик зависимостей и т. д. Первый PE-редактор с поддержкой внутренних структур .NET.

  • Qu1cksc0pe ― универсальный инструмент для статического анализа исполняемых файлов Windows, Linux, OSX, а также APK.

  • Quark-Engine ― система оценки вредоносного ПО для Android, игнорирующая обфускацию. Входит в комплект поставки Kali Linux и BlackArch.

  • Argus-SAF ― платформа для статического анализа Android-приложений.

  • RiskInDroid ― инструмент для оценки потенциальной опасности Android-приложений на основе методов машинного обучения.

  • MobileAudit ― SAST-анализатор вредоносных программ для Android.

  • Obfuscation Detection ― набор скриптов для автоматического обнаружения запутанного кода.

  • de4dot ― деобфускатор и распаковщик .NET, написанный на C#.

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

  • JSDetox ― утилита для анализа вредоносного Javascript-кода с функциями статического анализа и деобфускации.

  • XLMMacroDeobfuscator ― используется для декодирования запутанных макросов XLM. Использует внутренний эмулятор XLM для интерпретации макросов без полного выполнения кода. Поддерживает форматы xls, xlsm и xlsb.

Заключение

Компьютерный вирус — специально написанная программа, способная самопроизвольно присоединяться к другим программам, создавать свои копии и внедрять их в файлы, системные области компьютера и в вычислительные сети с целью нарушения работы программ, порчи файлов и каталогов, создания всевозможных помех в работе компьютера. В настоящее время известно более 5000 программных вирусов, число которых непрерывно растет. Основные виды вирусов: загрузочные, файловые, файлово-загрузочные. Наиболее опасный вид вирусов — полиморфные. Любая оригинальная компьютерная разработка заставляет создателей антивирусов приспосабливаться к новым технологиям, постоянно усовершенствовать антивирусные программы. Причины появления и распространения вирусов скрыты с одной стороны в психологии человека, с другой стороны — с отсутствием средств защиты у операционной системы. Основные пути проникновения вирусов — съемные диски и компьютерные сети. Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько видов специальных программ, называемых антивирусными, но ни одна из существующих антивирусных технологий не может обеспечить полной защиты от вирусов.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: