Silenda Flash. Флешка с функцией физического уничтожения данных
А где свои гигабайты хранишь ты? На флешке в укромном месте? В криптоконтейнере? А может, в облаке или на Яндекс-диске? Можешь ли ты быть на 100% уверен в том, что твои методы защиты (или их отсустствие) помогут тебе в критической ситуации?
Действенный способ только один – уничтожить.
Да, мой друг, сегодня речь пойдёт об устройствах с функцией автоматического уничтожения.
В мою бурную юность устройство, предназначеное для физического удаления информации, используемое мной, спасло очень многих людей от длинных тюремных сроков. В тот девайс вставлялся жёсткий диск, а само устройство я установил в сервер, размещенный на определённой площадке. Суть устройства заключалась в том, что при определённых условиях вставленный в него жесткий диск уничтожался мощным разрядом электричества. Диски востановлению не подлежали. Мы это проверяли. То устройство работало с SIM картой с номером на который нужно было звонить. Не отзвонился в определённый период времени – бум, диска нет. Были, конечно, и другие настройки, но я выбрал именно такой вариант. И как оказалось не ошибся. Когда меня “приняли” и я не отзвонился – диск взорвался, вместе с миллионами ворованных кредиток, логами продаж и именами тысяч клиентов, отправителей и получателей денег. Тем самым спася очень многих людей от бед.
С тех пор прошло много времени и технологии изменились. Но потребность в безопасном хранении информации только возросла.
Сегодня мы поговорим об устройстве нового поколения, позволяющем не только зашифровать, но и уничтожить информацию нажатием кнопки на корпусе флешки. А равно, как и привести механизм уничтожения в действие сообщив заведомо ложный пароль.
Знакомьтесь, Silenda Flash.
Это не заказная статья. В ходе тестирования этого устройства я на протяжении почти двух месяцев тестировал железо и ПО, потому что я, как никто другой понимаю и знаю на своём опыте насколько важно быть уверенным в надежности хранения своей информации и того, где она храниться. Здесь нет никаких “но”. Поэтому в этой статье только факты.
Что пишут производители?
По заявлениям производителей, Silenda Flash представляет из себя флешку объемом 64гб с возможностью самоуничтожения и шифрования. Разработчики заявляют следующий функционал (информация взята с сайта разработчиков):
Физическое уничтожение данных
Выгодно отличаясь от своих конкурентов, Silenda Flash гарантирует физическое уничтожение данных, в то время, как другие устройства предназначенные для обеспечения безопасности данных просто “затирают” информацию путём перезаписи. Silenda Flash оборудован встроенным аккумулятором, а на корпусе носителя расположена кнопка, нажав которую физически уничтожается сам чип памяти за счёт электрического разряда направленного действия с напряжением до 74 вольт, что и гарантирует невозможность восстановления данных.
Шифрование данных
По желанию пользователя, доступ к информации на Silenda Flash возможен только при наличии пароля, который устанавливается при шифровании данных на носителе. Таким образом информация защищена даже в случае попадания в чужие руки.
Возможность задания заведомо ложного пароля, приводящего к уничтожению данных
Пользователь может задать второй пароль при введении которого происходит моментальное физическое удаление данных с носителя.
Silenda Flash в качестве переносного рабочего места
Устройство может быть использовано в качествее удаленного рабочего места. Доступного объема вполне хватает для установки Windows или Tails с небольшим криптоконтейнером.
Что на самом деле?
Сразу хочу сказать, что это – вторая версия устройства. Первую ещё в 2015 году тестировали и писали об этом ребята из журнала “Хакер”, ресурс, почитаемый мною с самого раннего детства. Мне очень польстило, что на этот раз возможность первого “тест-драйва” досталась именно мне. Статья из “Хакера” показала мне, что производитель имеет достаточный опыт в разработке устройств защиты информации. И мне не терпелось посмотреть и проверить самому, а что же это такое. Поехали?
Устройство выполнено в виде флешки, в черном пластиковом корпусе с кнопкой и светодиодом. Внутри располагается печатная плата достаточно хорошего исполнения с припаяной к ней micro-SD картой. Маркировка чипов затёрта, но производитель сообщил, что используется USB хаб от MJ Microchip. К контроллеру подключена непосредственно сама micro-SD карта и управляющий модуль Arduino (производитель отказался сообщить маркировку). Выше расположен аккумулятор. Механизм физического уничтожения приводится в действие с помощью разряда конденсатора с пиковым напряжением до 74 вольт, в зависимости от заряда аккумулятора. Этого вполне достаточно, чтобы физически уничтожить информацию на носителе. Тем не менее, физическая защита от вскрытия корпуса не реализована. А это значит, что если ты вовремя не успел нажать на кнопку – всё будет зависеть лишь от стойкости твоего пароля, ведь батарею можно просто отсоединить.
Подключаем?
При подключении к компьютеру устройство идентифицируется, как обычная флешка на 64гб. И… Как HID-устройство, то есть Human Interface Device, или по-русски, устройство ввода, с ID производителя Van Ooijen Technische Informatica Datakiller. Что это? HID устройства – это, например мыши или клавиатуры…
Тут надо немного пояснить. В стандарте USB нет защиты от того, чтобы некоторые устройства иммитировали другие. В процессе инициализации микроконтроллер сообщает хосту, наряду с другой служебной информацией, классы, к которым принадлежит устройство. Хост загружает нужный драйвер и работает с устройством исходя из его класса и этих данных. По сути, тестируемая флешка помимо обычной флешки подгружается как клавиатура. В теории, такое поведение используется злоумышленниками для реализации атаки BadUSB. То есть, когда флешка подключается как клавиатура и начинает набирать команды, которые могут привести к исполнению произвольного кода. Такое поведение USB накопителя должно вызывать как минимум настороженность. Конечно же, у меня возник ряд вопросов к производителю.
Разработчики пояснили, что это технический изъян, который они признают и обещают устранить в следующих версиях продукта. Дело в том, что в ходе реализации, разработчиками задумывалась функция уничтожения при вводе заведомо ложного пароля. Функция очень полезная во многих ситуациях, особенно, когда имеешь дело с критически важной иноформацией. Требуют пароль – сообщил заведомо ложный, бах, и информации нет. А соответственно – нет и спроса. Идея великолепна, только вот в нашем случае реализация хромает. Разработчики очень старались реализовать функцию обратной связи с устройством, так как ни micro-SD накопитель, ни USB хаб этого сделать не смогут, а соответственно, нужен и контроллер, который бы за этим следил. Но как быть, ведь если реализовывать свой функционал, то потребуется и установка драйверов, что повлечёт ещё больше проблем в разработке и поставит не меньше вопросов о безопасности устройства для конечного пользователя. Ребята выбрали из двуг зол меньшее и реализовали интерфейс взаимодействия контроллера с криптографическим ПО через эмуляцию HID устройства. Я тестировал устройство на стенде с полным дебагом USB и скачанным с сайта производителя ПО (равно, как и пересобирал сам). Несмотря на то, что у меня отутствовала возможность физически считать прошивку контроллера, я не выявил никакого аномального поведения девайса. Атака BadUSB работает по принципу, воспроизведения нажатий клавиш. Поэтому, если просто отключить устройство (в конце статьи я напишу как это делать) тогда и никакой атаки, мнимой или реальной, не может быть в принципе. Как по мне – это технический недочёт разработчиков. Но выбор – за тобой.
Теперь взгянём на ПО. Весь софт написан на GOlang, со всеми плюсами и минусами. Исходники опубликованы разработчиком в репозитории на Github. По сути софт просто создаёт на флешке криптоконтейнеры, шифрованные Blowfish (bcrypt с длинной ключа в 60 байт или 480 бит, что, в принципе, достаточно надежно при наличии стойкого пароля). Так для чего всё затевалось то? Ведь можно обойтись и обычной VeraCrypt?
Как бы не странно это звучало, и специализированное ПО и эмуляция устройства ввода реализованы лишь с одной целью. Это функция самоуничтожения по ложному паролю. Как это происходит?
Казалось бы, если уже реализовывать такое, то следовало бы хранить хэши в самом контроллере, реализовав тем самым некое подобие TPM, тогда можно было бы ограничить и колличество введённых комбинаций и достаточно надёжно реализовать функцию самоуничтожения по ложному паролю. Но разработчики решили обмануть судьбу. Из кода мы видим, что сверка хешей происходит в програмном обеспечении, для чего используется стандартная библиотека GO bcrypt c 480 битным хэшем:
storage.go:
type Hash [60]byte
func (h *Hash) Make(raw string) error {
hash, err := bcrypt.GenerateFromPassword(
[]byte(raw), bcrypt.DefaultCost,
)
if err != nil {
return err
}
copy(h[:], hash)
return nil
}
Можно было бы и побольше. Но основной провал идеи – не в этом. Давай посмотрим, как происходит процедура самоуничтожения при вводе подложного пароля:
usb.go:
func usbWrite() error {
_, err := usbCommand("write", "0xac")
if err != nil {
return err
}
return nil
}
Никаких сверок с железом. Пароли, как правильный, так и заведомо ложный хранятся в крипто контейнере:
main.go:
func setFakePass(opt ...*sciter.Value) *sciter.Value {
if len(opt) != 1 {
return Error(unkn_error)
}
err := storage.pass.Real.Compare(
opt[0].String(),
)
if err == nil {
return Error(pass_same)
}
err = storage.pass.Fake.Make(
opt[0].String(),
)
if err != nil {
return Error(unkn_error)
}
err = storage.Update()
if err != nil {
if os.IsPermission(err) {
return Error(perm_error)
}
return Error(unkn_error)
}
return Ok(true)
}
То есть, всё реализованно програмно. Если отключить HID устройство или блокировать комманду, а равно, как и написать своё програмное обеспечение для расшифровки контейнера (ведь используется стандартная библиотека), функция самоуничтожения по ложному паролю – бессмыссленна.
Хотя, для некоторого оправдания разработчиков, можно всё же заметить, что функция самоничтожения работает и с отключенной батареей, при условии, что устройство подсоединено к USB (а как иначе подбирать пароль то? отпаивать и дампить чип памяти? такое тоже бывает, в большинстве случаев не на просторах снг, но если ты переживаешь о таком – тогда это устройство попросту не для тебя).
Корпус не имеет защиты от вскрытия. Поэтому лучше успеть нажать на кнопку. Если ты всё же не успел этого сделать – остаются надежды на использование функции заведомо ложного пароля, который ты можешь сообщить.
Epic fail. Надеюсь, в следующих версиях – будет лучше.
Тем не менее, для людей, которым придется иметь дело с потенциальными атакующими с низкой технической квалификацией (криминалитет, налоговая, уличная полиция, технически не продвинутые конкуренты, а равно, как и таможенники, как отечественные, так и иностранные) – флешка с такой функцией может и помочь. Особенно, если вспомнить то, что даже если отключить аккумулятор, при вводе заведомого ложного пароля, а равно как и при нажатии на кнопку, разряд всё равно произойдёт (если не будет блокирован драйвер и использовано оригинальное ПО) при подключении к USB, этого вполне достаточно.
Возможно ли восстановление информации
Ну и самое главное. То, ради чего это всё затевалось. А именно – физическое уничтожение информации на носителе. Насколько оно эффективно?
Напоминаю, что уничтожение происходит путём разряда каскада конденсаторов с пиковым напряжением в 74 вольта непосредственно в карту памяти. При моём тесте напряжение электрического разряда составило 68 вольт.
Этого напряжения вполне достаточно для того, чтобы уничтожить значительную часть данных. Если предположить, что при шифровании использовался стойкий пароль и несколько контейнеров, можно быть уверенным, что использование стандартных средств восстановления sd-карт ни к чему не приведет.
В лаборатории, в которую я обратился мне тоже ничем не помогли после нескольких дней попыток.
По заявлениям разработчиков, первая версия флешки была протестирована SecurityLab. У них тоже восстановить ничего не получилось.
С большой долей вероятности могу сказать, что при использовании нескольких контейнеров хранения информации, один вложенный в другой, восстановить информацию, а уж тем более что то брутить навряд ли получится.
Что делать параноикам?
Как я и писал, флешка эмулирует устройство ввода. А знающие люди понимают, что это потенициальный плацдарм для атаки BadUSB. Флешка никакой активности не проявляла, но и прошивку для анализа я из устройства извлечь тоже не смог. А значит 100% гарантии я дать не смогу. Тем не менее, для тех кому нужна флешка с функцией уничтожения данных, могут попросту отключить HID устройство.
Для Windows, PowerShell:
Disable-PnpDevice -InstanceId 'USB\VID_16C0&PID_05DF&REV_0100'
Или просто отключить его в “Управлении устройствами”:
Больше волноваться не за что.
И ещё раз. Устройство было подключено к компьютеру на протяжении нескольких дней с полным дебагом обмена информацией с компьютером. Никакой подозрительной активности замечено не было.
Вердикт
Устройство пригодно для использования и в случае необходимости справляется со своей основной функцией – уничтожением данных. С большой долей уверенности могу сказать, что на просторах СНГ восстановить с неё информацию навряд ли у кого то получится. Что касается США? Были случаи, когда там восстанавливали оперативную память с уже обесточенных компьютеров.
Производители флешки – люди, имеющие многолетний опыт разработки устройств защиты информации, о чём может свидетельствовать статья о первой версии Silenda Flash в журнале “Хакер”.
Если технически устройство реализовано на приемлемом уровне, то на уровне ПО и логики существуют серъёзные проблемы, например, отсутствует защита от вскрытия, да и на функцию уничтожения по подложному паролю я бы не стал возлагать больших надежд. Это техничский просчёт разработчиков, на который они потратили очень много ресурсов. А в добавок – функция реализовали очень подозрительно. Тем не менее, флешка легко превращается в обычный контейнер с функцией удаления данных. Для этого просто надо отключить дополнительные драйвера.
Девайс работает. Информация с флешки удаляется без возможности восстановления информации даже с использованием продвинутых средств форензики. Это я могу сказать с достаточной долей уверенности. В сочетании с другими средствами шифрования, например такими, как VeraCrypt, устройство работает отлично. И это предоставляет дополнительный уровень защиты информации.
Для кого это устройство: для секретарей и бухгалтеров, которым есть что прятать, для мелких чиновников, нарко-кладменов, барыжат и даже барыг покрупнее, а также продвинутых юзеров, которые просто хотят немного обезопасить свою информацию. В общем, для всех тех, кому не придётся иметь дело с технически-продвинутыми ИБ экспертами, будь то киберкопы, чекисты, вайтхаты и блэкхаты любых мастей. Отдельно хочется отметить, что такая флешка наверняка поможет журналистам и борцам за свободу информации, учитывая тревожную информацию о постоянных незаконных обысках, изъятии носителей информации и давлении силовых структур в РФ и РБ.
Для кого не подойдет это устройство: для киберпараноиков, для людей, которые имеют серьезные секреты, много информации, но не понимают в ИБ.
Абсолютно защищенных USB флешек я ещё не видел. Хочешь реальной защиты? Купи себе HSM. Ценник от $5000. Но и их мы тоже, помнится, разваливали. И не раз. Для своей цены(не многим дороже обычной флешки) 64гб, это устройство – вполне достойный представитель своей категории, отлично справляющееся со своим прямым назначением – уничтожением информации в случае необходимости.
И главное помните. Даже самый продвинутый девайс дурака не спасёт.
Купить можно на сайте производителя: https://silenda.systems
Ну так если автор не дурак, сам чего попался?)
А так статья крутая!