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í.
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 |