Обеспечивает ли самоподпись кода какую-либо защиту?

#visual-studio #security #code-signing #sn

#visual-studio #Безопасность #подписание кода #sn

Вопрос:

Я играл с подписью кода моего приложения в Visual Studio (строгое имя файла ключа pfx с паролем). Насколько я понимаю, после подписания сборку нельзя будет повторно собрать с отредактированным кодом.

Я проверил это. Я разобрал dll на il, изменил некоторое строковое значение и затем смог успешно собрать с помощью ilasm. Я не думал, что это будет возможно.

Это потому, что код самоподписан?

Комментарии:

1. Вы проверяли подпись после повторной сборки?

2. Да, я это сделал. В нем говорится, что «.dll является сборкой, подписанной с задержкой или тестовой подписью», тогда как в оригинале указано «.dll действителен». Но я думал, что повторная сборка не удастся?

3. Цифровая подпись просто проверяет целостность подписанного фрагмента или его отсутствие. Это не предотвращает (и, возможно, не может) само по себе вмешательство.

4. Я думал, что целью подписи кода была не только проверка автора, но и предотвращение подделки сборки. Я могу изменять код, собирать заново, заменять библиотеки DLL, а затем запускать приложение. Конечно, это не должно быть возможно? Я пытаюсь понять причину этого? Если это из-за самоподписанного сертификата или потому, что все это находится на одном компьютере разработчика / пользователя?

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