Остановить доступ к хранилищу? - PullRequest
1 голос
/ 17 октября 2008

Я пытаюсь создать способ предотвратить доступ к определенным разделам жесткого диска / USB-накопителям по соображениям безопасности (защита интеллектуальной собственности). Я думал, что когда Windows пытается получить доступ к «заблокированному диску / USB», попытка останавливается и возвращает что-то вроде «диск недоступен» или что-то в этом роде. Это просто идея, кому-то это правдоподобно / возможно? Если да, то какие-нибудь указатели?

C / C ++

-Спасибо

Ответы [ 5 ]

2 голосов
/ 19 октября 2008

Вам потребуется написать драйвер фильтра для достижения вашей цели. Вам нужно будет поместить свой драйвер где-нибудь в стеке дисковода и завершить работу IRP_MN_START_DEVICE для диска / раздела, который вы хотите заблокировать.

Для написания драйверов вам понадобится Windows Driver Kit . В WDK есть образец драйвера фильтра. Этот список рассылки очень полезен, и если вы будете искать в архивах, вы найдете много информации о дисковых фильтрах драйверов.
Хорошая статья о написании драйверов фильтров: здесь , я думаю, вам нужно зарегистрироваться, чтобы читать, но если вы хотите написать драйвер, вы должны быть зарегистрированы на этом сайте.
Соответствующий список книг можно найти здесь .

2 голосов
/ 17 октября 2008

Проблема с разделами проста. Просто используйте ACL для предотвращения доступа определенных пользователей.

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

1 голос
/ 17 октября 2008

Для USB-накопителей вы можете зашифровать их.

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

Я уверен, что есть бесплатные программы шифрования, доступные

Возможно, вы могли бы также зашифровать разделы.

(в основном я не уверен, почему вы захотите написать какой-нибудь код на c / c ++ для чего-то, что могло бы адекватно управляться другими методами)

0 голосов
/ 29 марта 2009

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

0 голосов
/ 17 октября 2008

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

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

Тогда, может быть, вы захотите добавить хук в свое приложение, чтобы запрашивать пароль, когда оно хочет получить доступ к зашифрованным данным. Или вы устанавливаете TrueCrypt на машину и заставляете пользователя подключать диск, когда они хотят получить доступ к данным, в зависимости от точного способа работы с данными.

...