SSVChecker: Unifying Static Security Vulnerability Detection Tools in an Eclipse Plug-In
|
|
|
- Augustus Douglas
- 10 years ago
- Views:
Transcription
1 SSVChecker: Unifying Static Security Vulnerability Detection Tools in an Eclipse Plug-In Josh Dehlinger Dept. of Computer Science Iowa State University Qian Feng ABC Virtual Communications Lan Hu Dept. of Computer Science Utah State University ABSTRACT The increasing complexity of secure software applications has given rise to static analysis security tools to alert developers to potential security flaws within source code. However, these static security vulnerability detection tools tend to be difficult to use and are not integrated with common software development environments. The contribution of this work is SSVChecker, an Eclipse plug-in that unifies existing static security vulnerability detection tools into a powerful, intuitive tool. We make three fundamental claims for SSVChecker. First, it contains functionality not found in other static security vulnerability detection tools (e.g., union and intersection of multiple tool results). Second, the tool can adapt to the results of userperformed analysis to prevent repeatedly reporting user-dismissed security vulnerabilities. Lastly, it operates on a user-friendly, generic framework allowing for the inclusion of future static security vulnerability detection tools. To illustrate these claims, we use SSVChecker on a security-sensitive networking package. Results show the benefits of the tool in identifying potential security vulnerabilities. Categories and Subject Descriptors D.2.4 [Software Engineering]: Software/Program Verification Validation. General Terms Security Keywords Software security, secure programming, security auditing 1. INTRODUCTION The necessity for software developers to consistently produce secure code for security-critical software applications continues to increase as software becomes progressively more immersed in our lives (e.g., e-commerce, online banking, etc.). The recent surge of interest in developing and improving security vulnerability tools Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Eclipse Technology Exchange Workshop at OOPSLA 06, October 22 23, 2006, Portland, OR, USA. Copyright 2006 ACM /00/0004 $5.00. is one response by which researchers are trying to cope with the demand for secure applications. Despite existing security vulnerability detection tools (e.g. RATS [10], ITS4 [14], Splint [12], MOPS [2], etc.), extensive software security literature (e.g., [3, 11, 13]) and documented security attacks used to exploit software systems (e.g., [1, 7, 8, 9]), a large amount of software produced continues to have security vulnerabilities that have been repeatedly exploited for nearly 20 years (e.g., the format-string vulnerability in C) [8, 9, 16]. Potential security vulnerabilities are often introduced into software by commonly used library functions and languagespecific constructs unknowingly by software developers [4]. There are two likely contributing factors as to why software developers have failed to adequately mitigate known security vulnerabilities in today s software. First, software developers may not be aware that they are introducing potentially devastating security vulnerabilities into software [4, 14]. This likely stems from a lack of education and awareness of common software attacks and proper secure programming. Second, software developers do not have adequate, easy-to-use tools in a familiar environment containing desired features to flag potential security risks in their developed code and provide explanations and possible solutions during development [4, 14]. If software developers were warned of potential security vulnerabilities, provided with an explanation and given possible remedies within a software IDE, we believe that even novice software developers could produce applications devoid of commonly exploited, known security vulnerabilities. Until then, it is futile to expect secure software in everyday applications. This work addresses these two problems by providing a tool that alerts software developers to potential security vulnerabilities in their source code. Moreover, we hope to bridge the gap between existing static analysis security vulnerability detection tools and software developers by unifying existing security vulnerability detection tools into a single interface, SSVChecker (Static Security Vulnerability Checker). SSVChecker is an Eclipse plug-in to fuse existing static security vulnerability detection tools into a powerful, developer-friendly tool. Specifically, SSVChecker offers three fundamental advantages to static analysis security vulnerability detection: Provides features not found in other security vulnerability detections tools (e.g., union and intersection of multiple tool results) that better aids developers in identifying potential security vulnerabilities. Adapts to the results of user-performed analysis, without altering the original source code, to prevent repeatedly
2 <?xml version="1.0"?> <Vulnerability-List> <Vulnerability> <Filename>C:\its4\inet.c</Filename> <Line-Number>92</Line-Number> <Priority>Very Risky</Priority> <Function>strcpy</Function> <Source-Code>strcpy(name, np->n_name);</source-code> <Description>This function is high risk for buffer overflows.</description> <Suggestion>Use strncpy instead.</suggestion> </Vulnerability> </Vulnerability-List> Figure 1. SSVChecker s XML format for potential security vulnerabilities. reporting user-dismissed security vulnerabilities allowing developers to concentrate on those flagged security vulnerabilities that still warrant attention. Operates on a user-friendly, generic framework allowing the inclusion of future static security vulnerability detection tools. The remainder of this paper is organized as follows. Section 2 reviews related work in existing static security vulnerability detection tools. Section 3 presents an overview of SSVChecker and describes its interface. Section 4 presents an evaluation and discussion of SSVChecker. Finally, Section 5 provides concluding remarks and planned future work. 2. RELATED WORK Static analysis security tools attempt to find security vulnerabilities without executing the software by scanning the source code for known potentially security-compromising functions. They then perform analyses to try to determine if, indeed, a function call could be maliciously attacked. These tools can not guarantee to find all security vulnerabilities in a program and often report many false positives (those potential vulnerabilities reported by a tool which are not actual vulnerabilities). This work illustrates SSVChecker by integrating three existing static security vulnerability detection tools into an Eclipse plug-in: ITS4 [14], RATS [10] and Splint [12]. Although these tools were used here to illustrate the features of SSVChecker, Section 3 briefly discusses how SSVChecker can be used with any static security vulnerability detection tool because of the use of a generalized XML format for security vulnerabilities. ITS4 was one of the first available static security analysis tools to search C source code looking for potentially dangerous function calls [14]. ITS4 performs limited analysis to determine how risky a function call is and, for every problem reported provides suggestions how to mitigate the security vulnerability. RATS is similar to ITS4 in its approach but performs additional analysis to attempt to reduce the number of false positives reported [10]. Unlike ITS4, however, RATS performs analysis to discover Time Of Check, Time Of Use race conditions. Splint (Secure Programming Lint) is an improvement over another static security analysis tool, Lint [12] that does additional analysis on potential security vulnerabilities beyond both ITS4 and RATS. Other tools perform different analysis techniques to try and discover a different type of security vulnerability or eliminate a different type of false positives. For example, BOON [15] performs analysis focusing primarily on the detection of the buffer overflow security vulnerability whereas FlawFinder [5] uses a vulnerability database as does ITS4 and RATS. Thus, different tools often produce different sets of results. SSVChecker allows users to exploit the differences in analysis by providing the potential security vulnerabilities of multiple tools results. 3. SSVCHECKER DESCRIPTION This section provides an overview and description of the interface and features of SSVChecker. A full demonstration of SSVChecker is available online at /ssvchecker/ssvcheckerdemo.htm. SSVChecker relies on reading the results from external static analysis security vulnerability detection tools in an XML format, shown in Figure 1. Although existing tools do not provide output in this XML format, it is trivial to provide a wrapper to convert a tool s existing output to our XML schema. The XML schema was designed after studying the results produced by a number of existing tools (including ITS4 [14], RATS [10], Splint [12], FlawFinder [5], MOPS [2] and BOON [15]). This was done to generalize the results reported by the various static analysis security tools currently available and to give the software developer adequate information pertaining to a potential security vulnerability. The XML schema is also intended to generalize a file format in which future static analysis tools could produce output allowing SSVChecker to unify all static analysis security tools in a user-friendly software IDE. SSVChecker provides software developers with an interface within Eclipse to run existing static analysis security vulnerability detection tools (e.g., ITS4 [14], RATS [10] and Splint [12]) to find potential security vulnerabilities in source code during development. Within SSVChecker, software developers have the option of executing a single or multiple static analysis security vulnerability detection tools on the source code in development. Software developers electing to run a single static analysis security vulnerability detection tool within SSVChecker have access to all the features of the desired tool (i.e., parameters can still be provided to the tool to perform specialized/concentrated analysis). However, the software developer benefits by getting the results displayed in Eclipse for simultaneous viewing of the source code and flagged potential security vulnerabilities. Moreover, SSVChecker allows software developers to execute multiple static analysis security vulnerability detection tools and calculate and return either the union or intersection of the results. Users select the tools they desire to run on their source code and select intersection or union. SSVChecker will automatically execute the appropriate tools, calculate the intersection/union and present the results to the user within Eclipse.
3 Figure 2. SSVChecker s interface in Eclipse. Figure 2 presents a screenshot within the Eclipse IDE illustrating the results of running a single static analysis security vulnerability detection tool from SSVChecker. The results are presented in the Vulnerability Viewer allowing for each column to be sorted by the user. Double-clicking any potential vulnerability automatically focuses on the associated line of code, as shown in Figure 2. The Vulnerability Viewer, shown in Figure 2, provides a summary of the results by listing the number of vulnerabilities and ignored vulnerabilities, discussed next, above the list of potential security vulnerabilities. These features allow software developers to easily use static analysis security vulnerability detection tools to analyze their source code, quickly identify high priority potential security vulnerabilities and efficiently mitigate them using the provided suggestions. Thus, we envision SSVChecker as a tool that software developers can utilize on a semi-frequent basis much like a compiler, during security-critical software development. SSVChecker provides functionality to be able to adapt to the results of user-performed analysis to prevent repeatedly reporting user-dismissed security vulnerabilities. This allows developers to concentrate on those flagged security vulnerabilities that still warrant attention (analogous to Microsoft Word s Ignore Once option for misspelled words). To achieve this, SSVChecker provides users with the option of ignoring a potential vulnerability if the user has manually determined that the reported vulnerability does not pose a security risk. This prevents repeatedly drawing the developers attention to the same vulnerability on subsequent executions of SSVChecker. As shown in Figure 2, previously ignored vulnerabilities are filtered to the bottom of the list and are tagged as a warning (with a different icon). SSVChecker also provides users with the ability to stop ignoring (called Cancel Ignore ) a specific vulnerability as is shown in Figure EVALUATION AND DISCUSSION This section provides an evaluation of SSVChecker by examining the results of running three different static security vulnerability detection tools separately using SSVChecker and then using SSVChecker to calculate the intersection and union of the tools to justify the advantage of such features to a software developer. We evaluated SSVChecker using portions of the net-tools 1.46 networking package. Net-tools 1.46 is an open source package written in C for the Linux operating system consisting of several commands related to networking [6]. Specifically, we used SSVChecker on the netstat.c (approximately 1,400 LOC) and inet.c (approximately 400 LOC) files of the net-tools 1.46 package. 4.1 SSVChecker s Intersection and Union Results We provide the results and analysis from preliminary tests showing the results of using SSVChecker to calculate and return the intersection and union sets of potential security vulnerabilities on portions of the net-tools 1.46 package. The results, shown in Table 1 and discussed below, illustrate the value of SSVChecker s intersection/union calculation feature.
4 Table 1. Number of potential security vulnerabilities reported by various static security vulnerability detection tools as well as intersection/union results using SSVChecker. ITS4 RATS Splint ITS4 RATS ITS4 RATS ITS4 RATS Splint ITS4 RATS Splint inet.c netstat.c When using SSVChecker to run ITS4, RATS and Splint separately on the inet.c source file 12, 16 and 51 potential security vulnerabilities, respectively, were reported. For the netstat.c code 111, 94 and 485 potential security vulnerabilities were reported from ITS4, RATS and Splint, respectively, by SSVChecker. Retrieving the intersection of ITS4 and RATS for the inet.c code yielded 12 potential vulnerabilities. Unfortunately, this set represented the same 12 vulnerabilities originally reported by ITS4. Thus, for this particular file, the results reported by ITS4 were a subset of the results reported by RATS and the intersection feature of SSVChecker did not provide any additional insight or advantage for a software developer. Retrieving the intersection for ITS4 and RATS for the netstat.c code yielded in 66 potential vulnerabilities reported, representing a reduction of 45 and 28 possible security vulnerabilities from executing ITS4 and RATS separately, respectively. In this case, there were vulnerabilities reported by ITS4 that were not reported by RATS and vice versa. This reduction is advantageous in that it assists a software developer in identifying likely security vulnerabilities since more than one static security vulnerability detection tool, each using different analysis methods, flagged them as being a potential security vulnerability. Calculating the intersection of the ITS4, RATS and Splint results for the inet.c code yielded only 9 potential vulnerabilities. Likewise, using SSVChecker to calculate the intersection of the ITS4, RATS and Splint results for the netstat.c code yielded 43 potential security vulnerabilities and is discussed further in Section 4.2. Using SSVChecker to calculate the union of the ITS4 and RATS results for the inet.c and netstat.c source files yielded 16 and 139 potential security vulnerabilities, respectively. Similarly, the union set of potential vulnerabilities for ITS4, RATS and Splint for the inet.c and netstat.c source files are 58 and 581 potential security vulnerabilities, respectively. 4.2 Discussion From the experimental results, it appears that SSVChecker can benefit software developers when developing security-critical software. The convenience of a generalized tool allowing a developer to execute any existing static security vulnerability detection tools gives software developers the desired flexibility within the Eclipse IDE. Further, SSVChecker integrates the results of static security vulnerability detection tools to allow software developers to simultaneously view the source code and potential security vulnerabilities, allowing for a shorter vulnerability mitigation cycle. Through the evaluation results, we believe that SSVChecker s feature to calculate the intersection set of potential security vulnerabilities from the results of several executed tools can help software developers concentrate on an initial set of likely security vulnerabilities. Assuming that a security vulnerability is more likely an actual vulnerability if multiple tools flag it, SSVChecker s ability to calculate the intersection set provides software developers with a feature that is not found elsewhere. Thus, the calculation of intersection sets in SSVChecker provides developers with a useful asset during the development of securitycritical code or during a security audit/code review by circumventing the poor precision (i.e., the high rate of false positives) of a single static security vulnerability detection tool. The ability to calculate the union of potential security vulnerabilities in SSVChecker from the results of several executed tools may be valuable when security is a high priority and a listing of all possible vulnerabilities is more desirable than a list of likely security vulnerabilities. While the resulting union sets always increased the number of potential security vulnerabilities compared to the results of any single tool, it did not give any indication which potential security vulnerabilities were more or less likely to be actual vulnerabilities. Rather, the union set gave a more comprehensive list of potential security risks in the source code. This may be a valuable asset during code reviews or security audits when security is a high priority. Although not measured in the evaluation results, SSVChecker s ability to ignore previously flagged potential security vulnerabilities allows the tool to adapt to the manual analysis performed by the user so that they are not repeatedly bothered by previously dismissed flagged vulnerabilities. In our experience from using ITS4 and RATS when securing C code, repeatedly being warned about a specific potential security vulnerability even after, through a manual inspection of the code, we know it can not be exploited by a malicious user is annoying and distracting from those other potential vulnerabilities that still warrant our attention. Thus, we believe that the ability to temporarily ignore a vulnerability (and, thus, having SSVChecker filter it to the bottom of the list) is a valuable feature that focuses developers attention on those potential security vulnerabilities that have not yet been considered by other static security vulnerability detection tools. Finally, this work illustrated SSVChecker s application to C/C++ source code with static security vulnerability detection tools targeted for performing analysis to detect vulnerabilities in C/C++ code. However, there is nothing preventing SSVChecker from being applied in the same manner to other types of source code using static security vulnerability detection tools for other languages. For example, the Eclipse IDE can be used to develop an application in Python and SSVChecker can be used to execute RATS [10], which can also check for security vulnerabilities in Python, to identify and report potential security vulnerabilities.
5 5. CONCLUSION AND FUTURE WORK This paper described SSVChecker, an Eclipse plug-in to unify existing static security vulnerability detection tools into a powerful, developer-friendly tool. SSVChecker provides software developers the ability to analyze their code using existing static security vulnerability detection tools within the Eclipse IDE and displays the results in a familiar, customizable manner. This work bridges the gap between research-oriented, command-line-based, static security analysis tools and development IDE's so that both novice and advanced software developers can take advantage of security analysis tools when developing security-critical code. SSVChecker allows software developers to run either a single tool or multiple tools and provides a generic framework such that any existing or future static security vulnerability detection tool can be used within SSVChecker. When executing multiple tools, SSVChecker provides the user with the ability to return either an intersection or union of the results of multiple tools. This allows the software developer to view a narrowed set of likely security vulnerabilities (i.e., the intersection set of multiple tools) or a large set of possible security vulnerabilities (i.e., the union set of multiple tools). Finally, SSVChecker is able to adapt to userperformed analysis by temporarily ignoring previously reported security vulnerabilities so that the user s attention is focused on those security vulnerabilities not yet considered. Planned future work is threefold. First, SSVChecker was initially developed as a proof-of-concept tool. Thus, SSVChecker s calculation of intersection/union potential vulnerability sets of multiple tools is currently more time-consuming than necessary. Depending on the size of the source code and the number of tools selected to analyze the code and the number of potential security vulnerabilities, SSVChecker may take up to 10 seconds to display results. We have identified a number of areas in which SSVChecker efficiency can be improved so that its calculation of intersection/union sets is faster. Thus, our first planned future work includes tuning SSVChecker s efficiency as well as performing an analysis of the length of time required by SSVChecker to return intersection/union sets as the number of tools and vulnerabilities increase. We would like to keep the time performance fast enough that software developers will use SSVChecker during the development of security-critical code. Second, we plan on introducing SSVChecker into a classroom to study its use as a learning tool to teach secure programming practices to upper-level undergraduate students. We believe that its integration into the Eclipse IDE along with its ease-of-use can help novice developers with little security programming experience the ability to quickly adopt secure programming practices. By following the guidelines in the suggestions given by the static security vulnerability detection tools shown in SSVChecker s Vulnerability Viewer, their programs will be more secure. In this study, we would also like to identify how SSVChecker is used by novice software developers as well as its usefulness in producing secure code. In particular, the usefulness of the ability to calculate intersection/union sets of potential security vulnerabilities in identifying and prioritizing possible security vulnerabilities for the user. Finally, we would eventually like to include a Quick Fix feature (analogous to Eclipse s Quick Fix feature for some compiler errors). Such a feature could help expedite and partially automate the process of transforming insecure code to secure code. 6. ACKNOWLEDGEMENTS The authors would like to thank Dr. Suraj C. Kothari for his valuable suggestions throughout this work and Dr. Robyn R. Lutz for her helpful feedback on an earlier version of this work. Josh Dehlinger and Qian Feng were supported by the National Science Foundation under grants and REFERENCES [1] CERT Coordination Center. (current August 2006). [2] Chen, H. and Wagner, D. MOPS: Model Checking Programs for Security Properties. ~daw/mops/. [3] Engler, D., Chen, D. Y., Hallem, S., Chou, A. and Chelf, B. Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code. In Proc. 18 th ACM Symposium on Operating System Principles, pp , Banff, Alberta, Canada, [4] Evans, D. and Larochelle, D. Improving Security Using Extensible Lightweight Static Analysis. In IEEE Software, pp , January, [5] FlawFinder Home Page. flawfinder/. [6] Linux.com Net-tools. appendixa/net-tools.shtml. [7] Linux Security Resources The Community s Center for Security. content/view/101892/155/. [8] Microsoft TechNet Security Center. [9] Open Source Vulnerability Database. [10] RATS: Rough Auditing Tool for Security. [11] Seacord, R. C. Secure Coding in C and C++. Addison- Wesley Professional, [12] Splint: Secure Programming Lint. [13] Tsipenyuk, K., Chess, B. and McGraw, G. Seven Pernicious Kingdoms: A Taxonomy of Software Security Errors. In IEEE Security and Privacy, pp , [14] Viega, J., Bloch, J. T., Kohno, T. and McGraw, G. ITS4: A Static Vulnerability Scanner for C and C++ Code. In Proc. 16 th Computer Security Applications Conferences pp , New Orleans, LA, [15] Wagner, D. BOON: Buffer Overrun Detection. (current August 2006). [16] Wagner, D., Foster, J. S., Brewer, E. A. and Aiken, A. A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities. In Network and Distributed System Security Symposium, pp. 3-17, San Diego, CA, 2000.
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
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
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
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
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,
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
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
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.
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
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
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
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
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
INTRUSION PROTECTION AGAINST SQL INJECTION ATTACKS USING REVERSE PROXY
INTRUSION PROTECTION AGAINST SQL INJECTION ATTACKS USING REVERSE PROXY Asst.Prof. S.N.Wandre Computer Engg. Dept. SIT,Lonavala University of Pune, [email protected] Gitanjali Dabhade Monika Ghodake Gayatri
White Paper. Blindfolded SQL Injection
White Paper In the past few years, SQL Injection attacks have been on the rise. The increase in the number of Database based applications, combined with various publications that explain the problem and
Comparing Methods to Identify Defect Reports in a Change Management Database
Comparing Methods to Identify Defect Reports in a Change Management Database Elaine J. Weyuker, Thomas J. Ostrand AT&T Labs - Research 180 Park Avenue Florham Park, NJ 07932 (weyuker,ostrand)@research.att.com
Measuring the Attack Surfaces of SAP Business Applications
Measuring the Attack Surfaces of SAP Business Applications Pratyusa K. Manadhata 1 Yuecel Karabulut 2 Jeannette M. Wing 1 May 2008 CMU-CS-08-134 School of Computer Science Carnegie Mellon University Pittsburgh,
Developing Secure Software in a Agile environment
Developing Secure Software in a Agile environment Dejan Baca Email: [email protected] Blekinge school of Technology Ericsson AB Research planning Abstract Software developers can use agile software
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
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
Vulnerability Scanning & Management
Vulnerability Scanning & Management (An approach to managing the risk level of a vulnerability) Ziad Khalil 1, Mohamed Elammari 2 1 Higher Academy, 2 Rogue Wave Software Ottawa, Canada Abstract Vulnerability
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.
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
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
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
Software Vulnerability Assessment
Software Vulnerability Assessment Setup Guide Contents: About Software Vulnerability Assessment Setting Up and Running a Vulnerability Scan Manage Ongoing Vulnerability Scans Perform Regularly Scheduled
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.
How To Improve Your Software
Driving Quality, Security and Compliance in Third- Party Code Dave Gruber Director of Product Marketing, Black Duck Keri Sprinkle Sr Product Marketing Manager, Coverity Jon Jarboe Sr Technical Marketing
Software Vulnerability Detection using Backward Trace Analysis and Symbolic Execution
Software Vulnerability Detection using Backward Trace Analysis and Symbolic Execution Hongzhe Li, Taebeom Kim, Munkhbayar Bat-Erdene and Heejo Lee Div. of Computer and Communication Engineering Korea University
A Database Security Management White Paper: Securing the Information Business Relies On. November 2004
A Database Security Management White Paper: Securing the Information Business Relies On November 2004 IPLocks, Inc. 441-A W. Trimble Road, San Jose, CA 95131 USA A Database Security Management White Paper:
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
Realize That Big Security Data Is Not Big Security Nor Big Intelligence
G00245789 Realize That Big Security Data Is Not Big Security Nor Big Intelligence Published: 19 April 2013 Analyst(s): Joseph Feiman Security intelligence's ultimate objective, enterprise protection, is
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
Preventing and Detecting Plagiarism in Programming Course
, pp.269-278 http://dx.doi.org/10.14257/ijsia.2013.7.5.25 Preventing and Detecting Plagiarism in Programming Course Wang Chunhui, Liu Zhiguo and Liu Dongsheng Computer & Information Engineering College,
International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN: 2349-6495
International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] Survey on Automation Testing Tools for Mobile Applications Dr.S.Gunasekaran 1, V. Bargavi 2 1 Department
QualysGuard WAS. Getting Started Guide Version 3.3. March 21, 2014
QualysGuard WAS Getting Started Guide Version 3.3 March 21, 2014 Copyright 2011-2014 by Qualys, Inc. All Rights Reserved. Qualys, the Qualys logo and QualysGuard are registered trademarks of Qualys, Inc.
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
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
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,,
Intrusion Detection System Based Network Using SNORT Signatures And WINPCAP
Intrusion Detection System Based Network Using SNORT Signatures And WINPCAP Aakanksha Vijay M.tech, Department of Computer Science Suresh Gyan Vihar University Jaipur, India Mrs Savita Shiwani Head Of
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
Product Roadmap. Sushant Rao Principal Product Manager Fortify Software, a HP company
Product Roadmap Sushant Rao Principal Product Manager Fortify Software, a HP company Agenda Next Generation of Security Analysis Future Directions 2 Currently under investigation and not guaranteed to
SERENITY Pattern-based Software Development Life-Cycle
SERENITY Pattern-based Software Development Life-Cycle Francisco Sanchez-Cid, Antonio Maña Computer Science Department University of Malaga. Spain {cid, amg}@lcc.uma.es Abstract Most of current methodologies
Nessus Perimeter Service User Guide (HTML5 Interface) March 18, 2014 (Revision 9)
Nessus Perimeter Service User Guide (HTML5 Interface) March 18, 2014 (Revision 9) Table of Contents Introduction... 3 Nessus Perimeter Service... 3 Subscription and Activation... 3 Multi Scanner Support...
Framework for Injecting the Attacks and Analyzing the Behaviour of Vulnerability on Server s
Framework for Injecting the Attacks and Analyzing the Behaviour of Vulnerability on Server s Panchamukesh Ch #1, Kumar.J *2, Neelima.S *3, Sailaja.D *4 #1 Department of CSE, HITAM, Gowdavally, Hyderabad,
ADMO. Maintenance management solution for protection systems supporting NERC PRC-005 requirements
ADMO Maintenance management solution for protection systems supporting NERC PRC-005 requirements Keeping track with ADMO The challenge Proper functioning of the protection system with all its individual
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
QualysGuard WAS. Getting Started Guide Version 4.1. April 24, 2015
QualysGuard WAS Getting Started Guide Version 4.1 April 24, 2015 Copyright 2011-2015 by Qualys, Inc. All Rights Reserved. Qualys, the Qualys logo and QualysGuard are registered trademarks of Qualys, Inc.
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
Columbia University Web Security Standards and Practices. Objective and Scope
Columbia University Web Security Standards and Practices Objective and Scope Effective Date: January 2011 This Web Security Standards and Practices document establishes a baseline of security related requirements
Software Security Touchpoint: Architectural Risk Analysis
Software Security Touchpoint: Architectural Risk Analysis Gary McGraw, Ph.D. Chief Technology Officer, Cigital Founded in 1992 to provide software security and software quality professional services Recognized
HP Application Security Center
HP Application Security Center Web application security across the application lifecycle Solution brief HP Application Security Center helps security professionals, quality assurance (QA) specialists and
The Weakest Link: Mitigating Web Application Vulnerabilities. webscurity White Paper. webscurity Inc. Minneapolis, Minnesota USA
The Weakest Link: Mitigating Web Application Vulnerabilities webscurity White Paper webscurity Inc. Minneapolis, Minnesota USA January 25, 2007 Contents Executive Summary...3 Introduction...4 Target Audience...4
6. Exercise: Writing Security Advisories
CERT Exercises Toolset 49 49 6. Exercise: Writing Security Advisories Main Objective Targeted Audience Total Duration Time Schedule Frequency The objective of the exercise is to provide a practical overview
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
USING LOCAL NETWORK AUDIT SENSORS AS DATA SOURCES FOR INTRUSION DETECTION. Integrated Information Systems Group, Ruhr University Bochum, Germany
USING LOCAL NETWORK AUDIT SENSORS AS DATA SOURCES FOR INTRUSION DETECTION Daniel Hamburg,1 York Tüchelmann Integrated Information Systems Group, Ruhr University Bochum, Germany Abstract: The increase of
Website Security. End-to-End Application Security from the Cloud. Cloud-Based, Big Data Security Approach. Datasheet: What You Get. Why Incapsula?
Datasheet: Website Security End-to-End Application Security from the Cloud Unmatched web application security experience, enhanced by real-time big data analytics, enables Incapsula to provide best-ofbreed
Report Builder Easily create exportable reports
What s New in Destiny v7.0 Library Manager Media Manager Textbook Manager Asset Manager NEW! Flexible Reporting Power! Report Builder Easily create exportable reports LIBRARY MANAGER Powerful, Browser-Based
GAZETRACKERrM: SOFTWARE DESIGNED TO FACILITATE EYE MOVEMENT ANALYSIS
GAZETRACKERrM: SOFTWARE DESIGNED TO FACILITATE EYE MOVEMENT ANALYSIS Chris kankford Dept. of Systems Engineering Olsson Hall, University of Virginia Charlottesville, VA 22903 804-296-3846 [email protected]
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
SYMANTEC ENDPOINT PROTECTION SMALL BUSINESS EDITION
SYMANTEC ENDPOINT PROTECTION SMALL BUSINESS EDITION Frequently Asked Questions WHAT IS SYMANTEC ENDPOINT PROTECTION SMALL BUSINESS EDITION 1? Symantec Endpoint Protection Small Business Edition is built
The Reverse Firewall: Defeating DDOS Attacks Emanating from a Local Area Network
Pioneering Technologies for a Better Internet Cs3, Inc. 5777 W. Century Blvd. Suite 1185 Los Angeles, CA 90045-5600 Phone: 310-337-3013 Fax: 310-337-3012 Email: [email protected] The Reverse Firewall: Defeating
Running the SANS Top 5 Essential Log Reports with Activeworx Security Center
Running the SANS Top 5 Essential Log Reports with Activeworx Security Center Creating valuable information from millions of system events can be an extremely difficult and time consuming task. Particularly
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
IT Security & Compliance. On Time. On Budget. On Demand.
IT Security & Compliance On Time. On Budget. On Demand. IT Security & Compliance Delivered as a Service For businesses today, managing IT security risk and meeting compliance requirements is paramount
EXTRA. Vulnerability scanners are indispensable both VULNERABILITY SCANNER
Vulnerability scanners are indispensable both for vulnerability assessments and penetration tests. One of the first things a tester does when faced with a network is fire up a network scanner or even several
Protecting Database Centric Web Services against SQL/XPath Injection Attacks
Protecting Database Centric Web Services against SQL/XPath Injection Attacks Nuno Laranjeiro, Marco Vieira, and Henrique Madeira CISUC, Department of Informatics Engineering University of Coimbra, Portugal
Crowdsourcing suggestions to programming problems for dynamic web development languages
Crowdsourcing suggestions to programming problems for dynamic web development languages Dhawal Mujumdar School of Information University of California, Berkeley 102 South Hall Berkeley, CA 94720 [email protected]
Development and Industrial Application of Multi-Domain Security Testing Technologies. Innovation Sheet Model Inference Assisted Evolutionary Fuzzing
Development and Industrial Application of Multi-Domain Security Testing Technologies Innovation Sheet Model Inference Assisted Evolutionary Fuzzing Description The technique dynamically analyzes the application
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]
Federation Proxy for Cross Domain Identity Federation
Proxy for Cross Domain Identity Makoto Hatakeyama NEC Corporation, Common Platform Software Res. Lab. 1753, Shimonumabe, Nakahara-Ku, Kawasaki, Kanagawa 211-8666, Japan +81-44-431-7663 [email protected]
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
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
Authoring for System Center 2012 Operations Manager
Authoring for System Center 2012 Operations Manager Microsoft Corporation Published: November 1, 2013 Authors Byron Ricks Applies To System Center 2012 Operations Manager System Center 2012 Service Pack
Agile Development for Application Security Managers
Agile Development for Application Security Managers www.quotium.com When examining the agile development methodology many organizations are uncertain whether it is possible to introduce application security
Application Security: What Does it Take to Build and Test a Trusted App? John Dickson, CISSP Denim Group
Application Security: What Does it Take to Build and Test a Trusted App? John Dickson, CISSP Denim Group Overview What is Application Security? Examples of Potential Vulnerabilities Potential Strategies
Managing DICOM Image Metadata with Desktop Operating Systems Native User Interface
Managing DICOM Image Metadata with Desktop Operating Systems Native User Interface Chia-Chi Teng, Member, IEEE Abstract Picture Archiving and Communication System (PACS) is commonly used in the hospital
Recommended Practice Case Study: Cross-Site Scripting. February 2007
Recommended Practice Case Study: Cross-Site Scripting February 2007 iii ACKNOWLEDGEMENT This document was developed for the U.S. Department of Homeland Security to provide guidance for control system cyber
ON Semiconductor identified the following critical needs for its solution:
Microsoft Business Intelligence Microsoft Office Business Scorecards Accelerator Case study Harnesses the Power of Business Intelligence to Drive Success Execution excellence is an imperative in order
Information and Communication Technology. Patch Management Policy
BELA-BELA LOCAL MUNICIPALITY - - Chris Hani Drive, Bela- Bela, Limpopo. Private Bag x 1609 - BELA-BELA 0480 - Tel: 014 736 8000 Fax: 014 736 3288 - Website: www.belabela.gov.za - - OFFICE OF THE MUNICIPAL
