Marta Janus Malware Researcher A tale of encounters with novel evasive malware.

Slides:



Advertisements
Similar presentations
ROP is Still Dangerous: Breaking Modern Defenses Nicholas Carlini et. al University of California, Berkeley USENIX Security 2014 Presenter: Yue Li Part.
Advertisements

Computer Basics Hit List of Items to Talk About ● What and when to use left, right, middle, double and triple click? What and when to use left, right,
Lecture 16 Buffer Overflow modified from slides of Lawrie Brown.
Next Generation Endpoint Security Jason Brown Enterprise Solution Architect McAfee May 23, 2013.
RIVERSIDE RESEARCH INSTITUTE Helikaon Linux Debugger: A Stealthy Custom Debugger For Linux Jason Raber, Team Lead - Reverse Engineer.
 Application software consists of programs designed to make users more productive and/or assist with personal tasks.  Growth of internet simplified.
Bypassing antivirus detection with encryption
Chapter 5 Anti-Anti-Virus. Anti-Anti-Virus  All viruses self-replicate  Anti-anti-virus means it’s “openly hostile” to AV  Anti-anti-virus techniques?
ROOTKIT VIRUS by Himanshu Mishra Points to be covered Introduction History Uses Classification Installation and Cloaking Detection Removal.
Chapter 14 Computer Security Threats Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Chapter 1 and 2 Computer System and Operating System Overview
Chapter 9 Security Malware Defenses. Malware Can be used for a form of blackmail. Example: Encrypts files on victim disk, then displays message.
1 E LECTRICAL E NGINEERING AND C OMPUTER S CIENCES U NIVERSITY OF C ALIFORNIA Berkeley Combating Stealth Malware and Botnets in Higher Education Educause.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Advanced Persistent Threats CS461/ECE422 Spring 2012.
Botnets An Introduction Into the World of Botnets Tyler Hudak
Secure Embedded Processing through Hardware-assisted Run-time Monitoring Zubin Kumar.
©2015 Check Point Software Technologies Ltd. 1 [Restricted] ONLY for designated groups and individuals Preventing the next breach or discovering the one.
MSIT 458 – The Chinchillas. Offense Overview Botnet taxonomies need to be updated constantly in order to remain “complete” and are only as good as their.
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
APT29 HAMMERTOSS Jayakrishnan M.
1 UCR Firmware Attacks and Security introduction.
BY ANDREA ALMEIDA T.E COMP DON BOSCO COLLEGE OF ENGINEERING.
Rootkits in Windows XP  What they are and how they work.
Windows PE files Infections and Heuristic Detection Nicolas BRULEZ / Digital River PACSEC '04.
1 Chap 10 Virus. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on an ever increasing.
Nico Yturriaga September 27, Why Necurs?  Infected 80,000+ during December 2012  Tagged as “Rootkit for Hire”  In the wild.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Dr. Richard Ford  Szor 12  Virus Scanners – why they need to scan memory and what issues there are in this area.
MICHALIS POLYCHRONAKIS(COLUMBIA UNIVERSITY,USA), KOSTAS G. ANAGNOSTAKIS(NIOMETRICS, SINGAPORE), EVANGELOS P. MARKATOS(FORTH-ICS, GREECE) ACSAC,2010 Comprehensive.
1 OmniUmpack: Fast, Generic, and Safe Unpacking of Malware Authors: Lerenzo Martignoni, Mihai Christodorescu and Somesh Jha Computer Security Applications.
Amit Malik SecurityXploded Research Group FireEye Labs.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
Operating Systems Security
Concurrency, Processes, and System calls Benefits and issues of concurrency The basic concept of process System calls.
security breakthrough INTRODUCING hypervisor memory introspection
Lecture 5 Rootkits Hoglund/Butler (Chapters 1-3).
The hidden part of TDSS Sergey (k1k) Golovanov, Malware Expert Global Research and Analysis Team Kaspersky Lab.
Operating Systems. Categories of Software System Software –Operating Systems (OS) –Language Translators –Utility Programs Application Software.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
Lecture 10 Anti-debugger techniques. Anti-debuggers Making reverse-engineering and disassembly painful –Polymorphism –Encryption –Interrupt disabling.
©2015 Check Point Software Technologies Ltd. 1 Website Watering Holes Endpoints are at risk in numerous ways, especially when social engineering is applied.
Cosc 4765 Antivirus Approaches. In a Perfect world The best solution to viruses and worms to prevent infected the system –Generally considered impossible.
©2014 Check Point Software Technologies Ltd Security Report “Critical Security Trends and What You Need to Know Today” Nick Hampson Security Engineering.
Dissecting complex code-reuse attacks with ROPMEMU
Intercept X Early Access Program Sophos Tester
Understanding Cyber Attacks: Technical Aspects of Cyber Kill Chain
Botnets A collection of compromised machines
MALWARE.
Virtual Machine Monitors
Tom Hartig Check Point Software Technologies August 13th, 2015
Malware and Computer Maintenance
Browser Instrumentation for Exploit Analysis
Computer Software Digital Literacy.
Exceptional Control Flow
Presented by Xiaohui (Amy) Lin
Computer Software Digital Literacy.
Computer System Structures
Botnets A collection of compromised machines
SPRING DRAGON APT - A CASE STUDY OF TARGETED ATTACKS IN APAC COUNTRIES
Chap 10 Malicious Software.
Morgan Kaufmann Publishers Memory Hierarchy: Virtual Memory
Chap 10 Malicious Software.
Chapter 3: Processes.
Basic Dynamic Analysis VMs and Sandboxes
Following Malware Execution in IDA
Return-to-libc Attacks
Presentation transcript:

