Viri li ko kroz prozor? |
Slobodan R. Ljubišić |
Aksiomi računarstva kažu da memorije i brzine nikada nije dosta, a što se tiče sigurnosti podataka, ne postoje takve stvari kao što su bezbedna računarska mreža ili bezbedan kompjuter. Ipak, autori operativnih sistema se trude da napadačima barem zagorčaju život... |
Bezbedan kompjuter je, ako bolje razmislimo, samo onaj kome je izvađen flopi disk, zatim je isključen iz struje, a povrh svega je zaključan u sefu sa vratima debelim barem pola metra. Nažalost, tako "siguran" kompjuter nije baš od neke koristi. Postoji li neki način da se podaci na "svakodnevnom PC-ju" zaštite od radoznalih očiju i zlonamernih prstiju? Taj način ćemo upoznati na primeru Windows NT -a, jednog od najbezbednijih operativnih sistema za PC računare.
Rent-a-programer
Još kada je po prvi put predstavljen računarskoj javnosti, NT je privukao veliku medijsku
pažnju. Uz uvažavanje činjenice da se radi o dobrom konceptu i kvalitativno operativnom
sistemu, čulo se i dosta kritika na račun procesorskih i memorijskih resursa koji su mu
neophodni za iole komforniji rad. Nisu bile usamljene ni izjave da NT pokušava da pomiri
nespojivo: multitasking Unix -a i komforni korisnički interfrejs Windows -a. U
međuvremenu su cene memorije i procesora pale, pa je "hibrid" Windows -a, VMS-a i
Unix -a postao jedan od najznačajnijih operativnih sistema današnjice.
Ubrzo je i istina izišla na svetlost dana: iako je nesumnjivo Microsoft -ovo "mezimče", NT
nije delo njegovih programera. Ova firma je za potrebe pisanja operativnog sistema na kome će
bazirati svoju razvojnu strategiju do 2000. godine unajmila Dave Cutler -a i njegovu
programersku ekipu, sa zadatkom da napišu dobar pre-emptive multitasking operativni
sistem, koji će raditi i na CISC i na RISC platformama, podržavati multiprocesorske mašine i
zadržati kompatibilnost sa DOS, Windows, Posix i starijim OS/2 aplikacijama.
Dave Cutler i njegovi prijatelji behu isti oni, koji su pisali legendarni VAX/VMS, kao i
operativni sistem za još legendarniji PDP-11. Pre nego što je napisana prva linija koda, Gejts
i Katler su dogovorili da NT pre svega mora biti konceptualno bezbedan operativni sistem,
kako od eventualnih havarija hardvera, tako i u pogledu zaštite podataka od neovlaštenog
pristupa. Biti konceptualno bezbedan, značilo je da su sigurnosni mehanizmi morali biti deo
kernela NT-a, a time i deo same filozofije rada ovog operativnog sistema. To je razlog zašto su
pojedini njegovi delovi ( NT Executive ) definisani kao objekti, iako sam NT nije
objektno-orijentisan operativni sistem.
Čemu toliko insistiranje na bezbednosti? Zar nas nije DOS, bez ikakvih bezbednosnih mehanizama,
sve ovo vreme lepo služio? Takvo razmišljanje "prolazi" samo ako kompjutere koristimo kod kuće,
za zabavu i na njima ne držimo nikakve važne ili poverljive podatke. Međutim, ima korisnika
kojima je bezbednost podataka od neovlašćenog pristupa jedan od ključnih, ako ne i jedini
faktor prilikom odlučivanja za ovaj ili onaj operativni sistem. Oni moraju koristiti isključivo
takve operativne sisteme. To su pre svega vojska, policija i sve državne institucije, kao i
druge organizacije širom Amerike ali i celog sveta, koje se, prilikom nabavke računarske opreme
i softvera, na njih ugledaju. I u sferi biznisa postoji konstantna potreba da na efikasan način
ograniči pristup finansijskim podacima i poslovnim tajnama. Sve to zajedno je, možete
pretpostaviti, ogromno i vrlo platežno tržište na koje Microsoft ozbiljno računa.
Ko postavlja standarde?
Da bi sve bilo "po propisu", Microsoft je ubrzo potpisao i formalan ugovor o intezivnoj
saradnji sa NCSC-om kako bi NT jednog dana mogao dobiti etiketu sigurnog operativnog sistema.
National Computer Security Centar (NCSC) je odeljenje američke Agencije za nacionalnu
bezbednost (NSA) i Ministarstva odrbrane (DoD) koje je specijalizovano za pitanja u vezi s
bezbednošću kompjuterskih sistema, što je delom i odgovor na pitanje ko postavlje standarde u
ovoj oblasti. Odgovor je delimičan zbog toga što neki zvanični standardni na globalnom nivou ne
postoje, a razlog je verovatno to što se u različitim zemljama ovoj problematici pristupa na
različite načine, te se radi o uvek škakljivim pitanjima sigurnosti, pa mnogi propisi, ako i
postoje, obavijeni velom tajne.
Nezvaničan standard, po kome se mnogi ravnaju (po sistemu: ako je dovoljno dobro za Amerikance,
dobro je i za nas), je publikacija pomenutog NCSC-a koja se zove Trusted Computer System
Evaluation Criteria , poznata pod nazivom "narandžasta knjiga" ( Orange book ), zbog boje
korica.
To je samo jedna od publikacija NCSC-a koja obrađuje bezbednost neumreženih kompjuterskih
sistema. Tu je i "Crvena knjiga" ( Red Book ), koja se bavi problematikom bezbednih sistema
u mrežnom okruženju, zatim "Plava knjiga" ( Blue Book ) koja se bavi bezbednošću pojedinih
podsistema i komponenti unutar kompjuterskog sistema, kao i "Ljubičasta", "Roze", "Braon",
"Svetlo zelena" i mnoge druge, od kojih svaka obrađuje po jedan zaseban aspekt bezbednosti, a
zajedno čine takozvanu Rainbow (duga) seriju publikacija.
Klase bezbednosti
Po NCSC, svi kompjuterski sistemi se, kada se o njihovoj bezbednosti radi, mogu podeliti u 4
klase: D, C, B i A. U D klasu spadaju svi sistemi koji nemaju neku vrstu zaštite. Možda je
najbolji primer DOS (ili Macintosh sa MacOS -om) - dovoljno je da pronađete prekidač
kojim se kompjuter pali i svi podaci i programi na disku stoje vam na raspolaganju.
Sledeća je klasa C1, koja već pruža daleko veći stepen zaštite: osim što pronađete prekidač,
morate znati i odgovarajuću lozinku da biste uopšte mogli da pristupite operativnom sistemu.
Čak i ako lozinku znate, pojedini resursi mogu da vam budu nedostupni. Mora postojati i
mehanizam zaštite od slučajnog (ili zlonamernog) uništavanja sistemskih programa, a tipični
predstavnici ove grupe su razne verzije Unix -a.
C2 klasa mora da beleži sve korisničke aktivnosti ( audit log ), mora imati mogućnost
ograničavanja nekih operacija na pojedine korisnike i onemogućavati da novi procesi koriste
podatke u memoriji koje su slučajno ostavili stari procesi. Tipični predstavnici operativnih
sistema koji, pod određenim uslovima, mogu biti deo jedne C2 sertifikovane instalacije su
Xenix , VAX/VMS (4.3) i Windows NT (verzije 3.51 i 4.0).
B klase (B1, B2, B3) nude još veći stepen sigurnosti. Nivo pristupa je definisan na nivou
svakog resursa unutar kompjuterskog sistema, čije sve komponente moraju biti instalirane u
fizički zaštićenim prostorijama. Da bi dobio neki od sertifikata klase B, sistem mora proći
mnogo rigoroznije testiranje i imati priloženu dokumentaciju u kojoj mora biti striktno
navedeno koji su bezbedonosni mehanizmi implementirani, pa čak i matematički dokazana njihova
efikasnost. Neki od operativnih sistema koji imaju ovakve sertifikate su: AT&T V/MLS (B1),
Trusted Xenix (B2) i Honeywell XTS-200 (B3). Ima naravno i drugih, manje poznatih,
a zanimljivo je da samo Trusted Xenix radi na PC računarima; svi ostali zahtevaju
mainframe računare.
Na kraju, gotovo kurioziteta radi, pomenimo da sistemi koji zadovoljavaju A1 sertifikat nisu
oni u sefu sa isključenim napajanjem. Oni se ne razlikuju mnogo od B3, osim što imaju tačno
propisanu bezbedonosnu proceduru prilikom transporta i montaže kod krajnjeg korisnika, kao i
obaveznu detaljnu studiju u kojoj se dokazuje da određeni sistem sa svojim karakteristikama u
potpunosti zadovoljava bezbednosne kriterijume koje mu konkretna instalacija postavlja.
Pojednostavljeno rečeno, ovakvi sistemi se ne prave "konfekcijski", već po meri krajnjeg
korisnika, i maksimalno su prilagođeni svim njegovim potrebama, pa samim tim i onim koji se
tiču bezbednosti. Takvi su, recimo, Honeywell SCOMP i Boeing Aerospace SNS System ,
o kojima se osim naziva jako malo zna.
Ovakve zaštite nam svakako nisu neophodne, a teško i da bismo za njih imali para. To, međutim,
ne znači da se uz malo razmišljanja i minimalna ili nikakva ulaganja ne može postaviti veoma
dobar sistem zaštite kakav je recimo C2. I to na PC računaru, sa instaliranim Windows NT
operativnim sistemom.
Kako se NT tu uklapa?
NT se uklopio u ovu priču avgusta 1995, kada je NT 3.5 sa instaliranim Service Pack -om 3,
nakon tri godine razvoja i testiranja, formalno dobio C2 sertifikat. Ako je verovati izjavama
pojedinih MS zvaničnika, pojedini delovi NT-a odgovaraju i dalekoj strožoj B2 kategoriji.
To nipošto ne znači da je svaki računar na kome je instaliran NT 3.5 sa Service Pack -om 3
automatski C2 sertifikovan. NT može obezbediti uslove za C2 instalaciju, ali sam po sebi
je ne garantuje, što se vrlo često previđa, ne samo kod NT-a, već i kod drugih (mrežnih)
operativnih sistema. Zato je ispravno reći da postoje operativni sistemi koji u određenim
instalacijama i pod određenim uslovima mogu zadovoljiti kriterijume C2 sertifikovane
instalacije, ali da ni jedan od njih, sam po sebi, ne pruža takvu bezbednost.
Kod NT-a je obezbeđeno da se svaki korisnik mora jednoznačno identifikovati pred operativnim
sistemom, tj. mora uneti svoje korisničko ime i lozinku da bi mu bio omogućen rad na tom
računaru. Prilikom kreiranja korisnika na NT-u, dodeljuje mu se tzv. SID ( Security ID ),
koji je u suštini broj jedinstven za svakog korisnika. SID služi kao "pasoš" za pristup
pojedinim resursima, jer ga operativni sistem koristi prilikom prosuđivanja ima li određeni
korisnik prava da pristupa nekim resursima na tom kompjuteru ili ne.
Sledeća vrlo bitna osobina C2 sistema je da operativni sistem mora biti sposoban za beleženja
svih aktivnosti svakog pojedinog korisnika i da pristup tim beleškama (log fajlovi) bude
dozvoljen samo sistem administratorima, što je kod NT-a takođe obezbeđeno.
Podaci koji se nalaze u memoriji su zaštićeni, a jedan proces ne može pristupati podacima koji
pripadaju drugom, što važi i za druge resurse (direktan pristup disku, portovima itd). Jedna od
posledica ovoga je da, ako neke podatke slučajno obrišete, može slobodno zaboraviti na njih: na
C2 sertifikovanim sistemima ne postoji UNDELETE komanda, poznata iz starog dobrog DOS-a. Ako
imate neki od sličnih utility programa na vašoj NT mašini - automatski gubite C2
sertifikat.
Naposletku, vlasniku bilo kog resursa (npr. neki direktorijum) na NT C2 sertifikovanom
računaru, mora biti omogućeno da dalje sam kontroliše prava pristupa drugih korisnika tom
resursu, prema vlastitom nahođenju i potrebi. Ovo je omogućeno preko NTFS fajl sistema,
pomenutih SID-ova i ACL ( Access Control List ) koja postoji za svaki resurs na računaru.
Ako je SID "posoš" za pristup resursu računara, onda je ACL mesto gde se proverava da li je u
"pasoš" upisana odgovarajuća "viza" za taj resurs. Naravno, kod NT-a administrator može uvek
pristupiti svim resursima i preuzeti vlasništvo nad njima, ali ga ne može vratiti nazad
originalnom vlasniku, već ga vlasnik sam mora preuzeti od administratora. Ovako je izbegnuto da
administrator pristupa podacima koje je neko drugi kreirao, a da vlasnik to ne primeti.
C2 sertifikatom je obuhvaćena kako Server tako i Workstation verzija NT-a, ali je
važno napomenuti da je ovaj drugi razmatran samo kao radna stanica ( node ), a ne u mrežnom
okruženju. Dakle, razmatrana je njihova bezbednost po "narandžastoj", ali ne i "crvenoj"
knjizi. To praktično znači da, ako se držite određenih uputstava, možete od vašeg NT
Workstation -a ili Server -a napraviti C2 sertifikovanu instalaciju, ali ako kojim
slučajem u kompjuter dodate mrežnu karticu ili modem, gubite C2 etiketu.
Lov na "Crvenu knjigu"
Ako ste uživali gledajući film sličnog naziva, sa Šon Konerijem u glavnoj ulozi, siguran sam da
će vam se svideti ništa manje uzbudljiva priča koja sledi. Akteri su večiti rivali i
konkurenti, Microsoft i Novell , a kada je o njima reč, ni niski udarci nisu
zabranjeni. U suštini svega je borba za tržište, koje može imati presudnu ulogu na ishod "tihog
rata" za nametanje vlastite koncepcije umrežavanja PC računara, koje ove dve firme odavno vode.
Radi se pre svega o Novell -ovim izjavama da je NetWare jedini mrežni operativni
sistem za PC računare koji ima C2 sertifikat, dok ga NT nema, kao i o Microsof -tovim
izjavama da je NT Orange i Red book sertifikovan, te da je NetWare taj koji
ne zadovoljava ni jedan od ovih kriterijuma. Neko nije u pravu, ali ko? E, to nije lako
utvrditi! Ako uzmete jedan časopis ili knjigu. naći ćete da je Novell u pravu, dok ćete u
drugoj knjizi pročitati da je ipak Microsoft -ova verzija istinita. Ni potraga po
Internetu neće uroditi plodom - naićićete na mnogo kontradiktornih informacija, a otkrićete da
i sam NCSC nije baš nešto voljan da pruža detaljnije informacije. To je možda i razumljivo ako
se uzme u obzir o kakvoj je organizaciji reč, kao i količina sličnih pitanja koja im pristiže
svaki dan.
Pažljiva analiza dostupnih izvora informacija pokazuje da su i NetWare 4.1 i NT (3.5-4.0)
tek u procesu ocenjivanja sigurnosti po "crvenoj knjizi" (mrežno okruženje) i da do sada ni
jedan od ova dva operativna sistema nije dobio zvaničnu potvrdu da zadovoljava sve kriterijume.
To nimalo ne smeta Microsoft -u ni Novell -u da spekulišu sa time ko je bliži
zvaničnoj potvrdi, kao i da povremeno obznane probleme na koje je konkurentski operativni
sistem naišao u ovom procesu.
Argumentacija koju Novell najčešće poteže je da NT ne može biti sertifikovan jer mu javni
i tajni ključ za autorizaciju lozinki putuju kroz mrežu prilikom logovanja korisnika. Ovo je
netačno, jer NT koristi tzv. challenge-response princip: server nasumice generiše neki
niz karaktera, šalje ga kroz mrežu do klijenta koji ga kodira (kriptuje) koristeći lozinku koju
je korisnik uneo i takav kodiran niz se vraća do servera, koji nad originalnim nizom vrši isto
kodiranje, koristeći lozinku korisnika koju drži u bazi. Ako se ta dva kodirana niza
podudaraju, korisnik je autorizovan.
S druge strane, Microsoft ističe da NetWare ne rezerviše međusobno zaštićene delove
memorije za aplikacije, što uostalom ljudi iz Novell -a ne kriju, pa je izvesno da je
barem po ovom pitanju bilo prilično problema kada se o C2 certifikatu i NetWare -u radi.
Ono što je dobro za performanse - a to je da sve komponente sistema rade u privilegovanom modu
procesora - pokazalo se lošim za bezbednost i pouzdanost operativnog sistema.
Da bi stvari bile još komplikovanije, NetWare 4.1 je 1995. godine u proceduru ocenjivanja
sigurnosti ušao sa dodatnim softverom (DOS klijenti i sistemski softver na serveru) i hardverom
(disk kontroleri na serveru i mrežne kartice sa kripto zaštitom za sve mrežne stanice) firme
Cordant Systems , jer sam ne bi mogao zadovoljiti osnovne kriterijume koje C2 postavlje.
Dakle, u slučaju da verzija 4.1 bude C2 sertifikovana, to će biti sa klijentima i delom
sistemskog softvera koje nije pisao Novell i sa dodatnim hardverom koji nije jeftin, ali
je neophodan, pošto NetWare nema smisla ocenjivati bez instalirane mrežne podrške.
Smatram da je najveći problem u tome što NetWare u startu nije koncipiran da bude
bezbedan, već efikasan i brz mrežni operativni sistem. U vreme kada smo se "borili" sa skupim i
slabim hardverom, to je svakako bilo pozitivno. Zato sumnjam da se naknadnim dodavanjem
"bezbednosnih" komponenti i mehanizama može ostvariti onakva vrsta zaštite kakvu recimo pruža
NT ili bilo koji drugi moderan operativni sistem. Svaki lanac je jak koliko i najslabija karika
u njemu, a NetWare -ova slaba karika je njegova koncepcija monolitnog mrežnog operativnog
sistema. Sve ovo pod uslovom da modifikacije firme Cordant Systems (ili CordantWare
kako ga već nazivaju) ne preraste u novi operativni sistem koji praktično samo emulira
NetWare.
Pitanje je, uostalom, i da li će NT proći Red Book C2 sertifikat bez nekog dodatnog
hardvera, kao što bi bile mrežne kartice sa automatskim kriptovanjem mrežnog saobraćaja. Ovakve
kartice su vrlo skupe i većini korisnika suvišne, a najčešće nije moguće obezbediti da se
mrežni kablovi postavljaju u fizički zaštićenim kanalima, a mrežni serveri u prostorijama sa
kontrolisanim pravom pristupa. Ostaje da sačekamo i vidimo postoji li neki alternativni način i
kompromisno (softversko?) rešenje da se NT mrežno okruženje učini sigurnijim, što bi svakako
doprinelo njegovoj popularnosti.
U nastavku...
Pitanje bezbednosti kompjuterskih sistema je očito veoma kompleksno, pogotovo kada se postavlja
u realnim uslovima i na PC računarima. Najčešće nije moguće fizički kontrolisati i ograničiti
pristup računaru, kao što najčešće nije prihvatljivo ni izvaditi flopi diskove. Kako se, uz
malo strpljenja, od vašeg PC računara sa Windows NT -om može napraviti vrlo bezbedan
sistem, videćete u sledećem tekstu. Pokazaćemo kako da maksimalno iskoristite sve prednosti
NTFS fajl sistema, kako da ne strahujete za bezbednost podataka čak i ako flopi disk nije
uklonjen, kako da zaštitite vašu Registry bazu, nadmudrite viruse i trojance, izaberete
efikasne lozinke, mudro konfigurišete TCP/IP i obezbedite se od "hakerisanja" sa Interneta...
Možda ovako zaštićen sistem i neće biti u skladu sa svim kriterijumima "narandžaste" i "crvene"
knjige, ali će podaci u njemu svakako biti daleko bezbedniji. I to bez zaključavanja u sef!
|