Сейчас на форуме: _MBK_, tyns777, UniSoft (+11 невидимых)

 eXeL@B —› Программирование —› создание своей Sandbox
Посл.ответ Сообщение

Ранг: 25.7 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 23 мая 2012 16:42
· Личное сообщение · #1

Хочу реализовать свою Sandbox на С++ чтобы ее потом можно было добавить в свой распаковщик (на подобие VMUnpacker) или вирь-анализатор . Подскажите в каком направлении копать. Предполагаю что здесь не обойтись без представления о принципах работы виртуальных машин, но и в этом плане оказалось инфы не густо. Хелп кто чем может




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 23 мая 2012 16:55
· Личное сообщение · #2

цель какая? сэндбоксов полно, можно плагины к ним допиливать и т.д.

-----
[nice coder and reverser]




Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 23 мая 2012 16:59
· Личное сообщение · #3

g3r0n1m0
Ты определись, VMUnpacker и "вирь-анализатор" как бы разного масштаба.
А так пили bosh под свою задачу.



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 23 мая 2012 17:35
· Личное сообщение · #4

[offtop]
Вроде утекли сырки гипервизора вари, никто случаем не видел?




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 23 мая 2012 17:40
· Личное сообщение · #5

Почему утекли? Под линупс какие-то сорцы и на официальном сайте вари валялись, но я не смотрел, что там именно. Возможно, ТС-у тоже полезно будет глянуть.



Ранг: 25.7 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 23 мая 2012 17:43 · Поправил: g3r0n1m0
· Личное сообщение · #6

Hellspawn & F_a_u_s_t цель - попрактиковаться с технологиями эмулирования (тобиш ВМ). а куда дальше пойдут наработки покажет время идей несколько, а знаний не достаточно



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 23 мая 2012 17:43 · Поправил: F_a_u_s_t
· Личное сообщение · #7

NikolayD
Оно?

g3r0n1m0
В таком случае смотри готовые, с наскоку с нуля ты врядли осилишь ибо тема довольно сложная.
Или для начала попробуй написать эмуль для одного процесса, несколько инструкций и апишек, иначе весь пыл помрет в зародыше.

| Сообщение посчитали полезным: NikolayD

Ранг: 25.7 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 23 мая 2012 17:56
· Личное сообщение · #8

F_a_u_s_t слышал вроде бы на сайтах с видео-лекциями по IT-технологиям есть предмет Виртуализация и виртуальные машины... может там удастся почерпнуть чего-нибудь полезного



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 23 мая 2012 18:05
· Личное сообщение · #9

g3r0n1m0
Там теории не от жизни, то есть можно на ночь включать для улучшения сна, это и будет весь профит.
Есть мелкие поделки, типа эмуля доса или самопальной "оси" работающий из под windows, да и так, простенькие эмули, их гугли, там все понятно и попиздрация прилагается, где описывается суть работы.



Ранг: 25.7 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 23 мая 2012 18:39
· Личное сообщение · #10

F_a_u_s_t
спс. а насчет книги "Virtual Machine Design and Implementation in C/C++" (Bill Blunden) что скажешь?



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 23 мая 2012 19:05
· Личное сообщение · #11

g3r0n1m0
Можно почитать, для понятия самой сути работы, еще по гугли - virtual machine source, будут исходники и документация.

| Сообщение посчитали полезным: g3r0n1m0


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 23 мая 2012 21:11 · Поправил: mak
· Личное сообщение · #12

Но там ссылки на левые документы, сорсы видимо так и не появились в сети?!

