Uber и Apple

Эта заметка по тематике больше подходит для канала в Телеграме, но я решил опубликовать её в блоге в том числе и для тех читателей, которые по какой-то причине не пользуются Телеграмом или до сих пор почему-то не подписались на канал “Информация Опасносте”. В воскресенье у The New York Times вышел интересный материал, который рассказывает, скажем так, о спорных подходах Тревиса Каланика, CEO компании Uber, к ведению бизнеса, и о том, как в одной ситуации такой подход привел к конфликту с Тимом Куком.
Я не хочу осуждать или оправдывать Каланика за то, о чем рассказывает NYTimes, просто расскажу вкратце, о чем идет речь. Ситуация касается в том числе и того, как вольготно Uber обращается с пользовательскими данными и какие методы использует компания для того, чтобы больше знать о своих пользователях, но если не разобраться детально в вопросе, то из этого можно сделать не очень корректные выводы. Собственно, я уже вчера видел в некоторых СМИ заголовки “Убер следит за пользователями даже после удаления приложения”, и, боюсь, что в погоне за сенсацией, некоторые СМИ будут и дальше распространять эту информацию, что, возможно, не совсем отвечает действительности.


Основная сенсация крутится вокруг истории о том, что Убер делал нечто нехорошее со своим приложением, Apple это обнаружила, Тим Кук пригласил на встречу к себе Тревиса Каланика и сказал ему, что если Убер не прекратит это делать, то Apple уберет его приложение из App Store. Понятно, что тут налицо преференции для крупного игрока: будь это какое-то приложение разработчика-одиночки, Apple сначала снесла бы приложение, а потом разбиралась, но Убер достаточно крупный игрок, чтобы с ним надо было договариваться подобным образом. Интересно, что в статье рассказывается, что Каланис в этот момент здорово “очканул”, так как без App Store и пользователей iPhone Uber пришлось бы нелегко, поэтому они прекратили практику нарушения правил App Store. В статье вообще практически намекается на то, что если бы Кук привел в действие свою угрозу, то еще неизвестно, выжил ли бы после этого Uber. (Что, кстати, тоже интересная, но отдельная тема для разговора — возможности Apple, по сути, одним росчерком пера убить сторонний бизнес).
Но что же такого делало приложение Uber? Как я уже писал выше, сенсационные заголовки говорят о том, что “Убер следит за пользователями даже после того, как они удалили приложение”. Из статьи в NYTimes конкретных технических деталей, к сожалению, не получить, но речь идет о следующем:
1. Когда Uber пытался набрать пользовательскую базу в Китае, он столкнулся с тем, что китайские водители, работающие на Uber, накупили себе кучу iPhone и регистрировали на них новые учетные записи
2. Потом с этих iPhone они заказывали сами себе поездки, которые тут же принимали как заказы и выполняли их
3. Поскольку Uber в момент активного маркетинга предлагал водителям большие бонусы за большое количество поездок, это, очевидно, с финансовой точки зрения для водителей оправдывало такую махинацию.
Чтобы бороться с такими водителями, Uber разработали некую схему так называемого “отпечатка” iPhone, которая позволяла каким-то образом идентифицировать iPhone после переустановки приложения Uber или даже после того, как смартфону делали сброс до фабричных настроек. Это, как я понимаю, позволяло бороться с мошенничеством со стороны таких водителей (очевидно, не позволяло регистрировать разные учетные записи с одного и того же телефона). Повторюсь, похоже, что никакой “слежки за пользователем” после удаления приложения не было. Это не то, чтобы давало возможность “следить за пользователями после удаления приложения”, но определенный trace конкретного устройства в базе Uber оставался, и даже, наверно, позволяло персонифицировать пользователей. Конкретно уже одно это нарушало правила Apple касательно охраны пользовательских данных iPhone. (Я, кстати, думаю, что на самом деле там не было никакой особой магии, а это было, скорей всего, какое-то приватное API по получению UDID/IMEI устройства, что Apple запретила делать несколько лет назад)
Но была и вторая часть. Для того, чтобы сотрудники Apple, которые проверяют приложения в App Store, не обнаружили этот механизм “отпечатка”, Uber добавил еще функцию в приложение, которая специальным (опять же, в статье не говорится как именно) образом маскировала механизм слежения за “отпечатком” телефона, если приложение запускалось в пределах офиса Apple в Купертино. Хитро, конечно, но поскольку офисы Apple есть не только в Купертино, это все же каким-то образом было обнаружено, после чего Кук пригласил Каланика на встречу и устроил ему там порку. Uber сделали все, как требовала Apple, и наступил мир-дружба-жвачка. (Надолго ли, с учетом того, что в Китае, где у Uber ничего не получилось, Apple инвестировала 1 млрд долл в конкурента Uber, компанию Didi Chuxing).
Апд. А вот, кажется, и ответ о том, что делал Убер, на базе анализа приложения версии 2014 года:

They were dynamically loading IOKit.framework (a private framework), then dynamically loading some symbols from it to iterate through the device registry (also very much forbidden). They have code to nab a few things from the registry, but the only persistent identifier they actually use appears to be the device Serial Number,”. “I believe that in iOS 9 and beyond, this is blocked by the iOS sandbox. Just to clarify, this also shows the initial concern of ‘tracking after uninstall’ was bad phrasing. The case here is tracking between uninstall/reinstall, which is still a privacy violation as Apple forbids this kind of tracking (that is why they removed the APIs for getting device UDID).”