2 ms·
Interesting. They seem to be abusing a hole where Apple wasn't confirming that the broadcast addresses were valid for tags (ie: "random static" addresses rather
by mmastrac 2y ago
Interesting. They seem to be abusing a hole where Apple wasn't confirming that the broadcast addresses were valid for tags (ie: "random static" addresses rather than public ones).
The BLE broadcast stores part of the lost message public key in the advertising message's address, and part of it in the payload -- they are just using a "normal" BLE address and then reverse-engineering a key from that.
> The Find My network specification mandates the use of ran-
dom static addresses for advertising lost messages. However,
our research reveals that public addresses, resolvable private
addresses, and non-resolvable private addresses can also serve
this purpose without any issues. This implementation vulner-
ability is exploited by our attack to track Linux, Android, and
Windows systems.
> Our work uncovered a vulnerability in the Find My ser-
vice that permitted all types of BLE addresses for advertis-
ing. Exploiting this vulnerability, we proposed a novel at-
tack, nRootTag, which transforms a Bluetooth device into an
“AirTag” tracker without requiring root privilege escalation.
By utilizing over a billion active Apple devices as finders,
the attack is able to accurately track user devices. Through
rainbow table-based offline key search or GPU-accelerated
online key search, an infected computer can be quickly turned
into a tracker. Notably, the online key search cost does not in-
crease as the number of tracked devices grows. The evaluation
shows that the attack is effective across various devices, in-
cluding desktops, laptops, smartphones, and IoT devices, and
worked on Linux, Windows, and Android platforms. We also
discussed how the attack could be extended to track Apple
devices.
- deleted 2y ago[deleted]
- Domenic_S 2y ago> they are just using a "normal" BLE address and then reverse-engineering a key from that. It's really clever - the BLE spec limits message size, so Apple uses the BLE address as part of the message (the first part of the public key). But since the public address of a BLE chip has 24 bits of "Company ID" (similar to MAC addresses I guess?), and the registry records are public, they were able to precompute a bunch of public/private keypairs.