Obsahuje:
  • všechny e-ziny od 9/1999
  • celou databázi NEWS
  • soutěže 2000-2011
  • další články a BONUSY

Crypto - News

http://crypto-world.info

Crypto - News | Security - News

10 / 2005
Vybrali pro vás: TR - Tomáš Rosa, JP - Jaroslav Pinkava, PV - Pavel Vondruška, VK - Vlastimil Klíma

Exploiting MD5 collisions (in C#) - jak je to doopravdy

20.10.2005
Cht?l bych troši?ku up?esnit dnešní novinku ?. 2129: Exploiting MD5 collisions (in C#), poukazující na Diaz?v exploit ke kolizi MD5. Jde o to, že na tentýž exploit jsem upozornil v novince ?. 1976: Využití kolizí MD5 pro distribuci libovolného škodlivého software. Nejde o to, že n?která novinka je tu dvakrát, to se stává, a je to normální. Podstatné je, že v té dnešní novince se ?íká o Diazov? exploitu, který není tak p?íliš Diaz?v, ale spíše Mikleho. Požádal jsem tedy o vyjá?ení Ondru, protože m? trochu štve, že když ve sv?t? zapomínají na ?eské a slovenské výsledky a místo Ondrova konceptu citují (kvalitativn? mén? hodnotný) Kaminského koncept, nerad bych, abychom navíc místo Ondrova exploitu citovali Diaz?v exploit. V p?vodní novince ?. 1976 jsem se na to snažil upozornit, ale vrátilo se to ješt? jednou.

M?j p?vodní komentá? k Diazov? exploitu:

Autor naprogramoval p?esn? to, co bylo jasné od po?átku. K využití jediné tehdy známé kolize k demonstraci kolize libovolných dvou soubor? jsem vyzval v prosinci 2004 a Ondrej Mikle to velmi rychle prakticky p?edvedl. Jeho program byl mnohem lepší a názorn?jší, než o pár dní pozd?ji publikovaný p?íklad Dana Kaminského (který, a? není tak ilustrativní, je citován daleko více). Pozd?ji p?ibyla konstrukce dvou soubor? typu ps s rozdílným obsahem a stejnou haší a dva r?zné certifikáty X.509. Te? je tady další varianta Mikleho programu. Autor ?lánku (Diaz) neskrývá, že vychází z Mikleho schématu (viz nap?íklad jeho p?edchozí ?lánek i citace v tomto).

Vlastimil Klíma

No a tady p?idávám navíc ješt? Ondrovo vyjád?ení: .....
Za posledný rok sa objavilo nieko?ko prác demonštrujúcich, že od používania MD5 na zaistenie integrity by sme mali upusti? – (1), (2), (3), (4), (5):

Všetky okrem kolidujúcich certifikátov používajú ten istý trik: uložíme kolíziu do dátového súboru (resp. dátovej sekcie spustite?ného súboru) a spustí sa kód, ktorý kolidujúci bit/bajt za?lení do nejakého výpo?tu, typicky vetvenia if (kolidujúci_bajt == magická_konštanta) sprav_nie?o(); else sprav_nie?o_iné(); Tu je dôležité pripomenú?, že aj ke? sa PostScript navonok tvári ako ?isto dátový formát, v skuto?nosti ide o interpretovaný jazyk. Podobne tiež PDF, kde je možné využi? podobný prístup, vychádza z PostScriptu, aj ke? má oklieštenejší jazyk – demonštráciu kolízií pdf sme pripravovali na CryptoFest (marec 2005), pretože je to známy a rozšírený formát, nakoniec kvôli nedostatku ?asu (dokumentácia k PDF má vyše 1000 strán a zostávalo len pár dní) sme sa rozhodli pre XLS formát (tiež dos? známy). Zmysluplné kolízie sa dajú tiež vytvára? v rôznych iných „officoidných dokumentoch“, ktoré sú s?asti statické dáta a s?asti interpretovaný jazyk (makrá, vzorce), nutne nie je potreba ani používa? vzorce a makrá, sú dobré akurát na to, aby „uletené ?ísla“ (vzniknuté z kolízie) upravili do uverite?nejšej podoby (ono zrejme by asi nikomu neuverili, že mu dlžník podpísal dlh na ?iastku rádovo 10^^80 ;-)).

Podobný prístup je môžné aplikova? na každý „dostato?ne zložitý“ formát dát. Sta?í, aby formát umožnoval uloži? niekam ?ubovolný re?azec (kolíziu) a nejak s ním manipulova? (posta?í hodne orezaný jazyk). Toto spl?ujú o?ividne programy v (takmer) všetkých jazykoch, ?i už kompilované (C, C++, C#, Java, at?.) alebo interpretované (Perl, Python, at?.) a dokumenty, ktoré sú „v skuto?nosti programami“. Ako vznikol Diazov exploit: v prvom ?lánku (august 2005) zhrnul, ako je na tom MD5, s odkazmi na spomenuté práce. Druhý ?lánok (ten exploit, september 2005) údajne vznikol kvôli tomu, že to ?udia nebrali vážne, tak použil myšlienku z (1) a (2) na prepísanie exploitu do C#, takže sa nejedná v podstate o nový exploit – chcel poveda?, že je na?ase upusti? od používania MD5.

Odkazy:
(1) Practical Attacks on Digital Signatures Using MD5 Message Digest
(2) MD5 To Be Considered Harmful Someday
(3) The Story of Alice and her Boss
(4) Colliding X.509 Certificates based on MD5-collisions
(5) Exploiting MD5 collisions (in C#)

Ondrej Mikle
Zdroj: http://www.crypto-world.info/news/index.php?prispevek=1976
Autor: VK


Design: Webdesign