Sabrina Wilkes-Morris CSCE 548 Student Presentation

Slides:



Advertisements
Similar presentations
Buffer Overflows Nick Feamster CS 6262 Spring 2009 (credit to Vitaly S. from UT for slides)
Advertisements

Computer Security: Principles and Practice EECS710: Information Security Professor Hossein Saiedian Fall 2014 Chapter 10: Buffer Overflow.
Lecture 16 Buffer Overflow modified from slides of Lawrie Brown.
CMSC 414 Computer and Network Security Lecture 22 Jonathan Katz.
Review: Software Security David Brumley Carnegie Mellon University.
Buffer Overflow Prevention ”\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e \x89\xe3\x50\x53\x50\x54\x53\xb0\x3b\x50\xcd\x80” Presented to CRAB April.
K. Salah1 Buffer Overflow The crown jewel of attacks.
Breno de MedeirosFlorida State University Fall 2005 Buffer overflow and stack smashing attacks Principles of application software security.
Gabe Kanzelmeyer CS 450 4/14/10.  What is buffer overflow?  How memory is processed and the stack  The threat  Stack overrun attack  Dangers  Prevention.
Stack buffer overflow
Buffer Overflow By: John Quach and Napoleon N. Valdez.
Lecture 16 Buffer Overflow
Buffer Overflow Attacks. Memory plays a key part in many computer system functions. It’s a critical component to many internal operations. From mother.
Security Exploiting Overflows. Introduction r See the following link for more info: operating-systems-and-applications-in-
An anti-hacking guide.  Hackers are kindred of expert programmers who believe in freedom and spirit of mutual help. They are not malicious. They may.
Buffer Overflow Defenses. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Buffer Overflow Defenses Author:
Chapter 6 Buffer Overflow. Buffer Overflow occurs when the program overwrites data outside the bounds of allocated memory It was one of the first exploited.
Exploiting Buffer Overflows on AIX/PowerPC HP-UX/PA-RISC Solaris/SPARC.
BLENDED ATTACKS EXPLOITS, VULNERABILITIES AND BUFFER-OVERFLOW TECHNIQUES IN COMPUTER VIRUSES By: Eric Chien and Peter Szor Presented by: Jesus Morales.
Detection and Prevention of Buffer Overflow Exploit Cai Jun Anti-Virus Section Manager R&D Department Beijing Rising Tech. Corp. LTD.
Buffer Overflows Lesson 14. Example of poor programming/errors Buffer Overflows result of poor programming practice use of functions such as gets and.
Attacking Applications: SQL Injection & Buffer Overflows.
Mitigation of Buffer Overflow Attacks
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 10 “Buffer Overflow”.
Buffer Overflow Defenses. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Buffer Overflow Defenses Author:
Overflow Examples 01/13/2012. ACKNOWLEDGEMENTS These slides where compiled from the Malware and Software Vulnerabilities class taught by Dr Cliff Zou.
Overflows & Exploits. In the beginning 11/02/1988 Robert Morris, Jr., a graduate student in Computer Science at Cornell, wrote an experimental, self-replicating,
Buffer Overflow Group 7Group 8 Nathaniel CrowellDerek Edwards Punna ChalasaniAxel Abellard Steven Studniarz.
Lecture 9: Buffer Ovefflows and ROP EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014,
What is exactly Exploit writing?  Writing a piece of code which is capable of exploit the vulnerability in the target software.
A Tool for Pro-active Defense Against the Buffer Overrun Attack D. Bruschi, E. Rosti, R. Banfi Presented By: Warshavsky Alex.
Buffer overflow and stack smashing attacks Principles of application software security.
A Survey on Runtime Smashed Stack Detection 坂井研究室 M 豊島隆志.
Group 9. Exploiting Software The exploitation of software is one of the main ways that a users computer can be broken into. It involves exploiting the.
Slides by Kent Seamons and Tim van der Horst Last Updated: Nov 11, 2011.
VM: Chapter 7 Buffer Overflows. csci5233 computer security & integrity (VM: Ch. 7) 2 Outline Impact of buffer overflows What is a buffer overflow? Types.
1988 Morris Worm … estimated 10% penetration 2001 Code Red … 300,00 computers breached 2003 Slammer/Sapphire … 75,00 infections in 10 min Zotob …
Buffer Overflows: Attacks and Defenses for the Vulnerability of the Decade Crispin Cowan SANS 2000.
Chapter 10 Buffer Overflow 1. A very common attack mechanism o First used by the Morris Worm in 1988 Still of major concern o Legacy of buggy code in.
CS703 - Advanced Operating Systems By Mr. Farhan Zaidi.
@Yuan Xue Worm Attack Yuan Xue Fall 2012.
Classic Buffer OVERFLOW ATTACKS CSCE 548 Student Presentation Mouiad Al Wahah.
Content Coverity Static Analysis Use cases of Coverity Examples
Secure Programming Dr. X
A CSCE 548 presentation: Trusting Network Name Resolution
Buffer Overflow Defenses
Buffer Overflow By Collin Donaldson.
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.
CSCE Student presentation LARRY PARKER
Buffer Overflow Defenses
Execution with Unnecessary Privileges
The Hardware/Software Interface CSE351 Winter 2013
Udaya Shyama Pallathadka Ganapathi Bhat CSCE 548 Student Presentation
Secure Programming Dr. X
Failure to protect stored data
CAP6135: Malware and Software Vulnerability Analysis Buffer Overflow II: Defense Techniques Cliff Zou Spring 2016.
Secure Software Development: Theory and Practice
Cross Sight scripting: Type-2
High Coverage Detection of Input-Related Security Faults
CS 465 Buffer Overflow Slides by Kent Seamons and Tim van der Horst
Defending against Stack Smashing attacks
Software Security Lesson Introduction
CAP6135: Malware and Software Vulnerability Analysis Buffer Overflow II: Defense Techniques Cliff Zou Spring 2011.
Buffer Overflow Defenses
CAP6135: Malware and Software Vulnerability Analysis Buffer Overflow II: Defense Techniques Cliff Zou Spring 2009.
Introduction to Static Analyzer
Understanding and Preventing Buffer Overflow Attacks in Unix
CAP6135: Malware and Software Vulnerability Analysis Buffer Overflow : Example of Using GDB to Check Stack Memory Cliff Zou Spring 2010.
CNT4704: Analysis of Computer Communication Network Special Topic: Buffer Overflow II: Defense Techniques Cliff Zou Fall 2011.
Presentation transcript:

