Keychain — хранилище ключей, логинов и паролей в Apple iOS.
Keystore — хранилище ключей, логинов и паролей в Android.
Вебинар от компании Magnet Forensics (ранее Grayshift).
По мере роста безопасности наших мобильных устройств растет и наше доверие к их защищенному хранилищу. Все больше и больше людей обращаются к системам хранения ключей iOS и Android в качестве менеджера паролей, держателей токенов и даже в некоторых случаях инструмента генерации MFA. В данной статье мы рассмотрим «Связку ключей» в iOS и «Хранилище ключей» в Android, а также обсудим их настройки безопасности, какие данные они хранят и как использовать эти мощные значения для разблокировки еще более глубокой защиты в криминалистических расследованиях.
Консультация — https://manjos.org
Источник — https://www.magnetforensics.com
Докладчик — Chris Vance
Chris Vance — является старшим специалистом по технической криминалистике в компании Magnet Forensics. На протяжении многих лет Кристофер работал инструктором и исследователем в нескольких крупных криминалистических компаниях, в основном обучая людей и проводя исследования в области криминалистики мобильных устройств, macOS и облачных технологий. Ранее Кристофер работал аналитиком в подразделении цифровой криминалистики Полиции штата Западная Вирджиния, где также был прикреплен к рабочей группе по борьбе с преступлениями против детей в интернете. Кристофер родом из Хантингтона, штат Западная Вирджиния, где он получил степень в области цифровой криминалистики в Университете Маршалла.
Apple
Информация по apple будет касаться телефонов iPhone, которые используют iOS и компьютеров iMac и MacBook, которые используют MacOS на борту. Программное обеспечении компании Magnet Forensics имеет возможность частичного извлечения данных из хранилища ключей на iPhone и Mac. На момент написания статьи полное извлечение всех логинов, паролей и токенов отсутствует.
Как хранятся ключи в Keychain (iPhone/Mac)?
Каждая запись (логин, пароль и так далее) зашифрован с помощью двух разных ключейю. Первый — это “метадата ключ”, который предназначен для быстрого доступа к данным и отвечает за разблокировку доступа к логину и паролю. Второй это ключ “записи”, который отвечает за дешифрование содержимого, т.е. дешифрует логин и пароль для использования его где либо. В двух словах, один ключ отвечает за полномочия доступа к логинам и паролям, а второй отвечает за шифрование и дешифрование логинов и паролей внутри хранилища. Оба ключа используют “Secure Enclave”.
Что такое Secure Enclave?
Secure Enclave — это специализированный процессор, встроенный в некоторые устройства Apple, включая iPhone и iPad, начиная с A7 чипа. Он предназначен для обеспечения дополнительного уровня безопасности, изолируя и защищая чувствительные данные и операции в устройстве.
Вот основные характеристики и функции Secure Enclave:
- Шифрование данных: Secure Enclave отвечает за управление шифрованием данных на устройстве. Он генерирует уникальные ключи шифрования, которые используются для защиты личной информации, такой как пароли, биометрические данные и финансовая информация.
- Биометрические данные: Он обрабатывает и защищает биометрические данные, используемые для Touch ID и Face ID. Эти данные шифруются и хранятся в Secure Enclave, недоступном для iOS и других приложений, что повышает уровень безопасности.
- Обработка платежей: Secure Enclave участвует в обработке и защите платежных данных при использовании Apple Pay. Он обеспечивает безопасное хранение платежных учетных данных и их защиту от внешних угроз.
- Изоляция: Secure Enclave работает отдельно от основного процессора iOS, что означает, что даже в случае проникновения в основную систему, злоумышленники не смогут получить доступ к защищенной информации, хранящейся в Secure Enclave.
- Управление ключами: Он управляет ключами шифрования, используемыми для защиты данных, и гарантирует, что эти ключи не могут быть извлечены из устройства. Это означает, что данные можно расшифровать только на самом устройстве.
Secure Enclave является важным элементом архитектуры безопасности Apple, обеспечивающим, что даже в случае компрометации операционной системы чувствительные данные пользователей остаются защищенными.
Более подробно: https://support.apple.com/ru-ru/guide/security/sec59b0b31ff/web
Далее про Keychain (iOS)…
Данные внутри Keychain храняться в виде SQLite базы данных. В операционной системе существует процесс “D”, который контролирует кто получает доступ к ключам внутри Keychain. Например, если какое-то приложение просит доступ к логинам и паролям из Keychain, процесс “D” предоставит доступ конкретно к ключам, которые имеют отношение к данному приложению и ограничит доступ к другим ключам.
Извлечение ключей из Keychain (iOS)
В iPhone существует специальная процедура создания резервной копии iPhone с помощью iTunes и именно эта возможность и предоставляет доступ к ключам, которые хранятся в хранилище Keychain. т.е. речь идет не об извлечении ключей из резервной копии, а именно извлечение ключей с помощью встроенного в iOS функционала.
Небольшое отступление…
У Elcomsoft есть программное обеспечение, которое можно скачать бесплатно с определенных сайтов, которое умеет извлекать логины и пароли из резервных копий iPhone, но нужно знать пароль от устройства. Можно извлечь даже WiFi-и к которым вы подключались с вашего iPhone вместе с паролями от этих Wifi, что может сказать о Вас многое. Например где вы были…в каких офисах…с кем общались…
Справа на скриншоте вы видите уровни доступа к базе данных Keychain. т.е. есть классы A, B, C, D.
A — если мы знаем пароль от устройства
В — заблокированный iPhone
C — телефон включили, разблокировали и перед изъятием заблокировали (реже, но если заинтересованы в результате)
D — телефон привезли на извлечение выключенным (как это часто бывает) и на этом уровне доступна база данных Keychain для извлечения.
Просто запомните, что это есть. Далее нам это понадобиться…
AFU (After First Unlock) и BFU (Before First Unlock) — это термины, используемые в контексте безопасности iPhone для описания состояния устройства относительно шифрования и доступа к данным
BFU (Before First Unlock | Перед Первым Разблокированием)
- Описание: BFU описывает состояние iPhone до первого разблокирования после перезагрузки. В этом состоянии большинство данных на устройстве остается полностью зашифрованными и недоступными.
- Безопасность: Поскольку ключи, необходимые для расшифровки большинства данных, не загружены в память до первого разблокирования, атакующий имеет очень ограниченный доступ к данным устройства в состоянии BFU.
- Ключевые моменты: В BFU Secure Enclave еще не разрешил доступ к ключам, необходимым для расшифровки данных, за исключением тех, которые необходимы для основных функций, таких как вызовы экстренной помощи.
AFU (After First Unlock | После Первого Разблокирования)
- Описание: AFU относится к состоянию iPhone после того, как пользователь впервые разблокировал устройство после перезагрузки. Ключи шифрования для данных пользователя загружены в память, что позволяет приложениям и процессам iOS получать доступ к данным.
- Безопасность: В состоянии AFU данные на устройстве более уязвимы, поскольку ключи шифрования находятся в памяти. Если злоумышленник получит доступ к устройству, находящемуся в состоянии AFU, он может иметь возможность извлечь больше данных, чем в состоянии BFU.
- Ключевые моменты: Даже в состоянии AFU, определенные меры безопасности, такие как Secure Enclave, продолжают обеспечивать защиту чувствительных операций, таких как аутентификация Touch ID и Face ID.
По сути, что делают для извлечения данных?
Все зависит от того, в каком состоянии начинают работать с телефоном специалисты. Если это AFU т.е. телефон был включен и разблокирован, а потом опять заблокирован, но не выключен они делают образ т.е. файл состояния телефона и уже работают с этим образом. Аналогично c BFU, делают образ и работают уже с образом.
Образ iPhone включает в себя операционную систему iOS, системные приложения, все папки, контакты, галерею и так далее. Это ваш iPhone в одном файле, который можно монтировать, как диск или флешку.
Давайте рассмотрим пример с всем известным Windows
Вот как выглядит образ Windows, установочного диска.
А вот открытый образ Windows…с папками и файлами.
Они делают аналогичный образ iPhone и потом работают с содержимым.
Apple использует пофайловое шифрование, а также дополнительное шифрование записей в Keychain. Напомню, что это база данных, которая хранит в себе всю важную информацию: логины, пароли, токены, ключи шифрования и так далее…
Как вы думаете, какой класс защиты у данной базы данных?
Класс “D” — самый низкий уровень защиты. База доступна из всех степеней состояния телефона. Даже если он не единого раза не был включен.
НО, все еще работает шифрование на уровне записи. т.е. каждая запись зашифрована отдельно и тут есть нюанс. Каждая из записей также имеет свой класс и также этот класс имеет разделение на A, B, C, D, который соответствует скриншоту.
Это класс А (высший уровень защиты, но тут есть нюанс это Safari и по Safari много вопросов по безопасности, так как все что разрабатывает Apple — это еще та дыра. другими словами — это данные автозаполнения в браузере Safari). В качестве превентивных мер можно использовать Chrome или FireFox.
КАКИЕ ДАННЫЕ В КЛАССЕ [А] (Самая защищенная информация):
Если телефон на аналитику был передан включенным, но заблокированным — это означает, что все записи класса С и D будут доступны к извлечению, так как база данных в классе D (доступна из любого состояния).
КАКИЕ ДАННЫЕ В КЛАССЕ [С]:
Что доступно для извлечения, если iPhone был включен, разблокирован и перед изъятием заблокирован:
- Wifi к которому подключался iPhone и пароли от этих Wifi.
- Почта и данные от входа в почту (логин/пароль).
- впн пароли (данные от подключения к VPN). Далее можно работать по VPN, где находиться, можно ли отправить запрос в организацию на предоставление устройств, которые подключались и так далее.
- Токены подключения к социальным сетям (FaceBook), в том числе и данные которые имеют отношение к данной социальной сети…загруженные фото или видео и так далее.
- Токены, которые используются для входа в приложения Signal, SnapChat, Threema, Telegram, WhatsApp и так далее.
Последний пункт наиболее интересен. Извлекая данный токен, специалисты имеют возможность входа в мессенджеры для получения информации. Напомню, речь идет о заблокированном iPhone.
AFU — включили, разблокировали, перед изъятием заблокировали.
Цитата специалиста:
“Лучший случай для нас — это телефон, который находится в режиме AFU. Так, как нам не нужен пароль в данном случае”
КАКИЕ ДАННЫЕ В КЛАССЕ [D]:
Для сохранения репутации Apple, стоит заметить, что в есть в iOS данные, которые называются “non-migration” — это данные, которые не перемещаются с iPhone и имеют отдельный класс хранения. Данный тип данных хранит в себе пароль от резервного копирования iPhone.
Цитата специалиста:
“Мы можем попытаться дешифровать резервную копию, но это очень сложно. Поэтому мы постоянно используем пароли от резервного копирования, которые мы восстанавливаем из “non-migration” данных. Это помогает нам восстанавливать данные, которые пользователь мог удалить”
Android (не Knox)
Во многом хранение данных в android схоже на хранение данных в iOS.
Цитата специалиста:
В Android для дешифрации информации определенного приложения, определенного типа данных, нужно подходить отдельно. Не получится просто взять и все извлечь все.
Больше ничего интересного)))
P.S. Bitwarden