Code:
  1. VMware confirms source code leak, LulzSec-affiliated hacker claims credit
  2.  
  3. VMware has confirmed a leak of source code from the ESX hypervisor. 
  4. The code was posted on Pastebin on April 8 by a hacker calling himself "Hardcore Charlie."
  5.  
  6. VMware confirmed the theft yesterday, and said there is a "possibility that more files may
  7. be posted in the future." The good news is that the code dates from 2003 to 2004. While
  8. VMware ESX is still heavily used, VMware is shifting customers to a newer hypervisor 
  9. called ESXi, which has a smaller attack surface and is designed to be more secure.
  10.  
  11. "The fact that the source code may have been publicly shared does not necessarily mean
  12. that there is any increased risk to VMware customers," the company said. "VMware 
  13. proactively shares its source code and interfaces with other industry participants 
  14. to enable the broad virtualization ecosystem today. We take customer security seriously 
  15. and have engaged internal and external resources, including our VMware Security Response 
  16. Center, to thoroughly investigate. We will continue to provide updates to the VMware 
  17. community if and when additional information is available."
  18.  
  19. The Kaspersky Lab ThreatPost blog somewhat over-dramatically called the incident the 
  20. "IT equivalent of the Deepwater Horizon oil spill disaster."
  21.  
  22. This VMware source code reportedly was stolen from Chinese military contractor CEIEC, 
  23. the China National Electronics Import-Export Corporation. VMware code wasn't the only
  24. target. Although the VMware connection wasn’t verified until yesterday, the hacker 
  25. Hardcore Charlie told Reuters earlier this month that he hacked into CEIEC seeking 
  26. information on the US military campaign in Afghanistan, and also that he was a friend 
  27. of Hector Monsegur, the LulzSec leader who was caught by the FBI and pleaded guilty 
  28. to criminal hacking charges.


g3r0n1m0 Тебе нужно собрать информацию и потом уже решить конкретно, что тебе нужно. Просто сорсы тебе мало помогут без знания какова цель. Эмулировать процессы?! Для того чтобы эмулировать нечто, хорошо бы знать, что эмулируешь. А как это уже не сложно ..


10d0_23.05.2012_EXELAB.rU.tgz - SandBox_source.rar

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 25.7 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 23 мая 2012 22:08 · Поправил: g3r0n1m0
· Личное сообщение · #13

нашел немного сорцов на codeforge, да и то лишь VM, но как заметил mak действительно от одних исходников толку мало, особенно с китайскими коментами
>mak сэнкс за срц



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 23 мая 2012 22:10
· Личное сообщение · #14

mak
VMware Security Note

Yesterday, April 23, 2012, our security team became aware of the public posting of a single file from the VMware ESX source code and the possibility that more files may be posted in the future. The posted code and associated commentary dates to the 2003 to 2004 timeframe.

The fact that the source code may have been publicly shared does not necessarily mean that there is any increased risk to VMware customers. VMware proactively shares its source code and interfaces with other industry participants to enable the broad virtualization ecosystem today. We take customer security seriously and have engaged internal and external resources, including our VMware Security Response Center, to thoroughly investigate. We will continue to provide updates to the VMware community if and when additional information is available.

То что выкладывали, на то и дал ссылку.



Ранг: 25.7 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 31 мая 2012 00:27 · Поправил: g3r0n1m0
· Личное сообщение · #15

Нашел вот статейку про казалось бы элементарный эмулятор, но не могу до конца разобраться в принципе его работы:

Code:
  1. cld                      ; сброс направления, понятно)
  2. emCPU:
  3. mov  si,emIP           ; в si помещаем указатель на инструкцию
  4. lodsw                      ; считываем слово в ах
  5. xchg ax,di                ; меняемся с di
  6. mov  di,[di]              ; содержимое di берем как адрес и читаем по нему данные
  7. lodsw                      ; поехало второе слово
  8. xchg ax,bx              ;опять то же
  9. or   di,[bx]               ; ясна команда но не суть
  10. lodsw                      ; в общем дальше малость сбился ((((
  11. xchg ax,di
  12. not  ax
  13. mov  emIP,si             ; и не вполне ясна природа emIP
  14. stosw
  15. jmp  short emCPU


-->Сама статья<--



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 31 мая 2012 01:43
· Личное сообщение · #16

g3r0n1m0
Плохо читал, emIP == instruction pointer то есть указатель на инструкцию и зачем тебе асм если там есть алгоритм на python-e.



Ранг: 25.7 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 31 мая 2012 21:34
· Личное сообщение · #17

F_a_u_s_t
В пайтоне я не силен, да и в асме хотелось разобраться




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 31 мая 2012 21:42 · Поправил: reversecode
· Личное сообщение · #18

g3r0n1m0
перечитайте название статьи! "Модель процессора с одной командой"
что же вы хотите от однокомадной VM??

VodoleY пишет:
З.Ы.reversecode очень большое спасибо за ссылку на статью, я ее раньше не видел

все не так, совершенно не так, про статью то я знал
но статью g3r0n1m0 сам нашел, но смысл статьи не понял и привел код VMCPU на одну комманду! о чем и было сказано в названии статьи.



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 01 июня 2012 13:28 · Поправил: VodoleY
· Личное сообщение · #19

g3r0n1m0 в статье "Модель процессора с одной командой" к седнбоксу как по мне не имеет отношения. тут скорее показана логика ВМпрота (в начале статьи былож описано что это защита), а точнее его способы мутации логических опереций. тебе лучше почитать http://uinc.ru/articles/47/ "Эмуляция программного кода"
З.Ы.reversecode очень большое спасибо за ссылку на статью, я ее раньше не видел
З.Ы.Ы. есть ли у кого книжки по булевой арифметике, буду благодарен

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 25.7 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 01 июня 2012 19:16
· Личное сообщение · #20

VodoleY так мне же и посоветовали начать с понятия принципов работы vm
ps а из книг по булевой алгебре в сети нашкреб немного:
Подзоров. Булевы алгебры( учебное пособие по спецкурсу)
Сикорский Р. - Булевы алгебры
Гончаров С.С. - Счётные булевы алгебры и разрешимость
Ерош_И.Л.-Дискретная_математика._Булева_алгебра,_комбинационные_схемы,_преобразования_двоичных_последовательностей
Владимиров В.А. Булевы алгебры
Балюк А.С.и др. Избранные вопросы теории булевых функций
Блюмин_С.Л.-Математические_проблемы_искусственного_интеллекта__Булева_линейная_алгебра




Ранг: 37.1 (посетитель), 11thx
Активность: 0.030
Статус: Участник

Создано: 01 июня 2012 20:09 · Поправил: Promix_17
· Личное сообщение · #21

Сам когда-то пытался сделать. Задумывалось что-то типа виртуальной среды для исполнения win32 экзешников с полной эмуляцией x86. Т.е. предполагаемая песочница имитировала бы загрузку образа Win32 PE, а затем начинала бы эмулировать исполнение программы с её точки входа. Весь энтузиазм закончился на реализации WinAPI. Если вызывать напрямую - то в топку виртуальную машину, если эмулировать - так это практически нереально, а если ж фильтровать - то тоже фиг знает как. Так всё и остановилось.

В принципе эмулятор x86 можно с большим трудом выдрать из VBox или Bochs, кстати последний вариант не так уж и плох как кажется.



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 01 июня 2012 20:13
· Личное сообщение · #22

Promix_17 я нашел старый порт боша под делфи, ввиде маразма заставил его исполнять свой код(т.е. его емулятор) но бош мне не подошел, он проэктировался как виртуальная машина, с выделением по факту физической памяти.. т.е. жрет ресурсы что больной, + масса глюков, которые были заимствованы у оригинала и еще плюс те, которые получились при порте, проэкт порта заморожен так что не сильно вариант

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 37.1 (посетитель), 11thx
Активность: 0.030
Статус: Участник

Создано: 01 июня 2012 20:38 · Поправил: Promix_17
· Личное сообщение · #23

Наконец-таки нашёл эту замечательную ссылку. Встречайте:

http://pdos.csail.mit.edu/~baford/vm/ - полностью рабочая песочница x86, да только под Linux((( Основной плюс - размер исходников относительно компактен.



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 08 июля 2012 11:20
· Личное сообщение · #24

Не смотрел:

--> Link <--

--> Link <--

| Сообщение посчитали полезным: VodoleY
 eXeL@B —› Программирование —› создание своей Sandbox
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати