Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Quiz: Buffer Overflow Intro Author:

Slides:



Advertisements
Similar presentations
Chapter 17: WEB COMPONENTS
Advertisements

CSI 3120, Implementing subprograms, page 1 Implementing subprograms The environment in block-structured languages The structure of the activation stack.
Buffer Overflow Intro. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Preventing Buffer Overflows (for C programmers)
Buffer Overflow Causes. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Buffer Overflow Causes Author: Jedidiah.
Breno de MedeirosFlorida State University Fall 2005 Buffer overflow and stack smashing attacks Principles of application software security.
1 CHAPTER 8 BUFFER OVERFLOW. 2 Introduction One of the more advanced attack techniques is the buffer overflow attack Buffer Overflows occurs when software.
Stack-Based Buffer Overflows Attacker – Can take over a system remotely across a network. local malicious users – To elevate their privileges and gain.
CSCE 121, Sec 200, 507, 508 Fall 2010 Prof. Jennifer L. Welch.
Software and Software Vulnerabilities. Synopsis Array overflows Stack overflows String problems Pointer clobbering. Dynamic memory management Integer.
8 November Forms and JavaScript. Types of Inputs Radio Buttons (select one of a list) Checkbox (select as many as wanted) Text inputs (user types text)
Software Engineering Lifecycle. ©2002. Jan G. Hogle, Susan L. Gerhart. Software Engineering Lifecycle Authors: Jan G. Hogle,
Modules, Hierarchy Charts, and Documentation
Chapter 1 Program Design
C Programmer Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Quiz: For C Programmers Author: Jedidiah.
Examining the Code [Reading assignment: Chapter 6, pp ]
1 - buttons Click “Step Forward” to execute one line of the program. Click “Reset” to start over. “Play,” “Stop,” and “Step Back” are disabled in this.
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
Security Exploiting Overflows. Introduction r See the following link for more info: operating-systems-and-applications-in-
Buffer Overflow Defenses. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Buffer Overflow Defenses Author:
Buffer overflows.
Fundamentals of Python: From First Programs Through Data Structures Chapter 14 Linear Collections: Stacks.
An Introduction to Information Security Why there’s more to hide than you might think and why hiding it is a lot tougher than you ever dreamed of in your.
Introduction to Buffer Overflows Author: Jedidiah R. Crandall, Distributed: 14 July 2002 Embry-Riddle Aeronautical University in Prescott,
Computer Security and Penetration Testing
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
OSI and TCP/IP Models And Some Vulnerabilities AfNOG th May 2011 – 10 th June 2011 Tanzania By Marcus K. G. Adomey.
Buffer Overflow Intro. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Introduction to Buffer Overflows Author:
Overview of Key Security Concepts and Vocabulary This Document was Funded by the National Science Foundation Federal Cyber Service Scholarship For Service.
Embry-Riddle Aeronautical University Prescott, Arizona
Buffer Overflow Detection Stuart Pickard CSCI 297 June 14, 2005.
IT253: Computer Organization Lecture 3: Memory and Bit Operations Tonga Institute of Higher Education.
Buffer Overflow Causes Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Quiz: Buffer Overflow Causes Author:
Buffer Overflow Defenses. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Buffer Overflow Defenses Author:
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
Buffer Overflow Defenses Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Quiz: Buffer Overflow Defenses.
1 Program Input Software Design Chapter 4. 2 You Will Want to Know... Prompting for and reading values into a program. Accessing data from a file. What.
How to Use BO Demos. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. How to Use Buffer Overflow Demos (applets)
Memory management.
Computer Organization 1 Instruction Fetch and Execute.
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
Lecture 13 Page 1 CS 236 Online Major Problem Areas for Secure Programming Certain areas of programming have proven to be particularly prone to problems.
Learning goal: Students will be able to demonstrate a basic understanding of how to use a computer.
David Evans CS201j: Engineering Software University of Virginia Computer Science Lecture 9: Designing Exceptionally.
Security Attacks Tanenbaum & Bo, Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Chapter 7 Continued Arrays & Strings. Arrays of Structures Arrays can contain structures as well as simple data types. Let’s look at an example of this,
Cases Study: Code Red. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Case Study: Code Red Author: Jedidiah.
Variables Bryce Boe 2012/09/05 CS32, Summer 2012 B.
Secure Programming Dr. X
Buffer Overflow Defenses
Shellcode COSC 480 Presentation Alison Buben.
Unit 2 Technology Systems
Protecting Memory What is there to protect in memory?
Buffer Overflow Defenses
Protecting Memory What is there to protect in memory?
Secure Programming Dr. X
Protecting Memory What is there to protect in memory?
CSC 495/583 Topics of Software Security Stack Overflows (2)
CMSC 414 Computer and Network Security Lecture 21
CS 465 Buffer Overflow Slides by Kent Seamons and Tim van der Horst
Security in Java Real or Decaf? cs205: engineering software
CSCE Fall 2013 Prof. Jennifer L. Welch.
Quiz: Buffer Overflow Causes
Format String.
Case Study: Code Red Author: Jedidiah R. Crandall,
Buffer Overflow Defenses
CSCE Fall 2012 Prof. Jennifer L. Welch.
Preventing Buffer Overflows (for C programmers)
Understanding and Preventing Buffer Overflow Attacks in Unix
© Craig Zilles (adapted from slides by Howard Huang)
Presentation transcript:

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Quiz: Buffer Overflow Intro Author: Jedidiah R. Crandall, This Document was Funded by the National Science Foundation Federal Cyber Service Scholarship For Service Program: Grant No Distributed July 2002 Embry-Riddle Aeronautical University Prescott, Arizona USA 10 Questions, Answers follow the “About” page.

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle Which of these statements about the buffer overflow problem are correct? A.The buffer overflow problem is partly caused by the way the C language handles memory management B.The buffer overflow problem is partly caused by C programmers not handling their own memory management properly by checking boundaries of buffers C.All buffer overflows are simple programmer errors that are easily spotted D.Because of the complexity of the problem, buffer overflows may be overlooked by the most seasoned programmers

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle What can make a buffer overflow a security problem? A.Only when the attacker is able to hijack the execution of the program B.Only when the buffer overflow is between two computers on a network C.When security-sensitive data is overwritten D.When data that is critical to the execution of the program is overwritten causing the program to crash

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle What can be stored using a single byte? A.Integers from 0 to 255 B.ASCII Characters C.Integers from 0 to D.Boolean variables (i.e. 1 = Okay to access the file and 0 = Not okay to access the file)

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle What can be stored in a computer’s memory? A.Data such as integers and ASCII charcaters B.Instructions for a program that the computer is running C.A pointer to the address of some other data in memory D.A pointer to the address of some more instructions in memory

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle What typically happens when a buffer is overflowed? A.The memory space that comes after the buffer holds the extra data as well as keeping the data that it contained before B.Whatever is in the memory space that comes after the buffer is overwritten C.The memory chip in the computer gets too big and explodes D.Electrons fall out of the memory chip and start a fire

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle What does it mean for a program to jump? A.The whole program gets moved from one place in memory to another B.The program starts executing instructions at a different location in memory instead of moving on to the next one C.The program jumps outside the bounds of a buffer to store data D.Jump is only used to refer to when a program starts executing instructions somewhere where it’s not supposed to

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle Which of these is a good example of subroutines? A.A stack of trays in the cafeteria B.Pouring five gallons of water into a four-gallon bucket C.An IRS form which has boxes where you write things like adjusted income, exemptions, wages, tips, etc. D.A program for brushing your teeth is broken up into subroutines: getting out your toothbrush and toothpaste, putting toothpaste on the toothbrush, brushing your molars on the right, brushing your molars on the left, …

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle What does a typical C program usually use stacks for? A.Temporary storage of variables B.For storing the computer-level instructions of a subroutine while the subroutine is being executed C.Keeping track of where it was within subroutines that called other subroutines so it knows where to resume D.For preventing buffer overflows

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle What prevents a typical computer from jumping and starting to execute data instead of instructions? A.Nothing B.Buffers are used to separate instructions and data C.The computer can always tell the difference based on what is in the memory space D.Data and instructions are stored in separate memory spaces on most modern computers

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle What operations are permissible on a stack? A.Inserting things in the middle B.Taking things out of the middle C.Taking things off the bottom D.Putting things on the bottom E.Putting things on the top F.Taking things off the top

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. About this Project This presentation is part of a larger package of materials on buffer overflow vulnerabilities, defenses, and software practices. For more information, go to: Also available are: –Demonstrations of how buffer overflows occur (Java applets) –PowerPoint lecture-style presentations on an introduction to buffer overflows, preventing buffer overflows (for C programmers), and a case study of Code Red –Checklists and Points to Remember for C Programmers –An interactive module and quiz set with alternative paths for journalists/analysts and IT managers as well as programmers and testers –A scavenger hunt on implications of the buffer overflow vulnerability Please complete a feedback form at to tell us how you used this material and to offer suggestions for improvements.

Intro to Buffer Overflow Quiz. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. Answers 1. A,B,D 2. C,D 3. A,B,D 4. A,B,C,D 5. B 6.B 7. D 8. A,C 9. A 10. E,F