Vážený pane redaktore, než příště budete na Lupě odkazovat nějaký blábol* z oblasti bezpečnosti, něco si o dané problematice nastudujte, ať můžete sám dané dílo kriticky posoudit.
Cesta "security through obscurity" nikdy nevedla k ničemu dobrému a to platí i pro ISZR. Bezpečnostní zranitelnosti (XSS, upload souborů) zmíněné v odkazovaném článku jsou to zajímavé, na co jste měl upozornit místo bezpečnostně zcela irelevantní dokumentace architektury.
Navíc dle mého skromného názoru u systému jako ISZR, tedy centrálního úložiště určeného pro široké spektrum aplikací napříč státní správou, je co nejlepší dostupnost detailní dokumentace pro dobro věci; otevřenost je to, co naší elektronizaci státní správy hodně chybí.
* O úrovni odkazovaného článku svědčí i domněnka autora, že se pomocí XSS dají ukrást klientské přístupové certifikáty.
* O úrovni odkazovaného článku svědčí i domněnka autora, že se pomocí XSS dají ukrást klientské přístupové certifikáty.
A proč by se skrz XSS ukrást nedaly? Stačí vygenerovat přihlašovací stránku, která o tento certifikát uživatele požádá a pokud ho uživatel vloží, tak jej jednoduše odešle útočníkovi.
Pro uzivatele cipove karty a nebo treba i standarniho windows uloziste certifikatu bude celkem makacka ten certfiikat (resp. samozrejme spise jeho privatni klic) poslat. Ale nevim jak je to udelane, nicmene po zkusenostech s datovymi schrankami to prece jen takove diletantsvi jako prevadi CSOB s prihlasovanim kvalifikovanym certifikatem nebude.
Uznávám, že jsem se nevyjádřil dostatečně přesně: Přístupový certifikát (tzn. podepsaný veřejný klíč) se teoreticky může uživateli někde povalovat a méně podezíravý uživatel ho tudíž klidně nahraje kamkoli. Jak již název napovídá, jeho získání nikomu nijak nepomůže, protože je už sám o sobě v principu veřejný (viz například běžně používané seznamy databáze veřejných klíčů na bázi LDAP pro X.509 PKI nebo PGP keyservery).
Útočníka by zajímal privátní klíč, jenže 99 % uživatelů systému vůbec netuší, co to je, natož jak ho z příslušného úložiště vyexportovat (s trochou štěstí k tomu vůbec nemají lokální práva, či je dokonce uložen na kartě - detaily implementace neznám). Zbylé 1 % sice export privátního klíče zvládne, ale buďto nebude tento dosti netriviální proces podstupovat bez pádného důvodu, nebo chápe význam slova "privátní" a spustí poplach.
Co prosím? Opravte mě, jestli se mýlím, ale nepracují certifikáty čirou náhodou tak, že server vygeneruje challenge, kterou klient svým privátním klíčem zašifruje a předá serveru, aby to pomocí veřejné části certifikátu ověřil? Tedy mimo jiné privátní část nikdy neopustí úložiště certifikátů klienta*), tudíž ji sebedokonalejší XSS nemůže ukrást, a veřejnou část si klidně může nahrát kdokoliv, kdo o ni má zájem. Kde vidíte ten průnik pomocí XSS?
*) Pokud opustí, je to zásadní chyba aplikace na klientovi, tzn. browseru nebo dedikované přístupové aplikace.
Netvrdím, že je XSS schopno samo o sobě jakékoliv cetifikáty vykrást z počítače uživatele. Rozhodně však umožňuje jejich získání s výpomocí uživatele, na kterého je útočeno.
Pokud by se jednalo o "certifikát v souboru", zde zřejmě není co řešit, protože je jeho získání skrz XSS velice snadné (jednoduchý přihlašovací formurmulář). Pokud se jedná o nainstalované certifikáty, pak už by to bylo skutečně o mnoho složitější, ale i tak by to mohlo jít. Představte si situaci, kdy se skrz certifikát pokusíte přihlásit k aplikaci a ta na vás (díky XSS) začne řvát, že je nějaký problém s certifikátem a ať se tedy autentizujete pomocí jeho privátní části, kterou vložíte do formuláře. Vedle může být klidně i nápověda, jak klíče vyexportovat z úložiště. Pokud uživatel narazí na podobnou hlášku na důvěryhodné doméně, pak je opravdu schopen svou privátní část uploadovat.
Pochopitelně záleží na jeho uživatelských právech a dalších okolnostech, o kterých se zmiňoval pan Trnka. Rozhodně bych ovšem možnost získání certifikátů skrz XSS nepovažoval za nereálnou.
Výchozí stav na kartách naštěstí neumožňuje export privátního klíče.
Co se týče certifikátů uložených v úložišti windows, tak tam je výchozí stav takový, že práce s certifikátem je věcí profilu uživatele, bez ohledu, zda je user nebo má vyšší oprávnění.
Přiznám se, že jsem zatím nenarazil na možnost, jak zakázat uživateli export privátního klíče. (tedy kromě možnosti, že mu ho budu já instalovat z exportovaného certifikátu, kde mám šanci si tuto možnost zvolit.
Osobně mne více děsí ta nedokonalost webu szr a czechpointu. Čekal jsem profesionálnější práci. I když od MV...
Dobrý den,
Váše zprávička je holý nesmysl. Kdyby nebyla podrobná dokumentace k dispozici, nikdy by nemohla vzniknout kvalitní oponentura, dříve než dojde k nějakému průšvihu. Nejparadoxnější je, že právě tento konkrétní případ který zmiňujete a server který Vám dovolil Váš nesmysl publikovat jsou důkazem nesmyslnosti Vašeho tvrzení. Jak jinak by mohl vzniknout tento článek? http://www.lupa.cz/clanky/odkliknete-i-neznamy-certifikat-radi-stat-urednikum-pracujicim-se-zakladnimi-registry/
Otevřenost je jediná cesta k SKUTEČNÉ bezpečnosti.
souhlas. Méně extrému na obou stranách by svědčilo diskuzi více.
Jsem také radši, když budeme projektům koukat pod ruce a sem tam je klepneme s chybama, než aby tu byl ultratajný projekt, který za dva roky stejně někdo hekne kvůli blbosti, protože v týhle banánový republice se nic neutají.
Absolutní bezpečnosti se dá dosáhnout maximálně odpojením od sítě a lokálním systémem se zavřenými dveřmi. U všech ostatních riziko napadení existuje, je ho potřeba ale všemi silami snižovat na minimální úroveň.
Plně souhlasím s tím, že otevřenost je jediná slušná cesta k solidnímu zabezpečení tohoto systému. Zvláště u tohoto projektu je, nebo by mělo být, zainteresováno příliš velké množství lidí, než aby šlo informace důvěryhodným způsobem tajit. Pokud byste chtěl utajit způsoby napojení a fungování tohoto systému, jak byste se dožadoval zpřístupnění k dokumentaci, a na základě čeho by ministerský úředník rozhodl, jestli máte nebo nemáte právo ji vidět? Tvrzení, že pracuju na úřadě XY jako správce můžu podat taky, byť to není pravda. Jak to úředník ověří, že nekecám? Nebo chci vyvinou systém pro úřad. Jak se prokážu, že mi můžou dát popis API? Smlouvou s úřadem, ještě než jsem něco začal dělat? Dobrým slovem, nebo známou značkou výrobce sotfware pro úřady? A opět, jak úředník ověří, že nekecám? Certifikátem na čí jméno?
Bezpečnost by primárně měla stát na skutečnosti, že víme, co potřebujeme, ale nejsme schopni to získat bez oprávnění. Doplňkové zabezpečení, že nemáme kudy se tam dostat, je pořád jenom doplňek. (Tohle myslím pro IZSZ už neplatí). Zabezpečení už není, že nevíme kam a jak se chceme dostat. To je spíš ochrana před nenechavými prsty útočníků, kteří nemají dostatečnou výdrž. Nepochybuju o tom, že by zůstala tajná dlouho, na rozdíl od myšlenky, že oni to přece nevědí.