Protecting against modern password cracking



Similar documents
Modern Password Cracking: A hands-on approach to creating an optimised and versatile attack. Chrysanthou Yiannis,

Connected from everywhere. Cryptelo completely protects your data. Data transmitted to the server. Data sharing (both files and directory structure)

Speeding up GPU-based password cracking

The State of Modern Password Cracking

Password Manager with 3-Step Authentication System

Password Cracking Beyond Brute-Force

Authentication Types. Password-based Authentication. Off-Line Password Guessing

CSC Network Security. User Authentication Basics. Authentication and Identity. What is identity? Authentication: verify a user s identity

Authenticating Humans

Adobe Systems Software Ireland Ltd

2.4: Authentication Authentication types Authentication schemes: RSA, Lamport s Hash Mutual Authentication Session Keys Trusted Intermediaries

Enhancing Cloud Security By: Gotcha (Generating Panoptic Turing Tests to Tell Computers and Human Aparts)

Information Security Services

Penetration Testing //Vulnerability Assessment //Remedy

Multi-Factor Authentication

Table of Contents. Application Vulnerability Trends Report Introduction. 99% of Tested Applications Have Vulnerabilities

Cracking Salted Hashes

Security and Privacy Risks of Using Address as an Identity

IoT & SCADA Cyber Security Services

ONLINE AND MOBILE BANKING, YOUR RISKS COVERED

Dashlane Security Whitepaper

User Identity and Authentication

Media Shuttle s Defense-in- Depth Security Strategy

THE PENNSYLVANIA STATE UNIVERSITY OFFICE OF HUMAN RESOURCES PASSWORD USAGE POLICY

A simple tscheme guide to securing electronic transactions

CAPITAL UNIVERSITY PASSWORD POLICY

A blueprint for an Enterprise Information Security Assurance System. Acuity Risk Management LLP

Visualizing Keyboard Pattern Passwords

WhiteHat Security White Paper. Top 11 PCI DSS 3.0 Changes That Will Affect Your Application Security Program

Counter Expertise Review on the TNO Security Analysis of the Dutch OV-Chipkaart. OV-Chipkaart Security Issues Tutorial for Non-Expert Readers

The Password Problem Will Only Get Worse

October 2014 Issue No: 2.0. Good Practice Guide No. 44 Authentication and Credentials for use with HMG Online Services

A Decision Maker s Guide to Securing an IT Infrastructure

PASSWORD MANAGEMENT. February The Government of the Hong Kong Special Administrative Region

Security in Android apps

Two-Factor Authentication and Swivel

Server Security. Contents. Is Rumpus Secure? 2. Use Care When Creating User Accounts 2. Managing Passwords 3. Watch Out For Aliases 4

Security+ Guide to Network Security Fundamentals, Fourth Edition. Chapter 10 Authentication and Account Management

Windows passwords security

Deploying EFS: Part 1

Understanding Passwords. Nigel Pentland National Australia Group Room: Nurburgring Session: DB

CHOOSING THE RIGHT PORTABLE SECURITY DEVICE. A guideline to help your organization chose the Best Secure USB device

GENEVA COLLEGE INFORMATION TECHNOLOGY SERVICES. Password POLICY

TASK TDSP Web Portal Project Cyber Security Standards Best Practices

SENSE Security overview 2014

FORBIDDEN - Ethical Hacking Workshop Duration

Adversary Modelling 1

Boston University Security Awareness. What you need to know to keep information safe and secure

More effective protection for your access control system with end-to-end security

Your Password Complexity Requirements are Worthless. Rick Redman KoreLogic

CNT4406/5412 Network Security Introduction

Distributed Password Cracking with John the Ripper

Cyber Essentials Scheme

Criteria for web application security check. Version

EVALUATION GUIDE. Evaluating a Self-Service Password Reset Tool. Usability. The password reality

HP ProtectTools Windows Mobile

Chapter 11 Security+ Guide to Network Security Fundamentals, Third Edition Basic Cryptography

User Identification and Authentication Concepts

Using Foundstone CookieDigger to Analyze Web Session Management

Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 7 Access Control Fundamentals

Hack Your SQL Server Database Before the Hackers Do

Enterprise level security, the Huddle way.

SHARPCLOUD SECURITY STATEMENT

Choosing Encryption for Microsoft SQL Server

Common Pitfalls in Cryptography for Software Developers. OWASP AppSec Israel July The OWASP Foundation

