In spite of these instructions, at times people reveal their passwords to others, write them down somewhere and keep easy passwords that can be guessed. User Input: You must have heard of SQL injection, buffer overflows, etc. The data received electronically through these methods can be used to attack the receiving system. Management: Security is hard & expensive to manage. Sometimes organizations lack behind in proper risk management and hence vulnerability gets induced in the system. Lack of training to staff: This leads to human errors and other vulnerabilities. Communication: Channels like mobile network, internet, telephone opens up security theft scope.
Why Penetration testing? You must have heard of the Wanna. Cry ransomware attack that started in May,2. It locked more than 2 lakh computers around the world and demanded for ransom payments in the Bitcoin cryptocurrency. This attack has affected many big organizations around the globe.
With such massive & dangerous cyber- attacks happening these days, it has become unavoidable to do penetration testing on regular intervals to protect the information systems against security breaches. So, penetration testing is mainly required because: – Financial or critical data must be secured while transferring it between different systems or over the network.– Many clients are asking for pen testing as part of the software release cycle.– To secure user data.– To find security vulnerabilities in an application.– To discover loop holes in the system.– To assess the business impact of successful attacks.– To meet the information security compliance in the organization.– To implement effective security strategy in organization. It’s very important for any organization to identify security issues present in internal network and computers. Using this information organization can plan defense against any hacking attempt. User privacy and data security are the biggest concerns nowadays. Imagine if any hacker manages to get user details of social networking site like Facebook. Organization can face legal issues due to a small loophole left in a software system.
Hence, big organizations are looking for PCI (Payment Card Industry) compliance certifications before doing any business with third party clients. What should be tested?–Software (Operating system, services, application)Hardware. Network. Processes. End user behavior. Penetration Testing Types: 1) Social Engineering Test: In this test, attempts are being made to make a person reveal the sensitive information like password, business critical data, etc. These tests are mostly done through phone or internet and it targets certain helpdesks, employees & processes.
Human errors are the main causes of security vulnerability. Security standards and policies should be followed by all staff members to avoid social engineering penetration attempt.
Example of these standards include not to mention any sensitive information in email or phone communication. Security audits can be conducted to identify and correct process flaws.
Web Application Test: Using software methods one can verify if the application is exposed to security vulnerabilities. It checks the security vulnerability of web apps and software programs positioned on the target environment. Physical Penetration Test: Strong physical security methods are applied to protect sensitive data. This is generally useful in military and government facilities. All physical network devices and access points are tested for possibilities of any security breach. This test is not much relevant to the scope of software testing.
Network Services Test: This is one of the most commonly performed penetration test where the openings in the network are identified through which entry is being made in the systems on the network to check what kind of vulnerabilities are there. It can be done locally or remotely. Client- side test: It aims to search and exploit vulnerabilities in client- side software programs. Remote dial- up war dial: It searches for modems in the environment and try to login to the systems connected through these modems by password guessing or brute forcing. Wireless security test: It discovers the open, unauthorized and less secured hotspots or Wi- Fi networks and connects through them.
The above 7 categories we have seen is one way of categorizing the types of pen tests. We can also organize the types of penetration testing into three parts as seen below: Let’s discuss these testing approaches one by one: Black Box Penetration Testing: In this approach, the tester assesses the target system, network or process without the knowledge of its details.
They just have very high level of inputs like URL or company name using which they penetrate into the target environment. No code is being examined in this method. White Box Penetration Testing: In this approach, tester is equipped with complete details about the target environment – Systems, network, OS, IP address, source code, schema, etc.
It examines the code and find out design & development errors. It is a simulation of internal security attack. Grey Box Penetration Testing: In this approach, the tester has limited details about the target environment.
It is a simulation of external security attack. Pen Testing Techniques: 1) Manual penetration test. Using automated penetration test tools. Combination of both manual and automated process. The third process is more common to identify all kinds of vulnerabilities. Penetration Testing Tools: Automated tools can be used to identify some standard vulnerability present in an application. Pentest tools scan code to check if there is malicious code present which can lead to potential security breach.
Pentest tools can verify security loopholes present in the system by examining data encryption techniques and figuring out hard coded values like username and password.