Цифровая подпись исполняемого файла, доверяя его запросам на сервере - PullRequest
0 голосов
/ 08 июня 2011

Я создаю кроссплатформенное приложение, которое будет взаимодействовать с сервером.Безопасность очень важна.

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

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

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

Наконец, существуют ли исполняемые механизмы подписывания в OSX и Linux?

Ответы [ 2 ]

1 голос
/ 18 июня 2011

Для подписи кода на Mac есть некоторые ссылки в StackOverflow здесь и здесь . Я видел разные вещи для Linux, такие как signelf , bsign (используется digsig ), elfsign .

Как уже упоминал Николай О., подписание кода ничего не сделает против декомпиляции. Подписание кода не препятствует посредничеству, и это не решение для демонстрации серверу того, что клиент не был подделан.

0 голосов
/ 09 июня 2011

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

...