What is Fuzzing: The Poet, the Courier, and the Oracle
|
|
|
- Violet Hutchinson
- 10 years ago
- Views:
Transcription
1 What is Fuzzing: The Poet, the Courier, and the Oracle Fuzzing is well established as an excellent technique for locating vulnerabilities in software. The basic premise is to deliver intentionally malformed input to target software and detect failure. A complete fuzzer has three components. A poet creates the malformed inputs or test cases. A courier delivers test cases to the target software. Finally, an oracle detects if a failure has occurred in the target. Fuzzing is a crucial tool in software vulnerability management, both for organizations that build software as well as organizations that use software. January 7, 2015 Jonathan Knudsen Principal Security Engineer Mikko Varpiola Founder 1
2 Table of Contents 1. Fuzzing in the Context of Software Testing Positive and Negative Testing Software Vulnerabilities Black, White, and Gray Box Testing Static and Dynamic Testing What is Fuzzing? Zooming Out: Vulnerability Management Zooming All the Way Out: Risk Management The Poet Random Template Generational Evolutionary The Courier Network Protocol Fuzzing File Fuzzing API Fuzzing User Interface Fuzzing.8 4. The Oracle Types of Failures Traditional Oracles Eyeballs Valid Case or Functional Resource Monitoring Advanced Oracles External Dynamic Binary Source Code Instrumentation Functional and Behavioral Checks Wrap Up
3 1. Fuzzing in the Context of Software Testing Fuzz testing, or fuzzing, is a type of software testing in which deliberately malformed or unexpected inputs are delivered to target software to see if failure occurs. In this paper, we use software to mean anything that is compiled from source code into executable code that runs on some sort of processor, including operating systems, desktop applications, server applications, mobile applications, embedded system firmware, systems on a chip, and more. When a piece of software fails accidentally due to unexpected or malformed input, it is a robustness problem. In addition, a diverse cast of miscreants actively seeks to make software fail by delivering unexpected or malformed inputs. When software fails due to deliberate attack, it is a security problem. A software failure that causes harm or death to humans is a safety problem. Robustness, security, and safety are three faces of the same hobgoblin, software bugs. A bug is a mistake made by a developer; under the right conditions, the bug is triggered and the software does something it was not supposed to do. Improving robustness, security, and safety is a matter of finding and fixing bugs Positive and Negative Testing Historically, software testing has focused on functionality. Does the software work the way it s supposed to work? In functional testing, a type of positive testing, test developers create code and frameworks that deliver valid inputs to the target software and check for the correct output. For example, if we press the big red button (deliver an input), does the software turn on the city s power grid (correct output)? In a traditional software development methodology, the software design is a list of requirements for the target software. The test development team has a fairly straightforward task of translating the design requirements into test cases to verify that the software is performing as described in the specification. Functional testing is certainly important the target software must behave as expected when presented with valid inputs. However, software that is only subjected to positive testing will fail easily when released into a chaotic and hostile world. The real world is a mess. It is full of unexpected conditions and badly formed inputs. Software must be able to deal with other software and people who will supply poorly formed inputs, perform actions in unexpected order, and generally misuse the software. Negative testing is the process of sending incorrect or unexpected inputs to software and checking for failure. Be aware that different negative test tools will produce different results for the same test target. Each tool works differently and will test different kinds of badly formed inputs on the target software Software Vulnerabilities Bugs are also known as code vulnerabilities. In the world of software, vulnerabilities come in three flavors: 1. Design vulnerabilities are problems with the design of the software itself. For example, a banking website that does not require users to authenticate has a serious design vulnerability. In general, design vulnerabilities must be hunted and killed by humans automated tools simply do not exist at this level. 2. Configuration vulnerabilities occur when the setup of a piece of software has exposed a vulnerability. For example, deploying a database with default (factory-installed) administration credentials is a configuration vulnerability. While there are some automated tools that can assist in locating configuration vulnerabilities, much of the seek-anddestroy work must be performed by humans. 3. Code vulnerabilities are bugs. Positive testing, with manually coded test cases, can be used to find and fix bugs related to functionality. Negative testing, which can be heavily 3
4 automated, can be used to improve the robustness and security of the software. In addition, software vulnerabilities are unknown, zero day, or known. 1. An unknown vulnerability is dormant. It has not been discovered by anyone. 2. A zero day vulnerability has been unveiled by one person or a team or organization. A zero day vulnerability is not published. The builder and users of the affected software are most likely unaware of the vulnerability. No fixes or countermeasures are available. 3. A known vulnerability is published. Responsible vendors release new versions or patches for their software to address known vulnerabilities. While fuzzing is typically used for locating unknown code vulnerabilities, it can also trigger vulnerabilities caused by poor design or configuration Black, White, and Gray Box Testing In black box testing, the test tool does not have any knowledge of the internals of the target. The tool interacts with the target solely through external interfaces. By contrast, a white box tool makes use of the target s source code to search for vulnerabilities. White box testing encompasses static techniques, such as source code scanning as well as dynamic testing, in which the source code has been instrumented and rebuilt for better target monitoring. Gray box tools combine black box and white box techniques. These tools interact with the target through its external interfaces, but also make use of the source code for additional insight. Fuzzing can be black box or gray box testing. This flexibility makes fuzzing an extremely useful tool for testing software, regardless of the availability of source code or detailed internal information. As a black box technique, fuzzing is useful to anyone who wants to understand the real life robustness and reliability of the systems they are operating or planning to deploy. It also is the reason why fuzzing is the number one technique used by black hat operatives and hackers to find software vulnerabilities. Even without source code, the ability to more closely monitor the vitals of the target software improves the quality of the testing. Log files, process information, and resource usage provide valuable information that can be used during fuzzing to understand how the anomalous inputs are affecting the target system. If the source code is available, debugger tooling and other instrumentation can be used to make fuzzing a gray box technique. This improves the accuracy of the tests and allows more rapid resolution of located defects Static and Dynamic Testing Vulnerabilities are pursued using both static and dynamic testing techniques. A mature development process should leverage a variety of static and dynamic techniques in order to drive risk down to the desired level. This section highlights common static and dynamic software testing techniques, one of which is fuzzing. Static techniques can be used without actually running the target software. They include the following: 1. Source code reviews are carried out by developers. They read through the source code and look for unknown vulnerabilities. While this can be effective, it is very slow and success depends heavily upon the skill of the reviewers. 2. Automated source code analysis tools scan the target source code and report on patterns of programming that might be vulnerabilities. A human developer must review the results of this scan. 3. Static binary analysis tools scan compiled (executable) code and report on contained libraries and associated known vulnerabilities. 4
5 Dynamic test techniques are performed on the target software as it is running and include the following: 1. Load testing delivers large and numerous inputs to the target software to see if it fails due to heavy volume. 2. Interoperability testing validates that two implementations are able to converse using a specified protocol, language, or notation. 3. Conformance testing validates that tested system and its behavior conforms to relevant specifications. 4. Fuzzing delivers anomalous inputs to software to see if failure occurs. It is an excellent method for locating unknown vulnerabilities What is Fuzzing? Fuzzing is the process of sending intentionally malformed inputs to a piece of software to see if it fails. Each malformed input is a test case. Failure indicates a found bug, which can then be fixed to improve the robustness and security of the target software. A fuzzer is a piece of software that tests a piece of target software. A proper fuzzer consists of three components: 1. The poet is responsible for creating the test cases. The poet is also known as the test case generator, test case engine, or anomalizer. 2. The courier sends the test cases to the target. The courier is also known as the injector, delivery mechanism, or test driver. 3. The oracle determines if the target has failed. Not all fuzzers implement all three parts, but to harness the power of automated fuzzing, all parts should be present. When using fuzzers to improve robustness and security, the end goal is not just finding bugs, but fixing bugs. A useful fuzzer must keep records, produce actionable reports, and provide a smooth remediation process to reproduce failures so that they can be fixed Zooming Out: Vulnerability Management A fuzzer will not solve all of your problems. It must be part of an arsenal of tools and part of a process for software vulnerability management. Other tools that you might also use for software vulnerability management are as follows: Manual security reviews Reverse engineering Static binary code analysis Known vulnerability scanning Patch management tools Fuzz testing 1.7. Zooming All the Way Out: Risk Management Software vulnerability management is part of a larger picture - risk management. An organization seeking to lower, or at least understand, its overall risk will use software vulnerability management in conjunction with other risk management techniques. Fuzzing is a powerful technique for assessing the robustness and security of software, which is directly related to risk. Now that you understand who uses fuzzing, how fuzzing relates to other software testing techniques, and where fuzzing is used in the world of vulnerability management, we will move ahead by discussing techniques and algorithms used in fuzzing. 2. The Poet Fuzzing is an infinite space problem. For any piece of software, the set of invalid inputs is unbounded. An effective poet must be clever enough to craft test cases that are most likely to trigger bugs in the target software. In essence, this comes down to having a poet that creates test cases that are close to what the target expects, but malformed in some way. 5
6 The method of generating test cases has a profound effect on the quality of the test case material Random The simplest yet least effective fuzzing method is random fuzzing. The poet simply uses random data as test cases. Random fuzzing is usually ineffective because the test cases are nothing like valid input. The target examines and quickly rejects the test cases. For the most part, the test cases fail to penetrate into the target code. In theory, a random poet will eventually produce a test case that resembles valid input. However, even with relatively short valid inputs, the probabilities of producing a mostly correct test case are very low, which makes the time required to wait for such a test case very long Template A template poet introduces anomalies into valid inputs to create test cases. In general, template test cases are much more effective than random test cases because they are mostly correct. The target software will process test cases and the anomalies exercise the target s ability to handle unexpected or malformed inputs in a safe, robust, and secure manner. Getting started with template fuzzing is usually quick, as suitable template files or network captures are often readily available. Also, a template poet is easily adjustable for target software that uses unexpected or non-standard elements in its input. However, template poets have significant limitations. First, for protocols that include some kind of integrity validation, like message checksums, testing effectiveness will be limited. The template poet will introduce anomalies, but does not know to update checksums. The template poet can create millions of test cases for the target, but if the integrity checks don t pass, the target software will not bother trying to parse the rest of the messages and the corresponding parsing code remains untested. Second, for protocols that include stateful features, a template poet has the same kind of problem. The template poet does not understand the semantics of the protocol and will blindly replay its anomalized valid messages. It cannot correctly set stateful features like session identifiers, so its effectiveness in testing such protocols is limited. Finally, for protocols that are partially or completely encrypted, a template poet cannot be used directly. If unencrypted valid messages can be obtained, the template poet can create test cases that can be subsequently piped through an external encryption mechanism for delivery to the target. Template fuzzing is often limited by the availability of good templates. The quality of the used templates dictates the quality of the results. Modern template fuzzers can overcome many of the aforementioned limitations. For example, Codenomicon s Traffic Capture Fuzzer (TCF) is a template fuzzer that creates test cases based on a packet capture file (pcap). TCF consults a traffic analyzer to see if the packet capture file can be dissected. If it can, TCF uses the information supplied by the protocol dissector, specifically message structure and field boundary information, to create a better-focused set of test cases resulting in more effective testing. In addition, TCF is able to correctly calculate length and checksum fields for many protocols, greatly increasing its effectiveness. Codenomicon s Defensics Universal Fuzzer (DUF) is another example of an enhanced template fuzzer. DUF uses a collection of valid files (a corpus) as the basis of test cases. DUF analyzes the valid files to infer their structure and create high-quality test cases for the target. 6
7 Corpus distillation is a method for overcoming some of the limitations of template-based fuzzing related to quality of the templates. Corpus distillation finds and selects the templates that will be used to create test cases. The basic technique is to select valid cases that best represent the protocol or file format overall. For example, in a protocol with multiple message types, the templates selected should include all message types. For a file format with optional parts, good templates should include all optional features Generational A generational poet understands the protocol, file format, or API that it tests. This means it knows every possible structure and message type, all the fields in every message, and rules about how messages are exchanged. Because the generational poet knows all the rules, it can systematically break all the rules. Furthermore, because the generational fuzzer has full knowledge of the protocol or input type, it can correctly handle the things that confound a template poet. A generational fuzzer can keep track of stateful features like session identifiers and it can correctly set values like checksums that can be a limiting factor for other fuzzing techniques. A generational poet creates high-quality test material that looks legitimate to the target. For protocols with multiple-message conversations, this allows the generational fuzzer to exchange several valid messages with a target, driving it to a certain state, before delivering the anomalized test case. Codenomicon s Defensics fuzzing platform has more than 250 generational fuzzers for a wide variety of network protocols and file formats Evolutionary An evolutionary poet uses feedback about the target s behavior to influence how subsequent test cases are created. Some measurement related to the target s response to test cases is used to score test cases that have already been sent to the target. The poet creates more test cases based on the highest-scoring previous test cases. A pure evolutionary fuzzer is a black box fuzzer. Supplied with a destination address and port, the evolutionary fuzzer sends increasingly relevant inputs to the target, based solely on the target s response. Defensics uses evolutionary methods to shape its test material. An interoperability scan discovers which features are implemented in a target, then configures the test suite so that only the implemented features are tested. 3. The Courier The courier is responsible for delivering the test cases created by the poet to the target software. Fuzzing encompasses a variety of disciplines, each with their own challenges Network Protocol Fuzzing One common application for fuzzing is network protocol testing. A protocol is a set of rules for how different pieces of software communicate over a network. The code that interprets protocol messages is an attack vector. Fuzzing is an excellent technique for locating unknown vulnerabilities in protocol-handling code. Testing network software is further divided into fuzzing different roles and types of components. Many protocols include concepts of client and server, where the client initiates a connection and the server responds. In server testing, the job of the courier is straightforward. The target software listens for incoming connections. All the courier has to do is make a connection to the target server and send a test case. Client testing is often more complicated. The courier must act like the server, listening for incoming connections. Each time the target client makes a connection to the courier, the courier responds 7
8 with a test case. Usually, the client needs to be encouraged to repeatedly make connections to the courier so that the courier can continue to deliver test cases. End to end or pass-through testing is another variety. Some network components are not directly addressable, but they do examine network traffic as it passes through. A good example is a firewall with network address translation (NAT) and application layer gateways (ALG) to support voice over IP (VoIP) interactions. To test such a component, the fuzzer is placed on one side and some terminating software is placed on the far side. The fuzzer courier delivers test cases through the target to the terminator. The terminator needs to respond appropriately to the courier and needs to be robust enough to handle the test case material without failing File Fuzzing In file fuzzing, intentionally malformed files are delivered to a piece of software. The courier s job here is hard to define, as different pieces of software do not consume files in any standardized way. Sometimes the best method is to write a custom wrapper or code that facilitates effectively feeding the test cases to the target. Codenomicon s Defensics file fuzzers offer a variety of open-ended delivery options. Test cases can be written to the file system for later delivery, they can be sent over network connections, they can be delivered to specific commands, or they can be served up by a built-in HTTP Server API Fuzzing API fuzzing is a different animal in which the various methods or functions of an Application Programming Interface (API) are tested to see how they respond to malformed input. The courier in this case must create source code from the test cases, compile (if appropriate) and run the code, and then see if a failure occurs. be considered protocol fuzzing User Interface Fuzzing Many pieces of software offer a user interface (UI) so that humans can see information and provide input. Input can be provided using a keyboard, a keypad, a mouse, or some other method. UI fuzzing is the process of providing unexpected or malformed inputs to the UI. For example, in an application on a traditional desktop, a fuzzer might deliver mouse clicks on opposite sides of the screen at nearly the same time. Most modern operating systems and programming environments provide a programmatic way to deliver input events so that such testing can be accomplished entirely in software. However, for some smaller devices, the only way to fuzz user input is to use a mechanical device capable of pressing buttons. 4. The Oracle The oracle determines whether a test case passes or fails. It checks the target to see if a failure has occurred. Knowing when a failure has occurred is crucial to the success of fuzzing. It doesn t do any good to cause failure in your target software if you can t make it fail reproducibly so that it can be fixed. This section describes several approaches to the oracle challenge. The good news is that multiple approaches can be combined. Using multiple methods to check for target failure increases the likelihood of detecting failures when they occur. Note that remote procedure call APIs such as DCERPC, SunRPC, and Java RMI fall under network protocol fuzzing. Similarly, XML/ SOAP and more modern RESTful/JSON based remote APIs should 8
9 4.1. Types of Failures Software fails when it behaves in a way its creators did not intend or anticipate. In traditionally applied fuzzing, failure modes come in four categories: Crashes Endless loops Resource leaks or shortages Unexpected behavior These failure modes vary based on type of the system or software being tested, the underlying operating system, and more. A crash might be just a crash, or it might lead to a denial of service of the target, degraded performance, information leakage, security compromise, or something else. The consequences depend on the purpose and function of the software, where and when it is operated, and so on. The job of the oracle is to detect failure. With such a wide range of failure modes, this is not an easy job! 4.2. Traditional Oracles The field of fuzzing continues evolving rapidly and one current area of innovation is the oracle. This section describes traditional approaches to monitoring a target during fuzz testing Eyeballs Even in an age of heavily automated testing, human observation still has high value and should not be underestimated. A human who understands the target software can observe its functionality and monitor vital signs such as log files and resource usage, noticing things and drawing conclusions in a way that is very hard to automate. Of course, human observation is expensive and does not scale well to dozens of targets or weeks of testing. For test setup and initial testing, human observation is an excellent oracle technique Valid Case or Functional A valid case oracle checks the health of the target by sending valid input and looking for a valid and timely functional response. This can be done after the courier delivers each test case. If a test case causes a failure that makes the target unable to respond to valid input, the oracle will find out right away. A valid case oracle has the following advantages: It is simple and easy to automate. It is a black box technique; it can be used without knowing anything about the source code or internal workings of the target. It is focused. For example, when fuzzing HTTP on a Web server with multiple open ports and protocols, using a valid case oracle with valid HTTP messages is a good way to make sure that the HTTP server process is still running. A valid case oracle will let you know if there is a crash or freeze in your target. However, the valid case oracle cannot see more subtle signs of trouble such as memory leaks, unusual resource consumption, assertion failures, and more. Codenomicon Defensics includes extensive support for valid case oracles in its test suites Resource Monitoring Another useful technique that can be automated and generalized for multiple types of targets is resource monitoring. As fuzz test cases are presented to the target, the oracle examines the usage of memory, disk space, processing power, and other resources to look for anything out of the ordinary. For targets that support Simple Network Management Protocol (SNMP), an oracle can retrieve SNMP values related to resource usage and other vital signs during fuzzing. Such an oracle allows straightforward use for any target supporting SNMP. Codenomicon Defensics includes support both for browsing and selecting SNMP values as well as built-in automated support for 9
10 using an SNMP oracle. The diagram (Refer to Figure 1) shows a graph of resource consumption during fuzz testing Dynamic Binary One of the strengths of fuzzing is that it is a black box technique you can fuzz software even when you don t have the source code. Even without source code, some advanced methods are available for examining the target software as it s running Advanced Oracles Better monitoring of a target results in more accurate detection of vulnerabilities and quicker resolution. This section lists some powerful approaches to the oracle challenge in fuzzing External Figure 1: Resource Monitoring Because software targets come in all shapes and sizes, it s impossible to make a generalized oracle that works for everything. The valid case oracle works well because it uses the same interface that s being tested. Target-specific oracles usually have to be created on a case-bycase basis. When this happens, it s important that your fuzzer makes it easy to integrate the oracle you ve created. Codenomicon Defensics provides a mechanism called external instrumentation in which it will call a user-supplied script to determine if a failure has occurred on the target. This mechanism is invoked after every test case so that when a failure occurs, the test case that caused it can be identified and run again. External instrumentation scripts can examine log files, monitor resource usage, check on processes, or do anything else that can be scripted. Tools like strace, for example, can show how the target software interacts with the underlying operating system. Dynamic Binary Instrumentation (DBI) is a promising technique in which executable code can be modified on the fly to allow detailed examination of its workings without the need for source code. Microsoft s PageHeap is a tool that enables heap allocation monitoring for any executable code Source Code Instrumentation If you do have the source code available, other advanced oracular techniques are available to detect failures. Depending on your fuzzer and the technique you re using, you might be able to integrate these oracles into the fuzzing process to detect failures precisely. If you build the target software with debugging symbols, you ll be able to run the target in a debugger such as gdb. Among other things, this will show you when assertions fail, which might or might not indicate some kind of failure. Furthermore, errors that are hidden by poor use of trycatch structures can be revealed when running software in a debugger. Similarly, target software compiled with debugging symbols can be run with valgrind s memcheck tool to analyze memory use and check for errors. Target software built with AddressSanitizer (ASan) will quickly expose memory usage errors. Other types of target instrumentation might also be available. 10
11 Functional and Behavioral Checks Certain attack vectors can be examined during fuzz testing to detect functional failures. For example, while fuzzing TLS messages, it s an obvious functional failure if the fuzzer supplies bad authentication credentials, but the target allows the fuzzer access anyhow. Depending on the attack vector, a variety of functional checks can be implemented, including authentication bypass, code injection, message amplification, and more. For functional checks to be possible the fuzzer must already have a complete model and grammar of the tested protocol or file format, which means the fuzzer must be generational. Codenomicon discovered Heartbleed while adding such functional checks (called SafeGuard) to its TLS fuzzer. The following screenshot (Refer to Figure 2) shows a section of a Defensics test log in which the Heartbleed vulnerability has been detected in target software. cases. A courier delivers test cases to the target software. Finally, an oracle detects target failures. Different fuzzing techniques have a significant effect on fuzzing effectiveness. For the most part, the poet is more effective when it is able to create test cases that are almost correct, but anomalous in some way. Different oracle techniques provide varying levels of failure detection capability. Multiple oracle techniques can be used together to help detect the maximum number of failures. Fuzzing is a crucial tool in software vulnerability management, both for organizations that create software as well as organizations that use software. Fuzzing must be deployed as part of a process. Builders use fuzzing as an integral part of a Secure Development Life Cycle, while buyers use fuzzing as a crucial tool in verification and validation. Financially speaking, fuzzing saves money simply because it is much less expensive to fix bugs earlier rather than later. Bugs that are fixed before deployment or product release are no big deal. Bugs that are located and possibly exploited in production scenarios can be hugely expensive. In the broader context of risk management, finding and fixing bugs proactively with fuzzing provides protection against other types of damage. If a bug in your product leads to a catastrophic failure or a massive data breach, your reputation might not recover and your legal liability could be insurmountable. If you provide a service, such as healthcare, power, communications, or another critical infrastructure, bugs in the products you re using could lead to human harm or environmental damage. Figure 2: Functional and Behavioral Checks Finding and fixing bugs saves money, protects your customers and your reputation, and in many cases, saves lives. 5. Wrap Up Fuzzing is an excellent technique for locating vulnerabilities in software. The basic premise is to deliver intentionally malformed input to target software and detect failure. A complete fuzzer has three components. A poet creates the malformed inputs or test For more information about fuzz testing theory or Codenomicon s fuzz testing solutions, please contact us at [email protected] or visit us at 11
Peach Fuzzer Platform
Fuzzing is a software testing technique that introduces invalid, malformed, or random data to parts of a computer system, such as files, network packets, environment variables, or memory. How the tested
Automating Security Testing. Mark Fallon Senior Release Manager Oracle
Automating Security Testing Mark Fallon Senior Release Manager Oracle Some Ground Rules There are no silver bullets You can not test security into a product Testing however, can help discover a large percentage
Server Security. Contents. Is Rumpus Secure? 2. Use Care When Creating User Accounts 2. Managing Passwords 3. Watch Out For Aliases 4
Contents Is Rumpus Secure? 2 Use Care When Creating User Accounts 2 Managing Passwords 3 Watch Out For Aliases 4 Deploy A Firewall 5 Minimize Running Applications And Processes 5 Manage Physical Access
The Advantages of Block-Based Protocol Analysis for Security Testing
The Advantages of Block-Based Protocol Analysis for Security Testing Dave Aitel Immunity,Inc. 111 E. 7 th St. Suite 64, NY NY 10009, USA [email protected] February, 4 2002 Abstract. This paper describes
Information Supplement: Requirement 6.6 Code Reviews and Application Firewalls Clarified
Standard: Data Security Standard (DSS) Requirement: 6.6 Date: February 2008 Information Supplement: Requirement 6.6 Code Reviews and Application Firewalls Clarified Release date: 2008-04-15 General PCI
How To Protect A Web Application From Attack From A Trusted Environment
Standard: Version: Date: Requirement: Author: PCI Data Security Standard (PCI DSS) 1.2 October 2008 6.6 PCI Security Standards Council Information Supplement: Application Reviews and Web Application Firewalls
Sygate Secure Enterprise and Alcatel
Sygate Secure Enterprise and Alcatel Sygate Secure Enterprise eliminates the damage or loss of information, cost of recovery, and regulatory violation due to rogue corporate computers, applications, and
Where every interaction matters.
Where every interaction matters. Peer 1 Vigilant Web Application Firewall Powered by Alert Logic The Open Web Application Security Project (OWASP) Top Ten Web Security Risks and Countermeasures White Paper
Security Event Management. February 7, 2007 (Revision 5)
Security Event Management February 7, 2007 (Revision 5) Table of Contents TABLE OF CONTENTS... 2 INTRODUCTION... 3 CRITICAL EVENT DETECTION... 3 LOG ANALYSIS, REPORTING AND STORAGE... 7 LOWER TOTAL COST
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
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
A Decision Maker s Guide to Securing an IT Infrastructure
A Decision Maker s Guide to Securing an IT Infrastructure A Rackspace White Paper Spring 2010 Summary With so many malicious attacks taking place now, securing an IT infrastructure is vital. The purpose
Penetration Testing Report Client: Business Solutions June 15 th 2015
Penetration Testing Report Client: Business Solutions June 15 th 2015 Acumen Innovations 80 S.W 8 th St Suite 2000 Miami, FL 33130 United States of America Tel: 1-888-995-7803 Email: [email protected]
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
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
ETHICAL HACKING 010101010101APPLICATIO 00100101010WIRELESS110 00NETWORK1100011000 101001010101011APPLICATION0 1100011010MOBILE0001010 10101MOBILE0001
001011 1100010110 0010110001 010110001 0110001011000 011000101100 010101010101APPLICATIO 0 010WIRELESS110001 10100MOBILE00010100111010 0010NETW110001100001 10101APPLICATION00010 00100101010WIRELESS110
Network Instruments white paper
Network Instruments white paper USING A NETWORK ANALYZER AS A SECURITY TOOL Network Analyzers are designed to watch the network, identify issues and alert administrators of problem scenarios. These features
Telecom Testing and Security Certification. A.K.MITTAL DDG (TTSC) Department of Telecommunication Ministry of Communication & IT
Telecom Testing and Security Certification A.K.MITTAL DDG (TTSC) Department of Telecommunication Ministry of Communication & IT 1 Need for Security Testing and Certification Telecom is a vital infrastructure
Using WebLOAD to Monitor Your Production Environment
Using WebLOAD to Monitor Your Production Environment Your pre launch performance test scripts can be reused for post launch monitoring to verify application performance. This reuse can save time, money
Goals. Understanding security testing
Getting The Most Value From Your Next Network Penetration Test Jerald Dawkins, Ph.D. True Digital Security p. o. b o x 3 5 6 2 3 t u l s a, O K 7 4 1 5 3 p. 8 6 6. 4 3 0. 2 5 9 5 f. 8 7 7. 7 2 0. 4 0 3
Demystifying the Myth of Passive Network Discovery and Monitoring Systems
Demystifying the Myth of Passive Network Discovery and Monitoring Systems Ofir Arkin Chief Technology Officer Insightix Copyright 2012 - All Rights Reserved. This material is proprietary of Insightix.
Cisco IPS Tuning Overview
Cisco IPS Tuning Overview Overview Increasingly sophisticated attacks on business networks can impede business productivity, obstruct access to applications and resources, and significantly disrupt communications.
AIRDEFENSE SOLUTIONS PROTECT YOUR WIRELESS NETWORK AND YOUR CRITICAL DATA SECURITY AND COMPLIANCE
AIRDEFENSE SOLUTIONS PROTECT YOUR WIRELESS NETWORK AND YOUR CRITICAL DATA SECURITY AND COMPLIANCE THE CHALLENGE: SECURE THE OPEN AIR Wirelesss communication lets you take your business wherever your customers,
On-Premises DDoS Mitigation for the Enterprise
On-Premises DDoS Mitigation for the Enterprise FIRST LINE OF DEFENSE Pocket Guide The Challenge There is no doubt that cyber-attacks are growing in complexity and sophistication. As a result, a need has
Alert (TA14-212A) Backoff Point-of-Sale Malware
Alert (TA14-212A) Backoff Point-of-Sale Malware Original release date: July 31, 2014 Systems Affected Point-of-Sale Systems Overview This advisory was prepared in collaboration with the National Cybersecurity
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
Web Application Security
Chapter 1 Web Application Security In this chapter: OWASP Top 10..........................................................2 General Principles to Live By.............................................. 4
Cyber Essentials. Test Specification
Cyber Essentials Test Specification Contents Scope of the Audit...2 Assumptions...3 Success Criteria...3 External systems...4 Required tests...4 Test Details...4 Internal systems...7 Tester pre-requisites...8
ensuring security the way how we do it
ensuring security the way how we do it HUSTEF, 2015.11.18 Attila Tóth 1 Nokia Solutions and Networks 2014 Disclaimer The ideas, processes, tools are presented from a practitioner s point of view working
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 4 Finding Network Vulnerabilities
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 4 Finding Network Vulnerabilities Learning Objectives Name the common categories of vulnerabilities Discuss common system
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
The Trivial Cisco IP Phones Compromise
Security analysis of the implications of deploying Cisco Systems SIP-based IP Phones model 7960 Ofir Arkin Founder The Sys-Security Group [email protected] http://www.sys-security.com September 2002
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda 1. Introductions for new members (5 minutes) 2. Name of group 3. Current
Making Database Security an IT Security Priority
Sponsored by Oracle Making Database Security an IT Security Priority A SANS Whitepaper November 2009 Written by Tanya Baccam Security Strategy Overview Why a Database Security Strategy? Making Databases
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
Web Application Penetration Testing
Web Application Penetration Testing 2010 2010 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property. Will Bechtel [email protected]
CPA SECURITY CHARACTERISTIC SECURE VOIP CLIENT
26579500 CPA SECURITY CHARACTERISTIC SECURE VOIP CLIENT Version 2.0 Crown Copyright 2013 All Rights Reserved UNCLASSIFIED Page 1 About this document This document describes the features, testing and deployment
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
Web Applications Testing
Web Applications Testing Automated testing and verification JP Galeotti, Alessandra Gorla Why are Web applications different Web 1.0: Static content Client and Server side execution Different components
THE TOP 4 CONTROLS. www.tripwire.com/20criticalcontrols
THE TOP 4 CONTROLS www.tripwire.com/20criticalcontrols THE TOP 20 CRITICAL SECURITY CONTROLS ARE RATED IN SEVERITY BY THE NSA FROM VERY HIGH DOWN TO LOW. IN THIS MINI-GUIDE, WE RE GOING TO LOOK AT THE
Acano solution. Security Considerations. August 2015 76-1026-01-E
Acano solution Security Considerations August 2015 76-1026-01-E Contents Contents 1 Introduction... 3 2 Acano Secure Development Lifecycle... 3 3 Acano Security Points... 4 Acano solution: Security Consideration
How To Prevent Hacker Attacks With Network Behavior Analysis
E-Guide Signature vs. anomaly-based behavior analysis News of successful network attacks has become so commonplace that they are almost no longer news. Hackers have broken into commercial sites to steal
Advantages of Amanda over Proprietary Backup
Advantages of Amanda over Proprietary Backup Gregory Grant Revision 02 Abstract This white paper discusses how Amanda compares to other backup products. It will help you understand some key Amanda differences,
AIRDEFENSE SOLUTIONS PROTECT YOUR WIRELESS NETWORK AND YOUR CRITICAL DATA SECURITY AND COMPLIANCE
AIRDEFENSE SOLUTIONS PROTECT YOUR WIRELESS NETWORK AND YOUR CRITICAL DATA SECURITY AND COMPLIANCE THE CHALLENGE: SECURE THE OPEN AIR Wirelesss communication lets you take your business wherever your customers,
10 Configuring Packet Filtering and Routing Rules
Blind Folio 10:1 10 Configuring Packet Filtering and Routing Rules CERTIFICATION OBJECTIVES 10.01 Understanding Packet Filtering and Routing 10.02 Creating and Managing Packet Filtering 10.03 Configuring
SY0-201. system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users.
system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users. From a high-level standpoint, attacks on computer systems and networks can be grouped
Chapter 7 Information System Security and Control
Chapter 7 Information System Security and Control Essay Questions: 1. Hackers and their companion viruses are an increasing problem, especially on the Internet. What can a digital company do to protect
1 hours, 30 minutes, 38 seconds Heavy scan. All scanned network resources. Copyright 2001, FTP access obtained
home Network Vulnerabilities Detail Report Grouped by Vulnerability Report Generated by: Symantec NetRecon 3.5 Licensed to: X Serial Number: 0182037567 Machine Scanned from: ZEUS (192.168.1.100) Scan Date:
Network Security Policy
Network Security Policy I. PURPOSE Attacks and security incidents constitute a risk to the University's academic mission. The loss or corruption of data or unauthorized disclosure of information on campus
SANS Top 20 Critical Controls for Effective Cyber Defense
WHITEPAPER SANS Top 20 Critical Controls for Cyber Defense SANS Top 20 Critical Controls for Effective Cyber Defense JANUARY 2014 SANS Top 20 Critical Controls for Effective Cyber Defense Summary In a
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
Release Notes for Epilog for Windows Release Notes for Epilog for Windows v1.7/v1.8
Release Notes for Epilog for Windows v1.7/v1.8 InterSect Alliance International Pty Ltd Page 1 of 22 About this document This document provides release notes for Snare Enterprise Epilog for Windows release
Secure Web Development Teaching Modules 1. Security Testing. 1.1 Security Practices for Software Verification
Secure Web Development Teaching Modules 1 Security Testing Contents 1 Concepts... 1 1.1 Security Practices for Software Verification... 1 1.2 Software Security Testing... 2 2 Labs Objectives... 2 3 Lab
Testing Intelligent Device Communications in a Distributed System
Testing Intelligent Device Communications in a Distributed System David Goughnour (Triangle MicroWorks), Joe Stevens (Triangle MicroWorks) [email protected] United States Smart Grid systems
Configuring Security for FTP Traffic
2 Configuring Security for FTP Traffic Securing FTP traffic Creating a security profile for FTP traffic Configuring a local traffic FTP profile Assigning an FTP security profile to a local traffic FTP
Firewalls and Software Updates
Firewalls and Software Updates License This work by Z. Cliffe Schreuders at Leeds Metropolitan University is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. Contents General
GUI Test Automation How-To Tips
www. routinebot.com AKS-Labs - Page 2 - It s often said that First Impression is the last impression and software applications are no exception to that rule. There is little doubt that the user interface
Getting started with API testing
Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...
PCI Security Scan Procedures. Version 1.0 December 2004
PCI Security Scan Procedures Version 1.0 December 2004 Disclaimer The Payment Card Industry (PCI) is to be used as a guideline for all entities that store, process, or transmit Visa cardholder data conducting
Automotive Ethernet Security Testing. Alon Regev and Abhijit Lahiri
Automotive Ethernet Security Testing Alon Regev and Abhijit Lahiri 1 Automotive Network Security Cars are evolving Number of ECUs, sensors, and interconnects is growing Moving to Ethernet networks utilizing
Potential Targets - Field Devices
Potential Targets - Field Devices Motorola Field Devices: Remote Terminal Units ACE 3600 Front End Devices ACE IP Gateway ACE Field Interface Unit (ACE FIU) 2 Credential Cracking Repeated attempts to
Evading Infrastructure Security Mohamed Bedewi Penetration Testing Consultant
Evading Infrastructure Security Mohamed Bedewi Penetration Testing Consultant What infrastructure security really means? Infrastructure Security is Making sure that your system services are always running
IBM Managed Security Services Vulnerability Scanning:
IBM Managed Security Services August 2005 IBM Managed Security Services Vulnerability Scanning: Understanding the methodology and risks Jerry Neely Network Security Analyst, IBM Global Services Page 2
Application Firewall Overview. Published: February 2007 For the latest information, please see http://www.microsoft.com/iag
Application Firewall Overview Published: February 2007 For the latest information, please see http://www.microsoft.com/iag Contents IAG Application Firewall: An Overview... 1 Features and Benefits... 2
Introducing IBM s Advanced Threat Protection Platform
Introducing IBM s Advanced Threat Protection Platform Introducing IBM s Extensible Approach to Threat Prevention Paul Kaspian Senior Product Marketing Manager IBM Security Systems 1 IBM NDA 2012 Only IBM
Who is Watching You? Video Conferencing Security
Who is Watching You? Video Conferencing Security Navid Jam Member of Technical Staff March 1, 2007 SAND# 2007-1115C Computer and Network Security Security Systems and Technology Video Conference and Collaborative
WiFi Security Assessments
WiFi Security Assessments Robert Dooling Dooling Information Security Defenders (DISD) December, 2009 This work is licensed under a Creative Commons Attribution 3.0 Unported License. Table of Contents
Blended Security Assessments
Blended Security Assessments Combining Active, Passive and Host Assessment Techniques October 12, 2009 (Revision 9) Renaud Deraison Director of Research Ron Gula Chief Technology Officer Table of Contents
From Network Security To Content Filtering
Computer Fraud & Security, May 2007 page 1/10 From Network Security To Content Filtering Network security has evolved dramatically in the last few years not only for what concerns the tools at our disposals
Exploratory Testing in an Agile Context
Exploratory Testing in an Agile Context A guide to using Exploratory Testing on Agile software development teams. Elisabeth Hendrickson 2 Exploratory Testing. So you bang on the keyboard randomly, right?
Building A Secure Microsoft Exchange Continuity Appliance
Building A Secure Microsoft Exchange Continuity Appliance Teneros, Inc. 215 Castro Street, 3rd Floor Mountain View, California 94041-1203 USA p 650.641.7400 f 650.641.7401 ON AVAILABLE ACCESSIBLE Building
Owner of the content within this article is www.isaserver.org Written by Marc Grote www.it-training-grote.de
Owner of the content within this article is www.isaserver.org Written by Marc Grote www.it-training-grote.de Microsoft Forefront TMG Using the BranchCache feature in Forefront TMG SP1 Abstract In this
N-CAP Users Guide Everything You Need to Know About Using the Internet! How Firewalls Work
N-CAP Users Guide Everything You Need to Know About Using the Internet! How Firewalls Work How Firewalls Work By: Jeff Tyson If you have been using the internet for any length of time, and especially if
Project Proposal Active Honeypot Systems By William Kilgore University of Advancing Technology. Project Proposal 1
Project Proposal Active Honeypot Systems By William Kilgore University of Advancing Technology Project Proposal 1 Project Proposal 2 Abstract Honeypot systems are readily used by organizations large and
SAFECode Security Development Lifecycle (SDL)
SAFECode Security Development Lifecycle (SDL) Michael Howard Microsoft Matthew Coles EMC 15th Semi-annual Software Assurance Forum, September 12-16, 2011 Agenda Introduction to SAFECode Security Training
IS L06 Protect Servers and Defend Against APTs with Symantec Critical System Protection
IS L06 Protect Servers and Defend Against APTs with Symantec Critical System Protection Description Lab flow At the end of this lab, you should be able to Discover how to harness the power and capabilities
The Advantages of a Firewall Over an Interafer
FIREWALLS VIEWPOINT 02/2006 31 MARCH 2006 This paper was previously published by the National Infrastructure Security Co-ordination Centre (NISCC) a predecessor organisation to the Centre for the Protection
White Paper. The Ten Features Your Web Application Monitoring Software Must Have. Executive Summary
White Paper The Ten Features Your Web Application Monitoring Software Must Have Executive Summary It s hard to find an important business application that doesn t have a web-based version available and
defending against advanced persistent threats: strategies for a new era of attacks agility made possible
defending against advanced persistent threats: strategies for a new era of attacks agility made possible security threats as we know them are changing The traditional dangers IT security teams have been
Clearswift SECURE File Gateway
Security solutions for a changing world You wouldn t leave your front door unlocked if you were going out for the day, so why do the same with your business? In today s rapidly evolving business environment,
Cisco Advanced Malware Protection Sandboxing Capabilities
White Paper Cisco Advanced Malware Protection Sandboxing Capabilities What You Will Learn How sandboxing is a key part of network security when it operates as an integrated component of a complete solution.
Inventory and Analytics for Browser-based Applications in the Enterprise
Inventory and Analytics for Browser-based Applications in the Enterprise Introduction Times are changing. Desktop and client/server business applications (collectively referred to as native applications
ACHILLES CERTIFICATION. SIS Module SLS 1508
ACHILLES CERTIFICATION PUBLIC REPORT Final DeltaV Report SIS Module SLS 1508 Disclaimer Wurldtech Security Inc. retains the right to change information in this report without notice. Wurldtech Security
The Importance of Cybersecurity Monitoring for Utilities
The Importance of Cybersecurity Monitoring for Utilities www.n-dimension.com Cybersecurity threats against energy companies, including utilities, have been increasing at an alarming rate. A comprehensive
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
The Evolving Threat Landscape and New Best Practices for SSL
The Evolving Threat Landscape and New Best Practices for SSL sponsored by Dan Sullivan Chapter 2: Deploying SSL in the Enterprise... 16 Infrastructure in Need of SSL Protection... 16 Public Servers...
The Nexpose Expert System
Technical Paper The Nexpose Expert System Using an Expert System for Deeper Vulnerability Scanning Executive Summary This paper explains how Rapid7 Nexpose uses an expert system to achieve better results
Application Denial of Service Is it Really That Easy?
Application Denial of Service Is it Really That Easy? Shay Chen Agenda Introduction to Denial of Service Attacks Application Level DoS Techniques Case Study Denial of Service Testing Mitigation Summary
SAST, DAST and Vulnerability Assessments, 1+1+1 = 4
SAST, DAST and Vulnerability Assessments, 1+1+1 = 4 Gordon MacKay Digital Defense, Inc. Chris Wysopal Veracode Session ID: Session Classification: ASEC-W25 Intermediate AGENDA Risk Management Challenges
Bug hunting. Vulnerability finding methods in Windows 32 environments compared. FX of Phenoelit
Bug hunting Vulnerability finding methods in Windows 32 environments compared FX of Phenoelit The goal: 0day What we are looking for: Handles network side input Runs on a remote system Is complex enough
Vulnerability management lifecycle: defining vulnerability management
Framework for building a vulnerability management lifecycle program http://searchsecurity.techtarget.com/magazinecontent/framework-for-building-avulnerability-management-lifecycle-program August 2011 By
Managed Service Plans
Managed Service Plans www.linkedtech.com 989.837.3060 989.832.2802 fax Managed Information Technology Services System downtime, viruses, spy ware, losses of productivity Are the computer systems you rely
SysPatrol - Server Security Monitor
SysPatrol Server Security Monitor User Manual Version 2.2 Sep 2013 www.flexense.com www.syspatrol.com 1 Product Overview SysPatrol is a server security monitoring solution allowing one to monitor one or
AN OVERVIEW OF VULNERABILITY SCANNERS
AN OVERVIEW OF VULNERABILITY SCANNERS 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
THE ROLE OF IDS & ADS IN NETWORK SECURITY
THE ROLE OF IDS & ADS IN NETWORK SECURITY The Role of IDS & ADS in Network Security When it comes to security, most networks today are like an egg: hard on the outside, gooey in the middle. Once a hacker
Guidelines for Web applications protection with dedicated Web Application Firewall
Guidelines for Web applications protection with dedicated Web Application Firewall Prepared by: dr inŝ. Mariusz Stawowski, CISSP Bartosz Kryński, Imperva Certified Security Engineer INTRODUCTION Security
