Побег из VM Ware

крис касперски ака мыщъх

Хакер, номер #087, стр. 087-072-1

Проникновение на основную систему из виртуальной машины

Многие хакеры и системные администраторы гоняют сомнительные программы под VM Ware и прочими эмуляторами, считая, что они надежно защищены, однако это не так! Зловредный код может вырваться из эмулятора и покоцать основную систему. Крис Касперски детально исследовал этот вопрос и предлагает несколько эффективных сценариев возможных атак.

так делал твой дедушка

Во времена MS-DOS/9x для экспериментов с вирусами приходилось держать на столе несколько компьютеров или переключаться на специальный жесткий диск, что было крайне неудобно. Народ с тоскою поглядывал в сторону NT, гибкая система безопасности которой позволяла творить чудеса, например, разрешала процессу изменять только специально подсаженные файлы-дрозофилы. Увы! Большинство вирусов не работало под NT! К тому же подсистема защиты оказалась крайне ненадежной и хакеры научились ее обходить (например, эмулировать ввод с мыши/клавиатуры, посылая команды более привилегированному окну). С появлением виртуальных машин (VM Ware, Virtual PC) появился и соблазн использовать их как «загон» для вирусов и червей, что очень удобно. Вместо возни с мониторами, корпусами, жесткими дисками и проводами десяток «системных блоков» свободно размещается в нашей хакерской норе, к тому же некоторые эмуляторы, например BOCHS, содержат встроенные отладчики, уверенно работающие там, где soft-ice и olly уже не справляются.

мой дом — тюрьма

Весь вопрос в том, насколько это надежно. Гонять живого червя на эмуляторе. А вдруг он вырвется за его пределы? Анализ червей, выловленных в дикой природе, показывает, что многие из них уверенно распознают наличие эмулятора, отказываясь на нем запускаться, в результате чего червь имеет хорошие шансы пройти незамеченным. Но хакерская мысль не стоит на месте, пытаясь вырваться из-за стенок виртуальной машины. Теоретически это вполне возможно. Эмуляторы (особенно динамические, то есть такие, которые часть команд выполняют на "живом" процессоре) не свободны от ошибок. Привилегированные команды (типа обращения к портам ввода/вывода) отлавливаются эмуляторами достаточно надежно, и никаких граблей здесь по обыкновению нет, но существует реальная угроза записи в адресное пространство процесса-эмулятора при выполнении "обычных" инструкций. Конечно, модификации подвергается не код, а данные, но если среди этих данных окажется хотя бы один указатель (а он наверняка там окажется), нашу хакерскую задачу можно считать решенной. Единственная проблема в том, что такая дыра (даже если она действительно будет обнаружена) успеет заткнуться быстрее, прежде чем получит большое распространение, к тому же многообразие существующих эмуляторов значительно уменьшают шансы червя на успех. Отбросим гипотетические дыры и сосредоточимся на универсальных методиках, работающих практически под любым эмулятором и эксплуатирующих уязвимости концептуального уровня, которые не так-то просто закрыть. Мыщъх предлагает три сценария атаки: а) проникновение через виртуальную сеть, б) back door-интерфейс эмулятора и в) внедрение в folder.htt в shared folders. Рассмотрим эти механизмы поподробнее.

Содержание  Вперед на стр. 087-072-2
ttfb: 3.3371448516846 ms