Day: March 4, 2020

What Vulnerability Disclosures Mean to Hackers?

Have you ever wondered what damage a single exposed vulnerability in an application can cause? Well, have a look at the vulnerability in Microsoft Windows that lays the foundation of most of the cyberattacks such as WannaCry, Petya and NotPetya. However, this problem did not have an impact until it was exposed to the public. This vulnerability was known to many agencies, but they kept it a secret exploited it using a tool, EternalBlue. However, this tool was leaked later and the vulnerability was exposed to the public when it became a real problem. However, it is not a good idea to put the public at risk. Thus, organizations are looking for a penetration testing company so that the system vulnerabilities are found before the cyber-attackers.

The real issue is not with a vulnerability in a system or application. The underlying problem lies with its exposure. Many security experts believe that exposing vulnerabilities to the public in the best way to resolve a problem. However, this is not a good idea for the business itself. It puts their business processes and goodwill, both at risk. So what other options do we have?’

Sell Exposed Vulnerabilities to Agencies or Law Enforcement

Intelligence agencies and law enforcement are strict about using any kind of zero-day exploit. However, a penetration testing company can help companies in securing their stature by carrying out pen-tests.  Since zero-day exploits target unknown weaknesses using unknown methods, it is important for them to have some know-how about it. If an intelligence agency begins exploiting computers left and right without knowledge, they would lose track of their actual mission. Thus, most researchers argue that using zero-day exploits does not make sense. However, for hackers, it is the best and most ethical option. They can get away from selling it to either agencies or law enforcement for a heavy price. The use cases of solid exploits include combination child labor and terrorism, etc.

Forget that A Problem Existed

Another option that an individual can choose is to forget if a problem was identified. This is also known as security through obscurity. Although it is difficult for others to find vulnerabilities, especially if they do not have the relevant knowledge. Intelligence agencies use this principle to protect their own hacking systems, and they simply do not acknowledge that they exist. They follow an approach that suggests the fewer people know about it, the lower the risk to the public. In addition, it is more likely that low-skilled hackers would be able to build their own zero-day exploit.

A penetration testing company leverages pen-tests to ensure they identify the vulnerabilities in an application before malicious hackers and prevent their system from being compromised. While an inclusive penetration testing strategy will continue to highlight all weakness in an app, it will definitely help a company to bring out the best of their testing efforts. It helps in finding out how hackers think and how to mitigate the risks of being attacked.

How To Test When You Know An Issue Won’t Be Fixed

Once automated tests are successfully performed, they provide information to the testers. Automation provides information about the expected behavior of a system, leaving the interpretation of this information up to the testers to determine if it is a valid defect. How many times have you considered a test as flaky or rerun a test suite simply because it failed due to unexpected reasons? Automation did not find a defect, instead, it sent back the information that you used in your suite to determine the next action. So it means when a defect arises which will not be fixed, you accept that your team has determined the expected behavior of the system. This behavior may not be the result of the defect, but your system is not expected to do so.

Update Your QA Teams

 In order to ensure that the information your suite returns is meaningful and actionable, all it needs to have is a context. Testers can create context through Jira stories. In case your test does not fail for several months, it is a good sign. But are you sure you will be working on the same project? Will anyone know to ask you about this specific test? Such questions can be difficult to answer. Thus, begin by documenting all your tests. Defect tracking tools allow testers to record all details. If you are using custom failure messages, create something meaningful that other testers can understand too.

Never Abandon Your Tests

Designing tests to fail requires maintenance, which is one of the most popular methods of test curation. Since there are TODOs for testers, they should be visible to others working on automation or code-based at large. When testers work with a codebase that has multiple TODOs, they should check them regularly if they are still valid. One of the best ways to do this is to tag these tests or use the available tools built into your IDE.

Design your Tests to Fail

It is a method to ensure that applications are displaying expected behavior and reducing failure fatigue. Testers should start with the identification of behavior that they expect from an application or API and then categorize defects that a team won’t fix. Once all these are listed down, then consider the expected behavior and rewrite tests to pass on this behavior.  Document all these carefully so that team members coming after you will have the context about tests if they start failing. These tips can be useful in using tools to achieve the maximum from defect tracking efforts.

Always start by identifying the behavior that you expect from an application and then categorize the defects your team won’t fix. Once you have listed down all the defects that you can consider expected behavior, write down your tests to pass on this behavior. Make sure you use the right defect tracking tools for effective results.