Large-scale drive-by download detec4on: visit n . process. - - PowerPoint PPT Presentation

large scale drive by download detec4on visit n process
SMART_READER_LITE
LIVE PREVIEW

Large-scale drive-by download detec4on: visit n . process. - - PowerPoint PPT Presentation

Large-scale drive-by download detec4on: visit n . process. analyse. report. Adriaan Dens Mar4jn Bogaard Students Master of System and Network


slide-1
SLIDE 1

Large-­‑scale ¡drive-­‑by ¡download ¡detec4on: ¡ ¡

  • visitn. ¡process. ¡analyse. ¡report. ¡

Adriaan ¡Dens ¡ Mar4jn ¡Bogaard ¡ ¡ Students ¡Master ¡of ¡System ¡and ¡Network ¡Engineering ¡ ¡ Under ¡supervision ¡of: ¡ ¡ ¡

slide-2
SLIDE 2

Source: ¡hFp://www.bleepsta4c.com/Host/uploads/2/cryptolocker-­‑2.0.jpg ¡

2 ¡

slide-3
SLIDE 3

Drive-­‑by ¡downloads ¡

  • Vulnerable ¡browsers ¡and ¡plugins ¡

– Remote ¡code ¡execu4on ¡

  • Malver4sing ¡
  • Hard ¡to ¡detect ¡

Source: ¡hFp://blog.armorize.com/2011/04/newest-­‑adobe-­‑flash-­‑0-­‑day-­‑used-­‑in-­‑new.html ¡(modified) ¡

3 ¡

slide-4
SLIDE 4

4 ¡

slide-5
SLIDE 5

Challenges ¡current ¡systems ¡

  • Slow ¡
  • Single ¡website ¡at ¡a ¡4me ¡
  • Hard ¡to ¡maintain ¡

¡

5 ¡

slide-6
SLIDE 6

Challenges ¡current ¡systems ¡

  • Slow ¡
  • Single ¡website ¡at ¡a ¡4me ¡
  • Hard ¡to ¡maintain ¡
  • Have ¡we ¡already ¡said ¡they’re ¡slow? ¡

¡

6 ¡

slide-7
SLIDE 7

Challenges ¡current ¡systems ¡

  • Slow ¡
  • Single ¡website ¡at ¡a ¡4me ¡
  • Hard ¡to ¡maintain ¡
  • Have ¡we ¡already ¡said ¡they’re ¡slow? ¡

– But ¡that’s ¡not ¡really ¡their ¡fault, ¡it ¡was ¡ never ¡designed ¡for ¡this ¡purpose ¡

¡

7 ¡

slide-8
SLIDE 8

Research ¡ques4on ¡

How ¡can ¡we ¡concurrently ¡visit ¡mul4ple ¡URLs ¡and ¡ s4ll ¡be ¡able ¡to ¡determine ¡which ¡URL ¡was ¡ responsible ¡for ¡malicious ¡ac4vi4es? ¡

8 ¡

slide-9
SLIDE 9

Research ¡ques4on ¡

How ¡can ¡we ¡concurrently ¡visit ¡mul4ple ¡URLs ¡and ¡ s4ll ¡be ¡able ¡to ¡determine ¡which ¡URL ¡was ¡ responsible ¡for ¡malicious ¡ac4vi4es? ¡

9 ¡

slide-10
SLIDE 10

The ¡Goal ¡

10 ¡

slide-11
SLIDE 11

Algorithm ¡

  • Pladorm ¡independent ¡

– PoC ¡for ¡Windows ¡7 ¡

  • Browser ¡independent ¡

– PoC ¡for ¡Internet ¡Explorer ¡8 ¡

  • Fast(er) ¡
  • Limited ¡maintenance ¡needed ¡

11 ¡

slide-12
SLIDE 12

Determine ¡malware ¡origin ¡

  • One ¡website ¡

– Many ¡HTTP ¡requests ¡

  • Easy ¡solu4ons: ¡

– Modify ¡web ¡browser ¡and ¡add ¡logging ¡ – Monitor ¡network ¡

  • Scalable ¡solu4on: ¡

– Observing ¡API ¡calls ¡ – Includes ¡thread ¡and ¡process ¡context ¡

12 ¡

slide-13
SLIDE 13

Web ¡browser ¡process ¡model ¡

13 ¡

Source: ¡hFp://blogs.msdn.com/b/ie/archive/2008/03/11/ie8-­‑and-­‑loosely-­‑coupled-­‑ie-­‑lcie.aspx ¡

slide-14
SLIDE 14

Web ¡browser ¡network ¡stack ¡

14 ¡

Source: ¡hFps://msdn.microsoi.com/en-­‑us/library/windows/desktop/aa383766%28v=vs.85%29.aspx ¡

