Новости Статьи Российское ПО VMware Veeam StarWind vStack Microsoft Citrix Symantec События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Все самое нужное о виртуализации и облаках

Более 6470 заметок о VMware, AWS, Azure, Veeam, Kubernetes и других

VM Guru / Articles / Аппаратура виртуализации для O-DAY антивирусной защиты.

Аппаратура виртуализации для O-DAY антивирусной защиты.

Аппаратура виртуализации для O-DAY антивирусной защиты.

Автор: Андрей Луценко
Дата: 31/01/2011

Поддержите VM Guru!

USDT / TRC20, адрес: TCDP7d9hBM4dhU2mBt5oX2x5REPtq9QdU1




Статья:

Предисловие от VM Guru: С удовольствием представляем статью нашего автора Андрея Луценко, специалиста в области информационной безопасности, где рассказывается о способах антивирусной защиты с помощью аппаратной виртуализации.

Для более глубокого понимания статьи рекомендуем прочитать следующие статьи Андрея:

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

Intel хочет победить вирусы

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

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

Результат оказался неудачным: защита, построенная на базе этой технологии, была встроена в операционные системы (пример — DEP в Microsoft Windows), но с легкостью пробивалась вирусами. Причина провала проста — программные компоненты этой защиты работают на том же самом уровне, что и сами вирусы, не имея перед ними приоритета.

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

Что может аппаратура

Сама аппаратура, где бы ее ни размещали, конечно, не панацея от всех бед. Она может контролировать только относительно простые взаимосвязи между объектами программирования (значениями регистров, статусов блоков памяти). Поэтому важна связка контрольной аппаратуры, регистрирующей события, и логических обработчиков этих событий. В реальной работе компьютера таких событий очень много — миллионы в секунду, и из них нужно выбирать только те, которые попадают под критерии вирусной атаки.
Классический гипервизор может контролировать только атаки вирусов, связанные с нарушениями общепринятых соглашений по построению программных модулей. Это ограничивает область эффективного использования такого аппаратного контроля: для построения абсолютной антивирусной защиты возможностей аппаратуры виртуализации явно не хватает. Нужно добавлять специализированные блоки, заточенные на регистрацию более широкого класса событий. Сформулировать требования к такой аппаратуре могут только специалисты в области антивирусной защиты. Видимо, это и послужило причиной интереса Intel к McAfee.

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

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

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

Кроме этого, достаточно просто контролировать запуск программных модулей, загруженных в память со съемных носителей (типа USB Flash). Метод такого контроля очевиден и легко реализуем: средствами аппаратуры виртуализации отслеживаются страницы оперативной памяти, куда происходила загрузка данных со съемного носителя, и эти блоки памяти помечаются как недоступные для исполнения. Попытка выполнить код из такого участка памяти приведет к возникновению события нарушения защиты, которое можно легко зарегистрировать. При наличии такого контроля вирусы типа широко известного Stuxnet будут обнаружены еще до начала их запуска.

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

Гипердрайвер «Красная пилюля» с антивирусной защитой

Чтобы показать возможности гипервизора в качестве антивирусного средства, выкладываю демонстрационную версию Гипердрайвера и ГиперАгента с возможностями обнаружения атак вирусов. Гипердрайвер контролирует средствами аппаратуры виртуализации все без исключения события, связанные с передачей управления — команды и события прерываний, вызовы процедур, джампы. В этих точках происходят выходы из состояния задачи в состояние хоста, где программные обработчики этих событий анализируют состояние процессора. Если анализ показывает опасную ситуацию, информация о ней заносится в дамп событий, который можно просмотреть с помощью «ГиперАгента».

Гипердрайвер загружается с выключенным антивирусным контролем, а включение и выключение контроля происходит в «ГиперАгенте», на вкладке «Дамп».

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

Эта версия «Красной пилюли» контролирует три типа событий в точках передачи управления:

  • Выполнение кода в области виртуальных адресов 0000_0000h — 7FFF_FFFFh с нулевым уровнем привилегий, Это детектирует вирусную атаку нацеленную на повышения уровня привилегий.
  • Передачу управления на код, состоящий из последовательности одинаковых байт (в данном случае — при длине цепочки из 7 и более байт). Это детектирует вирусную атаку переполнением стека и динамически распределяемой памяти.
  • Выполнение любого кода при условии нахождения указателя стека в том же 4-килобайтном блоке, что и этот код. Это детектирует вирусную атаку по классическому сценарию ROP.

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

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

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

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

Дамп регистрирует линейные адреса точек перехода (From_IP и Tо_IP). Программный код зарегистрированного в дампе события можно просмотреть двойным щелчком мыши в колонке Adr_Mem (адрес физической памяти).

Событие зарегистрировано по факту последовательности из 7 одинаковых байт (команда NOP) в точке передачи управления.

Для запуска Гипердрайвера отсылаю вас к инструкции в первой статье цикла: там все описано, и все ограничения на использования «Красной пилюли» также остаются (годятся только процессоры AMD и только 32-битная ОС, для работы программы ГиперАгент требуется Windows).

Как это работает — подробности для профессионалов

Все эти возможности в «Красной пилюле» через использование аппаратуры Nested Paging (NPG) и контроля переходов Recording Control Transfers (LBR). Эти блоки есть и в процессорах AMD и в процессорах Intel — хотя их названия различаются, они обеспечивают одинаковые возможности.

