The Use of Software-Based Integrity Checks in Software Tamper Resistance Techniques

Size: px
Start display at page:

Download "The Use of Software-Based Integrity Checks in Software Tamper Resistance Techniques"

Transcription

1 The Use of Software-Based Integrity Checks in Software Tamper Resistance Techniques Ginger Myles IBM Almaden Research Center [1]

2 Talk Overview Integrity check overview Use of integrity checks in tamper resistance techniques Attack on integrity checks [2]

3 Attack Model Software executing on a potentially hostile host. Adversary has full control over the software s execution. Adversary can use any program analysis tools to detect and circumvent the checks. The Hackers Toolbox Benign Executable [3]

4 Software Tamper Resistance Detect that the program has been altered. Cause the program to fail when tampering has been detected. [4]

5 Integrity Check Overview What are they? A mechanism used to identify the integrity of the program and/or the environment in which it is executing. Executable Checker [5]

6 Integrity Check Overview What are they? Static - integrity is checked only once during start-up Dynamic - integrity is checked repeatedly as the program executes Executable Checker [6]

7 Integrity Check Overview How are they used? Generally used as part of a larger tamper resistance scheme. Assertion Check Based (BAD!) ic = performcheck(); if(ic!= PREDICTED VALUE) {fail;} Use Based (Better) ic = performcheck(); decryptsegment(ic, k); [7]

8 Integrity Check Overview Why are they used? Program integrity verification Prevent license check removal Protect a watermark from damage or removal Executable Code Obfuscator Executable? Watermark Extractor [8]

9 Integrity Check Overview Why are they used? Environmental integrity verification Detect the use of debuggers or emulators Protect the keys embedded in DRM systems Sensitive code that it is only decrypted for execution DRM Protected Executable Debugger Debugger Disabled Executable k k [9]

10 Program Integrity Verification Code Checksum Probably the oldest method Straight forward implementation Quite efficient Execution Executable ic ic [10]

11 Program Integrity Verification Code Checksum The Negatives Reading the code segment is generally atypical. Execution Executable ic ic ic ic [11]

12 Program Integrity Verification Code Checksum The Negatives Hackers pinpoint checks through breakpoints or code inspection. Only verifies static properties. May not detect temporary instruction patches or other run-time attacks. [12]

13 Program Integrity Verification Oblivious Hashing [Chen et al., 2002] Dynamic - based on execution trace. Monitor both instructions and memory references. Compute hash value from execution trace. Instruction Sequence Memory I 1 M 1 I 2. I n M 2. M n Trace [13]

14 Program Integrity Verification Oblivious Hashing Hashing locations must be extensive and spread throughout program. To protect a function all functions on the calling-hierarchy must be protected. Trace should include memory references made by each instruction and the instruction itself. Instruction Sequence Memory I 1 M 1 h 1 I 2 h 2. M 2. I n M n h n [14]

15 Environment Integrity Verification Detection of debuggers and other similar simulation tools Use a checksum to detect a breakpoint. Measure elapsed time to execute a sequence of instructions. Look for tool specific hooks. [15]

16 Environment Integrity Verification The Negatives Level of checksum granularity will effect success of detecting a breakpoint. Detection is tool specific. [16]

17 Real Uses of Integrity Checks Check and Guard System [Chang and Atallah, 2001] Network of guards. Each guard responsible for performing some type of integrity check. Protect each other and the program in an interlocking fashion. Some guards can repair altered code. C [17]

18 Real Uses of Integrity Checks Check and Guard System Repairing guard inserted prior to code. Checksumming guard inserted at a point when code will be present in program image. Strongly connected guard graph increases the efforts required by the attacker. C [18]

19 Real Uses of Integrity Checks Testers and Correctors [Horne et al., 2002] Collection of testers which each hash a single contiguous section of code. Testers are sprinkled throughout code and triggered by normal program execution. Execution Executable tester tester tester tester tester tester tester [19]

20 Real Uses of Integrity Checks Testers and Correctors [Horne et al., 2002] Compares hash value with correct value. Incorrect value triggers response mechanism via simple function call. [20]

21 Real Uses of Integrity Checks Testers and Correctors Each hash interval contains a corrector. Corrector set to a value such that the interval hashes to a fixed value. Execution Executable tester tester tester tester tester tester tester [21]

22 Real Uses of Integrity Checks Branch-Based Tamper Resistance [Myles, Jin, 2005] Based on Branch Function obfuscation [Linn and Debray, 2003]: Designed to disrupt static disassembly. Exploits assumption that a function call returns to the instruction immediately following the call instruction. Execution is rerouted through the branch function. The correct target is identified based on the call location. T[h(j i )] = t i j i Return address on the stack is overwritten. [22]

23 Real Uses of Integrity Checks Branch-Based Tamper Resistance Key Storage k 0 Program Execution. k 1 Branch Function. k 2 Branch Function. Key: Link proper program execution and the key evolution. [23]

