Casper / Codiva Compiler-assisted securing of programs at runtime Code diversity –Protection from most stack-smashing attacks void function(int x, float.

Slides:



Advertisements
Similar presentations
Buffer Overflow Prabhaker Mateti Wright State University.
Advertisements

Algorithms and data structures
The University of Adelaide, School of Computer Science
Introduction to Memory Management. 2 General Structure of Run-Time Memory.
Defenses. Preventing hijacking attacks 1. Fix bugs: – Audit software Automated tools: Coverity, Prefast/Prefix. – Rewrite software in a type safe languange.
Introduction to Assembly language
Exploring Security Vulnerabilities by Exploiting Buffer Overflow using the MIPS ISA Andrew T. Phillips Jack S. E. Tan Department of Computer Science University.
CS457 – Introduction to Information Systems Security Software 3 Elias Athanasopoulos
SPARC Architecture & Assembly Language
The University of Adelaide, School of Computer Science
5/1/2015 5:57:24 PM 5864_ER_WHITE.1 Evaluating Modern Address Space Integrity Protections within the Common Criteria Ashley Fox CSC Australia.
Week 7 - Friday.  What did we talk about last time?  Allocating 2D arrays.
Compilers and Software Security Gaurav S. Kc Programming Systems Lab Tuesday, 22 nd April 2003.
Intro to Exploitation Stack Overflows James McFadyen UTD Computer Security Group 10/20/2011.
Design of a Framework for Testing Security Mechanisms for Program-Based Attacks Ben “Security” Breech and Lori Pollock University of Delaware.
Dynamic Memory Allocation in C++. Memory Segments in C++ Memory is divided in certain segments – Code Segment Stores application code – Data Segment Holds.
Security Protection and Checking in Embedded System Integration Against Buffer Overflow Attacks Zili Shao, Chun Xue, Qingfeng Zhuge, Edwin H.-M. Sha International.
Securing Software Systems Gaurav S. Kc Programming Systems Lab 9 th April, 2003.
© 2003 School of Computing, University of Leeds SY32 Secure Computing, Lecture 13 Implementation Flaws Part 1: Buffer Overruns.
C Prog. To Object Code text text binary binary Code in files p1.c p2.c
Quarantine: A Framework to Mitigate Memory Errors in JNI Applications Du Li , Witawas Srisa-an University of Nebraska-Lincoln.
Simple Buffer Overflow Example Dan Fleck CS469 Security Engineering Reference: Coming up: Buffer Overflows.
Peter Juszczyk CS 492/493 - ISGS. // Is this C# or Java? class TestApp { static void Main() { int counter = 0; counter++; } } The answer is C# - In C#
Introduction to InfoSec – Recitation 2 Nir Krakowski (nirkrako at post.tau.ac.il) Itamar Gilad (itamargi at post.tau.ac.il)
Exploiting Buffer Overflows on AIX/PowerPC HP-UX/PA-RISC Solaris/SPARC.
Dynamic Memory Allocation Conventional array and other data declarations An incorrect attempt to size memory dynamically Requirement for dynamic allocation.
Computer Science Detecting Memory Access Errors via Illegal Write Monitoring Ongoing Research by Emre Can Sezer.
Mitigation of Buffer Overflow Attacks
Pointers and Arrays Beyond Chapter Pointers and Arrays What are the real differences? Pointer Holds the address of a variable Can be pointed.
Chapter 0.2 – Pointers and Memory. Type Specifiers  const  may be initialised but not used in any subsequent assignment  common and useful  volatile.
Some Basics && GDB overview Ram Sheshadri –
EECS 354 Network Security Reverse Engineering. Introduction Preventing Reverse Engineering Reversing High Level Languages Reversing an ELF Executable.
Identification and Protection of Security-Critical Data Nora Sovarel University of Virginia Computer Science June 6, 2006 MCS Project Presentation.
CSCD 303 Essential Computer Security Spring 2013 Lecture 17 Buffer Overflow Attacks.
DARPA Jul A Binary Agent Technology for COTS Software Integrity Anant Agarwal Richard Schooler InCert Software.
Introduction to InfoSec – Recitation 2 Nir Krakowski (nirkrako at post.tau.ac.il) Itamar Gilad (itamargi at post.tau.ac.il)
Buffer Overflow Group 7Group 8 Nathaniel CrowellDerek Edwards Punna ChalasaniAxel Abellard Steven Studniarz.
C/C++ Basics. Basic Concepts Basic functions of each language: Input, output, math, decision, repetition Types of errors: Syntax errors, logic errors,
Buffer Overflow Attack Proofing of Code Binary Gopal Gupta, Parag Doshi, R. Reghuramalingam, Doug Harris The University of Texas at Dallas.
Lecture 9: Buffer Ovefflows and ROP EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014,
A Tool for Pro-active Defense Against the Buffer Overrun Attack D. Bruschi, E. Rosti, R. Banfi Presented By: Warshavsky Alex.
Exploiting Instruction Streams To Prevent Intrusion Milena Milenkovic.
Slides by Kent Seamons and Tim van der Horst Last Updated: Nov 11, 2011.
Buffer Overflow Attacks 1 Basic Idea Sample Attacks Protection , Computer & Network Security.
VM: Chapter 7 Buffer Overflows. csci5233 computer security & integrity (VM: Ch. 7) 2 Outline Impact of buffer overflows What is a buffer overflow? Types.
Buffer Overflows: Attacks and Defenses for the Vulnerability of the Decade Crispin Cowan SANS 2000.
1 Introduction to Information Security , Spring 2016 Lecture 2: Control Hijacking (2/2) Avishai Wool.
CS703 - Advanced Operating Systems By Mr. Farhan Zaidi.
Click to edit Master title style Click to edit Master text styles –Second level Third level –Fourth level »Fifth level 1 Fundamentals of Programming Most.
@Yuan Xue Worm Attack Yuan Xue Fall 2012.
Lec. Waleed Bin Shahid.  You might have noticed a lot of issues related to software implementation.  The ultimate requirement of developer(s) is to.
A Framework For Trusted Instruction Execution Via Basic Block Signature Verification Milena Milenković, Aleksandar Milenković, and Emil Jovanov Electrical.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Mitigation against Buffer Overflow Attacks
Buffer Overflow Buffer overflows are possible because C doesn’t check array boundaries Buffer overflows are dangerous because buffers for user input are.
The Hardware/Software Interface CSE351 Winter 2013
Exam Review.
Software Security.
CS 465 Buffer Overflow Slides by Kent Seamons and Tim van der Horst
Activation Records and Function Calls
Advanced Buffer Overflow: Pointer subterfuge
Understanding Program Address Space
CSC215 Homework Homework 06 Due date: Oct 30, 2016.
CAP6135: Malware and Software Vulnerability Analysis Buffer Overflow II: Defense Techniques Cliff Zou Spring 2009.
GSM Global System for Mobile Communications, 1992
Program Compilation and Execution
Week 7 - Friday CS222.
Introduction to C CS 3410.
Presentation transcript:

Casper / Codiva Compiler-assisted securing of programs at runtime Code diversity –Protection from most stack-smashing attacks void function(int x, float y, char* s) { int a; int b; char buffer[SIZE]; int c;... ; strcpy(buffer, s);... } Compiler-assisted securing of programs at runtime Code diversity –Protection from most stack-smashing attacks Available as patches: –Compiler: gcc-2.95 –Debugger: gdb xBadAdda0... (“/bin/sh”) exec PC ret. addr := 32-bit XOR ret. addr

Casper – future work Activation records –automatically managed –randomised layout Heap smashing techniques –break type-system –corrupt malloc data Diversified research –Languages, Compilers: C++, Sun CC, Visual C++ –Other architectures: Solaris, Alpha (DLX ;-)

Worklets Java-based mobile agent system Code transportation and dynamic integration mechanism

Worklets – past projects Dan Phung, Alex Bogomolov Micro-control of junctions –repeat, start-condition, etc. Registration and discovery mechanism Security –encryption, authentication and authorisation Optimised Worklet transportation –Workgroup Cache –Partial compression