Результаты этого исследования основаны на
данных NFI и
полевых тестах, проведенных с двумя моими iPhone 4, которые имеют ту же аппаратную и прошивку, что и iPhone Криса.
iPhone 4 КрисаМодель A1332 Rev. A (3,2) - A4 SoC-8 ГБ - Прошивка iOS 7.0.6 | Время работы в режиме ожидания около 300 часов, в рабочем режиме до 10 часов | Основная камера 5 МП (2560 x 1920 пикселей)
iPhone 4 был оснащен компасом, трехосевым гироскопом и акселерометром. Однако непрерывная фоновая запись и регистрация данных о движении стали возможны только с внедрением энергоэффективных сопроцессоров движения, впервые включенных в iPhone 5S.
В iPhone Криса было установлено голландское время, то есть панамское время плюс 6 часов. Автоматическая корректировка часового пояса на основе обнаруженного местоположения (через Wi-Fi, службы определения местоположения или GPS) не сработала — ни на её телефоне, ни на моих тестовых устройствах. Однако автоматическое переключение на голландское летнее время 29 марта в 20:00 по местному времени сработало корректно. С этого момента смещение времени стало соответствовать панамскому времени плюс 7 часов. iPhone был защищен 4-значным паролем и 4-значным PIN-кодом SIM-карты.
Соответствующие вышки сотовой связи рядом с Пианистой в 2014 году(Расстояния: тропа 2-4 км, смотровая площадка 5 км)
Карта покрытия Digicel (архив)
Партнеры по роумингу в Нидерландах: T-Mobile (Крис) / Vodafone
ASEP Panama
Digicel coverage map (archived)
Альто/Бахо Лино, высота 1200 м, Digicel, вышка 60 м
https://maps.app.goo.gl/tWXhD1TUSPSK3A1K9Харамильо, высота 1200 м, SBA Торрес, вышка 80 м
https://maps.app.goo.gl/eV5zxHPpdMNhPoNi8Альто Кьель, высота 1400 м, Digicel, 60 м вышка
https://maps.app.goo.gl/RxNnxKvLgse7xm8g8По данным Slip, Крис (T-Mobile) и Лизанн (KPN NL) смогли совершать голосовые звонки и отправлять SMS в Панаме. Обычно для этого не требуется официальный договор о роуминге — как правило, достаточно, чтобы у операторов был заключен базовый роуминговый договор, даже несмотря на то, что использование этой услуги может быть дорогим.
Журналы зависания | ЗаглушкиЭти журналы не содержат измеренных в реальном времени значений. Вместо этого они записывают либо ранее измеренное значение (зависание), либо значение-заглушку (заглушку).
Пример сценария: Вы можете обернуть iPhone алюминиевой фольгой на станции Мирадор, доставить его вертолетом в Амстердам, а затем вынуть из фольги, находясь в зоне отсутствия сотовой связи. Устройство продолжит записывать последнее фактически измеренное значение с Мирадора (журнал зависания, показывающий значение dBm и 1 полоску сигнала). Если затем вы перезагрузите телефон, находясь в зоне отсутствия сигнала в Амстердаме, он запишет «значение-заглушку»
-113 dBm, 1 полоску сигнала (заглушка). iPhone 4S может измерять и записывать значения сигнала ниже -113 dBm, в то время как iPhone 4 — нет.
«Уязвимость» в оперативной памяти/NAND флэш-памяти iOS 7 (защита данных iOS)Примерно через минуту или чуть больше после включения iPhone начинается процесс Powerlog, который записывает данные (например, уровень сигнала, уровень заряда батареи, использование приложений и т. д.). Например, после часа использования генерируется несколько сотен записей в режиме реального времени. В iOS 7 эти записи хранятся в энергозависимой оперативной памяти до первой разблокировки телефона. При разблокировке iPhone путем ввода пароля записи Powerlog записываются в NAND флэш-память, даже задним числом, при этом новые записи сохраняются непосредственно в NAND в режиме реального времени. Однако, если iPhone выключить до разблокировки, записи теряются, то есть записи Powerlog становятся недоступны, несмотря на час использования.
Потеря записей по сути является побочным эффектом базовых политик безопасности и защиты данных, хотя, например, уровень заряда батареи не связан с конфиденциальными данными. Вот почему я называю это «уязвой».
Техническая информация (NSFileProtection CompleteUntil FirstUserAuthentication):
Руководство по безопасности Apple:
https://support.apple.com/de-de/guide/security/secb010e978a/webТехнический блог:
https://blog.angelovillegas.com/ios-data-protection/Подробная статья (на немецком языке):
https://www.heise.de/hintergrund/iOS-Verschluesselung-durchleuchtet-2066500.htmlFSEventsСобытия файловой системы (FSEvents) — это тип журнала файловой системы, содержащий множество информации для криминалистического анализа — информации, которая, вероятно, не была проанализирована NFI или их инструментами криминалистического анализа. Среди прочего, каждое использование iPhone (за исключением режима DFU) оставляет после себя два скрытых файла в двух скрытых каталогах с метками времени, точными до секунды, которые четко указывают на точное время выключения устройства.
NFI провела анализ активности файловой системы, поэтому они проверили метки времени файлов FSEvent.Дополнительная информация:Архивированная статья: Archived article: Apple FSEevents-Forensics - Nicole Ibrahim
Блог:
https://www.hexordia.com/blog/mac-forensics-analysisЭкстренные вызовы | Call History.db
Используя эту
базу данных SQLite, можно отследить все звонки и попытки звонков, включая такие детали,
как метка времени, номер телефона, сетевое соединение и
продолжительность звонка. Аналогичные данные также записываются в Powerlogs, хотя и без записи номера телефона.
Экстренные вызовы можно совершать без ввода пароля или PIN-кода SIM-карты с помощью функции экстренного вызова на экране блокировки. Хотя «баг» в оперативной/NAND-памяти препятствует постоянному сохранению записей Powerlogs при выключенном iPhone без предварительной разблокировки, он не мешает записывать попытки экстренных вызовов в базу данных истории звонков.
После утра 3 апреля попыток экстренных вызовов не было — в противном случае они были бы записаны в историю звонков.
Экстренные вызовы возможны в любой доступной сети. Это означает, что их можно совершать даже тогда, когда телефон показывает «Нет сети» или «SIM-карта заблокирована».Снимки состоянияПри использовании приложений на iOS 7 система автоматически создает снимки «последнего состояния» — по сути, скриншоты последней активности пользователя в каждом приложении. Технически это происходит, когда приложение закрыто или приостановлено, но не когда телефон выключается, а приложение все еще открыто. И только если телефон изначально был разблокирован.
Эти снимки могут фиксировать что угодно: от черновика SMS-сообщения до изменения или проверки настроек (как видно на скриншоте «Настройки -> Центр управления» от 2 апреля) или даже приложения «Телефон» -> «Телефон» (как 3 апреля в 9:33 утра). И экран «Телефон» от 3 апреля в 9:33 утра (время последнего экстренного вызова), и контакт «Mytiam» в 16:02 того же дня были получены через приложение «Телефон». Тот факт, что для обеих действий существуют отдельные снимки «последнего состояния», объясняется тем, что у приложения «Телефон» есть свой собственный снимок. Каждый раз, когда приложение используется снова, его предыдущий снимок «последнего состояния» перезаписывается. Цель этих снимков — обеспечить отображение изображения в реальном времени для анимации затухания при закрытии приложения, а также для отображения в переключателе приложений (доступ к которому осуществляется двойным нажатием кнопки «Домой»).
Если одно из немногих приложений Центра управления запускается с экрана блокировки, и iPhone защищен паролем, iOS 7 не сохраняет снимок «последнего состояния». Следовательно, приложение «Мировые часы» должно было быть открыто с главного экрана в 10:27 утра 6 апреля, что означает, что пароль был введен в это время. Такое поведение также связано с «ошибкой» в оперативной памяти/памяти (RAM/NAND), а именно с защитой данных iOS. NFI, похоже, не знала об этом, поскольку они предполагают, что пароль мог быть не введен в это время, так как приложение «Часы» является частью Центра управления, к которому также можно получить доступ без пароля.
Вот как это выглядело, например, при открытии приложения «Часы» 6 апреля в 10:27 утра:
Журналы загрузки20:28:11 Включение питанияВт 3 сен 20:28:36 2024 main: Запуск [Время запуска NFI]
Вт 3 сен 20:28:46 2024 dealwith activation: Поиск записи для ICCID
228672635330891650
Вт 3 сен 20:29:16 2024 Статус SIM-карты: KCTSIMSupportSIMStatusReadyЖурналы питания09/03/24 20:29:18 [Log] state-booting; loggingMode=Lite; binary aggregated;
09/03/24 20:29:18 [Display] active-yes; яркость-79.0%;
пользовательская яркость <неизвестно>; als отключено; mie-off; ползунок-51777; мНитс=0;
09/03/24 20:29:18 [SpringBoard-screens) Screens=lockscreen;
09/03/24 20:29:18 [WiFi Module]
09/03/24 20:29:18 [Telephony] current_rat=Dual; preferred_rat UMTS; camped_rat-Unknown; статус вызова Inactive; airplane_mode=off; сигнал=-113 дБм; bars=1;
09/03/24 20:29:18 [Baseband State Durations)
09/03/24 20:29:18 [WiFi] статус off;
09/03/24 20:29:18 [SpringBoard-states] screen_state=unblanked; lock state-locked,
09/03/24 20:29:18 [LoggedWake] reason-hold;
09/03/24 20:29:19 [Battery) level=58.32%; voltage-3842 mV; current=-4 mA; current_capacity-589 mAh; raw_max_capacity=1010 mAh;
charging state-Inactive; charging_current=0 mA; battery_temp=27.70 C
adapter_info=0; connected_status=0;
09/03/24 20:29:24 [SpringBoard-states] screen_state unblanked;
Состояние блокировки разблокировано,
09/03/24 20:29:24 [SpringBoard-screens] Screens=homescreen;Режим DFU | SSH RamdiskПример видео:
В низкоуровневом режиме DFU можно получить доступ к iPhone, не оставляя видимых следов — даже без джейлбрейка или пароля — используя SSH-диск в оперативной памяти. Такой доступ позволяет, помимо прочего, удалять, изменять или создавать фотографии. В режиме DFU (обновление прошивки устройства) iPhone ведёт себя так, как если бы батарея была разряжена: экран остаётся выключенным, и устройство нельзя включить обычным способом. Если батарея физически заменена или полностью разряжена, режим DFU автоматически выходит. Важно отметить, что если батарея полностью разряжается в режиме DFU, отчёт о низком заряде батареи не создаётся.
Режим DFU идеально подходит для скрытого доступа и манипуляций, поскольку вся система iOS, включая систему логирования (например, Powerlogs), вообще не загружается. Однако вход в режим DFU чувствителен к моменту и подвержен ошибкам; небольшая ошибка может привести к нормальной загрузке телефона, что может затем привести к созданию непреднамеренного журнала запуска.
Журналы загрузки (lockdownd) записывают, помимо прочего, ICCID (идентификатор интегральной микросхемы) и корректный ввод PIN-кода SIM-карты. Также они записывают время запуска в журнал «Запуск», которое происходит примерно через 25 секунд после включения питания. Журнал «Запуск» присутствует в каждой сессии ежедневно.
Ввод пароля не записывается в журнал, но в некоторых случаях его можно косвенно определить.
iPhone сохраняет ежедневные журналы энергопотребления (заряд батареи, сигнал, использование приложений и т. д.) в файл с именем
\Logs\CurrentPowerlog.powerlog (
за текущий день).
Перед созданием нового журнала файл CurrentPowerlog.powerlog за предыдущий день (или день последнего использования)
архивируется в папку:
\Logs\PLArchive.
Для каждого дня создается отдельный файл журнала энергопотребления.
31 марта: \Logs\PLArchive\PL_2014-03-31-Blabla.powerlog.gz
1 апреля: \Logs\PLArchive\PL_2014-04-01-Blabla.powerlog.gz
2 апреля: \Logs\PLArchive\PL_2014-04-02-Blabla.powerlog.gz
3 апреля: \Logs\CurrentPowerlog.powerlog
Журнал за
3 апреля так и не был заархивирован, поскольку после этой даты
никаких новых записей Powerlog не создавалось.
Почему?4-6 апреля: Время включения было слишком коротким для запуска записи в журнал.
11 апреля: Возможно, из-за «ошибки» в ОЗУ/NAND или ручного вмешательства через режим DFU.
Температура батареиiPhone 4 регистрирует температуру батареи с помощью внутреннего датчика, расположенного рядом с батареей. Это часть функций безопасности iOS 7, которые могут автоматически выключать устройство и создавать отчет о сбое при обнаружении таких условий, как нестабильное напряжение (≤ 3,0 В) или критические температуры (50-60 °C).
1 апреля iPhone находился в режиме ожидания и, вероятно, большую часть времени провел в рюкзаке, что может привести к некоторому накоплению тепла внутри из-за ограниченной циркуляции воздуха. Когда температура батареи измеряется всего через несколько секунд после включения — как это было 2 и 3 апреля — значительного накопления тепла внутри еще не наблюдается. После включения из полностью выключенного состояния температура батареи очень близка к температуре окружающей среды.
При ношении в кармане джинсовых шорт телефон постепенно адаптируется к температуре тела. Например, если его выключить и держать в кармане в течение часа при температуре окружающей среды 22 °C, температура iPhone может достичь примерно 32 °C. Однако в данных о заряде батареи за период с 1 по 3 апреля таких значений температуры не зафиксировано.
Анализ активности устройства — предварительные результаты: журналы потребления энергии iPhone и разряд батареи Samsung
iPhone: Отсутствующие журналы потребления энергии — 1 апреляЗа три часа до экстренного вызова 1 апреля и за час после него было зарегистрировано приблизительно 1100 записей в журнале потребления энергии. Это говорит о спорадическом использовании, например, проверке дисплея каждые 15–20 минут, поскольку iPhone потреблял очень мало энергии батареи.
Каждый файл журнала потребления энергии содержит большое количество записей. Журналы заряда батареи и уровня сигнала составляют лишь небольшую их часть. NFI указала номера строк в файлах журнала потребления энергии только для журналов уровня сигнала. Это позволяет нам определить общее количество записей между двумя моментами времени. Например, 1 апреля было около 5800 записей PowerLogs, а 2 апреля — всего около 120. Важно отметить, что файл Powerlog за 1 апреля фактически начинается 31 марта в 17:00 и заканчивается 1 апреля в 17:00. Вскоре после экстренного вызова с точки зрения iPhone уже было за полночь, поэтому записи после 17:00 были включены в файл Powerlog за 2 апреля.
При загрузке и кратковременном использовании iPhone генерирует около 120 записей PowerLogs. При ручном выходе из режима ожидания или сна (т.е. при включении дисплея) он генерирует около 60 записей PowerLogs за одно пробуждение. В режиме ожидания или сна это обычно происходит один раз в час всего на несколько секунд — возможно, два раза в час.
По какой причине NFI могла пропустить, например, около 800 отсутствующих записей в журнале за три часа до экстренного вызова? Никакой существенной активности пользователя (например, использования приложений) или изменений значений сигнала не было зафиксировано. Тем не менее, в период с 13:38 до 16:38 есть десятки записей о заряде батареи и уровне сигнала (все Freeze -94 дБм, 1 полоска).
Samsung: Разряд батареи1 апреля заряд батареи упал на 15% в период с 14:40 до 16:40. Такое падение обычно происходит только в том случае, если дисплей был включен в течение длительного времени. В ночь со 2 на 3 апреля, когда Samsung был включен 15 часов, было зарегистрировано 58 записей о заряде батареи: 16 ежечасных (запущенных системой, в зависимости от времени загрузки) и 42 непериодических записи, которые могут указывать на активность дисплея (оранжевые точки; см. диаграмму на странице 12). 16-часовые записи о состоянии батареи неизменно фиксировались на 19-й минуте, поскольку Samsung был загружен в 16:19 (см. ось Y на графике на странице 12). Для сравнения, за 15 часов с полуночи до 15:00 31 марта было всего 23 записи о состоянии батареи — 16 почасовых и 7 непериодических.
31 марта и 1 апреля почасовые записи о состоянии батареи всегда сохранялись на 40-й минуте, поскольку Samsung был загружен, например, в 10:40 30 марта. Таким образом, мы видим записи в 10:40, 11:40, 12:40 и так далее — каждый час с 10:40 30 марта до 17:40 1 апреля. Большинство временных меток, не заканчивающихся на :40, можно связать с известными действиями пользователя. В непериодические записи включены такие моменты времени, как 13:06 (Wi-Fi), 13:38 (Wi-Fi) и 14:01 (фотогалерея). Соответственно, это подтверждает вывод о том, что дисплей был включен, например, в 12:12 1 апреля у входа в лес со стороны Бокете у Пианисты (Google Maps). Не каждая активность приводит к записи данных о заряде батареи, вероятно, потому что кратковременное использование не влияет на уровень заряда батареи и не запускает запись данных.
Android отправляет широковещательные сообщения, управляемые событиями, при изменении уровня заряда батареи, например, после небольшого снижения в процентах (например, ACTION_BATTERY_CHANGED). Это происходит особенно часто, когда дисплей включен, поскольку он является самым большим потребителем энергии. Фоновая служба приложений (как в данном случае: WhatsApp) может пассивно получать эти «липкие» широковещательные сообщения и регистрировать уровень заряда батареи как в ответ на новые события, так и путем получения последнего «липкого» значения. В ночь со 2 на 3 апреля могли быть сгенерированы дополнительные события ACTION_BATTERY_LOW, поскольку уровень заряда батареи уже был ниже 20%.
Активность пользователя, показанная на диаграмме на странице 12 (оранжевые точки), вероятно, можно определить только при заметном снижении уровня заряда батареи. Похоже, что в сессии 2 апреля в 16:19 был добавлен примерно 20-минутный триггер по сравнению с 31 марта и 1 апреля — или система увеличила свою чувствительность или частоту широковещательных сообщений. По крайней мере, описанная выше закономерность расхода заряда батареи правдоподобна — и для 31 марта и 1 апреля она подтверждается известными данными об активности. Однако два случая разряда батареи Samsung — -15% за два часа до экстренного вызова 1 апреля и 17% за 15-часовую ночь — не совпадают друг с другом и не соответствуют тому, что можно было бы ожидать в режиме ожидания, особенно учитывая отсутствие сотовой связи в обоих случаях. Весьма вероятно, что яркость дисплея была снижена, например, на 80% в ночь со 2 на 3 апреля.
Это привело бы к существенной разнице в энергопотреблении по сравнению с 1 апреля.https://christian-hardinghaus.de/de/kris-und-lisanne-fall-forensik/