Security in the smart grid

The introduction covers the recent changes is security threats and the effect those changes have on how we protect systems.

white paper No More Spreadsheets: Top 5 Reasons to STOP using Excel for Planning and Performance Management Executive Summary

HIPAA: MANAGING ACCESS TO SYSTEMS STORING ephi WITH SECRET SERVER

RSA Encryption. Tom Davis October 10, 2003

Uniface and Web Application Security

Compliance. Review. Our Compliance Review is based on an in-depth analysis and evaluation of your organization's:

Enterprise SSO Manager (E-SSO-M)

Feedback Ferret. Security Incident Response Plan

Why SMS for 2FA? MessageMedia Industry Intelligence

SPICE EduGuide EG0015 Security of Administrative Accounts

Loophole+ with Ethical Hacking and Penetration Testing

Virtual Data Room. From Deal Making to Due Diligence

White Paper: Multi-Factor Authentication Platform

Multi-factor authentication

Token Security or Just Token Security? A Vanson Bourne report for Entrust

Rainbow Cracking: Do you need to fear the Rainbow? Philippe Oechslin, Objectif Sécurité. OS Objectif Sécurité SA, Gland,

Desktop and Laptop Security Policy

How to complete the Secure Internet Site Declaration (SISD) form

Securing end-user mobile devices in the enterprise

Adopting Agile Testing

Transcription:

Protecting against modern password cracking Are passwords still an adequate form of authentication? by Yiannis Chrysanthou, MSc (RHUL, 2012), and Allan Tomlinson (supervisor), ISG, Royal Holloway istockphoto/ronen

How can organisations ensure their passwords are not compromised? Attackers are increasingly turning to human psychology and the study of password selection patterns among user groups to develop sophisticated techniques that can quickly and effectively recover passwords by Yiannis Chrysanthou, MSc (RHUL, 2012), and Allan Tomlinson (supervisor), ISG, Royal Holloway Passwords are the most common means of authentication. An enterprise employee uses multiple passwords every day in order to use all applications and systems provided by his employer. Businesses spend a considerable amount of resources to deploy authentication mechanisms and policies, which are then compromised due to password leaks or misuse. Attackers, on the other hand, have automated software that can guess typical passwords with great success. There is also a misconception that longer and harder passwords can withstand the sophisticated recovery techniques used by most attackers. Passwords are commonly protected by applying a one-way cryptographic algorithm that produces a hash of set length given any password as input. However, cryptography can only protect something to the point where the only feasible attack on the encrypted secret is to try to guess it. When it comes to passwords, guessing can be easy. Passwords are insecure by nature because they are used to prevent humans from guessing a small secret created by humans themselves. This article shows that guessing passwords is as easy as creating them: most commonly used passwords are easy to guess and harder passwords are almost never used. Introduction There are two major categories of password attacks: online and offline. Online password attacks are where a live host is brute-forced and a pool of possible passwords are used as input against a login form or session until successful login is achieved. This type of attack is usually easier to block by adding protection mechanisms such as Captcha images and a maximum limit on unsuccessful authentication attempts. We will therefore consider only the second category. Offline password attacks, on the other hand, assume that the attacker already owns a database dump of passwords in hashed format and wishes to recover some or all of them. The attacker can acquire hashed passwords from previous attacks, using SQL injections to get hashed passwords or database contents, or simply by waiting for a database dump to become public, as commonly happens nowadays. His aim is not so much to crack specific passwords, but rather to crack a significant proportion of the total database with the expectation that at least a number of them will allow him access to items of value. There are several types of attack techniques. The hashing algorithm that should be used to encrypt entries in the password database may influence the choice of attack. An attacker will usually choose a password cracking technique that is known to be most efficient with the type of hashed password or passwords he is trying to recover. Efficiency is usually measured by the time needed to complete an attack, the amount of resources the attack requires, and the success rate of the specific attack within the time space and with the resources used. -2-

