Return-Oriented Vulnerabilities in ARM Executables
|
|
|
- Hubert Daniels
- 10 years ago
- Views:
Transcription
1 1 Return-Oriented Vulnerabilities in ARM Executables Zi-Shun Huang Center for Embedded Computer Systems University of California Irvine Ian G. Harris Center for Embedded Computer Systems University of California Irvine Abstract Return-oriented programming is a method of computer exploit technique which is growing in popularity among attackers because it enables the remote execution of arbitrary code without the need for code injection. Return-to-LibC (Ret2LibC) is the most common return-oriented attack in use today, allowing an attacker to leverage control of the stack to execute common library functions which are already present on the target system, such as LibC. ARMbased processors, commonly used in embedded systems, are not directly vulnerable to Ret2LibC attacks because function arguments in the ARM are passed through registers rather than the stack. In 2011 Itzhak Avraham presented a new Return-to- Zero-Protection (Ret2ZP) attack against ARM processors which enables the same control as a Ret2LibC attack. Our research contribution is to provide a formal definition of the Ret2ZP attack and to define an algorithm to detect vulnerabilities to Ret2ZP in ARM executables. Our algorithm for detecting vulnerabilities can be used to screen executables for vulnerabilities before they are deployed. 1 Introduction Within the past 15 to 20 years embedded systems have seen increasingly widespread adoption. The complexity of many embedded devices is effectively invisible to users, operating inside components used everyday including automobiles, televisions, and video game consoles. The research firm IDC reports the market for embedded computer systems already generates more than US 1 trillion in revenue annually and will double in size over the next four years [20]. IDC also predicts that much of this growth will be propelled by more sophisticated, cloud-connected embedded system which will have a high degree of network connectivity. The embedded nature of these systems successfully conceals complexity, allowing users to forget about security vulnerabilities that they are exposed to. The media has improved public awareness of cyberattacks against servers operating at institutions such as banks, credit card agencies, and nuclear material enrichment facilities. However, people are not sufficiently aware of the vulnerabilities inside embedded devices which they use much more frequently. Embedded systems are increasingly network-enabled, typically connected to the internet through a TCP/IP stack. Network connectivity makes these systems vulnerable to many of the same cyberattacks as desktop, laptop, and server machines. Malware is a collection of instructions that executes on a machine and make the system to perform somemalicious operation [4]. There are several recent examples of malware which targets embedded devices. For example, millions of printers were found to contain a security weakness that could allow attackers to take control of the systems, steal data and issue commands that could cause the devices to overheat and catch fire [10]. Even in industrial systems such as programmable logic controller (PLC) and supervisory control and data acquisition (SCADA) have the risk to be attacked. The Stuxnet worm, discovered in June 2010, initially spreads via Microsoft Windows, and targets Siemens industrial software and equipment [13]. Embedded systems are often required to meet strict timing, cost, and power requirements. As a result, traditional defense mechanisms are not suitable for embedded systems. Security vulnerabilities often depend on very specific aspects of the behavior the underlying processor, so embedded systems vulnerabilities may be significantly different from those of general-purpose platforms. Return-oriented programming [24] describes a growing class of exploits which code segments already present on a system to execute a range of malicious behaviors. The most common type of return-oriented
2 2 attack is Return-to-LibC (Ret2LibC) [8] where an attacker exploits a buffer overflow to redirect control flow to a library function already present in the system. To perform a Ret2LibC attack, the attacker must overwrite a return address on the stack with the address of a library function. Additionally, the attacker must place the arguments of the library function on the stack in order to control the execution of the library function. Ret2LibC is commonly applied against Intel x86 architectures, but the ARM architectures [17] used in embedded systems are not directly vulnerable to this attack because function parameters are passed through registers instead. ARMbased processors are the most commonly used microprocessors in embedded systems due in part to their low power consumption compared to Intel x86. At the BlackHat Convention in 2011, Itzhak Avraham [6] first presented the Return-to-Zero-Protection (Ret2ZP) attack which effectively allows a Ret2LibC attack to be applied to ARM-based processors. This is an important development because reveals a significant vulnerability in ARM-based processors which is likely to be exploited to create malware targeted at embedded systems. The contribution of this paper is an approach and a tool to analyze the software on an ARM-based system and determine whether or not it is vulnerable to a Ret2ZP attack. The feasibility of a Ret2ZP attack depends on the existence of special code sequences on the embedded system platform. We define the nature of the code sequences which expose a system to a Ret2ZP attack. Our tool automatically scans an existing ARM executable and identifies all vulnerable code sequences. Once identified, vulnerable code sequences can be patched to remove the vulnerability. 2 Related Work Return-to-LibC (Ret2LibC) [11] is a method of exploiting based on buffer overflow to defeat a system that has a non-executable stack. The difference between Ret2LibC and traditional buffer overflow code inject attack is that the return address is overwritten to point to a shared library such as C library. In addition, the required arguments to the shared library function are also placed on the stack. This allows attackers to call existing library functions without injecting malicious code into a program. Dynamic shared libraries must be executable, so non-executable memory regions provide no protection against this attack. Ret2LibC is a special case of a return-oriented programming attack [24] which has the potential to enable arbitrary code execution. To prevent Ret2LibC attacks, many mechanisms have conceived. One protection technique focuses on monitoring control flow and memory activities to detect violations [23]. These approaches may use hardware support [14, 5, 19, 25] such as a shadow stack. These methods require a new architecture [15, 7], and may affect the original pipeline performance [16, 3]. This techniques need to check all instructions, memory, or stack. If it does not check all instruction, the risk of attack is possible. Checking all instruction comes with a significant reduction in performance [21, 12, 9]. Protected free-branch instructions technique can be implemented by using code rewriting techniques to remove all unaligned instructions that can be used to link the gadgets. However, because of code rewriting, its main disadvantage is code size increase [22]. Ret2LibC attack requires passing arguments to libc functions from the stack. By ARM calling convention [17], passing parameters occurs through registers rather than the stack. A stack buffer overflow gives the attacker direct control of the stack, but not the registers. As a result, Ret2LibC attacks does not work againstarm-based processors. In [6], Avraham developed the Return-to-Zero-Protection (Ret2ZP) attack against ARM-based processors which allows an attacker to control registers from the stack. By allowing control of registers, Ret2ZP enables the Ret2LibC attack to be applied to ARM-based processors. 3 Return to Zero Protection (Ret2ZP) A Ret2ZP attack exploits a stack buffer overflow to redirect control flow to a function present on the system, and to control the arguments to that function. Redirecting control flow can be performed directly by overwriting a return address on the stack with the address of the desired function. However, controlling the function arguments is more difficult because functions executing on the ARM architecture accept arguments through argument registers r0 - r3, rather than the stack. To control the arguments to a function, the contents of one or more of these registers must be assigned before control flow is redirected to the desired function. To control the values of the argument registers and to redirect control flow to the desired function, the Ret2ZP attack depends on the existence of a vulnerable code sequence (VCS), already present on the system, which copies data from the stack to the
3 3 argument registers, and then from the stack to the program counter (PC) register. The Ret2ZP attack first places the library function arguments and the library function address onto the stack. Then control flow is redirected to the VCS which moves the arguments from the stack to the argument registers, and moves the library function address from the stack to the PC, redirecting control flow to the library function. Figures 1a, b, and c show the contents of the stack at different points during the execution of a Ret2ZP attack. Figure 1a shows the contents of the original stack, before the attack has been executed. Two stack frames are shown, where stack frame 0 is the current stack frame at the top of the stack. The stack frames have been simplified for the purposes of this presentation, so only the contents important to the Ret2ZP attack are shown. Each stack frame contains a space labeled locals for local variables for the corresponding function, and a space labeled ret addr which contains the return address for code execution after the corresponding function is complete. The current stack frame contains a buffer labeled buff which we assume is vulnerable to buffer overflow by the attack. Figure 1b shows the contents of the stack after the buffer overflow. The stack grows down in memory addresses, so the memory addresses increase down in the stack pictures of Figure 1. When the buffer overflows, the stack below the buffer is altered, as can be seen in Figure 1b. The buffer overflow places three different blocks of data onto the stack. The address of the VCS, &VCS, is written over the old return address so that the the VCS will be executed when the current function completes. The arguments to be passed to the desired library function, args, and the address of the desired library function, &libfn are placed on the stack. Figure 1c shows the contents of the stack after the current function completes its execution and returns. Since the old return address was overwritten with &VCS, the VCS is now executing. The locals region for stack frame 0 was popped off of the stack when the previous function completed its execution, so the top of the stack contains the arguments for the desired library function and the address of the library function, as shown in Figure 1c. At this point, it is the job of the VCS to move the arguments from the stack to the argument registers, and move &libfn to the PC. 3.1 Vulnerable Code Sequence (VCS) The Ret2ZP attack depends on the existence of an appropriate VCS in the system. A VCS, is a consecutive sequence of instructions which are resident in the memory of the victim machine. It would be possible for a vulnerable code sequence to be composed of multiple discontinuous code sequences which are connected by intervening jump instructions but we ignore this possibility for the sake of simplicity, and because it is unlikely to occur in practice. Any valid VCS must satisfy the following set of constraints that our tool checks for. 1. The final instruction in the sequence must copy data from the stack to the PC register. The execution of this final instruction which transfers control to the desired library function. 2. The sequence must contain no instruction which writes data to the PC register, other than the final instruction. This constraint ensures that the instruction sequence is continuous. 3. The sequence must move data from the stack into some subset of the argument registers. 4. The sequence must not write data to the stack. This is required because any data written to the stack might overwrite the library function arguments or the library function address which are already on the stack. Figure 2 shows an example of a VCS. The first line of code loads argument registers r0 and r1 from the stack which is addressed by the stack pointer, SP. The final line of code executes a function return by popping the top of the stack and placing the popped value in the program counter, PC. Notice that the stack contents can be read using a load-type of instruction such as ldm, or a pop instruction which also updates the stack pointer. 4 VCS Detection We have implemented a tool which identifies the presence of vulnerable code sequences in an executable. Detection of these sequences will allow the software to be patched, removing the vulnerability before the software is deployed. In order to analyze the executable, our tool uses the Radare toolkit [1] to disassemble the executable and generate assembly code which we can process. Once the executable is disassembled, our tool performs a single-pass scan of each instruction to identify any VCS. An important aspect of a VCS is that it must move data from the stack into the argument registers. To
4 4 Figure 1: Stack contents during Ret2ZP attack, (a) before buffer overflow, (b) after buffer overflow, (c)start of VCS execution ldm sp, {r0, r1} add sp, sp, #8 pop {pc} Figure 2: Vulnerable code sequence example assist our discussion of this topic, we refer to a register as being stack-controllable at a point during program execution if the current value of the register was copied directly from the stack. A register becomes stack-controllable when an instruction loads stack contents into the register, and it is no longer controllable after the registers value is modified in any way, other than loading it from the stack. The executable is scanned linearly from beginning to end, and at each line a set of stack-controllable argument registers R is maintained. A VCS is detected if an instruction is encountered which loads the PC from the stack, and R =. Additional constraints are that the VCS should contain no branches to any address not taken from the stack, and that no instruction within the VCS should write to the stack. To enforce these constraints we set R = whenever either a non-stack branch or a write to the stack are encountered. Figure 3 contains the pseudocode describing our VCS detection algorithm. In the pseudocode we use the following definitions: A is the set of argument registers. PC refers to the program counter register. R is the current set of stack-controllable argument registers. I is the ordered sequence of instructions in the executable. 1. R = 2. foreach i I 3. foreach r A 4. if i L r then R = R r 5. if i M r then R = R r 6. if (i W )OR(i B) thenr = 7. if i L PC AND R = then 8. print VCS Detected 9. R = Figure 3: VCS Detection Pseudocode L r is the set of instructions in the executable which load register r from the stack. M r is the set of instructions in the executable which modify register r without loading register r from the stack. W is the set of instructions in the executable which write data to the stack. B is the set of instructions in the executable which branch to an address not taken from the stack. The algorithm in Figure 3 initializes the set of stack-controllable registers on line 1, and enters a loop starting on line 2 which iteratively processes each instruction of the executable. The set of stackcontrollable registers is updated on lines 3-5 where an argument register is added to the set if it is loaded from the stack, and deleted from the set if it is modified. A check for non-stack branch instructions and stack writing instructions is performed on line 6. The end of a VCS is detected at line 7 as an instruction which moves the stack contents to the PC while
5 5 File Name C exec. #VCS aes expanded key aes set key Bitband boot demo boot demo boot demo eth enet io enet lwip enet ptpd enet uip hello gpio jtag Graphics interrupts mpu fault Pwmgen qs ek-lm3s sd card timers uart echo Watchdog Table 1: VCS Detection Results R =. If a VCS is detected then success is announced (line 8) and the stack-controllable set is reset to start scanning for a new VCS in the remainder of the executable(line9). 5 Experimental Results We used our vulnerability analysis tool to detect vulnerable code segments in a set of same ARM executables. As our benchmark set of ARM executables we used the example programs provided for use with the EK-LM3S6965 Evaluation Board from Texas Instruments [2]. The board uses an ARM-based TI Stellaris LM3S6965 microprocessor. The sample programs are provided in C which we compiled for the LM3S6965 processor using the GCC compiler [18]. Table 1 shows the results of our analysis of all of the sample ARM-executables. Each row contains the results for a different program and the first column contains the name of the program. The second and third columns show the size of the original C programs and the size of the compiled executable. The final column labeled #VCSshows the number of vulnerable code segments found in each executable. The table shows that almost 20% of these executaldmibeq sp!, {r0, r1, r2, r4, r5, r6, r7, fp, sp, pc} Figure 4: VCS example in Pwmgen bles contained a vulnerability to the Ret2ZP attack. The total CPU time required to detect VCS in all examples is seconds. The vulnerable code sequences detected in these examples were all comprised of a single line of code which loaded the argument registers as well as the PC. An example is shown in Figure 4 which was found in the Pwmgen sample program. 6 Conclusions We have developed a tool which is used to detect Ret2ZP vulnerabilities in ARM executables. The popularity of return-oriented programming attacks underscores the need for the tool that we have developed. Our experimental results show that almost 20% of the programs that we evaluated actually contained vulnerabilities. Since the frequency of vulnerabilities can be expected to increase with program size, the detection of vulnerabilities becomes even more important for larger systems. References [1] radare, reverse engineering toolkit. [2] Texas Instruments EK3S6965 Evaluation Kit. [3] M. Abadi, M. Budiu, U. Erlingsson, and Jay Ligatti. Control-flow integrity principles, implementations, and applications. ACM Transactions on Information and System Security (TISSEC), 13(1):4, [4] Aleph One. Smashing The Stack For Fun And Profit, [5] Divya Arora, Srivaths Ravi, Anand Raghunathan, and N.K. Jha. Secure embedded processing through hardware-assisted run-time monitoring. In Proceedings of the conference on Design, Automation and Test in Europe-Volume 1, pages IEEE Computer Society, [6] Itzhak(Zuk) Avraham. Non-Executable Stack ARM Exploitation Research Pa-
6 6 per. In BlackHat Security Convention, /Avraham/BlackHat DC 2011 Avraham ARM Exploitation-wp.2.0.pdf. [7] Mihai Budiu, U. Erlingsson, and M. Abadi. Architectural support for software-based protection. In Proceedings of the 1st workshop on Architectural and system support for improving software dependability, pages ACM, [8] context. Bypassing Non-Executable Stack During Exploitation Using Return-to-LibC. resources/pdf/ return-tolibc.pdf. [9] M.L. Corliss, E.C. Lewis, and A. Roth. Using DISE to protect return addresses from attack. ACM SIGARCH Computer Architecture News, 33(1):65 72, [10] Ang Cui and Sal Stolfo. Print Me If You Dare Firmware Update Attack and the Rise of Printer Malware, CuiPrintMeIfYouDare.pdf. [11] Solar Designer. Getting around nonexecutable stack (and fix), [12] Ú. Erlingsson, M. Abadi, Michael Vrable, M. Budiu, and G.C. Necula. XFI: Software guards for system address spaces. In Proceedings of the 7th symposium on Operating systems design and implementation, pages USENIX Association, [13] Nicolas Falliere. Stuxnet Introduces the First Known Rootkit for Industrial Control Systems, stuxnet-introduces-first-known-rootkit-scadadevices. [14] Aurélien Francillon, Daniele Perito, Claude Castelluccia, and Inria Rhône-alpes. Defending Embedded Systems Against Control Flow Attacks Categories and Subject Descriptors. In Proceedings of the first ACM workshop on Secure execution of untrusted code, pages 19 26, [15] Saugata Ghose, Latoya Gilgeous, Polina Dudnik, Aneesh Aggarwal, and Corey Waxman. Architectural support for low overhead detection of memory violations. In Design, Automation & Test in Europe Conference & Exhibition, DATE 09., pages IEEE, [16] Koji Inoue. Energy-security tradeoff in a secure cache architecture against buffer overflow attacks. ACM SIGARCH Computer Architecture News, 33(1):81 89, [17] ARM Ltd. Procedure Call Standard for the ARM Architecture, com.arm.doc.ihi0042d/ihi0042d aapcs.pdf. [18] GCC the GNU compiler collection. gcc.gnu.org. [19] Milena Milenković, A. Milenković, and E. Jovanov. Hardware support for code integrity in embedded processors. In Proceedings of the 2005 International Conference on Compilers, Architectures and Synthesis for Embedded Systems, pages ACM, [20] Mario Morales and Michael J Palma. Intelligent systems : The next big opportunity, [21] G. Novark, E.D. Berger, and B.G. Zorn. Exterminator: automatically correcting memory errors with high probability. Communications of the ACM - Surviving the data deluge, 42(6):1 11, [22] Kaan Onarlioglu, Leyla Bilge, Andrea Lanzi, Davide Balzarotti, and Engin Kirda. G-free: defeating return-oriented programming through gadget-less binaries. In Proceedings of the 26th Annual Computer Security Applications Conference, ACSAC 10, pages 49 58, [23] R.G. Ragel, S. Parameswaran, and S.M. Kia. Micro embedded monitoring for security in application specific instruction-set processors. In Proceedings of the 2005 International Conference on Compilers, Architectures and Synthesis for Embedded Systems, pages , [24] Hovav Shacham. The geometry of innocent flesh on the bone: Return-into-libc without function calls (on the x86). In Proceedings of the 14th ACM Conference on Computer Communications and Security, pages , [25] T. Zhang, X. Zhuang, S. Pande, and Wenke Lee. Anomalous path detection with hardware support. In Proceedings of the 2005 International Conference on Compilers, Architectures and Synthesis for Embedded Systems, pages 43 54, 2005.
7 ABOUT THE AUTHORS Zi-Shun Huang - [email protected] Ian G. Harris - [email protected] Center for Embedded Computer Systems University of California Irvine 2013 IEEE and published here with permission. Homeland Security Affairs is an academic journal available free of charge to individuals and institutions. Because the purpose of this publication is the widest possible dissemination of knowledge, copies of this journal and the articles contained herein may be printed or downloaded and redistributed for personal, research or educational purposes free of charge and without permission. Any commercial use of this article is expressly prohibited without the written consent of the copyright holder, the Institute of Electrical and Electronics Engineers (IEEE). Homeland Security Affairs is the online journal of the Naval Postgraduate School Center for Homeland Defense and Security (CHDS).
DEPENDABLE CYBER-PHYSICAL SYSTEMS THROUGH CONTROL FLOW MONITORING
Submitted for publication. Author Copy - do not redistribute. DEPENDABLE CYBER-PHYSICAL SYSTEMS THROUGH CONTROL FLOW MONITORING By Joel Van Der Woude Senior Thesis in Computer Engineering University of
Hardware-Assisted Fine-Grained Control-Flow Integrity: Towards Efficient Protection of Embedded Systems Against Software Exploitation
Hardware-Assisted Fine-Grained Control-Flow Integrity: Towards Efficient Protection of Embedded Systems Against Software Exploitation Lucas Davi, Patrick Koeberl, and Ahmad-Reza Sadeghi Intel Collaborative
I Control Your Code Attack Vectors Through the Eyes of Software-based Fault Isolation. Mathias Payer, ETH Zurich
I Control Your Code Attack Vectors Through the Eyes of Software-based Fault Isolation Mathias Payer, ETH Zurich Motivation Applications often vulnerable to security exploits Solution: restrict application
UNCLASSIFIED Version 1.0 May 2012
Secure By Default: Platforms Computing platforms contain vulnerabilities that can be exploited for malicious purposes. Often exploitation does not require a high degree of expertise, as tools and advice
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
PFP Technology White Paper
PFP Technology White Paper Summary PFP Cybersecurity solution is an intrusion detection solution based on observing tiny patterns on the processor power consumption. PFP is capable of detecting intrusions
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
Security Testing in Critical Systems
Security Testing in Critical Systems An Ethical Hacker s View Peter Wood Chief Executive Officer First Base Technologies Who is Peter Wood? Worked in computers & electronics since 1969 Founded First Base
Citect and Microsoft Windows XP Service Pack 2
Citect and Microsoft Windows XP Service Pack 2 Citect and Windows XP Spk 2 White Paper Page 1 About Citect Citect Pty Ltd is a worldwide leader in industrial automation and information management. Its
INDUSTRIAL CONTROL SYSTEMS CYBER SECURITY DEMONSTRATION
INDUSTRIAL CONTROL SYSTEMS CYBER SECURITY DEMONSTRATION Prepared for the NRC Fuel Cycle Cyber Security Threat Conference Presented by: Jon Chugg, Ken Rohde Organization(s): INL Date: May 30, 2013 Disclaimer
Software security. Buffer overflow attacks SQL injections. Lecture 11 EIT060 Computer Security
Software security Buffer overflow attacks SQL injections Lecture 11 EIT060 Computer Security Buffer overflow attacks Buffer overrun is another common term Definition A condition at an interface under which
evm Virtualization Platform for Windows
B A C K G R O U N D E R evm Virtualization Platform for Windows Host your Embedded OS and Windows on a Single Hardware Platform using Intel Virtualization Technology April, 2008 TenAsys Corporation 1400
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,
Frontiers in Cyber Security: Beyond the OS
2013 DHS S&T/DoD ASD (R&E) CYBER SECURITY SBIR WORKSHOP Frontiers in Cyber Security: Beyond the OS Clear Hat Consulting, Inc. Sherri Sparks 7/23/13 Company Profile CHC was founded in 2007 by S. Sparks
On Demand Loading of Code in MMUless Embedded System
On Demand Loading of Code in MMUless Embedded System Sunil R Gandhi *. Chetan D Pachange, Jr.** Mandar R Vaidya***, Swapnilkumar S Khorate**** *Pune Institute of Computer Technology, Pune INDIA (Mob- 8600867094;
Endpoint Security: Moving Beyond AV
Endpoint Security: Moving Beyond AV An Ogren Group Special Report July 2009 Introduction Application whitelisting is emerging as the security technology that gives IT a true defense-in-depth capability,
Chapter 1 Computer System Overview
Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides
Choosing Between Whitelisting and Blacklisting Endpoint Security Software for Fixed Function Devices
Choosing Between Whitelisting and Blacklisting Endpoint Security Software for Fixed Function Devices McAfee* application whitelisting combined with Intel vpro technology can improve security, increase
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.
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
Detecting the Presence of Virtual Machines Using the Local Data Table
Detecting the Presence of Virtual Machines Using the Local Data Table Abstract Danny Quist {[email protected]} Val Smith {[email protected]} Offensive Computing http://www.offensivecomputing.net/
WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats
WHITE PAPER FortiWeb and the OWASP Top 10 PAGE 2 Introduction The Open Web Application Security project (OWASP) Top Ten provides a powerful awareness document for web application security. The OWASP Top
Trends in Malware DRAFT OUTLINE. Wednesday, October 10, 12
Trends in Malware DRAFT OUTLINE Presentation Synopsis Security is often a game of cat and mouse as security professionals and attackers each vie to stay one step ahead of the other. In this race for dominance,
Using Tofino to control the spread of Stuxnet Malware
technical datasheet Application Note Using Tofino to control the spread of Stuxnet Malware This application note describes how to use the Tofino Industrial Security Solution to prevent the spread of the
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
Stitching the Gadgets On the Ineffectiveness of Coarse-Grained Control-Flow Integrity Protection
USENIX Security Symposium 2014, San Diego, CA, USA Stitching the Gadgets On the Ineffectiveness of Coarse-Grained Control-Flow Integrity Protection Lucas Davi Intel Collaborative Research Institute for
Internet of Things and Embedded Software Security. www.telegrid.com
Internet of Things and Embedded Software Security About Us TELEGRID designs, develops and produces hardware tools that allow the Department of Defense to make use of Commercial-Off-The-Shelf (COTS) products
The evolution of virtual endpoint security. Comparing vsentry with traditional endpoint virtualization security solutions
The evolution of virtual endpoint security Comparing vsentry with traditional endpoint virtualization security solutions Executive Summary First generation endpoint virtualization based security solutions
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
Virtualization System Security
Virtualization System Security Bryan Williams, IBM X-Force Advanced Research Tom Cross, Manager, IBM X-Force Security Strategy 2009 IBM Corporation Overview Vulnerability disclosure analysis Vulnerability
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
DEFENSE THROUGHOUT THE VULNERABILITY LIFE CYCLE WITH ALERT LOGIC THREAT AND LOG MANAGER
DEFENSE THROUGHOUT THE VULNERABILITY LIFE CYCLE WITH ALERT LOGIC THREAT AND Introduction > New security threats are emerging all the time, from new forms of malware and web application exploits that target
Lecture Embedded System Security A. R. Sadeghi, @TU Darmstadt, 2011 2012 Introduction Mobile Security
Smartphones and their applications have become an integral part of information society Security and privacy protection technology is an enabler for innovative business models Recent research on mobile
Eugene Tsyrklevich. Ozone HIPS: Unbreakable Windows
Eugene Tsyrklevich Eugene Tsyrklevich has an extensive security background ranging from designing and implementing Host Intrusion Prevention Systems to training people in research, corporate, and military
1 The Java Virtual Machine
1 The Java Virtual Machine About the Spec Format This document describes the Java virtual machine and the instruction set. In this introduction, each component of the machine is briefly described. This
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
Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine
7 Objectives After completing this lab you will: know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine Introduction Branches and jumps provide ways to change
Software Vulnerabilities
Software Vulnerabilities -- stack overflow Code based security Code based security discusses typical vulnerabilities made by programmers that can be exploited by miscreants Implementing safe software in
Patch Management. A newsletter for IT Professionals. Issue 6. I. Background of Patch Management. Education Sector Updates
Patch Management A newsletter for IT Professionals Education Sector Updates Issue 6 I. Background of Patch Management A software patch is an additional piece of program codes or executable designed to
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
KASPERSKY SECURITY INTELLIGENCE SERVICES. EXPERT SERVICES. www.kaspersky.com
KASPERSKY SECURITY INTELLIGENCE SERVICES. EXPERT SERVICES www.kaspersky.com EXPERT SERVICES Expert Services from Kaspersky Lab are exactly that the services of our in-house experts, many of them global
Data Management for Portable Media Players
Data Management for Portable Media Players Table of Contents Introduction...2 The New Role of Database...3 Design Considerations...3 Hardware Limitations...3 Value of a Lightweight Relational Database...4
Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 2 Systems Threats and Risks
Security+ Guide to Network Security Fundamentals, Third Edition Chapter 2 Systems Threats and Risks Objectives Describe the different types of software-based attacks List types of hardware attacks Define
CEN 559 Selected Topics in Computer Engineering. Dr. Mostafa H. Dahshan KSU CCIS [email protected]
CEN 559 Selected Topics in Computer Engineering Dr. Mostafa H. Dahshan KSU CCIS [email protected] Access Control Access Control Which principals have access to which resources files they can read
Custom Penetration Testing
Custom Penetration Testing Compromising a Vulnerability through Discovery and Custom Exploitation Stephen Sims Advanced Penetration Testing - 2009 SANS 1 Objectives Penetration Testing Precompiled Tools
Hacking Database for Owning your Data
Hacking Database for Owning your Data 1 Introduction By Abdulaziz Alrasheed & Xiuwei Yi Stealing data is becoming a major threat. In 2012 alone, 500 fortune companies were compromised causing lots of money
Attacking Hypervisors via Firmware and Hardware
Attacking Hypervisors via Firmware and Hardware Alex Matrosov (@matrosov), Mikhail Gorobets, Oleksandr Bazhaniuk (@ABazhaniuk), Andrew Furtak, Yuriy Bulygin (@c7zero) Advanced Threat Research Agenda Hypervisor
Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems
Fastboot Techniques for x86 Architectures Marcus Bortel Field Application Engineer QNX Software Systems Agenda Introduction BIOS and BIOS boot time Fastboot versus BIOS? Fastboot time Customizing the boot
Defense in Depth: Protecting Against Zero-Day Attacks
Defense in Depth: Protecting Against Zero-Day Attacks Chris McNab FIRST 16, Budapest 2004 Agenda Exploits through the ages Discussion of stack and heap overflows Common attack behavior Defense in depth
How To Protect Your Network From Intrusions From A Malicious Computer (Malware) With A Microsoft Network Security Platform)
McAfee Security: Intrusion Prevention System REV: 0.1.1 (July 2011) 1 Contents 1. McAfee Network Security Platform...3 2. McAfee Host Intrusion Prevention for Server...4 2.1 Network IPS...4 2.2 Workload
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Trust Digital Best Practices
> ARMING IT AGAINST SMARTPHONE THREATS Trust Digital Best Practices April 2009 The information contained herein is subject to change at any time, and Trust Digital makes no warranties, either express or
Defending Embedded Systems with Software Symbiotes
Defending Embedded Systems with Software Symbiotes Ang Cui and Salvatore J. Stolfo Department of Computer Science Columbia University New York NY, 10027, USA {ang,sal}@cs.columbia.edu Abstract. A large
Full System Emulation:
Full System Emulation: Achieving Successful Automated Dynamic Analysis of Evasive Malware Christopher Kruegel Lastline, Inc. [email protected] 1 Introduction Automated malware analysis systems (or sandboxes)
A Hypervisor IPS based on Hardware assisted Virtualization Technology
A Hypervisor IPS based on Hardware assisted Virtualization Technology 1. Introduction Junichi Murakami ([email protected]) Fourteenforty Research Institute, Inc. Recently malware has become more
An Oracle White Paper May 2012. Oracle Database Cloud Service
An Oracle White Paper May 2012 Oracle Database Cloud Service Executive Overview The Oracle Database Cloud Service provides a unique combination of the simplicity and ease of use promised by Cloud computing
Secure In-VM Monitoring Using Hardware Virtualization
Secure In-VM Monitoring Using Hardware Virtualization Monirul Sharif Georgia Institute of Technology Atlanta, GA, USA [email protected] Wenke Lee Georgia Institute of Technology Atlanta, GA, USA [email protected]
Adapting the PowerPC 403 ROM Monitor Software for a 512Kb Flash Device
Adapting the PowerPC 403 ROM Monitor Software for a 512Kb Flash Device IBM Microelectronics Dept D95/Bldg 060 3039 Cornwallis Road Research Triangle Park, NC 27709 Version: 1 December 15, 1997 Abstract
Types of cyber-attacks. And how to prevent them
Types of cyber-attacks And how to prevent them Introduction Today s cybercriminals employ several complex techniques to avoid detection as they sneak quietly into corporate networks to steal intellectual
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
An Overview of Stack Architecture and the PSC 1000 Microprocessor
An Overview of Stack Architecture and the PSC 1000 Microprocessor Introduction A stack is an important data handling structure used in computing. Specifically, a stack is a dynamic set of elements in which
Enlisting Hardware Architecture to Thwart Malicious Code Injection
Enlisting Hardware Architecture to Thwart Malicious Code Injection Ruby B. Lee, David K. Karig, John P. McGregor, and Zhijie Shi Princeton Architecture Laboratory for Multimedia and Security (PALMS) Department
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
Data Sheet: Endpoint Security Symantec Endpoint Protection The next generation of antivirus technology from Symantec
The next generation of antivirus technology from Symantec Overview Advanced threat protection combines Symantec AntiVirus with advanced threat prevention to deliver an unmatched defense against malware
Security Overview of the Integrity Virtual Machines Architecture
Security Overview of the Integrity Virtual Machines Architecture Introduction... 2 Integrity Virtual Machines Architecture... 2 Virtual Machine Host System... 2 Virtual Machine Control... 2 Scheduling
Driving Company Security is Challenging. Centralized Management Makes it Simple.
Driving Company Security is Challenging. Centralized Management Makes it Simple. Overview - P3 Security Threats, Downtime and High Costs - P3 Threats to Company Security and Profitability - P4 A Revolutionary
Outline. Introduction. State-of-the-art Forensic Methods. Hardware-based Workload Forensics. Experimental Results. Summary. OS level Hypervisor level
Outline Introduction State-of-the-art Forensic Methods OS level Hypervisor level Hardware-based Workload Forensics Process Reconstruction Experimental Results Setup Result & Overhead Summary 1 Introduction
Return-oriented Programming: Exploitation without Code Injection
Return-oriented Programming: Exploitation without Code Injection Erik Buchanan, Ryan Roemer, Stefan Savage, Hovav Shacham University of California, San Diego Bad code versus bad behavior Bad Bad behavior
What is Really Needed to Secure the Internet of Things?
What is Really Needed to Secure the Internet of Things? By Alan Grau, Icon Labs [email protected] The Internet of Things (IoT) has become a ubiquitous term to describe the tens of billions of devices
Endpoint protection for physical and virtual desktops
datasheet Trend Micro officescan Endpoint protection for physical and virtual desktops In the bring-your-own-device (BYOD) environment, protecting your endpoints against ever-evolving threats has become
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,
Data Sheet: Endpoint Security Symantec Endpoint Protection The next generation of antivirus technology from Symantec
The next generation of antivirus technology from Symantec Overview Advanced threat protection combines Symantec AntiVirus with advanced threat prevention to deliver an unmatched defense against malware
Special FEATURE. By Heinrich Munz
Special FEATURE By Heinrich Munz Heinrich Munz of KUKA Roboter discusses in this article how to bring Microsoft Windows CE and WindowsXP together on the same PC. He discusses system and application requirements,
Banking Security using Honeypot
Banking Security using Honeypot Sandeep Chaware D.J.Sanghvi College of Engineering, Mumbai [email protected] Abstract New threats are constantly emerging to the security of organization s information
Optimizing and Securing an Industrial DCS with VMware
Optimizing and Securing an Industrial DCS with VMware Global Process Automation deploys a new DCS using VMware to create a secure and robust operating environment for operators and engineers. by Doug Clarkin
Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com
SAINT Integrated Network Vulnerability Scanning and Penetration Testing www.saintcorporation.com Introduction While network vulnerability scanning is an important tool in proactive network security, penetration
LASTLINE WHITEPAPER. In-Depth Analysis of Malware
LASTLINE WHITEPAPER In-Depth Analysis of Malware Abstract Malware analysis is the process of determining the purpose and functionality of a given malware sample (such as a virus, worm, or Trojan horse).
Processor Architectures
ECPE 170 Jeff Shafer University of the Pacific Processor Architectures 2 Schedule Exam 3 Tuesday, December 6 th Caches Virtual Memory Input / Output OperaKng Systems Compilers & Assemblers Processor Architecture
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 4 Finding Network Vulnerabilities
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 4 Finding Network Vulnerabilities Learning Objectives Name the common categories of vulnerabilities Discuss common system
STLinux Software development environment
STLinux Software development environment Development environment The STLinux Development Environment is a comprehensive set of tools and packages for developing Linux-based applications on ST s consumer
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
Application Note: AN00121 Using XMOS TCP/IP Library for UDP-based Networking
Application Note: AN00121 Using XMOS TCP/IP Library for UDP-based Networking This application note demonstrates the use of XMOS TCP/IP stack on an XMOS multicore micro controller to communicate on an ethernet-based
How to Sandbox IIS Automatically without 0 False Positive and Negative
How to Sandbox IIS Automatically without 0 False Positive and Negative Professor Tzi-cker Chiueh Computer Science Department Stony Brook University [email protected] 2/8/06 Blackhat Federal 2006 1 Big
Leading by Innovation McAfee Endpoint Security The Future of Malware-Detection: Activate protection on all Layers outside the Operating System
Leading by Innovation McAfee Endpoint Security The Future of Malware-Detection: Activate protection on all Layers outside the Operating System Dipl.-Inform. Rolf Haas Principal Security Engineer, S+,CISSP
Loophole+ with Ethical Hacking and Penetration Testing
Loophole+ with Ethical Hacking and Penetration Testing Duration Lecture and Demonstration: 15 Hours Security Challenge: 01 Hours Introduction Security can't be guaranteed. As Clint Eastwood once said,
That Point of Sale is a PoS
SESSION ID: HTA-W02 That Point of Sale is a PoS Charles Henderson Vice President Managed Security Testing Trustwave @angus_tx David Byrne Senior Security Associate Bishop Fox Agenda POS Architecture Breach
Fine-Grained User-Space Security Through Virtualization. Mathias Payer and Thomas R. Gross ETH Zurich
Fine-Grained User-Space Security Through Virtualization Mathias Payer and Thomas R. Gross ETH Zurich Motivation Applications often vulnerable to security exploits Solution: restrict application access
Data Management Policies. Sage ERP Online
Sage ERP Online Sage ERP Online Table of Contents 1.0 Server Backup and Restore Policy... 3 1.1 Objectives... 3 1.2 Scope... 3 1.3 Responsibilities... 3 1.4 Policy... 4 1.5 Policy Violation... 5 1.6 Communication...
Hypervisors and Virtual Machines
Hypervisors and Virtual Machines Implementation Insights on the x86 Architecture DON REVELLE Don is a performance engineer and Linux systems/kernel programmer, specializing in high-volume UNIX, Web, virtualization,
Total Defense Endpoint Premium r12
DATA SHEET Total Defense Endpoint Premium r12 Overview: Total Defense Endpoint Premium Edition r12 offers comprehensive protection for networks, endpoints and groupware systems from intrusions, malicious
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.
Discovering passwords in the memory
Discovering passwords in the memory Abhishek Kumar ([email protected]) November 2003 Escalation of privileges is a common method of attack where a low privileged user exploits a vulnerability
Abstract. 1. Introduction. 2. Threat Model
Beyond Ring-3: Fine Grained Application Sandboxing Ravi Sahita ([email protected]), Divya Kolar ([email protected]) Communication Technology Lab. Intel Corporation Abstract In the recent years
Detecting Computer Worms in the Cloud
Detecting Computer Worms in the Cloud Sebastian Biedermann and Stefan Katzenbeisser Security Engineering Group Department of Computer Science Technische Universität Darmstadt {biedermann,katzenbeisser}@seceng.informatik.tu-darmstadt.de
The Hacker Strategy. Dave Aitel [email protected]. Security Research
1 The Hacker Strategy Dave Aitel [email protected] Security Research Who am I? CTO, Immunity Inc. History: NSA->@stake -> Immunity Responsible for new product development Vulnerability Sharing Club
Columbia University Web Security Standards and Practices. Objective and Scope
Columbia University Web Security Standards and Practices Objective and Scope Effective Date: January 2011 This Web Security Standards and Practices document establishes a baseline of security related requirements
OPERATING SYSTEM - VIRTUAL MEMORY
OPERATING SYSTEM - VIRTUAL MEMORY http://www.tutorialspoint.com/operating_system/os_virtual_memory.htm Copyright tutorialspoint.com A computer can address more memory than the amount physically installed