24 Real Uses of Integrity Checks Branch-Based Tamper Resistance Integrity Check Branch Functions 1. Perform an integrity check of the program or environment producing the value v i. 2. Generate the next key using a secure one-way hash function, the previous key, and the integrity check value. k i+1 = SHA1(v i,k i ) 3. Use k i+1 to identify the instruction where execution will resume. [24]

25 Real Uses of Integrity Checks Branch-Based Tamper Resistance Integrity Check Branch Function Construction Integrity Check Branch Function integrity check Original Application k i v i f 1 (v i, k i, AM) key generation f 2 + k k i+1 i+1 f 3 d i+1 = T[h(k i+1 )] retnew = ret old +d i+1 Modified Application f 1 f 2 f 3 ICBF [25]

26 Real Uses of Integrity Checks Branch-Based Tamper Resistance Branch Instruction Replacement Modified Application f 1 f 2 f 3 ICBF_1 ICBF_2 1 mov add mov jmp push mov cmp jge mov push push call add pop ret d 1 k 1 2 mov sub mov d 2 k push mov cmp call mov add mov jmp mov sub mov mov push push call add pop ret Protected Application f 1 f. 2.. ICBF_1 ICBF_2 ICBF_1( ). ICBF_2( ). f 3... ICBF_1( ). [26]

27 Real Uses of Integrity Checks Branch-Based Tamper Resistance Able to construct an intertwined network of ICBF s C [27]

28 Attacks on Integrity Checks Circumvention of self-hashing has been accomplished on UltraSparc, x86, PowerPC, AMD64, and ARM architectures [van Oorschot et al., 2005]. Implicit assumption that a data read from memory address x is the same as an instruction fetch from x. I(x) D(x) will verify code that is never executed and the executed is never checked. Manipulate virtual to physical address mappings such that each virtual address refers to two different physical addresses code references and data references Done through segmentation and translation lookaside buffers. [28]

29 Wrap-up We looked at a common type of integrity checking how it is used in real tamper resistance techniques and how it can be circumvented. [29]

30 Wrap-up Questions I m considering: Is there hope for strictly software-based techniques? Is there a way we can determine the level of protection provided by the different types of integrity checks? [30]

31 Wrap-up Questions I m considering: Is there hope for strictly software-based techniques? Is there a way we can determine the level of protection provided by the different types of integrity checks? Begin building an incremental strength evaluation scheme for software tamper resistance techniques. [30]

32 Wrap-up Questions I m considering: Is there hope for strictly software-based techniques? Is there a way we can determine the level of protection provided by the different types of integrity checks? Begin building an incremental strength evaluation scheme for software tamper resistance techniques. With the Check and Guard system or the Branch-Based technique strength can be customized or checks can be replaced once discovered they are breakable. [30]

33 References Protecting Software Code by Guards, Chang and Atallah, Proc. of 1st ACM Workshop on Security and Privacy in Digital Rights Management, Oblivious Hashing: A Stealthy Software Integrity Verification Primitive, Chen, Venkatesan, Cary, Pang, Sinha, and Jakubowski, Proc. of 5th International Workshop on Information Hiding, Towards Better Software Tamper Resistance, Jin and Myles, Proc. of Information Security: 8th International Conference, Self-Validating Branch-Based Software Watermarking, Myles and Jin, Proc. of 7th International Workshop on Information Hiding, Hardware-Assisted Circumvention of Self-Hashing Software Tamper Resistance, van Oorschot, Somayaji, and Wurster, IEEE Transactions on Dependeble and Secure Computing, [31]

RE-TRUST. PoliTO Prototypes Overview. Paolo Falcarin, Stefano DiCarlo Alessandro Cabutto, Nicola Garazzino, Davide Barberis

RE-TRUST. PoliTO Prototypes Overview. Paolo Falcarin, Stefano DiCarlo Alessandro Cabutto, Nicola Garazzino, Davide Barberis RE-TRUST PoliTO Prototypes Overview Paolo Falcarin, Stefano DiCarlo Alessandro Cabutto, Nicola Garazzino, Davide Barberis RE-TRUST meeting Paris, Dec 2008 RE-TRUST Project Many prototypes developed: 1.

More information

Building secure software-based DRM systems