Sabrina Wilkes-Morris CSCE 548 Student Presentation BUFFER OVERFLOW Sabrina Wilkes-Morris CSCE 548 Student Presentation

Technical Overview What is a Buffer Overflow Technical Overview What is a Buffer Overflow? A buffer overflow occurs when data written to a buffer also corrupts data values in memory address adjacent to the destination buffer due to insufficient bounds checking. (1)

Well known Buffer Overflow Exploits The Morris Worm Code Red Code Red II Remote Buffer overflow in sendmail SQL Slammer Nachi-A worm

The Morris Worm One of the first buffer overflow attacks which attracted widespread attention due to its spectacular success was Robert Morris's Internet Worm (2). Released in 1988 Exploited the buffer overflow Worm Infected thousands

Buffer Overflow Attack 1. Install the attack code 2. Copy the data into the buffer 3. The buffer overflows 4. Attack execution

Example (3) #include <stdio.h> Void DontDoThis(char* input) { char buf [16]; printf(“%s\n”, buf); } Int main(int argc, char* argv[]) // So we’re not checking arguments //What do you expect from an app that uses strcpy? DontDoThis(argv[1]); Return 0;

Sample Buffer Overflow Attack (4)

Sample Buffer Overflow Attack (5)

Buffer Overflow Effects Software or system crash Attacker gains access Worm installed

Prevention Techniques Programming Language Use of safe libraries Disabling Stack Execution Compiler Techniques Loop Arrays Analysis Tools

Detection Methods - Analysis Tools App Verifier Coverity Fortify Klocwork ProPolice No eXecute (NX)

Conclusion Buffer overflows will probably never be completely eradicated. Programmers and developers will have to continue to maximize their defenses. Most compiler and operating system defenses are still not enough to combat buffer overflows. Tools such as Coverity, Fortify and Klocwork can be run to analyze security defects in C/C++ code. Additional measures such as stack protection and nonexecutable stack and heap can improve the defense against Buffer overflows.

References 1. https://en.wikipedia.org/wiki/Buffer_overflow buffer. 2. Wilander, John, and Mariam Kamkar. "A Comparison of Publicly Available Tools for Dynamic Buffer Overflow Prevention." NDSS. Vol. 3. 2003. 3. Howard, Michael, David LeBlanc, and John Viega. 24 deadly sins of software security: programming flaws and how to fix them. McGraw-Hill, Inc., 2009. 4 http://www.pixbam.com/buffer-overflow/buffer-overflow-attack-diagram/46974 5. http://cis1.towson.edu/~cssecinj/modules/cs2/buffer-overflow-cs2-java/

Questions?