Pull to refresh
2
0
Send message
Да, это не имеет значения. Все равно читает.

Для отмены кеширования есть специальный флаг FILE_FLAG_NO_BUFFERING в функции CreateFile2.
И проблема в том, что функцию CreateFile2 нельзя использовать для доступа к SD-карте — а WinRT API не имеет такого функционала.
Увы, это ограничение со стороны производителя микроконтроллера. Договариваться с ним можно, но не ради Windows RT :) Кроме того, вариант был бы не слишком приятный для использования — постоянное создание и удаление сотен файлов с разными названиями — тут и износ файловой системы, и хаос на флешке для пользователя, и потеря совместимости с другими платформами (где есть один скрытый файл).

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

Однако мы все таки в России :) И наши ключи используются для разнообразного софта ценового диапазона 10-50 т.р. за лицензию. Клиенты нам часто рассказывают как именно их пытаются обмануть — удивительные истории сообразительности российского бизнеса встречаются.

В целом наш профиль это не ERP-системы, не СУБД и подобные вещи. У нас больше сметного, бухгалтерского, ресторанного, образовательного ПО, софт для систем видеонаблюдения очень большой рынок. Этот софт гораздо проще воровать, и там востребован «злой DRM» — всем хочется кушать.
Айпады тоже чисто потребительские устройства, однако их используют в медучреждениях со специфическим ПО, встраивают в спинки кресел самолетов и раздают пилотам, и конечно вышеуказанное ресторанное ПО (для нас это очень заметный рынок).

Также с Windows RT. Когда MS стал предлагать их тысячами по бросовым ценам в сферу образования, они сразу обрели бизнес-значение — особенно в РФ.
Если речь о массовом софте в Store — то там ключи ни к чему.

Однако, окажись вы на месте, например, ресторатора с сотней лишних Surface доставшихся Вам за копейки, вас может настигнуть желание при открытии новых ресторанов сэкономить миллион--другой на лицензиях на софт для официантов и поставить пиратку. Ключ нужен именно для таких продуктов.

В данном же конкретном случае продукт делался для сферы образования. Издатели учебников выставили жесткое требование — они отдадут электронные учебники для дистрибуции лишь в случае наличия аппаратной DRM.

Т.е. это все для бизнес-сегмента рынка ПО, не для массового потребительского.
Токены-для-мобилки тоже на подходе. В ассортименте :) Два очевидных интерфейса — bluetooth и microSD.
Немного поправлюсь. Для старых поколений ключей Stealth 2 и Stealth 3 простой перехват Irp пакетов между приложением и драйвером ничего не даст. Для создания эмулятора потребуется реверсировать Guardant API и драйвер, которые защищены нашим псевдокодом.

Эмулировать на уровне драйвера USB-шины, конечно, заметно проще — собственно о том, в том числе, и статья.
Guardant API может (и читает) область памяти с загруженным туда драйвером, и проверяет подпись, так сказать, по полной программе.

Касательно конкурентов: недостатки есть у всех, у нас в том числе. Но мы не считаем корректным упирать не недостатки конкурентов — гораздо интереснее опираться на достоинства собственной продукции, хотя при этом сравнение с конкурентами в какой то степени подразумевается.

Для прошлых поколений ключей это вполне актуальный комментарий. И там сложность отвязывания защиты упиралась именно в сложность анализа трафика между драйвером и приложением. К слову сказать, и на Stealth II делались защиты которые не ломались годами! Если достойно пользоваться возможностями ключа (шифрование, хеширование,...) и завязать на них логику приложения, а также сделать нетривиальные зависимости от условий анализа, даты, времени, и прочего — то на сбор информации для эмуляции ключа может уйти уйма времени, причем без гарантий что эмулятор не даст сбой через месяц только потому, что «с 25 по 28 число каждого месяца» защита работает совершенно по другому :)

Для новых ключей садиться на драйвер бессмысленно — они сделаны на мощном микропроцессоре который позволяет сквозным образом шифровать трафик между ключом и приложением. Шифрование производится на сеансовых 15-минутных ключах алгоритмом AES. Этот трафик анализировать бессмысленно. И в статье описано что при этом нужно ломать и как защититься.
Спасибо за коммент!

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

Information

Rating
Does not participate
Registered
Activity