Thursday, September 18, 2014

What is Security Testing ?

Security testing verifies whether an application under test only allows designated users and processes access to business functionality and data.


A testing technique to determine if an information system protects data and maintains functionality as intended. It also aims at verifying 6 basic principles as listed below:



Authorization - is mediating access to resources on the basis of identity and is generally policy-driven (although the policy may be implicit). It is the primary security service that concerns most software, with most of the other security services supporting it. For example, access control decisions are generally enforced on the basis of a user-specific policy, and authentication is the way to establish the user in question.

Confidentiality - is really a manifestation of access control, specifically the ability to read data. Since, in computer security, confidentiality is often synonymous with encryption, it becomes a technique for enforcing an access-control policy.

Accountability - Users of a system should generally be accountable for the actions they perform. In other words, this means that systems should log information on operations that could potentially require review. For example, For example every time we withdraw cash from an ATM a log is maintained and same is displayed in mini-statement or account statement and an alert message is sent to mobile no. Associated with account. These help us to keep track of any unauthorised activity in our account. Likewise,logs generated , should generally be difficult to forge, using a message authentication scheme that protects the integrity of logs by authenticating the entity that performed the logging

Authentication -For network connections, it is important to perform authentication at login time, but it is also important to perform ongoing authentication over the lifetime of the connection; Additionally, for data communications, an initial authentication provides assurance at the time the authentication completes, but when the initial authentication is used to establish authenticity of data through the life of the connection, the assurance level generally goes down as time goes on In data communication, authentication is often combined with key exchange. This combination is advantageous since there should be no unauthenticated messages (including key exchange messages) and since general-purpose data communication often requires a key to be exchanged. Even when using public key cryptography where no key needs to be exchanged, it is generally wise to exchange them because general-purpose encryption using public keys has many pitfalls, efficiency being only one of them. .

Availibilty: Most systems that export resources, either directly or otherwise, come with some implicit understanding that those resources will generally be accessible (available). If an availability problem is caused maliciously, it is known as a denial of service attack. Note that data delays can be considered an availability problem

For eg :- Imagine a QA engineer(testing a bank transaction page ) sending a message that says, "This page failed 5 checklist points" that an attacker delays until the he has robbed the organisation's money and other sensitive information of its customers


Non – repudiation-
In most two-party data communication, the two parties can prove to themselves whether data comes from an authentic source. But one generally does not have proof that a third party would find plausible. A message for which the original sender or some endorser can be established to third parties is said to be non-repudiable. This security service is generally associated with digital signature schemes.

Courtesy:OWASP

No comments:

Post a Comment