A Survey on Software Security Testing Techniques

Total Page:16

File Type:pdf, Size:1020Kb

A Survey on Software Security Testing Techniques International Journal of Computer Science and Telecommunications [Volume 4, Issue 4, April 2013] 14 A Survey on Software Security Testing Techniques ISSN 2047-3338 Abdullah Saad AL-Malaise AL-Ghamdi Department of Information Systems, Faculty of Computing & Information Technology, King Abdulaziz University, Kingdom of Saudi Arabia [email protected] Abstract– This article briefs a survey on software security software can be exploited by intruders to open security holes. techniques. Software security testing is not the identical as With the development of the Internet, software security testing the correctness and competence of security functions problems are becoming even more ruthless and excruciating. implemented by software, which are most frequently verified Many critical software applications and services need through requirements-based testing. These tests are important; integrated security measures against malicious attacks. The they expose only a small piece of the depiction needed to verify the security of the software. Security testing is necessary because purpose of security testing of these systems include it has a distinct relationship with software quality. Software identifying and removing software flaws that may potentially meets quality requirements related to functionality and guide to security violations, and validating the effectiveness performance, it does not necessary mean that the software is of security measures. secure. A vulnerability tools is a program that performs the analytical phase of a vulnerability analysis, and assessment. Index Terms– Software Security, Assurance, Reliability and Vulnerability analysis defines, identifies, and classifies the Recoverability security holes and their weakness in computer systems includes network, server, or communications channel. Also vulnerability analysis can predict the effectiveness of I. INTRODUCTION proposed countermeasures, and evaluate how well they work OFTWARE behaves in the presence of a malicious attack, after they are put into use. The tools relies on a database that S even though in the real world, software failures usually contains all the information required to check a system for happen spontaneously-that is, without intentional security holes in services and ports, anomalies in packet mischief. Security is always next of kin to the information and construction, and potential paths to exploitable programs. services being protected, the skills and resources of Vulnerability assessments that verify the presence of security adversaries, and the costs of potential assurance remedies; controls, and penetration testing which is used to determine if security is executed in risk management. Risk analysis, those security controls are effectively working, are common especially at the design level, can help us identify potential security Testing techniques. security problems and their impact. Once recognized and categorized, software risks can then assist software security II. REQUIREMENT FOR SECURITY TESTING testing. Basically there are three key quality components to Software assurance is comprised of reliability, software assurance. These are reliability, resiliency, and recoverability, and resiliency aspects of the software. recoverability. Reliable software is that which functions as Software testing must address all of these. Software testing needed by the end user. Resilient software is that which is for functionality should always be improved with security able to endure the attempts of an attacker to compromise testing for resiliency [1]. Unit testing is performed by impact integrity, confidentiality and availability. We can say a developers and has the benefit of detecting functional and secure software should achieves these security requirements software assurance issues early on in the life cycle because it breaks the software into small convenient units. Regression A. Possible Attacks on Software testing is essential when code changes. It can be used to compute the relative attack surface from one version to This section describes the various possible attacks. The another and provide imminent into whether the state of large systems are typically most susceptible to, due to software security is improving or deteriorating. The difference malicious outsiders and an insider includes users, processes between software safety and software security is presence of and applications. The possible attacks are an smart adversary twisted on breaking the system. Software Information Disclosure Attacks Applications can often quality, reliability and security belong to one family. Flaws in be forced to reveal sensitive or useful data. Error Journal Homepage: www.ijcst.org Abdullah Saad AL-Malaise AL-Ghamdi 15 messages generated by the application often contain mitigation strategies for potential vulnerabilities and helps information useful to attackers. Attacks of this type them focus their limited resources and attention on the parts include directory indexing attacks, path traversal attacks of the system most at risk. It is recommended that all and determination of whether the application allocates applications have a threat model developed and documented. resources from a conventional and accessible location. Threat models should be created as early as possible in the The target with this set of attacks is to segregate any and SDLC, and should be revisited as the application evolves and all cases of information leakage. development progresses. To develop a threat model, System Dependency Attacks: Vital system resources implement a simple approach that follows the NIST 800-30 can be identified by monitoring the environment of use [7] standard for risk assessment. This approach involves: of the application and targeted. A system must have the Decomposing the application - understand, through a ability to securely process corrupt, missing and process of manual inspection, how the application Trojaned files. Large systems are often vulnerable to works, its assets, functionality, and connectivity. input strings that tend to cause insecure behaviors. Defining and classifying the assets - classify the assets Attacks in this class include large strings, command into tangible and intangible assets and rank them injection, LDAP injection, OS commanding, SQL according to business importance. injection, SSI injection, format strings, escape Exploring potential vulnerabilities - whether technical, characters, and special/problematic character sets. operational, or management. Logic/Implementation (business model) Attacks The Exploring potential threats - develop a realistic view of hardest attacks to apply are often the most profitable for potential attack vectors from an attacker’s perspective, an attacker. These include broadcast temporary files for by using threat scenarios or attack trees. sensitive information, attempts to mall-treatment internal functionality to expose secrets and cause Creating mitigation strategies - develop mitigating insecure behavior, checking for faulty process validation controls for each of the threats deemed to be realistic. and testing the application’s ability to be remote- controlled. Users may get in between the time-of-check B. Code Review and time-of-use of sensitive data and perform denial of Source code review is carried by static analysis. It is the service at the component level. process of manually checking source code for security Authentication/Authorization Attacks These attacks is vulnerability. Many serious security weaknesses cannot be comprise both dictionary attacks and common detected with any other procedure of analysis or testing. account/password strings) and credentials, exploiting According to the security community there is no alternate for key materials , insufficient and poorly implemented actually looking at code for detecting subtle vulnerabilities. protection and recovery of passwords, key material both Unlike testing third party closed software such as operating in memory and at component boundaries. systems, when testing applications the source code should be made available for testing purposes. Many unintentional but III. SECURITY TESTING TECHNIQUES significant security problems are also extremely difficult to discover with other forms of analysis or testing, such as We have reviewed many articles on security testing penetration testing, making source code analysis the technique techniques and brief here. Basically in software engineering of choice for technical testing. The advantages of code review the: are Completeness, effectiveness, and Accuracy. Code reviews Disadvantages are not practical for large code bases, requires highly skilled reviewers, labor intensive, and infeasible to Automated static analysis detect runtime errors. Binary code analysis With the source code, a tester can accurately determine Fuzz testing what is happening and remove the speculation work of black Source and binary code fault injection box testing. The issues includes concurrency problems, time bombs, logic bombs, flawed business logic, access control Risk analysis problems, and cryptographic weaknesses as well as back Vulnerability scanning doors, Trojans and other forms of malicious code can be Penetration testing exposed by source code reviews. These issues often visible themselves as the most harmful vulnerabilities in web sites. A. Risk Analysis Source code analysis can also be extremely efficient to find To review security requirements and to identify security implementation issues such as sections of the
Recommended publications
  • Opentext Product Security Assurance Program
    The Information Company ™ Product Security Assurance Program Contents Objective 03 Scope 03 Sources 03 Introduction 03 Concept and design 04 Development 05 Testing and quality assurance 07 Maintain and support 09 Partnership and responsibility 10 Privavy and Security Policy 11 Product Security Assurance Program 2/11 Objective The goals of the OpenText Product Security Assurance Program (PSAP) are to help ensure that all products, solutions, and services are designed, developed, and maintained with security in mind, and to provide OpenText customers with the assurance that their important assets and information are protected at all times. This document provides a general, public overview of the key aspects and components of the PSAP program. Scope The scope of the PSAP includes all software solutions designed and developed by OpenText and its subsidiaries. All OpenText employees are responsible to uphold and participate in this program. Sources The source of this overview document is the PSAP Standard Operating Procedure (SOP). This SOP is highly confidential in nature, for internal OpenText consumption only. This overview document represents the aspects that are able to be shared with OpenText customers and partners. Introduction OpenText is committed to the confidentiality, integrity, and availability of its customer information. OpenText believes that the foundation of a highly secure system is that the security is built in to the software from the initial stages of its concept, design, development, deployment, and beyond. In this respect,
    [Show full text]
  • Secure by Design, Secure by Default: Requirements and Guidance
    Biometrics and Surveillance Camera Commissioner Secure by Design, Secure by Default Video Surveillance Products Introduction This guidance is for any organisation manufacturing Video Surveillance Systems (VSS), or manufacturing or assembling components intended to be utilised as part of a VSS. It is intended to layout the Biometrics and Surveillance Camera Commissioners (BSCC) minimum requirements to ensure such systems are designed and manufactured in a manner that assures they are Secure by Design. It also contains certain component requirements that will ensure a configuration that is Secure by Default when the component is shipped, thereby making it more likely that the system will be installed and left in a secure state. This guidance forms part of a wider suite of documentation being developed as part of the SCC Strategy, in support of the SCC Code of Practice. Background and Context The nature of the Internet means that connected devices can be subjected to a cyber attack from anywhere in the world. Widespread attacks on connected products is a current and real threat, and a number of highly publicised attacks have already occurred. The Mirai malware targeted devices such as internet-enabled cameras (IP cameras). Mirai was successful because it exploited the use of common default credentials (such as a username and password being set by the manufacturer as ‘admin’) and poor security configuration of devices. Ultimately, this facilitated attacks on a range of commercial and social media services and included an outage of streaming services such as Netflix. An evolution of Mirai, called Reaper, has also been discovered. Reaper used publicly and easily available exploits that remained unfixed (patched) and highlighted the problem around non patching of known security vulnerabilities, allowing attackers to utilise them to cause harm.
    [Show full text]
  • Principles for Software Assurance Assessment a Framework for Examining the Secure Development Processes of Commercial Technology Providers
    Principles for Software Assurance Assessment A Framework for Examining the Secure Development Processes of Commercial Technology Providers PRIMARY AUTHORS: Shaun Gilmore, Senior Security Program Manager, Trustworthy Computing, Microsoft Corporation Reeny Sondhi, Senior Director, Product Security Engineering, EMC Corporation Stacy Simpson, Director, SAFECode © 2015 SAFECode – All Rights Reserved. Principles for Software Assurance Assessment Table of Contents Foreword ��������������������������������������������������������������������������������������������������������������������������������� 3 Methodology �������������������������������������������������������������������������������������������������������������������������� 3 Problem Statement ���������������������������������������������������������������������������������������������������������������� 4 Framework Overview ������������������������������������������������������������������������������������������������������������� 5 Guiding Principles for Software Security Assessment ����������������������������������������������������������������������6 The SAFECode Supplier Software Assurance Assessment Framework ������������������������������ 7 What Are Your Risk Management Requirements? ����������������������������������������������������������������������������7 The Tier Three Assessment �����������������������������������������������������������������������������������������������������������������8 The Tier One and Tier Two Assessments ���������������������������������������������������������������������������������������������8
    [Show full text]
  • Model-Based Security Testing
    Model-Based Security Testing Ina Schieferdecker Juergen Grossmann Fraunhofer FOKUS Fraunhofer FOKUS Berlin, Germany Berlin, Germany Freie Universitaet Berlin [email protected] Berlin, Germany [email protected] Martin Schneider Fraunhofer FOKUS Berlin, Germany [email protected] Security testing aims at validating software system requirements related to security properties like confidentiality, integrity, authentication, authorization, availability, and non-repudiation. Although security testing techniques are available for many years, there has been little approaches that allow for specification of test cases at a higher level of abstraction, for enabling guidance on test identification and specification as well as for automated test generation. Model-based security testing (MBST) is a relatively new field and especially dedicated to the sys- tematic and efficient specification and documentation of security test objectives, security test cases and test suites, as well as to their automated or semi-automated generation. In particular, the com- bination of security modelling and test generation approaches is still a challenge in research and of high interest for industrial applications. MBST includes e.g. security functional testing, model-based fuzzing, risk- and threat-oriented testing, and the usage of security test patterns. This paper provides a survey on MBST techniques and the related models as well as samples of new methods and tools that are under development in the European ITEA2-project DIAMONDS. 1 Introduction The times of rather static communication in strictly controlled, closed networks for limited purposes are over, while the adoption of the Internet and other communication technologies in almost all domes- tic, economic and social sectors with new approaches for rather dynamic and open networked environ- ments overwhelmingly progresses.
    [Show full text]
  • Guidelines on Minimum Standards for Developer Verification of Software
    Guidelines on Minimum Standards for Developer Verification of Software Paul E. Black Barbara Guttman Vadim Okun Software and Systems Division Information Technology Laboratory July 2021 Abstract Executive Order (EO) 14028, Improving the Nation’s Cybersecurity, 12 May 2021, di- rects the National Institute of Standards and Technology (NIST) to recommend minimum standards for software testing within 60 days. This document describes eleven recommen- dations for software verification techniques as well as providing supplemental information about the techniques and references for further information. It recommends the following techniques: • Threat modeling to look for design-level security issues • Automated testing for consistency and to minimize human effort • Static code scanning to look for top bugs • Heuristic tools to look for possible hardcoded secrets • Use of built-in checks and protections • “Black box” test cases • Code-based structural test cases • Historical test cases • Fuzzing • Web app scanners, if applicable • Address included code (libraries, packages, services) The document does not address the totality of software verification, but instead recom- mends techniques that are broadly applicable and form the minimum standards. The document was developed by NIST in consultation with the National Security Agency. Additionally, we received input from numerous outside organizations through papers sub- mitted to a NIST workshop on the Executive Order held in early June, 2021 and discussion at the workshop as well as follow up with several of the submitters. Keywords software assurance; verification; testing; static analysis; fuzzing; code review; software security. Disclaimer Any mention of commercial products or reference to commercial organizations is for infor- mation only; it does not imply recommendation or endorsement by NIST, nor is it intended to imply that the products mentioned are necessarily the best available for the purpose.
    [Show full text]
  • Testing the Security of Your Applications 2 Application Security Testing Cybersecurity the Way We Do It
    the way we see it Testing the Security of your Applications 2 Application Security Testing Cybersecurity the way we do it Safeguarding Business Critical Systems and Applications Organizations are under increased pressure to innovate, rapidly develop new applications, and adopt new technologies such as social, mobile, analytics, cloud and the Internet of Things (SMACT). This increases the security risk to business applications and systems. It is a very real and present risk. The number of security all web and mobile applications before release, particularly if breaches reported is escalating – between 2013 and 2014 they are highly regulated. Yet the right people to carry out this 1 alone attacks grew by 120% – and the threat of an attack testing are both difficult to find and costly to employ, plus their from hacktivists or criminal organizations is more pertinent work isn’t scalable nor repeatable. We offer a comprehensive today than ever before. solution designed to address this growing threat to your The average yearly cost of cybercrime for large organizations business applications. in 2014 was US$7.6m – a 10.4% net increase over the Powered by HPE Fortify on Demand, our Application 2 previous year . Combine this with data breach incidents Security Testing solution makes it simple and fast to initiate costing companies $194 on average per compromised record fundamental security controls, whether you have just a few and it’s clear that major attacks could potentially result in applications or are looking to launch a comprehensive security losses totaling tens or even hundreds of millions. This accrues program across your organization without large upfront not only through lost revenue, but as a result of reputational investment.
    [Show full text]
  • A Guide for Running an Effective Penetration Testing Programme
    A guide for running an effective Penetration Testing programme April 2017 A guide for running an effective Penetration Testing programme Published by: CREST Tel: 0845 686-5542 Email: [email protected] Web: http://www.crest-approved.org/ Principal Author Principal reviewer Jason Creasey, Ian Glover, President, CREST Managing Director, Jerakano Limited DTP notes For ease of reference, the following DTP devices have been used throughout the Penetration Testing Guide. Acknowledgements CREST would like to extend its special thanks to those CREST member organisations who took part in interviews and to those clients who agreed to be case studies. Warning This Guide has been produced with care and to the best of our ability. However, CREST accepts no responsibility for any problems or incidents arising from its use. A Good Tip ! A Timely Warning An insightful Project Finding Quotes are presented in a box like this. © Copyright 2013. All rights reserved. CREST (GB). 2 A guide for running an effective Penetration Testing programme Contents Part 1 – Introduction and overview • About this Guide ................................................................................................................................................4 • Purpose ..............................................................................................................................................................4 • Scope .................................................................................................................................................................5
    [Show full text]
  • Oracle Software Security Assurance Oracle’S Methodology for the Development and Maintenance of Security in Its Products
    ORACLE BRIEF Oracle Software Security Assurance Oracle’s methodology for the development and maintenance of security in its products As organizations increasingly rely on software controls to protect their computing environments and data, ensuring that these controls operate in the way they were intended has become a paramount concern. Software security assurance encompasses all the activities involved in ensuring that software operates at an expected and predictable level of security. Managing security incidents, meeting complex regulatory and auditing requirements, and keeping current with security releases can add tremendous costs to an organization’s IT budget; thus organizations must give careful consideration to how their software providers approach software security assurance. Security built in, not bolted on S T A T I C CODE ANALYSIS Encompassing every phase of the product development lifecycle, Oracle Software Static security analysis of source code Security Assurance is Oracle's methodology for building security into the design, build, is used during the entire product testing, delivery, and maintenance of its products. Oracle's goal is to ensure that development cycle. This type of analysis works very well for identifying Oracle's products, as well as the customer systems that leverage those products, buffer overflows and memory leaks in remain as secure as possible. C/C++ code, resource handling issues Secure Coding Standards in J2EE and .NET, finding improper Secure software does not happen by itself. It requires consistently applied credentials handling, various injections, incorrect system configurations, etc. methodologies across each organization; methodologies that conform to stated policies, objectives, and principles. D Y N A M I C C O D E ANALYSIS Oracle Secure Coding Standards are a guide for developers in their efforts to produce Dynamic analysis activity always takes secure code.
    [Show full text]
  • Network Security Testing
    White Paper Network Security Testing 26601 Agoura Road, Calabasas, CA 91302 | Tel: 818.871.1800 | Fax: 818.871.1805 | www.ixiacom.com | 915-1785-01 Rev C January, 2011 2 Table of Contents The Current State of Network Security ...................................................... 4 Sources of Vulnerabilities ........................................................................... 9 Denial of Service Attacks ............................................................................ 9 Making Money from Malware. ....................................................................14 Network Security Testing. ..........................................................................15 Testing Security Devices ............................................................................18 Ixia’s IxLoad-Attack.....................................................................................19 3 Security is a discipline concerned with protecting networks and computer systems against threats such as exploits, malware, data leakage, spam, and denial of service (DoS) attacks, as well as ensuring trusted access through mechanisms such as IPsec or SSL. Enterprises have deployed security devices of all types to defend against threats, and to prevent unintended data leakage. Network security devices consist of one or more security functions, including firewall, intrusion prevention/detection systems (IPS/IDS), data leakage prevention (DLP), and content security filtering functions (e.g. anti-spam, antivirus, URL filtering). Those functions have
    [Show full text]
  • Testing the Social-Mobile- Analytics-Cloud Pack: the Way Forward
    VIEW POINT TESTING THE SOCIAL-MOBILE- ANALYTICS-CLOUD PACK: THE WAY FORWARD “The whole is greater than the sum of its parts” - Aristotle This paper highlights the need for an integrated testing approach for Social-Mobile-Analytics-Cloud pack Convergence of Social Media, Mobile, Analytics, & Cloud is one of the hottest trends these days. This convergence of technologies provides opportunities for organizations to create newer products, services and customers. It is a major business agenda for a large number of organizations. The deep inroads made by these technologies are changing the enterprise technology landscape, thereby forcing organizations to rethink their strategies and increase technology investments in this direction. According to various Industry Associations, the outlook for Social-Mobile-Analytics-Cloud technologies is very bright. This throws up multiple revenue opportunities for vendors to offer related IT services, including offering the right testing services to the Social-Mobile-Analytics-Cloud pack. Testing services are witnessing growth in mobile testing, testing for cloud, social media etc., with each evolving independently. Presently, the testing of services for each element in the Social-Mobile-Analytics-Cloud pack is more silo-based. Organizations are yet to strategize for the Social-Mobile-Analytics-Cloud pack as a whole. There is a need for an integrated end-to-end testing approach. The intent of this paper is to provide a brief background on different testing techniques for each element of the Social-Mobile-Analytics-Cloud pack. It will further focus on how an integrated testing approach is important for organizations to attain a higher Return on Investment (ROI) on their Social-Mobile-Analytics-Cloud initiatives.
    [Show full text]
  • Application Security: Safeguarding Data, Protecting Reputations
    • Cognizant 20-20 Insights Application Security: Safeguarding Data, Protecting Reputations Assessing IT systems and network vulnerabilities in today’s interconnected digital world is a daunting endeavor. By embracing penetration testing’s best practices and procedures, organizations can proactively and affordably address security loopholes before hackers undermine customer confidence, brand reputation and financial well-being. Executive Summary there is a grave concern about security, reinforced by recent events: In today’s connected digital ecosystem, applica- tions are center stage, influencing all the ways • In January 2016, a large Belgian bank was in which we interact and communicate. These attacked by cybercriminals that cost the bank applications contain sensitive data and deliver 70 million euros, although no customers were business-critical information services, and as affected by the breach. This type of attack is a result even the smallest security loophole is called a whaling attack or spear-phishing.2 exploited by cybercriminals looking to wreak havoc. While numerous cybercrime incidents have • In August 2015, the U.S. Internal Revenue occurred over the years that damaged customer Service reported that about 300,000 taxpayers’ confidence and brand reputation, solving inherent personal information was compromised when information security challenges remains a work in hackers cracked the agency’s multi-step progress for many organizations. authentication process and were able to make fraudulent claims for tax refunds using stolen The hacking challenge is so steep, that born- identities.3 digital companies Yahoo and Google recently 1 • In November 2015, a Switzerland-based partnered to create an encrypted e-mail system encrypted e-mail provider’s Internet connection that allegedly cannot be decrypted even by the was held for ransom by hackers in what could companies themselves.
    [Show full text]
  • Security Testing: Terminology, Concepts, Lifecycle
    Security Testing: Terminology, Concepts, Lifecycle Ari Takanen, CTO, Codenomicon Ltd. Ian Bryant, Technical Director, UK TSI 1 About the Speakers • Ari Takanen – Researcher/Teacher 1998-2002 @University of Oulu OUSPG research group on Software Quality – CEO/CTO 2001-today @Codenomicon, author of two books on VoIP Security and Fuzzing 2 About the Speakers • Ian Bryant • Technical Director , Trustworthy Software Initiativ e (TSI) • UK’s public-private partnership for Making Software Better • Formerly SSDRI – Visiting Lecturer , Cyber Security Centre, De Montfort University – Deputy Chair , BSI IT Security Techniques Committee - Security Controls and Services Panel • IST/033/-/4 – UK shadow of ISO/IEC JTC1 SC27 WG4 3 How is Security Compromised? • Availability: – A zero day attack is used to compromise a specific host • Integrity: – Spawned processes can change anything in the system • Confidentiality: – All data and communications can be monitored Target of Assurance: = Estimate how many vulnerabilities are in the code? = Estimate how easy it is for a hacker to find zero-day vulnerability? 4 Product Security Terminology • Vulnerability – a weakness in software, a bug. • Threat/Attack – exploit against a specific vulnerability • Protocol Modeling – functional behavior, interface message sequences and message structures • Anomaly – abnormal or unexpected input • Failure – crash, busy-loop, memory corruption, or other indication of a bug in software 5 Approaches to security testing and analysis • Dynamic (DAST): – Feature/conformance testing
    [Show full text]