Brute force attacks against smartphones are not usually a viable attack vector. Manufacturers employ scaling lockouts that progress into longer and longer periods between attempts and, if the user is security conscious, the device may wipe after 10 attempts. However if there are logic flaws in the smartphone's, authentication mechanism, the brute force attack can make a comeback.
My name is Jacob Wilkin and I work as a security analyst at Trustwave SpiderLabs. Today I want to share with you a vulnerability that I discovered on Elephone's 2016 flagship Android smartphone, the P9000. This vulnerability can lead to a lock screen authentication bypass in under 16 minutes and I'm going to share with you the hardware and the code used to perform this attack.
There is a logic flaw in the lock screen of the Elephone P9000, where it is possible to continuously attempt pin codes (bruteforce) without a lockout occurring or triggering the security feature that would wipe the device to protect sensitive information.
Typically if a user enters the wrong pin 5 times and presses the tick button to confirm it, a popup appears onscreen making them wait 30 seconds before trying again. If the security setting are enabled for it, after 10 attempts this will also completely wipe the device. These features limit the effectiveness of a brute force attack.
The logic flaw in the Elephone P9000 is located in the auto login feature, where if the correct pin is entered the user is not required to press the tick button. Instead the user is automatically authenticated to the device. This is a logic flaw because if a pin is attempted and is not automatically authenticated, a malicious user can simply press the backspace button and try another pin without trigging the internal lockout counter on the phone.
This opens the phones lock screen to being vulnerable to a brute force attack, and since the average user's pin is only 4-digits (10,000 combinations) this will take only a trivial amount of time.
As the Elephone, like most modern smartphones, supports the use of a usb keyboard, this vulnerability can be weaponised to perform an automated brute force attack. By setting up a Teensy USB to mimic an external keyboard, it is possible to perform 10 authentication attempts per second, as can been in the video at the bottom of this post. This means that a 4 digit pin can be bruteforced in under 16 minutes, a 5 digit pin in under 3 hours and a 6 digit pin in just over a day. The code for performing the attack on a 4 digit pin can be found at this github link: https://github.com/Green-Wolf/Elephone-Bruteforce
Unfortunately, despite repeated attempts to disclose this vulnerability to Elephone, we have not had any response from the organization. Because of this there is no official patch for this vulnerability. As a workaround, we recommend that Elephone users use the maximum 6-digit pin codes to increase the amount of time an attack could take or, even better, change the authentication mechanism in the security settings to password based. However it should be noted that a dictionary attack using the the exact same methods as a PIN brute force is also possible.
This vulnerability was tested against an Elephone P9000 with the latest security update on Android 6.0. It was also tested on other smartphone manufacturers phones running on a variety of Android versions and was found not to affect any of them. From this I conclude that this is an Elephone specific vulnerability and therefore is likely to be also found on other Elephone devices. However this could not be verified due to a lack of said devices for testing.
Here is a short video demonstration of the vulnerability:
For additional information please see the full advisory here: https://www.trustwave.com/Resources/Security-Advisories/Advisories/TWSL2017-011/?fid=9707