ХардМастер
Компания
33,01
рейтинг
11 февраля 2015 в 14:09

Разработка → Удивительное устройство USB-флешки Kingston DataTraveler DT6000 и восстановление информации, утраченной в результате сбоя из песочницы

Приветствую уважаемых Хабровчан. Я Артем Макаров aka Robin, ведущий инженер компании Хардмастер, уже много лет специализируюсь на восстановлении данных с разнообразных носителей. Сегодня хотел бы поделиться с вами историей восстановления файлов с одной весьма любопытной флешки. Надеюсь получить отзывы на свой хабрадебют в комментариях.

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

Преамбула


Итак, USB Flash диск Кингстон DT6000, заявленный производителем, как надежное хранилище файлов, с использованием криптостойкого алгоритма AES256 FIPS140-2 Level 3.

Логически флеха устроена следующим образом: раздел 68 мегабайт отформатированный в FAT16, является своего рода загрузочным. Когда девайс подключают к ПК, срабатывает автозапуск (либо пользователю предлагается запустить экзешник):



После чего на первый план выходит вот такое окошко:



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

Но у пользователя в один не очень прекрасный день случилась неприятность, флешку вставили, а “загрузчик” оказался пустым. При наличии пароля, оказалось, что тупо нет возможности этот пароль куда-либо ввести. Принесли диск на диагностику к нам.

Первым делом, подключив накопитель к тестовому ПК и открыв любимый шестнадцатеричный редактор WinHEX, я полез в список физических дисков. Так и есть, два тома. Первый пустой, и, что самое главное — в режиме “только для чтения”! Второй недоступный. Снял образ с первого раздела, проанализировал. Обе копии таблиц FAT в нормальном виде отсутствуют.



То есть с возможностью достать с “загрузочного раздела” файлы с именами и структурой можно попрощаться. “Черновым восстановлением” или восстановлением по известным заголовкам файлов (оно же raw recovery) удалось выдернуть некий zip архив и pdf-ку. По содержимому последней стало ясно, как всё было устроено, и чего на загрузочном разделе не хватает.

Учитывая, что раздел залочен производителем на запись, было ясно что ни о каком случайном форматировании со стороны пользователя речи, в данном случае, быть не может, и наиболее вероятная причина “обнуления” раздела — сбой в области таблиц трансляции обработки NAND, в результате чего часть корректных блоков была подменена на “альтернативные”.

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

О шифровании и о том, как вообще собирать дампы с шифрованным контентом, на тот момент голову не стал забивать.

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

Попытки разлочить раздел FAT16 на самой флешке средствами ОС и записать лаунчер на него успехом не увенчались. Попытки запустить лаунчер с другого носителя и натравить на исследуемую флешку так же оказались безуспешными. Дальнейшее аппаратное вмешательство во внутренности Дата Травелера становилось неизбежным.

“Ну, сегодня нас ожидает несколько сенсаций…” (с)


Удалив внешний пластиковый корпус пытливому взгляду исследователя открылось вот такое:



За исключением USB разъема всё залито пластиком. Убрать его получалось с помощью термовоздушной паяльной станции, нагревая область за областью до температуры примерно 150 С, после чего пластик начинал потихоньку гнуться и небольшими кусочками откалываться. Орудуя стоматологическими крючками и скальпелем, чувствуя себя археологом, очистил от пластика одну сторону. Увидел следующее:



АРМ-контроллер LPC3131FET180, плиска 3s500e (она же ПЛИСС, PLD — программируемая логическая интегральная схема) от XILINX, криптомодуль ROSETTA от компании Spyrus и Атмеловская ПЗУ-шка 25DF081A. Надо браться за вторую половину, ибо искомой НАНД памяти пока не обнаружено.

Начинаю счищать вторую сторону. Появляется что-то блестящее. Кварц? Не похоже. Еще пара размашистых ударов кувалды и зубила, опаньки — картридер!



Видать кризис ударил и по Кингстону. Чтобы не заморачиваться с аппаратной реализацией полноценного флеш-накопителя орлы из корпорации Kingston закупили у дядюшки Ляо партию MicroSD по сходной цене и навесили сверху шифровалку, обильно залив всё быстро застывающей пластмассой. Чтоб никто не догадался, стало быть. Учитывая внушительный прайс, за который торгуют этот DT6000 на том же ЯндексМаркете — профит производителя очевиден.

Выколупываем микро-сдшку, всё залито пластиком и приклеено со всех сторон. Дочищаем остатки, кроме обвязки смотреть там больше не на что.



