The SHA-1 hashing algorithm has been 'shattered'

Posted by   Martijn Grooten on   Feb 23, 2017

Researchers from Google and CWI Amsterdam have created the first publicly known SHA-1 collision.

SHA-1 is a hashing algorithm: it turns data of arbitrary size (such as a string of text, or a file) into a fixed-length string, with a number of cryptographic properties. Hash functions are ubiquitous in IT in general and security in particular. For example, a security product could whitelist (or blacklist) hashes of files that it has seen before, and digital signatures of documents and files are created by cryptographically signing the hash value of the document.

What the researchers have done is to find a way to create two PDF documents that differ in an essential way, but whose SHA-1 value is the same. They haven't yet released their algorithm for doing this, but adhering to Google's standard 90-day disclosure policy, they will do so in May 2017. At 110 years of GPU computations, though not cheap, it would not be beyond the reach of a moderately funded adversary to break the algorithm.

shatteredinfographic.png

The SHA-1 algorithm has long been known to be less than ideal, and today's announcement shouldn't come as a surprise to anyone. Nevertheless, the algorithm remains widely used.

It is important to realise that the collision and the soon-to-be published algorithm do not mean that SHA-1 can be broken in every possible use case. In particular, pre-image collision attacks – where, given a hash value, one is able to create a byte string with that same hash value – aren't possible: the adversary still needs to have quite a lot of control over the content of both byte strings to be able to create a collision.

Even in TLS certificates, possibly the best known case in which until recently SHA-1 hashes were widely used, there are a number of mitigations in place that make the creation of a "rogue certificate" likely still to be some time off. For SHA-1's predecessor, MD5, it took eight years from the first discovered collision before a powerful adversary was able to create a rogue certificate that was used by the Flame malware, and then it was only thanks to some mistakes made by Microsoft.

So there's no need to panic: the Internet isn't suddenly broken, and it may take some time before an adversary is able to take advantage of this new development in the wild. But it will happen eventually, and we should make sure we get rid of the use of SHA-1 everywhere, without spending too much time trying to determine the likelihood of attacks in each particular use case.

While we're at it, we should stop using MD5 as well.

twitter.png
fb.png
linkedin.png
googleplus.png
reddit.png

 

Latest posts:

Firefox 59 to make it a lot harder to use data URIs in phishing attacks

Firefox developer Mozilla has announced that, as of version 59 of the browser, many kinds of data URIs, which provide a way to create "domainless web content", will not be rendered in the browser, thus making this trick - used in various phishing…

Standalone product test: FireEye Endpoint

Virus Bulletin ran a standalone test on FireEye's Endpoint Security solution.

VB2017 video: Consequences of bad security in health care

Jelena Milosevic, a nurse with a passion for IT security, is uniquely placed to witness poor security practices in the health care sector, and to fully understand the consequences. Today, we publish the recording of a presentation given by Jelena at…

Vulnerabilities play only a tiny role in the security risks that come with mobile phones

Both bad news (all devices were pwnd) and good news (pwning is increasingly difficult) came from the most recent mobile Pwn2Own competition. But the practical security risks that come with using mobile phones have little to do with vulnerabilities.

VB2017 paper: The (testing) world turned upside down

At VB2017 in Madrid, industry veteran and ESET Senior Research Fellow David Harley presented a paper on the state of security software testing. Today we publish David's paper in both HTML and PDF format.