Как обнаружить анализатор последовательного порта? - PullRequest
0 голосов
/ 24 февраля 2011

Можно ли обнаружить, что какой-то последовательный порт прослушивается другим процессом, работающим в Windows?

У нас есть приложение, которое получает конфиденциальные данные, которые не могут быть прочитаны другими людьми. Поэтому, прежде чем открывать последовательный порт, нам нужно проверить, отслеживается ли порт.

Мы можем использовать функцию CreateFile Windows API, чтобы открыть последовательный порт с эксклюзивными правами доступа, но если монитор запускается до нашего вызова, он может прочитать все сообщения (он открывает последовательный порт с общими правами доступа, поэтому мы можем открыть порт одновременно). Чтобы избежать этого, попытка проверить, отслеживается ли порт, и вызвать исключение, предупреждая пользователя. Возможно ли это сделать?

Ответы [ 2 ]

5 голосов
/ 24 февраля 2011

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

1 голос
/ 26 февраля 2011

Вместо того, чтобы потерять последовательный порт, почему бы не зашифровать ваши данные. Это предполагает, что DTE и DCE являются программируемыми.

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