Блок контроля переходов (LBR) позволяет использовать для анализа информацию о точке перехода (FROM_IP, TO_IP). Блок теневой трансляции (NPG) позволяет контролировать все обращения к физическим страницам оперативной памяти через биты контроля U\S, R\W, NXE.

В теневой таблице переадресации РАЕ-64, доступ к которой есть только у гипервизора, для всех блоков памяти выставляется бит NXE, поэтому при попытке начать выполнение команд из этой страницы происходит выход в обработчики событий гипервизора. В точке выхода производится анализ соблюдения формальных соглашений, и если они не нарушены, то эта страница помечается как разрешенная к выполнению кода, после чего происходит возврат в задачу.

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

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

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

Перспективы использования

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

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

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

В любом случае, вектор развития антивирусных технологий определился. Фирма Intel свой выбор сделала, купив McAfee. Посмотрим, кого купит себе AMD.

P.S.

Когда статья и программы, что называется, «вылеживались», ожидая конца новогоднего сезона, пришла новость о том, что в интервью с IDG/Computerworld технический  директор Intel Джастин Раттнер сказал :

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

Далее он продолжил объяснять, что новая технология будет основана на аппаратном обеспечении и не будет полагаться на сигнатуры. В результате этого "совершенно иного" подхода, технология даст возможность распознавать и останавливать самые новые вирусы.
Таким образом, основное утверждение автора, о том, что Intel собирается бороться с вирусами аппаратными средствами уже подтвердилась. Подождем подробностей, но готов спорить, что реализация данной технологии от Intel будет повторять методы уже работающие в «Красной пилюле».

P.P.S.

Придется разочаровать скептиков, которые не приняли всерьез утверждение, что технология виртуализации может применяться в скрытых модулях BIOS со зловредной начинкой. Пример такой программы, выполненной на основе Гипердрайвера «Красная пилюля», уже готов и будет темой следующей статьи этого цикла.

Интересное:





Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

Быстрый переход:
VMware Enterprise Offtopic Broadcom VMachines Veeam Microsoft Cloud StarWind NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools Security Code Cisco vGate SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud DevOps Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs IDC Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V VCF Operations Certification Memory Kubernetes NVMe AI vSAN VMConAWS vDefend VCDX Explore Tanzu Workstation Private AI Update Russian Ports HCX Live Recovery CloudHealth NSX Labs Backup Chargeback Aria VCP Intel Community Ransomware Stretched Network VMUG VCPP Data Protection ONE V2V DSM DPU Omnissa EUC Avi Skyline Host Client GenAI Horizon SASE Workspace ONE Networking Tools Performance Lifecycle AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile SRM ARM HCI Converter Photon OS VEBA App Volumes Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey RDMA vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics HCIBench SureBackup Docs Carbon Black vCloud Обучение Web Client vExpert OpenStack UEM CPU PKS vROPs Stencils Bug VTL Forum Video Update Manager VVols DR Cache Storage DRS Visio Manager Virtual Appliance PowerShell LSFS Client Availability Datacenter Agent esxtop Book Photon Cloud Computing SSD Comparison Blast Encryption Nested XenDesktop VSA vNetwork SSO VMDK Appliance VUM HoL Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP iOS SC VMM VDP PCoIP RHEV vMA Award Licensing Logs Server Demo vCHS Calculator Бесплатно Beta Exchange MAP DaaS Hybrid Monitoring VPLEX UCS GPU SDK Poster VSPP Receiver VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Documentation Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V Capacity KB VirtualCenter NFS ThinPrint VCAP Upgrade Orchestrator ML Director SIOC Troubleshooting Bugs ESA Android Python Hub Guardrails CLI Driver Foundation HPC Optimization SVMotion Diagram Plugin Helpdesk VIC VDS Migration Air DPM Flex Mac SSH VAAI Heartbeat MSCS Composer
Полезные постеры:

Постер VMware vSphere PowerCLI 10

Постер VMware Cloud Foundation 4 Architecture

Постер VMware vCloud Networking

Постер VMware Cloud on AWS Logical Design Poster for Workload Mobility

Постер Azure VMware Solution Logical Design

Постер Google Cloud VMware Engine Logical Design

Постер Multi-Cloud Application Mobility

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Сравнение Oracle VirtualBox и VMware Workstation.

Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.

Работа с дисками виртуальных машин VMware.

Где скачать последнюю версию VMware Tools для виртуальных машин на VMware ESXi.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Как перенести виртуальную машину VirtualBox в VMware Workstation и обратно

Подключение локальных SATA-дисков сервера VMware ESXi в качестве хранилищ RDM для виртуальных машин.

Как поднять программный iSCSI Target на Windows 2003 Server для ESX

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Как использовать возможности VMware vSphere Management Assistant (vMA).

Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Полезные ресурсы:

Последние 100 утилит VMware Labs

Новые возможности VMware vSphere 8.0 Update 1

Новые возможности VMware vSAN 8.0 Update 1

Новые документы от VMware

Новые технологии и продукты на VMware Explore 2022

Анонсы VMware весной 2021 года

Новые технологии и продукты на VMware VMworld 2021

Новые технологии и продукты на VMware VMworld 2020

Новые технологии и продукты на VMware VMworld Europe 2019

Новые технологии и продукты на VMware VMworld US 2019

Новые технологии и продукты на VMware VMworld 2019

Новые технологии и продукты на VMware VMworld 2018

Новые технологии и продукты на VMware VMworld 2017



Copyright VM Guru 2006 - 2026, Александр Самойленко. Правила перепечатки материалов.
vExpert Badge