Security testing is a process intended to detect flaws in the security mechanisms of an information system and as such help enable it to protect data and maintain functionality as intended. Due to the logical limitations of security testing, passing the security testing process is not an indication that no flaws exist or that the system adequately satisfies the security requirements. Typical security requirements may include specific elements of confidentiality, integrity, authentication, availability, authorization and non-repudiation. Actual security requirements tested depend on the security requirements implemented by the system. Security testing as a term has a number of different meanings and can be completed in a number of different ways. As such, a Security Taxonomy helps us to understand these different approaches and meanings by providing a base level to work from.
History Early concepts of security testing emerged alongside the development of computer security in the 1960s and 1970s, when government and academic institutions began exploring methods to evaluate system vulnerabilities. The U.S. Department of Defense’s Trusted Computer System Evaluation Criteria (TCSEC), published in 1985, introduced formal evaluation requirements for secure system design and testing. During the 1990s, the rise of networked systems and the internet popularized penetration testing and vulnerability assessment as practical approaches to identify security weaknesses before adversaries could exploit them. Modern security testing integrates continuous and automated methods, aligning with secure software development lifecycles and DevSecOps practices.
Confidentiality A security measure which protects against the disclosure of information to parties other than the intended recipient is by no means the only way of ensuring the security.
Integrity Integrity of information refers to protecting information from being modified by unauthorized parties
A measure intended to allow the receiver to determine that the information provided by a system is correct. Integrity schemes often use some of the same underlying technologies as confidentiality schemes, but they usually involve adding information to a communication, to form the basis of an algorithmic check, rather than the encoding all of the communication. To check if the correct information is transferred from one application to other.
Authentication This might involve confirming the identity of a person, tracing the origins of an artifact, ensuring that a product is what its packaging and labelling claims to be, or assuring that a computer program is a trusted one.
Authorization The process of determining that a requester is allowed to receive a service or perform an operation. Access control is an example of authorization.
Availability Assuring information and communications services will be ready for use when expected. Information must be kept available to authorized persons when they need it.
Non-repudiation In reference to digital security, non-repudiation means to ensure that a transferred message has been sent and received by the parties claiming to have sent and received the message. Non-repudiation is a way to guarantee that the sender of a message cannot later deny having sent the message and that the recipient cannot deny having received the message. A sender-id is usually a header transmitted along with message which recognises the message source.
Taxonomy Common terms used for the delivery of security testing:
… excerpt ends here. Continue reading the full article.