Building secure software-based DRM systems Building secure software-based DRM systems Gisle Grimen, Christian Mönch, Roger Midtstraum Department of Computer and Information Science Norwegian University of Science and Technology {grimen, moench,

More information

Hotpatching and the Rise of Third-Party Patches

Hotpatching and the Rise of Third-Party Patches Hotpatching and the Rise of Third-Party Patches Alexander Sotirov asotirov@determina.com BlackHat USA 2006 Overview In the next one hour, we will cover: Third-party security patches _ recent developments

More information

Lecture 12: Software protection techniques. Software piracy protection Protection against reverse engineering of software

Lecture 12: Software protection techniques. Software piracy protection Protection against reverse engineering of software Lecture topics Software piracy protection Protection against reverse engineering of software Software piracy Report by Business Software Alliance for 2001: Global economic impact of software piracy was

More information

DIGITAL RIGHTS MANAGEMENT SYSTEM FOR MULTIMEDIA FILES

DIGITAL RIGHTS MANAGEMENT SYSTEM FOR MULTIMEDIA FILES DIGITAL RIGHTS MANAGEMENT SYSTEM FOR MULTIMEDIA FILES Saiprasad Dhumal * Prof. K.K. Joshi Prof Sowmiya Raksha VJTI, Mumbai. VJTI, Mumbai VJTI, Mumbai. Abstract piracy of digital content is a one of the

More information

Side Channel Analysis and Embedded Systems Impact and Countermeasures

Side Channel Analysis and Embedded Systems Impact and Countermeasures Side Channel Analysis and Embedded Systems Impact and Countermeasures Job de Haas Agenda Advances in Embedded Systems Security From USB stick to game console Current attacks Cryptographic devices Side

More information

Self Protection Techniques in Malware

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?

More information

Patterns for Secure Boot and Secure Storage in Computer Systems

Patterns for Secure Boot and Secure Storage in Computer Systems Patterns for Secure Boot and Secure Storage in Computer Systems Hans Löhr, Ahmad-Reza Sadeghi, Marcel Winandy Horst Görtz Institute for IT Security, Ruhr-University Bochum, Germany {hans.loehr,ahmad.sadeghi,marcel.winandy}@trust.rub.de

More information

Instruction Set Architecture (ISA)

Instruction Set Architecture (ISA) Instruction Set Architecture (ISA) * Instruction set architecture of a machine fills the semantic gap between the user and the machine. * ISA serves as the starting point for the design of a new machine

More information

The Reduced Address Space (RAS) for Application Memory Authentication

The Reduced Address Space (RAS) for Application Memory Authentication The Reduced Address Space (RAS) for Application Memory Authentication David Champagne, Reouven Elbaz and Ruby B. Lee Princeton University, USA Introduction Background: TPM, XOM, AEGIS, SP, SecureBlue want

More information

Full System Emulation:

Full System Emulation: Full System Emulation: Achieving Successful Automated Dynamic Analysis of Evasive Malware Christopher Kruegel Lastline, Inc. chris@lastline.com 1 Introduction Automated malware analysis systems (or sandboxes)

More information

Practical Data Location Obfuscation

Practical Data Location Obfuscation Practical Data Location Obfuscation Bertrand Anckaert, Mariusz H. Jakubowski, Ramarathnam Venkatesan and Chit Wei (Nick) Saw Department of Electronics and Information Systems Ghent University B-9000 Ghent,

More information

Runtime Detection of Software Modification Using RSCA Method

Runtime Detection of Software Modification Using RSCA Method 2012 4th International Conference on Computer Research and Development IPCSIT vol.39 (2012) (2012) IACSIT Press, Singapore Runtime Detection of Software Modification Using RSCA Method Sathaporn Sa-ngounwong

More information

Introduction. Application Security. Reasons For Reverse Engineering. This lecture. Java Byte Code

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

More information

Operating Systems. Virtual Memory

Operating Systems. Virtual Memory Operating Systems Virtual Memory Virtual Memory Topics. Memory Hierarchy. Why Virtual Memory. Virtual Memory Issues. Virtual Memory Solutions. Locality of Reference. Virtual Memory with Segmentation. Page

More information

Copy protection through software watermarking and obfuscation

Copy protection through software watermarking and obfuscation Copy protection through software watermarking and obfuscation GERGELY EBERHARDT, ZOLTÁN NAGY SEARCH-LAB Ltd., {gergely.eberhardt, zoltan.nagy}@search-lab.hu ERNÔ JEGES, ZOLTÁN HORNÁK BME, Department of

More information

The Beast is Resting in Your Memory On Return-Oriented Programming Attacks and Mitigation Techniques To appear at USENIX Security & BlackHat USA, 2014

The Beast is Resting in Your Memory On Return-Oriented Programming Attacks and Mitigation Techniques To appear at USENIX Security & BlackHat USA, 2014 Intelligent Things, Vehicles and Factories: Intel Workshop on Cyberphysical and Mobile Security 2014, Darmstadt, June 11 The Beast is Resting in Your Memory On Return-Oriented Programming Attacks and Mitigation

More information

Plain English Guide To Common Criteria Requirements In The. Field Device Protection Profile Version 0.75

Plain English Guide To Common Criteria Requirements In The. Field Device Protection Profile Version 0.75 Plain English Guide To Common Criteria Requirements In The Field Device Protection Profile Version 0.75 Prepared For: Process Control Security Requirements Forum (PCSRF) Prepared By: Digital Bond, Inc.

More information

Next-Generation Protection Against Reverse Engineering

Next-Generation Protection Against Reverse Engineering Next-Generation Protection Against Reverse Engineering 4 February 2005 Chris Coakley, Jay Freeman, Robert Dick ccoakley@anacapasciences.com; saurik@saurik.com; radick@anacapasciences.com Purpose This white

More information

The use of honeypot approach in software-based application protection for shareware programs

The use of honeypot approach in software-based application protection for shareware programs The use of honeypot approach in software-based application protection for shareware programs C. H. Nick Jap, P. Blanchfield, K. S. Daniel Su The University of Nottingham, Malaysia Abstract- Shareware programs

More information

EC 362 Problem Set #2

EC 362 Problem Set #2 EC 362 Problem Set #2 1) Using Single Precision IEEE 754, what is FF28 0000? 2) Suppose the fraction enhanced of a processor is 40% and the speedup of the enhancement was tenfold. What is the overall speedup?

More information

Identification and Removal of

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:

More information

ios applications reverse engineering Julien Bachmann julien@scrt.ch

ios applications reverse engineering Julien Bachmann julien@scrt.ch ios applications reverse engineering 1 Julien Bachmann julien@scrt.ch Agenda Motivations The architecture Mach-O Objective-C ARM AppStore binaries Find'em Decrypt'em Reverse'em What to look for Where to

More information

2) Write in detail the issues in the design of code generator.

