======= Intro

Что же такое Виртуальная Машина и зачем она нужна?

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

Важно, чтобы ваше железо было не слишком старым, так как виртуалка требует значительных ресурсов и сильно нагружает комп.
Желательно, чтобы частота процессора была выше 1.5 ГГц, а оперативы более 256 Мб. Иначе ничего приличнее 98 винды, или 4-го RedHat'a поставить вы не сможете, а если и сможете - я вам не завидую.

======= Вот основные задачи, решаемые с помощью виртуальной машины:

- Обучение.
Зачастую многие бояться ставить другую операционную систему - слишком неожиданный и грубый переход, особенно для неопытных пользователей.
Непривычная среда, незнакомые программы и интерфейс - легко запутаться и растеряться, тем более, если нет знающего человека поблизости.
Неудобство обращения с накопленной информацией на носителях(NTFS, ext3, mac не поймут друг друга без спец.утилит).
Плюс ко всему - риск потери важной информации при неумелом обращении с новой системой.
Всех этих ньюансов можно избежать, постепенно обучаюсь на виртуальной машине - это поможет медленно адаптироваться к новой оси.
Можно не бояться убить систему перекомпиляцией ядра или установкой экзотических настроек\драйверов, так как имеется запись "сохранений" состояния (snapshot).

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

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

- Анонимность.
Как ещё можно скрыть данные о себе, путешествуя по закромам сети? Повсюду происходит логирование версий используемых нами программ, сайты кишат коварными жава-скриптами, везде идёт сбор статистики.
Вот, например: http://antichat.ru/txt/old/header_cl.shtml
Пожалуй, самая высокая степень анонимности нужна тем, кто не хочет о себе много рассказывать по вполне понятным причинам. Например, Кардерам.
На виртуальная виртуальную машину устанавливают иностранную версию какой-либо ОС + такой же софт + прокси из того же региона. И попробуй догадайся, что это не Mr.Tramper из штата Вашингтон, а Васька-хакер из России.
Ходят слухи, что в последние клиенты WM Keeper встроено определение виртуальной среды, и при обнаружении таковой - информация о кошельке и операциях передаёться на сервер.

======= Программ виртуальных машин существует несколько.

Мы подробно рассмотрим две самые рпаспространённые VirtualPC vs VMWare.
Проведём сравнительный тест VirtualPC и VMWare и оценим их пригодность для выполнения различных задач.

1) Совместимость.

Принцип работы виртуалок таков. Нам требуеться исходная(хостовая\основная) операционная система, в которой нам собственно удобно работать и от которой мы ещё не готовы отказаться =]

- Соответственно, сам инсталятор виртуалки должен поддерживать нашу хостовую ОС.

VMWare - Windows\Linux
VirtualPC - Windows

Ага! Итак, на самом начальном этапе выясняеться, что если вы заядлый линуксоид - ваш выбор очевиден, и вам полезно лишь ознакомится с особенностями ВМвари, описанными ниже.
А поклоники винды могут выбирать виртуалку своей мечты =]

- Операционная система, устанавливаемая в виртуальной среде, называеться гостевой. И опять же, здесь есть ограничения.

VMWare - офф. поддержка любой ОС: 32\64 разрядная, i386 архитектуры.

VirtualPC - офф. поддержка Win систем, неофициальная - всех остальных i386.

Тоесть, по сути одно и тоже, что несколько радует. Правда не факт, что какой-нибудь новейший дистрибутив вдруг встанет на одну и не встанет на другую.

=======
Для совместимости драйверов ОС виртуалка эмулирует самые распространённые девайсы, потому как правило проблем и глюков не возникает.
Есть два отличия:
- эмуляция в VMWare позволяет сымитировать двух- четырёх-процессорную мат-плату. VirtualPC на такое не способен.
- для работы VirtualPC НЕОБХОДИМА файловая система NTFS на хостовой системе.

=======
В линейке дистрибутивов виртуалок есть некоторое разнообразие, однако не будем углубляться на ненужных нам различиях, просто учтём, что:

VMware:
- Player - только запуск готового образа
- Workstation - создание\запуск\настройка образа
- Virtual Server - как Workstation+серверные фичи

VirtualPC:
- Virtual PC - создание\запуск\настройка образа
- Virtual Server - как Virtual PC+серверные фичи
- Windows Scripting Host - удалённое управление(раб.стол!) через WEB

=======
Оба продукта имеют одинаковые возможности по поддержке сетевых интерефейсов:

- "Use bridged" - непосредственный доступ к сетевому интерфейсу:
виртуалка юзает одну и туже сетевую карту с хостовой никак не мешая, имея свой собственый айпи-мак(!).
Я реально оценил такую возможность, и долго прикалывался в болталке над юзерами, разговаривая с ними и сам с собой =]
Это очень интересная особенность поскольку можно держать сколь угодно много(кол-во виртуалок) айпи-маков на одном интерфейсе без применения спуфинга и сниферов в локальных сетях на свичах.

