2. Temná strana Síly
metody 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
3. Světlá strana Síly
metody 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
4. DeepScreen
řád rytířů Jedi
avast! SandBox
(virtualizace)
bezpečnost na úrovni API a OS
SafeMachine
(binární translace)
vhled na instrukční úrovni
+
7. Binarní translace (instrumentace)
rozklad kódu za běhu na „basic blocks“
vstupní bod (EP)
JMP ADDR
….
….
…
disasembler
překladač
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
cachemiss
pokračujnaADDR
začni na adrese EP
spustit
ADDR
JMP EP
….
….
…
pokračujnaEP
metadata
REÁLNÉ CPU
8. Emulace
virtuální provádění instrukce po instrukci
disasembler
virtuální CPU
virtuální stav CPU
registry, PC, eflags....
“virtuální mikrokód”
c++/c implemenatce každé instrukce
vstupní bod (EP)
JMP ADDR
….
….
…
strojový kód
ADDR
JMP EP
….
….
…
začninaadreseEP
REÁLNÉ CPU
Instrukce na PC
9. Symbióza SafeMachine s guest procesem
rozklad kódu za běhu na „basic blocks“
guest proces
RING0–KERNEL
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
Hook
spusť basic block
syscall ?
ANO
NE
SYSTÉM
VRSTEV
BASICBLOCKSCACHE
MEMORY
MANAGER
DATA FLOW
CONTROL FLOW
HOST
GUEST
10. 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
12. 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%.