Tuesday, June 4, 2019
Significance of Security Testing
consequence of security organisation TestingPremalatha Sam selective information trackAbstractSoftw be bail examen is an essendial means which helps to assure that the software system product is authentic and secure. It is an idea which has been brought from engineering software to check whether it keeps on working properly under malicious outbreaks. bundle security measure interrogatory answer is lengthy, complex and costly. It is be experience several(prenominal) types of bugs are escaped in test on a routine basis. The application might perform some additional, unspecified task in the process while effectively behaving as indicated by the dominatements. Thus, to build secure software as well as meet budget and time constraints it is essential to fury examen effort in areas that have a larger number of security vulnerabilities. thitherfore, vulnerabilities are classified and several(a) taxonomies have been created by info processor security researchers. Along w ith the taxonomies, in that respect are also various methods and techniques which helps to test the commonly appearing test issues in software. These techniques generally include generic tools, fuzzing, checklists of unpredictable information and quality, vulnerability scanners, hacking or hiring hackers etc.This study focuses on the introduction, importance, vulnerabilities, approaches and methods of security examen. Articles related to these components were chosen. They were then evaluated on the basis of security exam approaches.Further more(prenominal), the study explores the flaws and vulnerabilities of security testing and figures out the importance of security testing. Moreover, the research also highlights various methods and techniques of security testing. In the end, compiling all the articles research questions like what is the importance of security testing and what are the approaches to security testing are answered.IntroductionSecurity is one of the many aspects of software quality. Software turns out to be more complicated, with the wide use of goods and services of computer which likewise increase software security problems. Software security is the ability of software to provide required function when it is attacked as defined by the authors (Tian-yang, Yin-sheng You-yuan, 2010). There are few common types of security testing such(prenominal) as vulnerability assessments, penetration tests, runtime testing and recruit review. New vulnerabilities are creation discovered with the coming of internet age. They are existing because of many designers poor development practices, ignoring security policies during design, incorrect configurations, improper initialization, inadequate testing due to deadlines enforce by financial and marketing needs etc. (Preuveneers, Berbers Bhatti, 2008).The significance of security in the life cycle from network security, to carcass security and application security is currently recognized by the companies and organizations asa coordinated end-to-end procedure stated by (Felderer, Bchler, Johns, Brucker, Breu Pretschner, 2016). Therefore, in systems to discover which types of vulnerabilities are dominant, security vulnerabilities are categorised so as to focus the type of testing that would be needed to find them. On the basis of these classifications, various taxonomies are developed by computer security researchers. According to the author (AL-Ghamdi, 2013), at the requirements level security should be explicit and must cover both(prenominal) overt functional security and sudden individualities. One great approach to cover that is using abuse cases which portrays the systems behaviors under attack.Two strategies that must be incorporated by security testing are testing security functionality using standard functional testing techniques and risk based security testing based on attack patterns and threat models. There are normally two categories of vulnerabilities bugs at the exe cution level and flaws at the design level (Tondel, Jaatun Meland, 2008).The research done in this article evaluates the security testing approaches and the methods in order to detect the flaws and vulnerabilities of security in the software. All this approaches and methods of security testing will help to make the software more secure, flawless and bug-free. Thus, the end of this study is to find out the significance of security testing in todays fastest growing internet age and to introduce developers with an esteemed importance of systems security.The lit review is divided into 4 sections. The first section gives the overview of security testing. The next sections answer the research questions like what is the importance of security testing and what are the various approaches to security testing.Literature ReviewImportance of Security TestingIn contrast with simple software testing process, providing security to a system is exceptionally unpredictable. This is because simple so ftware testing only shows the presence of errors but fails to show the absence of certain types of errors which is ultimately achieved by security testing. As per the author (Khatri, 2014), at that place are two essential things which should be checked by the system First, validity of implement security measures. Second, systems behavior when it is attacked by attackers. The loopholes or vulnerabilities in system may cause failure of security functions of system eventually leading to great losses to organization. So, it is extremely fundamental to incorporate testing approaches for data protection.Security VulnerabilitiesThere are certain types of errors which are termed as security vulnerabilities, flaws or exploits. The authors (Tian-yang, Yin-sheng You-yuan, 2010) states that there are certain flaws present in system design, implementation, operation, management which are referred as vulnerabilities. As per (Trpe, 2008), in order to target testing it is important to understand the roots of vulnerabilities and these vulnerabilities vary from system to system.These exploits are broadly categorized on their similarities by (Preuveneers, Berbers Bhatti, 2008) as followsEnvironment variables Information that does not change across executions of a program is encapsulated by such variables.Buffer Overflows A memory destiny is overflowed which leads the program to execute the data after the last address in the stack, generally an attacker gets the full control of the system when an executable program builds a root or command line shell.Operational Misuse Operating a system in a non-secure mode.Data as Instructions or Script Injections due to improper input checking, scripting languages include information with executable code which is then executed by the system.Default Settings If default software settings require user intervention to secure them they may encounter a risk.Programmer Backdoors The developers of the software leave the unauthorized access paths for easy access.Numeric OverflowsGiving a lesser or greater value than estimated.Race ConditionsSending a string of data before another is executed.Network Exposures It is assumed that when messages are sent to a server adequately, clients will check that.Information Exposure Sensitive information is exposed to unauthorized users which can be employ to compromise data or systems.Possible AttacksAccording to the authors (Preuveneers, Berbers Bhatti, 2008), (Felderer, Bchler, Johns, Brucker, Breu Pretschner, 2016) and (AL-Ghamdi, 2013), secure software should achieve security requirements such as reliability, resiliency, and recoverability. Then they describe various possible attacks such asInformation Disclosure Attacks To disclose sensitive or utilizable data, applications can often be forced. Attacks in this class include directory indexing attacks, path traversal attacks and determination of whether the application resources are allocated from a conventional and accessible loc ation.System Dependency Attacks By observing the environment of use of the targeted application, vital system resources can be recognized. Attacks of this type include LDAP injection, OS commanding, SQL injection, SSI injection, format strings, large strings, command injection, escape characters, and special/problematic character sets.Authentication/Authorization Attacks These attacks includes both dictionary attacks and common account/password strings and credentials, exploiting key materials in memory and at component boundaries , insufficient and poorly implemented protection and convalescence of passwords.Logic/Implementation (business model) Attacks For an attacker, the hardest attacks to apply are often the most gainful. These include checking for faulty process validation, broadcast temporary archives for sensitive information, attempts to mall-treatment internal functionality to uncover secrets and cause insecure behavior and testing the applications ability to be remote-c ontrolled.Approaches to Security TestingAccording to the author (Khatri, 2014), approach to security testing involves determining who should do it and what activities they should undertake.Who This is because there are two approaches which security testing implicates 1) Functional security testing and 2) Risk-based security testing. Risk-based security testing gets challenging for traditional staff to perform because it is more for expertise and experience people.How There are several testing methods however the issue with each method is the lack of it because most of organizations devote very lesser time in understanding the non-functional security risks instead it concentrates on features.The two approaches functional and risk-based are defined by the authors (Tndel, Jaatun Jensen, 2008) as followsFunctional security testing On the basis of requirements, this technique will determine whether security mechanisms, such as cryptography settings and access control are executed and configured or not.Adversarial security testing This technique is based on risk-based security testing and determines whether the software contains vulnerabilities by pretending an attackers approach.Methods and Techniques of Security Testing by (Tian-yang, Yin-sheng You-yuan, 2010), (AL-Ghamdi, 2013) and (Felderer, Bchler, Johns, Brucker, Breu Pretschner, 2016). white-tie security testingTo build a mathematical model of the software and to provide software form specification supported by some stately specification language is the basic idea of formal method.Model-based security testingA model by the behavior and structure of software is constructed by model-based testing and then from this test model, test cases are derived.Fault injection based security testingThis testing emphasizes on the interaction points of application and environment, including user input, file system, network interface, and environment variable.Fuzzy testingTo discover security vulnerability which gets mo re and more attention, fuzzy testing is effective. To test program, it would inject random data and evaluate whether it can run normally under the clutter input.Vulnerability scanning testingTo find software security risks, vulnerability testing is use which includes testing space scanning and known defects scanning.Property based testingBy using program slicing technology, this method will extract the code relative to specific property and find infringement of the code against security property specification.White box-based security testingOne of common white-box based testing method is static outline which is great at finding security bug, such as buffer overflow. It includes main features like deducing, data flow analysis and constraint analysis.Risk-based security testingTo find high-risk security vulnerabilities as early as possible, risk-based security testing combines the risk analysis, security testing with software development lifecycle.DiscussionThere are some type of sec urity vulnerabilities which are more serious or are more common than others, so classification and rankings of vulnerabilities can be utilized to focus testing. Today, attacks such as Cross-Site Scripting and SQL injection are very common and new vulnerabilities are still cosmos discovered. Basically, security testing can be divided into security vulnerability testing and security functional testing. To ensure whether software security functions are implemented correctly and consistent with security requirements, security functional testing is used. Whereas to discover security vulnerabilities as an attacker, security vulnerability testing is used. Risk-based security testing is useful when a complex system requires numerous tests for adequate coverage in limited time.RecommendationTo build a secure system, security testing is used however it has been overlooked for a long time. Protection and security have been given prime significance in todays world, therefore in programming ap plications, it is highly recommended to look forward for information and operations security which demands critical consideration but it is rather ignored. There is still nothing like 100% security. The honest-to-god way of doing things and traditional methods must change and new methods should be applied in practice if one wants to ship secure code with confidence.ConclusionThe lit review was done taking 8 articles addressing the topic Significance of Security Testing. This report analyses the definition, classification, importance and approaches to software security testing. Classification of vulnerabilities and flaws were identified and what could be the reason behind occurrence of these vulnerabilities were discussed. The study also highlighted the various approaches like the functional and risk-based security testing and various methods in detail to tackle the flaws and errors detected in the system. These methods and techniques helps the system in various aspects like to adva nce the capability to produce protected and safe software, more cost-effective management of vulnerabilities and measure progress. Though, these approaches and classification makes software secure to a major extent but still security testing has a long way to go.ReferencesAL-Ghamdi, A. S. A. M. (2013, April). A Survey on Software Security Testing Techniques.Felderer, M., Bchler, M., Johns, M., Brucker, A. D., Breu, R., Pretschner, A. (2016). Chapter One-Security Testing A Survey. Advances in Computers, 101, 1-51.Khatri, M. (2014). Motivation For Security Testing. Journal of Global Research in Computer Science, 5(6), 26-32.Preuveneers, D., Berbers, Y., Bhatti, G. (2008, December). Best practices for software security An overview. In Multitopic Conference, 2008. INMIC 2008. IEEE International (pp. 169-173). IEEE.Tian-yang, G., Yin-Sheng, S., You-yuan, F. (2010). Research on software security testing. World Academy of science, engineering and Technology, 70, 647-651.Tndel, I. A., Ja atun, M. G., Jensen, J. (2008, April). Learning from software security testing. In Software Testing Verification and Validation Workshop, 2008. ICSTW08. IEEE International Conference on (pp. 286-294). IEEE.Tondel, I. A., Jaatun, M. G., Meland, P. H. (2008). Security requirements for the rest of us A survey. IEEE software, 25(1).Trpe, S. (2008, April). Security testing go practice into theory. In Software Testing Verification and Validation Workshop, 2008. ICSTW08. IEEE International Conference on (pp. 294-302). IEEE.Appendix AArticlesConceptsRequirements for Security TestingVulnerabilities (Exploits, bugs, flaws)Possible Attacks on SoftwareApproachesTechniques or MethodsFunctionalRisk-basedBest Practices for Software Security An Overview (Preuveneers, Berbers Bhatti, 2008)Motivation For Security Testing (Khatri, 2014)Security Testing A Survey (Felderer, Bchler, Johns, Brucker, Breu Pretschner, 2016)A Survey on Software Security Testing Techniques (AL-Ghamdi, 2013)Security Requi rements for the Rest of Us A Survey (Tondel, Jaatun Meland, 2008)Research on software security testing (Tian-yang, Yin-Sheng You-yuan, 2010)Learning from software security testing (Tndel, Jaatun Jensen, 2008)Security testing Turning practice into theory (Trpe, 2008)Figure 1 Concept Matrix of the study of Significance of Security Testing
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.