Здесь, в ProPrivacy, мы просто любовь программное обеспечение с открытым исходным кодом. Это происходит главным образом потому, что, несмотря на то, что открытый код не идеален, он дает единственный способ точно знать, что программа находится на уровне.


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

Что такое криптографический хеш?

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

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

Что такое проверка хеша?

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

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

Причины этого не всегда злонамеренны (см. Ниже), но неудачная проверка хеша должна установить сигнал тревоги.

Проблемы с проверкой хеша

Возможно, вы заметили предостережение при пении хвалебных проверок...

Целостность, но не аутентификация

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

Хэш-проверки не дают никаких гарантий относительно источника хэш-контрольной суммы..

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

Математические недостатки

Дополнительная проблема состоит в том, что математические слабости могут означать, что хеши не так безопасны, как должны.

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

Несмотря на это, MD5 и SHA1 остаются наиболее популярными алгоритмами, используемыми для генерации хеш-значений. SHA256, однако, остается безопасным.

Разработчик лень

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

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

Криптографические хеши против цифровых подписей

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

Разработчики, которые с удовольствием используют проприетарный код, могут автоматически и прозрачно проверять подписи при первой установке их программного обеспечения, используя такие механизмы, как Microsoft, Apple или технологии Google PKI (инфраструктура открытых ключей)..

Разработчики с открытым исходным кодом не имеют такой роскоши. Они должны использовать PGP, который изначально не поддерживается ни одной проприетарной операционной системой, и почему в Linux не существует эквивалента PKI Microsoft, Apple или Google..

Таким образом, цифровые подписи PGP должны быть проверены вручную. Но PGP - это простое в использовании приложение, и оно не является простым процессом, поскольку быстрый взгляд на наше руководство по проверке подписей PGP в Windows покажет.

Ни один из них не является действительным процессом подписания для разработчиков, которые хорошо знают, что в реальном мире мало кто потрудится проверять цифровые подписи в любом случае..

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

Вы действительно должны проверить хеш (если нет цифровой подписи)

Это далеко не идеальная ситуация, и вы всегда должны проверять цифровую подпись программы с открытым исходным кодом, когда она доступна. Если же это не так, тогда проверка его криптографического хэша намного лучше, чем ничего не делать.

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

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

Как проверить хеш

Основной процесс заключается в следующем:

Необязательный подзаголовок

  1. Запишите номер хеша, опубликованный разработчиком
  2. Сгенерируйте хеш-значение файла, который у вас есть
  3. Сравните два значения хеша

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

Если доступен SHA256 +, проверьте это. Если нет, то используйте SHA1. Только в крайнем случае следует проверять хеш MD5.

Простой способ (все системы)

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

пример

Мы хотим проверить целостность установочного файла KeePass, который мы скачали с веб-сайта KeePass.org (который, как мы знаем, является правильным доменом). На веб-сайте публикуются хэши MD5, SHA1 и SHA256 для всех версий его KeePass, поэтому мы проверим SHA256 на версию, которую мы скачали.

  1. Мы отмечаем правильное значение хеш-функции, опубликованное на веб-сайте KeePass..

  2. Затем мы заходим на сайт Online Tools, выбираем File Hash: SHA256 и перетаскиваем наш загруженный установочный файл KeePass в предоставленное место..

  3. Мы сравниваем результаты с контрольной суммой, опубликованной на веб-сайте KeePass, и они идентичны. Таким образом, предполагая, что веб-сайт KeePass не был взломан для отображения ложных значений хеш-функции, мы можем быть уверены, что мы загрузили файл без изменений. ура!

    Windows, macOS и Linux также имеют встроенные функции хеш-значений, которые доступны из командной строки....

Windows

Этот метод работает «из коробки» в Windows 10, в то время как пользователям Windows 7 необходимо сначала обновить Windows PowerShell с помощью Windows Management Framework 4.0.

Чтобы получить хеш SHA256, щелкните правой кнопкой мыши Пуск -> Windows PowerShell и введите:

Get-FileHash [путь / к / файлу]

Например:

Get-FileHash C: \ Users \ Douglas \ Downloads \ KeePass-2.43-Setup.exe

Хэши MD5 и SHA1 могут быть рассчитаны с использованием синтаксиса:

Get-FileHash [путь к [путь / к / файлу] -Алгоритм MD5

и

Get-FileHash [путь к [путь / к / файлу] -Алгоритм SHA1

Например:

Get-FileHash C: \ Users \ Douglas \ Downloads \ KeePass-2.43-Setup.exe -Алгоритм MD5

Macos

Откройте терминал и введите:

openssl [тип хэша] [/ путь / к / файлу]

Тип хэша должен быть md5, SHA1 или SHA256.

Например, чтобы проверить хэш SHA256 для установщика Windows KeePass (просто для простоты этого урока), введите:

openssl sha256 /Users/douglascrawford/Downloads/KeePass-2.43-Setup.exe

Linux

Откройте терминал и введите либо:

Md5sum [путь / к / файлу] Sha1sum [путь / к / файлу]

или

Sha256sum [путь / к / файлу]

Например:

sha256sum /home/dougie/Downloads/KeePass-2.43-Setup.exe

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me