информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяВсе любят медГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / software
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Почти 04.05.07 11:23  Число просмотров: 2702
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> ты хочешь сказать что при каждой загрузке страницы в память
> vmware.exe дизассемблирует

Зачем дизассемблить все страницы? Ведь большая часть будет все таки данными, а не кодом. Насколько я помню во фрейме page fault-а указывается причина fault-а и fetch и read - разные типы фолтов. Анализировать надо только фетчи. Как решается проблема с последующим чтением памяти, которая пропатчена (при чтении должно возвращаться старое содержимое, а PF-а уже не будет, так как страница уже в памяти) я не знаю, хотя идеи есть.

> инструкции (страница не обязательно начинается на границе
> инструкции) и после анализа
> результата патчит некотороые байты? что-то сомнительно с
> т.з. перформанса
> даже если учесть что это нужно только для ядра и только
> один раз на страницу

> я сам точно не знаю но краем уха слышал что якобы вара
> работает в 1 ринге и эмулируются
> соответственно только привилегированные инструкции

Все правильно слышал.

> в этом случае код не "статически анализируется на предмет
> "опасных" инструкций"

Ну да. Но прикол в том, что x86 не отвечает критериям Попека и Голдберга
http://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requirements
и к примеру инструкция SIDT не является привелегированной. Таким образом если кто-то (например target OS) захочет посмотреть содержимое IDT, GDT, LDT то никакого эскепшена не произойдет и код target-машины получит содержимое соответствующих регистров host-машины. Есть еще проблемы с кольцами защиты, например. Да и вообще до фига.

А вот как раз полное выполнение всех "опасных" инструкций через эксепшены это и есть аппаратная виртуализация и именно потому, что:
1. Эксепшенов значительно больше, потому что больше привелегированных инструкций
2. Результат никак не кешируется и при каждом проходе через привелегированную инструкцию ее обработка будет производиться в обработчике исключения.

Вот по этим двум причинам аппаратная виртуализация (гипервизор) медленнее "программной".
<software> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach