checkm8: What you need to know to keep your iPhone safe
A couple days ago, Twitter user axi0mX introduced checkm8, a permanent unpatchable bootrom exploit for iPhones 4S to X
The jailbreak community celebrated this great achievement, the netsec community was astounded at the scope of this exploit, and regular users worried what this meant for their phone's security.
Even though I've jailbroken my iPhone in the past, I have no interest to do it now. If you want to read the implications for the jailbreak community, join the party on /r/jailbreak
I have been reading articles on the topic to understand what are the implications for regular people's security and privacy. All my family has A9 iPhones which are exploitable, and I wanted to know whether our data was at risk and, if such, what could we do to mitigate attacks.
I think the best way to present the findings is with a FAQ so people can understand what's going on.
1-Line TL;DR
If you have an iPhone 4s, 5, or 5c, somebody who has physical access to your phone can get all the data inside it. If your phone is more modern and the attacker doesn't know your password, they can still install malware, but rebooting your phone makes it safe again.
What is Jailbreak?
Your iPhone is controlled by Apple. You own it, but you are limited in what you can do with it.
Some people like this approach, others prefer to have total control of their phone.
A jailbreak is a way of breaking these limitations so you can 100% control what's running on your phone.
The goal of jailbreaking is not necessarily malicious. In fact, the term "jailbreak" has the connotation that the user is doing it willingly.
However, the existence of a jailbreak method means that an attacker could use this same technique to compromise your phone. Therefore, you must understand what is going on and how to protect yourself from these attackers.
Jailbreaking has existed since the first iPhone. Why is this one different?
Typically, jailbreaking methods exploit a software bug. This means that Apple can (and does) fix that bug in the next software release, negating the method and any related security issues.
This method, however, exploits a hardware bug on the bootrom. The bootrom is a physical chip in your iPhone that has some commands literally hard-wired in the chip. Apple cannot fix the bug without replacing the chip, which is unfeasible.
Therefore, it is not possible to fix this bug, and it will live with your phone until you replace it
These kind of bugs are very rare. This exact one has been already patched on recent phones (XS and above) and it has been a long time since the last one was found.
☑ This bug is extremely rare and that is why it's important to know the consequences.
How can an attacker exploit this bug? Can I be affected by it without my knowledge?
This exploit requires an attacker to connect your phone to a computer via Lightning cable.
It cannot be triggered by visiting a website, receiving an email, installing an app, or any non-suspicious action.
☑ If your phone never leaves your sight, you are safe.
I left my phone somewhere out of sight. May it be compromised?
Yes. However, if you reboot your phone, it goes back to safety. Any exploit does not persist upon reboots, at least, at this point in time. If that changes, this text will be updated to reflect that.
Any virus or attack vector will be uninstalled or disabled by Apple's usual protections after a reboot.
If you feel that you are targeted by a resourceful attacker, read below "Is there a feasible way to persist the malware upon reboot?"
☑ If you are not sure about the safety of your phone, reboot it.
Can my personal data be accessed if an attacker gets physical access to my phone?
For iPhones 4S, 5 and 5c, your data may be accessed regardless of your password. For iPhones 5s and above (6, 6s, SE, 7, 8, X), your data is safe as long as you have a strong password.
If you have an iPhone 4s, 5, or 5c, anybody with physical access to your phone will have access to its contents if your password is weak (4 to 8 digit PIN code, or less than 8 characters alphanumeric code)
If your iPhone 4s-5-5c has a strong password, and the attacker does not know it and cannot guess it, they may need a long time (months to years) to extract the data. Therefore this attack cannot be run in the scenario where the phone leaves your sight for a few minutes, but you get it back quickly afterwards. However, if your phone 4s-5-5c is stolen, assume that your data is compromised.
It is unknown if this exploit allows the attacker to guess your password quicker than a "months to years" period on older iPhones.
iPhones 5s and above have a separate chip called the Secure Enclave which manages access to your personal data. Your data is encrypted on the device and can not be accessed. The Secure Enclave does not know your password, but uses some math to decrypt it with your password.
If you have an iPhone 5s and above, an attacker can only access your data if they know, or can easily guess, your password.
☑ Use a strong password (>8 alphanumeric characters) that an attacker can not guess
Can it be used to disable iCloud lock, and therefore re-use stolen phones?
It is unknown at this point.
Assuming the scenario where iCloud lock is not broken, and the Secure Enclave is not affected, what is the worst that can happen to my phone?
You may suffer a phishing attack: they install a fake login screen on your iPhone, or replace the OS with an exact copy that works as expected, but it also sends all your keystrokes and data to the attacker.
The fake environment may be indistinguishable from the real one. If you are not aware of this attack, you will fall for it.
Fortunately, this malware will be purged or disabled upon reboot.
All phones (4s to X) are vulnerable to this attack.
☑ Always reboot your phone if you think it may be compromised.
Is there a feasible way to persist the malware upon reboot?
Unlikely. The jailbreak is tethered, which means that the phone must be connected to a computer every time it boots.
However, somebody may develop a tiny device that connects to the Lightning port of the iPhone and conveniently injects code/malware every time it is rebooted.
This device may be used on purpose by jailbreakers, for convenience (i.e. a Lightning-USB key, or a small computer) or inadvertently installed by a sophisticated attacker (i.e. a phone case that by-passes the lightning port without the victim knowing)
In most cases, this external device will be easy to spot even to the untrained eye.
An extremely sophisticated attacker may develop a custom chip that is connected internally to the Lightning port of the iPhone and runs the malware automatically and invisibly. To do so, they would need physical access to your phone for around 10 minutes, the time it takes to open the phone, solder the new chip, and close it again.
☑ Watch out for unexpected devices connected to your Lightning port
Who are these "attackers" you talk about?
Three-letter agencies (NSA, FBI, KGB, Mossad...) and also private companies who research their own exploits (Cellebrite, Greyshift) to sell them to the former.
It is entirely possible that the above already knew about this exploit, however.
Other attackers may be regular thieves, crackers, pranksters, or anybody interested in developing a virus for the iPhone.
If you are a regular user who is not the target of a Government or Big Criminal, remember:
- Don't let people connect your iPhone to an untrusted device
- Otherwise, reboot it when you get it back
- Watch out for small devices on your Lightning port
References: