SafeMachine projekt, nechť tě síla provází

Preview:

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

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ář: jermar@avast.com

Martin Hron: hron@avast.com

http://blog.avast.com

Recommended