Skip to main content

Что такое кодовая подпись?

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

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

Для защиты пользователей, которые покупают или скачивают программы через Интернет, реализована подпись кода. Подписание кода разделено на две части: разработчик и конечный пользователь. Разработчик использует криптографический хеш, одностороннюю операцию, которая маскирует код программы, а затем комбинирует свой закрытый ключ с хешем. Это создает подпись, которая имплантируется в программу.

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

Хотя подписывание кода является мощным методом обеспечения безопасности, у него есть недостатки. Если пользователь загружает программу от хакера, то аутентификация покажет, что исходная программа не повреждена. Это приведет пользователя к ложному чувству безопасности; программа сделана вредоносной, поэтому безопасность в этом смысле не достигается. Сложные хакеры также могут обойти хэш, чтобы внедрить код, что делает подписывание кода бесполезным.