Security Researcher Publishes How-To Guide To Crack Android Full Disk Encryption (thehackernews.com)
An anonymous reader writes: Google first implemented Full Disk Encryption in Android by default with Android 5.0 Lollipop in an effort to prevent criminals or government agencies from gaining unauthorized access to one's data. What it does is it encodes all the data on a user's Android device before it's ever written to disk using a user's authentication code. Once it is encrypted, it can only be decrypted if the user enters his/her password. However, security researcher Gal Beniamini has discovered issues with the full disk encryption. He published a step-by-step guide on how one can break down the encryption protections on Android devices powered by Qualcomm Snapdragon processors. The source of the exploit is posted on GitHub. Android's disk encryption on devices with Qualcomm chips is based only on your password. However, Android uses your password to create a 2048-bit RSA key (KeyMaster) derived from it instead. Qualcomm specifically runs in the Snapdragon TrustZone to protect critical functions like encryption and biometric scanning, but Beniamini discovered that it's possible to exploit a security flaw and retrieve the keys from TrustZone. Qualcomm runs a small kernel in TrustZone to offer a Trusted Execution Environment known as Qualcomm Secure Execution Environment (QSEE), which allows small apps to run inside of QSEE away from the main Android OS. Beniamini has detailed a way for attackers to exploit an Android kernel security flaw to load their own QSEE app inside this secure environment, thereby exploiting privilege escalation flaw and hijacking of the complete QSEE space, including the keys generated for full disk encryption. The researcher also said Qualcomm or OEMs can comply with government or law enforcement agencies to break the FDE: "Since the key is available to TrustZone, Qualcomm and OEMs [Original Equipment Manufacturers] could simply create and sign a TrustZone image which extracts the KeyMaster keys and flash it to the target device," Beniamini wrote. "This would allow law enforcement to easily brute force the FDE password off the device using the leaked keys."
From reading TFA, I conclude that you still need unlocked access to the phone? so if somebody gets hold of your turned off phone, they can't use it.
Don't use TrustZone; store the stuff as a proper LUKS volume and stop using "trusted" proprietary crap. People complain about how these hypervisor sideband processors are not open or auditable and are always dismissed as paranoid fools by naysayers (it can't POSSIBLY happen!) then this kind of thing happens and the hand-wavers desperately try to do some damage control so they won't be wrong somehow. It's the same story with Intel ME. Can we just admit already that having supervisory-processor-within-a-processor stuff is inherently insecure?
He published a step-by-step guide on how one can break down the encryption protections on Android devices powered by Qualcomm Snapdragon processors.
I do not think Qualcomm or Google will be impressed.
My advice to him: "Get a lawyer, quick!"
And exploit of the widevine DRM subsystem running in trust-zone. The second exploit is possible because you don't control the keys to the kingdom.
I read the article and it looks like this exploit merely allows offline brute forcing of the password. Now, of course, many people choose short passwords on their portable devices, but if you choose a password with sufficient entropy (at least 100 bits, or better yet, 128) you should be safe from this attack. Note: that would require a fairly long and random alphanumeric password.
If I can be modded down for being a troll, can I be modded up for being an orc, or a balrog?
That assumes you can get the user's device from them without their knowledge. Such an attack is feasible on desktops, and many laptops, but phones are the one electronic device even layman carry with them EVERYWHERE. When was the last time your phone was out of your immediate sight and direct control?
I want peace on earth and goodwill toward man.
We are the United States Government! We don't do that sort of thing.
For devices that get regular updates the Qualcomm TrustZone bug has already been fixed. It went out in the January 2016 updates: https://source.android.com/sec.... Check the patchlevel date on your device.
Of course the other part, that someone who can compel Qualcomm to sign TrustZone software images that intentionally compromise security, is still the case, and likely will be for some time. That's a threat model that hadn't been considered important until recently, and it's one that's not easy to mitigate. That's not restricted to Qualcomm, either. In every device with a trusted execution environment, there's some organization who holds the signing keys needed to load firmware in that environment, generally (but not always) the SoC vendor.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
When was the last time your phone was out of your immediate sight and direct control?
5-8 hours per night. plus the odd nap. plus when i leave it in the locker at the pool or gym. There are some other times too... like swimming at the beach.
That assumes you can get the user's device from them without their knowledge.
Just steal it from them when they are out and about. Sure they'll know its gone missing. So what? You want what's on it, it doesn't always matter if they know or not -- and most of us aren't paranoid enough to assume it was the men in black helicopters and not just some random theif. Phones get stolen ALL THE TIME.
Hell, you can even plant something on it, and then return it to them... turn it into the carrier or lost and found or the police or something; odds are they'll be so happy/surprised that it turned up again they won't even think that it was hacked.
Why not just uncompressed the initramfs, load a binary or other tool to siphon off the users pw on key entry?
The kernel is unencrypted as the system needs to boot from it
If you modify the boot image on a Marshmallow device, the screen will notify the user during boot that verification failed. On a Nougat device I believe it will refuse to boot.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
Hell, you can even plant something on it, and then return it to them... turn it into the carrier or lost and found or the police or something; odds are they'll be so happy/surprised that it turned up again they won't even think that it was hacked.
Planting something on it isn't so easy if it's locked. But, really, you don't have to do that. Want to get into someone's phone? Here's how:
Buy an identical device. Get a good look at theirs so you can put similar scratches, cover, lockscreen background, etc. on it. Configure your device to send the password they enter to you. Steal theirs and leave yours in its place. When they enter your password, you get it and use it to get into their device. To keep it from being obvious that their device has been replaced, have it refuse to "unlock" no matter what they enter. This also helps you in the event they get their password wrong the first time, because they'll helpfully re-enter it. Meanwhile, they'll think their password on their phone has gotten messed up.
This works on *any* model... Android, iPhone, Windows phone, Blackberry... you name it.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
and most of us aren't paranoid enough to assume it was the men in black helicopters and not just some random theif.
The point is that the people who do have something to hide are apt to be that paranoid, so this attack vector isn't as useful as it might seem. Then again, I suppose that many criminals are idiots, and I could see some of them being stupid enough to enter a passphrase even if the device was handed back to them by the detective running their case. Hell, they'd probably unlock it on their way out of the station to text their buddies about how they beat the system. That's pretty low hanging fruit though.
Personally, I have little worth hiding, but I would not key a FDE passphrase into any device that I had reason to believe was no longer trustworthy. At the very least a lost and found device is getting a full reset and ROM reload. It's the same approach to dealing with malware; it never ceases to amaze me how many otherwise smart IT folks think they can "clean" a compromised system. There is no "cleaning" a compromised system, you blow it away and rebuild it. Anything short of this invites disaster and should it strike you deserve what you get.
I want peace on earth and goodwill toward man.
We are the United States Government! We don't do that sort of thing.
All encryption can be eventually cracked. More at 11.
The original Android implementation of dm-crypt generates a -random- key in Android 5.0, which is the key used for encryption. It then encrypts that key with the user's passphrase/PIN/whatever. This implementation is pretty secure, because other than active RAM attacks, when the phone starts up, it will ask for the decryption key for /data, and no key, no decryption.
From what I have looked at with CyanogenMod, this ROM uses the "old fashioned way". No TrustZone, no fancy footwork with keys... just a relatively simple prompt for the passphrase at the phone startup so /data can be mounted and used. From there, the VEK (volume encryption key) is in RAM, and the screen lock is used. This is simple, but effective.
Seems like the solution would be to allow users to wipe the manufacturer key and install their own. Although they probably don't want to do this with all their signed bootloaders and code.
https://www.fsf.org/associate/support_freedom
>" The researcher also said Qualcomm or OEMs can comply with government or law enforcement agencies to break the FDE: "Since the key is available to TrustZone, Qualcomm and OEMs could simply create and sign a TrustZone image which extracts the KeyMaster keys and flash it to the target device," Beniamini wrote. "This would allow law enforcement to easily brute force the FDE password off the device using the leaked keys." "
Which also means ANYONE it was leaked to can do the same thing- criminals, spies, malware, other governments, etc. Which is why having backdoors is always bad.
this was made public knowledge before the FBI could classify it as a National Security secret.
From the article in The Hacker News, "Once getting hold of this key, an attacker could perform a brute-force attack to grab the user password, PIN or lock, cracking Android's full disk encryption."
Why not just get the user password by brute force attack to begin with since it will unlock the encrypted files for you? I know I'm missing something. If you go through this process only to wind up having to mount a brute force attack, what is gained?