For those watching the Superfish debacle unfold, you may also be interested to note that Superfish has an app titled LikeThat available for iOS and Android. The app is a visual search tool apparently for finding furniture that you like (whatever). They also have other visual search apps for pets and other idiotic things, all of which seem to be quite popular. Taking a closer look at the application, it appears as though they also do quite a bit of application tracking, including reporting your device’s unique identifier back to an analytics company. They’ve also taken some rather sketchy approaches to how they handle photos so as to potentially preserve the EXIF data in them, which can include your GPS position and other information.
To get started, just taking a quick look at the binary using ‘strings’ can give you some sketchy information. Here are some of the URLs in the binary:
https://sdk.appsflyer.com/install_data/v3/id%@?devkey=%@&device_id=%@ http://track.appsflyer.com/api/v%@/ios%@?app_id=%@&buildnumber=%@ https://et.kissmetrics.com/m/trk https://trk.kissmetrics.com
In fact, Superfish seems to be very interested in your device, and has code in it to determine your mac address, free disk space, and even how much memory you’re using.
As it happens, every search you perform using their API appears to include the unique user identifier they’ve created without your knowledge:
But wait, there’s more! If location services are enabled (in iOS, you have to provide permission; I’ve no idea about Android), then apparently your GPS position is also sent back to the server.
It is unclear if these features are currently enabled in the iOS or Android versions of the application, but it appears as though support for acquiring and reporting your position is at least there, within their SFLocationAPI class.
In addition to mining your device for identifying information, it appears as though the image selection mechanisms use ALAssetsLibrary and friends, which can later be used to extract the EXIF data out of an image in the photo album, which could include GPS coordinates the photo was taken at. So even if you never provided the application itself permission to use the GPS, it may not matter, if the image is being sent up the pipe with all of the EXIF data attached to it. In my opinion, Apple really should ask the user for permission before allowing applications to access the raw metadata in JPG images.
It seems Superfish went out of their way to avoid using the correct method to select an image from your photo album (UIImagePicker), and instead decided to use a technique that could allow access to underlying image metadata most users aren’t aware gets stored.
When taking photos, Superfish has also gone to great lengths to avoid using Apple’s standard interfaces for taking pictures, and instead use low level interfaces and functions that can allow access to the underlying metadata of an image.
In the brief time I spent analyzing Superfish’s image search app, it seems that the same theme of blatant disregard for the user’s privacy and sketchy, sneaky nonconventional code is prevalent in more than just their bundled Lenovo software. That’s it for now, I’ll take a more in-depth look at the code later and update as necessary.
There’s no telling exactly what Superfish is and isn’t doing with what personal data. I guess the question really is whether or not you trust a company that Homeland Security is now warning you against.