Статьи

Как проверить контрольную сумму файла и почему это нужно делать

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

В данной статье рассматривается то, как проверить контрольные числа MD5, SHA256 или SHA512/ SHA1 криптовалютного кошелька, программы, архива или любого другого файла.

Проверка контрольных значений MD5, SHA

В архивах программ, скачанных с интернета разработчики, как правило, вкладывают кроме исполнительных файлов (.exe) еще и .md5sum и.sha256sum-файлы (могут использоваться также ключи с другими цифрами, например, SHA512).

Пример контрольных сумм SHA-1, 256 и 512 для архива программы PhoenixMiner версии 4.5c:

File: PhoenixMiner_4.5c_Windows.zip
===================================
SHA-1: 2bea8b5d04734fd707ec59b3955e864712e66a91
SHA-256: 78300370043207516c8b8a48b20b7040b82203f9d311b6cc28890a934df74fae
SHA-512: 10e4e0ec5db2998fc54673f3b20f751845b6113869087e6e6cd3b3e6c464d00756bc16663414f80dd826d404e2ea71f4df5dc3c59073c97cc9bb7a73bb1d2786

Скриншот этой информации на сайте bitcointalk:

Информация о контрольных суммах, как правило, содержится в архивах/страницах для скачивания файлов. Например, для PhoenixMiner в файловом хранилище mega содержится файл …_checksums.txt:

Зачем программисты вкладывают контрольные суммы исполняемых файлов в репозитории и на сайтах?

Хеши (контрольные суммы) вида SHA1, 256, 512 и MD5 нужны для того, чтобы обезопасить пользователей, скачавших исполняемые файлы из интернета. Они подтверждают целостность и безопасность файла, который предоставляется на ресурсе. Каждый скачивающий этот файл может проверить его целостность, сверив контрольные суммы с теми, которые закодированы в программе.

Это значительно увеличивает уровень безопасности и надежность работы.

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

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

Пример контрольной суммы SHA256 на странице загрузок официального сайта Monero:

В узловом программном обеспечении Bitcoin используются подписи релиза (release hashes). Это asc-файлы, которые обычно включают в себя информацию об SHA-256 хешах и подпись, зашифрованную PGP-ключом.

Скриншот сайта Bitcoin.org с ифнормацией о контрольных суммах Bitcoin Core:

Как на практике проверить контрольную сумму файла?

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

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

Проверка контрольной суммы заключается в последовательном проведении следующих шагов:

  1. Открывается программа PowerShell входящий в состав Windows.

Чтобы запустить программу PowerShell нужно перейти в каталог со скачанной программой, а затем одновременно нажать кнопку SHIFT + правую кнопку мыши и в появившемся диалоговом окне выбрать открыть PowerShell:

Это же окно в русскоязычной версии Windows:

  1. Затем нужно напечатать в консоли PowerShell команду “dir” (без кавычек) и нажать ввод. В результате этого на экране появится список файлов, содержащихся в директории.

Пример работы с программой PowerShell по проверке контрольной суммы исполняемого файла PhoenixMiner:

  1. Для проверки контрольной суммы MD5 нужно выделить и скопировать (нажав CTRL + C) название нужного файла (в данном случае PhoenixMiner.exe):

  1. Проверяют контрольную сумму файла.

Для проверки контрольной суммы MD5 вводят команду вида:

CertUtil -hashfile название файла MD5

Для проверки контрольной суммы SHA256 вводят команду вида:

CertUtil -hashfile название файла SHA256

В случае проверки Феникс майнера разработчик предоставляет только информацию о checksum zip-архива с программой и сопутствующими файлами:

Для проверки архива с расширением zip вводится команда вида:

CertUtil -hashfile PhoenixMiner_4.5c_Windows.zip SHA256

и нажимается ввод.

В результате успешной проверки контрольной суммы архива PhoenixMiner_4.5c_Windows.zip появится следующая информация:

Как видно, контрольная сумма 78300370043207516c8b8a48b20b7040b82203f9d311b6cc28890a934df74fae, полученная в результате проверки, совпадает с той, которая выложена разработчиком PhoenixMiner на сайте bitcointalk:

Для проверки сумм SHA512 или SHA1 вводятся соответственно команды:

CertUtil -hashfile PhoenixMiner.exe SHA512

или

CertUtil -hashfile PhoenixMiner.exe SHA1.

Заключение

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

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *