Сегодня мы с радостью запускаем Reincubate Lookup. Он отвечает на вопрос, который пользователи задавали снова и снова: можно ли по серийному номеру или IMEI устройства Apple точно определить его и понять, на что оно способно?
- При покупке iPhone или iPad на eBay пользователи могут захотеть проверить характеристики (особенно возраст и объём памяти устройства). Имея серийный номер или IMEI из объявления, они могут проверить характеристики и даже узнать, поставлялось ли устройство заблокированным. Вот пример проверки серийного номера устройства, проданного с блокировкой под оператора.
- Разработчикам часто нужно тестировать приложения на конкретных версиях iOS. Искать подержанные устройства со старой iOS — всё равно что мыть золото, но мы можем определить версию, с которой устройство поставлялось, и отсеять часть объявлений.
- Системные администраторы, отвечающие за парки устройств, получают из MDM-инструментов лишь ограниченные характеристики и данные об устройствах. Предприятия и организации уже используют технологию, на которой работает Reincubate Lookup, чтобы обогащать данные своей инвентаризации устройств.

Reincubate Lookup, готовый проверить серийный номер или IMEI устройства Apple
За последний год клиенты и пользователи отправили в наш API более 13 миллионов запросов информации об устройствах, и это подтолкнуло нас копнуть глубже.
Обещание Reincubate Lookup простое: по серийному номеру Apple или IMEI он выдаёт точные, этичные и удобные данные. У каждой части этого обещания для нас особое значение, и у каждой есть своя история. Давайте разберёмся.
Удобство
В мире мобильных устройств много жаргона, поэтому мы потратили время на то, чтобы продумать, как лучше упорядочить, представить и подписать выводимую информацию. Мы не показываем несколько показателей, которые могут быть полезны некоторым техническим пользователям, но способны запутать остальных.
Ценность данных об устройствах и сложность оценки их достоверности для потребителей породили ряд сервисов, предоставляющих эти данные, и они ограждают их набором мучительных и недружелюбных механизмов, чтобы другие не могли их скачивать. Мы решили обойтись без мучительной капчи и сделали Lookup очень быстрым, без промежуточных страниц загрузки.
Как ни странно, учитывая, что речь о данных о мобильных устройствах, интерфейсы лишь немногих похожих сервисов хорошо работают на телефонах и планшетах. Мы хотели, чтобы наш сервис был удобен на мобильных устройствах и для людей из разных стран.
Надеюсь, нам хорошо удалась доступность Reincubate Lookup. Его тщательно протестировали на iPhone и iPad, и, по-нашему, он выглядит отлично. Он штатно поддерживает тёмное оформление и меняет палитру, чтобы глаза меньше уставали. Он не станет просить вас пройти капчу и доступен на 11 языках.

Тёмное оформление в Reincubate Lookup
Точность
Мы многое узнали об этих данных с тех пор, как в 2017 году начали создавать API для определения устройств (а прошлым летом добавили поддержку расширенных метаданных устройств в iPhone Backup Extractor), и столкнулись с рядом сложных проблем, которые хотели решить.
Одно из первых открытий: данные, стоящие за идентификаторами Apple, если честно, довольно запутаны. У самой Apple нет единого канонического идентификатора модели и нет единообразия в именовании. В некоторых случаях — привет, iPhone 3G — одни и те же идентификаторы даже используются повторно для разных продуктов.
Во время WWDC я с удовольствием пытался обнаружить признаки внутренней согласованности у инженеров и менеджеров Apple, но даже они выражали недовольство этим. Более того, документация Apple по идентификации моделей непоследовательна, и почти каждая форма идентификатора (основных их 12) в какой-то момент называется в ней «моделью».
Идентификаторы, которые использует Apple, со временем тоже менялись. Существует три разных формата серийных номеров (скоро будет четыре) и два разных формата UDID. Номера семейств раньше неизменно начинались с «M», а теперь начинаются только с «A», и вместо этого некоторые MPN теперь начинаются с «M». И так далее.
В интернете уже есть множество инструментов для поиска, но недолго покопавшись, в них находишь неверные данные. Обычно причина структурная: такие инструменты, как Everymac, строятся на наблюдаемых связях между данными идентификаторов, которые кажутся верными… пока не окажутся неверными. У некоторых инструментов достаточно данных, чтобы это распознать, и поиск выдаёт набор возможных результатов, а не один окончательный. Другие выдают данные, которые выглядят почти правильно… но неверны.
Структурные проблемы данных — не единственная беда. Многие из этих систем опираются на ошибочные источники данных: скачивание данных из сервиса Apple GSX, ввод данных техниками или, что хуже всего, ввод данных случайными чудаками из интернета.
Решив сделать всё правильно, мы хотели соблюсти три условия:
- Система должна как можно больше узнавать автоматически и самостоятельно, ведь всё, что требует регулярного ввода, редактирования или модерации данных, быстро устареет.

