Efficient Program Exploration by Input Fuzzing
|
|
|
- Clifford Atkinson
- 10 years ago
- Views:
Transcription
1 Efficient Program Exploration by Input Fuzzing towards a new approach in malcious code detection Guillaume Bonfante Jean-Yves Marion Ta Thanh Dinh Université de Lorraine CNRS - INRIA Nancy First Botnet Fighting Conference, / 49
2 Table of Contents Malicious program exploration Trace covering problem Problem Our approach: smart input fuzzing Implementation Ongoing work: a new approach in malware detection Program similarity FA approximation Conclusions 2 / 49
3 Context Host-based botnet detection The bot need communicate with the bot-master: receives special commands: does malicious things, otherwise: stays inactive In general: trigger-based malwares Real-life infamous examples Stuxnet: checks the value NTVDM TRACE If this value is equal to infection will not occur Falliere et al 2011 Gauss: decrypt the payload using several strings from the system and, upon success, executes it GReAT / 49
4 Researches on the code coverage Code coverage is considered extensively on the source code of programs (Godefroid et al 2005 and numerous subsequent works) but much fewer if one considers binary codes, malicious obfuscated programs (Moser et al 2007 and Brumley et al 2008) Detecting trigger-based malwares The direct dynamic-analysis fails (limited behaviors) The static-analysis faces some difficulties: few work on the binary codes, very sensitive to the obfuscation (Moser et al 2007) We propose a hybrid approach 4 / 49
5 Table of Contents Malicious program exploration Trace covering problem Problem Our approach: smart input fuzzing Implementation Ongoing work: a new approach in malware detection Program similarity FA approximation Conclusions 5 / 49
6 Table of Contents Malicious program exploration Trace covering problem Problem Our approach: smart input fuzzing Implementation Ongoing work: a new approach in malware detection Program similarity FA approximation Conclusions 6 / 49
7 Trace covering: hidden behaviors detection Hybrid approach: execute a program P which receives an input message m, we get a trace t as a sequence of instructions 0x40096b: mov cl, al 0x40096d: mov byte ptr [rbp-17], cl 0x400970: movsx eax, byte ptr [rbp-17] 0x400974: sar eax, 4 0x400977: cmp eax, 5 0x40097c: jle 0x4009af 0x40099b: call 0x x400860: as a path on the CFG sar eax, 4 cmp eax, 5 jle 0x4009af call 0x x4009af: call 0x4008c0 0x4008c0: call 0x4008c0 7 / 49
8 Trace covering: hidden behaviors detection Hybrid approach: execute a program P which receives an input message m, we get a trace t For each conditional branch br t, as a sequence of instructions 0x40096b: mov cl, al 0x40096d: mov byte ptr [rbp-17], cl 0x400970: movsx eax, byte ptr [rbp-17] 0x400974: sar eax, 4 0x400977: cmp eax, 5 0x40097c: jle 0x4009af 0x40099b: call 0x x400860: as a path on the CFG sar eax, 4 cmp eax, 5 jle 0x4009af call 0x x4009af: call 0x4008c0 0x4008c0: call 0x4008c0 8 / 49
9 Trace covering: hidden behaviors detection Hybrid approach: execute a program P which receives an input message m, we get a trace t For each conditional branch br t, find m so that the execution of P leads to a new trace t as a sequence of instructions 0x40096b: mov cl, al 0x40096d: mov byte ptr [rbp-17], cl 0x400970: movsx eax, byte ptr [rbp-17] 0x400974: sar eax, 4 0x400977: cmp eax, 5 0x40097c: jle 0x4009af 0x4009af: call 0x4008c0 0x4008c0: as a path on the CFG sar eax, 4 cmp eax, 5 jle 0x4009af call 0x call 0x4008c0 9 / 49
10 Table of Contents Malicious program exploration Trace covering problem Problem Our approach: smart input fuzzing Implementation Ongoing work: a new approach in malware detection Program similarity FA approximation Conclusions 10 / 49
11 Backtracking on the CFG of the program Main ideas: for each checkpoint br t: fuzz testing minimization: find the minimal parts I br m of the input message affecting br s decision, re-execution trace optimization: find the nearest execution checkpoints C br t affecting br s decision 11 / 49
12 Backtracking on the CFG of the program Main ideas: for each checkpoint br t: fuzz testing minimization: find the minimal parts I br m of the input message affecting br s decision, re-execution trace optimization: find the nearest execution checkpoints C br t affecting br s decision let s consider an example 12 / 49
13 Example (program) 0x400966: call 0x4006e0 ;get_msg 0x40096b: mov cl, al 0x40096d: mov byte ptr [rbp-17], cl 0x400970: movsx eax, byte ptr [rbp-17] 0x400974: sar eax, 4 0x400977: cmp eax, 5 ;x[0]>5 0x40097c: jle 0x4009af 0x400982: call 0x ;do_a 0x400987: movsx eax, byte ptr [rbp-17] 0x40098b: and eax, 15 0x400990: cmp eax, 7 ;x[1]<=7 0x400995: jnle 0x4009a5 0x40099b: call 0x ;do_a1 0x4009a0: jmp 0x4009aa ; 0x4009a5: call 0x ;do_a2 0x4009af: call 0x4008c0 ;do_b 0x4009b4: movsx eax, byte ptr [rbp-17] 0x4009b8: and eax, 15 0x4009bd: cmp eax, 8 ;x[1]>8 0x4009c2: jle 0x4009d2 0x4009c8: call 0x4008f0 ;do_b1 0x4009d2: call 0x ;do_b2 m = get_msg(); if (m[0] > 5) do_a(); if (m[1] <= 7) do_a1(); else do_a2(); else do_b(); if (m[1] > 8) do_b1(); else do_b2(); input: m = byte ptr [rbp-17] branches: {0x40097c, 0x400995, 0x4009c2} checkpoints: C 0x40097c = 0x400970, C 0x = 0x400987, C 0x4009c2 = 0x4009b4 13 / 49
14 Example (control flow graph) Input messages m = 47h Control flow graph call 0x4006e0 jle 0x4009af call 0x4008c0 jle 0x4009d2 call 0x / 49
15 Example (control flow graph) Input messages m = 47h m = 49h Control flow graph call 0x4006e0 jle 0x4009af call 0x4008c0 jle 0x4009d2 call 0x call 0x4008f0 15 / 49
16 Example (control flow graph) Input messages m = 47h m = 49h m = 67h Control flow graph call 0x4006e0 jle 0x4009af call 0x4008c0 call 0x jle 0x4009d2 jnle 0x4009a5 call 0x call 0x4008f0 call 0x / 49
17 Example (control flow graph) Input messages m = 47h m = 49h m = 67h m = 66h Control flow graph call 0x4006e0 jle 0x4009af call 0x4008c0 call 0x jle 0x4009d2 jnle 0x4009a5 call 0x call 0x4008f0 call 0x call 0x / 49
18 Example (backtracking) Backtracking m = 47h Control flow graph call 0x4006e0 jle 0x4009af call 0x4008c0 jle 0x4009d2 call 0x / 49
19 Example (backtracking) Backtracking m = 47h get checkpoints Control flow graph call 0x4006e0 jle 0x4009af call 0x4008c0 jle 0x4009d2 call 0x / 49
20 Example (backtracking) Backtracking m = 47h get checkpoints Control flow graph call 0x4006e0 jle 0x4009af call 0x4008c0 jle 0x4009d2 call 0x / 49
21 Example (backtracking) Backtracking m = 47h get checkpoints try m = 67h Control flow graph call 0x4006e0 jle 0x4009af call 0x4008c0 call 0x jle 0x4009d2 call 0x / 49
22 Example (backtracking) Backtracking m = 47h get checkpoints try m = 67h Control flow graph call 0x4006e0 jle 0x4009af call 0x4008c0 call 0x jle 0x4009d2 call 0x / 49
23 Example (backtracking) Backtracking m = 47h get checkpoints try m = 67h restore m Control flow graph call 0x4008c0 call 0x4006e0 jle 0x4009af call 0x jle 0x4009d2 call 0x / 49
24 Example (backtracking) Backtracking m = 47h get checkpoints try m = 67h restore m Control flow graph call 0x4008c0 call 0x4006e0 jle 0x4009af call 0x jle 0x4009d2 call 0x / 49
25 Example (backtracking) Backtracking m = 47h get checkpoints try m = 67h restore m try m = 49h Control flow graph call 0x4008c0 call 0x4006e0 jle 0x4009af call 0x jle 0x4009d2 call 0x call 0x4008f0 25 / 49
26 Example (backtracking) Backtracking m = 47h get checkpoints try m = 67h restore m try m = 49h Control flow graph jle 0x4009d2 call 0x4008c0 call 0x4006e0 jle 0x4009af call 0x call 0x call 0x4008f0 26 / 49
27 Example (backtracking) Backtracking m = 47h get checkpoints try m = 67h restore m try m = 49h restore m Control flow graph jle 0x4009d2 call 0x4008c0 call 0x4006e0 jle 0x4009af call 0x call 0x call 0x4008f0 27 / 49
28 Example (backtracking) Backtracking m = 47h get checkpoints try m = 67h restore m try m = 49h restore m Control flow graph jle 0x4009d2 call 0x4008c0 call 0x4006e0 jle 0x4009af call 0x call 0x call 0x4008f0 28 / 49
29 Example (backtracking) Backtracking m = 47h get checkpoints try m = 67h restore m try m = 49h restore m m = 67h Control flow graph call 0x jle 0x4009d2 call 0x4008c0 call 0x4008f0 call 0x4006e0 jle 0x4009af call 0x jnle 0x4009a5 call 0x / 49
30 Example (backtracking) Backtracking m = 47h get checkpoints try m = 67h restore m try m = 49h restore m m = 67h Control flow graph call 0x jle 0x4009d2 call 0x4008c0 call 0x4008f0 call 0x4006e0 jle 0x4009af call 0x call 0x jnle 0x4009a5 call 0x / 49
31 Table of Contents Malicious program exploration Trace covering problem Problem Our approach: smart input fuzzing Implementation Ongoing work: a new approach in malware detection Program similarity FA approximation Conclusions 31 / 49
32 Fuzz testing optimization naive approach (infeasible): eg a (compressed) DNS response message of size 79 bytes, has 2 79x8 possible values!!! re-executing the whole program for each test is expensive our approach: reverse execution and reduce the number of tested inputs, reduce the length of re-execution traces: checkpoints by the dynamic tainting analysis 32 / 49
33 Dynamic tainting analysis by the liveness dataflow graph From the executed trace t, construct a graph with edges are instructions, and for each edge source nodes: read operands, target nodes: written operands movzx edi, word ptr [11] cmp word ptr [rax], di jz 0x35c360b7d8 Taint propagation from the input message 33 / 49
34 PathExplorer: a code coveraging tool using Pin dynamic binary instrumentation framework [2], source codes available at 34 / 49
35 Experiment Backtracking traversal on the CFG of wget pin -t path_ explorer pin -r mlr -l depth -- wget url Options: mlr: the number of rollbacks for each checkpoint, depth: the depth of backtracking traversal depth mlr resolv/detected branches total rollbacks / / / / / / / / / / / / / / / / / / / 49
36 Experiment max local rollbacks max local rollbacks resolved ratio detected branches backtracking depth backtracking depth (a) Resolved ratio (b) Detected branches 16e+08 14e+08 max local rollbacks e+08 1e+08 used rollbacks 8e+07 6e+07 4e+07 2e detected branches (c) Detected ratio 36 / 49
37 Table of Contents Malicious program exploration Trace covering problem Problem Our approach: smart input fuzzing Implementation Ongoing work: a new approach in malware detection Program similarity FA approximation Conclusions 37 / 49
38 Table of Contents Malicious program exploration Trace covering problem Problem Our approach: smart input fuzzing Implementation Ongoing work: a new approach in malware detection Program similarity FA approximation Conclusions 38 / 49
39 Malware characterization by message analysis In malware detection, we look for similarities between a known malcious program M and a suspicious P Traditional approach: trace similarity 39 / 49
40 Malware characterization by message analysis Thesis Two equivalent programs will interpret the input messages equivalently In malware detection, we look for similarities between a known malcious program M and a suspicious P Traditional approach: trace similarity Our approach: message interpretation similarity compare message relations instead of traces 40 / 49
41 Program similarity Input messages partition Let T be an equivalence between traces (eg partial similarity, control flow graph similarity, etc), the derived equivalence I between input messages is defined by: i 1 I i 2 P (i 1 ) T P (i 2 ) Program similarity by input messages partition P Q having the same derived equivalence I 41 / 49
42 Table of Contents Malicious program exploration Trace covering problem Problem Our approach: smart input fuzzing Implementation Ongoing work: a new approach in malware detection Program similarity FA approximation Conclusions 42 / 49
43 Input space partition by FA approximation Finite State Automata approximation The input message space are partitioned by Finite State Automata The input strings are the inputs of the program, The transition traces abstract the execution traces That extends the current approach in the Protocol Message Extraction (Caballero et al 2009) Corollary (systematic input format extraction) Ṭhe precisely obtained FA reveals the format of inputs 43 / 49
44 Early results in FA approximation {}: the parts of the input affecting to the branch s decision 0, 1: the decisions of a branch, : the execution halts before reaching the limit depth, : the execution continues after reaching the limit depth {3} 0xb2ca {0, 1} 1 0 0xb7ff 1 0xb2f xa91a {4, 5} xa9da 0xa91a 0 Figure: wget and ping have the same approximation at the depth / 49
45 Table of Contents Malicious program exploration Trace covering problem Problem Our approach: smart input fuzzing Implementation Ongoing work: a new approach in malware detection Program similarity FA approximation Conclusions 45 / 49
46 Conclusions Smart input fuzzing: hybrid approach for the program covering Dynamic-analysis: runs the program with a concrete input to get an execution trace, Static-analysis: construct the dataflow graph on the trace to detect checkpoints Improvement in progress: symbolic execution with SMT solver Message analysis: new approach for the program similarity Similarity: relations between traces (instead of traces) are compared, Protocol message extraction: the precisely obtained FA reveals the format of inputs 46 / 49
47 Conclusions (a brief comparison) current approaches our approach analysis method hybrid hybrid covering purpose functionality trace branch resolving symbolic execution fuzzing+re-execution technique trace minimization rollbacking technique whole-system emulation application-wide reverse execution source code unknown available 47 / 49
48 Thanks for your attention and any question? 48 / 49
49 Bibliography P Godefroid et al DART: Directed Automated Random Testing In: PLDI 2005 C-K Luk et al Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation In: PLDI 2005 A Moser et al Exploring Multiple Execution Paths for Malware Analysis In: SSP 2007 A Moser et al Limits of Static Analysis for Malware Detection In: ACSAC 2007 D Brumley et al Automatically Identifying Trigger-based Behavior in Malware In: Botnet Analysis and Defense 2008, pp J Caballero et al Dispatcher: Enabling Active Botnet Infiltration Using Automatic Protocol Reverse-Engineering In: CCS 2009 N Falliere et al W32Stuxnet Dossier Tech rep Symantec Security Response, Feb 2011 GReAT The Mystery of the Encrypted Gauss Payload Aug / 49
Dynamic Behavior Analysis Using Binary Instrumentation
Dynamic Behavior Analysis Using Binary Instrumentation Jonathan Salwan [email protected] St'Hack Bordeaux France March 27 2015 Keywords: program analysis, DBI, DBA, Pin, concrete execution, symbolic
Analysis and Diversion of Duqu s Driver
Analysis and Diversion of Duqu s Driver Guillaume Bonfante, Jean-Yves Marion, Fabrice Sabatier, Aurélien Thierry To cite this version: Guillaume Bonfante, Jean-Yves Marion, Fabrice Sabatier, Aurélien Thierry.
[ X OR DDoS T h r e a t A d v i sory] akamai.com
[ X OR DDoS T h r e a t A d v i sory] akamai.com What is the XOR DDoS threat The XOR DDoS botnet has produced DDoS attacks from a few Gbps to 150+ Gbps The gaming sector has been the primary target, followed
Automatic Network Protocol Analysis
Gilbert Wondracek, Paolo M ilani C omparetti, C hristopher Kruegel and E ngin Kirda {gilbert,pmilani}@ seclab.tuwien.ac.at chris@ cs.ucsb.edu engin.kirda@ eurecom.fr Reverse Engineering Network Protocols
Inside a killer IMBot. Wei Ming Khoo University of Cambridge 19 Nov 2010
Do you? or Inside a killer IMBot Wei Ming Khoo University of Cambridge 19 Nov 2010 Background Tracking a botnet propagating over Skype & Yahoo IM. Bait is Foto Exploits social connectivity (friend
REpsych. : psycholigical warfare in reverse engineering. def con 2015 // domas
REpsych : psycholigical warfare in reverse engineering { def con 2015 // domas Warning This serves no purpose Taking something apart to figure out how it works With software Interfacing Documentation Obsolescence
How To Trace
CS510 Software Engineering Dynamic Program Analysis Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se
Introduction to Reverse Engineering
Introduction to Reverse Engineering Inbar Raz Malware Research Lab Manager December 2011 What is Reverse Engineering? Reverse engineering is the process of discovering the technological principles of a
LASTLINE WHITEPAPER. The Holy Grail: Automatically Identifying Command and Control Connections from Bot Traffic
LASTLINE WHITEPAPER The Holy Grail: Automatically Identifying Command and Control Connections from Bot Traffic Abstract A distinguishing characteristic of bots is their ability to establish a command and
Fighting malware on your own
Fighting malware on your own Vitaliy Kamlyuk Senior Virus Analyst Kaspersky Lab [email protected] Why fight malware on your own? 5 reasons: 1. Touch 100% of protection yourself 2. Be prepared
Obfuscation: know your enemy
Obfuscation: know your enemy Ninon EYROLLES [email protected] Serge GUELTON [email protected] Prelude Prelude Plan 1 Introduction What is obfuscation? 2 Control flow obfuscation 3 Data flow
Polyglot: Automatic Extraction of Protocol Message Format using Dynamic Binary Analysis
Polyglot: Automatic Extraction of Protocol Message Format using Dynamic Binary Analysis Juan Caballero, Heng Yin, Zhenkai Liang Carnegie Mellon University Dawn Song Carnegie Mellon University & UC Berkeley
Towards Automatic Discovery of Deviations in Binary Implementations with Applications to Error Detection and Fingerprint Generation
Towards Automatic Discovery of Deviations in Binary Implementations with Applications to Error Detection and Fingerprint Generation David Brumley, Juan Caballero, Zhenkai Liang, James Newsome, and Dawn
Egil Aspevik Martinsen Polymorphic Viruses. Material from Master Thesis «Detection of Junk Instructions in Malicious Software»
Egil Aspevik Martinsen Polymorphic Viruses Material from Master Thesis «Detection of Junk Instructions in Malicious Software» 1 History 1982 Elk Cloner Brain 1987 1260 1992 Ply 1997 Melissa ILOVEYOU Zmist
TitanMist: Your First Step to Reversing Nirvana TitanMist. mist.reversinglabs.com
TitanMist: Your First Step to Reversing Nirvana TitanMist mist.reversinglabs.com Contents Introduction to TitanEngine.. 3 Introduction to TitanMist 4 Creating an unpacker for TitanMist.. 5 References and
Return-oriented programming without returns
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Return-oriented programming without urns S. Checkoway, L. Davi, A. Dmitrienko, A. Sadeghi, H. Shacham, M. Winandy
Binary Code Extraction and Interface Identification for Security Applications
Binary Code Extraction and Interface Identification for Security Applications Juan Caballero Noah M. Johnson Stephen McCamant Dawn Song UC Berkeley Carnegie Mellon University Abstract Binary code reuse
Peeling The Layers Of Vawtrak
Peeling The Layers Of Vawtrak October 20-21, 2015 Raul Alvarez Copyright Fortinet Inc. All rights reserved. About Me About Me Senior Security Researcher @ Fortinet 21 published articles in Virus Bulletin
Dynamic Spyware Analysis
Dynamic Spyware Analysis Manuel Egele, Christopher Kruegel, Engin Kirda, Heng Yin, and Dawn Song Secure Systems Lab Technical University Vienna {pizzaman,chris,ek}@seclab.tuwien.ac.at Carnegie Mellon University
RFID MODULE Mifare Reader / Writer SL032 User Manual Version 1.5 Nov 2012 StrongLink
RFID MODULE Mifare Reader / Writer User Manual Version 1.5 Nov 2012 StrongLink CONTENT 1. MAIN FEATURES... 3 2. PINNING INFORMATION... 4 3. BAUD RATE SETTING... 5 4. COMMUNICATION PROTOCOL... 5 4-1. Communication
Identification and Removal of
RIVERSIDE RESEARCH INSTITUTE Deobfuscator: An Automated Approach to the Identification and Removal of Code Obfuscation Ei Eric Laspe, Reverse Engineer Jason Raber, Lead Reverse Engineer Overview The Problem:
LASTLINE WHITEPAPER. Why Anti-Virus Solutions Based on Static Signatures Are Easy to Evade
LASTLINE WHITEPAPER Why Anti-Virus Solutions Based on Static Signatures Are Easy to Evade Abstract Malicious code is an increasingly important problem that threatens the security of computer systems. The
Nemea: Searching for Botnet Footprints
Nemea: Searching for Botnet Footprints Tomas Cejka 1, Radoslav Bodó 1, Hana Kubatova 2 1 CESNET, a.l.e. 2 FIT, CTU in Prague Zikova 4, 160 00 Prague 6 Thakurova 9, 160 00 Prague 6 Czech Republic Czech
Dynamic Spyware Analysis
Dynamic Spyware Analysis Manuel Egele, Christopher Kruegel, Engin Kirda Secure Systems Lab Technical University Vienna {pizzaman,chris,ek}@seclab.tuwien.ac.at Heng Yin Carnegie Mellon University and College
Parasitics: The Next Generation. Vitaly Zaytsev Abhishek Karnik Joshua Phillips
Parasitics: The Next Generation. Vitaly Zaytsev Abhishek Karnik Joshua Phillips Agenda Overview W32/Xpaj analysis Overview of a virtual machine Software protection trends W32/Winemmem analysis W32/Induc
Configurable Events for APC Network Management Card
Configurable s for APC Network Management Card Table of Contents Silcon DP300E Series 3 Smart-UPS / Matrix 7 Symmetra 9 Symmetra 3-Phase 13 Environmental Monitor 21 Configurable s for APC Network Management
Storm Worm & Botnet Analysis
Storm Worm & Botnet Analysis Jun Zhang Security Researcher, Websense Security Labs June 2008 Introduction This month, we caught a new Worm/Trojan sample on ours labs. This worm uses email and various phishing
Dolphin In-Circuit programming Updating Firmware in the field
Dolphin In-Circuit programming Updating Firmware in the field 1 Introduction In systems e.g. gateways, where an external microcontroller is connected to a Dolphin based product like a TCM300 it might be
Where s the FEEB? The Effectiveness of Instruction Set Randomization
Where s the FEEB? The Effectiveness of Instruction Set Randomization Ana Nora Sovarel David Evans Nathanael Paul University of Virginia, Department of Computer Science http://www.cs.virginia.edu/feeb Abstract
Mission 1: The Bot Hunter
Mission 1: The Bot Hunter Mission: Interpol have asked the BSidesLondon Unhackable Mission Force to penetrate and shut down a notorious botnet. Our only clue is a recovered bot executable which we hope
Self Protection Techniques in Malware
DSIE 10 5 th Doctoral lsymposium on Informatics Engineering i January 28 29, 2010 Porto, Portugal Self Protection Techniques in Malware Tiago Santos Overview Introduction Malware Types Why Self Protection?
SRF08 Ultra sonic range finder Technical Specification
SRF08 Ultra sonic range finder Technical Specification Communication with the SRF08 ultrasonic rangefinder is via the I2C bus. This is available on popular controllers such as the OOPic and Stamp BS2p,
Towards Automated Malware Behavioral Analysis and Profiling for Digital Forensic Investigation Purposes
Towards Automated Malware Behavioral Analysis and Profiling for Digital Forensic Investigation Purposes Ahmed F.Shosha, Joshua I. James, Alan Hannaway, Chen-Ching Liu and Pavel Gladyshev UCD School of
From Georgia, with Love Win32/Georbot. Is someone trying to spy on Georgians?
From Georgia, with Love Win32/Georbot Is someone trying to spy on Georgians? At the beginning of the year, a curious piece of malware came to our attention. An analyst in our virus laboratory noticed that
How to Grow a TREE from CBASS Interactive Binary Analysis for Security Professionals
How to Grow a TREE from CBASS Interactive Binary Analysis for Security Professionals Lixin (Nathan) Li, Xing Li, Loc Nguyen, James E. Just Outline Background Interactive Binary Analysis with TREE and CBASS
WIZnet S2E (Serial-to-Ethernet) Device s Configuration Tool Programming Guide
WIZnet S2E (Serial-to-Ethernet) Device s Configuration Tool Programming Guide Rev 0.2 This document describes how to make your own Configuration Tool for WIZ100SR, WIZ105SR and WIZ110SR of WIZnet. And
Caml Virtual Machine File & data formats Document version: 1.4 http://cadmium.x9c.fr
Caml Virtual Machine File & data formats Document version: 1.4 http://cadmium.x9c.fr Copyright c 2007-2010 Xavier Clerc [email protected] Released under the LGPL version 3 February 6, 2010 Abstract: This
Applications of obfuscation to software and hardware systems
Applications of obfuscation to software and hardware systems Victor P. Ivannikov Institute for System Programming Russian Academy of Sciences (ISP RAS) www.ispras.ru Program obfuscation is an efficient
Operation Liberpy : Keyloggers and information theft in Latin America
Operation Liberpy : Keyloggers and information theft in Latin America Diego Pérez Magallanes Malware Analyst Pablo Ramos HEAD of LATAM Research Lab 7/7/2015 version 1.1 Contents Introduction... 3 Operation
INTERNET ATTACKS AGAINST NUCLEAR POWER PLANTS
INTERNET ATTACKS AGAINST NUCLEAR POWER PLANTS Kleissner & Associates IAEA, 1-5 June 2015, Vienna/Austria International Conference on Computer Security in a Nuclear World Programmer and security researcher
NGBPA Next Generation BotNet Protocol Analysis
NGBPA Next Generation BotNet Protocol Analysis Felix S. Leder and Peter Martini Abstract The command & control (c&c) protocols of botnets are moving away from plaintext IRC communicationt towards encrypted
Automated Repair of Binary and Assembly Programs for Cooperating Embedded Devices
Automated Repair of Binary and Assembly Programs for Cooperating Embedded Devices Eric Schulte 1 Jonathan DiLorenzo 2 Westley Weimer 2 Stephanie Forrest 1 1 Department of Computer Science University of
RFID MODULE Mifare Reader / Writer SL031 User Manual Version 2.7 Nov 2012 StrongLink
RFID MODULE Mifare Reader / Writer User Manual Version 2.7 Nov 2012 StrongLink CONTENT 1. MAIN FEATURES... 3 2. PINNING INFORMATION... 4 3. BAUD RATE SETTING... 5 4. COMMUNICATION PROTOCOL... 5 4-1. Communication
Systematically Enhancing Black-Box Web Vulnerability Scanners
Systematically Enhancing Black-Box Web Vulnerability Scanners Thesis submitted in partial fulfillment of the requirements for the degree of Master of Science (by Research) in Computer Science by Sai Sathyanarayan
CIT 480: Securing Computer Systems. Malware
CIT 480: Securing Computer Systems Malware Topics 1. Anti-Virus Software 2. Virus Types 3. Infection Methods 4. Rootkits 5. Malware Analysis 6. Protective Mechanisms 7. Malware Factories 8. Botnets Malware
Joeri de Ruiter Sicco Verwer
Automated reverse engineering of security protocols Learning to fuzz, fuzzing to learn Fides Aarts Erik Poll Joeri de Ruiter Sicco Verwer Radboud University Nijmegen Fuzzing 1. Plain fuzzing, with long
Interface Protocol v1.2
Interface Protocol v1.2 Uart Configure on PC Baud Rate Bits Stop bits Parity 9600 bps 8 Bits 1 Bit No Parity Basic Uart Transfer Format Start 0/1 : These bytes are both 0x55. Control : This byte is controling
Hacking Techniques & Intrusion Detection. Ali Al-Shemery arabnix [at] gmail
Hacking Techniques & Intrusion Detection Ali Al-Shemery arabnix [at] gmail All materials is licensed under a Creative Commons Share Alike license http://creativecommonsorg/licenses/by-sa/30/ # whoami Ali
Getting Ahead of Malware
IT@Intel White Paper Intel Information Technology Security December 2009 Getting Ahead of Malware Executive Overview Since implementing our security event monitor and detection processes two years ago,
Automating Linux Malware Analysis Using Limon Sandbox Monnappa K A [email protected]
Automating Linux Malware Analysis Using Limon Sandbox Monnappa K A [email protected] A number of devices are running Linux due to its flexibility and open source nature. This has made Linux platform
The Hillstone and Trend Micro Joint Solution
The Hillstone and Trend Micro Joint Solution Advanced Threat Defense Platform Overview Hillstone and Trend Micro offer a joint solution the Advanced Threat Defense Platform by integrating the industry
Comprehensive Advanced Threat Defense
1 Comprehensive Advanced Threat Defense June 2014 PAGE 1 PAGE 1 1 INTRODUCTION The hot topic in the information security industry these days is Advanced Threat Defense (ATD). There are many definitions,
Software Fingerprinting for Automated Malicious Code Analysis
Software Fingerprinting for Automated Malicious Code Analysis Philippe Charland Mission Critical Cyber Security Section October 25, 2012 Terms of Release: This document is approved for release to Defence
Detecting the One Percent: Advanced Targeted Malware Detection
Detecting the One Percent: Advanced Targeted Malware Detection Tomer Teller Check Point Software Technologies Session ID: SP02-T19 Session Classification: Intermediate Antivirus 20 th+ Anniversary The
Trust Model for Hybrid Security Architecture Based on Reputation for Secure Execution of Mobile Agents
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 1 (2014), pp. 67-72 International Research Publications House http://www. irphouse.com /ijict.htm Trust
Automatic Test Data Synthesis using UML Sequence Diagrams
Vol. 09, No. 2, March April 2010 Automatic Test Data Synthesis using UML Sequence Diagrams Ashalatha Nayak and Debasis Samanta School of Information Technology Indian Institute of Technology, Kharagpur
Effective and Efficient Malware Detection at the End Host
Effective and Efficient Malware Detection at the End Host Clemens Kolbitsch, Paolo Milani Comparetti, Christopher Kruegel, Engin Kirda, Xiaoyong Zhou, and XiaoFeng Wang Secure Systems Lab, TU Vienna {ck,pmilani}@seclab.tuwien.ac.at
Command Processor for MPSSE and MCU Host Bus Emulation Modes
Future Technology Devices International Ltd. Application Note AN_108 Command Processor for MPSSE and MCU Host Bus Emulation Modes Document Reference No.: FT_000109 Version 1.5 Issue Date: 2011-09-09 This
Xbox 360 File Specifications Reference
Xbox 360 File Specifications Reference Introduction This reference attempts to document the specifications of the custom data formats in use by the Xbox 360 console. This data has either been discovered
Command Param1 Param2 Return1 Return2 Description. 0xE9 0..0x7F (id) speed pos_high pos_low Set servo #id speed & read position
set Description 0..0x7F (id) Set servo #id target position 0xE1 Read EEPROM 0xE2 Write EEPROM 0xE3 Read memory 0xE4 Write memory 0xE5 Read position 0xE6 Set target position 0xE7 version id Read version
Automating Mimicry Attacks Using Static Binary Analysis
Automating Mimicry Attacks Using Static Binary Analysis Christopher Kruegel and Engin Kirda Technical University Vienna [email protected], [email protected] Darren Mutz, William Robertson,
Evaluating a ROP Defense Mechanism. Vasilis Pappas, Michalis Polychronakis, and Angelos D. Keromytis Columbia University
Evaluating a ROP Defense Mechanism Vasilis Pappas, Michalis Polychronakis, and Angelos D. Keromytis Columbia University Outline Background on ROP attacks ROP Smasher Evaluation strategy and results Discussion
Networks and Security Lab. Network Forensics
Networks and Security Lab Network Forensics Network Forensics - continued We start off from the previous week s exercises and analyze each trace file in detail. Tools needed: Wireshark and your favorite
Standard for Software Component Testing
Standard for Software Component Testing Working Draft 3.4 Date: 27 April 2001 produced by the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Copyright Notice This document
VIRUS TRACKER CHALLENGES OF RUNNING A LARGE SCALE SINKHOLE OPERATION
VIRUS TRACKER CHALLENGES OF RUNNING A LARGE SCALE SINKHOLE OPERATION Kleissner & Associates Botconf 14, 3-5 Dec 2014, Nancy/France Worlds largest botnet monitoring system Since September 2012 Originally
Malicious Network Traffic Analysis
Malicious Network Traffic Analysis Uncover system intrusions by identifying malicious network activity. There are a tremendous amount of network based attacks to be aware of on the internet today and the
Soft-Starter SSW-06 V1.6X
Motors Energy Automation Coatings Soft-Starter SSW-06 V1.6X Serial Communication Manual Language: English Document: 0899.5731 / 04 Serial Communication Manual Series: SSW-06 V1.6X Language: English Document
CS61: Systems Programing and Machine Organization
CS61: Systems Programing and Machine Organization Fall 2009 Section Notes for Week 2 (September 14 th - 18 th ) Topics to be covered: I. Binary Basics II. Signed Numbers III. Architecture Overview IV.
LASTLINE WHITEPAPER. Using Passive DNS Analysis to Automatically Detect Malicious Domains
LASTLINE WHITEPAPER Using Passive DNS Analysis to Automatically Detect Malicious Domains Abstract The domain name service (DNS) plays an important role in the operation of the Internet, providing a two-way
Table 1 below is a complete list of MPTH commands with descriptions. Table 1 : MPTH Commands. Command Name Code Setting Value Description
MPTH: Commands Table 1 below is a complete list of MPTH commands with descriptions. Note: Commands are three bytes long, Command Start Byte (default is 128), Command Code, Setting value. Table 1 : MPTH
Internet Monitoring via DNS Traffic Analysis. Wenke Lee Georgia Institute of Technology
Internet Monitoring via DNS Traffic Analysis Wenke Lee Georgia Institute of Technology 0 Malware Networks (Botnets) 1 From General-Purpose to Targeted Attacks 11/14/12 2 Command and Control l Botnet design:
How To Understand The Behavior Of A Computer Program Mathematically
NAVAL POSTGRADUATE SCHOOL MONTEREY, CALIFORNIA THESIS SYMBOLIC EXECUTION OVER NATIVE X86 by Michael Hom June 2012 Thesis Advisor: Second Reader: Chris S. Eagle George W. Dinolt Approved for public release;
Static Analysis of Virtualization- Obfuscated Binaries
Static Analysis of Virtualization- Obfuscated Binaries Johannes Kinder School of Computer and Communication Sciences École Polytechnique Fédérale de Lausanne (EPFL), Switzerland Virtualization Obfuscation
Computer Virus Strategies and Detection Methods
Int. J. Open Problems Compt. Math., Vol. 1, No. 2, September 2008 Computer Virus Strategies and Detection Methods Essam Al Daoud 1, Iqbal H. Jebril 2 and Belal Zaqaibeh 3 1 Department of Computer Science,
Inside the Storm: Protocols and Encryption of the Storm Botnet
Inside the Storm: Protocols and Encryption of the Storm Botnet Joe Stewart, GCIH Director of Malware Research, SecureWorks To be covered in this talk: Quick-and-dirty unpacking of Storm Structure of the
Lecture 2 Introduction to Data Flow Analysis
Lecture 2 Introduction to Data Flow Analysis I. Introduction II. Example: Reaching definition analysis III. Example: Liveness analysis IV. A General Framework (Theory in next lecture) Reading: Chapter
Sandy. The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis. Garage4Hackers
Sandy The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis About Me! I work as a Researcher for a Global Threat Research firm.! Spoke at the few security
esrever gnireenigne tfosorcim seiranib
esrever gnireenigne tfosorcim seiranib Alexander Sotirov [email protected] CanSecWest / core06 Reverse Engineering Microsoft Binaries Alexander Sotirov [email protected] CanSecWest / core06 Overview
Introduction. Figure 1 Schema of DarunGrim2
Reversing Microsoft patches to reveal vulnerable code Harsimran Walia Computer Security Enthusiast 2011 Abstract The paper would try to reveal the vulnerable code for a particular disclosed vulnerability,
Computer Security DD2395
Computer Security DD2395 http://www.csc.kth.se/utbildning/kth/kurser/dd2395/dasakh11/ Fall 2011 Sonja Buchegger [email protected] Lecture 7 Malicious Software DD2395 Sonja Buchegger 1 Course Admin Lab 2: - prepare
Anti-Malware Technologies
: Trend of Network Security Technologies Anti-Malware Technologies Mitsutaka Itoh, Takeo Hariu, Naoto Tanimoto, Makoto Iwamura, Takeshi Yagi, Yuhei Kawakoya, Kazufumi Aoki, Mitsuaki Akiyama, and Shinta
Selected Topics of IT Security (41.4456) Seminar description
Selected Topics of IT Security (41.4456) Seminar description Sebastian Abt, Frank Breitinger April 3, 2012 1 Introduction The lecture and accompanying seminar target at master-level students interested
Change Impact Analysis
Change Impact Analysis Martin Ward Reader in Software Engineering [email protected] Software Technology Research Lab De Montfort University Change Impact Analysis Impact analysis is a process that predicts
Supporting ZDOs with the XBee API
Supporting ZDOs with the XBee API The ZigBee Device Profile is a management and discovery service layer supported on all ZigBee devices. Like all other profiles, the ZigBee Device Profile defines a set
EVILSEED: A Guided Approach to Finding Malicious Web Pages
+ EVILSEED: A Guided Approach to Finding Malicious Web Pages Presented by: Alaa Hassan Supervised by: Dr. Tom Chothia + Outline Introduction Introducing EVILSEED. EVILSEED Architecture. Effectiveness of
Introduction. Application Security. Reasons For Reverse Engineering. This lecture. Java Byte Code
Introduction Application Security Tom Chothia Computer Security, Lecture 16 Compiled code is really just data which can be edit and inspected. By examining low level code protections can be removed and
Assignment #3 Routing and Network Analysis. CIS3210 Computer Networks. University of Guelph
Assignment #3 Routing and Network Analysis CIS3210 Computer Networks University of Guelph Part I Written (50%): 1. Given the network graph diagram above where the nodes represent routers and the weights
