• 10 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 4/2/20

Beat the hackers at their game

Add Testing Techniques to Your Tool Belt

The key to avoiding the extra cost of fixing security vulnerabilities is to provide a secure and quality web application in the first place.

Here are some testing techniques that can help as you develop your web application. These practices are commonly used in security testing after development, and they are powerful tools to ensure that your code is secure.

Peach Fuzzing

Peach fuzzing is a technique used to test the areas where data is input on your web application. It tests random inputs to make sure that proper validation techniques are used. As you can guess, it tests for SQL injection and XSS attacks! 

Reverse Engineering

Reverse engineering is the analysis of the machine code behind the web application. If you don’t have the source code of a piece of software, you can reverse it and do some detective work to figure out how it works.  That is, convert it to machine code and analyze how it works. These reverse engineering tools provide an opportunity to change the functionality of the code.  

Static Code Analysis

Static code analysis can be done manually or by using an automated tool. It often involves a line-by-line analysis of the source code to find vulnerable pieces or functions that are exploited by malicious users.  

This testing ensures that common vulnerable functions are not used in the source code. It also helps with buffer overflow and SQL injection attacks.

Although your code may pass a static code analysis test, it may still be vulnerable to access control, broken authentication, configuration issues in the framework and weak cryptographic algorithms.

Dynamic Code Analysis

Dynamic code analysis is a security test that is done while code is running. An automated vulnerability scan service attempts to exploit code in HIPAA, PCI, and OWASP while a website is running.

This test uses a debugger that steps through the code line by line while it is running! Not only does it check for vulnerable functions, but it can also see what parts of the operating system those functions can access. Many of the functions that access crucial parts of the operating systems can be leveraged by hackers!

Use Thread Modeling to Size Up Your Adversary

When a business sets up a threat model, it takes into account the different adversaries that will attempt to compromise the system.  It could be because the information can make them money, satisfy their need to bully people, etc. Based on who these adversaries are, you can set up a threat model to figure out what parts need to be locked down to mitigate your risk. 😈

Here are some questions you can ask to create your threat model:

  • What is the data that you are protecting?

  • Who will exploit the data?

  • What is the likelihood this exploit will be carried out?

  • What damage will this exploit incur?

  • What is your safeguard against this exploit?

Raise Your Awareness of Popular Hacker Tools

Common hacker tools are also used by ethical hackers to penetration test your web application. A step above checking for OWASP vulnerabilities, penetration testers act as the individual or group exploiting your web application. We refer to criminal hackers as black hats. However, ethical hackers (white hats) use the same techniques. Although this testing is time-consuming and expensive, it is a great way to ensure your web application is foolproof.

Metasploit and BurpSuite are hacker toolkits that are available on the internet and provide a collection of exploits that can be customized for many environments. They allow for additional scripting so be prepared to work when you use them! A lot of black and white hat hackers use the Metasploit tools and customize them by writing their own scripts.

The accessible parts for the general public are only 20% of the internet 😳 and it includes what you access every day on your Google searches! The dark web is a small hidden deep web subset that has a marketplace selling vulnerabilities and exploitation tools not readily available to the average internet user. Trojans, malware, ransomware, and new exploits can be accessed here by malicious players. Access to this marketplace is through the TOR browser that has a sophisticated, layered encryption algorithm that makes its users difficult to track.

Patch Up Zero-Day Vulnerabilities

You can never be entirely sure that your web application will not be attacked based on an undiscovered and reported vulnerability. These are called zero-day vulnerabilities. Sometimes, the darknet marketplace will sell them to malicious users. 

After these attacks happen, software companies develop a patch to mitigate the vulnerability. However, in many cases, it is patched after doing a lot of damage. This is why it is so important to maintain the security of your application and defend it against zero-day vulnerabilities by patching it regularly.

Let’s Recap!

There are a lot of available tools to test that a web application is secure from common attacks.

  • Vulnerability scanning, peach fuzzing, penetration testing, Metasploit, and Burp Suite are great for testing attacks on a web application.

  • There are areas of the web that are not directly accessible to the general public, and require special techniques to access.

  • Zero-day vulnerabilities can come up with any component to ensure that you are up-to-date and patched for new attacks.

Example of certificate of achievement
Example of certificate of achievement