Проверка целостности дистрибутивов: различия между версиями

Материал из SysWiki
Заготовка статьи
 
Категории
Строка 15: Строка 15:


=== Проверка подлинности коммита в репозитории git ===
=== Проверка подлинности коммита в репозитории git ===
[[Категория:Безопасность]]
[[Категория:Криптография]]

Версия от 00:39, 2 февраля 2024

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

Необходимость проверки

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

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

Поэтому существуют и применяются ряд способов проверки подлинности загружаемых программ.

Способы проверки

Проверка подлинности при помощи электронной подписи для файла

Проверка подлинности при помощи подписанных файлов контрольных сумм

Проверка подлинности коммита в репозитории git