2) Write in detail the issues in the design of code generator. COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage

More information

CS412/CS413. Introduction to Compilers Tim Teitelbaum. Lecture 20: Stack Frames 7 March 08

CS412/CS413. Introduction to Compilers Tim Teitelbaum. Lecture 20: Stack Frames 7 March 08 CS412/CS413 Introduction to Compilers Tim Teitelbaum Lecture 20: Stack Frames 7 March 08 CS 412/413 Spring 2008 Introduction to Compilers 1 Where We Are Source code if (b == 0) a = b; Low-level IR code

More information

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing

More information

RE-TRUST Design Alternatives on JVM

RE-TRUST Design Alternatives on JVM RE-TRUST Design Alternatives on JVM ( - Italy) paolo.falcarin@polito.it http://softeng.polito.it/falcarin Trento, December, 19 th 2006 Tamper-Detection Tamper-detection goals Detect malicious modifications

More information

X86-64 Architecture Guide

X86-64 Architecture Guide X86-64 Architecture Guide For the code-generation project, we shall expose you to a simplified version of the x86-64 platform. Example Consider the following Decaf program: class Program { int foo(int

More information

FRONT FLYLEAF PAGE. This page has been intentionally left blank

FRONT FLYLEAF PAGE. This page has been intentionally left blank FRONT FLYLEAF PAGE This page has been intentionally left blank Abstract The research performed under this publication will combine virtualization technology with current kernel debugging techniques to

More information

Return-oriented programming without returns

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

More information

Comp 255Q - 1M: Computer Organization Lab #3 - Machine Language Programs for the PDP-8

Comp 255Q - 1M: Computer Organization Lab #3 - Machine Language Programs for the PDP-8 Comp 255Q - 1M: Computer Organization Lab #3 - Machine Language Programs for the PDP-8 January 22, 2013 Name: Grade /10 Introduction: In this lab you will write, test, and execute a number of simple PDP-8

More information

Software Hardening & FIPS 140

Software Hardening & FIPS 140 Software Hardening & FIPS 140 Eugen Bacic, Gary Maxwell {ebacic@cinnabar.ca, gmaxwell@cinnabar.ca} Cinnabar Networks Inc. 265 Carling Avenue Suite 200 Ottawa, Ontario, Canada K1S 2E1 Abstract: FIPS 140-2

More information

Final exam review, Fall 2005 FSU (CIS-5357) Network Security

Final exam review, Fall 2005 FSU (CIS-5357) Network Security Final exam review, Fall 2005 FSU (CIS-5357) Network Security Instructor: Breno de Medeiros 1. What is an insertion attack against a NIDS? Answer: An insertion attack against a network intrusion detection

More information

Executable Integrity Verification

Executable Integrity Verification Executable Integrity Verification Abstract Background Determining if a given executable has been trojaned is a tedious task. It is beyond the capabilities of the average end user and even many network

More information

Software Reverse Engineering

Software Reverse Engineering Software Reverse Engineering Jacco Krijnen June 19, 2013 Abstract While reverse engineering probably started with the analysis of hardware, today it plays a significant role in the software world. We discuss

More information

Qiong Liu, Reihaneh Safavi Naini and Nicholas Paul Sheppard Australasian Information Security Workshop 2003. Presented by An In seok. 2010.12.

Qiong Liu, Reihaneh Safavi Naini and Nicholas Paul Sheppard Australasian Information Security Workshop 2003. Presented by An In seok. 2010.12. Digital Rights Management for Content Distribution Qiong Liu, Reihaneh Safavi Naini and Nicholas Paul Sheppard Australasian Information Security Workshop 2003 Presented by An In seok. 2010.12.1 Contents

More information

How To Prevent An Sql Injection Attack

How To Prevent An Sql Injection Attack CHAPTER 1 PROJECT OVERVIEW 1.1 Introduction Database security is the degree to which all data is fully protected from tampering or unauthorized acts. Security vulnerability, security threat and security

More information

Embedded Firmware Diversity for Smart Electric Meters

Embedded Firmware Diversity for Smart Electric Meters Embedded Firmware Diversity for Smart Electric Meters Stephen McLaughlin, Dmitry Podkuiko, Adam Delozier, Sergei Miadzvezhanka, and Patrick McDaniel 1 Smart Meters Electromechanical Smart Meter 2 3 Concerns

More information

Data Model Bugs. Ivan Bocić and Tevfik Bultan

Data Model Bugs. Ivan Bocić and Tevfik Bultan Data Model Bugs Ivan Bocić and Tevfik Bultan Department of Computer Science University of California, Santa Barbara, USA bo@cs.ucsb.edu bultan@cs.ucsb.edu Abstract. In today s internet-centric world, web

More information

ASSURING INTEGRITY OF DATAFLOW PROCESSING IN CLOUD COMPUTING INFRASTRUCTURE

ASSURING INTEGRITY OF DATAFLOW PROCESSING IN CLOUD COMPUTING INFRASTRUCTURE ASSURING INTEGRITY OF DATAFLOW PROCESSING IN CLOUD COMPUTING INFRASTRUCTURE R.Genga devi 1, K.Anitha 2, M.Murugeshwari 3,S.vidhya 4, Dr.K.Ramasamy 5 1, 2, 3- UG STUDENT, P.S.R.RENGASAMY COLLEGE OF ENGINEERING

More information

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

More information

Embedded Software development Process and Tools:

Embedded Software development Process and Tools: Embedded Software development Process and Tools: Lesson-2 Integrated Development Environment (IDE) 1 1. IDE 2 Consists of Simulators editors, compilers, assemblers, etc., IDE 3 emulators logic analyzers

More information

Off-by-One exploitation tutorial

Off-by-One exploitation tutorial Off-by-One exploitation tutorial By Saif El-Sherei www.elsherei.com Introduction: I decided to get a bit more into Linux exploitation, so I thought it would be nice if I document this as a good friend

More information

Software Protection through Code Obfuscation

Software Protection through Code Obfuscation Software Protection through Code Obfuscation Dissertation submitted in partial fulfillment of the requirements for the degree of Master of Technology, Computer Engineering by Aniket Kulkarni Roll No: 121022016

More information

Introduction. Figure 1 Schema of DarunGrim2

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,

More information

CMSC 421, Operating Systems. Fall 2008. Security. URL: http://www.csee.umbc.edu/~kalpakis/courses/421. Dr. Kalpakis

CMSC 421, Operating Systems. Fall 2008. Security. URL: http://www.csee.umbc.edu/~kalpakis/courses/421. Dr. Kalpakis CMSC 421, Operating Systems. Fall 2008 Security Dr. Kalpakis URL: http://www.csee.umbc.edu/~kalpakis/courses/421 Outline The Security Problem Authentication Program Threats System Threats Securing Systems

More information

Instruction Set Design

Instruction Set Design Instruction Set Design Instruction Set Architecture: to what purpose? ISA provides the level of abstraction between the software and the hardware One of the most important abstraction in CS It s narrow,

More information

Concepts of digital forensics

Concepts of digital forensics Chapter 3 Concepts of digital forensics Digital forensics is a branch of forensic science concerned with the use of digital information (produced, stored and transmitted by computers) as source of evidence

More information

TitanMist: Your First Step to Reversing Nirvana TitanMist. mist.reversinglabs.com

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

More information

Attacking Obfuscated Code with IDA Pro. Chris Eagle

Attacking Obfuscated Code with IDA Pro. Chris Eagle Attacking Obfuscated Code with IDA Pro Chris Eagle Outline Introduction Operation Demos Summary 2 First Order Of Business MOVE UP AND IN! There is plenty of room up front I can't increase the font size

More information

Surreptitious Software

Surreptitious Software Surreptitious Software Obfuscation, Watermarking, and Tamperproofing for Software Protection Christian Collberg Jasvir Nagra rw T Addison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco

More information

Framework for Injecting the Attacks and Analyzing the Behaviour of Vulnerability on Server s

Framework for Injecting the Attacks and Analyzing the Behaviour of Vulnerability on Server s Framework for Injecting the Attacks and Analyzing the Behaviour of Vulnerability on Server s Panchamukesh Ch #1, Kumar.J *2, Neelima.S *3, Sailaja.D *4 #1 Department of CSE, HITAM, Gowdavally, Hyderabad,

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION 1.1 Overview Software testing is a verification process in which an application of the software or the program meets the business requirements and technology that have dominated

More information

What is Software Watermarking? Software Watermarking Through Register Allocation: Implementation, Analysis, and Attacks

What is Software Watermarking? Software Watermarking Through Register Allocation: Implementation, Analysis, and Attacks hat is Software atermarking? Software atermarking Through Register Allocation: Implementation, Analysis, and Attacks Ginger Myles Christian Collberg {mylesg,collberg}@cs.arizona.edu University of Arizona

More information

Red Hat Linux Internals

Red Hat Linux Internals Red Hat Linux Internals Learn how the Linux kernel functions and start developing modules. Red Hat Linux internals teaches you all the fundamental requirements necessary to understand and start developing

More information

Hypervisor-Based, Hardware-Assisted System Monitoring

Hypervisor-Based, Hardware-Assisted System Monitoring Horst Görtz Institute for IT-Security, Chair for System Security VMRay GmbH Hypervisor-Based, Hardware-Assisted System Monitoring VB2013 October 2-4, 2013 Berlin Carsten Willems, Ralf Hund, Thorsten Holz

More information

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 39 System Security Welcome

More information

Debugging Multi-threaded Applications in Windows

Debugging Multi-threaded Applications in Windows Debugging Multi-threaded Applications in Windows Abstract One of the most complex aspects of software development is the process of debugging. This process becomes especially challenging with the increased

More information

Secure cloud access system using JAR ABSTRACT:

Secure cloud access system using JAR ABSTRACT: Secure cloud access system using JAR ABSTRACT: Cloud computing enables highly scalable services to be easily consumed over the Internet on an as-needed basis. A major feature of the cloud services is that

More information

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

SECURE IMPLEMENTATIONS OF CONTENT PROTECTION (DRM) SCHEMES ON CONSUMER ELECTRONIC DEVICES SECURE IMPLEMENTATIONS OF CONTENT PROTECTION (DRM) SCHEMES ON CONSUMER ELECTRONIC DEVICES Contents Introduction... 3 DRM Threat Model... 3 DRM Flow... 4 DRM Assets... 5 Threat Model... 5 Protection of

More information

Interpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters

Interpreters and virtual machines. Interpreters. Interpreters. Why interpreters? Tree-based interpreters. Text-based interpreters Interpreters and virtual machines Michel Schinz 2007 03 23 Interpreters Interpreters Why interpreters? An interpreter is a program that executes another program, represented as some kind of data-structure.

More information

Attacking Host Intrusion Prevention Systems. Eugene Tsyrklevich eugene@securityarchitects.com

Attacking Host Intrusion Prevention Systems. Eugene Tsyrklevich eugene@securityarchitects.com Attacking Host Intrusion Prevention Systems Eugene Tsyrklevich eugene@securityarchitects.com Agenda Introduction to HIPS Buffer Overflow Protection Operating System Protection Conclusions Demonstration

More information

Detecting the One Percent: Advanced Targeted Malware Detection

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

More information

A Model For Revelation Of Data Leakage In Data Distribution

A Model For Revelation Of Data Leakage In Data Distribution A Model For Revelation Of Data Leakage In Data Distribution Saranya.R Assistant Professor, Department Of Computer Science and Engineering Lord Jegannath college of Engineering and Technology Nagercoil,

More information

RTOS Debugger for ecos

RTOS Debugger for ecos RTOS Debugger for ecos TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... RTOS Debugger... RTOS Debugger for ecos... 1 Overview... 2 Brief Overview of Documents for New Users... 3

More information

OWASP Mobile Top Ten 2014 Meet the New Addition

OWASP Mobile Top Ten 2014 Meet the New Addition OWASP Mobile Top Ten 2014 Meet the New Addition Agenda OWASP Mobile Top Ten 2014 Lack of Binary Protections added Why is Binary Protection important? What Risks Need to be Mitigated? Where to Go For Further

More information

Internet Sustainability and Network Marketing Safety

Internet Sustainability and Network Marketing Safety Protecting Neighbor Discovery Against Node Compromises in Sensor Networks Donggang Liu isec Laboratory, CSE Department The University of Texas at Arlington Abstract The neighborhood information has been

More information

Second year review WP2 overview SW-based Method. Trento - October 17th, 2008

Second year review WP2 overview SW-based Method. Trento - October 17th, 2008 Second year review WP2 overview SW-based Method Trento - October 17th, 2008 1 Goal To investigate software-only methodologies for remote entrusting implementation 2 Tasks D2.3 D2.4 M0 M3 M6 M9 M12 M15

More information

Decentralized Information Accountability Framework for Information Sharing In Cloud Environment

Decentralized Information Accountability Framework for Information Sharing In Cloud Environment Decentralized Information Accountability Framework for Information Sharing In Cloud Environment Deepthi Srinivas, Shylaja BR, Rajeev RK, Muruli R 1 BNM Institute of technology 2,3,4 Rai Technology University

More information

SECURITY ANALYSIS OF PASSWORD BASED MUTUAL AUTHENTICATION METHOD FOR REMOTE USER

SECURITY ANALYSIS OF PASSWORD BASED MUTUAL AUTHENTICATION METHOD FOR REMOTE USER SECURITY ANALYSIS OF PASSWORD BASED MUTUAL AUTHENTICATION METHOD FOR REMOTE USER Mrs. P.Venkateswari Assistant Professor / CSE Erode Sengunthar Engineering College, Thudupathi ABSTRACT Nowadays Communication

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B Lab 7: MISP Processor Design Spring 1995 Objective: In this lab, you will complete the design of the MISP processor,

More information

IBM RATIONAL PERFORMANCE TESTER

IBM RATIONAL PERFORMANCE TESTER IBM RATIONAL PERFORMANCE TESTER Today, a major portion of newly developed enterprise applications is based on Internet connectivity of a geographically distributed work force that all need on-line access

More information

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C Tutorial#1 Q 1:- Explain the terms data, elementary item, entity, primary key, domain, attribute and information? Also give examples in support of your answer? Q 2:- What is a Data Type? Differentiate

More information

Confinement Problem. The confinement problem Isolating entities. Example Problem. Server balances bank accounts for clients Server security issues:

Confinement Problem. The confinement problem Isolating entities. Example Problem. Server balances bank accounts for clients Server security issues: Confinement Problem The confinement problem Isolating entities Virtual machines Sandboxes Covert channels Mitigation 1 Example Problem Server balances bank accounts for clients Server security issues:

More information

Sage 50 Payroll 2012 Authentication Bypass

Sage 50 Payroll 2012 Authentication Bypass Sage 50 Payroll 2012 Authentication Bypass Version Number 18.00.031 SBD Desktop Version 2.0.0.160 Website http://www.sage.co.uk/sage-50-payroll Author Richard Davy Email rmdavy@rmdavy.karoo.co.uk Tools

More information

Mobile Application Hacking for Android and iphone. 4-Day Hands-On Course. Syllabus

Mobile Application Hacking for Android and iphone. 4-Day Hands-On Course. Syllabus Mobile Application Hacking for Android and iphone 4-Day Hands-On Course Syllabus Android and iphone Mobile Application Hacking 4-Day Hands-On Course Course description This course will focus on the techniques

More information

Reverse Engineering and Computer Security

Reverse Engineering and Computer Security Reverse Engineering and Computer Security Alexander Sotirov alex@sotirov.net Introduction Security researcher at Determina, working on our LiveShield product Responsible for vulnerability analysis and

More information

CycurHSM An Automotive-qualified Software Stack for Hardware Security Modules

CycurHSM An Automotive-qualified Software Stack for Hardware Security Modules CycurHSM An Automotive-qualified Software Stack for Hardware Security Modules Dr. Frederic Stumpf, ESCRYPT GmbH Embedded Security, Stuttgart, Germany 1 Introduction Electronic Control Units (ECU) are embedded

More information

III. Our Proposal ASOP ROUTING ALGORITHM. A.Position Management

III. Our Proposal ASOP ROUTING ALGORITHM. A.Position Management Secured On-Demand Position Based Private Routing Protocol for Ad-Hoc Networks Ramya.R, Shobana.K, Thangam.V.S ramya_88@yahoo.com, k shobsi@yahoo.co.in,thangam_85@yahoo.com Department of Computer Science,

More information

CS:APP Chapter 4 Computer Architecture. Wrap-Up. William J. Taffe Plymouth State University. using the slides of

CS:APP Chapter 4 Computer Architecture. Wrap-Up. William J. Taffe Plymouth State University. using the slides of CS:APP Chapter 4 Computer Architecture Wrap-Up William J. Taffe Plymouth State University using the slides of Randal E. Bryant Carnegie Mellon University Overview Wrap-Up of PIPE Design Performance analysis

More information

Introduction to Automated Testing

Introduction to Automated Testing Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases

More information

A Survey of Anti-Tamper Technologies

A Survey of Anti-Tamper Technologies A Survey of Anti-Tamper Technologies The unauthorized modification and subsequent misuse of software is often referred to as software cracking. Usually, cracking requires disabling one or more software

More information

On Security Evaluation Testing

On Security Evaluation Testing On Security Evaluation Testing Kerstin Lemke-Rust Hochschule Bonn-Rhein-Sieg Workshop: Provable Security against Physical Attacks Lorentz Center, 19 Feb 2010 Kerstin Lemke-Rust (H BRS) On Security Evaluation

More information

Release: 1. ICTPRG503 Debug and monitor applications

Release: 1. ICTPRG503 Debug and monitor applications Release: 1 ICTPRG503 Debug and monitor ICTPRG503 Debug and monitor Modification History Release Release 1 Comments This version first released with ICT Information and Communications Technology Training

More information

Cloud Information Accountability Framework for Auditing the Data Usage in Cloud Environment

Cloud Information Accountability Framework for Auditing the Data Usage in Cloud Environment International Journal of Computational Engineering Research Vol, 03 Issue, 11 Cloud Information Accountability Framework for Auditing the Data Usage in Cloud Environment D.Dhivya 1, S.CHINNADURAI 2 1,M.E.(Cse),

More information

Summary of Results from California Testing of the ES&S Unity 3.0.1.1/AutoMARK Voting System

Summary of Results from California Testing of the ES&S Unity 3.0.1.1/AutoMARK Voting System Summary of Results from California Testing of the ES&S Unity 3.0.1.1/AutoMARK Voting System The California Secretary of State tasked Freeman Craft McGregor Group (FCMG) to perform functional testing, accessibility

More information

Bypassing Anti- Virus Scanners

Bypassing Anti- Virus Scanners Bypassing Anti- Virus Scanners Abstract Anti-Virus manufacturers nowadays implements more and more complex functions and algorithms in order to detect the latest and newest viruses along with their variants.

More information

Penetration Testing. Presented by

Penetration Testing. Presented by Penetration Testing Presented by Roadmap Introduction to Pen Testing Types of Pen Testing Approach and Methodology Side Effects Demonstration Questions Introduction and Fundamentals Penetration Testing

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 3, March 3 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Using Third Party

More information

Security Vulnerability Notice

Security Vulnerability Notice Security Vulnerability Notice SE-2014-01-ORACLE [Security vulnerabilities in Oracle Database Java VM, Issues 1-20] DISCLAIMER INFORMATION PROVIDED IN THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT WARRANTY

More information

Hydra. Advanced x86 polymorphic engine. Incorporates existing techniques and introduces new ones in one package. All but one feature OS-independent

Hydra. Advanced x86 polymorphic engine. Incorporates existing techniques and introduces new ones in one package. All but one feature OS-independent Hydra Advanced x86 polymorphic engine Incorporates existing techniques and introduces new ones in one package All but one feature OS-independent Random register operations Different synonymous instructions

More information

SkyRecon Cryptographic Module (SCM)

SkyRecon Cryptographic Module (SCM) SkyRecon Cryptographic Module (SCM) FIPS 140-2 Documentation: Security Policy Abstract This document specifies the security policy for the SkyRecon Cryptographic Module (SCM) as described in FIPS PUB 140-2.

More information

Computer Organization and Architecture

Computer Organization and Architecture Computer Organization and Architecture Chapter 11 Instruction Sets: Addressing Modes and Formats Instruction Set Design One goal of instruction set design is to minimize instruction length Another goal

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering ($Billion Dollars) Volume 3, Issue 5, May 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com

More information

Dynamic Spyware Analysis

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

More information

Lecture 26: Obfuscation

Lecture 26: Obfuscation Lecture 26: Obfuscation 15411: Compiler Design Robbie Harwood and Maxime Serrano 21 November 2013 1 Introduction We have previously (lecture 20) considered the problem of doing compilation backwards (i.e.,

More information

OS KERNEL MALWARE DETECTION USING KERNEL CRIME DATA MINING

OS KERNEL MALWARE DETECTION USING KERNEL CRIME DATA MINING OS KERNEL MALWARE DETECTION USING KERNEL CRIME DATA MINING MONISHA.T #1 and Mrs.UMA.S *2 # ME,PG Scholar,Department of CSE, SKR Engineering College,Poonamallee,Chennai,TamilNadu * ME,Assist.professor,

More information

Real-time Debugging using GDB Tracepoints and other Eclipse features

Real-time Debugging using GDB Tracepoints and other Eclipse features Real-time Debugging using GDB Tracepoints and other Eclipse features GCC Summit 2010 2010-010-26 marc.khouzam@ericsson.com Summary Introduction Advanced debugging features Non-stop multi-threaded debugging

More information

Hardware Security Modules for Protecting Embedded Systems

Hardware Security Modules for Protecting Embedded Systems Hardware Security Modules for Protecting Embedded Systems Marko Wolf, ESCRYPT GmbH Embedded Security, Munich, Germany André Weimerskirch, ESCRYPT Inc. Embedded Security, Ann Arbor, USA 1 Introduction &

More information

Hardware and Security: Vulnerabilities and Solutions

Hardware and Security: Vulnerabilities and Solutions C H A P T E R 12 Hardware and Security: Vulnerabilities and Solutions Gedare Bloom, Eugen Leontie, Bhagirath Narahari, Rahul Simha 12.1. INTRODUCTION This chapter introduces the role that computer hardware

More information