seemoo-lab / AirGuard

Protect yourself from being tracked 🌍 by AirTags 🏷 and Find My accessories 📍
Apache License 2.0
1.96k stars 110 forks source link

Add support for detection of other tracker brands, eg. Samsung Smart Tags #95

Closed DominikNovosel closed 1 year ago

DominikNovosel commented 1 year ago

Sub $50 tracking devices are rapidly increasing in availability and popularity, and technologies such as AirGuard are very important for counteracting malicious usage of such devices and preserving people's personal safety. That being said, supporting detection of more tracker brands is a significant long-term concern. To this end, I would like to ask the following: Are there any special considerations when it comes to the viability of adding support for a given piece of hardware?

For example:

I specifically mentioned Samsung Smart Tags in the title because that's the hardware I have on hand and am able to test for.

lbdroid commented 1 year ago

This is actually trivial to implement. There is no reason at all to focus on specific tracking device brands. Just scan for ANY bluetooth devices that are detectable, and store identifying details. If the same device is detected in multiple locations, then its following you, which makes it a potential tracker.

DominikNovosel commented 1 year ago

This should work in theory, but it wouldn't be great in practice. The number of false alarms would skyrocket due to the sheer number of different Bluetooth devices one might encounter these days and not all Bluetooth devices are meant for, or indeed capable of, tracking. Unless of course you meant that the trackers would be separated from other devices based on their info. However, a lot of these devices randomize their MAC address every so often and it's also easy to manually change the device's human readable name, thereby evading detection. Also, implementation of device-specific features does have some benefits - potential trackers are easier to locate by triggering whatever output device they have onboard, such as a speaker.

lbdroid commented 1 year ago

Actually, it will work perfectly. Unless something is actually FOLLOWING you (from place to place), then it won't trigger an alarm. How many bluetooth devices do you CARRY that emit periodic beacons? Likely few enough to count on one hand. Most bluetooth devices do NOT emit periodic beacons.

Further, how do you know that a beacon is from a tracker or not? Yes, some trackers can be identifiable by MAC address, but what about a real scary custom tracker?

DominikNovosel commented 1 year ago

Then I guess my particular case is really weird. The people on my commute route have an unusual propensity for leaving their Bluetooth speakers and stuff in pairing mode.

lbdroid commented 1 year ago

How do you know that those aren't trackers?

DominikNovosel commented 1 year ago

Most of their IDs contain names of audio equipment manufacturers and are identified as audio devices. Are they trackers in disguise? Maybe. Is it that easy to make a tracker that looks like an audio device? I don't know. Is anyone in my country likely to go through the trouble of doing that? Almost certainly not.

lbdroid commented 1 year ago

Almost certainly YES. Programmable bluetooth MCU's like Nordic nRF52840 are cheap and plentiful and very easy to work with, and can be made to look like anything you like.

DominikNovosel commented 1 year ago

Oof. Welp, there was this one time another passenger paired and blasted a sine wave full volume through one of them, so at least one of them was an actual speaker. In any case, I'm personally not super worried about this since my country is relatively safe, but I cannot speak for everyone else. The devs were running a study about how worried people even were about being tracked a while ago, but I can't seem to track down the results.

Sn0wfreezeDev commented 1 year ago

We integrated SmartTags from Samsung. It will be shipped with the next update.

DominikNovosel commented 1 year ago

Any estimate for when this update will be released?

eelcohn commented 1 year ago

Any update on when the version which supports SmartTags is going to be released?

DominikNovosel commented 1 year ago

Any update on when the version which supports SmartTags is going to be released?

It's released already.