Security Testing is a process of protecting data or information from vulnerabilities, threats and unauthorized access. Since Security Testing in itself is a big module hence here we will discuss only the basic concepts. For detailed information it is suggested to take some external classes on testing. QACampus is one such institute that is committed to deliver a quality training in software testing with an exposure of latest tools.
Key Concepts of Security Testing :
There are six elementary key concepts in security testing which are :-
- Confidentiality : is a measure to protect the information or data from being disclosed by the users other than intended recipients.
- Integrity : is the measure to permit user to determine that data or information which he/she has received is correct.
- Authentication : This is to confirm the identity of information source to ensure that source of the information is trusted one.
- Authorization : is a process to determine that a user is allowed to access or perform particular operation.
- Availability : To ensure that information is available to access any time and anywhere.
- Non-repudiation : It means to ensure that transferred message has been sent and delivered properly without any problem.
Different Techniques of Security Testing :
- Injection
- Session Management and Broken Authentication
- Cross-Site Scripting (XSS)
- Insecure Direct Object References
- Security Misconfiguration
- Sensitive Data Exposure
- Missing Function Level Access Control
- Cross-Site Request Forgery (CSRF)
- Using Known Vulnerable Components
- Invalidated Redirects and Forwards
Main operations needs to be recognized during security test :
- Client-end application security: This is to ensure that application on client side such as browser cannot be manipulated.
- Server-end application security : This is to ensure that applications and the codes on server are quite robust to guard it from any intrusion.
- System software security : This involves determining weaknesses in different software such as operating system, database, etc on which application depends.
- Network security : This involves checking vulnerabilities in network infrastructure.
It is quite interesting to get more knowledge on security testing through some external means such as enrolling into a specialization course. After completing such courses one can be able to implement security testing to make a software application more secure and reliable.