The contents of all major password database breaches that took place in recent years are now public. Database hash dumps such as RockYou (2009), Phpbb (2009), and LinkedIn (2012) are publicly available for anyone to attempt to recover passwords and the majority of passwords from these databases have been recovered already. These incidents also pose a higher security threat than having passwords of a specific website revealed. Many users reuse the same passwords across applications and for both business and personal purposes. Therefore, the above incidents enabled additional attacks on organisations and institutions across the world whose employees had been using their work passwords for their LinkedIn, RockYou and Phpbb accounts. It can be argued that having a password policy that dictates the change of passwords once a month or on a weekly basis could have helped to avoid such incidents. However, an attacker could be successful in compromising a target within a day, or even a couple of hours, depending on the incident. Another common misconception is that a complete attack requires a large amount of resources and a lot of time. This is no longer the case, because attacks today are highly optimised and targeted. Traditional password cracking attacks can be mixed and matched, each used for its benefits to craft the most effective attack for the task at hand. A common misconception is that a complete attack requires a large amount of resources and a lot of time The password cracking toolbox Traditionally, password cracking was based on one of the following major attack techniques: n Brute-force attacks perform an exhaustive search using all possible string combinations for a specific password length. Brute-force attacks are known to be inefficient because it takes an unrealistic amount of time to perform a complete (lowercase, uppercase, numbers and special characters) attack for password lengths above about 10 characters. n Rainbow tables are pre-computed for a time-memory tradeoff attack. Tables with hash chains are created and stored for later use. Chains can be shorter, in which case more processing is required when they are applied, or longer, in which case more storage is required. This type of attack is now considered to be outdated because of the introduction of password salting: password salting adds a unique, but determined, string to every password before it is hashed and stored in the database, making it unmatchable to the password hash already stored within existing rainbow tables. n Dictionary attacks are optimised searches based on popular and commonly used passwords, which are compiled into a dictionary (or word list) and used against a password hash. Dictionaries used to be very limited and would traditionally include only meaningful words from official dictionaries and therefore their success rate would be much lower than it is today. Today, new dictionaries are created and made public on a regular basis. This makes dictionary attacks more effective but considerably less efficient because of the storage space and processing required when using all available dictionaries. The introduction of additional attacks has greatly improved the success of password cracking. These newer attacks are: n Search engine utilisation (for example, Google hash search). Surprisingly, many passwords can be recovered this way because of the various lists of recovered passwords that have been already made public online. n Combined dictionary attacks where several dictionaries are combined with each other and with themselves to create new dictionaries with larger and more complicated words and phrases. n Hybrid dictionary attacks are realised by concatenating dictionaries with a brute-forced string attached to every dictionary entry. n Rule-based dictionary attacks use a set of predefined rules to mutate an -3-

existing dictionary and expand it. Rules are becoming increasingly powerful because they are currently created from analysing already recovered passwords and transforming password trends into rules. An example of this would be the addition of numbers and special characters (that are nowadays required by most applications) and the realisation that most users merely add these characters to the end of the password string when requested. This simple realisation led to the creation of highly effective dictionaries simply by adding numbers and special characters to the existing dictionaries. n Markov chains are mathematical tools that have been introduced to password cracking very recently. They work only with user-selected passwords and they create a collection of so-called words made of the most used syllables in a large sample of real-life passwords. The newly generated word collection contains entries that sound like words but are not necessarily meaningful. These have recently been put to the test with great success against user passwords that contain user-created words or mnemonics. The password cracking toolbox has changed greatly in recent years in response to stricter password policies and procedures and this change is expected to continue. There is an obvious shift of interest away from abstract and exhaustive attacks that waste resources, and towards optimised and target specific attacks that take human psychology and password policies into account. At the core of this shift is the study of password patterns that users choose, which is affected principally by a combination of two factors: ease of memorising a password; and password policies that are forced upon users. The study of password selection patterns There are password selection patterns that can be discovered easily at any given time and for any given group of users. These patterns can vary depending on password policies, user demographics, user technical competence and even stories published by the media. These patterns change from time to time istockphoto/zmeel -4-

