Also Known As Brute Force Cracking
Total Page:16
File Type:pdf, Size:1020Kb
INTRODUCTION 1.1 Background Brute force (also known as brute force cracking) is a trial and error method used by application programs to decode encrypted data such as passwords or Data Encryption Standard (DES) keys, through exhaustive effort (using brute force) rather than employing intellectual strategies. In a brute force attack, automated software is used to generate a large number of consecutive guesses as to the value of the desired data. Brute force tool can be misused to crack encrypted data, or by security analysts to test an organization's network security.[7] Brute-force attacks are simple to understand. An attacker has an encrypted file say, your LastPass or KeePass password database. They know that this file contains data they want to see, and they know that there’s an encryption key that unlocks it. To decrypt it, they can begin to try every single possible password and see if that results in a decrypted file.[5] There’s a difference between online and offline brute-force attacks. For example, if an attacker wants to brute-force their way into your Gmail account, they can begin to try every single possible password but Google will quickly cut them off. Services that provide access to such accounts will throttle access attempts and ban IP addresses that attempt to log in so many times. Thus, an attack against an online service wouldn’t work too well because very few attempts can be made before the attack would be halted.[5] On the other hand, let’s say an attacker snagged an encrypted file from your computer or managed to compromise an online service and download such encrypted files. The attacker now has the encrypted data on their own hardware and can try as many passwords as they want at their leisure. If they have access to the encrypted data, there’s no way to prevent them from trying a large number of passwords in a short period of time. Even if you’re using strong encryption, it’s to your benefit to keep your data safe and ensure others can’t access it. Speed all depends on hardware. Intelligence agencies may build specialized hardware just for brute-force attacks, just as Bitcoin miners build their own specialized hardware optimized for Bitcoin mining. When it comes to consumer hardware, the most effective type of hardware for brute-force attacks is a graphics card. As it’s easy to try many 1 different encryption keys at once, many graphics cards running in parallel are ideal. At the end of 2012, Ars Technica reported that a 25-GPU cluster could crack every Windows password under 8 characters in less than six hours. The NTLM algorithm Microsoft used just wasn’t resilient enough. However, when NTLM was created, it would have taken much longer to try all these passwords. This wasn’t considered enough of a threat for Microsoft to make the encryption stronger.[5] Strong hashing algorithms can slow down brute-force attacks. Essentially, hashing algorithms perform additional mathematical work on a password before storing a value derived from the password on disk. If a slower hashing algorithm is used, it will require thousands of times as much mathematical work to try each password and dramatically slow down brute-force attacks. However, the more work required, the more work a server or other computer has to do each time as user logs in with their password. Software must balance resilience against brute-force attacks with resource usage. There’s no way to protect yourself completely. It’s impossible to say just how fast computer hardware will get and whether any of the encryption algorithms we use today have weaknesses that will be discovered and exploited in the future. However, here are the basics: Keep your encrypted data safe where attackers can’t get access to it. Once they have your data copied to their hardware, they can try brute-force attacks against it at their leisure. If you run any service that accepts logins over the Internet, ensure that it limits login attempts and blocks people who attempt to log in with many different passwords in a short period of time. Server software is generally set to do this out of the box, as it’s a good security practice. Use strong encryption algorithms, such as SHA-512. Ensure you’re not using old encryption algorithms with known weaknesses that are easy to crack. Use long, secure passwords. All the encryption technology in the world isn’t going to help if you’re using “password” or the ever-popular “hunter2”.[5] 2 1.2 Motivation There are many projects to choose, but choice is to be made according to present need and demands of public in current moment. Nowadays, computer as well as network security is the burning issue as development of technology is taking rapid progress. So it becomes a very important part of technology to ensure a good security to network and computer. Our software can be used for such testing purposes to check the loopholes in system. The program designed by us is easy to use and understand. With the help of our respected teachers and scholars, we conclude to choose this project. They gave us several ideas in choosing a good project. In addition we get information about this project from our friends. We knew that we have to choose a project which is different from others and a unique one. So we found this one useful and unique. 1.3 Statements of Problems During the course of development of the software, we have faced certain problems and difficulties. The main challenge was to embed special characters in it. As it is a brute forcing tool, all characters, numbers and special characters must be embedded. But finally, we have embedded special characters, numbers and characters according to their ASCII code order. Our tool and its functioning depends upon the internet connection and its speed. So problems might occur if internet connection are not available or are of low bandwidth. So to avoid such problems, a good internet connection is preferred. A good internet connection can help to minimize the time complexity of brute forcing. 3 1.4 Objectives The main objectives of our system is to provide tool for testers to test whether brute force attacks can penetrate their system or not. So being based on the current security issues, we have list out the objectives of our tool as follows: To test whether a system is vulnerable to brute force attack. To assure quality website which is safe from brute force attack. To help in load testing as our tool hits the server more than thousand time within seconds. To test the capacity of servers whether it is enough to handle multiple requests in a very short time. 1.5 Scope and Limitation According to the features that we have embedded in our tool, it has got various ranges of scopes. It can be used mainly as the security testing tool. Some of the fields where our tool can be used are: Information Security Information security is the most challenging task in technology field these days. Information are to be kept safe from several possible attacks. Brute force tool can be used in order to test the brute force attack. Brute force tool consumes time but assure high accuracy. It can help security testers whether the web system is vulnerable to the brute force attack or not. Load testing Brute force tool can be helpful in case of load testing purpose as well. This tool hits the server thousands of times within seconds. So a user can test the web server and its capacity to bear load multiple times within very short period of time. Although we have tried our best to reduce errors and limitations, some of the limitation still exist. Some of the limitations are : As it is brute force tool, several hit and trials are carried out simultaneously. So it might take longer time if passwords are too strong. 4 1.6 Report Structure The organization of the report is managed in following ways: Chapter 1: It includes the brief introduction along with its background. Statement of problems, objectives and limitation of project are well mentioned in this chapter. Chapter 2: It includes literature review of the project. Past reference and used tools are described in this chapter. Chapter 3: It includes detail methodology of the projects. Working mechanism along with block diagram is explained. Tools and platforms that are selected for developing project is included here. Chapter 4: This chapter includes detail about results that project generates along with the test cases that are carried out in the course of development of the project. Chapter 5: This chapter includes the conclusion of whole project and the future recommendation and enhancement. Chapter 6: Reference section is included in this chapter. 5 LITERATURE REVIEW Brute-force attacks are fairly simple to understand, but difficult to protect against. Encryption is math, and as computers become faster at math, they become faster at trying all the solutions and seeing which one fits. These attacks can be used against any type of encryption, with varying degrees of success. Brute-force attacks become faster and more effective with each passing day as newer, faster computer hardware is released. Brute force attacks work by calculating every possible combination that could make up a password and testing it to see if it is the correct password. As the password’s length increases, the amount of time, on average, to find the correct password increases exponentially.