Zabezpečené operačné systémy


Trusted Computer System Evaluation Criteria (Orange Book)


     Keď chceme hovoriť o bezpečných systémoch je potrebné si najprv definovať čo presne znamená bezpečný systém. Bezpečný systém vo všeobecnosti riadí prístup k informáciám tak aby k nim mali prístup len autorizované osoby. Pri tom sa samozrejme rozlišuje čítanie, zápis, vytváranie alebo rušenie informácií.

     Existuje šesť základných požiadaviek na bezpečný systém:

  • 1) Bezpečnostná politika. Musí byť explicitne a presne definované za akých okolností môže nejaký subjekt pristupovať k nejakému objektu v systéme.
  • 2) Označenie. Každý objekt v systéme sa musí dať označiť bezpečnostnou značkou, ktorá určuje úroveň dôvernosti tohto objektu.
  • 3) Identifikácia. Každý subjekt musí byť jednoznačne identifikovateľný, tak aby mohol byť každý prístup k informáciám autorizovaný na základe toho kto chce k informáciám pristupovať.
  • 4) Sledovanie. Bezpečný systém musí byť schopný zaznamenávať výskyt každej z bezpečnostného hľadiska relevantnej udalosťi. Tento záznam musí byť chránený pred modifikáciou a neautorizovaným vymazaním.
  • 5) Uistenie. Počítačový systém musí obsahovať hardvérové alebo softvérové mechanizmy pomocou ktorých je možné dostatočne sa uistiť že systém zabezpečuje prvé styri požiadavky.
  • 6) Kontinuálna ochrana. Bezpečný systém musí byť kontinuálne chránený.

         Oranžová kniha TCSEC rozdeľuje systémy do štyroch hierarchických kategórií. Najvyššiu bezpečnosť predstavuje kategória A, najnižšiu kategória D. Tieto kategórie sa ešte delia na triedy.

    Kategória D - Minimálna ochrana


         Obsahuje iba jednu triedu, ktorá je určená pre tie systémy, ktoré nesplnili požiadavky vyšších tried.

    Kategória C - Ľubovoľná (discretionary) ochrana


         Triedy v tejto kategórii zabezpečujú ľubovoľnú ochranu vrátane schopnosti sledovania systému, teda zaznamenávania činností, ktoré nejaký subjekt inicioval.

    Trieda C1 - Ľubovoľná bezpečná ochrana


         Systémy triedy C1 musia splňať minimálne nasledujúce kritéria:

    • Systém musí definovať a riadiť prístup medzi pomenovanými používateľmi a pomenovanými objektami. Musí tiež umožňovať používateľom definovať zdieľanie týchto objektov s inymi používateľmi alebo skupinami.
    • Systém musí vyžadovať aby sa používatelia najprv identifikovali a autentifikovali (napríklad heslom) pred začatím vykonávania ďalších činností. Systém musí chrániť autentifikačné informácie pred prístupom neautorizovaných používateľov.
    • Systém musí chrániť svoj kód a svoje interné údaje pre vonkajším prístupom a modifikáciou.
    • Systém musí byť schopný periodicky zabezpečovať svoju integritu.

    Trieda C2 - Ochrana riadením prístupu


         Oproti triede C1 musí systém spĺňať tieto kritéria:

    • Pri alokácii alebo realokácii pamäťového objektu musí byť predchádzajúci obsah vymazaný. Aj ked sa jedná o kryptované údaje.
    • Systém musí chrániť záznami auditingu (sledovania) pred modifikáciou, neautorizovaným prístupom alebo zmazaním. Systém musí byť schopný zaznamenávať tieto udalosti:
      • použitie identifikačného a autentifikačného mechanizmu
      • získanie prístupu k objektu
      • zrušenie objektu
      • činnosti súvisiace s administráciou systému
    • Pre každú udalosť musí záznam obsahovať dátum a čas udalosti, identifikácia požívateľa, typ udalosti, záznam o úspechu alebo neúspechu udalosti. Ak sa jedná o identifikáciu alebo autentifikáciu musí záznam obsahovať aj zdroj žiadosti. Pri záznamoch týkajúcich sa objektu musí záznam obsahovať aj identifikáciu objektu.

    Kategória B - Povinná (mandatory) ochrana


         Hlavnou požiadavkou na systémy v tejto kategórii je ochrana integrity bezpečnostných značiek (labelov) používaných na uplatňovanie pravidiel povinného riadenia prístupu.

         Systémy v tejto kategórii musia mať bezpečnostné značky na väčšine dátových štruktúr v systéme.

    Trieda B1 - Ochrana bezpečnostnými značkami


         Trieda B1 vyžaduje všetky vlastnosti vyžadované triedou C2. Navyše musí systém triedy B1 uplatňovať bezpečnostné značky a povinné riadenie prístupu k pomenovaným objektom. Musí byť tiež schopný značkovať exportované informácie bezpečnostnými značkami.

         Musia byť odstránené všetky chyby nájdené pri testovaní. Minimálne požiadavky na systémy triedy B1 navyše oproti triede C2 sú:

    • Bezpečnostné značky spojené so subjektom alebo pamäťovým objektom musia byť spravované systémom a tvoria základ povinného riadenia prístupu. V prípade importovania neoznačených informácií musí systém požiadať autorizovaného používateľa aby informáciam priradil bezpečnostnú značku. Všetky takéto akcie musia byť sledovateľné.
    • Bezpečnostné značky musia presne zodpovedať úrovni dôvernosti objetov ku ktorým sú priradené.
    • Každý komunikačný kanál a I/O zariadenie musí byť označené ako jednoúrovňové alebo viacúrovňové. Zmenu označenia je možné urobiť len manuálne a musí byť sledovatelná systémom. Informácie prenášané po viacúrovňovom kanále sa prenášajú spolu so svojou bezpečnostnou značkou, ktorá musí byť vždy uložená na tom istom médiu ako samotná informácia. Jednoúrovňové kanály neprenášajú bezpečnostné značky.
    • Systém musí uplatňovať povinné riadenie prístupu nad vštkými subjektami a pamäťovými objektami, ktoré sú pod jeho kontrolou. Systém musí podporovať dva alebo viac bezpečnostných úrovní a tiež nehierarchické kategórie.
      Subjekt môže čítať objekt iba ak bezpočnostná úroveň subjektu je vyššia alebo rovná úrvni objektu a súčasne má subjekt všetky nehierarchické kategórie objektu.
      Subjekt môže zapisovať do objektu iba ak bezpočnostná úroveň subjekt je nižšia alebo rovná úrvni objektu a súčasne má subjekt všetky nehierarchické kategórie objektu.

    Trieda B2 - Štruktúrovaná ochrana


         Požiadavky navyše oproti triede B1:

    • Pri zmene bezpečnostnej úrovne používateľa musí byť tento používateľ okamžite upozornený na zmenu, ak je práve do systému prihlásený. Koncový používateľ musí byť schopný vyžiadať si od systému svoju kompletnú bezpečnostnú značku.
    • Systém musí podporovať priradenie maximálnej a minimálnej bezpečnostnej úrovne fyzickým zariadeniam.
    • Systém musí podporovať bezpečnú komunikačnú cestu k používateľovi aby sa mohol bezpečne prihlásiť. Takáto komunikácia musí byť iniciovaná výlučne používateľom.
    • Systém musí podporovať oddelenie funkcií operátora a administrátora.

    Trieda B3 - Bezpečnostné domény


         Systémy triedy B3 musia spĺňať požiadavku malého referenčného monitora, ktorý sprostretkúva všetky prístupy subjektov k objektom. Významnou snahou návrhu takéhoto systému musí byť snaha minimalizovať zložitosť bezpečnostného systému. Systém musí byť vysoko odolný voči prieniku. Minimálne požiadavky navyše oproti nižším triedam sú:

    • Musí poskytovať mechanizmy na zabezpečenie aby sa systém po páde alebo inej nekontinuite zotavil bez narušenia ochrany.

    Kategória A - Overená ochrana


         Kategória A je chrakteristická použitím formálnych overovacích metód bezpečnosti na zaistenie, že bezpečnostné prvky systému sú schopné efektívne chrániť dôverné informácie v systéme.

    Trieda A1 - Overená schéma


         Na systémy triedy A1 sú z funkčného hľadiska kladené také isté požiadavky ako na systémy triedy B3. Teda niesu vyžadovane žiadne ďalšie vlastnosti. Jediným rozdielom je nutnosť analýzy založenej na formálnom návrhu a overenia, že je bezpečnostný sytém správne implementovaný.

    Zabezpečené (trusted) systémy


         Niektoré UNIXy sú v štandardnej konfigurácii málo bezpečné. Staršie UNIXy nemali ani shadow passwody. To umožňovalo aby každý použávateľ mohol čítať kryptovanú formu hesiel, čo samozrejme nevyhovuje ani triede C1.

         Moderné UNIXy už spĺňajú požiadavky triedy C2 okrem sledovania (auditingu), preto niektorý predajcovia UNIXov dodávajú aj C2 balík vylepšujúci sledovanie.

         UNIX môže dosiahnúť B1 so zmenami vo funkčnosti. Na dosiahnutie B2 je potrebná zmena základných štruktúr a mechanizmov. B3 vyžaduje koncepčné a štrukturálne zmeny.

         DOS/Windows/Windows95 nedosahujú žiadnu triedu, pretože nemajú vôbec riešenú bezpečnosť.

         Windows NT 3.5 (service pack 3) dosiahol C2 v auguste 1995, ale iba v konfigurácii bez siete a bez Windows on Windows (WOW) subsystému.

         Windows NT 4.0 SP3 majú ITSEC E3/F-C2, čo približne zodpovedá triede C2 TCSEC. Túto úroveň má Workstation aj Server v sieťovej konfigurácii.

    Prehľad niektorých zabezpečených operačných systémov


    Trusted Ultrix MLS+


         Trusted Ultrix MLS+, Digital Research, teraz vlastnené firmou Compaq - bezpečnostná úroveň B1. Je to vlastne DEC OSF/1 pre systémy s architektúrou Alpha, vylepšený o bezpečnostné prvky. Skladá sa z častí ako Mach kernel z Carneige Mellon University, častí BSD 4.3 a 4.4 a samozrejme, DEC OSF/1.

         Bezpečnosť je riešená cez TCB, čiže Trusted Computer Base. Je to sada ochranných mechanizmov, ktoré sú za bežných okolností pre aplikáciu transparentné. Skladajú sa zo zložiek: DAC (Discretionary Access Control) rozširuje prístupové práva unixu "vlastník, skupina, ostatní" o access listy, ktoré môže vlastník objektu definovať pre každý objekt (súbor, adresár, zdieľaná pamäť) zvlášť. MAC (Mandatory Access Control) je mechanizmus, ktorým sa dá pre procesy a niektoré objekty (sockety, súbory, okná) definovať ich dôležitosť z hľadiska bezpečnosti a tým aj striktnosť opatrení pri predpokladanom útoku. ILs (Information Labels) sa pridávajú k súborom a procesom, aby tieto mohli dynamicky meniť svoju "citlivosť" pri zmenách.

         Pri procese je okrem bežných ID (uid, euid, gid, egid, doplnkové skupiny) aj luid (login uid), zoznam privilégií, "sensitivity" a "information" labels. Ako náhradu za konto "root" systém poskytuje 4 nové administratívne kontá:

    • Information Security System Officier - prideľujúci práva užívateľom, programom a procesom, udržiava aktuálne "sensitivity labels" a má prístup k informáciám o stave systému (syslog).
    • System Administrator - zodpovedný za všeobecnú správu systému a vytváranie knt. Je tiež zodpovedný za poskytovanie autorizácií na využívanie určitých služieb užívateľom pre ISSO.
    • Operator - zodpovedný za každodennú údržbu systému.
    • Network Information System Security Officer (Net ISSO) - aktualizuje zoznam počítačov a k ním prislúchajúcich bezpečnostných atribútov.

         Zaujímavé z hľadiska tohto návrhu je LUID, ktoré slúži na presnú identifikáciu útočníka, ktorý sa pokúšal porušiť bezpečnostnú integritu systému.

    Trusted Solaris


         Trusted Solaris, SUN - bezpečnostná úroveň B1. Založený je na SunOS 4.1.3. Z hľadiska bezpečnosti boli právomoci konta root rozdelené do právomocí jednotlivých skupín. Návrh pritom nelimituje ich počet a právomoci jednotlivých skupín sa na rozdiel od Trusted Ultrix MLS+ dajú nastavovať. Štandardne sú však preddefinované len tri skupiny:

    • System Administrator - má na starosti správu tlačiarní a počítačov, čiže úlohu Network Information Security Officer z Ultrixu a navyše "bezpečnostne nepodstatnú" časť práce s užívateľskými kontami ako definovanie časov prihlasovania a podobne.
    • System Operator - robí najmä zálohy systémových súborov.
    • Root - voliteľná skupina, ktorá slúži na inštalovanie niektorých komerčných aplikácií, ktoré vyžadujú pre úspešnú inštaláciu UID 0. Na editáciu všetkých práv má prepracované menu.

         Na návrhu je zaujímavé to, že rieši aj priebeh bootovania a umožňuje nastaviť heslo, ktoré je vyžadované pri zmene parametrov bootovania.

    Trusted UNICOS


         Trusted UNICOS od Cray Research, teraz vlastnených firmou Silicon Graphics - úroveň B1. Je to tiež MLS (Multi Level System), založený na Unicos 8. Riešenie je založené, podobne ako v Trusted Solarise, na access listoch (ACL) a sensitivity labels, ktoré slúžia ako vstupná informácia pre systém "discretionary access control" (DAC). Na rozdiel od predchádzajúcich riešení tiež poskytuje bezpečnosť sieťových operácií pomocou kryptografického protokolu, generujúceho "information labels", autentifikačnej informácie, pribaľovanej do IP paketov. Voliteľne sa dá k systému zakúpiť generátor jednorázových hesiel pre zvýšenie bezpečnosti prihlasovania. Administrátorské práva sa dajú voľne definovať pre nelimitovaný počet užívateľov.

    TMach


         TMach, projekt TIS (Trusted Information Systems) - bezpečnostná úroveň B3. Ide iba o bezpečnosť kernelu samotného, projekt nerieši problém bezpečnosti systému, ktorý je na tomto kerneli prevádzkovaný.

    Literatúra


    http://www.boran.com/security/home.html

    Príloha


    OS Level Cert. date Notes
    Trusted XENIX 3.0 B2 8.4.92 Unix OS. Trusted Information Systems.
    Trusted XENIX 4.0 B2 17.9.93 Unix OS. Trusted Information Systems.
    Harris CX/SX 6.2.1 B1 18.9.95 Unix OS. Networking is evaluated.
    HP-UX BLS, 9.09+ B1 13.4.95 Unix OS. Standard HP-UX software can run on this system.
    Trusted IRIX/B V4.0.5EPL B1 6.2.95 Unix OS.
    NT 3.5 Service Pk.3 C2 31.7.95 Proprietary OS. Microsoft. Networking and the Win16 subsystem are not evaluated.
    Trusted Solaris V1.1 B1 7.10.94 CMW. Sun.
    OpenVMS VAX V6.1 C2 14.7.95 Proprietary OS. DEC.
    Digital Unix (OSF) C2 ?   Unconfirmed.
    Ultrix MLS+ B1 21.4.93 Proprietary OS. DEC.
    AS/400 with OS/400 V2, R3, M0 C2 5.10.95 Proprietary OS. IBM.
    NetWare 4 Server Component and Network System C2 under eval. Networking is being evaluated. Novell.
    OS 1100/2200 Release SB4R7 B1 20.4..94 Proprietary OS. Unisys.
    CA-ACF2 R6.1 with MVS/ESA C2 14.7.95 Proprietary OS. Computer Associates & IBM.
    CA-ACF2 R6.1 with CA MAC and MVS/ESA B1 14.7.95 Proprietary OS. Computer Associates & IBM.
    OS Level Cert. date Notes
    Novell Trusted Netware 4 E2 F-C2 pending  
    Banyan Vines E2 F-C2 pending  
    Argus B1/CMW E3 F-B1 Sept.99 Add-on product for Solaris2.4
    Argus C2/TMW E3 F-C2 Sept.99 Add-on product for Solaris 2.4
    Harris Secure UNIX E3 F-C2 B1, B2 pending  
    Trusted Solaris 2.5.1 E3 F-B1 Sep.98  
    Solaris 2.6 E3 F-C2 Jan.99  
    Microsoft NT4 SP3 E3 F-C2 Mar.99

    NT Workstation & NT Server. See Microsoft announcement, ITSEC Report, ITSEC Certificate.

    IBM Shield for AIX E2 F-C2 pending Add-on product for AIX
    IBM CMW for AIX E3 F-B1 pending Add-on product for AIX
    DEC MLS+ 3.1 E3 F-B1 Oct.96  
    HP-UX Version 10 E3 F-C2 Feb.99  
    SCO C2+ E3 F-C2 pending  
    SCO CMW+ E3 F-B1 Sept.99  
    Operating System Security in default configuration How secure can it be made? Notes
    Windows / DOS none Minimal Nightmare! ;-}
    Windows 95 none Minimal Restrictive system and user policies in a networked environment can close many, but not all holes.
    Windows NT 3.5 good, 3.51 better.
    4.0 Good
    Very good? Promising, but still newish .... Nice auditing & logging features. Passwords are encrypted during transmission (though imperfectly).  The chief weaknesses discovered in recent years were buffer overflows, denial of service attacks and bad design/ implementation on the application level (IIS & Browsers in particular).
    Having to reboot it during installs & major configuration changes makes it a pain for high availability (I've not tested the clustering yet).
    Administration is via a GUI, but some functions are available on the command line (especially in the resource kit). Logon domain structure is flat not hierarchical. Not very compatible with UNIX.
    IBM AIX good very good GUI for most admin tasks, but many tasks are difficult (AIX is very non standard). Patches not publicly available, little public discussion of problems (this is a bad thing!). Security patches have been made available in Switzerland 2 months after they were released in the USA!! However AIX has some good security features (e.g. ACLs), especially V4.1 with NETSP..
    DEC Ultrix
    OSF/1
    weak unknown Ultrix: DEC's old version of UNIX was very open (insecure).
    OSF: Author has little experience, but has noted that OSF/1.3 had a default tftp configuration which is not secure.
    Digital UNIX good? TBD Later versions of OSF are called Digital UNIX. It can be configured as "C2 conform" during installation.
    HP-UX average/good very good C2 is possible. Utilities like predictiv and remwatch allow regular security checking. The tcp_wrappers are fully integrated in inetd.sec.
    Sun Solaris 1.x weak pretty good BSD based, "university standard". Patch management difficult, no shadow passwords.
    Sun Solaris 2.x good very good SVR4 based, "commercial standard". Much more secure than Solaris 1.x (SunOS). Administration easier. Security patches are well distributed, lots of knowledge on the Internet. C2 and security monitoring software is delivered as standard. Good clustering software. V2.7 has lots of new kernel parameters for defending agains DoS attacks and Buffer Overflows.
    Free for research or not-for-profit organisations (Solaris 2.7).
    Solaris is the predominant commerical UNIX OS.
    Recommended.
    Linux (S.U.S.E 6.1) good very good Linux has come along way, it is the platform of choice for many. Administration is easier (YAST tool). Easier to install (but could be easier!). Security patches are well distributed, lots of knowledge on the Internet. Cheap. Recommended, but disable unneeded services and keep patches for services exported to the Internet up-to-date. (e.g. IMAP, POP3, DNS, HTTP). Security tools such as tripwire and SSH are bundled with Suse.
    OpenBSD     A BSD derivative that has been thoroughly analysed for beffer overflows etc. Security is a key element of this OS. Many security tools are bundled (NAT, filtering, Ipsec, OpenSSL). Crypto is internationally strong, since it is based in Canada.
    Available for many architecture form PC to SPARC.
    Recommended: I've not used OpenBSD on SPARC with Apache & it seems to work well. Some tools don't want to compile.
    Links: Hardening, OpenBSD  Tools

  • Počet prístupov na túto stránku od 11.8.2000 je 7266 Marek Zelem