Доказанный законный пользователь Windows вошел (не доступ к живому диску) - PullRequest
0 голосов
/ 14 мая 2018

Как вы можете доказать скрипту / программе, что пользователь, выполняющий его, является законным?Вы можете получить имя пользователя / идентификатор, но если Боб забирает жесткий диск и запускает его на новой машине, может ли что-нибудь помешать Бобу создать пользователя с тем же именем / идентификатором и заставить программу думать, что она законна?

Есть ли в Windows открытый ключ или что-то подобное для пользователя?

По сути, я хочу автоматизировать сценарий для запуска запуска, но только после того, как (и только) законный пользователь вошел в систему. Iхочу запретить кому-либо брать сценарий с компьютера и запускать его в другой среде, которая обманывает сценарий, заставляя его думать, что в него входит законный пользователь.

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

Я упоминаю скрипт, потому что в идеале я буду реализовывать его на Python, но язык не важен для ответа.

Редактировать: Больше поиска в Google предполагает наличие идентификатора безопасности пользователя Windows (SID), а также маркеров доступа.Так что, возможно, я могу заблокировать сценарий для определенного SID и убедиться, что сценарий запущен с действительным токеном доступа?Но возможно ли получить SID из системы и создать нового пользователя с тем же SID и поддельным доступом?

Кроме того, я начинаю думать, что его нужно перенести в стек безопасности.

1 Ответ

0 голосов
/ 15 мая 2018

Так что не точный ответ на мой вопрос, но решает общую проблему.

Windows Crypt.ProtectData () API шифрует данные, так что только пользователь, создавший их, может расшифроватьЭто.

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

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

Как я уже упоминал в первоначальном вопросе, я хотел написать это на python.Поэтому я написал класс для хранения / извлечения пар ключ: значение из зашифрованного файла с использованием pywin32 и win32Crypt.ProtectData().Я разместил его на GitHub для всех, кто заинтересован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...