Autor: Emkei | 25.10.2010 |
OSA neboli Ochranný svaz autorský je soukromá nezisková organizace, kterou díky její povaze a kontroverzním poplatkům obdivuje v České republice pravděpodobně málokdo. Nechci zde řešit, zda je etické vybírat rozličné poplatky, které již z principu popírají presumpci neviny, generují organizaci milionové zisky, ačkoliv to zákon zakazuje a plynou např. i z lidových písní, kde je autor neznámý, neboť toto není blog, nýbrž portál o bezpečnosti a navíc si plně uvědomuji, že tak benevolentní autorský zákon, jaký máme v České republice, s sebou musí zákonitě nést nějakou tu daň.
Web zmiňovaného svazu byl po několik let výsměchem počítačové bezpečnosti, není proto divu, že zranitelnosti typu SQL Injection a XSS se řešily nejen v BugTracku zde na SOOMu, ale jednalo se doslova o veřejné tajemství. Vedle nepřívětivého uživatelského rozhraní situaci nenapomohla ani skutečnost, že byla celá prezentace umístěna na sdílených serverech webhostingové společnosti forpsi, kde byla provozována s desítkami jiných (rozuměj cizích) projektů. V případě útoku na svaz tedy nebyl pro potenciální útočníky problém využít zranitelnosti v kterémkoliv jiném webu, pokud by jim nemalý sortiment chyb přímo na OSA.cz "nevyhovoval".
V jednom zdejším threadu, kde se řešila bezpečnost webové prezentace OSA, jsem nadhodil otázku, že by mě zajímalo, co se skrývá v adresáři "www.osa.cz/test/" a zda tedy programátoři systému testují přímo na produkčním serveru. Realita je taková, že adresář skrývá složku upload_temp s nahranými excelovskými CSV sešity. Ve stromové struktuře webu bylo skryto ale mnohem více pikantností, např. soubor adm.php se jmény všech administrátorů a datem jejich posledního přihlášení, dočasné soubory správců typu aaaaaa.txt, microadmin (správa SQL), nezaheslovaný script pro synchronizaci a update databáze, administrační rozhraní, interní dokumenty svazu a mnohé další soubory, které spoléhaly na princip SbO, tedy předpoklad, že když o jejich přítomnosti na serveru nikdo neví, nikdo se k nim nedostane. Takový přístup je samozřejmě nesmyslný a případným útočníkům v nahlížení pod pokličku organizace a jejich členů nic nebránilo.
A co skrývá databáze Ochranného svazu autorského? Za osmimístným heslem složeným pouze z malých písmen a jedné číslice se vedle článků, aktualit a jiných textů publikovaných přímo na webu nachází např. tabulka nastaveni s hesly v plain-textu, tabulka osa_admins s celkem osmi uživateli a jejich hesly v MD5 (7 z 8 hesel lze cracknout během vteřiny pomocí volně dostupných internetových online crackerů), tabulka se jmény správců dokumentů (6 položek), se jmény zastupovaných osob (7 564 položek) včetně data uzavření smlouvy (nejstarší smlouvu má český hudební skladatel František Bartoš, a to již z roku 1929), seznam registrovaných hudebníků (3 559 položek) včetně jejich adresy, kontaktních údajů, loginu a hesla v otevřené podobě. V neposlední řadě mohou rovněž zaujmout tabulky se sazebníky nebo seznam zaměstnanců opět s hesly v nehashovaném tvaru.
Před několika dny OSA spustil svůj nový web, tentokrát již na nesdíleném serveru. Vizuálně vypadá mnohem lépe, a i když se opět dají velmi rychle nalézt mouchy v zabezpečení, rozhodně se jedná o lepší systém, než který byl provozován doposud. Nejvtipnější na celé události je ovšem fakt, že i když OSA investoval do nové webové prezentace (a jak pevně doufám, tak i do zabezpečení) nemalé peníze, tak data ze starého serveru včetně databáze se neobtěžoval smazat, komukoliv jsou tak k dispozici na serverech forpsi dodnes. Doufejme proto, že nový web Ochranného svazu autorského byl vyvíjen s větší precizností a při návrhu bylo přihlédnuto i k bezpečnosti založené na pevnějších základech, než které poskytuje přístup SbO.
OSA byl na toto bezpečnostní riziko předem upozorněn.