Tuesday, March 25, 2014

7:50 AM
Good day!

Secure "protocol" sometimes referred to as "verifying an md5sum or sha1sum of your downloaded package" a "protocol". These are widely used distributed Hashing Algorithms in terms of cryptography, which calculate a 128-bit or 160-bit hash value (or checksum) from any file desired. Using these programs you can check your downloaded file for integrity by recalculating the checksum of the downloaded file.

Technically, if the md5sum/sha1sum of the package you are downloading are known, you can check the known good md5sum/sha1sum against your downloaded package. If there's a difference then there's something wrong.

Using md5sum and sha1sum on Linux

md5sum


In windows, you can execute via cmd like this
file.exe -v -md5

Verifying a downloaded package is an important aspect of a package management system for any linux distro and luckily all packages have checksums as far as I know. It is assumed we somehow know the authentic checksum. If an attacker can modify the package, he/she can also modify the md5sum/sha1sum.

MD5 is now no longer considered secure, because various file exhibiting the same MD5 checksums can be created with little effort, and has been proven. In this manner, an attacker can create an infected file, whose hash value agrees with the original checksum during the test, even though the content is different than the original file.
Progress has also be made in attacking SHA1. However, SHA1 is still not considered to have been hacked. The reason for this is that attacks on SHA1 require too much time for daily use. See MD5 attacks and SHA1 attacks

Lastly the most fatal as it goes beyond the hash algorithm and security of the network connection, you - a person is expected to actually check the hash. I bet that many of us do not often check it. Let's make it a habit that after downloading a file we compare it with the original checksums by recalculating it, and that comes one of the mitigation for this kind of attacks.

0 comments:

Post a Comment