Někteří lidé v souvislostí s open-source softwarem argumentují, že
je bezpečnější. Nemyslím si to. To, že vystavíte zdrojové kódy na internetu
(kde si je kdokoliv může stáhnout) bude znamenat, že zkoumání slabých míst
ve vašem software je mnohem snazší než u closed-source produktů. Zastánce open-source
komunity zde sice ihned namítne, že zájemce si reportovanou či jím objevenou
chybu může sám opravit, protože má k dispozici zdrojové kódy, ale to není ona
podstata problému, to je demagogie.
Reportovaný problém
Bezpečnostní problém open-source aplikace, který je veřejně reportovaný hackerem,
bezpečnostním konzultantem či vývojářem (sám jsem reportů podal několik, zejména
na PunBB a NucleusCMS, ale vždy vývojáři, nikdy veřejně) se ve velice krátké
době objeví na webech jako je třeba securitytracker.com.
Vezměme si třeba příklad tohoto reportu zneužití
PunBB ve verzi 1.2.3. Na první pohled tento report vypadá jako bezvadná
věc, nicméně, opak je pravdou. Ještě před tímto reportem je možné, že u desítek
či stovek fór byla daná chyba zneužita, odcizena data, a až potom chyba reportována,
a i poté, co je chyba reportována, naleznete na internetu stovky PunBB fór,
která nejsou ve verzi 1.2.4, která tuto chybu opravuje. Stačí si udělat malý
google-search a můžete se stát "hackerem", zvládne to i malé dítě.
Reportovaná chyba tak významně přispěje k rizikovosti používání tohoto open-source
software, a pokud neodebíráte nějaký security-bulletin, či nesledujete denně
stránky všech aplikací, které provozujete, jste velice snadno napadnutelní.
Skrytý problém
Říká se, že v každém programu je alespoň jedna chyba. Otevřené zdrojové kódy
ovšem komukoliv, kdo umí jen trošku programovat, umožňují hledat a nalézat
chyby ve stávajících aplikacích, a tyto zneužívat ve svůj prospěch, aniž jsou
povinni tyto chyby komukoliv oznamovat. Je dobrým zvykem špičkových programátorů,
že tyto chyby reportují nejdříve tvůrci aplikace, a dají mu čas na jejich odstranění,
nicméně, i po jejich odstranění zase uživatelé systému narážejí na již zmíněný
paradox "Reportovaného problému" a praktickou nemožnost včasného upgrade všech
instalací napadnutelného systému.
Aplikace s uzavřeným kódem, oproti tomu, je napadnutelná řádově méně snadno,
útočník nemá k dispozici zdrojové kódy, a musí postupovat spíše velice
pomalou a nespolehlivou metodou pokus-a-omyl než jednoduchým prozkoumáním zdrojových
kódů.
Proč je closed-source software lepší?
Jediným, velice teoretickým, plusem open-source software je fakt, že může
být psán "lépe" než software, který je closed-source, protože špičkový programátor
počítá s tím, že zdrojové kódy jsou k dispozici, kdežto closed-source programátor
se může spolehnout na to, že jeho zdroják jen tak někdo neuvidí.
Toto je ale skutečně jen teorie, v praxi člověk spíše narazí spíše na to,
že open-source software, zvláště ten v GNU GPL licenci, je psán narychlo, bez
řádného testování, což většinou u closed-source komerčního software nemůže
projít. Testování je potom až veřejné, udělá se prostě nový release, na fóru
GNU GPL software se zjistí, co nefunguje, tak se to opraví, a udělá se opět
nový release a tak pořád dokola.
GNU GPL je zdarma, ale za kvalitu je většinou nutné platit. Vím to i ze svého vývoje,
takový BLOG:CMS, poskytovaný právě v GNU
GPL licenci, je pro mne zábava. Naopak, F-ART:CMS,
to je business. Pokud vím, že je v BLOG:CMS nyní
stará verze PunBB (kterou dělá Rickard Anderson a je součástí BLOG:CMS),
která je napadnutelná, je mi to vcelku jedno, je na uživatelích, aby si stáhli
novou verzi PunBB . Jenže většina lidí
to neudělá, a raději si počká na nový release BLOG:CMS,
který toto bude obsahovat.
Nicméně, bezpečnostně to již může být pozdě.
Oproti tomu, komerční F-ART:CMS,
ten je o zodpovědnosti a zárukách. Veškeré problémy jsou automaticky ihned
řešeny, a klientovi je automaticky a zdarma proveden upgrade systému. A v tom
je asi hlavní a typický rozdíl mezi open-source a closed-source software. Open-source
produkt je často jen zábava, může to být mimořádně rozsáhlý a fuknčně dokonalý
produkt, ale je bez garancí a záruk, zato closed-source (F-ART:CMS)
je komerční produkt, a s ním je automaticky spojen business model a garance.