to reflect changes in technology, new applications used and the psychological impact caused by all these factors. To illustrate this trend, one can analyse password databases made public by recent incidents such as RockYou (2009, ~14 million passwords), Phpbb (2009, ~5 million passwords), LinkedIn (2012, ~54 million passwords) mentioned earlier or even the Sony database breach from 2011. For example, by analysing recovered passwords from the RockYou database, it can be concluded that: n More than half of the users (54%) had chosen a password equal to or fewer than eight characters in length. Passwords of this length can be easily recovered using almost any type of attack. n Almost half of the users (42%) used only lowercase letters and numbers in their passwords. Additionally, almost all passwords (93%) do not contain any special characters. n More than a third of all users (37%) chose a password that consists of alphabet letters followed by numbers as a password selection pattern. Additionally, the majority of users that include special characters in their passwords do so by adding them to the end of the password string. n There is a considerable number of passwords that should have never been allowed. For example, 97,911 of the 14 million passwords contain as a part or as a whole the string password. n A more in-depth analysis reveals more detailed information such as the fact that 9% of passwords have the number 1 as last character and 11% of passwords have the last two characters as numbers. This information can be used to create a set of rules that could transform simple existing dictionaries into highly effective attacks. There is a lot of misinformation regarding password usage and so the severity of outdated password policies is not always taken seriously enough By analysing the Phpbb recovered password database (also from 2009), similar patterns can be found. In fact, more than two-thirds (70%) of the Phpbb passwords were eight characters long or fewer. It does not seem to make a difference in this case whether the application is commercial (such as RockYou) or OpenSource (such as Phpbb). There is a lot of misinformation regarding password usage and so the severity of outdated password policies is not always taken seriously enough. By analysing recovered passwords from the LinkedIn password leak that took place almost three years after the RockYou and Phpbb incidents, one can see a noticeable change in password patterns chosen by users. However, is the change big enough to keep up with the advances made in password cracking? Specifically, there are no passwords smaller than six characters in length within the LinkedIn passwords. On the other hand, almost one-third (31%) of passwords are of the minimum length of eight characters. In general, passwords from the LinkedIn database are much longer, with a quarter of all passwords being 10 characters or longer. The predominant characters used are still lowercase and numbers, but there is a big increase in the percentage of passwords that use mixed case letters and numbers but this may be a feature of the different demography of LinkedIn members. An interesting finding is that the most encountered base words within recovered passwords are variations of the string LinkedIn. While this might seem obvious, it is a big improvement on earlier password patterns chosen by users who used strings such as password across all their accounts. As users are repeatedly told that they must not reuse passwords, a new password pattern emerged. Users now use different passwords for each of their accounts, but in order to remember them they include the application or business name that provides the service within their password. -5-

In response to these new password pattern trends, password cracking techniques have also evolved. It is now common practice to run a fast cracking round first on all hashed passwords in order to recover all easy passwords and use them to understand: n Where are the passwords coming from? n What do users who use this application have in common? n What is the password policy for this application? n What is the minimum password length allowed? n Do all passwords contain numbers? n Do many of them begin with an uppercase letter? n Do they contain any special characters? Anyone can create a highly effective and targeted attack with little effort and obtain good results within a short time period By answering the above questions, an attacker can save a lot of time by eliminating dictionaries that do not conform to the suspected password policy. The attacker can also discover common interests within the user group and use them to create targeted dictionaries and rule sets to help recover the rest of the passwords. Another misconception regarding password cracking is that only individuals with expertise and expensive hardware can attempt to do it successfully. This is clearly no longer the case. Free password cracking software exists for anyone to use. New dictionaries and rule sets are regularly made public by online communities who study the subject. Password cracking software can run on any hardware configuration and is running significantly faster with the introduction of GPU (graphics processing unit) password cracking. An attacker no longer needs friends to distribute processing to because he no longer has to rely on brute-force techniques for password cracking. By using input from the study of password patterns above, anyone can create a highly effective and targeted attack with little effort and obtain good results within a short time period. The proof-of-concept attack It is common practice within organisations to periodically harden password policies in response to the increasing amount of resources and password cracking techniques available to potential attackers. There is also an obvious tradeoff to user acceptability and usability when hardening password policies. How much stricter do password policies need to become to protect our passwords, and how strict is too strict for users to be able to realistically conform to them? Many security professionals will read a lot of literature and media stories before deciding on a new password policy. They will often conclude that having extremely long passwords that include letters, numbers and special characters will almost definitely keep them safe from all casual attackers. This could be partially true if these passwords were truly random. As long as users get to create these passwords, there will always be a pattern to be discovered. Additionally, the very password policies put in place to protect passwords will be used against them. If a user can make sense of a way to create passwords to satisfy the policy, so will an attacker. Assuming the existence of a password selection pattern, an exhaustive search attack is no longer necessary and the attacker can be anyone. To illustrate this, we now outline a dynamic, fast and successful attack on real world passwords. We assume the attacker has obtained of a list of hashed passwords and wants to recover them. How he gets these passwords is not necessarily important. He could get them from exploiting a vulnerability in an application or he could be an insider of the organisation who wants to escalate his set of privileges. What is important is that the attacker can recover the -6-

