for Malware Analysis Daniel Quist Lorie Liebrock New Mexico Tech Los Alamos National Laboratory



Similar documents
Fine-grained covert debugging using hypervisors and analysis via visualization

Reverse Engineering by Crayon: Game Changing Hypervisor and Visualization Analysis

Visualizing Compiled Executables for Malware Analysis

Spyware Analysis. Security Event - April 28, 2004 Page 1

Melde- und Analysestelle Informationssicherung MELANI Torpig/Mebroot Reverse Code Engineering (RCE)

Parasitics: The Next Generation. Vitaly Zaytsev Abhishek Karnik Joshua Phillips

Attacking Obfuscated Code with IDA Pro. Chris Eagle

Virtualization with Windows

Adi Hayon Tomer Teller

PE Explorer. Heaventools. Malware Code Analysis Made Easy

Chapter 14 Analyzing Network Traffic. Ed Crowley

Virtual Switching Without a Hypervisor for a More Secure Cloud

Virtualization. Types of Interfaces

Regional SEE-GRID-SCI Training for Site Administrators Institute of Physics Belgrade March 5-6, 2009

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Detecting the Presence of Virtual Machines Using the Local Data Table

Wiggins/Redstone: An On-line Program Specializer

Installation and setup of remote keyboard for monitoring system Multiscreen 5.x

Privacy Scrubber: Means to Obfuscate Personal Data from Benign Application Leakage

COS 318: Operating Systems. Virtual Machine Monitors

HyperV_Mon 3.0. Hyper-V Overhead. Introduction. A Free tool from TMurgent Technologies. Version 3.0

Table of Contents. 1. Overview Materials Required System Requirements User Mode Installation Instructions..

Code Injection From the Hypervisor: Removing the need for in-guest agents. Matt Conover & Tzi-cker Chiueh Core Research Group, Symantec Research Labs

Comparing Free Virtualization Products

Storm Worm & Botnet Analysis

Basics of Virtualisation

Peeking into Pandora s Bochs. Instrumenting a Full System Emulator to Analyse Malicious Software

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS

Virtual Machine Security

Unity web- player issues in browsers & in client system

PRACTICAL MALWARE ANALYSIS Kris Kendall

The Value of Physical Memory for Incident Response

CERIAS Tech Report Basic Dynamic Processes Analysis of Malware in Hypervisors Type I & II by Ibrahim Waziri Jr, Sam Liles Center for Education

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Is Virtualization Killing SSI Research?

Example of Standard API

Virtual machines and operating systems

Cloud Sure - Virtual Machines

Android Architecture. Alexandra Harrison & Jake Saxton

User Guide HD-WLU3R1 DriveStation Duo

Windows Template Creation Guide. How to build your own Windows VM templates for deployment in Cloudturk.

Lecture 26: Obfuscation

Virtual Computing and VMWare. Module 4

Virtualization and the U2 Databases

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

Chapter 5 Cloud Resource Virtualization

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

SUSE Linux Enterprise 10 SP2: Virtualization Technology Support

Operating System Structures

Virtualization Technologies

SMART Ink 1.5. Windows operating systems. Scan the following QR code to view the SMART Ink Help on your smart phone or other mobile device.

Cooperation of Operating Systems with Hyper-V. Bartek Nowierski Software Development Engineer, Hyper-V Microsoft Corporation

PARALLELS SERVER 4 BARE METAL README

Gephi Tutorial Visualization

A Survey on Virtual Machine Security

Virtualizare sub Linux: avantaje si pericole. Dragos Manac

HP Universal CMDB. Software Version: Support Matrix

Practical Threat Intelligence. with Bromium LAVA

Virtualization. Jukka K. Nurminen

Created on May 20, 2015

Virtualization. Pradipta De

Date: December 2009 Version: 1.0. How Does Xen Work?

Reverse Engineering and Computer Security

SECURE IMPLEMENTATIONS OF CONTENT PROTECTION (DRM) SCHEMES ON CONSUMER ELECTRONIC DEVICES

International Journal of Computer & Organization Trends Volume20 Number1 May 2015

The Xen of Virtualization

COS 318: Operating Systems

System Structures. Services Interface Structure

Manjrasoft Market Oriented Cloud Computing Platform

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

Dongwoo Kim : Hyeon-jeong Lee s Husband

Xen and the Art of Distributed Virtual Machine Management

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

Red Hat VDI. David Simmons

TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications

Enabling Technologies for Distributed Computing

Reviewer s Guide. Morpheus Photo Animation Suite. Screenshots. Tutorial. Included in the Reviewer s Guide:

QUICK INSTALLATION GUIDE. Model No: T18

NXP Basestation Site Scanning proposal with AISG modems

SUSE Cloud Installation: Best Practices Using a SMT, Xen and Ceph Storage Environment

Models For Modeling and Measuring the Performance of a Xen Virtual Server

CS161: Operating Systems

Ensure that the server where you install the Primary Server software meets the following requirements: Item Requirements Additional Details

Before we can talk about virtualization security, we need to delineate the differences between the

Red Hat Linux Internals

This document describes the new features of this release and important changes since the previous one.

IOS110. Virtualization 5/27/2014 1

EBERSPÄCHER ELECTRONICS automotive bus systems. solutions for network analysis

3D Viewer. user's manual _2

Inside a killer IMBot. Wei Ming Khoo University of Cambridge 19 Nov 2010

Machine Edition USB Hardware License Key did not get recognize inside Virtual Machine

