Vite, v cem jsou lidi horsi nez v psani kodu? V cteni kodu.
Security review je neuveritelne obtizna vec. Doporucuji vybrat si nejaky software a alespon na den-dva si to vyzkouset. Je to dost dulezita zkusenost.
Delal jsem napr. review na Mozilla security/pkix (novy kod na validaci retezcu certifikatu a path building ve Firefoxu >= 31). Nasel jsem critical bug v overovani X509.v3 extensions v kodu, ktery uz prosel pres code review.
Nasledovala oprava a dalsi review, ktery odhalil dalsi bug neobjeven puvodnim reviewerem. Po dvou dalsich koleckach fix-review to bylo opraveno.
Na to, aby v open source fungoval princip "thousands of eyes", ten kod se musi fakt cist.
(Jenom pro uplnost, tohle samozrejme neplati jen pro Firefox.)
V open source je davan za vzor vyvoj linuxu. Kvalitni rizeni a diskuse. To je ale jen mensina. Nebo mne dostal projekt alsa, kde v diskusi kolikrat vidite otazky ke kazdemu radku kodu.
Rada vyvojaru v OSS jsou sebestredna asocialni pometla bez sebekazne. Jejich kod by vzal jen silenec a startupovi gelousi. Nekdy se divim ze ma nekdo odvahu commitovat ta svinstva co se v oss vyskytuji. Muzete mit i uzasneho matematika nebo kryptoanalytika, ale kod od nej vypada jak z Obfuscated Code Contest.
Ono je uplne neco jineho je pokud objevite naprosto zrejmou chybu po programatorovi, ktery ma kod hezky a ucesany. A neco jineho kdyz kod psala hromada vyvojaru kteri spolu ani nemluvi a vsichni jedou na svem egu a tvrdych drogach. Nejhorsi jsou ty veci kde mate do sebe vnoreno x komponent a ono to nahodou funguje a nikdo nevi proc. Blbe se to debuguje protoze jediny zpusob debugu po zavolani nake java gui ptakoviny pres jni nekam ven pre prorietarni protokol a pak pres seriak na naky jednocip v PLC.Pak uz jen merak/osciloskop a jtag debug adapter s nakym drahym devkitem. A na konci objevite ze je blba soucastka. aaaaaaaa! Na zabiti. A mesic code review v haji. Reviewer odpada a ukoncuje kontrakt protoze toho ma plne kecky.
Kdyz neco programuji, tak premyslim aby to bylo citelne. Pisi kod tak, abych ho mohl precist jak ja a tak i nekdo jiny. Dost casto se nyni uz stava ze mi nekdo zpetne vysvetluje kod/config/design ktery jsem pred par mesici navrhl sam, nebot mam vazne potize s pameti. A to lidem hodne pomaha prehledne psani. Proto to delam pekne. Ano trva mi to 3x tak dlouho protoze delam i docku. Ale firma potom nemusi najimat 10 lidi aby to dali dohromady. Jenomze to manazery nezajima. Dulezite je to naprasit hlavne v terminu. Ale ze se to neda fixovat bez celeho tymu lidi uz je jedno.
Kdo pise jak prase, tak zabodava digitalni kopi hluboko do zad tomu, kdo to pak bude cist.
Podle několika zdrojů o chybě poměrně dlouho, cca dva roky, věděla i americká Národní bezpečnostní agentura, která ji zneužívala pro přístup k šifrované komunikaci.
Bylo by možné alespoň některé ty zdroje uvést? Já tuhle zprávu znám jenom z jednoho zdroje, kde vyznívá dost nepřesvědčivě.
Taky si myslím, že je to spíš konspirační teorie. Ale těžko někdo něco takového prokáže. Existuje třeba nepřímý důkaz od lidí kolem Zmap.io, kteří mají historické záznamy kompletní komunikace několika honeypotů a první pokus o zneužití heartbleedu zaznamenali 8. dubna 2014.
Jistě, dalo by se prokázat, že o tom někdo věděl, ale nejde prokázat, že o tom nikdo nevěděl.
Mně šlo spíš o to, že na začátku je jeden článek, který se odvolává údajně na dva zdroje, o kterých nevíme vůbec nic – přičemž jejich vyjádření ani přesně necituje, a v článku uvedená parafráze je dost nevěrohodná. Za rok už z toho máme „podle několika zdrojů“ a za další rok už z toho bude „jak bylo mnohokrát prokázáno“. Odborný článek by měl stavět na faktech a ke spekulacím přistupovat kriticky, ne přispívat k jejich oficiálnímu přijetí.
Navíc je otázka, jak reálné je zneužití této chyby. Dobře, dostanu se k soukromému klíči (to lze udělat i jednodušeji, ale tak fajn). Musím (více či méně dokonale) napodobit onu původní službu. A musím tam ty klienty taky nějak dostat. Crack DNSSEC? Asi ne. Takže něčím jako byla chyba v routerech, změnou odpovědi na DNS dotaz klienta. No jenže když umím tohle, tak si daleko lépe můžu udělat klasický MITM a nemusím pracně získávat soukromý klíč.
Jenže útočník nemůže ovlivnit, co za data získá. Takže se to dá použít spíš k monitorování a můžete akorát doufat, že v těch datech najdete něco zajímavého, co půjde použít dál. Což je dost v rozporu s vyjádřením těch údajných dvou zdrojů, že se to běžně/pravidelně používá pro získávání zpravodajských informací.
Myslim ze NSA podcenujete. Vedet kdy kdo kde a odkud pouzil jakou kartu se muze hodit i jim. Navic oni mohou mit zajem treba o monitorovani prispivani do ruznych diskusnich for. Tvrdit ze pro NSA je chyba typu Heartbleed nezajimava mi pripada jako velmi kratkozrake uvazovani.
Nechat si pro sebe takovouhle chybu, aby mohli sledovat příspěvky do diskusních fór (proč takhle složitě), zároveň tím ohrožovat ostatní instituce státu (protože ty by OpenSSL dál považovaly za bezpečné) a ještě častým zneužíváním té zranitelnosti zvyšovat pravděpodobnost, že se prozradí – to by v NSA museli být fakt úplní blázni.
V dobách, kdy ještě nebylo u aut centrální zamykání, řada zlodějů nebo vykradačů aut do auta nelezlo násilím. Na parkovišti nenápadně oběšli auta a zkoušeli otevřít dveře. Úspěšnost byla velká.
Všimněte si dodnes starších řidičů, kteří po zamknutí auta ještě auto obejdou a zkusí všechny dveře. Protože to byla nejčastější chyba - zamkli dveře u řidiče, ale neměli zamčené jedny z dalších dvěří.
Tenhle útok je podobný princip - neovlivníte, jaká data získáte zpět. Stejně jako tenkrát zloděj neovlivnil, jestli majitel dveře zamkl. Ale i tak se vám občas poštěstí narazit na data zajímavá.
Pro získávání zpravodajských informací to použít lze. Není to 100%, možná ani 10%, ale to v tajných službách není nic. I agent může být dvojitý agent a informátor může být lempl nebo dezinformátor. Je to jen další kanál, kde se může objevit důležitá informace. Pokud tady je možnost tato data získat, tak by bylo hloupé ji nevyužít.
Získání privátního klíče je spíš jen taková třešnička na dortu (navíc některé důležité služby používají HSM, takže tam to ani s heartbleedem nebylo možné). Mnohem větší problém vidím v možnosti získávat útržky privátní komunikace, včetně uživatelských hesel, e-mailů, IM zpráv, erotické fanfiction.
Protože normální postup by byl:
1) ukrást klíč
2) zajistit přesměrování provozu
3) provádět MitM a chytat komunikaci
Heartbleed ale umožnil začít rovnou s bodem 3.
Ve financnim sektoru se HSM bezne pouziva. A to jak v tradingu, mezi centry, tak v retailu. OpenSSL ale u nekterych mene dulezitych casti taky:/ A nejblbejsi je ze custom patche do OpenSSL pro akcelerancni custom hw obvykle nepreimplementovavali tu heartbeat komunikaci.
> Musím (více či méně dokonale) napodobit onu původní službu.
Proč? Pokud služba nepoužívá nějaký lepší způsob sjednávání klíčů (většina nepoužívá), stačí ti pasivní sniff komunikace, abys ji mohl dešifrovat. A ty sniffuješ veškerou komunikaci.
Tohle je imho novinarskej bullshit, nebo NSA bullshit. Kdyz presne si clovek overi do jake verze od jake byl ten bug zivej, jaky distra v ty dobe byla nasazena a jaka byla teoreticka moznost ji vyuzit ...Kachna ..
Navic z podstaty ty chyby utocnik ziskaval "nahodna data" a ze z nich vydoluje cosi uzitecneho ...
Je fajn, že byla nalezena chyba a opravena.
Admini velmi rychle (v řádu hodin) záplatovaly svoje stroje.
Potud je vše v pořádku.
CA nabídly výměnu (reissue) certifikátu zdarma. Což je taky fajn.
Jenže co dál?
Při výměně nekontrolovali (alespoň ty, se kterými jsem měl co do činění já) (ne)použití původního soukromého klíče (takže reissuovaný certifikát používal stejný klíč jako z před záplatou). Ve skutečnosti tohle bylo jen malé procento.
Co ale nastalo potom? Potom, po klasickém vypršení platnosti certifikátu (proces reissue platnost neprodlužoval), tedy při klasickém renew, se opět použil původní klíč.
Takže je sice fajn, že chyba byla nalezena a opravena, ale k čemu to je, když nedošlo k výměně (možná prozrazených) soukromých klíčů?
(To se zcela vyhýbám tomu, že lidé běžně posílají pár soukromého a veřejného klíče v zcela otevřeném tvaru emailem. A to i wildcard na poměrně zajímavé domény s platností na několik let dopředu...
Osobně tedy vidím jako daleko větší problém, než (přece jen náročně zneužitelnou chybu v software) v tom, jak lidé se šifrováním (obecně) zacházejí.
to jak se zachazi se sifrovanim a overovanim nam nedavno ukazal google na androidu :D
viz clanek http://www.itbiz.cz/zpravicky/chyba-v-androidu-umoznuje-ziskat-vsechny-prava-bez-roota
Kdyz jsem videl zdrojaky androida, tak jsem si chtel koupit Windows telefon. Ano. Tak tragicke to je... Neuveritelny bordel a spousta duplicitnich komponent na vice mistech. Verze a bugy jsem radsi nezkoumal. Jedna knihovna(ted nevim jestli polar nebo openssl) pohazena nekolikrat na vice mistech. Opravite includy a linkovani a zjistite ze ze zafixovanou verzi zavislou komponentu rozbijete:-/ Jako ktery mameluk...
Hnus velebnosti. Nehlede na to ze nazvy jako bouncycastle... kravina. Proc jsou ruzna apk na sebe cyklicky navazana?(marny pokus vytvorit minimalisticky custom build)
Nikde zadna dokumentace, jen experimenty.
Nezavidim lidem kteri s tim pracuji.
Nejlepsi jsou experti co evidentne nechapou wo co go ze...
Oficialni devel docka k vnitrnostem androidu v podstate neni. Mate dokumentovane API a pak jakysi relikt ktery gagl uz na svych strankach nema a stejne uz nesedi. Takto si vazeny priteli dokumentaci nepredstavuji.
Jak mimo jine souvisi pouziti google s tim ze mate na vice mistech jednu a tu samou kritickou knihovnu? Jak zajistite jeji udrzovatelnost v pripade ze se objevi buga? V pripade opravy to budete shanet po celem systemu. U androida resite dve ruzne ssl knihovny!
Jste si vedom toho ze drtiva vetsina veci v androidu je staticky linkovana takze se to fakt musi prelozit cely a je to pruser?
A tim googlem myslis chlapci z cyanogenmod / xda-developers + fora ? Tak so samozrejmne kecaji. Nektera apk nelze vyhodit bez toho aniz bych si rozbil treba slovniky (ano potrebuju i rozsypany caj, ale napsat to tam!) nebo prisel o mediaprovidera ktereho potrebuji aplikace na praci s medii. Nemuzu vyndat napr. telefon protoze to vola Settings a ty pak zhebnou protoze neni classa. Kde mam do stromu rozepsany dependence?
Navic co android to specifikum. Do tech zdrojaku bylo proste nutno se podivat (jina moznost uz po puldennim googlovani nebyla) protoze to nikdo jiny evidentne nechtel resit a byla to jedina cesta. Takze jsem se dozvedel ze ten list je uplne blbe nebo nesedel na moji verzi androida.
Bouncycastle, plným názvem Legion of The Bouncy Castle, je nejznámější opensource kryptografická knihovna pro Javu. Aspoň něco z toho byste jistě použitím Google zjistil.
Takže chápu, o co jde. Zahlédl jste někde něco ze zdrojáků Androidu, nenamáhal jste se něco z toho pochopit, ale za to se vám udělal silný názor.