Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > защиты информации на флешке от копирования


Автор: hovercraft 3.1.2013, 15:47
здравствуйте.
меня собственно интересует вопрос защиты информации на флешке от копирования.
вот закралась идея написания какой-нибудь проги по зи для диплома.
собственно предложения и рекомендации, а также пинки добрые пожелания приветствуются.
как я полагаю это можно осуществить написанием:
1) фильтрующего драйвера который работает прозрачно пока не придет команда от приложения с ключем шифрования и указанием конкретного хэндла.
2) запуск собственно в этой проге ole сервера и перехват его API. в случае попытки записи в файл (сохранения) мы завершаем программу, останавливаем сервер.


Автор: Фантом 3.1.2013, 16:11
Цитата(hovercraft @  3.1.2013,  16:47 Найти цитируемый пост)
как я полагаю это можно осуществить написанием:
1) фильтрующего драйвера который работает прозрачно пока не придет команда от приложения с ключем шифрования и указанием конкретного хэндла.
2) запуск собственно в этой проге ole сервера и перехват его API. в случае попытки записи в файл (сохранения) мы завершаем программу, останавливаем сервер.


Что-то такая защита очень напоминает накрепко запертую дверь, стоящую в чистом поле.  smile 

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

Автор: hovercraft 3.1.2013, 16:46
да скопировать можно все, но задача стоит как можно сильнее это усложнить.
с оле объектами я не сильно селен и могу не понимать всю концепцию, так что у кого какие мысли ссылки прошу сюда.
Для диплома мне кажется такая идея может быть слабовата, хотя если сделать экономическую часть, налить разной воды про все возможные методы защиты информации на носителях может и пойдет. 
P.S. предварительная тема: защита информации на носителях.

Автор: Фантом 3.1.2013, 17:03
Цитата(hovercraft @  3.1.2013,  17:46 Найти цитируемый пост)
да скопировать можно все, но задача стоит как можно сильнее это усложнить.


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

Цитата(hovercraft @  3.1.2013,  17:46 Найти цитируемый пост)
Для диплома мне кажется такая идея может быть слабовата, хотя если сделать экономическую часть, налить разной воды про все возможные методы защиты информации на носителях может и пойдет. 
P.S. предварительная тема: защита информации на носителях. 


Я бы сказал, что она не "слабовата", а совершенно не годится. Ну разве что ГАКу будет глубоко наплевать на осмысленность работы...

Впрочем, ничего серьезного в этом направлении такими методами все равно не сделать. Даже при написании нормального шифрования и API для работы с шифрованным томом под Windows первый же вопрос, который задаст любой разумный рецензент - чем все это лучше BitLocker Drive Encryption? 

Автор: EvilsInterrupt 3.1.2013, 18:02
>>BitLocker Drive Encryption?
Уж лучше TrueCrypt он бесплатен, а Bitlocker доступен начиная в Enterprise.

Автор: Фантом 3.1.2013, 18:35
Цитата(EvilsInterrupt @  3.1.2013,  19:02 Найти цитируемый пост)

Уж лучше TrueCrypt он бесплатен, а Bitlocker доступен начиная в Enterprise. 


Суть вопроса от этого не поменяется.  smile 

Автор: tzirechnoy 4.1.2013, 00:20
В общем, хорошая идея -- но зря Вы смотрите в сторону "OLE-серверов". Это требует win32 subsystem, которая, вообще говоря, совсем не всегда загружэна. Да и in-proc OLE сервер можэт вырубить любой пользовательский код. Лучшэ работать чисто в драйверах ядра NT.
И да, разумеется, перехватывать надо не только сохранение файлов, но и передачу любых байт по сети или через ioctl() или через Send*Message или запись в реестр. ProcessMonitor (или как там его? Да, вроде procmon из sysnternals) в зубы, в общем, для получения начального представления.

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




Автор: hovercraft 4.1.2013, 17:37
ну ясно. а если еще прикрутить к проге привязку к серийному номеру флешки.
реализовать свою архитектуру хранения данных в самописном криптоконтейнере,
чтобы злоумышленник помучился при дизасемблировании.
плюс еще и анализировать с проги скорости чтения-записи данных с носителя и сравнивать их с подписанными ЦП данными хранящимися на флешке.
полагаю эмуляция образа флешки не будет контролировать скорость чтения.

Автор: tzirechnoy 5.1.2013, 12:55
Цитата
а если еще прикрутить к проге привязку к серийному номеру флешки.


Можно, и дажэ довольно просто использовать серийник в качестве части ключа -- но смысла мало. Средства перепрограммирования контроллеров флэшэк сейчас достаточно доступны.

Цитата
реализовать свою архитектуру хранения данных в самописном криптоконтейнере,


Для носимых носителей -- безусловно. Ну, то есть неважно, насколько он самописный -- но шыфровать конечно потребуется.

Тут ещё такое дело...

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

Собственно, цэну экспериментов со скоростями чтения и сложным самоперешыфрованием мы видим на примере всяких защит для игрушэк и 1С -- работает это только в качестве такого напоминателя "воровать нехорошо". Профессионал переделывает хасп-эмулятор или снимает защиту за часы и, учитывая малую цэну, эти nocd тут жэ становятся доступным любому человеку, который решыл потырить игрушку. А проблемы они создают исключительно легальным пользователям, у которых выявлились какие-то отклонения в конфигурацыи от генеральной линии производителя.

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

PS Да, а от законопослушных пользователей, на мой взгляд, можно просто спецыфицыровать формат хранения данных (pdf взять, чего уж там) и показывать документ только в дешыфровщике. После этого никуда он ничего не сохранит -- поскольку кнопки сохранить в программе не будет. Кстати, в pdf дажэ можно заметки всякие добавлять, если очень хочется -- удобный формат на самом деле.
Нажёэность примерно как у велосипедного замка -- т.е. если кто просто мимопроходил, то всё будет нормально. Мало-мальски интересующегося человека надолго, конечно, не задержыт -- но см.вышэ про доверенную аппаратную часть.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)