Marta Janus Malware Researcher A tale of encounters with novel evasive malware

# whoami reverse engineering adept & enthusiast malware KL since 2009 linux user since 2006 baldur’s gate player since 1999

Are rootkits on decline?

kernel-space no longer safe for malware bootkits easily detected hypervisor-level stealth too complex  shift in malware strategy Tough times for rootkits

hide from admin? bypass detection protect C&C infrastructure protect the payload Hiding vs. evasion the goals

Case 1: Baldur "When the going gets tough, someone hold my rodent!"

# Trojan.Win32.Baldur set of classical anti-vm / anti-dbg checks heavily based on a0rtega`s pafish overly exciting? not really, but......a textbook case :)

# classic_checks

# environmental_checks WinSpy ? MBAM ? ???

# environmental_checks

# drive_size_check

# game_over

Case 2: CVE-0158 & Gimemo "Evil 'round every corner. Careful not to step in any."

# armed-to-the-teeth The_curious_case_of_a_CVE_2012_0158_exploit multilayered OLE objects, lots of obfuscation multi-stage shellcode: ~ stage_1: ROP chain ~ stage_2: decryptor of stage_3 ~ stage_3: egg-hunter ~ stage_4: dropper

# execute_payload

# payload: decrypt_loader

# skip_all_checks

# trigger_exception

# dummy_code

# seh_routine

# anti_hook, anti_bp

# anti_hook, anti_bp: trampoline

# the dropper & the bot

Case 3: PSW & more SEH "No effect?! I need a bigger sword!"

# Trojan-PSW.Win32.Multi also spread via hardened CVE-0158 exploit also lots of anti-* techniques code flow of the loader fully based on exception handling blocks payload saved as a registry value overwrites fxsst.dll to assure persistance

# malware_main; seh chain

# exception_1

# exception_handler

# dormant_phase

# check_trend_micro

# exception_4

# decrypt_inject

Case 4: hardened Zeus "Fool me once, shame on you; fool me twice, watch it! I'm huge!"

# Trojan.Win32.Zbot samples from period of March – May 2014 use of windows messaging system use of SEH multiple downloaders ~each with the same set of anti-* techniques

# load_cursor

# process_wndmsg

# seh_anti_debug

# enum_windows

Case 5: even more hardened Zeus "Boo says "WHAT?"

# ZeuS p2p aka Game Over works only on Windows 7 anti-emulation based on default values in the CPU registers drops Necurs rootkit (!) bypasses driver signing via setting TESTSIGNING option in BCEDIT

# init_dialog

# obfuscated_win7_check

# call_malware_main; step_17

Novel malware architecture bypass detection protect C&C infrastructure protect the payload the goals  anti-emu, anti-heur  multiple downloaders, waterholed websites  anti-re, anti-dbg, anti-vm, encryption, obfuscation, etc... the aid

loader packed, layered encryption, lots of anti-* injects and executes the dropper code dropper some encryption, some anti-* decrypts and executes the downloader/bot code bot small & simple, shellcode-like used only to get/decrypt/run the payload(s) payload downloaded from water-holed websites / pushed by C2 not stored on the disk, short-lived, controlled by C2

time or condition based triggers: ~specified timeframes ~specified settings ~specified system events (e.g. reboot, mouse click, etc.) environmental checks: ~files on disk, running processes, loaded DLLs, opened windows, mutexes, devices, registry settings checking initial values in CPU registers at EP ~fingerprinting the OS Known evasion techniques

overrunning sandbox/emulator: ~dromant phase (e.g. sleep loops) ~junk instructions, slower inside VMs (MMX, FPU, etc.) ~benign code (legitimate looking syscalls) ~stalling code (without the use of syscalls) using window messaging, apc procedures, etc. using chained Exception Handling mechanisms Known evasion techniques

Countermeasures  stealth analysis leave no artifacts  full emulation trace all instructions  full exploration follow multiple execution paths  bypass stalling loops detect & skip passive code

Thank You! "We are all heroes: You and Boo and I" marta.janus [at]