Showing posts with label security testing training in noida. Show all posts
Showing posts with label security testing training in noida. Show all posts

Wednesday, 21 January 2015

What is Security Testing and why it is a difficult task ?

This blog is about security testing and to understand the reason due to which security testing process is difficult to perform. Let's begin the details  of security testing.

Security Testing :
Security testing is the process through which security mechanism of an application are tested to ensure security strength of an application. Here certain activities are performed to identify security based defects, common threats and vulnerability areas in application. These test are performed using automation tools. This practice helps tester to uncover threats and ensure security for critical information, data or transaction details of an application.

Due to increasing complexity in software, transactions, and data access through network, the security testing is becoming important and essential factor. These days, there is an increase in web-based security attacks. Also harmful worms and viruses are spreading through internet protocol.

To prevent these virus attacks, security test needs to be performed for validating and verifying web based system strength to resist security threats or attacks. According to security specialists,  these types of test are difficult to perform. The system have some some security bends using which attackers access system and cause damage to data or system.

Security testing is a crucial task, there are two reasons behind this fact :

1. Security requirements are different from other functionality requirement like safety requirements. Here the requirements specify the opertations or functions which should not occur rather than specifying behaviour or functionality. Commonly, it is not possible to specify such unwanted actions as plain constraints which a system can check with ease.

According to resources availability, one can determine, in principle, that all the functional requirements are met by the system. Irrespective of test implementation, the system can have some security vulnerabilities. A developer can generate functional requirements that are designed to protect system from some known threats. Though, it is difficult to change requirements for unknown attacks.

2. The intruders or attackers are intelligent enough and continuously seeking for vulnerabilities in application or software which they can exploit. They regularly experiment with application system to find things which are slightly different from normal system activities.
For example, in an input field of application, attackers may enter around 1,000 characters with combination of letters, numbers and punctuations. Once on discovering any vulnerability, the attackers can gain access to the system and exploit existing data or information. Thus increases the volume of potential intruders or attackers.

After discovering the guesses of system developers, the attacker then counter these guesses to check the reactions. Attackers can make use of software tools to explore system and find out the possible vulnerabilities which they can exploit. The intruders or attackers spent large amount of time on exploring system vulnerabilities than a test professional who focus on system security testing.


Due to this fact, the static analysis will be helpful for security testing tool. Static analysis helps testers to locate areas of application which include vulnerabilities and errors. The identified threats in static analysis can be fixed or helps tester to identify tests which needs to be performed on system.

To implement a security test on a system, the tester can use experience based testing, formal verification and tool based analysis :

1. Experience based testing : During this testing phase, a proper analysis for known security attacks is to be done. The analysis includes activities like test cases development, source code examination, etc. For example, test application against SQL injection by using SQL commands inputs. Ensure that buffer overflow errors will not takes place by examining all the input buffers of application.

Mainly, this type of verification can be done with the help of tool based verification, in which tool provides information about test implementation. The identified known security issues with their preventive measures are to be listed down including programming and design.

2. Tiger Teams : This is a method of experience based testing in which an external team responsible to identify security flaws, and common threats in an application, is deployed on system to ensure the security strength of application. This external team is known as 'Tiger Team' and the members of this team holds rich security testing experience. They simulate number of attacks on application to discover security weakness of the system.

3. Tool based testing : In this testing method, a number of tools like password checkers are employed to inspect system security. Password checkers recognize insecure passwords like similar name or common letter strings in name. In this testing approach security defects experience is demonstrated in used tool.

4. Formal Verification : Using this methodology, system can be verified against and established security specification. Generally, in other areas, this security method is not used in excess.

Security testing is limited by the available resources and time to test application. This means that a tester needs to adopt risk based testing method for security testing by focusing on significant risks in a system. After analysing the security risks properly, a tester can easily perform test effectively. Also, the security requirement investigation helps tester to break weak areas of application using some alternative testing approaches.

It is quite difficult for end-users to verify system's security. Hence, there are certain standards and sets of security criteria, which an application/software needs to be fulfilled. The certified test professionals test applications to ensure their security strength. A dedicated and thorough evaluation on application is to be performed by the security experts. After then the product is provided with certification for its security strength.

Wednesday, 17 September 2014

What is security testing and why this test is performed on a software application ?

In this article we will discuss about security testing and requirement to implement this test on a software application or website. Security test is one of the important task to perform while testing an application or website. As there is a large number of confidential data on website and the  transactions are also increasing day-by-day so it is becoming very important to keep data secure from unauthorized access.

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. 
So these are the basic terms and requirements of security testing. Through this complete article we come across the importance of security testing. Also here we have learned what steps we have to follow to keep our data safe from vulnerabilities, threats and unauthorized access.

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.