STATIC CODE ANALYSIS Alexandru G. Bardas 1
|
|
|
- Eugenia Hancock
- 10 years ago
- Views:
Transcription
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 in a software application. This paper gives you an overview on static code analysis, well-known tools and the benefits of this practice. Introduction In the 1970 s, Stephan Johnson, then at Bell Laboratories, wrote Lint, a tool to examine C source programs that had compiled without errors and to find bugs that had escaped detection. There are many ways to detect and reduce the number of bugs in a program. For instance in Java, JUnit is a very useful tool for writing tests. Overtime research proved that analyzing the code (especially code reviews) is the best way to eliminate bugs. This is not always possible because it is very hard to train people and get them together to study and identify problems in programs. Furthermore it is almost impossible to use code inspections on project s complete code base. Most errors fall into known categories, as people tend to fall into the same traps repeatedly. Therefore a static analyzer or checker is a program written to analyze other programs for flaws. These type of programs are scanning the source code (see Figure 1), the byte code or the binaries of a program in order to match patterns. Static analyzers have the potential to find rare occurrences or hidden back doors. Since they consider the code independently of any particular execution, they can enumerate all possible interactions 4 between the different components or modules. Figure 1 The intended usage of static code analysis in an example development cycle Why Start With Static Source Code Analyzers? Higher level representations, such as requirements or use cases, are better places to prevent flaws. So far these areas are not mature enough for standardization. Roughly half of all security weaknesses are introduced during coding, so making improvements after high level design may be very helpful. Unlike binary or byte code, source code can be read by humans. Also there are many tools that work with source code. For these reasons, source code seems a good place to begin. 1 Phd Student, Kansas State University, United States of America
2 What should a source code analyzer do? A source code analyzer should find weaknesses and report their severity and location. The weakness class corresponds to Common Weakness Enumeration (CWE) entries. There are a lot of tools that also report conditions that may expose the weakness, data or control flow related to it, more information about that class of weakness including examples of how to fix it, the certainty that the weakness is a vulnerability (not a false alarm), or some rating of the severity or ease of exploit. Optionally a tool can construct a report that could be used by other tools. In order to be practical in repeated runs, the source code checker must have some mechanism to suppress reports of weaknesses judged to be false alarms or otherwise to be subsequently ignored. False positives are a critical factor in static code analysis. Theoretically, static analysis tools compute a model of a program that they analyze for certain properties. Since static analysis problems are generally undecidable, either the computed model is approximate or the analysis is approximate. Because of these approximations, tools may miss weaknesses (false negatives) or report correct code as having a weakness (false positives). To be recognized and adopted a tool must "have an acceptably low false positive rate". Types of Static Code Checkers Static code analyzers come in different flavors, analyzers that work directly on the program source code and analyzers that work on the compiled byte code. Each type has its own advantages. When analyzing directly the program code, the source code static analyzer checks directly the source program code written by the programmer. Compilers optimize code, and the resulting byte code might not mirror the source. On the other hand, working on byte code is much faster, which is very important on projects that contain for instance more than one hundred thousand lines of code. Even though each code checker works differently, most of them share some basic traits. Static checkers read the program and build an abstract representation of it that they are using for matching the error patterns they recognize. On the other hand static checkers perform some kind of data-flow analysis, trying to infer the possible values that variables might have at certain points in the program. When a program accepts input, there is a possibility that this input can be used to subvert the system. Buffer overflows have been over time hacker s favorite inroad. Nowadays SQL injection seems to have taken the top place for program sore spots. Therefore data-flow analysis is very important for vulnerability checking. It is essential to be able to trace the input flow from users through the program. There is no code checker that can ever assure developers that a program is correct. Such guarantees aren t possible. In fact, no code checker is complete or sound. A complete code checker would find all errors, while a sound code checker would report only real errors and no false positives.
3 The percentage of false to true positives indicates if a code checker is suitable for different programs. It is recommended for developers to examine a checker s behavior in their work before committing to it in the whole project. Human fallibility is somewhat predictable, but code checkers cannot take all possible bugs into account. Most of the checkers gives programmers the option to define their own rules for the checker to use. In this way, if developers are certain or can predict that they are particularly prone to some kinds of bugs, they can guard against them by writing custom bug detectors. Eliminating bugs doesn t ensure high program quality. Quality metrics can be used to do that. Strengths and Limitations Every static analyzer has a database of vulnerabilities to look for in code. Most of the products have the option of adding custom rules. Static analysis may be performed on modules or unfinished code, although the more complete the code, the more thorough and accurate the analysis can be. On the other hand testing requires test cases or input data. Testing also requires artifacts that are complete enough to be executable, possibly with supporting drivers, stubs, or simulated components. These are the reasons why sometimes it is more convenient to us static code checkers during the development process. Static code analysis does not replace testing, it should complement it. Therefore static code checkers should never replace testing because testing has the advantage of possibly revealing completely unexpected failures. Static analyzers have the potential to find rare occurrences or hidden back doors. Static checkers consider code independently of any particular execution, they are analyzing the code without compiling it. In this way static checkers can enumerate all possible interactions between the different modules and components of the analyzed code. The number of interactions tends to increase exponentially, defying comprehensive static analysis and test execution alike. Static analysis can focus on the interaction without testing s need to re-establish initial conditions or artificially constrain the system to produce the desired interaction. For instance it is impossible to expect that black-box testing can discover a backdoor accessible when the username is AlexBardas since there are a nearly infinite number of arbitrary strings to test. Analyzers are limited by the sophistication of the reasoning in them. A good example in this sense are static source code analyzers that do not handle function pointers and few can deal with embedded assembler code.
4 Even in cases when the models of the programming language, compiler, hardware, and other pieces used in execution are perfect, analyzers have the same fundamental limitation as any other logical system: They cannot solve the halting problem or undecidable problems. This does not need to be a serious limitation in practice. Important code should be so clearly correct that it confuses neither human nor tools. Even though running tests is straightforward, it can be sometimes challenging to develop tests that exercise a particular property or module. When new attacks or failure modes are discovered, new tests must be developed. In case of static analyzers the vulnerability database has to be updated as well when new vulnerabilities are discovered. A vulnerability is the result of one or more weaknesses in requirements, design, implementation, or operation. If the set of vulnerabilities is not updated then the static checker will miss the new weakness in the analyzed code. The advantage of a static analyzer is that once the vulnerability is added to the set and validated, then the analyzer can be rerun on all code. On the other hand test generators can give a similar advantage for generating test cases to exercise the latest vulnerabilities. Static analysis is no panacea. There are subtle and complex vulnerabilities that can always defeat the reasoning in a static analyzer. For instance the lack of auditing or encryption cannot reasonably be deduced from only the examination of post-production artifacts. Software with no resiliency or self-monitoring is open to errors in installation or operation, but static analysis can be one of the last lines of defense against vulnerabilities. 4 How can we construct good software? The qualities needed in today s software and systems cannot be tested in. Characteristics, such as security, safety, and reliability, must be designed in and built in from the beginning. The development process must be constructed such that users can rely upon the resulting software. Even when implementing and using the most disciplined and well-characterized processes, artifacts must be analyzed to gain assurance that the output of the process is close to the target qualities. This is the main characteristic of quality control. Static Analysis Tools Usually, like almost in any other software application, there are two flavors of static analysis tools: open-source and commercial static code analysis tools. It depends on the developers and the company what type of product they use.
5 Some examples of well-known and widely used static code checkers are Coverity Static Analysis, Fortify, FindBugs and Splint / LCLint (Lint - static source code analysis tool). Coverity Static Analysis Coverity Static Analysis is a commercial product and it pretends to be the leading automated approach for ensuring the highest-quality. Coverity Static Analysis automatically scans C/C++, Java and C# code bases with no changes to the code or build system. Because it produces a complete understanding of your build environment and source code, Coverity Static Analysis is the tool of choice for developers who need flexible, deep, and accurate source code analysis. Benefits of Coverity Static Analysis: o Automatically find critical defects that can cause data corruption and application failures 18 o Improve development team efficiency and speed time to market for critical applications 18 o Improve software integrity and end-user satisfaction Coverity Static Analysis works in three steps to achieve software integrity: 1. Map the Software DNA 2. Indentify Critical Defects 3. Resolve Defects Fortify Figure 2 Coverity s three-step process provides a comprehensive methodology for proactively finding and eliminating critical software defects. Fortify 360 is also a commercial product that identifies, prioritizes and helps developers eliminate security vulnerabilities in software. It delivers: o Vulnerability Detection (detect vulnerabilities with static and dynamic analysis) o Collaborative Remediation (fix vulnerabilities in a shared workspace Reporting and Governance Manage and report on the process) o Threat Intelligence (stay ahead with cutting edge research)
6 Figure 3 Fortify options visualization FindBugs FindBugs is a program which uses static analysis to look for bugs in Java code. It is free software, distributed under the terms of the Lesser GNU Public License. The name FindBugs and the FindBugs logo are trademarked by The University of Maryland. As of July, 2008, FindBugs has been downloaded more than 700,000 times. FindBugs requires JRE (or JDK) or later to run. However, it can analyze programs compiled for any version of Java. Splint / LCLint Splint is an open-source tool that runs mainly on UNIX based operating systems. This tool is used for statically checking C programs for security vulnerabilities and coding mistakes. With minimal effort, Splint can be used as a better lint. If additional effort is invested adding annotations to programs, Splint can perform stronger checking than can be done by any standard lint. Do Static Code Analysis Tools Really Help? Developers can think of several potential problems with the use of static code analysis tools in practice. A tool may report many unimportant weaknesses, but miss the small number of serious weaknesses that really affect security. If a developer takes a mechanical approach to fixing weaknesses reported by tools, programmers may not think as much about the program logic and miss more serious vulnerabilities. On the other hand, the developer may spend time correcting unimportant weaknesses reported, making other mistakes in the process and not having as much time for harder security challenges. Recognizing this kind of problems, Dawson Engler articulated the question: "Do static source code analysis tools really help?"
7 Coverity was funded by the US Department of Homeland Security. In collaboration with Stanford University, they analyzed over 50 open-source projects since March For example Coverity scanned MySQL version in early Version , released 15 February 2005, contained fixes based on Coverity reports. Figure 4 compares the vulnerabilities discovered in version or later versions with vulnerabilities discovered before the 15 February release. Figure 4 MySQL vulnerabilities before and after The Red bars, on the right, are vulnerabilities discovered in version or later. These bars are grouped by the discovery date reported in the National Vulnerability Database. The data covers 21 months after the release of version The light blue bars, on the left, describe vulnerabilities discovered before the release. The process began 21 months before the release that is May Vulnerabilities discovered after 15 February 2005 that were only present in versions before were not taken into account. This data is insufficient to draw final conclusions. On the other hand, Dejan Baca, Bengt Carlsson and Lars Lundberg presented in their paper named Evaluating the Cost Reduction of Static Code Analysis for Software Security a case study in which mature software with known vulnerabilities is subjected to a static analysis tool. The three authors believe that the faults/bugs constantly introduced into programs during their development can be reduced by using static analysis tools. Faults and flaws can propagate during runtime into failures that might be exploited as vulnerabilities, see Figure 5.
8 Figure 5 The relation between source code faults and design flaws resulting in visible failures that might propagate into known or unknown vulnerabilities. 17 A trouble report or bug report (TR) includes any bugs that are found by the users are then reported back. After looking at real-life trouble reports from three large software systems, consisting of approximately 1,000,000 lines of C++ code, Baca, Carlsson and Lundberg noticed a significant cost associated with handling the security related trouble reports in these systems. The research study showed that, by using a static analysis tool a 17% cost reduction for reported security bugs would have been possible. One product even showed a 23% cost reduction. The cost reduction includes all costs associated with the static code analysis tools. Most of the vulnerabilities found in the code were stack or heap related, i.e. the security detection capabilities mostly rely in the software s handling of memory. The authors also stated that no design based vulnerabilities were detected and more implementation failures should have been possible to detect, i.e. when the static analysis tool is lowering the rate of false positives some vulnerabilities are dismissed. Another interesting aspect is the fact that almost 70% of the trouble reports were not found by Coverity, i.e. for these there were no reduction of costs. Product A had the best effectiveness with 37.5% of the trouble reports detected while Product C had the worse with 25%, but because the static code analysis tool also found dormant vulnerabilities that were not reported as trouble reports. A total of 2.6 times more vulnerabilities were detected by the static code checker compared to the trouble reports. This means that static code analysis does not only reduce the cost. There is also a significant quality improvement due to the detection of dormant vulnerabilities. Conclusion Programming is one of the toughest jobs in project development. No machine can substitute for good sense, a solid knowledge of fundamentals, clear thinking, and discipline, but bug detection tools can help developers. Static analyzers should be a key part of every software development process.
9 References 1. S. Johnson, Lint: A C Program Checker, tech. report 65, Bell Laboratories, Dec P. Louridas, JUnit: Unit Testing and Coding in Tandem, IEEE Software, vol. 22, no. 4, 2005, pp P. Louridas, Static Code Analysis, IEEE Software JULY/AUGUST 2006 (Vol. 23, No. 4) pp Black, Paul E. "Static Analyzers in Software Engineering", March/April Moser, Raimund, Witold Pedrycz, and Giancarlo Succi. "A Comparative Analysis of the Efficiency of Change Metrics and Static Code Attributes for Defect Prediction.", Chelf, Ben, and Christof Ebert. "Ensuring the Integrity of Embedded Software with Static Code Analysis.", May/June Black, Paul E. "SAMATE and Evaluating Static Analysis Tools.", September Black, Paul E. "Software Assurance with SAMATE Reference Dataset, Tool Standards, and Studies.", October Chinchani, Ramkumar, and Eric Van Den Berg. "A Fast Static Analysis Approach to Detect Exploit Code Inside Network Flows.", Bush, William R., Jonathan D. Pincus, and David J. Sielaff. "A Static Analyzer for Finding Dynamic Programming Errors.", December Bergeron, J., M. Debbabi, J. Desharnais, M.M Erhioui, Y. Lavoie, and N. Tawbi. "Static Detection of Malicious Code in Executable Programs.", Holzmann, Gerard J. Conquering Complexity. Computer 40 (12): , Dec Source Code Security Analysis Tool Functional Specification Version 1.0. National Institute of Standards and Technology (NIST), Special Publication May 2007 < samate.nist.gov/docs/source_code_security_analysis_spec_sp pdf>. 14. Gary McGraw (2006), Software Security, Addison-Wesley. 15. Source Code Security Analysis Tool Functional Specification Version 1.0, National Institute of Standards and Technology, Special Publication , May Available at (Accessed 24 May 2007). 16. Accelerating Open Source Quality, (Accessed 21 May 2007). 17. Baca, Dejan, Bengt Carlsson, and Lars Lundberg. "Evaluating the Cost Reduction of Static Code Analysis for Software Security.", May Coverity Website Fortify Website Findbugs Website Splint Official Website
Coverity White Paper. Reduce Your Costs: Eliminate Critical Security Vulnerabilities with Development Testing
Reduce Your Costs: Eliminate Critical Security Vulnerabilities with Development Testing The Stakes Are Rising Security breaches in software and mobile devices are making headline news and costing companies
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
Secure Software Programming and Vulnerability Analysis
Secure Software Programming and Vulnerability Analysis Christopher Kruegel [email protected] http://www.auto.tuwien.ac.at/~chris Testing and Source Code Auditing Secure Software Programming 2 Overview
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
Interactive Application Security Testing (IAST)
WHITEPAPER Interactive Application Security Testing (IAST) The World s Fastest Application Security Software Software affects virtually every aspect of an individual s finances, safety, government, communication,
Application Security in the Software Development Lifecycle
Application Security in the Software Development Lifecycle Issues, Challenges and Solutions www.quotium.com 1/15 Table of Contents EXECUTIVE SUMMARY... 3 INTRODUCTION... 4 IMPACT OF SECURITY BREACHES TO
White Paper. Automating Your Code Review: Moving to a SaaS Model for Application Security
White Paper Automating Your Code Review: Moving to a SaaS Model for Application Security Contents Overview... 3 Executive Summary... 3 Code Review and Security Analysis Methods... 5 Source Code Review
Minimizing code defects to improve software quality and lower development costs.
Development solutions White paper October 2008 Minimizing code defects to improve software quality and lower development costs. IBM Rational Software Analyzer and IBM Rational PurifyPlus software Kari
A Test Suite for Basic CWE Effectiveness. Paul E. Black. [email protected]. http://samate.nist.gov/
A Test Suite for Basic CWE Effectiveness Paul E. Black [email protected] http://samate.nist.gov/ Static Analysis Tool Exposition (SATE V) News l We choose test cases by end of May l Tool output uploaded
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,
Development Testing for Agile Environments
Development Testing for Agile Environments November 2011 The Pressure Is On More than ever before, companies are being asked to do things faster. They need to get products to market faster to remain competitive
Software Security Analysis - Execution Phase Audit
Software Security Analysis - Execution Phase Audit Bengt Carlsson * and Dejan Baca # * School of Engineering, Blekinge Institute of Technology ; PO Box 520, S-372 25 Ronneby, SWEDEN; bengt.carlsson;@bth.se
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.
IBM Rational AppScan: Application security and risk management
IBM Software Security November 2011 IBM Rational AppScan: Application security and risk management Identify, prioritize, track and remediate critical security vulnerabilities and compliance demands 2 IBM
Using the Juliet Test Suite to compare Static Security Scanners
Using the Juliet Test Suite to compare Static Security Scanners Andreas Wagner 1, Johannes Sametinger 2 1 GAM Project, IT Solutions, Schwertberg, Austria 2 Dept. of Information Systems Software Engineering,
Seven Practical Steps to Delivering More Secure Software. January 2011
Seven Practical Steps to Delivering More Secure Software January 2011 Table of Contents Actions You Can Take Today 3 Delivering More Secure Code: The Seven Steps 4 Step 1: Quick Evaluation and Plan 5 Step
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
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
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
Optimizing Network Vulnerability
SOLUTION BRIEF Adding Real-World Exposure Awareness to Vulnerability and Risk Management Optimizing Network Vulnerability Management Using RedSeal november 2011 WHITE PAPER RedSeal Networks, Inc. 3965
Verification and Validation of Software Components and Component Based Software Systems
Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research [email protected]
How to Avoid an Attack - Security Testing as Part of Your Software Testing Process
How to Avoid an Attack - Security Testing as Part of Your Software Testing Process Recent events in the field of information security, which have been publicized extensively in the media - such as the
Sandy. The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis. Garage4Hackers
Sandy The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis About Me! I work as a Researcher for a Global Threat Research firm.! Spoke at the few security
The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.
This sample report is published with prior consent of our client in view of the fact that the current release of this web application is three major releases ahead in its life cycle. Issues pointed out
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
Source Code Security Analysis Tool Functional Specification Version 1.0
Special Publication 500-268 Source Code Security Analysis Tool Functional Specification Version 1.0 Paul E. Black Michael Kass Michael Koo Software Diagnostics and Conformance Testing Division Information
KASPERSKY SECURITY INTELLIGENCE SERVICES. EXPERT SERVICES. www.kaspersky.com
KASPERSKY SECURITY INTELLIGENCE SERVICES. EXPERT SERVICES www.kaspersky.com EXPERT SERVICES Expert Services from Kaspersky Lab are exactly that the services of our in-house experts, many of them global
How To Choose the Right Vendor Information you need to select the IT Security Testing vendor that is right for you.
Information you need to select the IT Security Testing vendor that is right for you. Netragard, Inc Main: 617-934- 0269 Email: [email protected] Website: http://www.netragard.com Blog: http://pentest.netragard.com
Cisco Security Optimization Service
Cisco Security Optimization Service Proactively strengthen your network to better respond to evolving security threats and planned and unplanned events. Service Overview Optimize Your Network for Borderless
Coverity White Paper. Effective Management of Static Analysis Vulnerabilities and Defects
Effective Management of Static Analysis Vulnerabilities and Defects Introduction According to a recent industry study, companies are increasingly expanding their development testing efforts to lower their
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
APPLETS AND NETWORK SECURITY: A MANAGEMENT OVERVIEW
84-10-25 DATA SECURITY MANAGEMENT APPLETS AND NETWORK SECURITY: A MANAGEMENT OVERVIEW Al Berg INSIDE Applets and the Web, The Security Issue, Java: Secure Applets, Java: Holes and Bugs, Denial-of-Service
Network and Host-based Vulnerability Assessment
Network and Host-based Vulnerability Assessment A guide for information systems and network security professionals 6600 Peachtree-Dunwoody Road 300 Embassy Row Atlanta, GA 30348 Tel: 678.443.6000 Toll-free:
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
CDM Vulnerability Management (VUL) Capability
CDM Vulnerability Management (VUL) Capability Department of Homeland Security Office of Cybersecurity and Communications Federal Network Resilience Vulnerability Management Continuous Diagnostics and Mitigation
DISCOVERY OF WEB-APPLICATION VULNERABILITIES USING FUZZING TECHNIQUES
DISCOVERY OF WEB-APPLICATION VULNERABILITIES USING FUZZING TECHNIQUES By Michael Crouse Dr. Errin W. Fulp, Ph.D., Advisor Abstract The increasingly high volume of users on the web and their use of web
Evaluating Intrusion Detection Systems without Attacking your Friends: The 1998 DARPA Intrusion Detection Evaluation
Evaluating Intrusion Detection Systems without Attacking your Friends: The 1998 DARPA Intrusion Detection Evaluation R. K. Cunningham, R. P. Lippmann, D. J. Fried, S. L. Garfinkel, I. Graf, K. R. Kendall,
A PRACTICAL APPROACH TO INCLUDE SECURITY IN SOFTWARE DEVELOPMENT
A PRACTICAL APPROACH TO INCLUDE SECURITY IN SOFTWARE DEVELOPMENT Chandramohan Muniraman, University of Houston-Victoria, [email protected] Meledath Damodaran, University of Houston-Victoria, [email protected]
WHITE PAPER AUTOMATED, REAL-TIME RISK ANALYSIS AND REMEDIATION
WHITE PAPER AUTOMATED, REAL-TIME RISK ANALYSIS AND REMEDIATION Table of Contents Executive Summary...3 Vulnerability Scanners Alone Are Not Enough...3 Real-Time Change Configuration Notification is the
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.
Using Static Code Analysis Tools for Detection of Security Vulnerabilities
Using Static Code Analysis Tools for Detection of Security Vulnerabilities Katerina Goseva-Popstajanova & Andrei Perhinschi Lane Deptartment of Computer Science and Electrical Engineering West Virginia
ASL IT SECURITY XTREME XPLOIT DEVELOPMENT
ASL IT SECURITY XTREME XPLOIT DEVELOPMENT V 2.0 A S L I T S e c u r i t y P v t L t d. Page 1 Overview: The most dangerous threat is the one which do not have a CVE. Until now developing reliable exploits
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
G- Cloud Specialist Cloud Services. Security and Penetration Testing. Overview
Description C Service Overview G- Cloud Specialist Cloud Services Security and Penetration Testing This document provides a description of TVS s Security and Penetration Testing Service offered under the
Assuring Application Security: Deploying Code that Keeps Data Safe
Assuring Application Security: Deploying Code that Keeps Data Safe Assuring Application Security: Deploying Code that Keeps Data Safe 2 Introduction There s an app for that has become the mantra of users,
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
How to Instrument for Advanced Web Application Penetration Testing
How to Instrument for Advanced Web Application Penetration Testing Table of Contents 1 Foreword... 3 2 Problem... 4 3 Background... 4 3.1 Dynamic Application Security Testing (DAST)... 4 3.2 Static Application
Securing PHP Based Web Application Using Vulnerability Injection
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 3, Number 5 (2013), pp. 391-398 International Research Publications House http://www. irphouse.com /ijict.htm Securing
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
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
Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction
Software Testing Rajat Kumar Bal Introduction In India itself, Software industry growth has been phenomenal. IT field has enormously grown in the past 50 years. IT industry in India is expected to touch
White Paper. Guide to PCI Application Security Compliance for Merchants and Service Providers
White Paper Guide to PCI Application Security Compliance for Merchants and Service Providers Contents Overview... 3 I. The PCI DSS Requirements... 3 II. Compliance and Validation Requirements... 4 III.
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
Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP
Threat Modeling Categorizing the nature and severity of system vulnerabilities John B. Dickson, CISSP What is Threat Modeling? Structured approach to identifying, quantifying, and addressing threats. Threat
WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats
WHITE PAPER FortiWeb and the OWASP Top 10 PAGE 2 Introduction The Open Web Application Security project (OWASP) Top Ten provides a powerful awareness document for web application security. The OWASP Top
Evaluation of Web Security Mechanisms Using Inline Scenario & Online Scenario
Evaluation of Web Security Mechanisms Using Inline Scenario & Online Scenario M. Durai Ganesh (Research Scholars) Information Technology, St. Peter s University, Chennai- 54, Tamil Nadu, India Dr. G.Gunasekaran,
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
PENETRATION TESTING GUIDE. www.tbgsecurity.com 1
PENETRATION TESTING GUIDE www.tbgsecurity.com 1 Table of Contents What is a... 3 What is the difference between Ethical Hacking and other types of hackers and testing I ve heard about?... 3 How does a
HP Fortify application security
HP Fortify application security Erik Costlow Enterprise Security The problem Cyber attackers are targeting applications Networks Hardware Applications Intellectual Property Security Measures Switch/Router
What is Web Security? Motivation
[email protected] http://www.brucker.ch/ Information Security ETH Zürich Zürich, Switzerland Information Security Fundamentals March 23, 2004 The End Users View The Server Providers View What is Web
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
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
Passing PCI Compliance How to Address the Application Security Mandates
Passing PCI Compliance How to Address the Application Security Mandates The Payment Card Industry Data Security Standards includes several requirements that mandate security at the application layer. These
SAVMDS: A Software Application Vulnerability Management Dashboard System
, July 2-4, 2014, London, U.K. SAVMDS: A Software Application Vulnerability Management Dashboard System Mauranda Elliott, Huiming Yu, Xiaohong Yuan and Justin Zhan Abstract-A vulnerability management tool,
Protect the data that drives our customers business. Data Security. Imperva s mission is simple:
The Imperva Story Who We Are Imperva is the global leader in data security. Thousands of the world s leading businesses, government organizations, and service providers rely on Imperva solutions to prevent
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
AUTOMATIC DETECTION OF VULNERABILITY IN WRAPPED PACKAGES IN ORACLE
AUTOMATIC DETECTION OF VULNERABILITY IN WRAPPED PACKAGES IN ORACLE Presenters: Yaron Gur-Arieh Nikita Zubrilov Ilya Kolchinsky The Problem Our Project Deals With One of the key threats to the security
Extreme Networks Security Analytics G2 Vulnerability Manager
DATA SHEET Extreme Networks Security Analytics G2 Vulnerability Manager Improve security and compliance by prioritizing security gaps for resolution HIGHLIGHTS Help prevent security breaches by discovering
IBM Advanced Threat Protection Solution
IBM Advanced Threat Protection Solution Fabio Panada IBM Security Tech Sales Leader 1 Advanced Threats is one of today s key mega-trends Advanced Threats Sophisticated, targeted attacks designed to gain
The Cyber Threat Profiler
Whitepaper The Cyber Threat Profiler Good Intelligence is essential to efficient system protection INTRODUCTION As the world becomes more dependent on cyber connectivity, the volume of cyber attacks are
============================================================= =============================================================
Stephan Lantos Subject: FW: @RISK: The Consensus Security Vulnerability Alert: Vol. 13, Num. 23 In partnership with SANS and Sourcefire, Qualys is pleased to provide you with the @RISK Newsletter. This
SECURITY B-SIDES: ATLANTA STRATEGIC PENETRATION TESTING. Presented by: Dave Kennedy Eric Smith
SECURITY B-SIDES: ATLANTA STRATEGIC PENETRATION TESTING Presented by: Dave Kennedy Eric Smith AGENDA Penetration Testing by the masses Review of current state by most service providers Deficiencies in
A Study on the Security aspects of Network System Using Penetration Testing
A Study on the Security aspects of Network System Using Penetration Testing 1 Shwetabh Suman, 2 Vedant Rastogi 1,2 Institute of Engineering and Technology, Alwar, India 1 [email protected] 2 [email protected]
Secure in 2010? Broken in 2011!
Secure in 2010? Broken in 2011! Matias Madou Principal Security Researcher Abstract In 2010, a security research firm stumbled on a couple of vulnerabilities in Apache OFBiz, a widely used open source
Software Application Control and SDLC
Software Application Control and SDLC Albert J. Marcella, Jr., Ph.D., CISA, CISM 1 The most effective way to achieve secure software is for its development life cycle processes to rigorously conform to
What Do You Mean My Cloud Data Isn t Secure?
Kaseya White Paper What Do You Mean My Cloud Data Isn t Secure? Understanding Your Level of Data Protection www.kaseya.com As today s businesses transition more critical applications to the cloud, there
How I Learned to Stop Fuzzing and Find More Bugs
How I Learned to Stop Fuzzing and Find More Bugs Jacob West Fortify Software August 3-5, 2007 Las Vegas Agenda Introduction to fuzzing What is fuzzing? Challenges with fuzzing Introduction to static analysis
Network- vs. Host-based Intrusion Detection
Network- vs. Host-based Intrusion Detection A Guide to Intrusion Detection Technology 6600 Peachtree-Dunwoody Road 300 Embassy Row Atlanta, GA 30348 Tel: 678.443.6000 Toll-free: 800.776.2362 Fax: 678.443.6477
Software Code Quality Checking (SCQC) No Clearance for This Secret: Information Assurance is MORE Than Security
Software Code Quality Checking (SCQC) No Clearance for This Secret: Information Assurance is MORE Than Security Nominee International Security Executives (ISE ) Information Security Project of the Year
Background. How much does EMET cost? What is the license fee? EMET is freely available from Microsoft without material cost.
Microsoft s Enhanced Mitigation Experience Toolkit (EMET) is an enhancement to the Windows operating system that stops broad classes of malware from executing. EMET implements a set of anti-exploitation
Be Fast, but be Secure a New Approach to Application Security July 23, 2015
Be Fast, but be Secure a New Approach to Application Security July 23, 2015 Copyright 2015 Vivit Worldwide Copyright 2015 Vivit Worldwide Brought to you by Copyright 2015 Vivit Worldwide Hosted by Paul
The Dirty Little Secret of Software Pricing
WHITEPAPER The Dirty Little Secret of Software Pricing Stan Schneider Mr. Customer, our price is $13,349 dollars per floating development seat. Larger teams need more support, so we charge 20% maintenance
PATROL From a Database Administrator s Perspective
PATROL From a Database Administrator s Perspective September 28, 2001 Author: Cindy Bean Senior Software Consultant BMC Software, Inc. 3/4/02 2 Table of Contents Introduction 5 Database Administrator Tasks
Application Security in the Software Development Life Cycle (SDLC) White Paper
Application Security in the Software Development Life Cycle (SDLC) White Paper Table of Contents Executive Summary... 3 The Rush to Get Applications to Web, Cloud and Mobile... 3 Issues in Software Development...
KEN VAN WYK. Fundamentals of Secure Coding and how to break Software MARCH 19-23, 2007 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 ROME (ITALY)
TECHNOLOGY TRANSFER PRESENTS KEN VAN WYK Fundamentals of Secure Coding and how to break Software MARCH 19-23, 2007 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 ROME (ITALY) [email protected] www.technologytransfer.it
Application Security Testing How to find software vulnerabilities before you ship or procure code
Application Security Testing How to find software vulnerabilities before you ship or procure code Anita D Amico, Ph.D. Hassan Radwan 1 Overview Why Care About Application Security? Quality vs Security
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
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