majority of passwords in our case more than three-quarters of the Phpbb password database on a personal computer in less than an hour. The attack is iterative: n Step 1: Load a good set of rules and some good dictionaries. n Step 2: Loop the following three times: n Step 2A: Run a dictionary attack with rules on the password hashes. n Step 2B: Run a hybrid dictionary attack on the password hashes. n Step 2C: Dynamically generate new rules that are specific to this attack and were made by analysing the first recovered passwords. n Step 3: Create Markov chains from all recovered passwords thus far and run a Markov chains attack on the remaining hashes. n Step 4: Run a combined dictionary attack on the password hashes. The reasoning behind the above is that the resulting attack benefits from combining the complete password cracking tool set into an attack that is neither too time consuming nor resource intensive and can produce good results. Rules are input from the analysis of password selection patterns, Dictionaries are input from the analysis of real password databases made public, Hybrid attacks add a touch of brute-force to the mix, while Markov chains aim to recover mnemonic password strings. Finally, all strings created are mixed and matched into a combined dictionary attack in the last step. By combining all these techniques and running them iteratively for a short period of time, we get results much closer to optimal than any single attack mentioned above could achieve on its own. An attack such as the above can be created without in-depth expertise in password cracking or could even be downloaded as part of some password cracking software. It could run on a single home computer and be just as successful. The question still remains: how can an organisation protect its passwords and thus limit access to unauthorised entities? Maybe the answer is not to use passwords as the only means of authentication in the first place. It seems that any advance made towards protecting passwords is matched with an equal interest in lowering its effectiveness. istockphoto/pn_photo -7-

The way forward Passwords do not provide adequate security for most systems. Multiple papers and articles try to educate users to craft human mnemonic passwords and ways to improve the complexity of their passwords by simple mutation. Other suggestions include making passwords larger, adding numbers and special characters. We saw that these actions do not necessarily provide any additional security if they are part of a common practice. It is also said that the more unique the technique to construct a password, the more complex the password is. The technique should be kept as private as the password. However, keeping the password selection policy secret is not easy to achieve and it would be unwise to rely on it. We suggest that the means by which passwords are made secure is to add real randomness to the password There are other suggestions, such as improving hashing algorithms, using slow hashing, adding salt, and allowing all types of characters. While algorithms such as MD5 and SHA1 were meant to be used for file integrity and not password storage, using algorithms specifically designed for the purpose such as bcrypt and PBKDF2 does not guarantee that a user will choose a hard-toguess password. Therefore we do not attempt to suggest any improvements in the password selection processes or the cryptographic algorithms used. Cryptography is almost never the culprit of such incidents in the first place. Often, it simply has to do with an easy password or a reused password. What we do suggest is that: n Passwords are made as secure as possible for the time being, until passwords are no longer used as a single factor of authentication. n Multifactor authentication should be adopted as soon as possible in cases where security is critical. In the meantime, we suggest that the means by which passwords are made secure is to add real randomness to the password. Real password randomness can and should be proved. This cannot be achieved with password policies. Therefore there is a need for one-time passwords, tokens, biometrics or software to add security to passwords. While hardware tokens and biometrics are hard to deploy to a huge customer base within a short period of time, consumers and organisations still have options if they wish to take password security into their own hands. There are several software packages that can produce one-time truly random passwords from a user-created password. In conclusion, we suggest the use of passwords as a part of a multifactor authentication method and not on its own where security is a real concern. n About the authors Yiannis Chrysanthou has been an information security professional for more than four years. He is currently part of KPMG s LLP (UK) Cyber Response Team applying, among other things, his password cracking skills to penetration testing and incident response engagements. He has worked with a number of high-profile clients from the oil and gas, banking and financial sectors. In addition to his role at KPMG, he is active in password cracking communities and has won a number of password cracking competitions with his team. Allan Tomlinson is a senior lecturer with the ISG at Royal Holloway. He has worked on secure NICAM broadcasting for the Institute of Microelectronics at the National University of Singapore, and on the Digicipher II pay-tv system with General Instrument in California. He was principal engineer at Barco Communications Systems, where he was responsible for the development of the Krypton DVB Video Scrambler before joining the ISG. His current main research interests are trust and privacy in distributed systems security, mobile network security and trusted computing. -8-