Медиамусор и “злобная Эпол, блокирующая айфоны”
Те, кто на протяжении какого-то времени читают мой блог, знают, как я «люблю» современные медиа (в интернете и не только). Экономика, построенная на кликах и просмотрах, очень скатывается в ту желтизну, от которой отмыться потом какому-либо изданию будет очень-очень сложно. Но редакторы продолжают требовать от авторов просмотров, авторы продолжают генерить заголовки, которые иначе чем click-bait и не назовешь, а страдают в итоге читатели.
Последний пример из этой серии — это история про то, как «ЭПОЛ БЛОКИРУЕТ АЙФОНЫ, ОТРЕМОНТИРОВАННЫЕ НЕОФИЦИАЛЬНО». Я на прошлой неделе набрал воздуха, чтобы об этом что-то написать, потом выдохнул и махнул рукой, а тут даже BBC отличилась заголовком, поэтому у меня подгорело снова. И проблема не только в заголовках, призванных генерировать заходы пользователей (а по странному стечению обстоятельств практически все, что содержит в себе название Apple, является магнитом для кликов), но и в том, что даже в статьях, которые об этой истории рассказывают, не поясняется суть проблемы, а текст чаще всего в очередной раз обличающий Apple в корпоративной жадности и ненависти к пользователям, которые искренне просто хотели сэкономить несколько долларов.
История довольно-таки простая. Если у вас есть iPhone 6 или более поздняя модель, там есть сканер отпечатка пальца TouchID (TouchID есть и в 5S, но там есть нюанс, о нем ниже). Если вы разбиваете экран и вам меняют всю переднюю панель в сборе (включая кнопку Home, которая и является этим самым сканером отпечатков), то после установки какого-нибудь обновления ПО на телефон iTunes покажет вам ошибку 53, а телефон превратится в «кирпич», то есть перестанет работать. Большинство материалов, которые я читал в интернете, подают эту историю как пример борьбы Apple с неофициальными сервисами, когда компания такими методами заставляет пользователей идти в Apple Store и платить несусветные деньжищи за ремонт устройств. Это самая простая версия, хорошо вписывается образ «злобного капиталиста» и хорошо генерит просмотры.
Реальность, разумеется, гораздо тривиальней и скучнее. Вот объяснение Apple:
«We protect fingerprint data using a secure enclave, which is uniquely paired to the touch ID sensor. When iPhone is serviced by an authorised Apple service provider or Apple retail store for changes that affect the touch ID sensor, the pairing is re-validated. This check ensures the device and the iOS features related to touch ID remain secure. Without this unique pairing, a malicious touch ID sensor could be substituted, thereby gaining access to the secure enclave. When iOS detects that the pairing fails, touch ID, including Apple Pay, is disabled so the device remains secure.»
Если вкратце, то сенсор TouchID связан с безопасным хранилищем информации об отпечатке пальца в телефоне. При ремонте в авторизованном сервисе (Apple Store или нет), там происходит процесс повторной «связки» сенсора и хранилища. Без такой связки существует вероятность подмены на «вредоносный» сенсор, который может получить доступ к безопасному хранилищу и потенциально утечке данных пользователей.
Теперь о том, почему это происходит при обновлении ОС. В принципе, чтобы сделать объяснение совсем скучным, можно интересующегося отправить
в документ iOS Security Guide, где на странице 6 поясняется, почему эта история происходит при обновлении ПО — потому что ОС проходит дополнительную авторизацию через сервера Apple:
During an iOS upgrade, iTunes (or the device itself, in the case of OTA software updates) connects to the Apple installation authorization server and sends it a list of cryptographic measurements for each part of the installation bundle to be installed (for example, LLB, iBoot, the kernel, and OS image), a random anti-replay value (nonce), and the device«s unique ID (ECID).
The authorization server checks the presented list of measurements against versions for which installation is permitted and, if it finds a match, adds the ECID to the measurement and signs the result. The server passes a complete set of signed data to the device as part of the upgrade process. Adding the ECID «personalizes» the authorization for the requesting device. By authorizing and signing only for known measurements, the server ensures that the update takes place exactly as provided by Apple.
The boot-time chain-of-trust evaluation verifies that the signature comes from Apple and that the measurement of the item loaded from disk, combined with the device«s ECID, matches what was covered by the signature.
These steps ensure that the authorization is for a specific device and that an old iOS version from one device can«t be copied to another. The nonce prevents an attacker from saving the server«s response and using it to tamper with a device or otherwise alter the system software.
Из-за такой проблемы, возникающей именно при обновлении системы, телефон превращается в тот самый «кирпич», хотя это явно сделано не намеренно «чтобы наказать пользователей». Допускаю, что в следующем обновлении системы будет встроена какая-то дополнительная проверка, которая будет сообщать о неавторизованных компонентах сразу после их установки (что, безусловно, вызовет отдельную попоболь у яблочных хейтеров). Кстати, iPhone 5S не страдает от этой проблемы, потому что у него нет внутри чипа NFC, поэтому такой жесткой привязки с функциям безопасности, в нем нет и телефон проходит проверку после обновления. Кстати, одна из историй была о том, как у человека, который кнопку не менял, тоже возникла такая ошибка. В Apple Store ему этот телефон поменяли и отправили его куда-то там в «недра компании» для изучения. Скучно? Да, разумеется. Но лучше скучно и правда, чем желтая сенсационность. Хотя, конечно, стоит отметить и некую косноязычность Apple в коммуницировании об этой проблеме вовремя. Хотя это не оправдывает те ресурсы, которые забивают интернет своим мусором, не разбираясь в проблеме.