Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #48, НОЯБРЬ 2004 г.

Инструментарий хакера

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

Спецвыпуск: Хакер, номер #048, стр. 048-080-3


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

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

Расширяемость

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

Некоторые из эмуляторов расширяемы, некоторые - нет. Но даже у расширяемых степень маневренности и глубина конфигурабельности довольно невелики и поверхностно документированы (если документированы вообще). Наверное, это происходит оттого, что фактор расширяемости реально требуется очень и очень немногим. Эмуляторы ведь пишут не для хакеров! А жаль.

Открытость исходных текстов

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

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

Качество эмуляции

Какой прок от эмулятора, если на нем не запускается SoftIce? Можно, конечно, использовать и другие отладчики, например Olly Debugger, но их возможности более ограниченны, а на некачественных эмуляторах некоторые из защищенных программ просто не идут!

Для увеличения скорости эмуляции многие из разработчиков сознательно усекают набор эмулируемых команд, поддерживая только наиболее актуальные из них (это относится к привилегированным командам защищенного режима, командам математического сопроцессора включая "мультимедийные" и некоторым редкоземельным командам реального режима). Служебные регистры, флаги трассировки и другие подобные им возможности чаще всего остаются незадействованными. Тем не менее, такие эмуляторы пригодны не только для запуска игрушек! Их можно использовать как "карантинную" зону для проверки свежераздобытых программ на вирусы или как подопытную мышь для экспериментов с тем же Disk Editor'ом.

Назад на стр. 048-080-2  Содержание  Вперед на стр. 048-080-4