Может ли драйвер файловой системы фильтровать операции фильтрации на основе идентификатора пользователя? - PullRequest
0 голосов
/ 09 августа 2011

до: Драйверы минифильтров для файловой системы Windows: можно ли отслеживать и предотвращать операции ФС, используя их?

Я ищу способ фильтрации доступа к определенным ресурсам файловой системы. Это включает в себя сменные носители и файловые системы, отличные от ntfs, поэтому стандартный ACL не будет работать.

Из того, что я прочитал, может быть полезен фильтр драйвера файловой системы, но я не нашел способа получить идентификатор пользователя-инициатора. Это возможно?

другие рекомендации \ ссылки на существующие инструменты также приветствуются.

Ответы [ 2 ]

2 голосов
/ 09 августа 2011

Я не уверен, что означает «идентификатор пользователя». Но это может быть полезно:

  1. При обработке IRP_MJ_CREATE смотрите IrpSp-> Parameters.Create.SecurityContext-> AccessState.
  2. ACCESS_STATE содержит SecurityDescriptor и SubjectSecurityContext.
  3. Из SubjectSecurityContext вы можете получить PACCESS_TOKEN, если вам это нужно (вызовите SeLockSubjectContext и SeQuerySubjectContextToken).

Хорошего дня!

0 голосов
/ 09 августа 2011

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

...