Виртуальная машина

Discussion in 'Безопасность и Анонимность' started by Elekt, 3 May 2006.

  1. Elekt

    Elekt Banned

    Joined:
    5 Dec 2005
    Messages:
    944
    Likes Received:
    427
    Reputations:
    508
    ======= 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;


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

    Скачать:
    http://www.vmware.com/download/ws/
    http://softsearch.ru/programs/178-107-vmware-workstation-download.shtml
    http://download3.vmware.com/software/wkst/VMware-workstation-5.0.0-13124.tar.gz

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

    Серийники от www.keygen.ru:
    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)


    А также мой личный опыт и наблюдения.
    Всем качать и ставить! =]
     
    #1 Elekt, 3 May 2006
    Last edited: 3 May 2006
    14 people like this.
  2. Rebz

    Rebz Banned

    Joined:
    8 Nov 2004
    Messages:
    4,052
    Likes Received:
    1,533
    Reputations:
    1,128
    МАК может быть только у реальной карты, так как настоящий свич КАК по твоему будет передавать пакеты? =)
     
  3. Elekt

    Elekt Banned

    Joined:
    5 Dec 2005
    Messages:
    944
    Likes Received:
    427
    Reputations:
    508
    Ха-ха :)))
    Ты не первый =]
    КЕЗ тоже долго сомневался: Локальные Войны
    ... и как писал Булгаков, "чуть меня самого с ума не свёл, доказывая, что меня нет!" :)))))
    Вобщем, хз как, но оно работает!
     
    3 people like this.
  4. 9822

    9822 Banned

    Joined:
    3 Aug 2005
    Messages:
    273
    Likes Received:
    29
    Reputations:
    8
    VMWare больше нравится, статья хорошая :)
     
  5. Hakkinen

    Hakkinen New Member

    Joined:
    19 Jun 2006
    Messages:
    2
    Likes Received:
    1
    Reputations:
    0
    Статья отличная!!!! начал пользоваться --- VMWare
     
    #5 Hakkinen, 27 Jun 2006
    Last edited: 28 Jun 2006
    1 person likes this.
  6. madnet

    madnet Умиротворенный

    Joined:
    9 Dec 2004
    Messages:
    868
    Likes Received:
    343
    Reputations:
    423
    У свичей есть буфер маков и на одну дырку он может записать большое количество маков, вот поэтому все нормально работает.

    Да кстати, почему-то Elekt не удилил внимания самым ярким особенностям Виртуалок. К примеру, VMware позволяет, где-то за 10 секунд, создать клон готовой ОС и он будет жить, практически отдельной жизнью, к тому же, очень хорошо организована работа с сетью, и на своем компе ты можеш создать целую корпаративку с маршрутизаторами, роутерами, потерями пакетов, переломами сети и т.д. что бывает очень полезно, прежде чем прокладывать сеть.
    Ну а так, как всегда молодец.
     
    _________________________
    #6 madnet, 28 Jun 2006
    Last edited: 28 Jun 2006
  7. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    Статья отличная -) ток небольшие дополнения, ты пишешь
    не читал статью касперского про то как вирусы вырываются с виртуалок ? =)
     
  8. Alex007in

    Alex007in New Member

    Joined:
    30 Jun 2006
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Стать классная!спасибо!но вот комп у меня это дело тянет тяжело((
     
  9. goblin8

    goblin8 New Member

    Joined:
    17 Aug 2006
    Messages:
    18
    Likes Received:
    0
    Reputations:
    0
    А вот этот патч http://honeynet.rstack.org/tools/vmpatch.c сужествует ли откомпелированная версия под WIN32 ???
     
  10. 9822

    9822 Banned

    Joined:
    3 Aug 2005
    Messages:
    273
    Likes Received:
    29
    Reputations:
    8
    Хотел немного добавить 8)

    Ставим эмулятор на основную ос, берем freecap допустим ставим проксю, и весь траф сразу пускаем на эмулятор, и уже в нем не нужно возится и внем выстовлять прокси соксы ... лично мне так удобней может комуто тоже поможет
     
    2 people like this.
  11. L0rd_Ha0S

    L0rd_Ha0S Elder - Старейшина

    Joined:
    25 Jan 2006
    Messages:
    148
    Likes Received:
    102
    Reputations:
    64
    Статья отличная!
    Мне больше VMWare нравится, после VirtualPC у меня сеть копыта откидывает. Начинаются такие баги..., сетевое подключение по локалке постоянно пропадает. В итоге обращается тем, что у меня комп только раза с пятого нормально загружается :( А до этого наблюдаю BSOD :)
     
    #11 L0rd_Ha0S, 5 Oct 2006
    Last edited: 5 Oct 2006
  12. MegaBits

    MegaBits Elder - Старейшина

    Joined:
    30 Aug 2006
    Messages:
    151
    Likes Received:
    24
    Reputations:
    10
    А как настроить виртуальную сеть между Windows и Linux или FreeBSD в каких из двух созданных сетевых карт че надо прописывать? У меня VMware.
     
  13. L0rd_Ha0S

    L0rd_Ha0S Elder - Старейшина

    Joined:
    25 Jan 2006
    Messages:
    148
    Likes Received:
    102
    Reputations:
    64
    Настраиваешь так же, как если бы это была реальная сеть. Например, у твоего компа с виндой(реальный комп) ip: 192.168.1.1, маска: 255.255.255.0, тогда в линуксе от рута даешь такие команды
    Code:
    ifconfig eth0 192.168.1.2 netmask 255.255.255.0
    и если интерфейс eth0 опущен, тогда
    ifup eth0
    Только не забудь разрешить гостевой ОС доступ к твоей сетевухе(в настройках)
     
  14. wang

    wang Member

    Joined:
    15 Sep 2006
    Messages:
    18
    Likes Received:
    12
    Reputations:
    0
    http://rapidshare.de/files/37115982/virtualnie_mashiny.rar 32 mb все подробно и яснительно Ж-))
    Издательство: Питер, 2006 г.
    Тираж: 2000 экз.
     
  15. jonart

    jonart Elder - Старейшина

    Joined:
    6 Apr 2005
    Messages:
    37
    Likes Received:
    5
    Reputations:
    0
    хоршая статья я тока убедился в очередной раз что VmWare лучший! =)))
     
  16. Серый

    Серый Elder - Старейшина

    Joined:
    10 Nov 2006
    Messages:
    36
    Likes Received:
    24
    Reputations:
    -3
    Elekt the best ,статья сила!
     
  17. maniac.pl

    maniac.pl New Member

    Joined:
    6 Dec 2006
    Messages:
    18
    Likes Received:
    2
    Reputations:
    1
    Статья супер, юзал бы , да комп помрет :((( (слабый), чё то похожее читал на http://www.xakepy.ru/statia-bezopasnostii-karderov-t15410.html , хотя нет, эта очень гуд, однозначно +...
     
  18. Elekt

    Elekt Banned

    Joined:
    5 Dec 2005
    Messages:
    944
    Likes Received:
    427
    Reputations:
    508
    Все респекты справедливо принадлежат Крису Касперски ака мыщъх.
    Я лишь скромно дополнил, оформил и донёс его труды до Вас.
     
    1 person likes this.
  19. Elekt

    Elekt Banned

    Joined:
    5 Dec 2005
    Messages:
    944
    Likes Received:
    427
    Reputations:
    508
    Разыскиваются асемблерные коды для детекта виртуалок. Оплата по-плюсовая =))
     
  20. Max_25

    Max_25 New Member

    Joined:
    24 Dec 2006
    Messages:
    8
    Likes Received:
    1
    Reputations:
    0
    На VMware можно сеть и VPN настрить? если да то подскажите плиз