neprihlásený Utorok, 23. apríla 2024, dnes má meniny Vojtech
Pozor, falošné PDF s rovnakými SHA-1 si už môže vyrobiť ktokoľvek. Kolízie nezvláda SVN

Značky: kryptografiabezpečnosť

DSL.sk, 27.2.2017


Ako sa dalo očakávať a ako sme predpokladali, v súčasnosti je po zverejnení prvej kolízie hashovacej funkcie SHA-1 už k dispozícii nástroj umožňujúci si komukoľvek vyrobiť dva PDF súbory s rozdielnym obsahom a rovnakou SHA-1 sumou.

Kolízia SHA-1

Ako sme detailne informovali v tomto článku, vo štvrtok Google spolu s holandským inštitútom CWI zverejnili prvú kolíziu nájdenú v SHA-1, teda dva rozdielne súbory s rovnakou SHA-1 hash sumou.

Kolíziu skonštruovali pomocou útoku zverejneného ešte v 2013, ktorý umožňuje nájsť pre rovnaký spoločný začiatok súborov dva rozdielne reťazce, po pridaní ktorých budú súbory samozrejme rozdielne ale budú mať rovnakú SHA-1.

Google navyše hľadal prakticky použiteľnú kolíziu, ktorá sa dá použiť na falšovanie dokumentov. Konkrétne našiel kolíziu, ktorá umožňuje vytvoriť dva rozdielne PDF súbory s rovnakou SHA-1.

Detaily kolízie

Základný princíp, akým táto kolízia umožňuje vytvárať dvojicu rozdielnych PDF s rovnakou SHA-1, sme popisovali už v piatkovom článku.

V oboch PDF sú zahrnuté dáta dvoch obrázkov formátu JPEG použité ako podoba PDF, pričom začiatočná hlavička JPEG-u je v zvolenom spoločnom začiatku a obrazové dáta oboch podôb v rovnakej doplnenej časti súborov. Krátke odlišné časti súborov o dĺžke 128 bajtov obsahujú dáta, na základe ktorých sa vyberie zobrazovaný JPEG.

Detaily Google nezverejnil. Keďže ale boli zverejnené ukážky PDF, dala sa očakávať skorá analýza ukážkových PDF a vytvorenie nástroja umožňujúceho vytvárať takéto PDF z vlastných obrázkov.


Detaily využitia kolízie na rozličné zobrazované podoby pomocou JPEG komentárov, kliknite pre zväčšenie (obrázok: Hector Martin, licencia CC BY 4.0)



Takúto analýzu v názornej podobe už v piatok zverejnil bezpečnostný expert Hector Martin. Ako je vidieť z jeho obrázku, kolízia využíva podporu komentárov prítomnú v JPEG formáte. Odlišné časti súborov nastavujú rozličnú dĺžku prvého komentáru, vďaka čomu sa v prípade jedného súboru prvé obrazové dáta preskočia ako druhý komentár a v prípade druhého sa zobrazia tieto dáta.

Služba pre vytvorenie falošných PDF

Zároveň bola sprístupnená aj webová služba, ktorá umožňuje z dvojice JPEG obrázkov vyrobiť dvojicu PDF s rovnakou SHA-1 sumou, pričom jeden má ako podobu jeden JPEG a druhý druhý JPEG.

Služba zatiaľ limituje veľkosť JPEG-ov na maximálne 64 KB.

Služba sa nachádza na https://alf.nu/SHA1. Ako sa nakladá s dátami nahranými na službu a na aké účely sa tak dá využiť nie je jasné.

Samozrejme sa nedá predpokladať, že niekto so zlým úmyslom využije na vytvorenie dvojice kolidujúcich PDF webovú službu. Jej existencia spolu so zverejnenou analýzou podoby PDF ale ukazuje, že vytvoriť dvojicu kolidujúcich PDF s ľubovoľnou podobou s využitím kolízie Google je triviálne.

Ochrana

To predstavuje nebezpečenstvo, ak sa PDF overuje pomocou SHA-1 kontrolnej sumy, napríklad pri elektrickom podpisovaní.

Útočník môže dať obeti podpísať jeden PDF, pričom má k dispozícii aj druhý s iným obsahom, pre ktorý je podpis tiež platný.

Jednoduchou ochranou ako sa problému vyhnúť je samozrejme nepoužívať SHA-1 na overovanie PDF. Ak to nie je možné, k dispozícii je univerzálnejší softvér na stiahnutie aj webová služba od bezpečnostných expertov, ktorí útok objavili, na detekovanie súborov s použitým útokom. Odkaz na ne je možné nájsť v piatkovom článku.

Zároveň PDF vytvorené s pomocou zverejnenej kolízie je možné detekovať pomerne jednoducho, porovnaním prvých spoločných 192 bajtov respektíve celých 320 bajtov s prvými bajtami kolidujúcich PDF súborov zverejnených Google. PDF súbory využívajúce túto kolíziu budú mať týchto prvých 192 bajtov zhodných a ďalších 128 bajtov budú mať zhodných buď ako jeden alebo ako druhý súbor zverejnený Google.

Problémy SVN

Potreba dávať pozor na PDF nie je jediným okamžitým dôsledkom zverejnenej kolízie SHA-1.

Hoci autori kolízie ako na jeden z očakávaných problémov poukázali na problémy nástroja na správu verzií súborov a zdrojových kódov Git, ktorý pomocou SHA-1 identifikuje jednotlivé objekty, väčší problém má v skutočnosti druhý takýto nástroj, Subversion, SVN.

