Все статьи автора Oleg Afonin

До недавнего времени черепичная запись Shingle Magnetic Recording (SMR) использовалась в недорогих моделях жёстких дисков Seagate, а также во всех моделях компании типоразмера 2.5”. Такие диски заслуженно получили репутацию медленных, с нестабильной скоростью записи и случайного доступа. Второй производитель жёстких дисков, Western Digital, долгое время оставался в стороне, продолжая выпускать накопители, использующие конвенционный способ записи CMR. Многие пользователи основывали свой выбор накопителя, исходя именно из этого критерия.

Недавние событие перевернуло привычные представления: в дисках Western Digital, предназначенных для работы в составе многодисковых сетевых хранилищ, обнаружилась «черепица», что приводило к отказам в работе RAID массивов. В этой статье мы подробно расскажем о том, что такое черепичная запись, в каких сценариях её использование допустимо, в чём состоят отличия между подходами WD и Seagate и к чему привело журналистское расследование.

Скандальная черепица

Не так давно в сети развернулся скандал: в дисках линейки WD Red, предназначенных для работы в составе сетевых хранилищ, обнаружились недокументированная особенность. Хронология событий такова.

2 апреля 2020

Пользователем Кристиан Франке (Christian Franke) было опубликовано исследование, в котором было рассказано об использовании недокументированной технологии SMR (черепичной записи Shingled Magnetic Recording) в некоторых дисках линейки WD Red. Кристиан описал, к каким именно проблемам это приводит в рамках массивов. Известные особенности технологии приводили к деградации массивов RAID в случаях, когда такие диски использовались совместно с «классическими» дисками (CMR, Conventional Magnetic Recording). Более того, восстановление таких массивов оказывалось невозможным из-за постоянных повторных выпаданий диска с SMR.

Задолго до этого пользователи задавались вопросом «не используется ли в данной модели технология SMR?» Представители Western Digital под разными предлогами отказывались разглашать используемую в дисках технологию. «Мы не разглашаем особенности внутреннего функционирования наших дисков конечным потребителям». Вот цитата ответа из техподдержки:

I understand your concern regarding the PMR and SMR specifications of your WD Red drive.

Please be informed that the information about the drive is whether use Perpendicular Magnetic Recording (PMR) or Shingled Magnetic Recording (SMR), is not something that we typically provide to our customers. I am sorry for the inconvenience caused to you.

What I can tell you that the most products shipping today are Conventional Recording (PMR). We began shipping SMR (Shingled Magnetic Recording) at the start of 2017. For more information please refer the link mentioned below.

Вот другой вариант ответа.

We have received your inquiry whether internal WD Red drive WD40EFAX would use SMR technology. I will do my best here to assist and please accept our sincere apologies for the late reply.

Please note that information on which of our drives use PMR or SMR is not public and is not something that we typically provide to our customers. What we can tell you is that most WD products shipping today are Conventional Recording (PMR) — please see additional information below. However, we began shipping SMR (Shingled Magnetic Recording) at the start of 2017.

(Источник)

В переводе: «Большое спасибо за обращение. Обращаем ваше внимание, что информация об использовании PMR и SMR не является публично доступной и не разглашается нашим клиентам. Однако могу сообщить, что большая часть поставляемых WD продуктов использует CMR; ниже – дополнительная информация. Тем не менее, в начале 2017 мы начали отгружать диски с SMR.»

Примерно такой ответ получил Кристиан Франке. Кристиан на этом не остановился, получив в результате такой ответ:

Just a quick note. The only SMR drive that Western Digital will have in production is our 20TB hard enterprise hard drives and even these will not be rolled out into the channel.

All of our current range of hard drives are based on CMR Conventional Magnetic Recording.

With SMR Western Digital would make it very clear as that format of hard drive requires a lot of technological tweaks in customer systems.

With regards

Yemi Elegunde
Enterprise & Channel Sales Manager UK
Western Digital®
WDC UK, a Western Digital company

В ответе утверждается, что единственный диск WD с SMR – это накопитель на 20 ТБ, предназначенный для крупных хранилищ данных. По утверждению представителя WD, все остальные диски компании использовали CMR.

Дальнейшие попытки добиться хоть какой-то внятной информации привели к предложению «обсудить проблему с инженерами и специалистами по жёстким дискам в телеконференции». Телеконференция, впрочем, не состоялась. Пользователи обратились к журналистам.

14 апреля 2020

Итак, Кристиан написал журналистам специализированного издания Blocks & Files. Журналисты разобрались в проблеме и выпустили статью:

Western Digital admits 2TB-6TB WD Red NAS drives use shingled magnetic recording

Как мы знаем, основной конкурент Western Digital – компания Seagate, — использует черепичную запись в накопителях линеек Archive и BarraCuda Compute уже много лет. Почему же именно в данном случае использование SMR стало проблемой?

В статье приводится несколько примеров. В частности, пользователи, которые заменяли вышедшие из строя диски WD Red 6TB WD60EFRX на новые модели WD60EFAX получали атипично длительное время перестроения массивов SHR1 и RAID5 (от 2 до 8 дней). У некоторых пользователей перестроение и вовсе завершалось с ошибкой: новый диск попросту исключался из массива как неисправный. Очевидно, что в ряде сценариев новые диски работают в разы хуже в сравнении с предыдущей моделью, а в некоторых случаях – не выполняют заявленную задачу вовсе. Обман потребителя в полный рост – но представители Western Digital отказывались как-либо комментировать ситуацию или просто признать сам факт использования новой технологии записи.

Именно в этот момент журналистам удалось впервые получить от Western Digital внятный ответ: «Актуальные модели WD Red 2TB-6TB компании Western Digital используют drive-managed SMR (DMSMR). Диски WD Red 8TB-14TB основаны на CMR. […] Вы правы в том, что мы не указываем технологию записи в документации на диски WD Red. […] При тестировании дисков WD Red мы не обнаружили проблем с перестроением RAID из-за технологии SMR».

В своё оправдание WD приводит следующий аргумент: «В типичной среде домашних NAS и NAS для малого бизнеса типичные нагрузки скачкообразны, оставляя достаточное время для сбора мусора и других сервисных операций». Журналисты из Blocks & Files возразили, что далеко не все нагрузки в рамках сетевых хранилищ «типичны» с точки зрения производителя. Скандал продолжал развиваться.

15 апреля 2020

Статья попала в точку: проблема назрела уже у большого количества пользователей. Поднявшаяся в сети волна публикаций и обсуждений побудила Blocks & Files продолжить расследование.

В статье Shingled hard drives have non-shingled zones for caching writes рассказывается о «ленточной» организации черепичного хранилища, как и о том, что у каждого SMR накопителя есть буфер, использующий классическую запись CMR. Здесь прямая аналогия с современными накопителями SSD: есть медленная TLC или даже QLC NAND, но часть её используется для буферизации записей в качестве псевдо-SLC кэша. Так и здесь: в жёстких дисках, использующих черепичную запись SMR, есть области CMR, использующиеся для ускорения записи. Таким образом у пользователя, который тестирует диск популярным пакетом CrystalDiskMark, возникает иллюзия нормальности: диск и читает, и пишет данные без каких-либо сюрпризов.

Неожиданность просиходит тогда, когда объём записанных данных превышает размер области CMR или весь диск был однажды заполнен данными, после чего накопителю приходится на лету «уплотнять» информацию. Такие ситуации в рамках NAS могут наступить как минимум в двух случаях: в случае перестроения массива класса RAID5 и подобных, в которых используются контрольные суммы, и в случае записи большого объёма данных (например, при создании и сохранении на диск обычной резервной копии). В таких сценариях видимая скорость записи падает в разы, а то и на один-два порядка. В моих собственных тестах скорость перезаписи заполненного накопителя периодически проседала до 1-10 МБ/с при записи единственного файла объёмом 1.5 ТБ (резервная копия системы). Я нахожу такую скорость неприемлемой.

В той же статье автор рассказал и о том, что происходит при попытке перестроения массива RAID5/6, если новый диск использует SMR. Огромное количество операций случайного ввода-вывода быстро приводит к переполнению буферной области CMR; контроллер не успевает справиться с нагрузкой, возвращая ошибку отказа в обслуживании. Спустя короткое время (порядка 40 минут) диск полностью уходит в себя, а контроллер RAID исключает его из массива, помечая как неисправный.

Что интересно, ничего подобного не происходит при использовании других типов массивов – RAID0/1, а также при создании нового массива RAID5/6. Создаётся впечатление, что разработчики Western Digital попросту не проверили новые диски в сценарии перестроения массива RAID5/6, ограничившись лишь самыми простейшими сценариями.

15 апреля 2020

В очередной статье Seagate ‘submarines’ SMR into 3 Barracuda drives and a Desktop HDD журналисты продолжили эксплуатировать тему SMR, рассказав, что подобной практикой занимается и компания Seagate.

Seagate давно использует SMR в своих накопителях на 2.5, архивных Archive и десктопных BarraСuda Compute. Об этом было известно давно, компания никогда не скрывала эту информацию. В то же время диски Seagate, предназначенные для работы в NAS (линейки Ironwolf и Ironwolf Pro) SMR не используют, что, собственно, и подтвердила компания в официальном пресс-релизе. Таким образом, скандала не получилось: покупатель, который хотя бы минимально интересуется состоянием дел, всегда имеет возможность понять, какой именно диск он покупает и для чего. Особенности черепичной записи SMR описаны Seagate в технической документации к соответствующим накопителям; о них мы ещё поговорим, пока же вернёмся к хронологии.

16 апреля 2020

На следующий день журналисты выяснили, что и в некоторых дисках Toshiba также используется SMR: Toshiba desktop disk drives have shingles too. Не уверен, что это кому-то интересно с учётом исчезающей доли накопителей Toshiba в типоразмере 3.5”. Впрочем, ознакомиться со списком моделей дисков Toshiba, в которых используется SMR, в любом случае не помешает. На сегодняшний день это 3.5” диски Toshiba P300 Desktop PC и DT02 объёмом 4 и 6 ТБ, а также все без исключения 2.5” модели поколения MQ04.

20 апреля 2020

В Western Digital определённо забеспокоились. В статье SMR in disk drives: PC vendors also need to be transparent опубликован официальный ответ Western Digital, в котором компания уверяет, что никаких проблем у дисков на самом деле нет, если их правильно использовать. Более свежую версию ответа можно прочесть в блоге Western Digital. Из текста можно сделать вывод, что перестроение массивов RAID5/6 для дисков серии WD Red – неправильное использование и нецелевое, а понятия NAS и RAID – понятия хоть и близкие, но не эквивалентные. Если пользователь желает использовать диск для NAS в составе массива RAID5/6, то стоит купить модель подороже – например, из линейки Ultrastar DC, WD Gold или WD Red Pro. Именно так и написано, буквально: «If you are encountering performance that is not what you expected, please consider our products designed for intensive workloads. These may include our WD Red Pro or WD Gold drives, or perhaps an Ultrastar drive.» Не буду цитировать целиком этот шедевр работы департамента Western Digital по связи с общественностью, с ним можно ознакомиться по ссылке выше.

21 апреля 2020

Разумеется, основной конкурент, компания Seagate, не смог не прокомментировать ситуацию. В статье Seagate says Network Attached Storage and SMR don’t mix представитель компании подчёркивает, что Seagate никогда не использовал черепичную запись в дисках Ironwolf и Ironwolf Pro, предназначенных для NAS, и не рекомендует использовать диски с SMR в сетевых хранилищах.

23 апреля 2020

Журналисты не смогли пройти мимо постинга WD. В статье Western Digital implies WD Red NAS SMR drive users are responsible for overuse problems задаются вполне резонные вопросы: а как, собственно, пользователь может – даже в теории! – узнать о потенциальных проблемах, если WD хранила сам факт использования SMR в NAS-накопителях в секрете, отказываясь даже честно ответить на прямо заданный вопрос? И если уж пользователей обвинили в  «нецелевом» использовании дисков, то определите формально «целевые» и «нецелевые» сценарии для каждой модели и линейки моделей. В старом WD60EFRX перестроение RAID5/6 было «целевым» сценарием, а в новой WD60EFAX стало «нецелевым». С этим можно работать, но… Но клиентам об этом сообщить забыли, а на заданные вопросы отвечать отказались. Прямо скажем, игра на грани фола – что и привело впоследствии к подаче коллективного судебного иска.

24 апреля 2020

В Western Digital сдались: компания опубликовала полный список накопителей в форм-факторе 3.5”, в которых используется SMR.

Технология черепичной записи остаётся в накопителях WD Red, предназначенных для NAS, но производитель после беспрецедентного давления общественности нехотя и с оговорками согласился больше не делать из этого секрета. Теперь пользователь может сделать информированный выбор: покупать «старую» модель WD Red без SMR или «новую» — с SMR. Или уйти к конкуренту, который не использует SMR в накопителях для NAS вовсе. Или взять наполненный гелием диск объёмом от 8 ТБ.

23 июня 2020

Не прошло и двух месяцев, как компания «решила проблему», и выходит очередная новость: модельный ряд накопителей WD Red расширен линейкой WD Red Plus, в которой используется конвенционный способ записи CMR. Теперь серия накопителей WD Red включает в себя стандартную версию WD Red (в ней будет использоваться черепичная запись SMR), WD Red Plus (классический способ записи CMR) и оставшуюся без изменений WD Red Pro.

В версию WD Plus вошли жёсткие диски объёмом от 2 до 6 ТБ, в которых, как и до журналистского расследования, будет использоваться классическая запись CMR. В наименованиях новых дисков также появилось отличие — вместо предпоследней буквы «A» (модели WDxxEFAX) теперь ставится «R» (WDxxEFRX), что позволяет отличить диски с CMR от моделей с SMR.

Всё бы неплохо, но «новая» модель WD Red Plus с идентификатором WD60EFRX с точностью до надписей на этикетках совпадает со «старой», снятой с производства моделью WD Red WD60EFRX. Только теперь «новая» модель носит гордое название Plus, а продаётся дороже снятой было с производства «старой». За такой способ решения собственноручно созданной проблемы компания уже подверглась массивной критике.

Что ж, посмотрим на то, как на самом деле обстоит дело с дисками, использующими технологию черепичной записи; являются ли они абсолютным злом или в некоторых сценариях экономию можно оправдать.

Реализация SMR у Seagate: привычное зло

Проще всего дела обстоят у Seagate. Покупая недорогой диск от Seagate, пользователь, скорее всего, получит модель с черепичной записью. На сегодняшний день дела в стане Seagate обстоят следующим образом.

Линейки Seagate Archive и BarraCuda Compute: как правило, поставляются с SMR. Именно такие диски устанавливаются во внешние накопители линеек Expansion Desktop и Backup Plus Hub ёмкостью до 8 ТБ включительно.

Линейка BarraCuda Pro обходится без SMR. Кстати, все диски Seagate объёмом от 10 ТБ также используют обычный способ записи CMR; это объясняет заметную разницу в цене между моделями внешних накопителей Seagate на 8 и 10 ТБ.

Во всех дисках для NAS линеек IronWolf и IronWolf Pro используется честная перпендикулярная запись (CMR).

Что такое черепичная запись? Подробная иллюстрированная статья выложена на сайте Seagate — очень рекомендую ознакомиться.

При черепичном способе записи дорожки записываются на диск не параллельно, а с перехлёстом, как черепицы на крыше, что позволяет дополнительно уплотнить запись. Использование черепичного способа записи позволяет производителям сэкономить на производстве, сделать диск менее шумным и менее тяжёлым за счёт меньшего количества вращающихся «блинов» и головок чтения-записи.

А что насчёт надёжности дисков с SMR? Когда технология только появилась на рынке, у пользователей были большие сомнения относительно долговременной надёжности таких дисков. На сегодняшний день можно констатировать, что надёжность дисков с SMR при обычном использовании в качестве архивных накопителей не хуже надёжности дисков с CMR аналогичной ёмкости, а в отдельных случаях может даже превышать её за счёт упрощения механической части.

Неприятная особенность реализации SMR у Seagate в том, что диски выдерживают хорошую скорость записи на протяжении лишь первого цикла заполнения диска. Но стоит пользователю заполнить диск целиком и начать перезаписывать данные (сценарий, совершенно типичный для регулярных резервных копий), как скорость перезаписи падает в разы в сравнении с записью на свежий диск. Ситуация чем-то напоминает ту, в которой оказались производители первых твердотельных накопителей SSD: запись в блок происходит быстро, а для перезаписи единственного байта требуется считать целый (и довольно крупный) блок данных, модифицировать нужные данные и сохранить изменённую информацию. Так и здесь: для перезаписи единственной дорожки нужно сначала считать все последующие дорожки, которые входят в объединённый блок (ленту), после чего записать нужную дорожку и восстановить из буфера все последующие.

Вот что имеет на эту тему сказать производитель Seagate:

C технологией SMR связана следующая проблема: если нужно перезаписать либо обновить часть информации, переписать придётся не только требуемый фрагмент, но и данные на последующих дорожках. Поскольку записывающий элемент шире неперекрывающейся области дорожки, он захватывает также данные на граничащих дорожках, а значит, потом придётся перезаписать и их (рис. 3). Таким образом, при изменении данных на нижней дорожке, нужно скорректировать данные на ближайшей наложенной дорожке, потом на следующей, и так далее, пока не будет переписана вся пластина.

Рис. 3. Записывающий элемент перекрывает накладывающиеся дорожки

