Как проверить подлинность программного обеспечения Linux с помощью цифровых подписей

Рекомендуемые подписи Gpg Verify

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

Подумайте о сайте, на котором размещена утилита биткойн-кошелька. Если злоумышленнику удастся заменить легитимную версию на вредоносную, он потенциально может украсть деньги у десятков тысяч пользователей. Еще одна ценная цель для бэкдора - это операционная система. Такое случалось с Linux Mint в прошлом.

Итак, что вы можете с этим поделать?

Хэши и подписи

Разработчики, заботящиеся о безопасности, часто объединяют свои установочные файлы или архивы с контрольными суммами, которые вы можете проверить. Вы можете прочитать, как проверить их в Windows или Linux. Однако проблема с этими хешами в том, что если хакер заменяет файлы на веб-сайте, он также может легко заменить хеши. Это делает хеши сами по себе почти бесполезными, особенно если они размещены на том же сервере, где находятся программы.

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

Чтобы хакер мог обойти этот механизм безопасности, он должен каким-то образом украсть закрытый ключ, что намного сложнее сделать, если владелец принимает надлежащие меры, чтобы сохранить его в секрете. И даже если ключ украден, владелец может аннулировать его, отозвав его и объявив об этом. Если это произойдет, когда вы загрузите его / ее открытый ключ и попытаетесь использовать его для проверки подписи, вы получите уведомление о том, что этот ключ был отозван.

Как проверить подписи с помощью GnuPG (GPG)

Утилита gpg обычно устанавливается по умолчанию на всех дистрибутивах. Если по какой-то причине он отсутствует, вы можете установить его с помощью приведенных ниже команд. В некоторых дистрибутивах, если вы получаете сообщение об ошибке типа " gpg: не удалось запустить dirmngr '/ usr / bin / dirmngr': нет такого файла или каталога", вам необходимо установить dirmngr тоже.

В дистрибутивах Debian, Ubuntu или Debian запустите:

Для RedHat / CentOS:

и в Fedora:

Вы можете следовать приведенному ниже примеру, чтобы проверить, как вы проверяете ISO-образ установщика Debian 9.8.0.

Загрузите "SHA256SUMS", "SHA256SUMS.sign" и "debian-9.8.0-amd64-netinst.iso". Возможно, вам придется щелкнуть правой кнопкой мыши первые два файла и выбрать в веб-браузере "Сохранить ссылку как" или аналогичный. В противном случае, щелкнув по ним, вы можете просто отобразить их содержимое вместо автоматической загрузки.

Откройте эмулятор терминала и перейдите в каталог, в котором находятся ваши загрузки.

Проверка контрольных сумм

Дождитесь завершения загрузки ISO. Затем проверьте контрольные суммы SHA256.

Gpg Проверить подписи Sha256sum

Если контрольная сумма верна, вы увидите имя файла, за которым следует сообщение "ОК". Чтобы проверить другие типы контрольных сумм, у вас есть следующие команды: sha1sum, sha512sum, md5sum. Но рекомендуется использовать как минимум сумму SHA256 или выше, если она доступна.

На некоторых сайтах нет таких файлов, как SHA256SUMS, где имена файлов и контрольные суммы сгруппированы для упрощения проверки. Если они просто отображают сумму на своем сайте, проверьте хэш файла с помощью такой команды, как:

Использование GPG для проверки подписанных контрольных сумм

В этом примере команда Debian подписала файл "SHA256SUMS" своим закрытым ключом и сохранила его в файле "SHA256SUMS.sign". Подтвердите подпись:

Вы получите это сообщение:

Это означает, что на вашем компьютере нет открытого ключа, что нормально. Вы должны импортировать его с сервера ключей.

Если сервер ключей не работает, вы можете использовать альтернативный. Например, вы можете заменить keyring.debian.org на keyserver.ubuntu.com.

Но как узнать, что этот ключ законный? К сожалению, чтобы быть абсолютно уверенным, вам потребуется создать нечто, называемое сетью доверия. Очевидно, что на данный момент у вас его нет. Но есть несколько вещей, которые вы можете сделать.

Google отпечаток ключа (DF9B9C49EAA9298432589D76DA87E80D6294BE9B). Если вы ничего не нашли, попробуйте ввести в Google только восемь последних символов (6294BE9B). Законный ключ будет упоминаться на многих веб-сайтах, посвященных аналогичному программному обеспечению. Кроме того, сообщения обычно растягиваются на годы, поскольку надежно охраняемый ключ будет использоваться в течение длительного времени.

Если вы действительно параноик, загрузите образ BitTorrent, а затем проверьте контрольную сумму и подписи. Как работают торренты, невозможно заменить файлы, загруженные сотнями разных пользователей. Кроме того, BitTorrent также имеет собственные механизмы для проверки целостности каждого фрагмента данных, которые он загружает.

Теперь, когда у вас есть открытый ключ, вы можете, наконец, проверить подпись:

Gpg Проверка подписей Проверка файла подписи

Если вы видите "Хорошая подпись", значит, все прошло проверку. Не беспокойтесь о предупреждении - это нормально, потому что, как уже упоминалось, у вас нет надежной сети доверия к открытому ключу.

Заключение

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