large scale drive by download detec4on visit n process
play

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


  1. Large-­‑scale ¡drive-­‑by ¡download ¡detec4on: ¡ ¡ visit n . ¡process. ¡analyse. ¡report. ¡ Adriaan ¡Dens ¡ Mar4jn ¡Bogaard ¡ ¡ Students ¡Master ¡of ¡System ¡and ¡Network ¡Engineering ¡ ¡ Under ¡supervision ¡of: ¡ ¡ ¡

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

  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 ¡

  4. 4 ¡

  5. Challenges ¡current ¡systems ¡ • Slow ¡ • Single ¡website ¡at ¡a ¡4me ¡ • Hard ¡to ¡maintain ¡ ¡ 5 ¡

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

  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 ¡ ¡

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

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

  10. The ¡Goal ¡ ��������������������� ������������ ������������ ������������ ���������������������� ���������������������� ���������������������� ��������������������������������� ������������������������������������������ �������� ����������� ����������������������������������������� ������������������������ ������������������������������ ���������������������������� �������������������� 10 ¡

  11. Algorithm ¡ • Pladorm ¡independent ¡ – PoC ¡for ¡Windows ¡7 ¡ • Browser ¡independent ¡ – PoC ¡for ¡Internet ¡Explorer ¡8 ¡ • Fast(er) ¡ • Limited ¡maintenance ¡needed ¡ 11 ¡

  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 ¡

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

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

  15. Source: ¡hFp://newgre.net/node/5 ¡ API ¡hooking ¡ 15 ¡

  16. Connec4ng ¡the ¡dots… ¡ 16 ¡

  17. Algorithm ¡in ¡4 ¡simple ¡steps ¡ • Visit ¡(the ¡URLs) ¡ ¡ • Process ¡(the ¡data) ¡ ¡ • Analyse ¡(the ¡graph) ¡ • Report ¡(the ¡findings) ¡ 17 ¡

  18. Analyse ¡graph ¡ ��������������������� ������������ ������������ ������������ ���������������������� ���������������������� ���������������������� ��������������������������������� ������������������������������������������ �������� ����������� ����������������������������������������� ������������������������ ������������������������������ ���������������������������� �������������������� 18 ¡

  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 ¡

  20. Running ¡it… ¡ 20 ¡

  21. Proof ¡of ¡Concept ¡ 21 ¡

  22. Proof ¡of ¡Concept ¡ 22 ¡

  23. Proof ¡of ¡Concept ¡ 23 ¡

  24. Proof ¡of ¡Concept ¡ 24 ¡

  25. Proof ¡of ¡Concept ¡ 25 ¡

  26. Proof ¡of ¡Concept ¡ 26 ¡

  27. 27 ¡

  28. 28 ¡

  29. 29 ¡

  30. 30 ¡

  31. But ¡is ¡it ¡also ¡faster? ¡ 31 ¡

  32. Benchmarks ¡ 32 ¡

  33. 100,000" 90,000" 80,000" 70,000" 60,000" Seconds( Anubis" 50,000" Cuckoo" 40,000" Roadrunner" 30,000" 20,000" 10,000" 0" 1" 5" 10" 25" 50" 100" 250" 500" 1000" URLs( Comparison ¡of ¡benchmark ¡results ¡ 33 ¡

  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 ¡

  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 ¡

  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 ¡

  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 ¡

Recommend


More recommend