Definition
A rainbow table attack is a technique for cracking passwords using a rainbow table (a database with plaintext hashes and passwords that correspond to them).
Due to security reasons, sites store passwords in hash values instead of plaintext. So, when you log in, your password is translated into hashed values. These values are compared with the hashes stored by the service, and if they match, you’ll be granted access.
Hackers can intercept the services’ databases and use rainbow tables to match hash values with users’ stolen passwords to reveal the plaintext password.
Advantages and Disadvantages of Rainbow Table Attack
Pros
- Simple and fast: Rainbow table hacker attacks leverage pre-computed data, simplifying access through quick search-compare of tables, unlike brute force attacks.
- Minimal obstacles: Authentication in rainbow table attacks face fewer obstacles as they don’t require an exact password string. The method relies entirely on hash matches for successful attacks.
Cons
- Requires significant storage: Rainbow table attacks require extensive storage space, often in terabytes, leading to higher maintenance costs.
- Less viable: If the hash being targeted isn’t in the table, the hacker won’t find the password quickly, limiting the effectiveness of Rainbow Tables.
- Less common: Rainbow table attacks use modern cryptographic hash functions (salted passwords), which are less common.
Protection Against a Rainbow Table Attack
- Salting: This method inserts a unique series of characters into passwords before encrypting them. Rainbow table attacks are based on the unique text string having one particular hash value, and the added generated characters alter this value.
- Biometric authentication: Rainbow table attacks cannot be used against biometric passwords, as the latter confirms the user’s identity. They cannot be entered the same way as a password, and each is distinctive.
- Key stretching: In this method, the password, the salt, and an intermediate hash value are passed through a hash function more than once to prolong the attack.
- Server monitoring: Security programs in servers are designed to detect an attack before even the threat actors can get to the password database.
- Secure hash functions: Organizations should use SHA-3 since it is more secure than SHA-256.