Software Security Slide Set #10 Textbook Chapter 11 Clicker Questions

Slides:



Advertisements
Similar presentations
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Advertisements

Security Issues and Challenges in Cloud Computing
By Brian Vees.  SQL Injection  Username Enumeration  Cross Site Scripting (XSS)  Remote Code Execution  String Formatting Vulnerabilities.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
Security+ Guide to Network Security Fundamentals, Third Edition Chapter 9 Performing Vulnerability Assessments.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
Lecture 17 Software Security
Leveraging User Interactions for In-Depth Testing of Web Application Sean McAllister Secure System Lab, Technical University Vienna, Austria Engin Kirda.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
1-Vulnerabilities 2-Hackers 3-Categories of attacks 4-What a malicious hacker do? 5-Security mechanisms 6-HTTP Web Servers 7-Web applications attacks.
Preventing SQL Injection Attacks in Stored Procedures Alex Hertz Chris Daiello CAP6135Dr. Cliff Zou University of Central Florida March 19, 2009.
Business Computing 550 Lesson 6. 2 Security Threats on Web Sites Issues and vulnerabilities 1.Illegal Access and Use (Hacking the system or users exposing.
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 5 “Database and Cloud Security”.
Computer Security and Penetration Testing
OSI and TCP/IP Models And Some Vulnerabilities AfNOG th May 2011 – 10 th June 2011 Tanzania By Marcus K. G. Adomey.
COMPUTER SECURITY MIDTERM REVIEW CS161 University of California BerkeleyApril 4, 2012.
Chapter 11 Software Security Many vulnerabilities result from poor programming practices Consequence from insufficient checking and validation of data.
Security+ Guide to Network Security Fundamentals, Third Edition Chapter 9 Performing Vulnerability Assessments.
Security Attacks CS 795. Buffer Overflow Problem Buffer overflows can be triggered by inputs that are designed to execute code, or alter the way the program.
Input Validation – common associated risks  ______________ user input controls SQL statements ultimately executed by a database server
Building Secure Web Applications With ASP.Net MVC.
By Sean Rose and Erik Hazzard.  SQL Injection is a technique that exploits security weaknesses of the database layer of an application in order to gain.
QA and Testing. QA Activity Processes monitoring Standards compliance monitoring Software testing Infrastructure testing Documentation testing Usability.
Lesson 19-E-Commerce Security Needs. Overview Understand e-commerce services. Understand the importance of availability. Implement client-side security.
CHAPTER 2 Research Methods in Industrial/Organizational Psychology
Web Security Lesson Summary ●Overview of Web and security vulnerabilities ●Cross Site Scripting ●Cross Site Request Forgery ●SQL Injection.
Security Attacks CS 795. Buffer Overflow Problem Buffer overflow Analysis of Buffer Overflow Attacks.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Protection.
Module: Software Engineering of Web Applications Chapter 3 (Cont.): user-input-validation testing of web applications 1.
Mark Shtern.  Our life depends on computer systems  Traffic control  Banking  Medical equipment  Internet  Social networks  Growing number of.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Example – SQL Injection MySQL & PHP code: // The next instruction prompts the user is to supply an ID $personID = getIDstringFromUser(); $sqlQuery = "SELECT.
Chapter 11 Software Security. Many vulnerabilities result from poor programming practices Consequence from insufficient checking and validation of data.
Carrie Estes Collin Donaldson.  Zero day attacks  “zero day”  Web application attacks  Signing up for a class  Hardening the web server  Enhancing.
SESSION HIJACKING It is a method of taking over a secure/unsecure Web user session by secretly obtaining the session ID and masquerading as an authorized.
Database and Cloud Security
SQL Injection.
Group 18: Chris Hood Brett Poche
Web Application Security
Module: Software Engineering of Web Applications
Unit 20 - Client Side Customisation of Web Pages
CMSC 345 Defensive Programming Practices from Software Engineering 6th Edition by Ian Sommerville.
Module: Software Engineering of Web Applications
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Chapter 7: Identifying Advanced Attacks
Security: Exploits & Countermeasures
Security: Exploits & Countermeasures
Chapter 5 Determining System Requirements
Static Detection of Cross-Site Scripting Vulnerabilities
Example – SQL Injection
CSCE 548 Secure Software Development Final Exam – Review 2016
A Security Review Process for Existing Software Applications
CHAPTER 2 Research Methods in Industrial/Organizational Psychology
Relational Algebra 461 The slides for this text are organized into chapters. This lecture covers relational algebra, from Chapter 4. The relational calculus.
Chapter 20 Object-Oriented Analysis and Design
Security at the Source.
ONLINE SECURE DATA SERVICE
Security: Exploits & Countermeasures
CS5123 Software Validation and Quality Assurance
Security: Exploits & Countermeasures
Malicious Software Slide Set #5 Textbook Chapter 6 Clicker Questions
Security: Exploits & Countermeasures
Buffer Overflow Slide Set #7 Textbook Chapter 10 Clicker Questions
Access Control Slide Set #4 Textbook Chapter 4 Clicker Questions
Software Development Cycle
Penetration Testing & Network Defense
Security: Attacks & Countermeasures
Security and JavaScript
Software Testing and QA Theory and Practice (Chapter 5: Data Flow Testing) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Presentation transcript:

Software Security Slide Set #10 Textbook Chapter 11 Clicker Questions                     Peer Instruction Questions for Intro to Computer Security by William E. Johnson, Allison Luzader, Irfan Ahmed is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Which of the following distinguishes software quality/reliability from software security? Software security is concerned with accidental failure of a program as a result of some random input. Software quality is concern with how often a bug is triggered (not how many bugs there are). Software security seeks to improve software using structured design. Software quality uses testing to eliminate as many bugs as possible. Software security is unlikely to be identified by common testing approaches (triggered by inputs often dramatically different than expected). Software quality is concerned with how often bugs are triggered (not how many bugs). Software quality is unlikely to be identified by common testing approaches (triggered by inputs often dramatically different than expected). None/Other/More than one of the above Correct Answer = C Question Triggers: ”Identify a set" because of the option in choice E ”None of the above" because of the option in choice E “Compare and contrast” due to the question distinguishing between QA and security “Qualitative questions” as this question is primarily qualitative, focusing on features and concepts Total Count: 4 Count without none of the above: 3 Count without identify a set: 3 Count without none of the above or identify a set: 2 Complexity: Composite, requiring understanding of security vs. QA Presentation: Feature Identification

Aligns clearly with traditional programming practice. Which of the following is of paramount importance for defensive programming? Always validate user inputs. Always validate assumptions regarding input. Aligns clearly with traditional programming practice. Certain library calls can be assumed to function as intended/advertised. Aligns well with business needs and desire to keep development cycles as short as possible. None/Other/More than one of the above //Marked because must review book to determine complexity of defensive programming concept in the context of the book Correct Answer = A Question Triggers: ”Identify a set" because of the option in choice E as well as the framing of the question (”Which of the following…” ”None of the above" because of the option in choice E “Qualitative questions” as the question elicits recognition of concepts Total Count: 3 Count without none of the above: 2 Count without identify a set: 2 Count without none of the above or identify a set: 1 Complexity: Composite, as it requires understanding of a number of potential attacks Presentation: Example

Input is any value hardcoded by the programmer. Which of the following is true regarding program input and defensive programming? Input is any value hardcoded by the programmer. Input is any value unknown to the programmer at the time the code was written. Input should be validated on size only (to prevent buffer overflows). Input should be validated on size and type of values to prevent unanticipated outcomes. None/Other/More than one of the above Correct Answer = E (both B & D) Question Triggers: ”None of the above" because of the option in choice E ”Identify a set" because of the option in choice E as well as the question framing (“Which of the following…”) “Qualitative questions” because this is conceptual rather than quantitative Total Count: 3 Count without none of the above: 2 Count without identify a set: 2 Count without none of the above or identify a set: 1 Complexity: Composite as this combines understanding of program input and its relationship to defensive programming Presentation: Truth

What might occur as a result of an injection attack? Buffer overflow Program might reveal confidential data Flow of execution might be altered System utilities might be reused None/Other/More than one of the above Correct Answer = C (I think B could be a valid response as well—so E; for example with command injection in set{uid,gid} binaries) Question Triggers: ”Identify a set" because of the option in choice E ”None of the above" because of the option in choice E “Qualitative questions” as this question asks for understanding of the concept of injection attacks and their potential results Total Count: 3 Count without none of the above: 2 Count without identify a set: 2 Count without none of the above or identify a set: 1 Complexity: Simple Presentation: Example

None/Other/More than one of the above Consider the code show below. What type of attack could be used on this vulnerable code? Poison packet Snooping SQL injection Cross site scripting None/Other/More than one of the above Correct Answer = C Question Triggers: ”Identify a set" because of the option in choice E ”None of the above" because of the option in choice E “Analysis and reasoning” as this requires one to analyze the SQL query itself to find the injection point “Interpret representations” as this question requires students to understand the SQL code provided Total Count: 4 Count without none of the above: 3 Count without identify a set: 3 Count without none of the above or identify a set: 2 Complexity: Composite, as this builds upon generic injection attacks to apply to SQL queries Presentation: Example

How could a malicious user implement an SQL injection attack? Snoop on network traffic and obtain confidential packets sent to/from the database Obtain access to the database by bypassing an intrusion detection systems Block assignment of form field values to global variables Supply input that can be used to construct a SQL request None/Other/More than one of the above Correct Answer = D Question Triggers: ”Identify a set" because of the option in choice E ”None of the above" because of the option in choice E “Strategize only” as this asks the students how they might best approach SQL injection “Qualitative questions” as this question is asked in a conceptual way, asking students to understand and apply features and implementation of SQL injection Total Count: 4 Count without none of the above: 3 Count without identify a set: 3 Count without none of the above or identify a set: 2 Complexity: Composite; as this requires the understanding of basic injection as well as SQL injection Presentation: Example

How could a cross-site scripting attack be prevented? Avoid using cookies on a web application Validate the size of user input Examine user input and remove any dangerous code Allow all user input and block execution of malicious spyware None/Other/More than one of the above Correct Answer = C Question Triggers: ”Identify a set" because of the option in choice E ”None of the above" because of the option in choice E “Strategize only” as this asks students to determine the best approach to XSS prevention “Qualitative questions” as this asks students to understand and apply techniques for XSS prevention Total Count: 4 Count without none of the above: 3 Count without identify a set: 3 Count without none of the above or identify a set: 2 Complexity: Simple Presentation: Example

None/Other/More than one of the above Consider the following then determine which concept is being described. This is a software testing technique that uses randomly generated data as inputs to a program. This can be used to determine if a program functions correctly. Cross site scripting Input fuzzing Race conditions Host virtualization None/Other/More than one of the above Correct Answer = B Question Triggers: ”None of the above" because of the option in choice E ”Identify a set" because of the option in choice E “Analysis and reasoning” as this requires an understanding of the scenario to determine what it best describes “Interpret representations” as students must interpret the characteristics and features in the example to successfully identify it “Qualitative questions” as this question requires and understanding of the concept of fuzzing and its features Total Count: 5 Count without none of the above: 4 Count without identify a set: 4 Count without none of the above or identify a set: 3 Complexity: Simple Presentation: Feature Identification