slide-15
SLIDE 15

API ¡hooking ¡

Source: ¡hFp://newgre.net/node/5 ¡

15 ¡

slide-16
SLIDE 16

Connec4ng ¡the ¡dots… ¡

16 ¡

slide-17
SLIDE 17

Algorithm ¡in ¡4 ¡simple ¡steps ¡

  • Visit ¡(the ¡URLs) ¡

¡

  • Process ¡(the ¡data) ¡

¡

  • Analyse ¡(the ¡graph) ¡
  • Report ¡(the ¡findings) ¡

17 ¡

slide-18
SLIDE 18

Analyse ¡graph ¡

18 ¡

slide-19
SLIDE 19

Proof ¡of ¡Concept ¡

  • Cuckoo ¡

– Support ¡for ¡analysis ¡of ¡single ¡website ¡ – Cuckoomon ¡(API ¡hooking) ¡

  • Windows ¡7 ¡+ ¡IE ¡8 ¡
  • Actual ¡detec4on ¡is ¡out ¡of ¡scope ¡

– And ¡up ¡to ¡the ¡user ¡in ¡exis4ng ¡solu4ons ¡

19 ¡

slide-20
SLIDE 20

Running ¡it… ¡

20 ¡

slide-21
SLIDE 21

Proof ¡of ¡Concept ¡

21 ¡

slide-22
SLIDE 22

Proof ¡of ¡Concept ¡

22 ¡

slide-23
SLIDE 23

Proof ¡of ¡Concept ¡

23 ¡

slide-24
SLIDE 24

Proof ¡of ¡Concept ¡

24 ¡

slide-25
SLIDE 25

Proof ¡of ¡Concept ¡

25 ¡

slide-26
SLIDE 26

Proof ¡of ¡Concept ¡

26 ¡

slide-27
SLIDE 27

27 ¡

slide-28
SLIDE 28

28 ¡

slide-29
SLIDE 29

29 ¡

slide-30
SLIDE 30

30 ¡

slide-31
SLIDE 31

But ¡is ¡it ¡also ¡faster? ¡

31 ¡

slide-32
SLIDE 32

Benchmarks ¡

32 ¡

slide-33
SLIDE 33

33 ¡

Comparison ¡of ¡benchmark ¡results ¡

0" 10,000" 20,000" 30,000" 40,000" 50,000" 60,000" 70,000" 80,000" 90,000" 100,000" 1" 5" 10" 25" 50" 100" 250" 500" 1000" Seconds( URLs( Anubis" Cuckoo" Roadrunner"

slide-34
SLIDE 34

Research ¡ques4on ¡

How ¡can ¡we ¡concurrently ¡visit ¡mul4ple ¡URLs ¡ and ¡s4ll ¡be ¡able ¡to ¡determine ¡which ¡URL ¡was ¡ responsible ¡for ¡malicious ¡ac4vi4es? ¡ ¡

  • ­‑ Use ¡tabbed ¡browsing ¡
  • ­‑ Make ¡use ¡of ¡modern ¡browser ¡architectures ¡
  • ­‑ In-­‑depth ¡process ¡monitoring ¡(API ¡Hooking) ¡
  • ­‑ Graph ¡based ¡analysis ¡

34 ¡

slide-35
SLIDE 35

Future ¡Work ¡

  • Finishing ¡touch ¡PoC ¡

– Stability ¡ – Known ¡false ¡posi4ves ¡ – Correctly ¡crea4ng ¡the ¡graph ¡is ¡hard ¡

  • But ¡all ¡data ¡is ¡available ¡for ¡manual ¡analysis ¡like ¡before ¡

– And ¡now ¡you ¡know ¡where ¡to ¡start ¡looking ¡ ¡

  • BeFer ¡analysis ¡

– Machine ¡learning? ¡

35 ¡

slide-36
SLIDE 36

Thanks! ¡

  • Our ¡great ¡supervisors ¡from ¡the ¡NCSC ¡

– Jop ¡van ¡der ¡Lelie ¡& ¡Wouter ¡Katz ¡

  • The ¡Cuckoo ¡developers ¡

– Especially ¡Jurriaan ¡Bremer ¡for ¡helping ¡us ¡in ¡ understanding ¡Cuckoo ¡and ¡solving ¡our ¡own ¡ introduced ¡bugs ¡

36 ¡

slide-37
SLIDE 37

Ques4ons? ¡

Adriaan ¡Dens ¡ ¡ adriaan.dens@os3.nl ¡ ¡ Mar4jn ¡Bogaard ¡ ¡ mar4jn.bogaard@os3.nl ¡ ¡ ¡ Check ¡it ¡out ¡now: ¡

hFps://github.com/Mar4jnB/cuckoo/tree/mul4-­‑url ¡