По этой причине дорожки SMR-диска объединены в небольшие группы, называемые лентами. Накладываются друг на друга, соответственно, только дорожки в пределах одной ленты (рис. 4). Благодаря такому группированию в случае обновления некоторых данных перезаписывать придется не всю пластину, а лишь ограниченное количество дорожек, что существенно упрощает и ускоряет процесс.

Рис. 4. Структура ленты на SMR-диске

(источник)

Такая организация приводит к тому, что скорость перезаписи данных падает с условных 180 МБ/с до 40-50 МБ/с. Обойти проблему можно попытаться, включив для диска кеширование записи и осуществляя запись крупными блоками, размер которых не меньше размера одной ленты. Так, тестовый образец LaCie 2.5″ 4TB демонстрировал скорость записи на чистый накопитель порядка 130 МБ/с. После первого заполнения диска скорость записи данных упала до 20-40 МБ/с; что характерно, не помогло ни форматирование диска, ни переразбивка на разделы. Ещё хуже себя показал вариант ёмкостью 5 ТБ, скорость перезаписи данных которого упала ниже 10 МБ/с. Частично исправить ситуацию помогло включение кеширования записи и запись данных крупными блоками; впрочем, даже так первоначальная высокая скорость записи не восстановилась.

Проиллюстрирую работу SMR в момент перезаписи данных. Увидеть подобные цифры получится лишь после того, как весь объём диска был заполнен хотя бы единожды, а объём записываемых в течение одной сессии данных превышает размер буфера CMR (при этом очистка или переформатирование диска никак не повлияют на производительность). На первом скриншоте — запись с отключённым кэшированием записи. Скорость записи периодически проседает от 1 до 10 МБ/с. Эта скорость обнажает внутреннюю суть процесса. В процессе записи контроллер считывает ленту (блок черепичных дорожек) в буфер; модифицирует одну дорожку; записывает всю ленту из буфера на диск. Следующая дорожка — повторение цикла. В результате имеем процесс, который на Reddit описали так: «Многие говорят, что SMR — это медленно, но мало кто представляет, насколько медленно это на самом деле. Представьте, что вам нужно пропихнуть слона через замочную скважину. Представили? А теперь представьте, что с другой стороны активно сопротивляются. Вот это и будет запись SMR.»

Скорость перезаписи с отключённым кэшем на запись.

На втором скриншоте — то же самое, но с включённым кэшированием записи. Теперь в буфер накопителя попадает не дорожка, а вся лента целиком (точнее, может попадать — фактического размера ленты и того, как он соотносится с размером буфера накопителя, мы не знаем). Если бы контроллер накопителя был чуточку умнее (или хотя бы поддерживал инструкцию trim, как в WD), то он понял бы, что нужно перезаписать всю ленту целиком — и сделал бы именно это. Но — нет; контроллер раз за разом считывает ленту в буфер, модифицирует данные и записывает их обратно. Скорость записи в результате варьируется от нулевой до максимальной (около 100 МБ/с в этой части диска).

Скорость перезаписи с включённым кэшем на запись.

На скриншотах хорошо видна одна из проблем накопителей с SMR: чрезвычайно медленная перезапись больших массивов данных. Учитывая, что такие диски (на скриншоте – модель Seagate Backup Plus 5TB) часто продаются для хранения резервных копий, размер которых может достигать от сотен гигабайт до нескольких терабайт, такая производительность на основной (и, по сути, единственной) задаче устройства – совершенно неприемлема.

А что насчёт скорости чтения? Хорошо известная проблема SMR – низкая скорость позиционирования головок, связанная с высокой плотностью расположения дорожек. Соответственно, случайный доступ к данным, в отличие от последовательного, при прочих равных условиях в моделях с SMR будет ниже, чем в дисках без «черепицы». Но на этом проблемы не заканчиваются. В дисках с SMR без trim так же, как и в накопителях SSD, используется механизм трансляции адресов. Диск старается записать новую порцию данных сначала в CMR буфер, а когда он заполнен — в первую свободную ленту. Соответственно, происходит трансляция логических адресов в физические; при этом возникает внутренняя фрагментация данных. И если для SSD внутренняя фрагментация не играет никакой роли, то в случае с механическими дисками мы получаем двойной удар: файлы «размазываются» по незанятым лентам, и при этом скорость случайного доступа низкая из-за увеличенных требований к точности позиционирования головки. В результате при неудачном стечении обстоятельств мы получаем диск, чтение данных с которого превращается в пресловутое проталкивание слона через замочную скважину.

Впрочем, модель модели рознь. В упомянутом выше внешнем накопителе используется диск Seagate BarraCuda 5TB (ST5000LM000), которая была одной из первых 2.5” моделей с SMR. Реализация черепичной записи в нём сырая, чем-то напоминает поведение самых первых SSD, которые теряли в скорости записи сразу после первого заполнения. Моё мнение: в таком виде накопитель нельзя было выпускать на рынок.

А в каком – можно? Можно ли сделать так, чтобы дисками с SMR можно было пользоваться, не испытывая заметных неудобств? Оказывается, даже в рамках технологии SMR можно создавать вполне неплохие диски (разумеется, со своими ограничениями и узким спектром сценариев использования), если правильно сделать программную часть – прошивку контроллера. И получилось это сделать впервые не у Seagate, пионера технологии, а у основного конкурента – компании Western Digital, героя этой статьи.

Реализация SMR от WD: команда trim, как в SSD

На сегодняшний день между реализацией SMR от Seagate и Western Digital есть одно, но очень важное отличие: поддержка накопителями WD команды trim. Использование этой команды меняет если не всё, то многое. Но позволяет ли поддержка trim говорить о том, что накопители с SMR можно использовать в рамках RAID массивов? Разберёмся детально.

Первые опыты Western Digital в отношении SMR были сугубо секретными: компания до сих пор не призналась, использовалась ли эта технология в модели WD My Passport объёмом 4 ТБ. Большинство пользователей склоняется к тому, что использовалась: невысокая скорость случайной записи и низкая надёжность модели привели к закономерным подозрениям. Впрочем, уверенности в этом до сих пор нет ни у кого, даже у технически подкованных специалистов. Об использовании SMR в этой модели упоминается вскользь как о вероятности. Что интересно, в этой модели параметры S.M.A.R.T. декларируют поддержку функции trim, но фактически её активировать не удаётся. А вот в новой модели WD My Passport 5TB (а также WD_Black 5TB) функция trim и декларируется, и поддерживается фактически.

Благодаря поддержке trim последовательная запись большого массива данных всегда осуществляется так, как будто данные сохраняются на свежий накопитель. Вот как выглядит график производительности диска WD My Passport 5TB (с поддержкой trim):

Источник

А вот так – график производительности аналогичного диска Seagate (поддержки trim нет):

Как видим, у диска Seagate первые 10 минут идёт запись в буфер CMR, после чего начинается бесконечный цикл уплотнения-перезаписи, из-за которого скорость записи то падает до 10 МБ/с, то восстанавливается до максимальной, то снова падает. Накопитель от Western Digital подобного поведения не демонстрировал.

Как проверить, поддерживает ли данный конкретный диск команду trim? С одной стороны, можно посмотреть показания S.M.A.R.T. С другой – у меня есть несколько дисков, в параметрах которых поддержка trim заявлена, но по факту отсутствует (вероятно, это особенности использованных производителем USB контроллеров). Проверить же можно, запустив PowerShell с административными привилегиями и выполнив команду

Optimize-Volume -DriveLetter X: -Retrim

Если процесс оптимизации успешно начнётся, то система выполняет тримминг накопителя. Если же выдаст ошибку – значит, функция trim не поддерживается (кстати, она не поддерживается при использовании любой файловой системы, кроме NTFS).

Казалось бы, при чём здесь trim – команда, традиционно использующаяся в твердотельных накопителей для упрощения сборки мусора?

В статье TRIM Command Support for WD External Drives даётся подробный ответ. Согласно этой статье, функция trim используется для оптимизации сборки мусора на дисках WD, использующих черепичный способ записи.

TRIM / UNMAP поддерживается для внешних (и внутренних тоже – ОА) жестких дисков с технологией записи SMR (Shingled Magnetic Recording) для управления таблиц соответствия адресов и повышения производительности SMR с течением времени. Одним из преимуществ (там так и написано – ОА) черепичной записи является то, что все физические сектора записываются последовательно в радиальном направлении и перезаписываются только после циклического переноса. Перезапись ранее записанного LBA (адресация логического блока) приведет к тому, что предыдущая запись будет помечена как недействительная, и LBA будет записана в следующий последовательный физический сектор. TRIM/UNMAP позволяет ОС информировать накопитель о том, какие блоки более не используются и могут быть вновь использованы жестким диском для выполнения последующих операций записи на полной скорости.

Что это означает на практике? Если использовать такой диск в Windows 10 (и диск отформатирован в NTFS), то скорость записи больших массивов данных будет оставаться высокой независимо от числа перезаписей. Система автоматически сообщит контроллеру об освобождении адресов, которые более не используются. Соответственно, скорость записи будет восстанавливаться автоматически после удаления файла или форматирования диска – это то, чего катастрофически не хватает накопителям от Seagate.

Если речь идёт о диске формата 3.5”, то некоторые NAS (например, производства Synology) также определят его как накопитель, поддерживающий trim. Работу trim можно настроить по расписанию.

Пусть вас не введёт в заблуждение название пункта “SSD trim”: в накопителе установлен механический жёсткий диск на 6 ТБ – как раз из новой серии WD с черепичной записью. Впрочем, у этого метода есть и ряд ограничений; в частности, trim не работает в массивах RAID5/6. Аналогичные ограничения есть и у других NAS.

Что приводит нас к очевидному выводу: даже поддержка накопителями команды trim не делает новые диски Western Digital с черепичной записью SMR пригодными для использования в составе массивов RAID 5 и RAID 6 (а также, по опыту пользователей, в составе ZFS и массивов SHR 1 и, возможно, SHR 2). В составе таких массивов непрерывная череда мелкоблочных операций записи быстро (в течение 40 минут) перенасытит контроллер и переполнит ограниченный буфер CMR.

Нельзя и использовать диск с SMR совместно с классическими в рамках одного массива: в зависимости от нагрузки, диск с SMR может замедлить работу всего массива и даже привести к его деградации, если контроллеру покажется, что диск слишком долго не отвечает.

С другой стороны, новые диски WD с черепичной записью вполне допустимо использовать в однодисковых NAS, а также в составе массивов уровней JBOD, RAID 1 или RAID 0 в многодисковых сетевых накопителях, причём последние два (RAID1/0) при условии, что все диски в составе массива используют одинаковую технологию записи (только CMR или только SMR).

И, разумеется, диски WD с черепичной записью отлично работают в качестве архивных. Правда, до тех пор, пока их используют совместно с Windows, а сам накопитель отформатирован в NTFS. Использование таких дисков в macOS способно преподнести неприятные сюрпризы в силу особенностей реализации trim в ОС от Apple.

При этом использование диска SMR с поддержкой команды trim предпочтительнее аналогичного диска без поддержки trim – обширный список, в который входят практически все «домашние» накопители Seagate.

Стоит ли покупать диски с SMR

Разница в цене между наполненным гелием накопителем WD My Book или WD Elements Desktop 8TB, использующими классическую запись CMR, и черепичными Seagate Backup Plus Hub или Seagate Expansion Desktop 8TB на сегодня порядка 10-15 евро. Разница в цене между WD Red 6TB с PMR (модель WD60EFRX) и SMR (WD60EFAX) – исторически те же 10 евро, но на фоне последних публикаций ценник на классическую модель резко и необоснованно взлетел, догнав ценник на 8-гигабайтный накопитель.

Стоит ли переплатить за отсутствие SMR и всегда ли это возможно? В некоторых компактных (2.5”) накопителях ёмкостью от 2 ТБ используют SMR для того, чтобы получить более тонкий корпус. В компактных дисках ёмкостью в 5 ТБ запись SMR используют просто для того, чтобы сделать такую ёмкость возможной. А вот десктопные диски ёмкостью 2, 4, 6 и 8 ТБ вполне можно выпустить и без SMR. Использование черепичной записи позволяет производителю сэкономить; часть этой экономии достаётся на долю покупателя, но большую часть денег производитель кладёт в собственный карман.

Решение о покупке того или иного диска принимать в любом случае пользователю. Есть сценарии использования, в которых использование SMR недопустимо в принципе – это массивы RAID 5 и 6 уровней. Использовать SMR в составе массивов RAID 0 и RAID 1 принципиально допустимо, но при соблюдении простого правила – использовать в рамках массива только диски без или только с SMR. В однодисковом NAS, который умеет использовать trim, пользователь не заметит большой разницы между диском с PMR и диском SMR, поддерживающим команду trim. Наконец, диски с SMR и trim вполне допустимо использовать в качестве архивных.

А вот за использование дисков с SMR, но без поддержки trim, производитель просто обязан давать гигантскую скидку. В противном случае мне сложно понять потребителя, приобретающего себе заведомо медленный и нестабильный по скорости работы накопитель.

Заключение

В этой статье мы подробно рассмотрели как саму черепичную технологию записи SMR, так и особенности её реализации двумя крупнейшими представителями индустрии – компаниями Seagate и Western Digital. Является ли SMR абсолютным злом? Нет, не является – если покупатель понимает, какие проблемы и ограничения он приобретает за свои деньги, и получает за это достаточную скидку. Но делать это нужно с открытыми глазами, а сознательно скрывать информацию – совершенно недопустимо.

 

Apple Watch – одна из самых популярных марок «умных» часов в мире. Последняя версия часов оснащена полным набором датчиков и процессором, мощность которого превосходит бюджетные (и даже не очень бюджетные) модели смартфонов. При помощи часов собираются огромные массивы данных. Что происходит с этими данными, где они хранятся и как их извлечь? Попробуем разобраться.

Статья написана в соавторстве с Маттиа Эпифани. Маттиа – основатель итальянской компании REALITY NET, консультант в сфере цифровой криминалистики и мобильной безопасности. Маттиа Эпифани является инструктором курсов SANS и соавтором книги “Learning iOS Forensics”.

За последние несколько лет популярность разнообразных трекеров и «умных» часов значительно возросла. В 2018 году был продан 141 миллион «умных» часов, что почти вдвое превышает результат предыдущего года. Среди всего разнообразия моделей выделяется линейка Apple Watch, продажи которых в 2018 году составили 22.5 миллиона единиц. На протяжении нескольких лет суммарная доля всех моделей Apple Watch лишь немного не дотягивает до половины глобальной рыночной доли.

Первая версия часов Apple Watch была выпущена в 2015 году. В следующем году на замену первого поколения часов пришло поколение Series 1, которое вышло одновременно с версией Series 2. На сегодняшний день актуальной моделью является четвёртая (по факту – пятая) версия Apple Watch 4. Все версии часов от Apple работают под управлением специализированной операционной системы WatchOS, код которой в свою очередь основан на мобильной системе iOS.

В отличие от подробно исследованных смартфонов iPhone и других устройств, работающих под управлением операционной системы iOS, часы Apple Watch заинтересовали лишь небольшое число экспертов. Первыми работами, описывающими структуру данных Apple Watch, стала публикация Heather Mahalik и Sarah Edwards, опубликованная в 2015 году (PDF). С тех пор сравнимых по масштабу исследований часов от Apple не проводилось.

Последние версии часов Apple Watch оснащены большим числом разнообразных датчиков. Здесь и датчик атмосферного давления, и шагомер, и датчик пульса, и чувствительные инерционные датчики, и датчик магнитного поля, и полноценный чипсет для определения координат по спутникам GPS, Glonass и Galileo, и даже датчик для снятия электрокардиограмм. Многие из этих датчиков работают постоянно, но некоторые включаются лишь периодически. Пример – датчик для определения местоположения, который активируется лишь в те моменты, когда WatchOS посчитает, что ты вышел на пробежку.

С учётом того, что часы оборудованы 8 ГБ встроенной памяти, логично было бы ожидать, что по крайней мере часть собранных данных сохраняется в часах. Часы ведут полноценные логи, формат которых совпадает с форматом аналогичных логов iPhone. Кроме того, на часах могут быть многочисленные циферблаты, на них можно устанавливать приложения (в том числе сторонние, из магазина), синхронизировать фотографии. Часы получают уведомления с телефона, причём в них может содержаться часть сообщения. С часов можно слушать музыку, можно зарегистрироваться на рейс и пройти посадочный контроль при помощи посадочного талона в виде QR-кода. Часами можно оплачивать покупки. На часах работает голосовой помощник Siri. Если же речь идёт о версии часов с LTE, то с часов можно и позвонить. Иными словами, часы Apple Watch могут делать многое из того, что может делать и обычный смартфон. Есть ли возможность добраться до всех этих данных?

Информацию из часов можно извлечь тремя разными способами. Во-первых, резервную копию Apple Watch можно извлечь из локальной или облачной резервной копии подключённого к часам iPhone. Во-вторых, часы можно подключить напрямую к компьютеру, используя переходник, после чего извлечь данные методом логического анализа. Наконец, некоторые данные можно извлечь из облака iCloud (в первую очередь речь идёт о данных «Здоровья» пользователя, которые собирают часы).

Каждый из этих способов возвращает свой собственный набор данных, отличный от того, который можно получить другими способами. Данные частично пересекаются, но мы рекомендуем по возможности использовать все три способа для максимально полного извлечения.

Способ первый. Анализ резервной копии iPhone

Часы Apple Watch независимо от поколения аппаратной платформы и версии WatchOS обладают возможностью создавать резервную копию данных. Тем не менее, WatchOS не позволяет использовать сервис для создания резервных копий ни сторонним приложениям, ни даже программе iTunes. Резервные копии часов создаются только и исключительно в подключённом к часам смартфоне iPhone.