Zistili to developeri webového jadra WebKit, ktorí chceli pomocou kolidujúcich PDF overiť či nebude mať WebKit s kolíziami SHA-1 problémy. SHA-1 totiž WebKit evidentne využíva na deduplikovanie cache pamäte.

Po nahratí kolidujúcich súborov do SVN repozitára projektu ale zistili, že problémy má aj SVN používajúce SHA-1 tiež na deduplikáciu.

Po nahratí súborov môže prichádzať podľa autorov kolízie k poškodeniu dát a repozitár celkovo prestane fungovať, nie sú možné napríklad ďalšie commity.

Dočasným riešením pre predídenie takémuto poškodeniu je pridanie tohto skriptu do SVN, ktorý sa aplikuje pri každom commite a jednoducho odmietne súbory začínajúce 320 bajtami nachádzajúcimi sa v kolidujúcich PDF.


      Zdieľaj na Twitteri



Najnovšie články:

Samsung spustil výrobu takmer 300-vrstvovej flash pamäte
NASA opravila sondu Voyager 1, aktualizovala softvér aby nevyužíval poškodenú pamäť
Telekom má nové programy Swipe pre mladých, aj s neobmedzenými dátami
Dánsko chce vybudovať minimálne 6 GW veterných elektrární, v mori
Dnes pribudne ďalší vysielač digitálneho rádia
Skylink zvažuje sprístupnenie Live TV pre Linux s nižším rozlíšením
Qualcomm uvedie nový CPU pre notebooky v stredu, bude mať aj nižšiu verziu
Android prešiel na lepší SW dekóder AV1, umožní prehrávať AV1 videá na viac smartfónoch
Odmena za ťažbu Bitcoinov klesla na polovicu
NASA otestuje nový vesmírny pohon v podobe solárnej plachty


Diskusia:
                               
 

Posielam pekelnu SHA-1 koliziu.
Odpovedať Známka: 9.0 Hodnotiť:
 

posrate SVN aspon konecne dinosaury premigruju na GIT dopice
Odpovedať Známka: 4.3 Hodnotiť:
 

dúfam, že tvoje prosby budú vyslišané :D
Odpovedať Známka: 6.0 Hodnotiť:
 

Predstav si tvoj komentár tu bude večne.
To to je tvoj dar ľudstvu?

Odpovedať Známka: 10.0 Hodnotiť:
 

kdepak ty ptáčku hnízdo máš?
Odpovedať Známka: 6.7 Hodnotiť:
 

co sa staras,este ma vykradnes ...
Odpovedať Hodnotiť:
 

GIT je picovina..
Odpovedať Známka: -2.5 Hodnotiť:
 

To ale uplne meni celu situaciu!
Odpovedať Známka: 7.1 Hodnotiť:
 

Hack tor Martin
Odpovedať Hodnotiť:
 

Dalsia na rade je SHA-256, ktora moze potm polozit cely bitcoin kedze si budem moct podpisat co chcem ;))
Odpovedať Známka: 10.0 Hodnotiť:
 

Yep, treba vyvolat hysteriu a nasledne poskupovat bitcoin za desatinove ceny
Odpovedať Známka: 10.0 Hodnotiť:
 

takže predsa sem ten rothschild chodil na rozumy
Odpovedať Známka: 6.7 Hodnotiť:
 

len doplnenie dokazu:
Tom Marvolo Riddle - I am Lord Voldemort
IT Dsl Hroch - Rothschild

Odpovedať Známka: 10.0 Hodnotiť:
 

ja uz na kolizii SHA-256 skrz 2 x AntMiner pracujem, detaily zverejnim vecer...
Odpovedať Známka: 5.0 Hodnotiť:
 

ked sa polozi 256 tak bitcoin bude ten najmensi problem :)
Odpovedať Známka: 10.0 Hodnotiť:
 

to uz meciar sa moze rovno obesit lebo desifruju jeho CDcko
Odpovedať Známka: 8.7 Hodnotiť:
 

nikto nenazve lepsie cdcko kazetou cloveku, ako len clovek cloveku.
Odpovedať Známka: 10.0 Hodnotiť:
 

Presne tak. Bez dešifrovania len šrégom.
Odpovedať Hodnotiť:
 

akurat btc ma pri sha256 tusim az hash z hashu z hashu a nove hashovacie hodnoty su vzdy osolene

samotne jadnorazove sha256 je tu nanic, ale isteze po padnuti sha256 by sa mal mat aj btc na veeelmi velkom pozore
Odpovedať Hodnotiť:
 

inak ten na tej stranke s tou utilitkou su aj dalsie zaujimave veci - napr toto: return true to win https://alf.nu/ReturnTrue
Odpovedať Hodnotiť:
 

Maturujem nad tym uz 5 minut, ale vobec netusim, o co tam ide.
Mozes prosim nam nezasvetenym, co ovladaju akurat VB vysvetlit, co to je?
Odpovedať Hodnotiť:
 

No, je to taká hra v JavaScripte. Máš zadanie - nejakú funkciu ktorá má jeden alebo viac parametrov. Cieľom je dopniť do parametru nejakú hodnotu tak, aby potom cela funkcia vrátila hodnotu "true".

https://alf.nu/alert1 Toto je niečo podobné, akurát že musíš exploitnuť tú zadanú funkciu.

BTW. Neviem či to funguje vo všetkých prehliadačoch.
Odpovedať Hodnotiť:

Pridať komentár