Финишная прямая


Вставляю извлеченную из-под завалов пластика MicroSD в карт-ридер. Флешка определяется на все свои 16 гигов. С нулевого сектора характерный для шифрования “белый шум”.



Примерно с середины — нули. Смотрю под хвост. Опа, — а вот и наш “загрузочный” раздел! Определил начало и кончало раздела, сравнил с ранее снятым образом, когда безродная MicroSD была еще породистым Kingston DataTraveler — отличия не обнаружены.



Ввиду открывшихся дополнительных обстоятельств первоначальной гипотезе о подмене блоков в таблице трансляции NAND присваивается статус “несостоятельная”, и на место рабочей встает предположение о глюке шифровальной навески, она же строитель представления логической разметки микро-сд на УСБ интерфейсе DT6000.

Беру живую 32-х гиговую USB флешку. Прописываю, для чистоты эксперимента, в том же ВинХексе её нулями сверху донизу. В начало пишу ранее склоненный раздел. На него записываю с трудом добытый лаунчер, dt6000.zip и manifest.xml. Запускаю, ввожу пароль, сообщение о том, что шифрованный раздел не найден или поврежден.

В сектор, следующий за последним сектором “загрузочного” раздела вписываю образ всей шифрованной MicroSD целиком.
Запускаю лаунчер, ввожу пароль. Бинго! Шифрованный раздел найден, подмонтирован,



Все пользовательские файлы на месте — можно копировать.
Автор: @wwwHardMasterInfo
ХардМастер
рейтинг 33,01
Компания прекратила активность на сайте