Согласно документации Apple, содержимое Apple Watch автоматически копируется на сопряжённое устройство iPhone, чтобы данные Apple Watch можно было восстановить из этой резервной копии. К сожалению, нам неизвестен способ, посредством которого можно было бы форсировать создание свежей резервной копии часов в iPhone, за исключением одного: отсоединить часы от iPhone, разорвав пару. В статье Apple Резервное копирование данных Apple Watch подробно описано, что входит, а что не входит в состав резервных копий часов.

Вот что входит в резервную копию данных Apple Watch:

  • Данные (для встроенных программ) и настройки (для встроенных и сторонних программ).
  • Расположение программ на экране «Домой» и настройки циферблата.
  • Настройки панели Dock и основные системные настройки.
  • Медицинские данные и данные о физической активности.
  • Настройки уведомлений.
  • Плейлисты, альбомы и миксы, синхронизируемые на Apple Watch, и настройки музыки.
  • Настройка параметра Siri «Аудиоотзыв» для Apple Watch Series 3или более поздних моделей. 
  • Синхронизированный фотоальбом.
  • Часовой пояс.

Вот что не входит в резервную копию данных Apple Watch:

  • Записи сопряжения Bluetooth.
  • Данные кредитных или дебетовых карт для платежей Apple Pay, сохраненные на Apple Watch.
  • Код-пароль к часам Apple Watch.

(Источник: Резервное копирование данных Apple Watch)

Таким образом, резервную копию часов Apple Watch можно извлечь из iPhone. Самый простой способ это сделать – создать локальную или облачную резервную копию iPhone, после чего проанализировать её содержимое. Мы не будем подробно останавливаться на процедуре создания резервных копий (они многократно описывались на страницах нашего сайта); отметим только, что для создания свежей резервной копии можно использовать iTunes или одну из сторонних программ, но мы воспользовались утилитой Elcomsoft iOS Forensic Toolkit (она будет использована впоследствии и для извлечения данных из часов, подключённых к компьютеру через переходник).

Итак, резервная копия iPhone создана, осталось найти в ней резервную копию часов Apple Watch. Для этого мы воспользуемся двумя утилитами: iBackupBot (доступна для Windows и MacOS) и SQLite Expert для Windows.

Начнём с анализа спецификаций устройства. Для этого откроем резервную копию iPhone в приложении iBackupBot.

В папке \HomeDomain\Library\DeviceRegistry.state находятся следующие файлы:

  • plist
  • stateMachine-<GUID>.PLIST
  • plist
  • plist

В файле historySecureProperties.plist хранится серийный номер часов, уникальный идентификатор UDID (UniqueDeviceIdentifier), MAC-адреса адаптеров Wi-Fi и Bluetooth подключённых к телефону часов Apple Watch.

