Сегодня наткнулся на обсуждение в ru_mac
Развитие подобных тем очень предсказуемо. Появляется информация об уязвимости, какое-то время все её обсуждают, проверяют, и приходят к выводу, что всё в порядке. Затем через пару недель подключаются журналисты, которые на основании “исследований британских исследователей из британского исследовательского института” подымают панику начиная от газет, заканчивая телевидением. Мда…
Забегая наперёд скажу, что уже 02.06.2010
It appears the issue only applies if you switch the device off during an “unlocked” state (thus you entered the passcode already and see the icons) but not if you power it down while it requests you to enter a passcode making this whole mess less dramatic…
“Определённые случаи”, которые подвержены проблеме, это телефоны, на которых был включен PIN-код, но они после этого не перезагружались (я никогда не перезагружался после этой операции, согласитесь, что это явная проблема в iPhone OS).
Таким образом, если вы не хотите, чтобы к вашим данным могли получить доступ злоумышленники, умыкнувшие iPhone, установить PIN и перезагрузитесь.
Но вернёмся к теме. 21.03.2010 вышел релиз
Подчёркиваю – все операции проводим на Ubuntu Linux, не на Mac’е.
Ставим нужные библиотеки и утилиты (libgpod4 и gtkpod особо не нужны, поставил за компанию):
$ sudo aptitude install libimobiledevice-utils libimobiledevice-doc $ sudo aptitude install libplist-dev libplist-utils $ sudo aptitude install ifuse $ sudo aptitude install libgpod4 $ sudo aptitude install gtkpod
Мой iPhone перезагружался несколько раз после установки PIN’а, но меня как раз интересовало, можно ли получить доступ при включенном PIN. Я не искал, где записывается информация о “спаривании” телефона с Linux, если найду, то проверю утверждение насчёт подверженности именно неперезагруженых iPhone после установки PIN.
Телефон залочен. Пытаюсь примонтировать его – ответ отрицательный, ни получить информацию, ни примонтировать телефон нельзя:
$ mkdir ~/tmp/iphone $ ideviceinfo $ ifuse ~/tmp/iphone Please disable the password protection on your device and try again. The device does not allow pairing as long as a password has been set. You can enable it again after the connection succeeded.
Ввожу PIN. Теперь всё доступно:
$ ideviceinfo ActivationPublicKey: ... ActivationState: WildcardActivated ActivationStateAcknowledged: true BasebandBootloaderVersion: 6.4_M3S2 BasebandSerialNumber: 0a49987a4a145d057fc4cccc BasebandVersion: 05.12.01 BluetoothAddress: 04:1e:64:cc:cc:cc BuildVersion: 7E18 CPUArchitecture: armv7 ... DeviceClass: iPhone DeviceName: ole_iphone ...
Монтирую:
$ ifuse ~/tmp/iphone $ ls -al tmp/iphone/ drwxr-xr-x 2 ole ole 68 2010-05-26 15:36 ApplicationArchives -rw-r--r-- 1 ole ole 0 2010-03-21 16:06 com.apple.itdbprep.postprocess.lock -rw-r--r-- 1 ole ole 0 2010-03-21 16:06 com.apple.itunes.lock_sync drwxr-xr-x 4 ole ole 204 2010-03-21 16:09 DCIM drwxr-xr-x 2 ole ole 102 2010-06-02 02:06 Downloads drwxr-xr-x 2 ole ole 102 2010-04-05 20:45 iPhoneDrive drwxr-xr-x 7 ole ole 238 2010-03-21 16:19 iTunes_Control drwxr-xr-x 3 ole ole 170 2010-06-03 10:53 Photos drwxr-xr-x 2 ole ole 68 2010-03-21 16:06 Podcasts drwxr-xr-x 2 ole ole 68 2010-06-02 17:03 PublicStaging drwxr-xr-x 2 ole ole 68 2010-03-21 16:06 Purchases drwxr-xr-x 2 ole ole 238 2010-03-28 14:35 Recordings drwxr-xr-x 2 ole ole 136 2010-06-03 10:53 Safari
Можно также получить расширенную информацию по iTunes для синхронизации (меня это слабо интересует). Получаю device_id, генерирую файл:
$ idevice_id -l b17056e12f05292e258f015c47d2b6a543cccccc $ ipod-read-sysinfo-extended b17056e12f05292e258f015c47d2b6a543cccccc ~/tmp/iphone $ ls -al ~/tmp/iphone/iTunes_Control/Device/SysInfoExtended -rw-r--r-- 1 ole ole 24682 2010-06-03 11:58 /home/ole/tmp/iphone/iTunes_Control/Device/SysInfoExtended
Размонтирование:
$ fusermount -u ~/tmp/iphone
Телефон уже “спарован”, поэтому на этой же рабочей станции для получения доступа к содержимому вводить PIN-код уже не нужно.
Но для “закрепления” уверенности я повторил те же самые шаги на другой рабочей станции с Ubuntu 10.04. Всё аналогично – без ввода PIN-кода получить доступ к данным нельзя:
$ ifuse ~/tmp/iphone Please disable the password protection on your device and try again. The device does not allow pairing as long as a password has been set. You can enable it again after the connection succeeded.
Резюмирую – скорее всего ошибка в iPhone OS есть, но если после настройки PIN-кода вы перезагрузите iPhone, то маловероятно, что злоумышленники получат доступ к вашим данным. К моему телефону без знания PIN’а получить доступ мне не удалось.