Комментарии (77)

  • +2
    Раньше у них было удобнее — был обычный раздел и секъюрный, размеры их можно было варьировать. Доступ к шифрованному появлялся только после запуска похожей софтины и ввода пароля.
    А вот за то, что корпус в полтора раза больше самой начинки — убивать надо. То-то не найти теперь у них хорошую флэшку человеческого габарита…
  • +5
    Зочод! А флешка — реально Kingston или-таки подделка? И шифрование там действительно AES?
    • +3
      Если FPGA стоит — то весьма вероятно, иначе бы смысла не было ставить, и контроллера бы хватило…
      • +3
        Хотя еще и криптомодуль есть. Тогда фиг знает, что для чего…
      • +1
        Подозреваю что как всегда сделали все по идее, что шифрование идет аппаратно. А потом что-то не получилось и запили софтовый костыль.
        По идее шифруют на этой плисине нормально (нарпимер тут inpressco.com/wp-content/uploads/2014/04/Paper1101048-10511.pdf) но вот то, что сам лаунчер содержит в себе модуль шифрования говорит как раз о костыле.
        Да и решение разместить таблицу разделов в конце флеша не самая лучшая.
        • +1
          Очень вероятно. И, кстати, камрады подсказывают что это может быть искусная подделка под оригинальный кингстон. А раз так, то и «софтовый костыль» становится объясним. Правда вот, если подделка, то зачем ненужные чипы было вкорячивать? Вопросы без ответов…
          • 0
            Ну софотовый-то костыль все же имеет происхождение от оригинального кингстона, как я понимаю, или тоже есть сомнения?
            • 0
              Софт по просьбе прислали от такой же живой флешки. Под «такой же» подразумеваю внешне похожую, с маркировкой DT6000. Если и она подделка — то значит оригинальных кингстонов днём с огнём не сыщешь :)
              • 0
                А может кинуть клич еще раз и сравнить присланные варианты софта?
          • 0
            Впаивать ненужные чипы это кстати вполне нормально для подделок. Я так заказывал одно устройство, на фотках на вид все было хорошо, похоже на оригинал, «бутерброд» из двух плат, чипы все на месте. По факту когда пришло оказалось что внутри собрана схемка на STM32 которая выполняет в лучшем случае четверть всех функций, а на лицевой стороне вместо FPGA и прочих процов были напаяны какие-то явно б/ушные микросхемы с подходящим футпринтом. А вместо дорогих резисторов во все места были впаяны дешевые конденсаторы. Разводка всей лицевой части ни куда не была подключена.
  • +1
    А что, она работает только под Windows? А если необходимо запустить ее на mac например?
    Карточку могли использовать для экономии места на плате. Или сейчас есть миниатюрные flash?
    • +4
      Для mac там заботливо приложен MacLauncher в отдельной папочке. Что касается ответа на вопрос «почему», то безусловно истинные мотивы мне не ведомы, но практически уверен, что всунуть в корпус чужую микроСД и грубо говоря вывести проводками на интерфейс гораздо проще и дешевле, чем заморачиваться со своим контроллером, памятью, постпроцесс-тестированием, отбраковкой и т.п. А тут — все уже сделали, тебе выдали готовые флешки, явный брак отделили до тебя, тебе надо только корпус покрасивее и лейбл на него покрасивее
      • 0
        Видимо, внутри компании устройство позиционируется не как флеш-накопитель, а как криптографическое устройство. Такое определение оправдывает их, как производителя.
        • 0
          Запамятовал про то, что ее без железки удалось расшифровать. А есть доказательство того, что это не дядюшка Сяо прикинулся кингстоном?
          • 0
            «дядюшка Сяо» — в оригинале дядюшка Ляо :) Нет, доказательств нет. Может и подделка. А может и ограниченная партия для стран «третьего мира», так сказать.
      • 0
        Для Линукса там софт в комплекте есть?
  • +28
    В сектор, следующий за последним сектором “загрузочного” раздела вписываю образ всей шифрованной MicroSD целиком.
    Запускаю лаунчер, ввожу пароль. Бинго! Шифрованный раздел найден, подмонтирован

    То есть получается, что для работы с флешкой нужен только лаунчер и зашифрованные данные? Криптомодуль и FPGA не нужны?
    • 0
      Я так понял, что данные были записаны на SD, а она засунута в развороченную флешку.
      Иначе в чем был бы смысл.
      • 0
        Но тогда баг с кривым маппингом никуда бы не делся.
        • 0
          Ну он, очевидно, не так уж и просто воспроизводится, иначе флешка бы «померла» сразу же.
    • +5
      Я не пробовал запись. Возможно что при попытке что то записать получил бы дулю. Одно из предположений, что навеска нужна для записи. Второе — что вообще хрен пойми зачем она нужна :) Я сильно не вдавался в исследования.
      • +1
        А зря… Очень интересная штука получается… Вся эта аппаратная начинка… пыль в глаза.

        Во-первых, производитель пароль на MicroSD не поставил. В случае пароля, Вам бы не получилось карточку прочитать (Windows ее просто бы не увидел ее, а что-то более умное запросило бы этот самый пароль).

        Алгоритм шифрования там симметричный. Если в софте реализовано чтение, то и запись должна быть. Тут скорее предположение, что софт универсальный и в нем реализована некая совместимость с обычными флешками, где разделы шифруются программно. Эта совместимость и сработала на сторонней флешке без криптомодуля. Однако, получается что и ключ шифрования хранится не внутри криптомодуля. По-правильному пароль в данном случае должен быть неким пин-кодом для доступа к ключу в железе (со всеми механизмами защиты от перебора), получается же что ключ шифрования напрямую генерируется из пароля.
        • 0
          Либо софт смотрит на производительность компьютера и решает, что лучше — аппаратное или программное шифрование.
      • 0
        А не вспомните, в момент когда вводили пароль к разделу, оригинальная флешка была подключена?
        Может все-таки софт стащил ключ из криптомодуля с нее?
        • 0
          Нет, не подключена. Дело в том, что после того, как я ее распатронил и вытащил из нее микроСД, я пробовал подключить dt6000 без внутренней карточки к ПК, из академического интереса. Жизни она не подавала, поэтому в момент дальнейших экспериментов уже валялась в пакетике.
  • +6
    А зачем тогда вообще эта обвязка то железная, не понял. Просто чтобы разделы перемапить задом наперёд? Но зачем? Ну и плюс контроллер для СД-шки? Тогда почему им просто usb-флешку готовую не взять свою же.
  • +4
    хороший отчет, и мне кажется, вам повезло.
  • +8
    Может на GT репост? Там недавно Kingston_Technology появились )
    • +2
      Вы только что призвали их в потс.
      • 0
        Интересно, будут ли копирастические разбирательства теперь? :)
    • +1
      Добровольцы будут напоминать им об этом в каждом посте.
  • +5
    Артём, всегда поражался Вашей способности докопаться до истины, находить интересности и представлять из общественности в захватывающем приятночитаемом виде ;)
    • +2
      Спасибо. Кстати, если кому интересно еще всяких заметок богато навалено на www.hardmaster.info/news15.html и там по годам еще пощелкать
  • +2
    Спасибо за увлекательный отчёт исследования! Что только не впаривают людям.
  • +1
    Акция «Micro SD в подарок!».
  • 0
    скорее всего microsd — бакдур если производителя спецы попросят прочитать
    • +2
      Ну не знаю. Тут пароль был известен. А что делать, если его не знаешь? Брутфорс до китайской пасхи?
      • 0
        Hаверняка пара-тройка вшитых паролей если глянуть plm-ку
        • +1
          Пароль на пароль на пароль на пароль? Или просто пароли рядом?
  • +1
    Впечатляет, спасибо.
    >Кинул клич коллегам по цеху. Нужные файлы прислали.
    Вот этот момент порадовал больше всего.
    • 0
      Так у них целые кладбища-залежи всяческих флешек.
      • +1
        Мне это дико напоминает коллекции записей криминальных случаев в ЧОПах. Бывает так: ЧОП ведёт свою видеотеку, чем она круче, смешнее и больше — тем выше статус. На сходках они ими хвастаются. Естественно, такие видео пересылать и публиковать можно далеко не всегда.
  • 0
    Немножко оффтопа:
    А может кто знает, как избавиться от шифрованного раздела на флешке Transcend не зная пароля? Очевидные способы и гугл не помогли.
    • 0
      А в «очевидные способы» входит способ форматирование через «управление дисками» в Windows? Если, конечно, вы Windows используете…
      Мне данный способ даже флешки восстанавливал после программных ошибок…
      • 0
        А эта оснастка такое позволяет? Я сегодня обычные флешки с двумя вручную созданными разделами ковырял, пришлось diskpart запускать.
      • 0
        И виндовое управление дисками пробовал, и даже dd на устройство.
        • 0
          как именно dd не сработало, что вы увидели?
    • 0
      попробуйте виндовскую консольную утилиту flashnul, запускать из cmd запущенного от администратора
    • 0
  • НЛО прилетело и опубликовало эту надпись здесь
    • +3
      Мне сразу на ум пришла «оптимизация расходной части с целью порадовать акционеров по итогам отчётного периода» в качестве причины.
      • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    Так точно!
  • +1
    Интересно было бы прочитать свежий обзор флешек, написанный через призму частоты и лёгкости их ремонта, восстановления данных и т.п. У Вас ведь богатая статистика.
    • +2
      Вкратце — ломается всё. Глубокой аналитики не проводил, но корреляцию наблюдать можно такую, — что чаще продают\покупают\используют, то чаще и приносят.

      Динамика тоже незамысловатая — чем дальше в лес, тем тоще партизаны. Если первые флешки вообще без всяких кривляний хранили в NAND потоком данные (практически), то потом сперва интерливы хитрые, потом XOR-ы замороченные, а теперь и вовсе норовят аппаратное шифрование встремлять.

      Совет один, новизной не блещущий — резервное копирование!
      • 0
        Динамика тоже незамысловатая — чем дальше в лес, тем тоще партизаны.

        Простите, тоще или толще?
        Думаю всё зависит от продуктивности леса :)
        • 0
          «Толще» — опечатался. Присказка-то известная.
  • +1
    Отличный рассказ! Читается как небольшой детектив, причем в конце очень интересный вывод лично для меня: у такого «бренда» я поостерегусь брать флешки, если они для хранения шифрованных данных используют SD-ки «дядюшки Сяо» (читай «мейд ин китайский деревня»).

    Я только одного не понял: вы перенесли данные на живую флешку, туда же положили программу для вводя пароля — но в новой сборке был или не было шифровального чипа? Вроде как вы взяли новую флешку, забили ее нулями, положили раздел с загрузчиком, раздел с данными — запустили «загрузчик», и флешка после ввода пароля смотировалась? Если так, то нафига вся эта начинка (ROSETTA, плиска) в исходной «флешке»? Или вы все же новую SD-ку после записи данных разделов всунули в ридер, где стояла старая?

    P.S. Маркетологи — такие маркетологи! Так и видится: «Хотите аппаратное шифрование — держите, чип в устройстве стоит, а что не используется, так этого мы и не обещали!» :)
    • +1
      То-то и оно, что аппаратная начинка оказалась не при делах. Рассуждая логически, оно не должно было заработать, как отметили тут в комментариях — повезло. Или подделка, где все чипы навесили «для блезиру», или брак какой-то, или так всё у кингстона устроено.

      Что касается «поостерегусь покупать», то с чего вы думаете, что где-то у кого-то что-то лучше сделано? Невидимая рука рынка заботливо подталкивает к непрерывному потреблению. Советский Союз закончился, и теперь всё прогрессивное человечество работает на свалку, а производители заботятся о сокращении издержек и росте продаж.

      Работающих по 20-30 лет холодильников и ездящих по 10 лет без серьезных поломок мерседесов нынче к продаже не допускают.
      • +1
        Возможно программа умеет и программное и ускоренное аппаратное шифрование.
        • 0
          Что-то мне подсказывает, что даже AES на более-менее свежем проце делается так быстро, что аппаратное шифрование как бы не при делах. И уж точно если делать аппаратное что-то, то надо отключать программное, по крайней мере, при отсутствии каких-то чипой на плате (хотя бы той же ПЛИС-ки, где зашит какой-то уникальный номер/ключ).

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

          Маркетологи, я же говорил! ))

          P.S. У конкурентов лучше ли — кто знает?! Но желания платить Кингстону лишнюю копейку за нонейм SD-ку внутри лично у меня уже нет.
          • +3
            — Неперегорающая вечная пробка! — объявил Рыжий. — У меня уже и рекламное объявление готово. — Он расправил бумажку и прочёл, вернее, пропел на мотив старинной песни «Когда б имел златые горы»:

            Не пожалев труда-терпенья,
            Я вашу выполнил мечту,
            Я изобрёл изобретенье,
            Необходимое в быту!

            Пусть замыканием коротким
            Всё уничтожится дотла,
            Сгорит весь дом, сгорит проводка,
            Но будет пробочка цела!

            Далее Рыжий перешел на прозу:

            — Вы вставляете в сеть эту пробку и можете быть спокойны — она никогда не перегорит. Включайте все электроприборы — ей хоть бы что. Провода сгорят, приборы сгорят, дом сгорит — а она всё равно цела! Представляете, какая будет экономия на пробках во всемирном масштабе!
        • 0
          И работает для всех флэшек Кингстон, обеспечивая единый интерфейс.
    • 0
      Вообще-то похоже, что используется.
  • 0
    Мог пропустить комментарий, где эта версия уже выдвигалась:
    … как надежное хранилище файлов, с использованием криптостойкого алгоритма AES256 FIPS140-2 Level 3.


    Если не подделка, то вполне возможен подлог (или нашли лазейку регламента) для сертификации со стороны производителя. Софтверное решение действительно дешевле разработать и отладить, чем полноценную железку. А BOM (Bill of Materials) всего-лишь формальное прикрытие — поэтому и потратились.
    • 0
      Или софтовое решение универсальное и может работать на флэшках без аппаратной поддержки. Вполне разумно было бы.
    • +4
      напоминает фотку с неприпаянным чипом Глонасс на двустороннем скотче внутри сертифицированной GPS/Глонасс железки
  • 0
    Так что там было-то?? )
  • 0
    Целый ARM9 во флешке, круто.
  • 0
    Мне кажется что это контрафакт. Иначе — смысл Кингстону так изголяться. Картридер и флешка в пластике — не удешевит производство. Это не говоря уже о репутации.
    Да и это, все-таки, не лоукостовая флешка. Пиратам выгодно подделывать даже такими способами.
    И, в целом, даже если не акцентироваться на sd-флешке и тому, что всё тупо залили каким-то компаундом — остальные компоненты тоже вызывают сомнения, так как являются всеобщедоступными и не брендованные Кингстоном. Как-раз то, что имеет широкое предназначение и доступно всем.
    • 0
      Не думаю что контрафакт, контрафакт был бы сильно проще — без BGA и ПЛИС. Это просто кингстон барахло делает. Готов спорить что тут такой фигни не будет www.sandisk.com/products/usb/drives/extreme/
      • 0
        Что тогда Кингстону помешало взять те же SD-флешки без корпуса и напаять их на плату, тем самым сэкономив пару центов, либо, хотя бы, использовать флешки своего призводства? Это было бы логичнее и вызывало бы меньше вопросов при вскрытии:)
        • +1
          Возможно Кингстон клеит только лейбл, а делает для кингстона кто-то со стороны, хотя конечно всякое может быть, но уж как-то сильно мудрёно для подделки.
        • 0
          Существуют sd флешки в форм-факторе микросхемы. Стандарт называется eMMC. Используются в смартфонах с давних пор.
          • 0
            о том и речь.
  • 0
    Продолжение истории

    geektimes.ru/company/kingston_technology/blog/248902/#comment_8334474

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

Самое читаемое Разработка