- "Use NAT" - трансляция сетевых адресов.
При использовании ната гостевая машина может общаться с внешней сетью, имеет тот же IP, что и ваша машина, к гостевой системе НЕЛЬЗЯ обратиться из вне напряую.
Помните, что некоторые провайдеры не допускают использование NAT'a и могут обнаружить вашу гостевую ОС, так как при прохождении пакетов через вас размер TTL уменьшаеться на единицу, что может быть зафиксировано.
Кроме того, в NAT'e ВМвари была недавно найденна уязвимость, позволяющая выполнить произвольный код на основной системе.
http://www.securitylab.ru/vulnerability/243282.php
Публичного сплоита пока нет, но долго ли небудет?

- "Use NAT host-only" - отдельное изолированное подключение между хостовой и гостевой ОС.

- "Do not use networking" - нет сетевых подключений.

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

=======
Разумееться, производительность гостевой системы не на высоте, потому не стоит пытаться запускать ресурсоёмкие приложения\игры и прочее - ничего хорошего из этого не выйдет.

2) Анонимность.

А можно ли определить использование виртуальной среды? Ещё как!
Есть множество способов, и ни отнюдь не теоретические. Механизмы детектирования виртуалок давно реализованы.
Вот несколько сорсов, используемых в продвинутых вирусах и червях(например, Agobot'e). Здесь есть методы детектирования виртуалок, антиотладочные приёмы:
Tracking Botnets - Source Code

Механизмы обнаружения VMWare:

- специфическое оборудование
видеокарта VMware Inc [VMware SVGA II] PCI Display Adapter;
сетевая карта Advanced Micro Devices [AMD] 79c970 [PCnet 32 LANCE] (rev 10);
жесткие диски VMware Virtual IDE Hard Drive и VMware SCSI Controller;

Если вирус поинтересуеться конфигурацией вашего железа - приехали.
Более того, виртуальныю среду можно элементарно определить удалённо: сетевая карточка ВМвари имеет специфический мак-адрес:
Код:

00:05:69:**:**:** VMWARE, Inc. 00:0C:29:**:**:** VMware, Inc. 00:50:56:**:**:** VMWare, Inc.

Полный список соответствий мак-разработчик можно скачать ТУТ (взято из инстала NetView).
Соответственно рекомендуеться сменить мак-адрес гостевой системы программными методами, описанными здесь.

- механизм управления
Так называемый бэкдор для служебных целей, через который происходит управление ВМварей через порт ввода\вывода.
При выполнении определённых операций с регистрами произойдёт исключение на реальном компе, но не на ВМвари - она будет обнаружена.
VMware Backdoor I/O Port

Существует патч, написанный Костей Кортчинским, изменяющий тип и версию оборудования, MAC-адрес сетевой карточки и номер бэкдора.
http://honeynet.rstack.org/tools/vmpatch.c
Однако, это не панацея. Например, виртуалка имеет специфический биос, и номер бэкдора можно ведь и подобрать при желании...

Механизмы обнаружения VirtualPC:
В принципе много схожего с VMware.

- специфическое оборудование
видеокарта S3 Trio32\64
сетевуха Intel 21140
По идее можно встроить в вирус защиту на неактивацию при нахождении этих двух железяк. Думаю, количество ложных срабатываний будет близко к нулю.

- механизм управления
ВиртуалРС использует инвалидные инструкции процессора, которые также можно детектировать. Изменяющих заплаток нет.

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

=======
Хм, пожалуй самый интересный и оригинальный вариант - хакерить на MacOS Ни VMWare, ни VirtualPC не позволяют его установить, поскольку не поддерживают эмуляцию PowerPC.
Для эмуляции и установки Мака используют PearPC(есть и под Windows и под Linux: СКАЧАТЬ ). Но это уже совсем другая история...

======= Линки на скачку и документацию

Официальный сайт VMWare:
http://www.vmware.com

[COLOR=White]Скачать:
http://www.vmware.com/download/ws/
http://softsearch.ru/programs/178-1...-download.shtml
http://download3.vmware.com/softwar....0-13124.tar.gz

Установка под Линукс:
http://www.vandekamer.com/linux/vmware.php

Серийники от [forbidden link]
SERIAL-vmware_5.5.1.19175: U1DA4-E0G2D-DAH4G-4P8Z3
SERIAL-vmware_5.0.0-13124: A99YT-0888V-NANDZ-4MRX2

Официальный сайт VirtualPC:
http://www.microsoft.com/windows/virtualpc/default.mspx

======= Использованы материалы:

"Виртуалкины" пакости и заподлостроительство:
VMWARE. Клонируем компы. Делаем из одного компа много разных

Захват чужого ботнета:
Смена командования

Методы обхода виртуальных машин:
Побег из VMWare (Хакер 03.2006)

А также мой личный опыт и наблюдения.
Всем качать и ставить! =]