We needed... a learning computer - Система не должна опираться на нелицензированные или ненадёжные данные. В iPhone Wiki есть некоторые данные (и мы внесли немало), но они не нормализованы и не вполне точны. В API Apple GSX тоже есть данные, но они тоже не нормализованы, в некоторых из них творится что-то странное, и они не лицензированы для такого использования.
- Система должна выдавать данные и результаты, в которых мы полностью уверены, а не такие, которые часто верны. Поэтому, если единого ответа нет или вероятность ответа низкая, система должна ясно это показать.
Этичность
Но точность была не единственным условием. Нам не потребовалось много времени, чтобы понять, откуда в отрасли берутся некоторые из этих данных: от сетей сотрудников, которым платят за тайное копирование (кражу!) данных из внутренних баз.
Пока мы не придумали, как заставить Reincubate Lookup работать, существовало лишь три источника данных об IMEI:
- Скачивание данных из GSX API от Apple. Это нарушает условия Apple и приводит к отзыву доступа к API. Существует небольшая индустрия людей, перепродающих доступ к учётным записям GSX, сжигающих их и пытающихся получить новые. Это не работает.
- Лицензирование базы IMEI GSMA. Эта отраслевая организация мобильной индустрии ведёт канонический реестр всей информации об IMEI и лицензирует свою базу кодов распределения типов (TAC), которые помогают идентифицировать устройства. Хотя это звучит идеально, всё сложнее: сама организация заявляет о точности лишь 95% для данных «GSMA Device Map». Кроме того, в её базе нет нормализованных идентификаторов для включённых устройств. Поиск по TAC может сообщить лишь, что устройство — iPhone XS. Это вряд ли детально.
Организация, похоже, отчасти воюет с производителями мобильных устройств, которых представляет: она одновременно запускает программы по поддержанию целостности IMEI и отмечает, что «the GSMA does not have the responsibility or powers to stop illegal TAC and IMEI activity». Неправильная регистрация этих данных настолько распространена, что организация активно продвигает свой «non-compliant TAC / IMEI reporting process».
По сути, это значит, что нужно учитывать два набора данных: самодекларируемые GSMA данные от производителей, неполные и неточные, но хотя бы теоретически точные, и реальные данные, точные и нормализованные, которые можно построить, изучая мобильные устройства. Нам пришлось создать базу из 3000 TAC устройств Apple, более полную и полезную, чем у GSMA. - Подкуп сотрудников телеком-компаний, которые становятся «шпионами данных». Это та же отвратительная практика, из-за которой американские операторы продают данные о местоположении потребителей охотникам за головами и психам, и именно так работают нелегальные сервисы «разблокировки iCloud».
Некоторые сервисы IMEI рекламируют это совершенно открыто. Мы нашли такое объявление на сайте одного британского сервиса:

Как работают сомнительные сервисы разблокировки
Поскольку мы не были готовы пользоваться ни тем, ни другим подходом, нам пришлось искать третий путь к нужным данным: без шпионов, без GSX, без нечестных приёмов.
Ответ, по сути, в анализе очень больших объёмов данных, понимании связей между ними и сведении их к набору фактов, которые со временем обновляются автоматически. Часть этих данных присуща самим устройствам, а часть можно вывести, изучая анонимизированные вопросы о данных. Если достаточно запросов имеют вид «это устройство A и B, а оно также C?», можно начать понимать, что A и B связаны. Это та же техника, на которой работал наш продукт awdit: иногда, если посмотреть на достаточно много вопросов, можно получить ответы.
Анализ начал работать почти для любого устройства, когда в базе накопилось около 5 000 000 запросов, а если данных для ответа на вопрос недостаточно, Reincubate Lookup порекомендует посмотреть через iPhone Backup Extractor. Он достаточно умён, чтобы копнуть глубже и передать вопрос нам.
На сегодняшний день мы определили чуть менее 9000 кодов конфигураций для 2350 моделей, 127 различных производственных площадок, 304 различных регионов распространения и более 3000 кодов распределения типов IMEI.
Вот так мы пришли к созданию Reincubate Lookup и почему удобство, точность и этичность были важны при его создании. Надеемся, он вам понравится и будет полезен. Если захотите копнуть глубже: все данные Lookup поступают из нашего DeviceIdentifier API, и нам нравится видеть, как люди создают на его основе свои проекты.
Не пропадайте: расскажите, как у вас получилось.