Full and Para Virtualization

Binary Code Extraction and Interface Identification for Security Applications

Transcription:

Visualizing Compiled Executables for Malware Analysis Daniel Quist Lorie Liebrock New Mexico Tech Los Alamos National Laboratory

Overview Explanation of Problem Overview of Reverse Engineering Process Related Work Visualization for Reverse Engineering VERA Architecture Case Study: Mebroot User Study Contributions

Explanation of Problem Reverse engineering is a difficult and esoteric skill to learn Most new reversers struggle with understanding overall structure K i h i h diffi l Knowing where to start is the most difficult task

Reverse Engineering Process Setup an Isolated Environment VMWare, Xen, Virtual PC Dedicated Hardware Co omplexity In ncreases Initial Analysis and Execution Deobfuscation / Software Dearmoring Disassembly / Code level analysis Sysinternals, CWSandbox Look for OS State Changes Files, registry, network Unpacking Debuggers, Saffron, Ether IDA Pro OllyDbg Identify Relevant and Interesting Features Experience based Newbies have trouble with ihthis

Addressing the Situation SetupanIsolated Environment C omplexity Increases Initial Analysis and Execution Deobfuscation / Software Dearmoring Disassembly / Code level analysis Identify Relevant and Interesting Features

Packing and Encryption Self modifying code Small decoder stub Decompress the main executable Restore imports Play tricks with theexecutable executable OS Loader is inherently lazy (efficient) Hide the imports Obscure relocations Use bogus values for various unimportant fields

Normal PE File

Packed PE File

Related Work

IDA Pro Graphing Crossreferences Illustrates Relationship of Function Calls Magenta represents imported API calls Black represents module subroutines

IDA Pro Visualization Problems Firefox Initialization Some graphs are useless Some graphs are too complex No indication of heavily executed portions Obfuscated code is gibberish idag.exe (IDA Pro) overview

Alex Dragulescu MyDoom Visualization http://www.sq.ro/malwarez.php

Visualization for Reverse Engineering Identify major program poga functional cto areas aeas Initialization Main loops Communications / organizational structure Deobfuscation / dearmoring Identify packing loops Find self modifying code Take intuition out of the reversing process

Enabling Technology: Ether Patches to the Xen Hypervisor Instruments a Windows system Base modules available Instruction tracing API tracing Unpacking Ether: Malware Analysis via Hardware Virtualization Extensions Dinaburg, Royal, Sharif, Lee ACM CCS 2008

Ether System Architecture Linux Dom0 Management OS Instrumented Windows XP SP2 VM Disk Image Ether Management Tools Xen Hypervisor with Ether Patches Ring 1

Visualizing Executables for Reversing and Analysis OpenGL rendering of dynamic program execution Vertices represent addresses Edges represent execution from one address to another Thicker edges represent multiple executions Colors to help identify type of code

Graph Preview

VERA Architecture Ether Analysis System OGDF Gengraph OpenGL VERA Open Graph Display Framework Handles all layout and arrangement of the graphs Similar to Graphviz Works with large datasets

Vertices (Addresses) Basic blocks Fundamental small grouping of code Reduces data size Useful for large commercial programs Instructions ti Useful for small programs Greater aesthetic value Larger datasets can produce useless graphs

Edges (Transition) Transitions between addresses Thicker lines represent more executions Easy identification of loops Findheavyconcentration of execution li l d f d Multiple edges from a node represent decision point

Colors Yellow Normal uncompressed low entropy section data Dark Green Section not present in the packed version Light Purple SizeOfRawData = 0 Dark Red High Entropy Light Red Instructions not in the packed exe Lime Green Operands don t match

Netbull Virus (Not Packed)

Netbull Zoomed View

UPX

UPX OEP

ASPack

FSG

MEW

Case Study: Mebroot Took latest Mebroot sample from Offensive Computing collection Analyzed inside of VERA Seemed to be idling for long periods of time Actually executed based on network traffic Hybrid user mode / kernel malware

Mebroot Initial Busy Loop Initial analysis shows decoder for driver Sits for 30 minutes waiting for us to get bored Moves on to the rest of the program

Mebroot After Busy Loop

Mebroot Entire View Main Unpacking Loop 30 Minute Busy Loop Initialization Kernel Code Insertion

User Study Students had just completed week long reverse engineering course Analyzed two packed samples of thenetbull Virus with UPX and MEW Akd Asked to perform a series of tasks based on the typical reverse engineering process Asked about efficacy of visualization tool

User Study: Tasks Performed Find the original entry point (OEP) of the packed samples Execute the program to look for any identifying output Identify portions of the executable: Packer code Initialization Main loops

Results of User Study

Selected Comments Wonderful way to visualize analysis and to better focus on areas of interest Fantastic tool. This has the potential to significantly reduce analysis time. It rocks. Release Rl ASAP. ASAP

Recommendations for improvement Need better way to identify beginning and end of loops Many loops overlap and become convoluted Be able to enter memory address and see basic blocks that match

Future Work General GUI / bug fixes Highlight temporal nature of execution Memory access visualization i System call integration Function boundaries Interactivity with unpacking process

Conclusion Overall process for analyzing and reverse engineering malware is shortened Program phases readily identified Integration with existing tools Preliminary user study shows tool holds promise for speeding up reverse engineering

Questions? Source, tools, and latest slides can be found at: http://www.offensivecomputing.net net If you use the tool, please give feedback Contact info: dquist@nmt.edu