Файл stateMachine-<GUID>.PLIST хранит информацию о сопряжении с iPhone (обычно значение PairSuccess), версия операционной системы WatchOS и время сопряжения с телефоном (записанное в формате Apple Cocoa Core Data — https://www.epochconverter.com/coredata).

Файл activestatemachine.plist содержит информацию, подобную той, что содержится в файле stateMachine-<GUID>.PLIST, дополненной данными о версии WatchOS, установленной на часах в момент создания резервной копии.

В папке \HomeDomain\Library\DeviceRegistry содержится директория, имя которой содержит GUID из файла stateMachine-<GUID>.plist file: именно в этой директории содержатся данные из резервной копии AppleWatch.

Что же интересного есть в резервной копии часов Apple Watch? В первую очередь интерес представляют следующие данные.

В папке NanoAppRegistry содержится информация об установленных на часах приложениях. На скриншоте ниже можно увидеть информацию о приложении Facebook, включая данные Bundle Version, Display Name, Bundle Identifier и Bundle Name. К сожалению, данных приложения в резервной копии часов нет, только информация о приложении.

В базе данных NanoMail\Registry.sqlite содержится информация о почтовых учётных записях, которые синхронизируются с часами.

В частности, в таблице SYNCED_ACCOUNT можно найти записи Display Name и Email Address для каждого почтового аккаунта, который синхронизируется с устройством. Ни пароля, ни маркера аутентификации от почтовых аккаунтов в резервной копии нет.

В таблице MAILBOX можно просмотреть, как организована почта, пролистать папки и подпапки для каждой учётной записи (Входящие, Исходящие, Черновики, Архив и так далее).

Продолжая описание доступных баз данных, в базе NanoPasses\nanopasses.sqlite3 содержится список записей из приложения Wallet. Программа Wallet — универсальное хранилище кредитных, дебетовых и предоплаченных карт, а также карт магазинов, посадочных талонов, билетов в кино, купонов, бонусных карт, студенческих удостоверений и т. д. Записи Wallet синхронизируются с часами. В частности, часы можно использовать для отображения QR-кода посадочных талонов для их удобного сканирования при посадке на рейс. Для каждой записи доступны данные Type_ID, название организации Organization Name, дата Ingest Date (в формате Apple Cocoa Core Data) и описание Description.

В некоторых записях доступно поле “Encoded Pass”, в котором содержится двоичный файл plist с дополнительной информацией (например, описанный выше QR-код посадочного талона). Такие файлы можно извлечь из базы данных и открыть при помощи программы для работы с plist (например, plist Editor).

На следующем скриншоте можно увидеть запись брони гостиницы через Booking.com. Поле Encoded Pass можно открыть в SQLiteExpert и сохранить в виде файла.

Далее файл открываем в plist Editor и извлекаем информацию о брони, включая имя гостя, название и адрес гостиницы, даты заезда и выезда, стоимость и номер брони.

В папке NanoPreferencesSync хранятся различные файлы, отвечающие за настройки Apple Watch. Наибольший интерес здесь представляет папка \Backup\Files\, в которой содержится информация о циферблатах и их настройках, включая изображения.

Все эти файлы представляют собой обычные архивы в формате ZIP.

В каждом архиве содержатся:

  • Face.json с детальными настройками циферблата, включая дату его создания (как обычно, в формате Apple Cocoa Core Data)
  • В папке Resources содержится изображение циферблата в формате JPEG, а также файл Images.plist, в котором содержатся метаданные.

Анализ резервной копии: итоги

Проанализировав резервную копию часов из iPhone, мы получили достаточно скромный результат. Настройки системы и приложений, талоны из Wallet, настройки почтовых учётных записей, циферблаты… Никаких логов, никаких цифр с показаниями датчиков, уведомлений или истории местоположения пользователя; никаких данных из «песочниц» сторонних приложений. Строго говоря, мы вообще не узнали ничего интересного сверх того, что могли бы узнать, проанализировав резервную копию сопряжённого с часами iPhone, из которой мы, собственно, и извлекли резервную копию часов.

Извлечение данных из Apple Watch через адаптер

Более сложным способом извлечь информацию из Apple Watch является их подключение к компьютеру посредством специализированного переходника, правильное подсоединение которого к часам – поистине ювелирная работа. В любом случае, нужно будет выполнить все требования из списка:

  1. Нужно каким-то образом подключить часы к компьютеру. И если для Apple Watch S1, S2 и S3 есть готовые адаптеры IBUS, то для часов последней серии нужного адаптера мы не нашли.
  2. Когда часы подсоединятся к компьютеру, потребуется создать доверенное соединение – точно так же, как и с iPhone. И точно так же, как и в случае с iPhone, для этого нужно будет разблокировать часы кодом блокировки. Если этого не сделать, то связать часы с компьютером не получится.
  3. На часах нет доступного для сторонних приложений сервиса резервного копирования. Соответственно, на резервную копию рассчитывать нельзя.
  4. Джейлбрейка тоже не существует, так что и файловую систему извлечь не удастся.

И даже после всего перечисленного тебе не удастся извлечь образ файловой системы! Всё, что тебе будет доступно – это несколько  сервисов, через которые можно попробовать извлечь некоторые типы данных. С учётом всего этого неудивительно, что извлечением данных из часов Apple Watch мало кто занимается. Что же вообще можно извлечь из часов при прямом подключении? Доступны всего три типа данных:

  1. Информация об устройстве и список установленных приложений
  2. Файлы через протокол AFC (Apple File Conduit)
  3. Лог-файлы

Подключение к компьютеру

Нам удалось найти переходники для первых трёх поколений часов; для Apple Watch 4 такого адаптера нет. Диагностический порт в часах Apple Watch находится под креплением для ремешка; потребуется тонкая игла или скрепка для того, чтобы открыть крышку. Используемый нами адаптер носит название IBUS.

Правильно подсоединить адаптер к часам может быть сложно. Тем не менее, это возможно:

Так же, как и для iPhone, приложение iTunes запросит разрешение на создание доверенного соединения с компьютером:

iTunes отобразит информацию о часах (только версия ОС и уникальный идентификатор часов):

Теперь запускаем Elcomsoft iOS Forensic Toolkit:

Список приложений, установленных на часах, извлекается командой I (Device Info) и сохраняется в файл:

 

На диске (обычно в том же каталоге, куда установлен iOS Forensic Toolkit) создаётся три файла:

  • plist
  • txt
  • plist

В файле ideviceinfo.plist содержится вся доступная информация по Apple Watch, включая точный идентификатор модели Hardware Model, версия операционной системы WatchOS, серийный номер часов (Serial Number), UDID, название устройства (Device Name), MAC-адреса адаптеров Wi-Fi и Bluetooth, Time Zone и время на момент извлечения данных.

Также в файле содержится информация о свободном и общем объёме накопителя и размере системного раздела (атрибуты Total Disk Capacity, Total System Capacity, Total Data Capacity, Total Data Available). Наконец, атрибуты Language и Locale содержат информацию о выбранном языке и региональных настройках.

Список установленных на часах приложений сохраняется в файл Applications.txt. Сюда попадают такие данные, как Bundle Identifier (уникальный идентификатор приложения), Bundle Version и Bundle Display Name (название приложения в том виде, как оно отображается на часах).

Детальная информация о каждом установленном приложении доступна в файле Applications.plist (ты помнишь, какой утилитой его просмотреть). Здесь содержится информация о точном пути в файловой системе, по которому установлено приложение и пути к его «песочнице» (Application Path и Container соответственно). Обрати внимание: доступа к файловой системе часов у нас нет, так что доступа к данным из «песочницы» мы не получим. Так выглядит информация о приложении Uber:

Скопировать файлы системных журналов можно командой L (Logs):

Анализ лог-файлов часов

Итак, мы извлекли лог-файлы из часов. Более подробно почитать о лог-файлах iOS можно в статье “Using AppleBug Reportingfor forensic purposes” Mattia Epifani, Heather Mahalik и Adrian Leong (Cheeky4n6monkey). В статье рассказывается о том, как использовать профили sysdiagnose для извлечения данных из различных устройств Apple. Попробуем использовать тот же подход с часами.

Скрипты для анализа данных sysdiagnose можно скачать с GitHub https://github.com/cheeky4n6monkey/iOS_sysdiagnose_forensic_scripts.

Наибольший интерес представляют следующие системные журналы.

MobileActivation содержит информацию о версиях ОС и времени их установки, модели устройства и типа продукта. Здесь также хранится детальная информация об обновлениях WatchOS. На скриншоте ниже показана работа скрипта с журналом Mobile Activation.

 

MobileContainerManager представляет интерес тем, что содержит информацию об удалении приложений с часов. Проанализировав журнал, можно понять, какие приложения могли использоваться на часах в интересующий период времени. Ниже показана работа скрипта по парсингу журнала MobileContainerManager.

MobileInstallation аналогичен предыдущему, но информация здесь не об удалении, а об установке приложений на часы.

Но самым интересным, пожалуй, является журнал PowerLog. Здесь хранится информация о взаимодействии пользователя с часами. Часы лежали на зарядке? Их взяли в руки? Надели на запястье? Пользователь активировал экран? Именно этот журнал в первую очередь стараются проанализировать эксперты при расследовании автомобильных аварий. Если водитель отвлёкся на часы (или включил экран телефона, в нём тоже есть аналогичный лог) в момент аварии, это будет свидетельствовать против него (в США есть понятие Distracted Driving. Для информации: в результате distracted driving на американских дорогах в 2017 году погибло более 3,000 человек). В силу особой важности структура этой базы данных отлично изучена. Можно почитать, например, статью Sarah Edwards (PDF) или воспользоваться готовым инструментарием APOLLO. APOLLO работает примерно так:

Наконец, логи WiFi содержат список сетей, к которым подключались часы. Проще всего просмотреть содержимое файла com.apple.wifi.plist, в котором интерес представляют записи о SSID, BSSID и дате последнего подключения к данной сети. Особый интерес представляет параметр BSSID, который можно использовать для определения точного местоположения (радиус 15-25 метров) в момент подключения к сети. Для определения координат точки доступа Wi-Fi по её BSSID можно воспользоваться одним из сервисов reverse lookup, например, Wigle.

Доступ к медиа-файлам по протоколу AFC (Apple File Conduit)

О доступе к медиа-файлам стоит рассказать подробнее.

Извлечь медиа-файлы можно командой M (Media) (интерес представляют не столько сами фотографии, сколько база данных Photos.sqlite):

Практически единственный способ получить доступ к медиа-файлам из часов Apple Watch требует использования утилиты, работающей по протоколу AFC. При этом часы должны быть подключены к компьютеру, а между компьютером и часами должны быть установлены доверенные отношения (pairing).

Как было показано в предыдущей главе, медиа-файлы легко извлечь посредством команды M (Media Files) программы iOS Forensic Toolkit. Казалось бы, всё просто: медиа-файлы – это фотографии и, возможно, видеоролики; что интересного может оказаться в файлах с часов? Оказывается, интересного довольно много – и основной интерес представляют вовсе не сами фотографии.

Ниже показана структура папок, создаваемой после извлечения медиа-файлов по протоколу AFC:

Собственно изображения (в сильно уменьшенном по сравнению с оригиналами виде) попадают в папку DCIM; здесь без сюрпризов.

Несмотря на то, что изображения сильно уменьшены (странно было бы передавать на часы полноразмерные фотографии), система сохраняет в них метатеги EXIF, что позволяет определить такие параметры, как время точное съёмки и устройство, использовавшееся для фотографии.

В папке iTunes_Control\iTunes содержится весьма интересная база данных MediaLibrary.sqlitedb. Сюда же входят и соответствующие файлы SHM (Shared Memory) и WAL (Write Ahead Log). Сама база данных, как очевидно из названия, хранится в формате SQLite (как, впрочем, и все остальные базы данных на часах). В этой базе содержатся такие данные, как iCloud ID пользователя, а также список покупок в магазине iTunes (покупки музыки, фильмов и электронных книг). Что интересно, в этом файле хранится информация о покупках, совершённых со всех устройств пользователя, зарегистрированных в данной учётной записи.

В базе данных содержится 36 таблиц. Идентификатор пользователя iCloud ID хранится в таблице _MLDatabaseProperties.

Чтобы извлечь из базы данных какую-то осмысленную информацию, сформируем запрос SQL:

select
ext.title AS "Title",
ext.media_kind AS "Media Type",
itep.format AS "File format",
ext.location AS "File",
ext.total_time_ms AS "Total time (ms)",
ext.file_size AS "File size",
ext.year AS "Year",
alb.album AS "Album Name",
alba.album_artist AS "Artist",
com.composer AS "Composer",
gen.genre AS "Genre",
art.artwork_token AS "Artwork",
itev.extended_content_rating AS "Content rating",
itev.movie_info AS "Movie information",
ext.description_long AS "Description",
ite.track_number AS "Track number",
sto.account_id AS "Account ID",
strftime('%d/%m/%Y %H:%M:%S', datetime(sto.date_purchased + 978397200,'unixepoch'))date_purchased,
sto.store_item_id AS "Item ID",
sto.purchase_history_id AS "Purchase History ID",
ext.copyright AS "Copyright"
from
item_extra ext
join item_store sto using (item_pid)
join item ite using (item_pid)
join item_stats ites using (item_pid)
join item_playback itep using (item_pid)
join item_video itev using (item_pid)
left join album alb on sto.item_pid=alb.representative_item_pid
left join album_artist alba on sto.item_pid=alba.representative_item_pid
left join composer com on sto.item_pid=com.representative_item_pid
left join genre gen on sto.item_pid=gen.representative_item_pid
left join item_artist itea on sto.item_pid=itea.representative_item_pid
left join artwork_token art on sto.item_pid=art.entity_pid

Этот запрос извлечёт детальную информацию о покупках пользователя включая название продукта (например, название фильма, музыкального альбома или электронной книги), размер файла, длительность звучания или просмотра композиции, дату покупки и идентификатор истории покупок. Если купленный файл хранится на самих часах, здесь же будет и имя файла.

Купленные файлы (на примере ниже это музыка) можно обнаружить в папке Purchases:

Интерес представляет и папка PhotoData, в которой хранятся метаданные синхронизированных фотографий. Наибольший интерес представляют база данных Photos.sqlite и папка Thumbnails.

В базе Photos.sqlite содержится информация о фотографиях, которые хранятся на часах. Детальное описание структуры базы доступно по ссылке https://www.forensicmike1.com/2019/05/02/ios-photos-sqlite-forensics/. Готовые запросы SQL можно скачать с https://github.com/kacos2000/queries/blob/master/Photos_sqlite.sql.

Наконец, в папке Thumbnails хранятся уменьшенные превью изображений на Apple Watch. Формат ITHMB можно преобразовать в привычный JPEG при помощи утилиты iThmb Converter.

Извлечение данных через переходник: итоги

Через переходник нам оказалось доступно даже меньше информации, чем при анализе резервной копии часов. Тем не менее, ценность этих данных несравнимо выше, чем данных из резервной копии: для получения доступа ко всей этой информации нам не нужен связанный с часами iPhone – вполне достаточно самих часов. Многие данные уникальны; особую ценность мы находим в логах часов вообще и в логах PowerLog в частности, а также талонах из приложения Wallet.

Можно ли извлечь больше? Да, можно, если для часов будет доступен джейлбрейк. Для актуальных версий WatchOS джейлбрейка сейчас не существует. Единственной попыткой было приложение jelbrekTime (именно в такой транскрипции) для WatchOS 4.0-4.1.

Ситуация может измениться в ближайшее время. Для WatchOS 4.0-5.1.2 анонсирован джейлбрейк Brenbreak, который обещают выпустить для всех актуальных версий часов до конца 2019 года. Мы с нетерпением ожидаем выхода джейлбрейка, чтобы снять, наконец, образ файловой системы часов и посмотреть, что там найдётся.

Доступ через облако

Что ещё можно извлечь из часов? С технической точки зрения из самих часов — ничего, но из облака iCloud можно извлечь часть информации, которую iPhone получает именно от часов Apple Watch. Речь о данных «Здоровье», в состав которых входит счётчик шагов, данные со встроенного в часы навигатора GPS, данные сердцебиения пользователя и снятые электрокардиограммы, а также другие типы данных, для получения которых могли использоваться сторонние приложения. Для доступа к информации необходим Elcomsoft Phone Breaker; инструкция: Download Health data from iCloud (извлекаются даже те данные, которые не отдаёт Apple по запросу от правоохранительных органов). Для просмотра данных можно воспользоваться Elcomsoft Phone Viewer:

Мы уже неоднократно писали о процедуре извлечения данных «Здоровья», и здесь повторяться не будем.

Заключение

Извлечение и анализ данных часов Apple Watch – достаточно новая и малоизученная тема. В то же время ряд вещей (например, журнал PowerLog) представляют исключительный интерес для экспертов-криминалистов. Стали появляться факты успешного раскрытия преступлений, в процессе совершения которых преступник оставлял смартфон дома, но забывал снять часы или трекер, которые продолжали записывать информацию. К сожалению, в процессе исследования доступными для часов методами нам не удалось добраться до журнала с историей местоположения (часы Apple Watch оборудуются автономным датчиком GPS, который автоматически включается, если WatchOS считает, что пользователь начал тренировку). Не удалось получить доступ и к данным установленных на часах приложений. Отсутствие полноценной службы резервного копирования не позволяет создать свежую резервную копию часов иначе, чем отвязав их от смартфона iPhone (причём в момент, когда часы подключены к телефону через Bluetooth или Wi-Fi). Отсутствие в продаже адаптеров для подключения к компьютеру актуальной версии Apple Watch 4 делает невозможным извлечение жизненно важных журналов. Иными словами, исследование Apple Watch только начинается.

 

В рамках исследований безопасности и методов шифрования, которые используются в сетевых хранилищах известных производителей, в нашей лаборатории скопилось около полутора десятков моделей устройств. Поработав с каждым в течение достаточно длительного времени, мы обнаружили, что маркетинг часто идёт вразрез с реальностью, а обзоры все как один умалчивают о важных проблемах, которые делают невозможным использование устройства по предполагаемому назначению. Об этих проблемах и ограничениях в NAS трёх крупнейших производителей мы сегодня и поговорим.

Synology

Компания Synology выпускает самые популярные сетевые хранилища, которые можно купить в виде отдельного устройства. Последнее – важное дополнение, так как абсолютным лидером по числу проданных «домашних» NAS является компания Western Digital со своими однодисковыми и двухдисковыми моделями WD My Cloud, My Cloud Mirror, My Cloud Home и My Cloud Home Duo. Такой популярности Western Digital удалось добиться за счёт чрезвычайно низкой цены: NAS с диском WD зачастую стоит дешевле, чем диск отдельно.

Synology не может себе позволить такой щедрости; сетевые хранилища этого производителя продаются за ощутимые деньги – пользуясь при этом неизменной популярностью. Но и у Synology не обошлось без ложки дёгтя.

Бесполезная агрегация

Двумя и более сетевыми портами оборудуются лишь самые продвинутые (и достаточно дорогие) модели NAS от Synology. Однако использовать лишний порт для того, чтобы удвоить полосу пропускания, у обычного пользователя не получится. Для того, чтобы разобраться в причинах, нужно немного рассказать о том, как работает агрегация сетевых линков в принципе.

Использовать два и более сетевых интерфейса можно разными способами. Можно выделить один линк как резервный: он будет использован только в том случае, если у основного линка возникнут проблемы. Агрегацию можно использовать для распределения нагрузки, пуская трафик, генерируемый разными клиентами, по разным линкам. В этом случае ширина полосы пропускания увеличивается пропорционально количеству линков – но только в том случае, если пользователей несколько. Скорость доступа к данным для каждого конкретного пользователя не превысит максимальной скорости работы единственного гигабитного линка.

Единственное исключение из этого правила – агрегация на программном уровне по алгоритму Round Robin. При использовании этого алгоритма достигается именно тот эффект, которого ожидает обычный домашний пользователь: скорость передачи данных между NAS и любым другим устройством (разумеется, также использующим скоростной линк) будет складываться из суммарной пропускной способности всех агрегированных линков. Таким образом, включение второго порта Ethernet большинством производителей – это способ удвоить видимую пользователю скорость работы NAS, вплотную приблизив скорость обмена данными по сети к скорости самих дисков.

Почему я назвал агрегацию линков в Synology «бесполезной»? По какой-то причине разработчики компании удалили возможность использования алгоритма Round Robin. Все другие алгоритмы, которые поддерживаются в DSM, не позволяют удвоить скорость передачи данных между NAS и единственным клиентом. К сожалению, подавляющее большинство пользователей не знает (форум) об этой особенности – пока не попробует воспользоваться режимом агрегации.

Со списком поддерживаемых DSM алгоритмов агрегации можно ознакомиться на скриншоте.

Для сравнения, большинство даже недорогих моделей (начиная с середины линейки) Asustor и Qnap оснащаются двумя сетевыми интерфейсами, которые можно объединить методом Round Robin и получить удвоенную полосу пропускания.

Вот как выглядит настройка агрегации линков в NAS Asustor:

 

Результат налицо: скорость чтения-записи практически сравнялась со скоростью доступа к самим дискам.

Недорогие модели чрезмерно ограничены

Программисты Synology славятся способностью заставить мощный и красивый графический интерфейс работать быстро и исключительно отзывчиво даже на самом слабом железе. Тем не менее, использование двухъядерных процессоров архитектуры Cortex A7 (приблизительно уровень дешёвых смартфонов 2012 года) в моделях начального уровня оправдать получается с трудом.

В бюджетных двухдисковых моделях (линейка DS216j, DS218j и недавно выпущенная DS220j) применяется разборный пластиковый корпус без полноценного металлического каркаса. Данная конструкция не способна обеспечить звукоизоляцию дисков. Особенно плохо обстоят дела с дисками на 7200 оборотов в минуту, а это – все модели WD Red начиная с 8ТБ и выше. (В скобках: производитель указывает класс производительности этих моделей как “5400 RPM Class”, что не эквивалентно скорости в “5400 RPM”. Замеренная скорость вращения шпинделя в WD Red 8TB и выше – 7200 RPM, хоть в параметрах S.M.A.R.T. и указано другое). Так, попытка собрать бесшумное домашнее сетевое хранилище с двумя дисками WD Red 8TB окончилась провалом: корпус NAS резонировал, усиливая вибрацию дисков, создавая мерный неприятный гул. Диски пришлось переставить в стоявший рядом Asustor AS5202T, в котором те же самые диски вдруг оказались совершенно бесшумными.

Сравнивая модели NAS от Synology с конкурентами аналогичной ценовой категории, основанными на тех же процессорах, можно заметить, что в моделях Synology меньше количество и разнообразие портов (как правило, отсутствует выход HDMI, один сетевой интерфейс вместо двух, нет портов Type-C). При этом благодаря прекрасно оптимизированной прошивке DSM работают модели Synology ничуть не хуже конкурентов, часто обгоняя даже более мощные решения.

Отсутствие ключевых возможностей

Какие именно возможности являются ключевыми – каждый пользователь решает для себя сам. Для кого-то это поддержка Plex, кто-то собирается использовать NAS в качестве видеоплеера – ему нужен Kodi и поддержка инфракрасного пульта ДУ; для кого-то важнее тишина и низкое энергопотребление. Прошивка DSM, под управлением которой работают NAS от Synology, предлагает простое и беспроблемное решение – но в достаточно узких рамках.

QNAP

Сетевые хранилища QNAP – на втором месте по популярности после Synology. Как правило, за сравнимую стоимость покупателю предлагается чуть более мощное железо с большим количеством интерфейсов и таких элементов, как съёмные лотки для дисков. В то же время программное обеспечение QNAP является одним из самых сырых, тяжёлых и плохо оптимизированных среди исследуемой троицы производителей. И если к аппаратной части NAS от QNAP претензии возникают нечасто, то о прошивках можно и нужно поговорить.

Ненадёжные модули с прошивкой

В устройствах Synology операционная система хранится непосредственно на жёстких дисках (нужно отметить – всех инициализированных жёстких дисках, что позволяет устройству корректно работать, даже если останется работоспособным единственный – любой – накопитель). В моделях QNAP операционная система QTS хранится в интегрированном твердотельном хранилище – модуле DOM. Такой способ хранения операционной системы имеет как свои преимущества, так и недостатки, основным из которых является отказ системы в случае повреждения DOM. Обозреватели не успевают столкнуться с этой проблемой, но стоит запустить поиск в Google – и всё становится на свои места: замена бракованных модулей и перепрошивка повреждённых занимают несколько страниц выдачи по запросу QNAP DOM. Ничего подобного у других производителей не наблюдается.

К сожалению, проблема с модулями DOM носит системный характер. Использование небольших по объёму модулей (экономия) с не самым высоким ресурсом (снова экономия) и тот факт, что обновления прошивок записываются всё в тот же модуль, приводят к тому, что твердотельная память со временем отказывает. В то же время перепрошивка повреждённого образа QTS, судя по популярности запроса, является весьма востребованной опцией.

Лично мне не довелось столкнуться с отказом модуля DOM, но перепрошить его однажды пришлось: обновления QTS отказывались устанавливаться из-за несовпадения контрольных сумм, причём произошло это прямо при настройке устройства «из коробки».

Медленная загрузка

Операционная система в QNAP хранится в виде образа в распаянном твердотельном хранилище DOM. В процессе загрузки система считывает этот образ в оперативную память, распаковывает его и загружает операционную систему. К сожалению, процесс загрузки не оптимизирован настолько, что младшие модели могут загружаться 5-6 минут, а старшие – 3-4 минуты.

Для сравнения, аналогичные модели Synology и Asustor (который, кстати, тоже хранит прошивку в твердотельном хранилище) загружаются за полторы минуты, а собранный мной NAS под управлением Debian с Openmediavault на обычном четырёхъядерном процессоре с архитектурой ARMv8 загружается за 30 секунд, 14 из которых уходит на включение и раскрутку пластин жёсткого диска.

Режим сна S3 sleep mode: был и не стало

С медленной загрузкой можно было бы смириться, если бы в устройстве можно было активировать режим глубокого сна S3 sleep mode. К сожалению, в новых устройствах QNAP разработчики убрали эту возможность, а в тех, в которых она была, её отключают в новых версиях прошивки. Причина? «Проблемы с безопасностью». Какие именно? «Оно работает нестабильно». Почему нестабильно? Потому что программисты компании не обладают достаточной квалификацией, чтобы обеспечить стабильный режим глубокого сна в собственной ОС на собственном железе.

В чём выражается эта нестабильность? Я протестировал работу этой функции на двух устройствах: QNAP TS-131P и QNAP TS-453BE. В обоих случаях режим глубокого сна активируется командой:

echo mem > /sys/power/state

После её выполнения устройство достаточно быстро переходит в режим сна. Разбудить его можно нажатием кнопки питания либо отправкой «магического пакета» WOL. Нестабильность заключается в том, что приблизительно один раз из трёх-четырёх устройство не пробуждается, требуя для восстановления работоспособности жёсткой перезагрузки. Неудивительно, что такую нестабильную функцию разработчики предпочли убрать из пользовательского интерфейса (но не из ядра системы).

Для сравнения, аналогичная функция в устройствах Asustor поддерживается официально и работает весьма стабильно. А вот в NAS от Synology режим глубокого сна присутствует лишь в считанных (очень старых) моделях.

Нет расписания задач

Возможность выполнять задачи по расписанию – одна из ключевых особенностей сетевых хранилищ. В Synology по расписанию можно создавать резервные копии, выполнять сборку мусора (trim) твердотельных накопителей и дисков с SMR, да и вообще – создавать любые мыслимые задачи, которые будут запускаться хоть по расписанию, хоть сразу после запуска. Это выглядит так:

Synology: запуск пользовательского скрипта сразу после загрузки.

В QTS нет ничего подобного. Это не означает, что пользователь не может создавать резервные копии по расписанию – может, если этот режим поддерживает само приложение. Но, к примеру, разбудить сетевое устройство командой WOL, после чего создать на нём резервную копию и отключить его скриптом SSH – не получится без использования терминала и умения настроить cron. А в Synology – получится. Похоже, разработчикам было настолько лень делать диспетчер задач, что они создали подробную статью о том, как пользователю самому настроить crontab через командную строку.

Неотключаемые звуковые сигналы

Когда-то давно я критиковал китайские телефоны, которые издавали радостный писк, проигрывали бравурный марш или трубили в фанфары, радостно поздравляя пользователя со своим успешным включением. Более серьёзные компании это торжественное событие обставляют без лишней помпы: бесшумная анимация в смартфонах Google или статичное, хоть и надкусанное, яблоко Apple.

Производители сетевых хранилищ родом из той же местности, что и производители китайских смартфонов, и не порадовать пользователя звуковым сигналом, свидетельствующих об успешной загрузке, просто выше их сил. Тем не менее, в NAS от Synology и Asustor эти звуковые сигналы можно отключить, позволив устройству тихо просыпаться ночью и создавать резервную копию по расписанию.

Разработчики QNAP не смогли преодолеть сорочий инстинкт, запретив отключение звукового сигнала в процессе загрузки. Автоматическое пробуждение хранилища ночью разбудит и пользователя.

Навязчивый пользовательский интерфейс

Операционная система QTS предлагает развитый, многооконный пользовательский интерфейс – который, однако, не оставляет пользователя в покое. В магазине приложений присутствует анимированная реклама, но больше всего раздражают другие мелочи. Так, каждый раз при открытии списка уведомлений Event Notifications пользователю будут настойчиво предлагать включить… расширенные уведомления в Notification Center: отправкой SMS, письма или push-уведомления на мобильное устройство. Но даже если вы согласитесь с системой и активируете расширенные уведомления, просто чтобы избавиться от назойливого предложения, блок с предложением настроить Notification Center никуда не денется.

Мелочь? Недовольных пользователей множество (форум), реакция представителей компании – «это для вашего же блага».

Сомнительные приложения

Из той же оперы – приложение SSD Profiler, которым также многие недовольны. Разработчики QNAP решили собрать статистику надёжности SSD и то, как на неё влияют показания мониторинга S.M.A.R.T. Проблема с этим приложением в том, что оно устанавливается в систему по умолчанию; удалить его нельзя (по крайней мере, такова была ситуация на тот момент, когда я тестировал NAS от QNAP). Приложение отправляет производителю телеметрию независимо от того, хочет того пользователь или нет. Лишь спустя год в момент, случайно совпавший с принятием в Европе закона о защите персональной информации GDPR, разработчики QNAP изменили политику: теперь пользователям предлагается поделиться телеметрией добровольно, взамен обещается несколько месяцев подписки на сервис предсказания надёжности накопителей, который появится когда-нибудь в будущем. Предложение хоть и сомнительное, но честное – почему бы не сделать так с самого начала?

Сомнительная безопасность прошивки

У всех производителей находят уязвимости. Уязвимости находили в сетевых хранилищах Western Digital, Synology, Asustor и QNAP. Однако лишь в случаях с Western Digital и QNAP проблема получила характер массовой эпидемии – в основном благодаря тому, что эти производители не торопились с выпуском патча безопасности.

Не останавливается вентилятор

Выбирая домашнее сетевое хранилище, пользователи редко обращают внимание на то, как именно оно будет функционировать 99% времени – находясь в простое. Не акцентируют на этом внимание и производители. Тем не менее, в ряде моделей Synology предусмотрен режим Low power mode, в котором вентилятор будет останавливаться, когда останавливаются диски. NAS без движущихся частей – очень тихий NAS, идеальный для домашнего использования. К сожалению, QNAP не выпускает ни одной модели хранилищ, вентилятор которых останавливался бы при комнатной температуре даже во время гибернации жёстких дисков.

Другие проблемы

Описанные выше проблемы касаются если не всех, то большинства домашних пользователей. Мне не известно о каких-либо других специфических проблемах QNAP, которые носили бы системный характер. Однако ненадёжных накопителей DOM, проблем с перепрошивкой и достаточно сырой операционной системой уже достаточно, чтобы повлиять на выбор устройства для дома.

Asustor

Устройства Asustor и Nimbustor, выпускаемые подразделением компании ASUS, как правило, снабжены лучшей по сравнению с устройствами Synology аналогичной стоимости аппаратной базой. К примеру, в большинстве двухдисковых моделей Synology присутствует лишь один сетевой порт RJ45; большинство же моделей Asustor аналогичного класса оснащаются двумя сетевыми портами, что позволяет удвоить скорость обмена данными с компьютером и другими устройствами. Тем не менее, у устройств Asustor и операционной системы ADM есть свои особенности, от некоторых из которых впору схватиться за голову.

Контроль температуры, скорость вращения вентилятора и уровень шума

Одна из самых известных и, можно сказать, любимых проблем ADM – странный подход к регулированию скорости вентилятора. Вот, например, как это сделано в Synology DSM (правильный подход):

 

А вот – в Asustor ADM:

В целом похоже? Да, но нет. В Synology пользователь выбирает не скорость вращения вентилятора, а алгоритм, регулирующий его скорость в зависимости от внутренней температуры устройства. За счёт того, что даже в двухдисковых устройствах инженеры Synology сумели встроить вентилятор размером 92мм, диски всегда остаются холодными, а уровень шума – низким.

 

В двухдисковых моделях Asustor (как и прочие производители) устанавливает небольшие высокооборотистые вентиляторы размером 70мм.

 

При выборе автоматической регулировки скорости вращения вентилятора обороты последнего фиксируются на 750 RPM и держатся на этом уровне, пока диски не разогреются до +53С. 53 градуса – это очень высокая температура, длительная работа при которой негативно сказывается на надёжности накопителей.

Казалось бы, можно выбрать другой алгоритм, и вентилятор будет вращаться чуть быстрее? Нет. Выбрать можно между автоматической регулировкой, режимом Low (обороты фиксируются на 750 RPM), Medium (обороты фиксируются на 2600 RPM) и High (полная скорость, 4300 RPM).

И если на низких оборотах вентилятор не слышно уже на расстоянии метра, но режим Medium – это очень, очень громко: шум прекрасно слышно из соседней комнаты через закрытую дверь. Про режим High говорить не буду, шум вентилятора в нём сравним со звуком взлетающего самолёта. Работа же автоматического режима не просто неудовлетворительна; она просто опасна для дисков:

Это – одна из тех вещей, исправить которые для разработчиков не составляет никакого труда. Тем не менее, проблема известна как минимум с 2014 года, и в течение многих лет всё, что делают представители компании – это объясняют, что «так задумано». Каким-либо логическим образом объяснить эту, выразимся прямо, узколобость мышления тайваньских программистов у меня не получается.

Справедливости ради, в четырёхдисковых моделях Asustor устанавливаются значительно менее шумные вентиляторы размером 120мм. Впрочем, алгоритмы управления ими не отличаются от таковых в двухдисковых моделях.

Ещё о шуме вентилятора

Большинство моделей Asustor может переходить в режим глубокого сна – S3 sleep mode. В этом режиме минимизируется энергопотребление устройства, останавливаются диски, выключается вентилятор, останавливаются все процессы и исчезает вероятность того, что случайный процесс неожиданно разбудит устройство и приведёт к раскрутке дисков. Режим практически идеальный для домашнего использования, но смущает мелочь: в некоторых моделях (например, AS6302T) при выходе из глубокого сна устройство раскручивает вентилятор на полную скорость (это шумно); лишь спустя несколько десятков секунд шум затихает. Если вы хотели настроить NAS на автоматическое пробуждение ночью (например, с целью создания резервных копий или репликации сетевых папок), то шум вентилятора может заставить вас передумать.

Нет расписания задач

С моей точки зрения, расписание задач (Task Scheduler) – важная часть сетевого хранилища, без которой его полноценное использование под вопросом. В ADM централизованного управления расписанием задач нет. Да, резервные копии можно создавать по расписанию, но выполнить свой скрипт до или после задачи не получится: единственная доступная настройка – это время и частота выполнения задачи.

Другие проблемы

Наверняка у других пользователей найдутся свои претензии к аппаратной и программной части сетевых хранилищ Asustor. В частности, встречаются жалобы на отсутствие в магазине приложения видеоплеера Kodi; странно и не всегда логично работает подключаемое к основному NAS устройство расширения с дополнительными лотками для дисков AS6004U, вентилятор которого принципиально не любит останавливаться, а яркость светодиодов – регулироваться программными настройками. Впрочем, если вы не пользуетесь устройством в качестве видеопроигрывателя и не планируете расширять его ёмкость добавлением специального устройства, вас эти проблемы обойдут стороной.

Заключение

У каждого пользователя – свои требования и свои сценарии использования сетевых хранилищ. Кому-то нужно максимально тихое хранилище для файлов домашней видеотеки; кто-то редактирует гигабайты видео, для чего нужна максимальная скорость; кто-то собирается использовать NAS в качестве видеоплеера или каталогизатора коллекции фильмов; кому-то нужна виртуализация и всё с ней связанное. Для каждой задачи можно подобрать подходящее устройство у любого производителя – но важно делать это с открытыми глазами, понимая возможности и ограничения каждого устройства и производителя в целом.

 

Одной из основных задач расследований, связанных с мобильными устройствами, является извлечение максимально полного набора данных. В случае, если мобильное устройство — iPhone, для низкоуровневого доступа к файлам и для расшифровки Связки ключей, в которой хранятся все пароли пользователя, может потребоваться установка джейлбрейка.  Несмотря на то, что существуют надёжные методы сбора данных, которые работают без джейлбрейка, эти методы могут быть недоступны в зависимости от ряда факторов, что возвращает нас к вопросу о джейлбрейках. Сегодня мы рассмотрим два самых популярных и самых надёжных в работе джейлбрейка — checkra1n и unc0ver. Чем они отличаются и в каких ситуациях какой из них стоит использовать? Попробуем разобраться.

Джейлбрейк checkra1n

Джейлбрейк chechra1n основан на уязвимости загрузчика, реализованной в эксплойте checkm8. Аппаратная природа проблемы не позволяет Apple закрыть уязвимость; соответственно, данный эксплойт и основанный на нём джейлбрейк останутся актуальными до тех пор, пока в циркуляции остаются устройства соответствующих поколений.

  • Подверженные уязвимости модели: iPhone 5s, 6, 6 Plus, 7, 7 Plus, 8, 8 Plus, iPhone X
  • Подверженные уязвимости версии iOS: iOS 12.3 до iOS 13.5.5 beta
  • За: совместимость с будущими версиями iOS; работает на заблокированных устройствах с неизвестным кодом блокировки
  • Против: поддерживается ограниченное число моделей; не работает для iOS 12.2 и более старых

Джейлбрейк unc0ver

Джейлбрейк unc0ver кардинально отличается от ранее описанного checkra1n. Данные джейлбрейк основан на уязвимостях в операционной системе iOS, а точнее — в конкретных версиях iOS вплоть до iOS 13.5. В новых версиях системы найденные уязвимости исправлены, и джейлбрейк перестал работать.

  • Подверженные уязвимости модели: iPhone 5s до iPhone 11 Pro Max и iPhone SE 2 (2020)
  • Подверженные уязвимости версии iOS: iOS 11.0 до iOS 13.5
  • За: стабильная установка и работа; совместим со всеми версиями iOS 11 и iOS 12; поддерживает последние поколения устройств Apple (iPhone 11, iPhone SE 2020)
  • Против: не работает с iOS 13.5.1 и 13.5.5 beta; используемые уязвимости закрыты Apple в свежих версиях системы

Агент-экстрактор

Рассказав о джейлбрейках и их особенностях, было бы неправильно не упомянуть альтернативный способ извлечения данных — агент-экстрактор нашей собственной разработки. Агент-экстрактор обеспечивает криминалистически чистый способ получить эскалацию привилегий и извлечь данные из устройства. К сожалению, агент-экстрактор работает не на всех версиях iOS, что естественным образом ограничивает область его применимости. В то же время, если конкретная комбинация аппаратного и программного обеспечения совместимы с агентом-экстрактором, использует следует именно его как наиболее безопасный и чистый способ, практически не оставляющий (за исключением записей в системном журнале) следов работы.

  • Поддерживаемые модели: iPhone 5s до iPhone 11 Pro Max и iPhone SE 2 (2020)
  • Поддерживаемые версии iOS: iOS 11.0 до iOS 13.3 (с некоторыми исключениями для iPhone 5s и iPhone 6)
  • За: 100% безопасность и криминалистическая прозрачность
  • Против: требуется учётная запись Apple для разработчиков; ограниченная совместимость

Прочие джейлбрейки

Для iOS 11 iOS 12 существуют и другие джейлбрейки, в частности — ElectrarootlessJB и Chimera. Мы поддерживаем Electra и Chimera, но поддержку rootlessJB в последней версии EIFT удалили. Связано это с тем, что обязанности этого джейлбрейка для всех поддерживаемых моделей устройств и версий iOS принял на себя агент-экстрактор нашей собственной разработки, который гораздо лучше приспособлен для работы в криминалистической лаборатории. В любом случае, мы рекомендуем остановиться на checkra1n и unc0ver для всех поддерживаемых ими устройств.

Для старых версий iOS доступны следующие джейлбрейки:

  • iOS 10.0 to iOS 10.3.3: Meridian
  • iOS 9.2 to iOS 9.3.3: Pangu
  • iOS 9.0 to 9.1: Pangu (другая версия)
  • iOS 8.0 to iOS 8.4: TaiG

Мы протестировали все, и не обнаружили проблем с извлечением как файловой системы, так и Связки ключей. Обратите внимание, что в некоторых джейлбрейках по умолчанию не включен ssh, поэтому вам придется установить OpenSSH из Cydia. Имейте в виду, что подключение устройства к сети несёт соответствующие риски. Поддержку iOS 10 в агент-экстрактор мы планируем добавить в ближайшее время.

Последовательность шагов

Прежде, чем вы предпримете какие-либо действия, необходимо узнать максимально полную информацию об устройстве:

  • Точный идентификатор модели
  • Установленная версия iOS
  • Заблокирован ли экран устройства и известен ли вам код блокировки

Для отключенных и заблокированных устройств с неизвестным паролем у вас не будет других вариантов, кроме использования checkra1n. Даже в этом случае вы будете ограничены извлечением данных из режима BFU (до первой разблокировки), в котором получится извлечь ограниченный набор данных. Это лучше чем ничего, но имейте в виду, что данный джейлбрейк совместим только с устройствами под управлением iOS 12.3 и более новых. Кроме того, checkra1n версии 0.9.6+ принудительно активирует режим ограничений USB, поэтому рекомендуем использовать более старую версию этого джейлбрейка, либо воспользоваться режимом диагностики для решения этой проблемы.

Если экран устройства разблокирован, но на устройстве установлена последняя версия iOS (бета-версия 13.5.1 или 13.5.5), checkra1n также будет единственным доступным вариантом.

Для большинства прочих моделей и версий iOS предпочтительным методом будет использование агента-экстрактора. Как отмечалось выше, это быстро и безопасно. При извлечении на основе агента не используется SSH; вместо этого используется прямое подключение. В текущей версии Elcomsoft iOS Forensic Toolkit есть полная поддержка iOS 11.0 — 13.3; для iOS 13.3.1 — 13.4.1 поддерживается только извлечение файловой системы (но не Связки ключей).

Для чего, в таком случае, нужен unc0ver? Этот джейлбрейк стоит использовать исключительно для современных поколений устройств на процессорах A12/A13 (модели iPhone Xs, Xr, 11, 11 Pro, SE2) для расшифровки Связки ключей в iOS 13.3.1-13.4.1 или iOS 13.5. Мы работаем над поддержкой расшифровки Связки ключей в iOS 13.5; эта возможность войдёт в ближайшую версию Elcomsoft iOS Forensic Toolkit, выход которой запланирован на следующей неделе.

Наконец, что можно сделать, если ни один из джейлбрейков к устройству не подошёл, а агент-экстрактор не поддерживает модель устройства или версию iOS? Ответ — логический анализ, включающий как резервную копию, так и другие данные. Обратите внимание:

  • Не позволяйте iPhone синхронизироваться с компьютером
  • Создавайте резервные копии с заданным (известным) паролем (в них содержится больше данных)
  • Не забывайте извлечь медиа-файлы, системные журналы и файлы приложений

Самый сложный вариант? Заблокированный iPhone на основе A12/A13 (checkm8 не поддерживается), с активированным режимом ограничений USB (нет возможности даже логического анализа, даже с действительной записью сопряжения lockdown/pairing). Все, что можно сделать, это переключить устройство в режим диагностики и извлечь информацию об устройстве, после чего запросить у Apple данные пользователя из облака, указав серийный номер устройства. Также можно попытаться найти учетные данные пользователя и выполнить извлечение из iCloud с помощью Elcomsoft Phone Breaker.

Другие устройства

Apple Watch S1-S3 точно так же уязвимы для эксплойта checkm8, как и модели iPhone, работающие на процессорах тех же поколений. Теоретически возможно полное извлечение файловой системы и из часов. Однако для Apple Watch не существует джейлбрейка; извлечение агентом-экстрактором также невозможно.

Для Apple TV 4 и 4K доступны джейлбрейки checkra1n и unc0ver. Мы не тестировали checkra1n (сложности с переводом Apple TV 4K в режим DFU, для чего необходим специальный адаптер), но unc0ver отработал корректно для версий tvOS до 13.4.5. Информация, доступная в Apple TV, может оказаться полезной для расследования — см. статью Apple TV and Apple Watch Forensics 01: Acquisition.

Заключение

«Решение одной кнопки» — несбыточная мечта для наших клиентов и недостижимая цель для нас. К сожалению, не существует ни одного решения, которое смогло бы извлечь информацию из абстрактного iPhone. В игру вступают такие тонкости, как используемый в модели процессор, установленная версия iOS, наличие или отсутствие кода блокировки экрана, активированный режим защиты USB и множество других факторов. Мы делаем все возможное, чтобы предложить экспертам на выбор несколько разных методов. Каким из них воспользоваться — вопрос как доступности и применимости для конкретного устройства, так и нужд эксперта в каждой конкретной ситуации.

Извлечение данных через облако — один из из наиболее распространённых способов получения улик. Важно понимать, что анализ данных, собранных компанией Google в собственном облаке, способен предоставить значительно более полные данные по сравнению с самым низкоуровневым анализом единственного телефона с Android. Сегодня мы поговорим об одной из особенностей облачного анализа: возможности извлекать данные пользователя, хранящиеся в учётной записи Google, без его логина и пароля.

Токены аутентификации

Общая концепция токенов аутентификации очень проста. Вместо того, чтобы каждый раз отправлять на удалённый ресурс, требующий аутентификации, ваши логин и пароль (или хеш пароля), браузер или приложение приложит небольшой набор двоичных данных. Эти двоичные данные и носят название токена аутентификации. Как только сайт или ресурс получает токен, пользователь сможет получить доступ к ресурсам. Как правило, доступ по токену ограничен по времени, по истечение которого пользователю придётся снова ввести логин и пароль. Тем не менее, в промежутке (а он может быть достаточно длительным — иногда до полугода) пользователь сможет пользоваться ресурсами, не вводя каждый раз пароль.

В Google используется классическая схема аутентификации по токенам. Пользователь аутентифицируется один раз, получает токен аутентификации и использует этот токен для дальнейшего доступа и к другим сервисам Google. Например, токен аутентификации, полученный в Google Chrome, автоматически используется для доступа к списку контактов, календарям, почте и т. д. Примечательно, что токен нельзя использовать для доступа к некоторым службам, таким как список паролей на сайте Google (список паролей в самом браузере Chrome — совершенно отдельная статья).

Токены не являются ни паролями, ни их хешами. Не существует способа восстановить по токену оригинальный пароль. Фактически, токен — это просто набор случайных или псевдослучайных данных, отформатированный для удобства и сохранённый в виде записи в базе данных или в файле, иногда — в зашифрованном виде, но иногда и в открытом. Использование токенов аутентификации делает систему не только более удобной (нет необходимости повторной аутентификации для пользователя), но и более безопасной, поскольку пароль нигде не сохраняется.

Google использует два основных типа токенов: токен Google Chrome (создаётся, когда пользователь входит в свою учётную запись в браузере Google Chrome) и токен, который создаётся приложением Google Backup & Sync (ранее — Google Drive), если оно установлено.

Разумеется, Google также сохраняет токены и на мобильных устройствах (Android и iOS), но извлечь их оттуда гораздо сложнее, чем из компьютера.

Токен Google Drive

Начнём с простого. Токен Google Drive создаётся приложением Google Backup & Sync на компьютерах Windows и macOS. Токен Google Drive хранится в зашифрованном виде. В системах Windows токен защищён DPAPI, в то время как в macOS для хранения токена используется Связка ключей.

Токен Google Drive можно извлечь при помощи Elcomsoft Cloud Explorer. Роль токенов Google Drive ограничена; их можно использовать исключительно для того, чтобы получить доступ к файлам в облачном хранилище Google Drive.

Токены Google Drive хранятся в зашифрованном виде. Для извлечения и расшифровки токена Google Drive вам потребуется доступ к компьютеру пользователя (а не образ диска), который использовался для входа в Google Drive через приложение Google Backup & Sync. Процесс извлечения и расшифровки обеспечит Elcomsoft Cloud Explorer. Внимание: если пользователь выйдет из Google Drive, токены аутентификации удаляются или становятся недействительными.

Токен браузера Chrome

Этот токен создаётся, когда пользователь входит в свою учётную запись Google в браузере Chrome. При помощи данного токена можно получить доступ к ряду служб Google. В системах Windows токен Chrome защищён комбинацией DPAPI и Gcm256 (старые версии Chrome полагались исключительно на защиту DPAPI). В macOS токен хранится в Связке ключей.

Также, как и в случае с токенами Google Drive, для доступа к токену Chrome вам понадобится оригинальный компьютер Windows или Mac пользователя. Для извлечения и расшифровки токена потребуется Elcomsoft Cloud Explorer. Если пользователь вышел из учётной записи Google в Chrome, токены аутентификации удаляются или аннулируются.

Токен Chrome обеспечивает доступ к большему количеству категорий данных по сравнению с токеном Google Drive. Категории, к которым открыт доступ, включают историю посещений в браузере Chrome и некоторые другие данные (например, список открытых вкладок и закладок), список сетей Wi-Fi, журналы вызовов, календари, данные Личного кабинета пользователя, а также заметки Google Keep. Полный список категорий данных, доступных с токенами аутентификации Chrome, приведён на скриншоте:

Как извлечь токены

Мы обнаружили место на компьютере, куда сохраняются токены Chrome и Google Drive, и нашли способ использовать их для аутентификации без пароля. Для этого используется приложение Elcomsoft Cloud Explorer. Аутентификация без пароля доступна (с использованием токена аутентификации) доступна в случаях, когда пользователь использует браузер Google Chrome и вошёл в свою учётную запись.

Токены аутентификации находятся в следующих местах.

Токены Google Chrome:

Chrome Windows:

%appdata%\Local\Google\User Data\<Profile_name>\Web Data

Chrome macOS:

~/Library/Application Support/Google/Chrome/<profile_name>/Web Data

Токены Google Drive:

Windows (в Registry):

HKEY_CURRENT_USER\SOFTWARE\Google\Drive\
Название ключа начинается с "OAuthToken_"

macOS (in the Keychain):

в разделе Связки ключей login keychain

В состав Elcomsoft Cloud Explorer входит утилита Google Token Extractor (GTEX). Эта утилита работает в командной строке. Она автоматически сканирует компьютер пользователя (Windows или Mac) на предмет токенов аутентификации, сохраненных браузером Google Chrome или приложением Google Drive. Как только токен аутентификации будет найден, GTEX сохранит его в текущем каталоге (Windows) или каталоге пользователя по умолчанию (Mac). Находятся и расшифровываются все поддерживаемые токены для всех зарегистрированных учётных записей.

После того, как утилита Google Token Extractor завершит извлечение токенов, они будут сохранены под именами, формирующимися по следующему принципу:

<user_name><Google ID><token_type><date><time>.xml

Пример:

Google Chrome:

john.smith_test.account@gmail.com_GoogleChrome_05.05.2020_15-05-16_UTC.xml

Google Drive:

john.smith_test.account@gmail.com_GoogleDrive_05.05.2020_15-05-16_UTC.xml

Содержимое токена может быть таким.

Google Chrome (Windows):

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<ExtractedToken>
<GTEXVersion>1</GTEXVersion>
<Platform>Windows</Platform>
<GoogleID>test.account@gmail.com</GoogleID>
<Token>1/ukM2X_qTUU-viA-8Yn6LqzLjcGQ-nmHjsh254RYAOF4</Token>
<TokenType>GoogleChrome</TokenType>
<ClientID>77185425430.apps.googleusercontent.com</ClientID>
<ClientSecret>OTJg....</ClientSecret>
<ExtractedAt>03.04.2018 09:12:35</ExtractedAt>
</ExtractedToken>

Google Drive (МаcOS)

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<ExtractedToken>
<GTEXVersion>1</GTEXVersion>
<Platform>macOS</Platform>
<GoogleID>other.test.account@gmail.com</GoogleID>
<Token>1/ukM2X_qTUU-viA-8Yn6LqzLjcGQ-nmHjsh254RYAOF4</Token>
<TokenType>GoogleDrive</TokenType>
<ClientID>645529619299.apps.googleusercontent.com</ClientID>
<ClientSecret>nu6p....</ClientSecret>
<ExtractedAt>27.02.2018 16:46:55</ExtractedAt>
</ExtractedToken>

После извлечения токена его можно использовать с Elcomsoft Cloud Explorer для доступа к информации, хранящейся в учётной записи пользователя Google. Логин, пароль и прохождение двухфакторной аутентификации не потребуются.

Использование токенов для доступа к данным

Токен Chrome можно использовать для доступа и к другим категориям данных.

Чтобы авторизоваться в учётной записи при помощи токена, запустите Elcomsoft Cloud Explorer и выберите аутентификацию с помощью токена.

Будет выведен список доступных категорий данных (те, которые выделены серым цветом, недоступны при аутентификации посредством токена; для доступа к ним нужны логин и пароль).

 

Современный смартфон — бесценный кладезь информации с одной стороны и вполне реальная угроза приватности с другой. Смартфон знает о пользователе столько, сколько не знает ни один человек — начиная с подробной истории местоположения и общения в интернете и заканчивая кругом общения в реальной жизни, который определяется распознаванием лиц встроенными технологиями искусственного интеллекта. Чем больше и чем разнообразнее становится информация, собираемая о пользователе, тем в большей степени её требуется защищать. Задача же правоохранительных органов прямо противоположна: улики требуется из устройства извлечь. Возникает конфликт интересов.

“Мы глубоко уважаем правоохранительные органы и сотрудничаем с ними во многих областях, но по этому вопросу мы не согласны. Позвольте мне выразиться предельно ясно: ослабление шифрования или его устранение вредит в первую очередь честным людям, которые используют его в легитимных целях.” (интервью Тима Кука, 2015)

Оглянемся назад и посмотрим, как эволюционировали методы защиты данных, которые использовала Apple в своих устройствах.

iPhone OS 1 — 3: нулевой уровень

В первых версиях iOS (и, соответственно, в первых трёх моделях iPhone) защита данных была чисто символической: PIN-код защищал информацию от любопытных глаз, но и только. Никакого шифрования не было; данные можно было извлечь как из самого устройства, так и из микросхемы памяти. Впрочем, в первых поколениях iPhone и не было никакой особо ценной информации — разве что фотографии. Джон Здиарски был первым, кто обнаружил способ извлечь информацию из заблокированных iPhone, см. публикацию iOS Forensic Investigative Methods.

Модели устройств:

  • iPhone OS 1.0 – iPhone
  • iPhone OS 2.0 – iPhone 3G
  • iPhone OS 3.0 – iPhone 3GS

iOS 4: шифрование файловой системы

До версии iOS 4, данные в iPhone хранились в открытом виде. Их извлечение было вопросом несложных манипуляций. Сама компания Apple активно сотрудничала с правоохранительными органами, соглашаясь извлечь данные из присланного iPhone (забегая вперёд, так продолжалось вплоть до выхода iOS 8). В iOS 4 впервые появилось шифрование. Впрочем, использование аппаратного идентификатора в качестве ключа шифрования позволило довольно быстро найти способ извлечь и расшифровать зашифрованные данные, даже если код блокировки экрана был неизвестен. Кстати, именно наша компания была первой, кто сумел  взломать устройства с iOS 4.

Модели устройств:

  • iOS 4.0 – iPhone 4
  • iOS 5.0 – iPhone 4s
  • iOS 6.0 – iPhone 5

iOS 7: запрос при установлении соединения с компьютером

Можно ли сегодня представить себе, что когда-то iPhone можно было просто подключить к компьютеру, и он сразу устанавливал соединение? Тем не менее, до 7-й версии iOS было именно так. И только в iOS 7, наконец, появился привычный всплывающий запрос, требующий разблокировать экран устройства и подтвердить установление соединения с новым компьютером (последующие подключения обходились без этого благодаря файлам pairing/lockdown).

iOS 7 стала первой версией iOS, работавшей на первом 64-разрядном iPhone, оборудованном датчиком отпечатков пальцев и аппаратной подсистемой безопасности Secure Enclave.

Модели устройств:

  • iOS 7.0 – iPhone 5s, первый 64-разрядный iPhone с Secure Enclave

Здиарски обнаружил уязвимость в устройствах iOS, см. Apple Confirms “Backdoors”; Downplays Their Severity. Некоторые из обнаруженных Здиарски служб по сей день используются в Elcomsoft iOS Forensic Toolkit.

iOS 8: шифрование на основе кода блокировки; взлом паролей перестал работать

iOS 8 стала прорывом в области безопасности мобильных операционных систем. Именно в iOS 8 был заложен фундамент той модели безопасности, которая используется в iPhone по сегодняшний день.  С точки зрения безопасности изменилось буквально всё.

Модели устройств:

  • iOS 8.0 – iPhone 6 и 6 Plus

Начнём с простого — логического анализа.

До выхода iOS 8 Apple использовали следующую практику. При установлении соединения между iPhone и другим устройством (подразумевался компьютер пользователя) создавалась запись pairing record, которая сохранялась в виде файла. В старых версиях iOS эта запись была фиксированной; она не менялась никогда, даже после сброса устройства. Раз установив соединение с одним компьютером, пользователь мог спокойно подключать iPhone к любому другому устройству — если скопировал файл с pairing record. Именно такой файл и создавался в процессе настройки iPhone на заводе. Файл сохранялся на сервере компании, что позволяло Apple добиться сразу двух целей. Во-первых, сотрудники компании могли помочь пользователю, который забыл код блокировки, извлечь из телефона важные, уникальные данные (о существовании резервного копирования большинство пользователей не слышало ни тогда, ни сейчас). Второй, не декларируемой особенностью данной схемы было сотрудничество с полицией. Если в Apple присылали iPhone с сопроводительным ордером, то компания без проблем извлекала из него информацию. Это работало, даже если код блокировки был неизвестен. Кстати, разорвать раз установленное соединение было невозможно даже сбросом телефона к заводским настройкам.

Сотрудничеству с полицией был положен конец с выходом iOS 8. Начиная с этой версии системы, для установления с компьютером требуется не один фиксированный ключ, а пара уникальных ключей, которая генерируется при установлении соединения с новым устройством. Одна половинка ключа сохраняется в самом iPhone, а вторая — передаётся на компьютер пользователя, где и сохраняется в файл pairing record. Стоит удалить любую из половинок, и соединение не установится. Сброс телефона — уничтожаются все сохранённые в нём «половинки», соединение невозможно.

Комбинация шифрования файловой системы динамическим ключом на основе кода блокировки экрана и нового подхода к установлению соединения привела к тому, что ни сотрудники Apple Genius bar, ни полиция больше не могут извлечь данные из iPhone на основе заводских записей pairing. Об этом же написано в официальной инструкции Apple для правоохранительных органов, доступной только на английском языке:

For all devices running iOS 8.0 and later versions, Apple is unable to perform an iOS device data extraction as the data typically sought by law enforcement is encrypted, and Apple does not possess the encryption key. All iPhone 6 and later device models are manufactured running iOS 8.0 or a later version of iOS. Apple’s guidelines for law enforcement requests

Для всех устройств, работающих под управлением iOS 8.0 и более поздних версий, Apple не может выполнить извлечение данных с устройства, поскольку данные, запрашиваемые правоохранительными органами, зашифрованы, а у Apple нет ключа шифрования. Все устройства iPhone 6 и более поздние модели производятся под управлением iOS 8.0 или более поздней версии iOS.

Кроме того, в iOS 8 появилась новая подсистема Ограничения, позволяющая установить 4-значный цифровой PIN-код для защиты от некоторых действий с устройством (например, защита от сброса или изменения кода блокировки экрана, установки или удаления приложений).

iOS 9: длина кода блокировки увеличена до 6 цифр

В iOS 9 появилось единственное заметное новшество: длина кода блокировки экрана, которую предлагает система при настройке телефона по умолчанию, увеличена до 6 цифр. Пользователь по-прежнему может настроить 4-значный PIN, но от версии к версии сделать это становится всё сложнее.

В iOS 9 впервые появилось ограничение на время жизни записей о сопряжении (см. следующий раздел); в этой версии системы он составляет 6 месяцев с момента последнего использования.

Модели устройств:

  • iOS 9.0.1 – iPhone 6s и 6s Plus

iOS 10: ограничен срок действия записей о сопряжении

До iOS 10 записи lockdown (pairing records) действовали в течение длительного времени. В нашей лаборатории хранились записи, которым было несколько месяцев — и они продолжали работать. После того, как полиция начала активно пользоваться записями pairing record, извлекаемыми из компьютеров пользователей, в Apple решили ограничить срок действия этих записей. iOS 10 и более новые версии аннулируют записи о сопряжении через 30 дней с момента последнего использования.

iOS 10 стала и большим шагом назад в том, что касается защиты резервных копий. Начиная с iOS 5 (или iOS 4), Apple использовала один и тот же алгоритм для проверки паролей к резервным копиям iPhone. Для вычисления ключа шифрования вычислялось 20,000 итераций хеш-функции. Это было достаточно медленно и достаточно безопасно. В iOS 10 произошла неожиданность: в защите резервных копий обнаружилась забытая уязвимость, использующая единственную итерацию хеша. На основе этой уязвимости мы создали атаку со скоростью в десятки миллионов паролей в секунду.

Модели устройств:

  • iOS 10.0.1 – iPhone 7 и 7 Plus

iOS 10.1: исправлена проблема с защитой резервных копий

Описанная выше уязвимость в защите резервных копий была исправлена в iOS 10.1; наша компания удостоилась благодарности в сопроводительной документации.

iOS 10.2: защита резервных копий в параноидальном режиме

В очередной версии iOS в Apple решили закрыть вопрос с защитой резервных копий раз и навсегда, на несколько порядков увеличив количество итераций. С этого момента перебор пароля к резервной копии стал чрезвычайно неспешным: от нескольких паролей в минуту (!) с использованием ресурсов центрального процессора до нескольких сотен паролей в секунду при использовании мощного графического ускорителя.

iOS 10.3: переход на файловую систему APFS

В iOS 10.3 был осуществлён переход всех обновляемых устройств на новую файловую систему APFS. Сам по себе этот переход не сделал устройства более безопасными, но производителям ПО для анализа данных из iPhone пришлось в спешном порядке обновлять пакеты программ.

iOS 11: сопряжение с компьютером по паролю

В iOS 11 произошло два крупных изменения. Во-первых, установить сопряжение с новым компьютером теперь можно, если известен код блокировки: его потребуется ввести после разблокирования экрана (для самой разблокировки, кстати, можно по-прежнему использовать биометрику).

Вторым важным — и весьма сомнительным! — новшеством стала возможность сброса пароля к резервной копии. Сбросить пароль можно в настройках системы вместе с некоторыми другими настройками (в частности, при сбросе пароля на резервную копию удаляется и код блокировки экрана, что автоматически приводит к удалению таких данных, как список транзакций Apple Pay). Для сброса пароля к резервной копии потребуется ввести код блокировки экрана; таким образом, роль кода блокировки в модели безопасности iOS усилена ещё больше. С нашей точки зрения, эта возможность радикально снижает безопасность iOS. Мы написали об этом статью: iOS 11 Makes Logical Acquisition Trivial, Allows Resetting iTunes Backup Password.

Модели устройств:

  • iOS 11.0 – iPhone 8 и 8 Plus
  • iOS 11.0.1 – iPhone X

Срок действия записей о сопряжении ограничен ещё сильнее. Теперь существующие записи о сопряжении (pairing records) остаются действительными в течение 30 дней с момента последнего использования (источник: iOS Security Guide May 2019 edition, iOS 12.3).

В iOS 11 был представлен «аварийный» режим S.O.S., при активации которого отключается возможность разблокировки iPhone биометрическими датчиками. Наконец, в локальные резервные копии перестали сохраняться уведомления. Подробнее о новшествах в модели безопасности iOS 11 можно прочесть в статье New Security Measures in iOS 11 and Their Forensic Implications.

iOS 11.4.1: блокировка USB

В iOS 11.4.1 впервые появился режим ограничения (блокировки) USB, изначальным предназначением которого было противодействие инструментам для перебора кодов блокировки производства Cellerbrite и Grayshift. iOS 11.4.1 автоматически отключает передачу данных через USB (порт Lightning) через час после того, как экран устройства был заблокирован или отключен от компьютера или аксессуара USB. Кроме того, пользователь может активировать этот режим и вручную, просто запустив режим S.O.S.

iOS 12: расширен режим блокировки USB, Ограничения превратились в Экранное время

iOS 12 развивает и расширяет ограничения USB. Согласно новому руководству по безопасности iOS, опубликованному Apple после выпуска iOS 12, возможность передачи данных через порт USB блокируется сразу (а не через час, как это было раньше) после блокировки экрана устройства, если с момента последнего подключения через USB прошло более трех дней или если устройство находится в состоянии, когда для его разблокировки требуется пароль. Кроме того, порт USB блокируется, если пользователь активирует режим S.O.S. В оригинале этот момент описан так:

“In addition, on iOS 12 if it’s been more than three days since a USB connection has been established, the device will disallow new USB connections immediately after it locks. This is to increase protection for users that don’t often make use of such connections. USB connections are also disabled whenever the device is in a state where it requires a passcode to re-enable biometric authentication.”

Кроме того, в iOS 12 на смену Ограничениям пришёл новый сервис — Экранное время. Спустя время настройки и статистика Экранного времени стали доступны для синхронизации через iCloud.

Модели устройств:

  • iOS 12.0 – iPhone Xs и Xs Max
  • iOS 12.0 – iPhone Xr

iOS 13: смена пароля к резервной копии через код блокировки; режим блокировки USB снова расширен

В актуальной на сегодня ветке iOS 13, включающей в себя ответвление iPadOS, Apple отказалась от поддержки приложения iTunes на компьютерах Mac. Теперь резервные копии устройств с iOS/iPadOS создаются прямо из приложения Finder.

Модели устройств:

  • iOS 13.0 – iPhone 11 Pro и 11 Pro Max
  • iOS 13.0 – iPhone 11

При установке или изменении пароля, защищающего локальную резервную копию, пользователь должен ввести код блокировки экрана iPhone. Пароль необходимо ввести на самом iPhone. Таким образом, роль кода блокировки в iOS 13 окончательно возведена в абсолют; зная код блокировки экрана, с телефоном можно проделать практически всё, что угодно, от сброса пароля на резервную копию до смены пароля к Apple ID и отвязки устройства от iCloud.

Режим блокировки USB также был расширен. В iOS 13 появилось своеобразное «сопряжение» аксессуаров. Чтобы подсоединиться к компьютеру, пользователю нужно будет ввести PIN-код на iPhone, после чего устройства обменяются криптографическими ключами. «Сопряжение» аксессуара не использует криптографических ключей; это односторонний процесс, для которого не требуется PIN-код. Аксессуар «сопрягается» с iPhone, когда пользователь впервые подключает его к устройство в момент, когда экран телефона разблокирован (или же разблокирует iPhone уже после подключения аксессуара). iPhone сохранит информацию о «сопряжённом» аксессуаре и присвоит этому аксессуару доверенный статус.

Ограничения USB в iOS 13 различны для «доверенных» и «прочих» аксессуаров. В iOS 13 возможность коммуникации через порт USB блокируется через час после того, как телефон был заблокирован или пользователь отключил ранее использованный аксессуар. При этом подключение аксессуара, которого нет в списке доверенных устройств, вызывает мгновенное срабатывание блокировки порта USB.

Наконец, в незашифрованные резервные копии без пароля более не попадает журнал звонков и история браузера Safari.

Заключение

В заключение я хочу процитировать Дана Скалько из Digitalux. «Одна из самых больших проблем, с которыми сталкиваются компании, — это баланс конфиденциальности, безопасности и удобства потребителей. Большее удобство часто приводит к снижению уровня безопасности и, как следствие, конфиденциальности. Хорошо иллюстрирует тезис двухфакторная аутентификация в сравнении с простым паролем. Очевидно, что на прохождение двухфакторной аутентификации пользователю потребуется потратить больше времени и усилий, но с её помощью обеспечивается гораздо больший уровень безопасности и конфиденциальности, чем с одним лишь паролем. Конфиденциальность, безопасность и удобство должны быть приоритетными целями любой компании. Но в конце концов важнее всего — именно безопасность.»

Только что вышла свежая сборка iOS Forensic Toolkit. Для пользователя — эксперта-криминалиста, — изменения почти незаметны; внутри продукта, однако, изменилось многое. В этой статье мы расскажем о том, как работает один из самых интересных продуктов нашей компании, что изменилось в последней сборке и как это повлияет на процесс извлечения данных.

Для чего понадобился новый движок в iOS Forensic Toolkit

Необходимость в новом движке для утилиты низкоуровневого извлечения данных из устройств под управлением iOS (а также watchOS, tvOS и iPadOS) назрела давно. Для того, чтобы извлечь информацию из iPhone или iPad, нужно подключить его к компьютеру через USB порт. В отдельных случаях срабатывает и беспроводное подключение, но проводное — быстрее и гораздо надёжнее.

Для того, чтобы извлечь данные из iPhone, мы задействуем целый ряд протоколов и опрашиваем несколько разных служб, работающих на устройстве. Для того, чтобы это стало возможным, нам (и всем остальным поставщикам криминалистического ПО для iPhone) необходимы низкоуровневые драйверы Apple. Другого способа связаться с iPhone просто не существует.

Итак, драйвер. Сталкивались ли вы когда-нибудь с проблемой, описанной в статье Если компьютер не распознает iPhone, iPad или iPod? Помимо прочего, в состав автономной версии iTunes для Windows входит компонент под названием “Apple Mobile Device Driver” (фактически, это два разных драйвера — в 32- и 64-разрядном исполнении). А вот в редакции iTunes для встроенного в Windows 10 магазина приложений Microsoft Store этот компонент не входит — хоть сам драйвер и поставляется в составе продукта. Соответственно, предыдущие версии iOS Forensic Toolkit, рассчитывая на установленный в системе компонент, выдавали ошибку, если установлена была «магазинная» версия iTunes.

Ещё одной проблемой являются компоненты, которые расположены между драйвером и нашей утилитой. К примеру, в статье CheckRa1n описаны сторонние компоненты, iproxy; есть и множество других вещей, не вошедших в статью (например, itunnel_mux).

Наконец, что не менее важно, тип соединения. Мы всегда рекомендуем не только переводить устройство в режим «В самолёте», но и отключать сетевые подключения (Wi-Fi и даже Ethernet) на компьютере, на котором запущена утилита. Если об этом забыть, результат может получиться… неожиданный. Так, однажды в нашей лаборатории Toolkit случайно подключился к Apple TV, который находился в той же сети Wi-Fi, и даже получил от него какие-то данные. На тот момент мы и представить не могли, что такое возможно.

Что изменилось и как это повлияет на использование iOS Forensic Toolkit

Новый канал взаимодействия удаляет устаревшие зависимости и становится значительно быстрее и надёжнее. Теперь не имеет значения, установлена ли у вас установленная версия iTunes или версия Microsoft Store (тем не менее, рекомендуем ознакомиться со статьёй Apple iTunes: Standalone vs. Microsoft Store Edition, в силу наличия других особенностей данной версии). Благодаря новому каналу удалось избавиться от одного из предварительных шагов – требования отключать беспроводные сети на компьютере эксперта. Отключать беспроводные сети на iPhone мы рекомендуем по-прежнему в силу очевидных причин.

Новый канал взаимодействия работает для логического извлечения и при использовании джейлбрейка; агент-экстрактор собственной разработки Элкомсофт изначально использовал новый способ взаимодействия.

Наконец, последнее. Время от времени у некоторых пользователей возникали проблемы с работой команд (I)nfo, (L)ogs и (S)hared, проявлявшиеся на некоторых комбинациях устройств и версий iOS. Проблемы проявлялись случайным и непредсказуемым образом; сегодня работает, завтра — нет. И эта проблема также решена внедрением нового канала взаимодействия.

Помимо прочего, мы улучшили поддержку iOS 13.4.1 и добавили совместимость с iOS 13.4.5 (beta 4; мы пока не протестировали работоспособность нового механизма Exposure Notification API для отслеживания распространения COVID-19).

Windows или macOS?

Нам прекрасно известно, что популярность компьютеров Apple с macOS в России стремится к нулю, а их распространённость в среде специалистов по мобильной криминалистики не стремится, а строго равняется нулю. Тем не менее, было бы неправильно не рассказать о некоторых преимуществах, которыми обладают компьютеры Apple в контексте связки с другими устройствами компании — например, iPhone. Некоторые виды джейлбрейков, а также множество манипуляций (например, отключение режима защиты USB) возможны только в macOS. Само извлечение данных также работает более уверенно именно в ОС собственной разработки Apple в силу более качественных драйверов USB и некоторых особенностей ядра. Иными словами, для извлечения данных macOS подходит лучше. А вот для анализа собранной информации можно (и даже более удобно) использовать компьютер с Windows.

Если у вас используется macOS 10.15 Catalina, ознакомьтесь со статьёй Installing and using iOS Forensic Toolkit on macOS 10.15 Catalina:

  • Обработайте образ DMG iOS Forensic Toolkit с помощью команды xattr.
  • Установите доверительные отношения с устройством в Finder (немедленного запроса при подключении устройства нет).
  • Если вам нужен доступ к файлам lockdown (pairing), сначала отключите SIP (требуется перезагрузка), а затем предоставьте текущему пользователю доступ к этой папке с помощью команды sudo chmod.

Если вы используете Windows (мы поддерживаем Windows 8 / 8.1, Windows 7 и Windows 10), обязательно прочитайте iOS Acquisition on Windows: Tips&Tricks. Есть только одно важное дополнение: при создании резервной копии с помощью iOS Forensic Tookit проявите терпение. После выбора папки и ввода пароля резервной копии, но ещё до того, как процесс создания резервной копии фактически начнётся, может возникнуть пауза до 2 минут. На экране при этом ничего не происходит; это нормально. При возникновении любых проблем первое, что нужно попробовать, это просто перезагрузить систему и снова запустить процесс. (Мы в курсе того, что «перезагрузить систему» — первая и обычно последняя рекомендация «специалистов по технической поддержке», но в данной ситуации это действительно помогает в 90% случаев).

Информация о совместимости

На текущий момент актуальна следующая информация о совместимости:

  • (Расширенное) логическое извлечение: все устройства, все версии.
  • Полное извлечение файловой системы и связки ключей из взломанных устройств: все комбинации устройств/iOS, для которых доступен джейлбрейк (в настоящее время до iOS 13.4.5 бета для совместимых с checkra1n устройств, до 13,3 для iPhone Xs/Xr/11/11 Pro).
  • Извлечение агентом-экстрактором: большинство устройств под управлением iOS 11.0–13.3 (кроме iPhone 5s и 6 под управлением отдельных версий iOS).

Время жизни файлов lockdown в iOS 11-13 ограничено 30 днями согласно бюллетеню Apple Platform Security (используйте эту ссылку, если прямой линк на файл с PDF не работает). Эти файлы чрезвычайно полезны для расширенного логического извлечения заблокированных устройств, если не активирован режим ограничения USB (см. USB Restricted Mode in iOS 13: Apple vs. GrayKey, Round Two).

В ближайшее время мы планируем добавить извлечение файловой системы агентом-экстрактором для iOS 13.3.1, 13.4 и 13.4.1, а также некоторых устаревших версий iOS (от iOS 7 до iOS 10). Для использования этой функции вам нужна учётная запись разработчика Apple; есть вероятность, что мы сможем сделать подпись агента, используя одноразовый Apple ID.

Не забудьте о Связке ключей! Это — настоящий Клондайк, в котором содержатся все сохранённые пароли пользователя (используйте Elcomsoft Phone Breaker).

Наконец, не забывайте об Elcomsoft Phone Viewer, инструменте для просмотра и анализа собранной другими нашими программами данных. Приложение поддерживает резервные копии iTunes и iCloud, а также образы файловой системы:

Заключение

Извлечение данных из устройств под управлением iOS на первый взгляд выглядит проще, чем работа с Android, однако это иллюзия. Не доверяйте инструментам, которые не дают полного и подробного объяснения того, как работают все их функции, скрывая особенности работы под названиями «метод 1» и «метод 2» с пометкой «если первый метод не работает, попробуйте второй». Вам необходимо чётко представлять, как работает вся система, какие данные вы можете получить и главное — какими будут последствия.

В новой версии Elcomsoft Cloud Explorer появилась поддержка такого интересного сервиса, как Личный кабинет Google. Личный кабинет Google отличается тем, что информация из него не попадает в скачанные с сайта Google данные. Получить доступ к Личному кабинету можно либо через веб-сайт компании, либо, если требуется офлайновый анализ, посредством Elcomsoft Cloud Explorer. В этой статье мы расскажем о сервисе Личный кабинет Google и о том, как данные из него можно извлечь и проанализировать.

Что такое Личный кабинет Google

Личный кабинет Google (он же Google Dashboard) — относительно малоизвестный криминалистам сервис компании, в котором собрана статистика использования сервисов Google. В Личном кабинете Google сохраняются такие данные, как поисковые запросы, кампании AdWords, созданные пользователем файлы, количество сообщений электронной почты и многое другое.

Google позволяет зарегистрированным пользователям загружать данные, хранящиеся в Личном кабинете, но в предоставленном наборе данных многие категории отсутствуют (например, данные о подключённых приложениях и активностях устройств). Используя Elcomsoft Cloud Explorer, можно получить весь набор данных, доступных в Личном кабинете Google, включая категории, которые не предоставляются самой компанией.

Личный кабинет Google содержит агрегированные статистические данные о действиях пользователя. В результате данные Личного кабинета можно скачать очень быстро, буквально за считанные секунды. Загрузка и анализ данных Личного кабинета перед тем, как вы скачаете весь набор собранной Google информации, позволяет сэкономить время и начать расследование быстрее.

Откуда берётся информация в Личном кабинете

В отличие от большинства других категорий данных Google, в Личном кабинете, строго говоря, нет ничего нового, ничего такого, чего не было бы в других категориях. В то же время Личный кабинет — это своеобразная информационная сводка, позволяющая быстро сориентироваться в том, на какие именно категории  стоит обратить пристальное внимание. Другими словами, Личный кабинет — это статистика, агрегированные данные.

Как извлечь данные Личного кабинета

Чтобы извлечь данные панели мониторинга Google из учётной записи Google, вам потребуется Elcomsoft Cloud Explorer 2.31 или более новый.

  1. Запустите Elcomsoft Cloud Explorer. Выполните аутентификацию с помощью имени пользователя и пароля от учётной записи Google или используйте токен аутентификации. На приведённом ниже снимке экрана показана аутентификация на основе токенов.
  2. Установите флажок «Google Dashboard». Примечание: если вы спешите, вы можете очистить остальные флажки. Загрузив и проанализировав данные Личного кабинета, вы сможете лучше понять, на какие категории вам стоит обратить внимание в первую очередь.
  3. Процесс извлечения данных займёт порядка нескольких минут.
  4. После обработки данные Личного кабинета станут доступны для анализа.

 

Анализ данных Личного кабинета Google

Данные из Личного кабинета можно разбить на ряд категорий. Сюда входят такие данные, как Устройства, Карты, Календарь, Диск, Оповещения, Аналитика, Книги, Группы, Новости, Отслеживание отправлений, Платежи, Фотографии, Музыка Google Play, приложения из Google Play, Задачи, Blogger, AdSense, Учётные записи брендов, FeedBurner, Поиск и Хранение, а также как и несколько других.

Получить представление о содержимом Личного кабинета можно из следующих скриншотов.

В категории «Устройства» представлен обзор зарегистрированных устройств пользователя, работающих на ОС Android. Если у устройства есть облачная резервная копия, хранящаяся на Google Drive, то вы увидите информацию об этой резервной копии.

Категория «Фотографии», хотя и не отображает фотографии как таковые, содержит информацию о количестве изображений, последних манипуляциях пользователя, количестве общедоступных фотографий и т.д.

В категории «Карты» вы увидите домашний и рабочий адреса пользователя, его последнее известное местоположение (точнее, POI местоположения) и информацию о последнем отзыве пользователя, оставленного в приложении Google Maps.

Аналогично предыдущему, в категории Gmail вы не найдёте истории переписки пользователя. Она содержит статистическую информацию об использовании Gmail владельцем учётной записи, такую как общее количество сообщений, количество отправленных сообщений и т.д.

Раздел «Действия устройства» содержит информацию об устройствах пользователя (не обязательно смартфонах Android), на которых пользователь выполнил вход в систему, чтобы воспользоваться одним из сервисов Google.

Раздел «Подключённые приложения» содержит информацию о приложениях, которым пользовал разрешил использовать свои учётные данные.

Есть множество других категорий, которые могут быть интересны для расследования.

Заключение

Личный кабинет Google (Google Dashboard) не содержит того, что можно классифицировать как «новые» или «уникальные» данные. Тем не менее, эта важная категория позволяет ускорить расследование, выявляя взаимодействия пользователя с устройствами и службами Google в считанные секунды. Получение и анализ данных из Личного кабинета позволит определиться с очерёдностью анализа остальных категорий из огромного массива собранной Google информации.

 

 

Как получить доступ к файлам из учётной записи компьютера при проведении расследования или в случаях, когда сотрудник уволен? Ответ на этот вопрос очевиден далеко не всегда. Сброс пароля средствами Active Directory поможет войти в учётную запись, но не поможет получить доступ к данным, защищённым средствами DPAPI (например, сохранённым паролям пользователя). Кроме того, будет потерян доступ к файлам, зашифрованным средствами EFS. В этой статье мы расскажем об одной из возможностей получения доступа к учётным записям Windows посредством создания загрузочного USB-накопителя.

Первое препятствие: шифрование диска

Шифрование диска (особенно — загрузочного раздела) способно существенно затруднить восстановление доступа. Никакие другие атаки или попытки получить доступ к данным невозможны до тех пор, пока не будет преодолён рубеж шифрования диска.

Традиционный способ атаки на зашифрованные разделы — извлечение диска и создание образа. Мы предлагаем более быстрый и простой способ доступа к информации, необходимой для взлома шифрования диска. Способ основан на загрузке с USB-накопителя, извлечении файлов подкачки и гибернации и получении метаданных, необходимых для подбора пароля к зашифрованному тому.

Мы публиковали руководство по работе с зашифрованными системными томами в статье A Bootable Flash Drive to Extract Encrypted Volume Keys, Break Full-Disk Encryption

Если диск не зашифрован: нужен ли пароль?

Нужен ли пароль от учётной записи Windows, если диск не зашифрован? Ответ не так однозначен, как может показаться. С одной стороны, пароль от учётной записи пользователя можно сбросить — в этом случае можно зайти в его учётную запись. С другой — сброс пароля сделает невозможным доступ к заметному количеству информации, включая следующее.

Файлы и папки NTFS, зашифрованные EFS. Доступ к зашифрованным файлам возможен исключительно по оригинальному паролю пользователя.

Пароли, маркеры, ключи и сертификаты, защищённые DPAPI. Механизм Windows Data Protection API (DPAPI) появился во времена Windows 2000 и используется по сей день для хранения и защиты ключевых данных.

Один из механизмов, использующих DPAPI — это Windows Credential Manager, система хранения паролей, маркеров, ключей доступа к сетевым ресурсам и т.п. В браузерах Internet Explorer и Edge Legacy система Windows Credential Manager использовалась для хранения паролей. В новой версии Edge Crhromium, а также в свежих сборках браузера Chrome, DPAPI используется для защиты ключа, которым зашифрована база данных с паролями пользователя (подробности — в статье Extracting Passwords from Microsoft Edge Chromium).

Защита DPAPI основана на данных для входа в учётную запись. Соответственно, для восстановления доступа к защищённым таким образом данным вам потребуется восстановить оригинальный пароль пользователя, а не сбрасывать его.

Внимание: для доступа к данным и паролям, защищённым DPAPI, а также для расшифровки зашифрованных EFS файлов и папок, необходимо восстановить оригинальный пароль пользователя Windows.

Почему пароль нельзя сбросить

Пароль можно сбросить. Нужно лишь чётко понимать, какие именно данные получится, а какие — не получится извлечь в таком случае. Оригинальный пароль пользователя необходим для для доступа к данным и паролям, защищённым DPAPI, а также для расшифровки зашифрованных EFS файлов и папок. Если доступ к этим данным не нужен, то пароль от учётной записи пользователя можно сбросить — в отличие от перебора, сброс не занимает времени.

Работа по цепочке

Восстановив пароль пользователя от учётной записи, вы сможете извлечь пароли, которые пользователь сохранил в браузерах Chrome, Opera и Microsoft Edge Chromium. Далее можно воспользоваться утилитой Elcomsoft Internet Password Breaker для доступа к iCloud или программой Elcomsoft Cloud Explorer для извлечения данных из учётной записи Google. Из списка паролей можно составить высококачественный словарь для атаки по словарю на другие файлы и документы пользователя.

Восстановление оригинального пароля

Восстановление пароля для входа в Windows может оказаться простой задачей, решаемой загрузкой с USB-накопителя и проведением автоматической атака, а может оказаться достаточно сложной. Во втором случае потребуется извлечение метаданных файлов и работа Elcomsoft Distributed Password Recovery в течение нескольких дней или недель (в перспективе — до бесконечности).

Последняя сборка Elcomsoft System Recovery (версия 7.03 и новее) поставляется с улучшенными, более интеллектуальными и значительно более эффективными алгоритмами восстановления паролей учётных записей Windows посредством автоматической атаки. При запуске восстановления оригинального пароля к учётной записи Windows утилита Elcomsoft System Recovery попытается извлечь пароли, которые пользователь сохранил или кэшировал в своей учётной записи (те из них, которые не защищены DPAPI). ESR создаст из этих паролей словарь и запустит автоматическую предварительную атаку.

В процессе сбора могут быть извлечены многие типы сохранённых паролей, включая различные системные пароли, а также пароли, хранящиеся в браузере Firefox. Тем не менее, этих паролей будет достаточно, чтобы сформировать исключительно короткий словарь. Мы работаем с человеческим фактором, подразумевающим повторное использование пароля. ESR попытается автоматически применить все распространённые модификации (например, добавляя цифры в конце пароля или изменяя регистр первого символа).

Если Elcomsoft System Recovery не сможет восстановить пароль, вам придётся перенести хэш-файлы и открыть их с помощью Elcomsoft Distributed Password Recovery для проведения полномасштабной атаки.

Elcomsoft System Recovery позволяет быстрее начать расследование, загрузившись с портативного флэш-накопителя. При этом для жёстких дисков исследуемого компьютера гарантируется доступ только для чтения. Чтобы создать загрузочный накопитель, запустите Elcomsoft System Recovery на своём компьютере (не на компьютере подозреваемого) и следуйте подсказкам.

Для того, чтобы попытаться восстановить оригинальный пароль от учётной записи пользователя, вам потребуется загрузиться с накопителя и настроить продукт следующим образом. Для проведения атаки на оригинальный пароль пользователя, выберите пункт «Change local user account«, как показано на скриншоте:

Далее нужно отметить пункт «Scan target system for plaintext passwords» для того, чтобы просканировать диск на предмет существующих паролей, которые хранятся в открытом доступе:

Через несколько минут программа выполнит предварительную атаку и выведет результат:

Заключение

Будет ли успешной попытка восстановления пароля от учётной записи пользователя с помощью предварительной атаки — вопрос исключительно удачи, особенно если на компьютере несколько пользователей или используется контроллер домена. Если пароль для входа в систему конкретного пользователя Windows восстановить не удалось, можно попробовать сбросить пароль учётной записи (или снять блокировку учётной записи, если она была заблокирована). Этот вариант можно использовать без опаски, т.к. ESR создаёт резервную копию, позволяющую в любой момент выполнить откат к исходной конфигурации.

Приложения для обмена мгновенными сообщениями стали стандартом де-факто для переписки в реальном времени. Извлечение истории переписки из таких приложений и облачных сервисов может оказаться исключительно важным в ходе расследования. В этой статье мы сравниваем безопасность пяти самых распространённых приложений для обмена мгновенными сообщениями для iPhone в контексте их криминалистического анализа.

Способы извлечения данных

В контексте операционной системы iOS, под управлением которой работают смартфоны iPhone и планшеты iPad, есть несколько способов извлечения истории переписки из приложений для обмена мгновенными сообщениями. На платформе iOS практически исключены атаки класса MITM (перехват и расшифровка сообщений в процессе доставки); если исключения и встречаются, то нам о них не известно. Даже на устройствах Android для атаки MITM потребуется установить сторонний SSL-сертификат, и даже это может не сработать для некоторых мессенджеров.

Возможность получения историй переписки от владельца соответствующего приложения является (по крайней мере, в теории) отличным способом, который вполне официально доступен работникам правоохранительных органов. Политики производителей разнятся от почти мгновенной и практически полной выдачи информации до полного неразглашения. Эти особенности мы обсудим дополнительно.

Если производитель использует собственный облачный сервис для доставки и хранения сообщений, то данные можно попробовать извлечь из него. Наконец, историю переписки иногда получается извлечь из облака Apple iCloud, но только в том случае, если эти данные туда вообще попадают: и в этом смысле политики производителей мессенджеров сильно отличаются.

Историю переписки всегда можно извлечь из самого устройства iPhone, но уровень сложности различается для разных приложений. Для некоторых приложений достаточно логического извлечения (анализ резервных копий iTunes), в то время как некоторые другие мессенджеры запрещают хранение своих данных в локальных резервных копиях. Для полного доступа к истории переписки может потребоваться образ файловой системы (иногда — и Связка ключей).

Итак, рассмотрим различные варианты извлечения истории переписки для пяти распространённых приложений для обмена мгновенными сообщениями в iOS.

iMessage

iMessage — предустановленный сервис для обмена сообщениями, доступный на каждом устройстве iPhone и iPad «из коробки». Поскольку приложение предустановлено на каждом iPhone, предполагается, что большая часть пользователей iPhone так или иначе пользуется этим приложением. В какой-то мере это соответствует действительности: по умолчанию отправка сообщения через встроенное приложение «Сообщения» пошлёт SMS пользователю Android или кнопочного телефона, но отправит iMessage, если на другом конце — такой же пользователь iPhone. Компания Apple оценивает количество пользователей iMessage в 1.6 миллиарда; оценка основана на количестве активных iPhone. В 2016 году сервис пересылал порядка 200,000 сообщений iMessages в секунду.

  • Запрос от правоохранительных органов: Неоднозначно, но — нет. С одной стороны, Apple хранит сообщения на собственных серверах. С другой, по утверждениям компании, все сообщения зашифрованы сквозным шифрованием; код шифрования зависит от кода блокировки зарегистрированного устройства пользователя. Этот факт позволяет Apple утверждать, что компания не в состоянии расшифровать данные. Впрочем, Apple категорически отказывается расшифровать сообщения даже в том случае, если код блокировки известен — что фактически не представляет проблемы даже для сторонних сервисов. Так или иначе, Apple не возвращает сообщения iMessage по запросу от правоохранительных органов.
  • Собственный облачный сервис: Копии сообщений хранятся в iCloud, если пользователь включил функцию «Облачные сообщения». Данные зашифрованы, для их расшифровки необходим код блокировки экрана одного из зарегистрированных устройств пользователя. Для извлечения и расшифровки потребуется Apple ID, пароль, второй фактор аутентификации и код блокировки экрана.
  • Локальные резервные копии: История переписки iMessages всегда попадает в резервные копии, её можно извлечь и расшифровать посредством логического анализа.
  • Резервные копии в iCloud: Apple хранит сообщения iMessage в резервных копиях iCloud в том и только в том случае, если пользователь не включил функцию «Облачные сообщения». В противном случае см. предыдущие пункты.
  • iCloud Drive: нет.
  • Образ файловой системы: Сообщения iMessage хранятся в файловой системе устройства без дополнительной степени защиты. Соответственно, для их извлечения достаточно лишь образа файловой системы; расшифровка Связки ключей для этого не обязательна.

iMessage: выводы

Извлечь сообщения можно, но нужно хорошо понимать, что именно нужно делать. Сообщения доступны из нескольких источников; соответственно, получить к ним доступ можно несколькими разными способами. В целом мы оцениваем сложность извлечения iMessage как среднюю.

Необходимые программы: Elcomsoft iOS Forensic Toolkit (извлечение из образа файловой системы) или Elcomsoft Phone Breaker (извлечение из iCloud, резервных копий в iCloud, локальных резервных копий iTunes); Elcomsoft Phone Viewer (для просмотра и анализа).

Инструкции: Messages in iCloud: How to Extract Full Content Including Media Files, Locations and Documents, iMessage Security, Encryption and Attachments.

WhatsApp

Пользователей WhatsApp — более 2 миллиардов, что делает WhatsApp одним из самых популярных приложений для обмена сообщениями. Несмотря на то, что протокол обмена сообщениями WhatsApp основан на протоколе Signal, использующем сквозное шифрование, приложение WhatsApp ничуть не более безопасно в сравнении с другими мессенджерами. В приложении WhatsApp есть возможность создания резервных копий. Впрочем, история переписки WhatsApp не хранится на серверах компании за исключением недоставленных сообщений.

  • Запрос от правоохранительных органов: WhatsApp не сохраняет историю сообщений на собственных серверах. Исключение — недоставленные сообщения; только их и можно получить по запросу от правоохранительных органах.
  • Собственный облачный сервис: См. выше: доступны только недоставленные сообщения.
  • Локальные резервные копии: Как правило, резервные копии WhatsApp сохраняются как в локальных, так и в облачных резервных копиях iOS.
  • Резервные копии в iCloud: См. выше; как правило, данные WhatsApp можно извлечь из облачной резервной копии в iCloud.
  • iCloud Drive: WhatsApp предлагает пользователям возможность сохранения автономной резервной копии в облаке iCloud. Эти данные можно с лёгкостью извлечь из облака; проблема же в том, что они зашифрованы. Для расшифровки таких резервных копий необходимо зарегистрироваться в качестве нового клиента WhatsApp (например, при помощи Elcomsoft Explorer for WhatsApp).
  • Образ файловой системы: База данных WhatsApp доступна и в образе файловой системы. Никакой дополнительной защиты нет.

WhatsApp: выводы

Сложность извлечения истории переписки WhatsApp мы оцениваем как невысокую. Данные WhatsApp можно извлечь практически из любого источника (за исключением собственных серверов компании), в том числе из локальных и облачных резервных копий.

Необходимые программы: Elcomsoft iOS Forensic Toolkit и Elcomsoft Phone Viewer; либо специализированный продукт Elcomsoft Explorer for WhatsApp.

Инструкции: Extract and Decrypt WhatsApp Backups from iCloud.

Telegram

Telegram — одна из самых продвинутых программ для мгновенного обмена сообщениями. Благодаря приложениям, доступным для практически всех платформ, Telegram набрал порядка 200 миллионов пользователей (данные 2018 года). В день пересылается порядка 300 миллионов сообщений.

Telegram использует собственный облачный сервис как для доставки, так и для хранения сообщений (это и позволяет использовать несколько клиентов Telegram одновременно на разных устройствах). Доступен специальный режим «секретных чатов», в котором сообщения на сервере не хранятся.

  • Запрос от правоохранительных органов: Telegram хранит полную историю переписки пользователей на собственных серверах — за исключением секретных чатов. В зависимости от юрисдикции, историю переписки в Telegram можно получить по запросу от правоохранительных органов.
  • Собственный облачный сервис: Историю переписки в Telegram можно извлечь непосредственно из облака компании, зарегистрировавшись в качестве приложения-клиента.
  • Локальные резервные копии: Нет. Данные Telegram не попадают в локальные резервные копии.
  • Резервные копии в iCloud: Нет. Данные Telegram не сохраняются в облачных резервных копиях.
  • iCloud Drive: Нет.
  • Образ файловой системы: Telegram не использует никакой дополнительной защиты. Для доступа к данным достаточно образа файловой системы.

Telegram: выводы

Сложность извлечения данных Telegram средняя. Данные Telegram (в том числе секретные чаты) можно извлечь из образа файловой системы. Обычные чаты можно получить по запросу от правоохранительных органов (в зависимости от юрисдикции).

Необходимые программы: Elcomsoft iOS Forensic Toolkit (для извлечения из файловой системы); Elcomsoft Phone Viewer (для анализа данных).

Инструкции: Извлечение секретных чатов из Telegram для iPhone

Signal

Если судить исключительно по количеству пользователей (их порядка полумиллиона), Signal не входит в пятёрку (и даже в десятку) самых распространённых мессенджеров. В то же время, благодаря беспрецедентному вниманию к безопасности, Signal стал фактически стандартным инструментом для обмена сообщениями среди тех, кому есть что скрывать. Именно по этой причине Signal вызывает неослабеваемый интерес правоохранительных органов.

Разработчики Signal внедрили исключительно безопасный протокол обмена сообщениями, использующий сквозное шифрование. В отличие от WhatsApp, основанного на том же протоколе, Signal заметно более безопасен с других точек зрения. В частности, Signal не сохраняет резервных копий, а рабочая база данных зашифрована ключом с высшим классом защиты, что не позволяет открыть базу данных, просто вытащив файл из образа файловой системы.

  • Запрос от правоохранительных органов: Нет. Signal не хранит сообщения на сервере; соответственно, нечего и запрашивать.
  • Собственный облачный сервис: Нет. Signal не хранит историю переписки на своих серверах.
  • Локальные резервные копии: Нет. Данные Signal не попадают в резервные копии.
  • Резервные копии в iCloud: Нет. Данные Signal не сохраняются в облачных резервных копиях.
  • iCloud Drive: Нет. Signal не создаёт резервных копий, даже автономных.
  • Образ файловой системы: Да, но сложно. Signal шифрует рабочую базу данных, а ключ шифрования хранится в Связки ключей с максимальным классом защиты. Для расшифровки базы данных вам придётся извлечь как образ файловой системы, так и Связку ключей (Elcomsoft iOS Forensic Toolkit).

Signal: выводы

Signal — самый сложный мессенджер с точки зрения извлечения истории переписки. Для расшифровки его базы данных вам потребуется как образ файловой системы iPhone, так и расшифрованная Связка ключей.

Необходимые программы: Elcomsoft iOS Forensic Toolkit (извлечение образа файловой системы и расшифровка Связки ключей); Elcomsoft Phone Viewer (расшифровка базы данных Signal).

Инструкции: How to Extract and Decrypt Signal Conversation History from the iPhone

Skype

Skype — один из старейших мессенджеров. В настоящее время сервис принадлежит компании Microsoft. В марте 2020 года Skype использовался ста миллионами пользователей ежемесячно. Порядка 40 миллионов человек использует Skype ежедневно. Microsoft сохраняет историю общения пользователей Skype; данные доступны по запросу от правоохранительных органов.

  • Запрос от правоохранительных органов: Да; проще, чем в остальных случаях. Skype хранит полную историю переписки в облаке Microsoft; секретные чаты отсутствуют как возможность. Microsoft охотно сотрудничает с правоохранительными органами, выдавая полный набор данных по запросу от правоохранительных органов.
  • Собственный облачный сервис: Да. Microsoft хранит данные в собственном облаке, и их можно извлечь, авторизовавшись в учётной записи пользователя.
  • Локальные резервные копии: С некоторых пор Skype перестал сохранять историю переписки в локальных резервных копиях. Этот путь доступа к данным в настоящее время закрыт.
  • Резервные копии в iCloud: См. выше. В настоящее время извлечение из облачных резервных копий невозможно.
  • iCloud Drive: Нет.
  • Образ файловой системы: Skype не использует дополнительных мер по защите рабочей базы данных. Для доступа достаточно только образа файловой системы.

Skype: выводы

С нашей точки зрения, сложность извлечения данных Skype средняя. С одной стороны, Microsoft охотно сотрудничает с правоохранительными органами, выдавая историю переписки пользователя по запросу. С другой — данные Skype не попадают в резервные копии и не сохраняются в облаке iCloud. Соответственно, данные Skype можно извлечь либо из облака Microsoft, либо из образа файловой системы.

Необходимые программы: Elcomsoft Phone Breaker (для скачивания переписки из Microsoft Account); Elcomsoft Phone Viewer (для просмотра данных).

Инструкции: Extracting Skype Histories and Deleted Files Metadata from Microsoft Account

Заключение

Данная статья не претендует на полноту. Line, Viber, QQ, WeChat, Facebook Messenger и множество других приложений, в том числе от Yandex и Mail.ru, используется огромным количеством пользователей. Мы продолжаем исследования, постепенно добавляя поддержку самых распространённых мессенджеров.

НАШИ НОВОСТИ