Upload
security-session
View
165
Download
0
Embed Size (px)
Citation preview
SafeMachine projektnechť tě síla provázíMartin Hron, Jakub Jermář
AVAST Software, research
Temná strana Sílymetody jak se skrýt
Obfuskovaný kód
Anti-debugging triky
Využívání nedokumentovaných vlastností CPU a OS
„Timing tricks“
Nejsilnější zbraní je šifrování a polymorfismus
Světlá strana Sílymetody detekce
statická analýza
známé signatury
známé packery, jejich signatury a unpacking
behaviorální analýza – dynamická
spuštění v sandboxu a monitorování high level událostí
sledování na instrukční úrovni
DeepScreenřád rytířů Jedi
avast! SandBox(virtualizace)
bezpečnost na úrovni API a OS
SafeMachine(binární translace)
vhled na instrukční úrovni
+
NtWriteFile()
NtSetInformationKey()
NtCreateProcess()
?No jasně,
tohle znám!
Příběh Síly
Cože?
Binarní translace (instrumentace)rozklad kódu za běhu na „basic blocks“
vstupní bod (EP)
JMP ADDR
….….…
dis
ase
mb
ler
pře
klad
ač
Basic Block
skok na dispečer
basic block na adrese EP
basic block na adrese ADDR
strojový kód basic blocks cache
dispečer
cache hit
cach
e m
iss
po
krač
uj n
aA
DD
R
začni na adrese EP
spustit
ADDR
JMP EP
….….…
po
krač
uj n
a EP
metadata
REÁLNÉ CPU
Emulacevirtuální provádění instrukce po instrukci
dis
asem
ble
r
virtuální CPU
virtuální stav CPUregistry, PC, eflags....
“virtuální mikrokód”c++/c implemenatce každé instrukce
vstupní bod (EP)
JMP ADDR
….….…
strojový kód
ADDR
JMP EP
….….…
začn
i na
adre
se E
P
REÁLNÉ CPU
Instrukce na PC
Symbióza SafeMachine s guest procesemrozklad kódu za běhu na „basic blocks“
guest proces
RIN
G0
–K
ERN
EL
injektor
vytvoření suspendovaného
guest procesu
Ntdll.dll
LdrInitializeThunk
KiUserException…
KiUserCallBack
NtContinue
NtCallbackReturn
generic syscall
guest kód
thread and process initialization
zahookovani LdrInitializeThunk
HookInicializace threadu
spuštění guest procesu
čekání na ukončení guest
procesu
vyhledání nebo vytvoření basic blocku
na daném PC
Machine (DBT translator)
BINÁRNÍ TRANSLACE
Dispatch
Callback dispatch
Exception dispatch
Hook
Hookspusť basic block
syscall ?ANO
NE
SYSTÉM VRSTEV
BA
SIC
BLO
CK
S C
AC
HE
MEMORYMANAGER
DATA FLOW
CONTROL FLOW
HOST
GUEST
Využití a přínos pro technologii DeepScreen
- Avast! SandBox zajišťuje bezpečnost a monitorování “high level” událostí
- SafeMachine sleduje především:vznik nových paměťových stránek
modifikace obsahu pamětových stránek
vykonávání „nového“ kódu
- Statická analýza (hledání známých signatur) probíhá nad výstupem ze SafeMachine
Demo
Závěrem
Tato technologie je testována pravidelně na cca. 50000 virových vzorkův naší virové laboratoři.
Od verze avast! Antivirus 2014 je součástí všech edicí, tedy i edice free,
to je cca. 100 000 000 aktivních uživatelů.
Je součástí VPS, je tedy neustále vylepšována a aktualizována.
Současný podíl SafeMachine na detekčních schopnostech DeepScreen je asi 30%.
Díky za pozornost
Otázky?
Jakub Jermář: [email protected]
Martin Hron: [email protected]
http://blog.avast.com