Secure Software Programming and Vulnerability Analysis
|
|
|
- Margaret Cox
- 10 years ago
- Views:
Transcription
1 Secure Software Programming and Vulnerability Analysis Christopher Kruegel Testing and Source Code Auditing Secure Software Programming 2
2 Overview When system is designed and implemented correctness has to be tested Different types of tests are necessary validation is the system designed correctly? does the design meet the problem requirements? verification is the system implemented correctly? does the implementation meet the design requirements? Different features can be tested functionality, performance, security Secure Software Programming 3 Testing Edsger Dijkstra Program testing can be quite effective for showing the presence of bugs, but is hopelessly inadequate for showing their absence. Testing analysis that discovers what is and compares it to what should be should be done throughout the development cycle necessary process but not a substitute for sound design and implementation for example, running public attack tools against a server cannot proof that server is implemented secure Secure Software Programming 4
3 Testing Classification of testing techniques white-box testing testing all the implementation path coverage considerations faults of commission find implementation flaws but cannot guarantee that specifications are fulfilled black-box testing testing against specification only concerned with input and output faults of omissions specification flaws are detected but cannot guarantee that implementation is correct Secure Software Programming 5 Testing Classification of testing techniques static testing check requirements and design documents perform source code auditing theoretically reason about (program) properties cover a possible infinite amount of input (e.g., use ranges) no actual code is executed dynamic testing feed program with input and observe behavior check a certain number of input and output values code is executed (and must be available) Secure Software Programming 6
4 Testing Automatic testing testing should be done continuously involves a lot of input, output comparisons, and test runs therefore, ideally suitable for automation testing hooks are required, at least at module level nightly builds with tests for complete system are advantageous Regression tests test designed to check that a program has not "regressed, that is, that previous capabilities have not been compromised by introducing new ones Secure Software Programming 7 Testing Software fault injection go after effects of bugs instead of bugs reason is that bugs cannot be completely removed thus, make program fault-tolerant failures are deliberately injected into code effects are observed and program is made more robust Most techniques can be used to identify security problems Secure Software Programming 8
5 Security Testing Design level not much tool support available manual design reviews formal methods attack graphs Formal methods formal specification that can be mathematically described and verified often used for small, safety-critical programs e.g., control program for nuclear power plant state and state transitions must be formalized and unsafe states must be described model checker can ensure that no unsafe state is reached Secure Software Programming 9 Security Testing Attack graph given a finite state model, M, of a network a security property! an attack is an execution of M that violates! an attack graph is a set of attacks of M Attack graph generation done by hand error prone and tedious impractical for large systems automatic generation provide state description transition rules Secure Software Programming 10
6 Security Testing Sandia Red Team White Board attack graph from DARPA CC20008 Information battle space preparation experiment Secure Software Programming 11 Security Testing! = Attacker gains root access to Host 1. 4 hosts 30 actions 310 nodes 3400 edges Secure Software Programming 12
7 Security Testing Implementation Level detect known set of problems and security bugs more automatic tool support available target particular flaws reviewing (auditing) software for flaws is reasonably well-known and well-documented support for static and dynamic analysis ranges from how-to for manual code reviewing to elaborate model checkers or compiler extension Secure Software Programming 13 Static Security Testing Manual auditing code has to support auditing architectural overview comments functional summary for each method OpenBSD is well know for good auditing process 6-12 members since 1996 comprehensive file-by-file analysis multiple reviews by different people search for bugs in general proactive fixes Secure Software Programming 14
8 Static Security Testing Manual auditing tedious and difficult task other initiatives were less successful Sardonix Reviewing old code is tedious and boring and no one wants to do it, Crispin Cowan said. Linux Security Audit Project (LSAP) Statistics for All Time Lifespan Rank Page Views D/l Bugs Support Patches Trkr Tasks 1459 days 0(0.00) 4, (0) 0(0) 0(0) 0(0) 0(0) Secure Software Programming 15 Static Security Testing Syntax checker parse source code and check for functions that have known vulnerabilities, e.g., strcpy(), strcat() also limited support for arguments (e.g., variable, static string) only suitable as first basic check cannot understand more complex relationships no control flow or data flow analysis Examples flawfinder RATS (rough auditing tool for security) ITS4 Secure Software Programming 16
9 Static Security Testing Annotation-based systems programmer uses annotations to specify properties in the source code (e.g., this value must not be NULL) analysis tool checks source code to find possible violations control flow and data flow analysis is performed problems are undecidable in general, therefore trade-off between correctness and completeness Examples SPlint Eau-claire UNO (uninitialized vars, null-ptr dereferencing, out-of-bounds access) Secure Software Programming 17 Static Security Testing Model-checking programmer specifies security properties that have to hold models realized as state machines statements in the program result in state transitions certain states are considered insecure usually, control flow and data flow analysis is performed example properties drop privileges properly race conditions creating a secure chroot jail examples MOPS (an infrastructure for examining security properties of software) Secure Software Programming 18
10 Static Security Testing Meta-compilation programmer adds simple system-specific compiler extensions these extensions check (or optimize) the code flow-sensitive, inter-procedural analysis not sound, but can detect many bugs no annotations needed example extensions system calls must check user pointers for validity before using them disabled interrupts must be re-enabled to avoid deadlock, do not call a blocking function with interrupts disabled examples Dawson Engler (Stanford) Secure Software Programming 19 Static Security Testing Model-checking versus Meta-compilation (Engler 03) General perception static analysis: easy to apply but shallow bugs model checking: harder, but strictly better once done ccnuma with cache coherence protocols in software 1 bug deadlocks entire machine code with many ad hoc correctness rules WAIT_FOR_DB_FULL must precede MISCBUS_READ_DB but they have a clear mapping to source code easy to check with compiler Secure Software Programming 20
11 Static Security Testing Meta-compilation scales relatively precise statically found 34 bugs, although code tested for 5 years however, many deeper properties are missed Deeper properties nodes never overflow their network queues sharing list empty for dirty lines nodes do not send messages to themselves Perfect application for model checking bugs depend on intricate series of low-probability events self-contained system that generates its own events Secure Software Programming 21 Static Security Testing The (known) problem writing model is hard someone did it for a similar protocol than ccnuma several months effort no bugs use correspondence to auto-extract model from code Result 8 errors two deep errors, but 6 bugs found with static analysis as well. Myth: model checking will find more bugs in reality, 4x fewer Secure Software Programming 22
12 Static Security Testing Where meta-compilation is superior Static analysis Compile! Check Model checking Run! Check Don t understand? So what. Problem. Can t run? So what. Can t play. Coverage? All paths! All paths! Executed paths. First question: How big is code? What does it do? Time: Hours. Weeks. Bug counts s 0-10s Big code: 10MLOC 10K No results? Surprised. Less surprised. Secure Software Programming 23 Static Security Testing Where model-checking is superior Subtle errors run code, so can check its implications data invariants, feedback properties, global properties static better at checking properties in code model checking better at checking properties implied by code End-to-end catch bug no matter how it is generated static detects ways to cause error model checking checks for the error itself Secure Software Programming 24
13 Dynamic Security Testing Run-time checking between operating system and program intercept and check system calls Run-time checking between libraries and program intercept and check library functions often used to detect memory problems interception of malloc() and free() calls emulation of heap behavior and code instrumentation purify, valgrind also support for buffer overflow detection libsafe Secure Software Programming 25 Dynamic Security Testing Profiling record the dynamic behavior of applications with respect to interesting properties Obviously interesting to tune performance gprof But also useful for improving security sequences of system calls system call arguments same for function calls Secure Software Programming 26
14 Dynamic Security Testing Penetration testing explicitly trying to break applications security general tool support available nessus ISS Internet Scanner nmap also tools for available that can test a particular protocol whisker ISS Database scanner Secure Software Programming 27 Summary Testing important part of regular software life-cycle but also important to ensure a certain security standard Important at design and implementation level design attack graphs, formal methods, manual reviews implementation static and dynamic techniques Static techniques code review, syntax checks, model checking, meta-compilation Dynamic techniques system call and library function interposition, profiling Secure Software Programming 28
Security Testing. Davide Balzarotti [email protected]
Security Testing Davide Balzarotti [email protected] Administrative News Challenge 1 36 students (3 in the first 24h) Challenge 2 37 students (6 in the first 24h) Challenge 3 34 students (5 in the first
X05. An Overview of Source Code Scanning Tools. Loulwa Salem. Las Vegas, NV. IBM Corporation 2006. IBM System p, AIX 5L & Linux Technical University
X05 An Overview of Source Code Scanning Tools Loulwa Salem Las Vegas, NV Objectives This session will introduce better coding practices and tools available to aid developers in producing more secure code.
Linux Kernel. Security Report
Linux Kernel Security Report September 25 Authors: Andy Chou, Bryan Fulton and Seth Hallem Coverity has combined two years of analysis work carried out in a commercial setting at Coverity with four years
Securing Network Software using Static Analysis
Securing Network Software using Static Analysis Lauri Kolmonen Helsinki University of Technology [email protected] Abstract Writing network software is not easy and developing secure network software
Detecting Critical Defects on the Developer s Desktop
Detecting Critical Defects on the Developer s Desktop Seth Hallem CEO Coverity, Inc. Copyright Coverity, Inc. 2006. All Rights Reserved. This publication, in whole or in part, may not be reproduced, stored
Automatic vs. Manual Code Analysis
Automatic vs. Manual Code Analysis 2009-11-17 Ari Kesäniemi Senior Security Architect Nixu Oy [email protected] Copyright The Foundation Permission is granted to copy, distribute and/or modify this
Oracle Solaris Studio Code Analyzer
Oracle Solaris Studio Code Analyzer The Oracle Solaris Studio Code Analyzer ensures application reliability and security by detecting application vulnerabilities, including memory leaks and memory access
Software security specification and verification
Software security specification and verification Erik Poll Security of Systems (SoS) group Radboud University Nijmegen Software (in)security specification and verification/detection Erik Poll Security
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
Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled
Static Analysis 15-654: Analysis of Software Artifacts Jonathan Aldrich 1 Find the Bug! Source: Engler et al., Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions, OSDI
Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland
Software Testing & Analysis (F22ST3) Static Analysis Techniques Andrew Ireland School of Mathematical and Computer Science Heriot-Watt University Edinburgh Software Testing & Analysis (F22ST3): Static
Source Code Review Using Static Analysis Tools
Source Code Review Using Static Analysis Tools July-August 05 Author: Stavros Moiras Supervisor(s): Stefan Lüders Aimilios Tsouvelekakis CERN openlab Summer Student Report 05 Abstract Many teams at CERN,
Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com
Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing
Comprehensive Static Analysis Using Polyspace Products. A Solution to Today s Embedded Software Verification Challenges WHITE PAPER
Comprehensive Static Analysis Using Polyspace Products A Solution to Today s Embedded Software Verification Challenges WHITE PAPER Introduction Verification of embedded software is a difficult task, made
Software testing. Objectives
Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating
Web application security: automated scanning versus manual penetration testing.
Web application security White paper January 2008 Web application security: automated scanning versus manual penetration testing. Danny Allan, strategic research analyst, IBM Software Group Page 2 Contents
Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors
Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors Klaus Wissing PolySpace Technologies GmbH Argelsrieder Feld 22 82234 Wessling-Oberpfaffenhofen
- Table of Contents -
- Table of Contents - 1 INTRODUCTION... 1 1.1 TARGET READERS OF THIS DOCUMENT... 1 1.2 ORGANIZATION OF THIS DOCUMENT... 2 1.3 COMMON CRITERIA STANDARDS DOCUMENTS... 3 1.4 TERMS AND DEFINITIONS... 4 2 OVERVIEW
APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION
1 APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION Validation: Are we building the right product? Does program meet expectations of user? Verification: Are we building the product right?
Software security assessment based on static analysis
Software security assessment based on static analysis Christèle Faure Séminaire SSI et méthodes formelles Réalisé dans le projet Baccarat cofinancé par l union européenne Context > 200 static tools for
Introduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
Build (develop) and document Acceptance Transition to production (installation) Operations and maintenance support (postinstallation)
It is a well-known fact in computer security that security problems are very often a direct result of software bugs. That leads security researches to pay lots of attention to software engineering. The
Best Practices for Verification, Validation, and Test in Model- Based Design
2008-01-1469 Best Practices for Verification, Validation, and in Model- Based Design Copyright 2008 The MathWorks, Inc. Brett Murphy, Amory Wakefield, and Jon Friedman The MathWorks, Inc. ABSTRACT Model-Based
Aiming at Higher Network Security Levels Through Extensive PENETRATION TESTING. Anestis Bechtsoudis. http://bechtsoudis.com abechtsoudis (at) ieee.
Aiming at Higher Network Security Levels Through Extensive PENETRATION TESTING Anestis Bechtsoudis http://bechtsoudis.com abechtsoudis (at) ieee.org Athena Summer School 2011 Course Goals Highlight modern
Static Code Analysis Procedures in the Development Cycle
Static Code Analysis Procedures in the Development Cycle Tools, Technology, and Process in Engineering at Microsoft Mooly Beeri Microsoft Haifa R&D Center Agenda Static code analysis tools PREfix and PREfast
Security Testing OpenGGSN: a Case Study
Security Testing OpenGGSN: a Case Study Esa Tikkala, Mikko Rapeli, Kaarina Karppinen, Hannu Honkanen VTT Technical Research Centre of Finland, Oulu, Finland Abstract As systems today are more and more
The Security Development Lifecycle. OWASP 24 June 2010. The OWASP Foundation http://www.owasp.org
The Security Development Lifecycle 24 June 2010 Steve Lipner Senior Director of Security Engineering Strategy Trustworthy Computing Microsoft Corporation [email protected] +1 425 705-5082 Copyright
Visualizing Information Flow through C Programs
Visualizing Information Flow through C Programs Joe Hurd, Aaron Tomb and David Burke Galois, Inc. {joe,atomb,davidb}@galois.com Systems Software Verification Workshop 7 October 2010 Joe Hurd, Aaron Tomb
The ROI of Test Automation
The ROI of Test Automation by Michael Kelly www.michaeldkelly.com Introduction With the exception of my first project team out of college, in every project team since, I ve had to explain either what automated
OPEN SOURCE SECURITY
OPEN SOURCE SECURITY February 2008 The Government of the Hong Kong Special Administrative Region The contents of this document remain the property of, and may not be reproduced in whole or in part without
How to Build a Trusted Application. John Dickson, CISSP
How to Build a Trusted Application John Dickson, CISSP Overview What is Application Security? Examples of Potential Vulnerabilities Strategies to Build Secure Apps Questions and Answers Denim Group, Ltd.
D. Best Practices D.1. Assurance The 5 th A
Best Practices I&C School Prof. P. Janson September 2014 D. Best Practices D.1. Assurance The 5 th A 1 of 20 IT systems are insecure for two main reasons: People are fallible and systems are complex and
STATIC CODE ANALYSIS Alexandru G. Bardas 1
Abstract STATIC CODE ANALYSIS Alexandru G. Bardas 1 A lot of the defects that are present in a program are not visible to the compiler. Static code analysis is a way to find bugs and reduce the defects
Access Control Fundamentals
C H A P T E R 2 Access Control Fundamentals An access enforcement mechanism authorizes requests (e.g., system calls) from multiple subjects (e.g., users, processes, etc.) to perform operations (e.g., read,,
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
The Road from Software Testing to Theorem Proving
The Road from Software Testing to Theorem Proving A Short Compendium of my Favorite Software Verification Techniques Frédéric Painchaud DRDC Valcartier / Robustness and Software Analysis Group December
Security and Vulnerability Testing How critical it is?
Security and Vulnerability Testing How critical it is? It begins and ends with your willingness and drive to change the way you perform testing today Security and Vulnerability Testing - Challenges and
Application Code Development Standards
Application Code Development Standards Overview This document is intended to provide guidance to campus system owners and software developers regarding secure software engineering practices. These standards
Secure Programming with Static Analysis. Jacob West [email protected]
Secure Programming with Static Analysis Jacob West [email protected] Software Systems that are Ubiquitous Connected Dependable Complexity U Unforeseen Consequences Software Security Today The line between
Toward A Taxonomy of Techniques to Detect Cross-site Scripting and SQL Injection Vulnerabilities
NCSU CSC TR 2008-4 1 Toward A Taxonomy of Techniques to Detect Cross-site Scripting and SQL Injection Vulnerabilities Yonghee SHIN, Laurie WILLIAMS, Members, IEEE Abstract Since 2002, over half of reported
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
90% of data breaches are caused by software vulnerabilities.
90% of data breaches are caused by software vulnerabilities. Get the skills you need to build secure software applications Secure Software Development (SSD) www.ce.ucf.edu/ssd Offered in partnership with
How To Detect A Buffer Overflow Vulnerability In Binary Code
Buffer Overflow Vulnerability Detection in the Binary Code Shehab Gamal El-Dien, Reda Salama, Ahmed Eshak [email protected], [email protected], [email protected] Al-Azhar University, Faculty of
TOOL EVALUATION REPORT: FORTIFY
TOOL EVALUATION REPORT: FORTIFY Derek D Souza, Yoon Phil Kim, Tim Kral, Tejas Ranade, Somesh Sasalatti ABOUT THE TOOL Background The tool that we have evaluated is the Fortify Source Code Analyzer (Fortify
Critical Infrastructure Security: The Emerging Smart Grid. Cyber Security Lecture 5: Assurance, Evaluation, and Compliance Carl Hauser & Adam Hahn
Critical Infrastructure Security: The Emerging Smart Grid Cyber Security Lecture 5: Assurance, Evaluation, and Compliance Carl Hauser & Adam Hahn Overview Assurance & Evaluation Security Testing Approaches
Complete Web Application Security. Phase1-Building Web Application Security into Your Development Process
Complete Web Application Security Phase1-Building Web Application Security into Your Development Process Table of Contents Introduction 3 Thinking of security as a process 4 The Development Life Cycle
Levels of Software Testing. Functional Testing
Levels of Software Testing There are different levels during the process of Testing. In this chapter a brief description is provided about these levels. Levels of testing include the different methodologies
Reduce Medical Device Compliance Costs with Best Practices. [email protected]
Reduce Medical Device Compliance Costs with Best Practices [email protected] 1 Agenda Medical Software Certification How new is Critical Software Certification? What do we need to do? What Best Practises
Achilles Assurance Platform. Dr. Nate Kube Founder / CTO Wurldtech
Achilles Assurance Platform Dr. Nate Kube Founder / CTO Wurldtech Presentation Outline Statement of the Problem 3 rd Generation Achilles Assurance Platform Questions and Answers Achilles Certification
CS52600: Information Security
CS18000: Programming I CS52600: Information Security Vulnerability Analysis 15 November 2010 Prof. Chris Clifton Vulnerability Analysis Vulnerability: Lapse in enforcement enabling violation of security
Auditing a Web Application. Brad Ruppert. SANS Technology Institute GWAS Presentation 1
Auditing a Web Application Brad Ruppert SANS Technology Institute GWAS Presentation 1 Objectives Define why application vulnerabilities exist Address Auditing Approach Discuss Information Interfaces Walk
Black Box versus White Box: Different App Testing Strategies John B. Dickson, CISSP
Black Box versus White Box: Different App Testing Strategies John B. Dickson, CISSP Learning objectives for today s session Understand different types of application assessments and how they differ Be
WHITEPAPER. Nessus Exploit Integration
Nessus Exploit Integration v2 Tenable Network Security has committed to providing context around vulnerabilities, and correlating them to other sources, such as available exploits. We currently pull information
Security Testing & Load Testing for Online Document Management system
1 Security Testing & Load Testing for Online Document Management system Abstract The client is a leading provider of online technical documentation solutions in UK, they wanted to protect their documents
-.% . /(.0/.1 . 201 . ) 53%/(01 . 6 (01 (%((. * 7071 (%%2 $,( . 8 / 9!0/!1 . # (3(0 31.%::((. ;.!0.!1 %2% . ".(0.1 $) (%+"",(%$.(6
!""#"" ""$"$"# $) ""$"*$"# %%&''$ $( (%( $) (%+"",(%$ -.% Number Phase Name Description. /(.0/.1.(((%( $. 201 2,%%%% %$. %(01 3-(4%%($. ) 53%/(01 %%4.%%2%, ($. 6 (01 (%((. * 7071 (%%2. 8 / 9!0/!1 ((((($%
Payment Card Industry (PCI) Terminal Software Security. Best Practices
Payment Card Industry (PCI) Terminal Software Security Best Version 1.0 December 2014 Document Changes Date Version Description June 2014 Draft Initial July 23, 2014 Core Redesign for core and other August
Measuring the Effect of Code Complexity on Static Analysis Results
Measuring the Effect of Code Complexity on Static Analysis Results James Walden, Adam Messer, and Alex Kuhl Department of Computer Science Northern Kentucky University Highland Heights, KY 41099 Abstract.
The FDA Forensics Lab, New Tools and Capabilities
U. S. Department of Health and Human Services The FDA Forensics Lab, New Tools and Capabilities Symposium on Static Code Analysis and Complex Medical Devices University of Minnesota July 23, 2009 Static
Security Vulnerability Management. Mark J Cox
Security Vulnerability Management Mark J Cox Responsibility & Accountability Unique challenges Many vendors all ship the same thing The vulnerabilities are there. The fact that somebody in the middle of
Turning the Battleship: How to Build Secure Software in Large Organizations. Dan Cornell May 11 th, 2006
Turning the Battleship: How to Build Secure Software in Large Organizations Dan Cornell May 11 th, 2006 Overview Background and key questions Quick review of web application security The web application
Developing Secure Software, assignment 1
Developing Secure Software, assignment 1 During development of software, faults and flaws are introduced either from the implementation or from the design of the software. During runtime these faults and
Effective Software Security Management
Effective Software Security Management choosing the right drivers for applying application security Author: Dharmesh M Mehta [email protected] / [email protected] Table of Contents Abstract... 1
Quality Management. Lecture 12 Software quality management
Quality Management Lecture 12 Software quality management doc.dr.sc. Marko Jurčević prof.dr.sc. Roman Malarić University of Zagreb Faculty of Electrical Engineering and Computing Department of Fundamentals
Static Techniques for Vulnerability Detection
Static Techniques for Vulnerability Detection Kamran Zafar Asad Ali /LQN SLQJVXQLYHUVLW\6ZHGHQ (PDLO^NDP]DDVDDO`#VWXGHQWOLXVH $EVWUDFW )RU WKH ODVW \HDUV WKH LPSRUWDQFH RI EXLOGLQJ VHFXUH VRIWZDUH LV EHFRPLQJ
Adobe Systems Incorporated
Adobe Connect 9.2 Page 1 of 8 Adobe Systems Incorporated Adobe Connect 9.2 Hosted Solution June 20 th 2014 Adobe Connect 9.2 Page 2 of 8 Table of Contents Engagement Overview... 3 About Connect 9.2...
Testing for Security
Testing for Security Kenneth Ingham September 29, 2009 1 Course overview The threat that security breaches present to your products and ultimately your customer base can be significant. This course is
Learning objectives for today s session
Black Box versus White Box: Different App Testing Strategies John B. Dickson, CISSP Learning objectives for today s session Understand what a black box and white box assessment is and how they differ Identify
Self Service Penetration Testing
Self Service Penetration Testing Matthew Cook http://escarpment.net/ Introduction Matthew Cook Senior IT Security Specialist Loughborough University Computing Services http://escarpment.net/ Self Service
Application Intrusion Detection
Application Intrusion Detection Drew Miller Black Hat Consulting Application Intrusion Detection Introduction Mitigating Exposures Monitoring Exposures Response Times Proactive Risk Analysis Summary Introduction
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
The Need for Fourth Generation Static Analysis Tools for Security From Bugs to Flaws
The Need for Fourth Generation Static Analysis Tools for Security From Bugs to Flaws By Evgeny Lebanidze Senior Security Consultant Cigital, Inc. This paper discusses some of the limitations of the current
Web application testing
CL-WTS Web application testing Classroom 2 days Testing plays a very important role in ensuring security and robustness of web applications. Various approaches from high level auditing through penetration
Using Web Security Scanners to Detect Vulnerabilities in Web Services
DSN 2009 Using Web Security Scanners to Detect Vulnerabilities in Web Services Marco Vieira,, Henrique Madeira {mvieira, nmsa, henrique}@dei.uc.pt CISUC Department of Informatics Engineering University
New Zealand Company Six full time technical staff Offices in Auckland and Wellington
INCREASING THE VALUE OF PENETRATION TESTING ABOUT YOUR PRESENTER Brett Moore Insomnia Security New Zealand Company Six full time technical staff Offices in Auckland and Wellington Penetration Testing Web
Web Application Security
Chapter 1 Web Application Security In this chapter: OWASP Top 10..........................................................2 General Principles to Live By.............................................. 4
MPI-Checker Static Analysis for MPI
MPI-Checker Static Analysis for MPI Alexander Droste, Michael Kuhn, Thomas Ludwig November 15, 2015 Motivation 2 / 39 Why is runtime analysis in HPC challenging? Large amount of resources are used State
Penetration Testing. Security Testing
Penetration Testing Gleneesha Johnson Advanced Topics in Software Testing Fall 2004 Security Testing Method of risk evaluation Testing security mechanisms to ensure that their functionality is properly
Integrating Tools Into the SDLC
Integrating Tools Into the SDLC FIRST Conference 2007 The problem Too many organizations have either: Failed to try software security tools at all Tried tools, but became overwhelmed Tools relegated to
Satisfying ASIL Requirements with Parasoft C++test Achieving Functional Safety in the Automotive Industry
Satisfying Requirements with Parasoft C++test Achieving Functional Safety in the Automotive Industry Introduction Safety functions are increasingly being carried out by electrical, electronic, or programmable
Idea: Measuring the Effect of Code Complexity on Static Analysis Results
Idea: Measuring the Effect of Code Complexity on Static Analysis Results James Walden, Adam Messer, and Alex Kuhl Department of Computer Science Northern Kentucky University Highland Heights, KY 41099
Secure Software Programming and Vulnerability Analysis
Secure Software Programming and Vulnerability Analysis Christopher Kruegel [email protected] http://www.auto.tuwien.ac.at/~chris Operations and Denial of Service Secure Software Programming 2 Overview
Detecting Software Vulnerabilities Static Taint Analysis
Vérimag - Distributed and Complex System Group Universitatea Politehnica București Detecting Software Vulnerabilities Static Taint Analysis Dumitru CEARĂ Supervisors Marie-Laure POTET, Ph.D, ENSIMAG, Grenoble
Restraining Execution Environments
Restraining Execution Environments Segurança em Sistemas Informáticos André Gonçalves Contents Overview Java Virtual Machine: Overview The Basic Parts Security Sandbox Mechanisms Sandbox Memory Native
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
A very short history of networking
A New vision for network architecture David Clark M.I.T. Laboratory for Computer Science September, 2002 V3.0 Abstract This is a proposal for a long-term program in network research, consistent with the
CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS
66 CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS 5.1 INTRODUCTION In this research work, two new techniques have been proposed for addressing the problem of SQL injection attacks, one
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
Nessus. A short review of the Nessus computer network vulnerability analysing tool. Authors: Henrik Andersson Johannes Gumbel Martin Andersson
Nessus A short review of the Nessus computer network vulnerability analysing tool Authors: Henrik Andersson Johannes Gumbel Martin Andersson Introduction What is a security scanner? A security scanner
