Vida. Ta chyba je v kódu dva roky, a za tu dobu si jí nikdo nevšimnul. Nebo v horším případě všimnul a nenahlásil. Ten princip "víc očí víc vidí" zřejmě nefunguje. Zřejmě hlavně proto, že se ty oči mohou koukat, ale nedělají to, protože tomu nerozumí.
Tady vidím, že podle odhadů je možné kompromitovat dvě třetiny web serverů. Moc pěkné. Vzpomínám na doby, kdy zastánci Linuxu kritizovali nebezpečí plynoucí z "monokultury Windows".
http://arstechnica.com/security/2014/04/critical-crypto-bug-in-openssl-opens-two-thirds-of-the-web-to-eavesdropping/
Více očí víc vidí. Zde _není_ nad čím pochybovat. Vždy očekávejte v software chyby, tím více, čím méně práce bylo stráveno vývojem.
Security-by-obscurity nefunguje, také jasné.
Závažnost chyby rozhodně není pěkná. Nevím, z čeho se radujete.
S jakousi "monokulturou Windows" to nesouvisí, ať tím myslíte cokoliv.
[OT] teď pěkně dejme dohromady všechny binárky na windows táhnoucí s sebou openssl, majoritní distribuce tento bug měly opraven velmi rychle po embargu. [/OT]
Jak jsem psal, musely by se ty oči dívat, a velmi dobře věci rozumět. Je prostým faktem, že do kódu nakonec kouká minimum lidí, schopných odhalit bezpečnostní problémy. S počtem řádků a počtem těch lidí to vypadá tak, že problém může zůstat dlouho ukrytý.
Navíc do open source SW není problém vložit backdoor. Přispívat do kódu může prakticky kdokoliv. Stačí odvést pár stovek hodin kvalifikované práce, a váš kód bude vítán. Pak už stačí jen udělat drobnou "chybu", která není na první pohled zjevná, a backdoor se dostane do upstreamu. A jak takové "chyby" vyrobit? Koukněte se:
http://underhanded.xcott.com/
Paranoidní jedinci (zvlášť ty mluvící o spiknutí MS nejspíš se židy a zednáři) by se měli zamyslet, jestli to nebyl případ bugu v OpenSSL na Debianu.
Dovolím si také citovat z linkované site: C is an ideal language for this contest because of both its universality and its ability to do horrible things. C lets you overwrite stack entries, screw up function pointers, and poison all data at the bit level. C nods encouragingly as you attempt to execute a floating point array. In terms of enforcing program correctness, your typical C compiler is basically the two guards from Swamp Castle in Monty Python and the Holy Grail.
Pokud byste neznal tu scénku z filmu Monty Python and the Holy Grail, doporučuji ke shlédnutí:
https://www.youtube.com/watch?v=g3YiPC91QUk&list=RDg3YiPC91QUk#t=01m53s
Ad Nevím, z čeho se radujete - obyčejně to není potřeba, ale speciálně pro vás: <irony>Moc pěkné.</irony>
Ad dejme dohromady všechny binárky na windows táhnoucí s sebou openssl - těch asi nebude moc. Jak dlouho bude trvat je opravit, to záleží na autorech aplikací. Nakonec na Linuxu také musíte čekat na Oracle, SAP, IBM a další.
Tak to zkuste ;-) Je mnohem jednodušší dostat backdoor do proprietárního kódu. Už proto, že to nikdo moc zkontrolovat ani nemůže. A pak se může stát, že první, kdo podobnou chybu odhalí, bude pětiletý kluk ;-)
Je hezke, ze si vase pritelkyne smi zahrat Titanfall a nemusi kvuli tomu tahat svoji vlastni kreditku. Je mi uplne jedno, ze se do Xboxu da vlamat zadanim mezery misto hesla. Potiz ale je, ze takovouto kvalitu programovani MS predvadi i v jinych, mnohem zavaznejsich produktech. Pristup MS je nejak to zprasit, na bezpecnosti nezalezi a kdyz vznikne pruser, tak se to zalepuje.
Do closed source lze dát backdoor také a kontroluje to mnohem méně očí. Uzavřený sw dekompiluje zvenčí opravdu jen útočník a ten chybu nenahlásí. Chcete si kopnout, ale chybí tomu pointa.
Spíše ten problém ukazuje na super model distribuce sw v linuxu, kdy chyba je v podstatě okamžitě ve všech distribucích opravena.
Do closed source SW rozhodně nedá backdor jakýkoliv anonym, který párkrát přispěl do kódu. Komerční firmy navíc většinou provádějí vlastní audit kódu, plus si často platí externí audit. V případě produktů MS mají navíc kód k dispozici klíčoví zákazníci a vlády, a mohou provádět vlastní audit.
Distra mohou opravit problém poměrně rychle, stejně jako například Microsoft nebo Oracle. Problém je s malými výrobci SW, kterým to může trvat déle. Faktem je, že pro Linux většina výrobců SW prostě nepíše. Ovšem to je asi stejná výhoda, jako ta že u koňského povozu na rozdíl od automobilů nemáte svolávací akce :)
Do closed source může autor zanést backdoor vědomě nebo na příkaz nějaké vládní autority, u opensource má tuto možnost omezenou a musel by ji maskovat. Zdroják sice dostanou vyvolení, ale pochybuji, že mají možnost jak si ověřit shodu binárky se zdrojákem nebo že to sami kompilují. Ale budiž, několik málo má vyvolených má možnost obdobné možnosti jakou mají u opensource všichni a vy to považujete (pro mne paradoxně) za výhodu. S auditem jste ale argumentačně zcela mimo, protože ten si můžete nechat udělat i opensource, pokud jste na nich kriticky závislý a tedy nejde o žádnou výhodu.
Druhým odstavcem zamlouváte faktickou připomínku: zatímco distra zajistí překompilování a aktualizaci prakticky všeho obsaženého sw a máte prakticky ihned opraveno (nebo spíše ještě před zveřejněním chyby), u closed source jste ohrožen až dokud poslední z x dodavatelů neprovede záplatu. Plus to musíte sledovat, protože neinstalujete vše z jednoho centrálního repositáře sw.
Ve firmách se commity kontrolují stejně jako ve světě open source. Rozdíl je v tom, že autoři kódu nejsou anonymní. Například TrueCrypt píšou neznámí autoři.
Minimálně MS dává zdrojáky i s návodem ke kompilaci a s krátkým kurzem.
U open source si jistě audit můžete zaplatit. Otázkou je, kdo to opravdu udělá.
Pokud kód SW součástí distra, je to stejné, jako když je například součástí Windows. Pokud součástí distra nebo Windows není, a jde o nějakého nezávislého vývojáře, tak je situace horší. A jak jste si mohl všimnout, většina SW pro podporu businessu (účetnictví, billing, sklady, groupware, POS SW, opravdové DB engines atd.) součástí dister nejsou.