Software Testing

Security Testing

With the onset of the digital age, a few clicks have replaced many day to day activities -like going to a bank for transferring funds or going to a store to buy a dress or going to a cinema hall to buy tickets for your favorite blockbuster movie. All these can now be accomplished with a single click on a plethora of devices.

To stay in the game, businesses have to move into the digital world. With this arises the need to make sure that their web applications, e-commerce sites, banking applications are safe, secure and not vulnerable to being attacked by hackers friendly or otherwise.

Security testing plays a key role here; by helping an organization to identify vulnerabilities to any kind of security attacks. Thereafter corrective measures can be taken to address the gaps in security. Security testing is a type of testing to check whether an information system protects data from outsiders, unwanted intruders and maintains functionality as it was intended. Basic aspects that a system must comply and adhere to are:

  • Authentication: Only valid users are allowed to enter/log in the system.
  • Authorization: Only valid users are able to access the content or information they are trying to access.

For example – In a company; employee, manager, the administrator will have different access rights based on their role.

  • Availability: The software application should always be running so that information and services are available whenever needed.
  • Confidentiality: Here information and services are only shown when requested and that too only to the intended users.For example, employees financial information will be available only to the concerned finance team/head not everyone.
  • Integrity: This means that information is right and up to date.In Security Testing the Tester must design tests to cover all the above-mentioned aspects.

Types of Security Testing

  • Vulnerability scanning: Here the entire system under test is scanned to find loopholes and vulnerable signatures.
  • Penetration testing: Here the tester has to think like a hacker to destroy the system and is a sort of simulated hacker attack on the system from the outside
  • Ethical hacking: Attacking the system from within to find out security flaws is Ethical hacking.

Process Steps

  • Risk assessment: All the above tests are conducted and the flaws and vulnerabilities are identified. These risks are then classified as High, Medium and Low depending on certain aspects.
  • Fix the Issues: The issues are studied in detail and then fixed by the development team with high-Risk items given a higher priority.
  • Security Review: The entire cycle of testing and assessment is repeated. The frequency is determined by the organization based on the type of business and their perceived vulnerability to attacks. There is also a periodic review to check whether the security standards have been implemented properly. With the increased sophistication of hacker attacks, it is essential that security standards are upgraded to deal with the latest threats.

What do Security Testers need to test?

Some very basic guidelines in ensuring whether an application is secured or not are:

  • Passwords are always in encrypted form.
  • Browser back-forward buttons do not break the secure login process.
  • An unauthorized user is not able to access pages he is not authorized for. Sessions should time out after a specific time when a user is not active.
  • Invalid content should not get uploaded and should be disallowed.
  • Test with random data which is included in requests.
  • Test using random data which is included as parameters.
  • Test using encoded random data included as parameters.

Website Security Testing tools in the market:

There are a variety of security testing tools available in the market. A few of these are listed as below:

  • Vega
  • ZAP (ZED Attack Proxy)
  • Wapiti
  • BeEF (Browser Exploitation Framework)
  • Google Nogotofail
  • NTOSpider
  • Brakeman
  • SiteDigger
  • NMap (Network Mapper)
  • OWASP (Open Web Application Security Project)

Security testing must be started at an early stage to minimize defects and costs of maintaining the quality. It is a good practice to understand the security requirements for an application at the time of requirement gathering, this ensures that quality and security of the end product will be appropriate to the business need.

Security should be an integral part of the software application and is an important factor in winning customers trust and confidence.

MetaSys Software offers web application development using secured and robust technologies like.NET, PHP MySQL and/or FileMaker. If you are looking for any consultation on these technologies? Then please feel free to contact us.