Počítačová bezpečnost 11. Bezpečnostní standardy Obsah: Secure by design, Linusův zákon zásada minimálních oprávnění, multilevel security Security-focused a Security-evaluated OS TOS, TCSEC, Common Criteria, EAL, ISO 9000 © Milan Keršláger http://www.pslib.cz/ke/slajdy 8.12.2010 http://creativecommons.org/licenses/by-nc-nd/3.0/
Secure by design bezpečnost skrze návrh od začátku je myšleno na bezpečnost takový postup není závislý na utajení implementace návrh není nutné tajit, protože je skutečně bezpečný tj. „security by obscurity“ nemá význam Linusův zákon zásada minimálních oprávnění problém nejslabšího místa nelze aplikovat zpětně špatně navrženou aplikaci není možné zabezpečit
Linusův zákon Linus Torvalds (jádro Linuxu) popsal Eric S. Raymond v roce 1997 v eseji „The Cathedral and the Bazaar“ popis vývoje otevřeného software „Given enough eyeballs, all bugs are shallow.“ Je-li dost očí, jsou všechny chyby triviální diskuze vývojářů nad otevřeným kódem je vlastně jednoduchým auditem kódu kritika: vývojářů nemusí být dostatek, aby fungovalo nezávislý audit běžně používán i v uzavřeném vývoji důležitý je nejen návrh, ale i počet chyb v kódu
Zásada minimálních oprávnění Principle of least privilege (1974) funguje nejen v informatice pro software každý kód má jen oprávnění nutná ke své funkci pro editor či prohlížeč není nutné mít oprávnění správce využití MAC (DAC neumožňuje) jak zjistit minimální nutná oprávnění? automaticky nelze, ručně nedosáhneme maxima omezují se nejpodstatnější oprávnění problémem je jádro běží s maximálním oprávněním (správa systému) při chybě se může stát cokoliv, pak nelze systému věřit
Problém nejslabšího místa rovnoměrné zabezpečení též princip ochrany před zloději v reálném světě pancéřové dveře vs. skleněná okna nemá smysl dále zesilovat dobré zabezpečení nemá smysl útočit na dobře zabezpečené místo marketingové a PR jde však opačným směrem útočník si vybírá nejzranitelnější místo chyba v programu, sociální inženýrství, … typicky právě to, na co se zapomnělo
Zabezpečení OS problém původního návrhu jakékoliv opatření jen zvýší obtížnost, ne kvalitu tzv. security-focused system Linux: SELinux, AppArmor; OpenBSD Windows: MIC ve Vista+ (5 úrovní → MSIE + stažený soubor) běžné systémy jen jednoho správce vzniká slabý článek (původ systémů v 70. letech) systém jediného správce je však jednoduchý pro mnoho činností je nutné mít neomezená práva správce Windows sice obsahují náznak oddělení rolí, ale není funkční UAC je zajímavý nápad, bohužel není funkční anti-malware řeší jen následky
Multilevel security systém pro dokumenty s různou citlivostí důvěrné → tajné → přísně tajné osoby i dokumenty mají různá pověření vyšší úroveň má přístup k nižší úrovni nižší úroveň může přistupovat k vyšší po sanitizaci sanitizace odstraní z dokumentu citlivé informace vyžaduje: Trusted operating system typicky Mandatory access control (MAC) systém má hodnocení bezpečnosti TCSEC, EAL (4+) problém systémů s doplňky pro vyšší EAL → virtualizace
Security-evaluated OS operační systém, který získal certifikaci podle vybraného standardu definovány úrovně podle různých kritérií přesně definovaná konfigurace, hardware, podmínky udělována auditem od externí organizace dokládají se splněné požadavky finančně velmi náročné (statisíce dolarů) výsledek zohledňuje, čemu systém vyhověl neznamená to, že je systém bezpečný neznamená to, že v systému nejsou chyby jiné systémy mohou být lepší, i když certifikát nemají
Trusted operating system systém vyhovující „vládním“ nárokům kombinace několika požadavků: EAL certifikace podle Common Criteria implementace MAC řízení přístupu B1 podle TCSEC certifikované systémy: komerční unixové systémy (Sun, IBM, SCO, HP, ...) Linux se SELinuxem by mohl být certifikován
TCSEC Trusted Computer System Evaluation Criteria Ministerstvo obrany USA (1983) „Orange book“ (podílela se NSA) 2005 nahrazeno Common Criteria několik stavebních prvků: přístupové politiky MAC zodpovědnost identifikace uživatele, autentizace, audit logy (o činnosti) záruka HW+SW mechanismy pro vynucení předchozího + ověření
Divize a třídy TCSEC D minimální ochrana C DAC ochrana (C1, C2) B MAC ochrana (B1 až B3) A ověřená ochrana (A1 je B3, pak „Mimo A1“)
Common Criteria 1999 USA, Kanada, UK, Francie, Německo, Nizozemí ISO/IEC 15408, dnes verze 3.1 dokumentace o návrhu systému a jeho analýza funkční a penetrační testování tvůrce dodává „Security Target“ odůvodněná kritéria pro hodnocení bezpečnosti podle nich je systém certifikován výstupem úroveň EAL vyšší EAL neznamená vyšší bezpečnost důvodem je možnost různých „Security Target“
Úrovně EAL EAL1: Functionally Tested EAL2: Structurally Tested EAL3: Methodically Tested and Checked EAL4: Methodically Designed, Tested and Reviewed FreeBSD, RHEL, SLES, Solaris, Windows 2003, XP, ... EAL5: Semiformally Designed and Tested EAL6: Semiformally Verified Design and Tested EAL7: Formally Verified Design and Tested
ITSEM
ISO 9000