Stories
Slash Boxes
Comments

News for nerds, stuff that matters

MD5 To Be Considered Harmful Someday

Posted by michael on Tue Dec 07, 2004 04:06 PM
from the house-built-on-sand dept.
Effugas writes "I've completed an applied security analysis (pdf) of MD5 given Xiaoyun Wang et al's collision attack (covered here and here). From an applied perspective, the attack itself is pretty limited -- essentially, we can create 'doppelganger' blocks (my term) anywhere inside a file that may be swapped out, one for another, without altering the final MD5 hash. This lets us create any number of binary-inequal files with the same md5sum. But MD5 uses an appendable cascade construction -- in other words, if you happen to find yourself with two files that MD5 to the same hash, an arbitrary payload can be applied to both files and they'll still have the same hash. Wang released the two files needed (but not the collision finder itself). A tool, Stripwire, demonstrates the use of colliding datasets to create two executable packages with wildly different behavior but the same MD5 hash. The faults discovered are problematic but not yet fatal; developers (particularly of P2P software) who claim they'd like advance notice that their systems will fail should take note."
This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • damn (Score:2, Interesting)

    by YetAnotherDave (159442) on Tuesday December 07 2004, @04:08PM (#11023624)
    I guess I know what I'll be coding now - SHA-1 just got a lot more important in my priority list... :(
    • Re:damn (Score:4, Insightful)

      by networkBoy (774728) on Tuesday December 07 2004, @04:11PM (#11023668)
      (http://www.networkboy.net/)
      Another option is to hash against two very different algorithms, that even if both are partially insecure, the chances of being able to trick both are exponentially higher.
      -nB
      [ Parent ]
      • Re:damn by frission (Score:1) Tuesday December 07 2004, @04:23PM
        • Re:damn by MatanZ (Score:1) Tuesday December 07 2004, @04:31PM
          • Re:damn by whereiswaldo (Score:2) Wednesday December 08 2004, @12:21AM
        • Re:damn by TCM (Score:3) Tuesday December 07 2004, @04:40PM
          • Re:damn by Anonymous Coward (Score:1) Wednesday December 08 2004, @03:08AM
        • 1 reply beneath your current threshold.
      • Re:damn by bigbadbob0 (Score:1) Tuesday December 07 2004, @04:23PM
        • Re:damn by networkBoy (Score:3) Tuesday December 07 2004, @04:31PM
          • Re:damn by Meostro (Score:2) Tuesday December 07 2004, @04:45PM
            • Re:damn by SpaceLifeForm (Score:2) Tuesday December 07 2004, @04:53PM
              • Re:damn by Meostro (Score:1) Tuesday December 07 2004, @05:14PM
              • Re:damn by apdt (Score:2) Tuesday December 07 2004, @11:33PM
            • Re:damn by onemorechip (Score:1) Tuesday December 07 2004, @08:08PM
          • Re:damn by chialea (Score:1) Tuesday December 07 2004, @04:51PM
            • Re:damn by networkBoy (Score:2) Tuesday December 07 2004, @05:02PM
              • Re:damn by chialea (Score:2) Tuesday December 07 2004, @05:05PM
          • 1 reply beneath your current threshold.
        • Re:damn by Discoflamingo13 (Score:2) Tuesday December 07 2004, @05:39PM
        • 1 reply beneath your current threshold.
      • Re:damn by The Milkman (Score:1) Tuesday December 07 2004, @04:24PM
        • nah by roman_mir (Score:2) Tuesday December 07 2004, @04:37PM
        • Re:damn by MindStalker (Score:2) Tuesday December 07 2004, @04:43PM
          • Re:damn (Score:5, Insightful)

            by canavan (14778) on Tuesday December 07 2004, @05:08PM (#11024548)
            You're using a different definition of a secure hash than everybody else. It's rather obvious that for files larger than the length of the hash (128 bit for md5), there must be quite a lot sharing the same hash, for a given file length about 2^(filelength in bits - hashlength in bits). However for a hash to be considered secure, it's only required that finding two files with the same hash must be as hard as trying (in md5's case 2^127 different files), but in md5's case you can compute those collisions much cheaper under certain circumstances.

            Another condition is obviously that the message should not be reconstructable from the hash.
            [ Parent ]
            • Re:damn by rpresser (Score:2) Tuesday December 07 2004, @09:22PM
              • Re:damn by grumbel (Score:3) Tuesday December 07 2004, @10:01PM
              • Re:damn by apdt (Score:2) Tuesday December 07 2004, @11:40PM
              • Re:damn by Chrispy1000000 the 2 (Score:1) Wednesday December 08 2004, @12:10AM
              • Re:damn by grumbel (Score:2) Wednesday December 08 2004, @08:11AM
              • 1 reply beneath your current threshold.
            • Re:damn by wirelessbuzzers (Score:1) Wednesday December 08 2004, @04:27AM
            • Re:damn by merlin_jim (Score:2) Wednesday December 08 2004, @10:50AM
          • 1 reply beneath your current threshold.
        • 1 reply beneath your current threshold.
      • Very true by jd (Score:2) Tuesday December 07 2004, @04:40PM
        • Re:Very true by jd (Score:3) Tuesday December 07 2004, @05:34PM
          • Re:Very true by Froobly (Score:1) Wednesday December 08 2004, @04:05AM
            • Re:Very true by jd (Score:2) Wednesday December 08 2004, @11:46AM
        • Almost forgot (Score:4, Interesting)

          by jd (1658) <imipakNO@SPAMyahoo.com> on Tuesday December 07 2004, @05:42PM (#11025091)
          (http://slashdot.org/ | Last Journal: Saturday November 03, @04:58AM)
          Whirlpool is a 256-bit hashing algorithm, derived from the Rijndael encryption algorithm. Rijndael is known to be strong, and has been approved by NIST, but the conversion to a hash function has not been sufficiently tested.


          Where time isn't critical (eg: creating and validating checksums for files), I'd say use both. The overhead isn't great, and you'd get much more security.


          Where time is critical AND you don't have to be concerned with computers not under your control, use Whirlpool. Rijndael is fast, SHA-1 is slow. Whirlpool also offers a longer hash string than SHA-1.


          In any other situation, use SHA-1. Whirlpool might turn out to be the greatest algorithm out there, but that doesn't help if you're trying to talk to a remote computer that doesn't support it.

          [ Parent ]
        • 1 reply beneath your current threshold.
      • Not always... by Goonie (Score:3) Tuesday December 07 2004, @04:50PM
      • Re:damn by gokeln (Score:1) Tuesday December 07 2004, @07:25PM
      • Re:damn by hyc (Score:2) Wednesday December 08 2004, @04:20PM
    • Re:damn by LiquidCoooled (Score:2) Tuesday December 07 2004, @04:14PM
      • Re:damn (Score:5, Interesting)

        by WolfWithoutAClause (162946) on Tuesday December 07 2004, @04:22PM (#11023849)
        (http://slashdot.org/)
        There will ALWAYS be collisions with any kind of hashing algorythm.

        Yes, but a good hash makes it *extremely* difficult to find them. MD5 is looking pretty mediocre right now.

        [ Parent ]
      • Re:damn by networkBoy (Score:2) Tuesday December 07 2004, @04:24PM
        • Re:damn by Hanji (Score:3) Tuesday December 07 2004, @04:46PM
          • Re:damn by TheLibero (Score:1) Tuesday December 07 2004, @05:45PM
        • Re:damn by Vo0k (Score:2) Wednesday December 15 2004, @09:36AM
      • Re:damn by goatpunch (Score:1) Tuesday December 07 2004, @05:06PM
        • Re:damn by jyoull (Score:2) Tuesday December 07 2004, @05:33PM
          • Re:damn by uncqual (Score:2) Tuesday December 07 2004, @06:34PM
            • Re:damn by jyoull (Score:2) Tuesday December 07 2004, @09:28PM
          • Re:damn by Zeinfeld (Score:2) Tuesday December 07 2004, @10:34PM
          • Re:damn by goatpunch (Score:2) Tuesday December 07 2004, @11:15PM
          • Re:damn by Loonacy (Score:1) Wednesday December 08 2004, @09:46AM
        • Re:damn by Breakfast Pants (Score:2) Tuesday December 07 2004, @05:38PM
    • Re:damn by user9918277462 (Score:1) Tuesday December 07 2004, @04:21PM
      • Re:damn by MighMoS (Score:1) Tuesday December 07 2004, @04:57PM
    • Shadow Password Suite by jd (Score:2) Tuesday December 07 2004, @04:47PM
    • Re:damn by somethinghollow (Score:1) Tuesday December 07 2004, @05:35PM
      • Re:damn by stoborrobots (Score:2) Sunday December 12 2004, @02:35PM
    • ALL hashes will have this weakness by Euler (Score:1) Tuesday December 07 2004, @06:21PM
    • 2 replies beneath your current threshold.
  • by Anonymous Coward on Tuesday December 07 2004, @04:09PM (#11023635)
    I can only hope I live that long.
  • MP5 harmful? No way! (Score:5, Funny)

    by October_30th (531777) on Tuesday December 07 2004, @04:09PM (#11023644)
    (http://finnbiff.multiply.com/ | Last Journal: Saturday May 12 2007, @10:04AM)
    Aha! So it was MD5 and not MP5 [scottsdalegunclub.com]...
  • Exploit? (Score:5, Interesting)

    So does this mean that it's possible to find a useful MD5-equivalent file for any file? Just because someone alters a file does not mean they have done anything destructive. Would one be able to take a binary, make a change of some sort, and then run a tool to determine the block of data to add to the binary to both allow the change to take effect and cancel out the MD5 change? How complex would it be to construct this tool?
    • Re:Exploit? (Score:4, Insightful)

      by Ayaress (662020) on Tuesday December 07 2004, @04:18PM (#11023775)
      (Last Journal: Tuesday September 07 2004, @10:01PM)
      It doesn't have to be harmful to break a ptp system. There's a pretty common exploit on Kazaa where people have a file just containing random junk that registers as a match to a popular file. If you download taht file, and get any portion of it from the fake, the file is corrupted and useless. Somebody could use these fake files to "poison" popular torrents, making it very unlikely that anybody on them will get uncorrupted files.
      [ Parent ]
      • clarification: by Ayaress (Score:2) Tuesday December 07 2004, @04:22PM
        • Re:clarification: by XO (Score:2) Tuesday December 07 2004, @08:12PM
          • No. by warrax_666 (Score:2) Wednesday December 08 2004, @02:58AM
            • Re:No. by XO (Score:2) Wednesday December 08 2004, @07:01PM
          • Re:clarification: by Eivind (Score:2) Wednesday December 08 2004, @04:18AM
          • Re:clarification: by gedhrel (Score:1) Wednesday December 08 2004, @05:35AM
      • Re:Exploit? by anthony_dipierro (Score:2) Tuesday December 07 2004, @04:53PM
        • Re:Exploit? by Surt (Score:2) Tuesday December 07 2004, @07:49PM
          • Re:Exploit? by anthony_dipierro (Score:1) Tuesday December 07 2004, @09:04PM
        • Re:Exploit? by wdr1 (Score:3) Tuesday December 07 2004, @11:11PM
      • Re:Exploit? by esukafurone (Score:1) Tuesday December 07 2004, @05:10PM
      • Re: Exploit? (Score:4, Informative)

        by Omniscient Ferret (4208) on Tuesday December 07 2004, @08:40PM (#11027281)
        Somebody could use these fake files to "poison" popular torrents, making it very unlikely that anybody on them will get uncorrupted files.

        This would worry me, except that BT uses SHA1, not MD5, so this is irrelevant. MD5 has seemed suspect for years, & Bram's the sort to pay attention to that sort of thing.

        I checked; Edonkey is based on MD4. Gnutella variants might use MD5.
        [ Parent ]
      • Re:Exploit? by CryoPenguin (Score:2) Wednesday December 08 2004, @01:18AM
        • Re:Exploit? by Lehk228 (Score:2) Wednesday December 08 2004, @04:32AM
      • 1 reply beneath your current threshold.
    • Re:Exploit? by Pxtl (Score:2) Tuesday December 07 2004, @04:19PM
      • Re:Exploit? by Pxtl (Score:3) Tuesday December 07 2004, @04:23PM
        • Re:Exploit? (Score:4, Informative)

          by owlstead (636356) on Tuesday December 07 2004, @05:00PM (#11024420)
          Yep, you are still wrong. I've tried some code and the (precalculated) different blocks MUST be at the start of the code. So it's more like

          file1: xxxxccccccc....
          file2: yyyyccccccc....

          %file1 = %file2

          Which is the example given in the article.

          However, Wang said she could get to a collision from any intermediate hash code within the hour (according to the article). That would mean:

          file1: ccccxxxxccccccccc......
          file2: ccccyyyyccccccccc......

          %file1 = %file2

          Where xxxx and yyyy are (pre?)calculated and cccc.... is the payload.

          If _I_ am not mistaken.
          [ Parent ]
          • Re:Exploit? by Poltras (Score:1) Tuesday December 07 2004, @05:39PM
            • Re:Exploit? by owlstead (Score:2) Tuesday December 07 2004, @06:05PM
    • Re:Exploit? by TheLibero (Score:1) Tuesday December 07 2004, @05:55PM
    • 2 replies beneath your current threshold.
  • In english (Score:4, Funny)

    by ValuJet (587148) on Tuesday December 07 2004, @04:14PM (#11023712)
    Is there a translator from ultra-nerd to english?
    • Re:In english by LiquidCoooled (Score:1) Tuesday December 07 2004, @04:17PM
    • Re:In english by Anonymous Coward (Score:1) Tuesday December 07 2004, @04:17PM
      • Mod parent up! by spuzzzzzzz (Score:1) Tuesday December 07 2004, @05:06PM
    • Only 340282366920938463463374607431768211456 ? by wsanders (Score:1) Tuesday December 07 2004, @04:29PM
    • Re:In english (Score:5, Informative)

      by Anonymous Brave Guy (457657) on Tuesday December 07 2004, @04:32PM (#11023990)

      Short version: A common technology for verifying that a file you've downloaded is legitimate and untampered-with, known as MD5, isn't as secure as people thought.

      Slightly longer version: MD5 is a way of generating a checksum -- a single, comparable value -- from a file. Ideally it is supposed to give you different numbers for different files, so if a web site advertises the checksum a file should have, you can compare that with one generated from the file you actually got to see whether the file you've downloaded has been modified, potentially maliciously.

      The research shows that it is possible for someone to construct a drop-in replacement for the file you thought you had that generates the same MD5 checksum as the original, so anyone attempting to validate the file this way would think they had the real thing. If it turns out that you can construct a damaging replacement for a common file -- perhaps an installer for a popular application like Firefox or OpenOffice that's usually downloaded from a public server -- then this could open a loophole for viruses, worms, etc. that would slip through the security net often used by cautious people when downloading such programs.

      [ Parent ]
      • Re:In english by supersmike (Score:1) Tuesday December 07 2004, @04:43PM
        • Re:In english by Meostro (Score:2) Tuesday December 07 2004, @04:50PM
        • Re:In english by Taladar (Score:2) Tuesday December 07 2004, @05:03PM
        • Re:In english by MighMoS (Score:1) Tuesday December 07 2004, @05:05PM
        • Re:In english by mattdm (Score:2) Tuesday December 07 2004, @05:33PM
        • Wow cowboy's... by pVoid (Score:2) Tuesday December 07 2004, @09:25PM
      • Re:In english by MindStalker (Score:3) Tuesday December 07 2004, @04:50PM
      • Re:In english by owlstead (Score:2) Tuesday December 07 2004, @05:10PM
      • Re:In english by kirkjobsluder (Score:2) Tuesday December 07 2004, @06:12PM
    • 3 replies beneath your current threshold.
  • by Jonny_eh (765306) on Tuesday December 07 2004, @04:15PM (#11023718)
    Does this mean that I can take a given binary file, like kde.rpm, and change it so that its' contents are different, and harmful, yet the MD5 hash is the same? This has never been done before? Sounds like an interesting 4th-year engineering project to me. I'd think it'd be really easy to mess up a file and keep the same MD5 hash (like screwing up an avi file shared ona p2p network). But to actually change the file so that it behaves a certain way, wow.
  • Good analysis (Score:5, Funny)

    by overbyj (696078) on Tuesday December 07 2004, @04:15PM (#11023722)
    By examining the MD5 hash using a sophisticated Fourier schema followed by deconvolution with a bit binary-inequal collision analysis, it is quite obvious I have no freaking clue what this stuff is about.

    I am glad somebody does.

  • Let's face it (Score:3, Insightful)

    by mordors9 (665662) on Tuesday December 07 2004, @04:15PM (#11023724)
    Someone with the knowledge and will and time can come up with a way to circumvent almost any protective scheme they come up with. Likely the only way to really safeguard something like this is to do a very time consuming and cpu intensive comparison of the two files. It will come back to "do you trust the source of the file".
    • Re:Let's face it by jd (Score:3) Tuesday December 07 2004, @05:04PM
      • Let's say you break a file into blocks, encrypt those blocks with Rijndael or Serpent using a chaining method that authenticates the prior block, digitally sign the result using (seperately generated) RSA, DSA and ECC signatures in turn, and generate SHA-1 and Whirlpool checksums of both the encrypted and unencrypted file. True, you'd spend longer validating and decrypting the unholy mess generated than you'd spend downloading it, but I think you'd be fairly safe in assuming that the file was what it claimed to be.

        Maybe, maybe not. The new technique would certainly be more difficult to analyse mathematically, but just stacking complicated but flawed methods does not necessarily result in a more secure method: typically, the security of the weakest link determines the security of the whole system.

        What you say reminds me of Don Knuth's experience when he wrote his first innocent 'super' pseudo random number generator (reported in his Art of Computer Programming, Volume 2, page 4: "Algorithm K" ;-): he composed all sorts of complicated operations, but had to learn the resulting number sequence was far from more (pseudo-)random, in fact much worse than the the standard 1-line modulo function.

        Another case of (false sense of) security through obscurity?

        --
        Try Nuggets [mynuggets.net], our SMS search engine which uses question answering technology; now available across the UK.

        [ Parent ]
    • Re:Let's face it by Meostro (Score:1) Tuesday December 07 2004, @05:12PM
    • Hello Master of Obvious. by raehl (Score:2) Tuesday December 07 2004, @05:13PM
    • Silly by theLOUDroom (Score:2) Tuesday December 07 2004, @08:35PM
    • Re:-5 load of crap by mordors9 (Score:1) Tuesday December 07 2004, @07:37PM
    • 2 replies beneath your current threshold.
  • md5 vs sha1 vs ? (Score:5, Informative)

    by alexandre (53) on Tuesday December 07 2004, @04:17PM (#11023763)
    (http://guerillartivism.net/ | Last Journal: Monday July 11 2005, @05:48PM)
    http://en.wikipedia.org/wiki/Md5

    here is a very good link about the algo... :)
    • link by saderax (Score:1) Tuesday December 07 2004, @04:20PM
      • Re:link by Proteus (Score:2) Tuesday December 07 2004, @05:38PM
        • Re:link by Erasmus Darwin (Score:1) Wednesday December 08 2004, @08:58AM
    • Re:md5 vs sha1 vs ? by WolfWithoutAClause (Score:2) Tuesday December 07 2004, @07:53PM
  • by freeze128 (544774) on Tuesday December 07 2004, @04:18PM (#11023773)
    If your cursor finds a menu item followed by a dash,
    And your double-clicking icon puts your window in the trash,
    And your data is corrupted 'cause the index doesn't hash,
    Then your situation's hopeless and your system's gonna crash!
    • 1 reply beneath your current threshold.
  • Correct me if I'm wrong, but... (Score:5, Insightful)

    If I'm translating this properly, a malicious person can do two things with this knowledge:

    He can create a file that MD5sum's to the same result as a legitimate file, but does not have full control over the content or size of the result (making this a mostly useless avenue of exploitation except for people who want to spread trash on P2P networks -- I.E. it shouldn't particularly bother anyone except people who already don't care about security).

    Or he can create two files that MD5sum to the same result. But he has to have control over both files, which offers effectively no advantage to someone who is trying to spread malware or tamper with existing archives that have been MD5summed.

    Consequently, while this is of academic interest I don't see what the big deal is; any time you reduce a large file to a fingerprint you will inevitably run into problems like this because it is impossible to represent one-to-one every individual possible combination of a large set of data in smaller sets ("fingerprints"). You can reduce the risk by increasing the set domain with a larger variadic function but it is impossible to escape this constraint without using fingerprints as large as the data itself.

    • Re:Correct me if I'm wrong, but... by jd (Score:2) Tuesday December 07 2004, @04:35PM
    • OT yet informative: Spock and Try by Anonymous Coward (Score:1) Tuesday December 07 2004, @04:37PM
    • Re:Correct me if I'm wrong, but... by CatsupBoy (Score:1) Tuesday December 07 2004, @04:39PM
    • Re:Correct me if I'm wrong, but... by nautical9 (Score:2) Tuesday December 07 2004, @04:40PM
    • Re:Correct me if I'm wrong, but... (Score:5, Insightful)

      by chialea (8009) <leakNO@SPAMcs.cmu.edu> on Tuesday December 07 2004, @04:41PM (#11024117)
      (http://www.cs.cmu.edu/~leak)
      When you're dealing with cryptography, it should be very, very, very hard to find collisions. If you find enough of them, you can proabably find something bad with the same hash value. For example, if you sign a digital document that says you're going to pay me $1 for my pencil, and I find a suitable hash collision, I could make it look like you signed a promise to pay me $3,000 for some used tissue. I wouldn't rule out that someone could find a harmful collision for a program distributed online, and substitute a trojan. If the prize gives enough reward, people will throw a lot of computational power at it, and will likely hit pay dirt.

      Secondly, this is quite a signifigant break. Once a hash function has had an attack like this discovered, it often becomes completely useless not long down the road. I work in cryptography, and the people I know have written off MD5. Heck, the people I know are also quite worried about SHA-1, and the current best attack against that one isn't nearly as strong.

      The upshot of this is that this hash function should NOT be considered secure any more. For now, if you are not protecting anything of high value, you're probably fine. Tomorrow? Possbily. But soon, you're not going to be protected at all, and so you should start worrying about that now, instead of when you're already in trouble.

      Lea
      [ Parent ]
    • Dirt by mfh (Score:3) Tuesday December 07 2004, @04:45PM
      • Re:Dirt by MarkByers (Score:1) Tuesday December 07 2004, @05:20PM
        • 1 reply beneath your current threshold.
    • Re:Correct me if I'm wrong, but... by Chris Burke (Score:2) Tuesday December 07 2004, @04:51PM
    • Re:Correct me if I'm wrong, but... by HeghmoH (Score:3) Tuesday December 07 2004, @04:54PM
    • You're wrong. (Score:5, Informative)

      by Piquan (49943) on Tuesday December 07 2004, @05:04PM (#11024481)

      He can create a file that MD5sum's to the same result as a legitimate file, but does not have full control over the content or size of the result (making this a mostly useless avenue of exploitation except for people who want to spread trash on P2P networks -- I.E. it shouldn't particularly bother anyone except people who already don't care about security).

      Suppose you're storing passwords as encrypted hashes, so that intercepting the hashes doesn't tell you what the password is. But if you can generate a password to match that MD5...

      You know that GPG keys are identified and signed by their MD5 hashes? Suppose that I can generate a GPG key that would be identified as yours, and distributed it.

      Or he can create two files that MD5sum to the same result. But he has to have control over both files, which offers effectively no advantage to someone who is trying to spread malware or tamper with existing archives that have been MD5summed.

      There's a coin-flipping protocol that goes as follows. Suppose that Alice and Bob want to flip a coin (over the Internet), but they don't trust each other.

      1. Alice generates a file with random data.
      2. Alice sends Bob the MD5 hash of the file.
      3. Bob picks a bit in the file, and whether he thinks it's a 0 or a 1.
      4. Bob wins if and only if he picked right.
      5. To verify, Alice sends Bob the file she generated at the beginning.

      Now, suppose that Alice generated multiple files in step 1. When Bob makes his guess, she tries to pick a file that will make her win. If she generated only two files, completely randomly, this would let Alice win 75% of the time.

      These are just the first ideas I thought of. If I were looking for other problems, I'd think about undeniable signatures [rsasecurity.com], keysigning (which as GPG and X.509 SSL are heavily based on) and other specialized signature systems. In particular, I expect that the first type of crack could cause issues with SSH keys, both user keys (used for authentication) and host keys (to prevent man-in-the-middle attacks).

      Digital signatures are used for much more than just testing for file tampering.

      [ Parent ]
    • Well, in plainer english... by raehl (Score:2) Tuesday December 07 2004, @05:09PM
    • Re:Correct me if I'm wrong, but... by Dracolytch (Score:2) Tuesday December 07 2004, @05:18PM
    • Re:Correct me if I'm wrong, but... by Spy Hunter (Score:2) Tuesday December 07 2004, @05:30PM
    • Re:Correct me if I'm wrong, but... by Kanasta (Score:2) Tuesday December 07 2004, @06:18PM
    • Re:Correct me if I'm wrong, but... by WolfWithoutAClause (Score:2) Tuesday December 07 2004, @08:31PM
    • Re:Correct me if I'm wrong, but... by SlashdotMeNow (Score:1) Tuesday December 07 2004, @09:11PM
    • Re:Correct me if I'm wrong, but... by m50d (Score:2) Wednesday December 08 2004, @03:44AM
    • 1 reply beneath your current threshold.
  • by quamaretto (666270) on Tuesday December 07 2004, @04:19PM (#11023800)
    (http://www.quux.info/)

    Buy it instead.

    I'm kidding. I download Linux distro's via bittorrent all the time and willfully ignore the MD5 sum, and now I come to find that it's compromisable. OH SNAP!

    I can envision something being added on to bittorrent to prevent bad blocks being passed around via ... magic. Okay. I can't really envision it, but I'm sure it can be done.

    On to the next topic I'm not qualified to comment on...

  • Not just MD5 (Score:3, Interesting)

    by PureFiction (10256) on Tuesday December 07 2004, @04:20PM (#11023806)
    Other weaknesses were reported in various other secure digests, including MD4, RIPEMD, HAVAL-128, SHA-0.

    SHA-256 is a good replacement. SHA-1 should be fine but if you are going through the trouble of an upgrade, why not make it sufficiently future proof?
  • by Tackhead (54550) on Tuesday December 07 2004, @04:21PM (#11023826)
    If I had a million terabytes of storage, y'know what I'd do?

    Two files with the same MD5 hash at once. Aaw yeah.

  • FYI (Score:1)

    by vigyanik (781631) on Tuesday December 07 2004, @04:22PM (#11023843)
    The MD5 algorithm is like a hash function and the MD5 sum is the hash key of the data in the file. If the hash key is smaller in size than the data item then collision (i.e. two data items having the same key) is always possible.

    The exploit has used the properties of the MD5 algorithm to create two executable files with the same MD5 sum.

  • The "Detailed Summary" (Score:5, Informative)

    by Effugas (2378) * on Tuesday December 07 2004, @04:22PM (#11023859)
    (http://www.doxpara.com/)
    [This is the author]

    I've been doing some analysis on MD5 collision announced by Wang et al. Short version: Yes, Virginia, there is no such thing as a safe hash collision -- at least in a function that's specified to be cryptographically secure. The full details may be acquired at the following link:

    http://www.doxpara.com/md5_someday.pdf

    A tool, Stripwire, has been assembled to demonstrate some of the attacks described in the paper. It may be acquired at the following address:

    http://www.doxpara.com/stripwire-1.1.tar.gz

    Incidentally, the expectations management is by no means accidental -- the paper's titled "MD5 To Be Considered Harmful Someday" for a reason. Some people have said there's no applied implications to Joux and Wang's research. They're wrong; arbitrary payloads can be successfully integrated into a hash collision. But the attacks are not wildly practical, and in most cases exposure remains thankfully limited, for now. But the risks are real enough that responsible engineers should take note: This is not merely an academic threat, systems designed with MD5 now need to take far more care than they would if they were employing an unbroken hashing algorithm, and the problems are only going to get worse.

    Some highlights from the paper:

    * The attack itself is pretty limited -- essentially, we can create "doppelganger" blocks (my term) anywhere inside a file that may be swapped out, one for another, without altering the final MD5 hash. This lets us create any number of binary-inequal files with the same md5sum.

    * MD5 uses an appendable cascade construction -- in other words, if you happen to find yourself with two files that MD5 to the same hash, an arbitrary payload can be applied to both files and they'll still have the same hash. This leads to...

    * Attacks are possible using only the proof of concept test vectors released by Wang -- the actual attack is not necessary.

    * Stripwire emits two binary packages. They both contain an arbitrary payload, but the payload is encrypted with AES. Only one of the packages ("Fire") is decryptable and thus dangerous; the other ("Ice") shields its data behind AES. Both files share the same MD5 hash.

    * Digital Signature systems are vulnerable, as they almost always sign a hashed representation of data rather than the data itself.

    * This is an excellent vector for malicious developers to get unsafe code past a group of auditors, perhaps to acquire a required third party signature. Alternatively, build tools themselves could be compromised to embed safe versions of dangerous payloads in each build. At some later point, the embedded payload could be safely "activated", without the MD5 changing. This has implications for Tripwire, DRM, and several package management architectures.

    * HMAC's invulnerability has been slightly overstated. It's definitely possible, given the key, to create two datasets with the same HMAC. Attacker possession of the key violates MAC presumptions, so the impact of this is particularly questionable.

    * Very interesting possibilities open up once the full attack is made available -- among other things, we can create self-decrypting executables (fire.exe and ice.exe) that exhibit differential behavior based on their internal colliding payloads. They'll still have the same MD5 hash.

    * Several doppelgangers may (relatively quickly, as per Joux) be computed within a single multicollision-friendly block. As such, the particular selection of doppelganger sets within a file can itself be made to represent data. It's relatively straightforward to embed a 128 bit signature inside an arbitrary file, in such a way that no matter the value of the signature, a constant MD5 hash is maintained. This is curiously steganographic.

    * Many popular P2P networks (and innumerable distributed content databases) use MD5 hashes as both a reliable search handle and a mechanism to ensure file integrity. This makes them blind to any sign
  • Cash Money? (Score:2)

    by Grendel Drago (41496) on Tuesday December 07 2004, @04:25PM (#11023894)
    (http://grendel.dyndns.org/)
    Was there a cash money prize for someone who could produce a pair of strings with the same MD5 sum? I remember reading or possibly hearing that No One had Ever discovered a hash collision with MD5. Is this the first ever hash collision found?

    --grendel drago
    • Re:Cash Money? by Meostro (Score:3) Tuesday December 07 2004, @04:36PM
      • Thanks! by Grendel Drago (Score:2) Wednesday December 08 2004, @04:05AM
  • I studied different hashes.. (Score:1, Funny)

    by Anonymous Coward on Tuesday December 07 2004, @04:26PM (#11023902)
    I found out the darker and moister it was, the more powerful it was. Of course any form of hash was much stronger then regular leaf pot and you could get far more reusable resin when you were done with the pipe.
  • by l4m3z0r (799504) <kevin@@@uberstyle...net> on Tuesday December 07 2004, @04:27PM (#11023908)
    Really no big surprise, all currently implemented algorithms for security and digital signatures will be rendered useless or easily hackable in the future. The fact that a compromise seems to be soon is the part thats interesting.. however the parent fails to address how serious it is.

    For the most part, big deal, all of current security procedures will be harmful ie compromised in the future...

  • by NZheretic (23872) on Tuesday December 07 2004, @04:27PM (#11023910)
    (http://itheresies.blogspot.com/ | Last Journal: Wednesday April 28 2004, @12:06AM)
    This kind of attack can be mitigated into non-existance by just using two dissimilar hash algorithms.

    Using MD5 with SHA1, or even the older MD2 or MD4 will reduce the probability of creating a compatable binary with the same checksum to virtually zero.

    If only one checksum is required then just XOR the resulting checksums from each algorithm.

  • birthday attack (Score:2)

    by kippy (416183) on Tuesday December 07 2004, @04:28PM (#11023933)
    Can someone explain to me how this is something more complicated than the birthday paradox?

    (heh, Wang)
  • Switching to SHA1 (Score:2)

    by AGTiny (104967) on Tuesday December 07 2004, @04:29PM (#11023952)
    I've made the switch to SHA1 for all my website work where I'm storing passwords and session IDs and the like. It's just a simple change from 32 to 40 characters, and a search/replace for:
    md5_hex to sha1_hex
  • <