|
|||||||||||||
|
|
||||||||
Slobodan Ljubišić | |||
Viri li ko kroz prozor? |
|||
Postoji li neki način da se podaci na "svakodnevnom PC-ju" zaštite od radoznalih očiju i zlonamernih prstiju? Taj način proverio je Slobodan Ljubišić, na primeru Windows NT-a. |
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 radoznalaza i zlonamernika? Taj način ćemo upoznati na primeru Windows NT-a, jednog od najbezbednijih operativnih sistema za PC računare. Rent-a-programerNT je u startu privukao veliku medijsku pažnju. Uz uvažavanje činjenice da se radi o dobrom konceptu i kvalitetnom operativnom sistemu, čulo se i dosta kritika na račun hardverskih 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 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 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 odbrane (DoD) koje je specijalizovano za pitanja u vezi s bezbednošću kompjuterskih sistema, što je delom i odgovor na pitanje ko postavlja standarde u ovoj oblasti. Odgovor je ipak samo 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. Zato su mnogi propisi i standardi, ako i postoje, obavijeni velom tajne. Nezvaničan standard, po kome se mnogi ravnaju (ako je dobro Amerikancima, dobro je i nama), je publikacija 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 Rainbow (duga) seriju publikacija. Klase bezbednostiPo 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 su 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).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 konkretna instalacija postavlja. Pojednostavljeno rečeno, ovakvi sistemi se ne prave "konfekcijski" već isključivo po meri krajnjeg korisnika, i maksimalno su prilagođeni njegovim potrebama, pa samim tim i onim koji se tiču bezbednosti. Takvi su, naprimer, Honeywell SCOMP i Boeing Aerospace SNS System, o kojima se osim njihovih imen, 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, sam po sebi, ne pruža takvu bezbednost. Kod NT-a je obezbeđeno da svaki korisnik 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 Security ID, koji je jedinstven broj za svakog korisnika. SID služi kao "pasoš" za pristup pojedinim resursima, jer ga operativni sistem koristi prilikom prosuđivanja ima li korisnik prava da pristupa određenim resursima na tom kompjuteru. 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 NT takođe obezbeđuje. Podaci koji se nalaze u memoriji su zaštićeni, a jedan proces ne može pristupati podacima koji pripadaju drugom. Jedna od posledica ovoga je da, ako neke podatke slučajno obrišete, možete 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 "pasoš" za pristup resursu računara, onda je ACL mesto gde se proverava da li je u "pasoš" upisana odgovarajuća "viza" za taj resurs. 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. Time je izbegnuto da administrator pristupa podacima, a da vlasnik to ne primeti. 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 ulofu 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 Microsoft-ovim 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. 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 savršeno 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 sertifikatu 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 postavlja. 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. Naravno, sve može poprimiti i drugu dimenziju ukoliko modifikacije firme Cordant Systems (ili CordantWare kako ga već nazivaju) ne prerastu u novi operativni sistem koji praktično samo emulira NetWare. Sve u svemu prostora za prognoze ima na pretek. 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, u svim predviđenim aspektima, što bi svakako doprinelo njegovoj popularnosti. U nastavku...U sledećem nastavku ove priče videćete kako se, uz malo strpljenja, od vašeg PC računara sa Windows NT-om može napraviti vrlo bezbedan sistem. 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 protokol i obezbedite se od belosvetskih hakera koji lutaju Internetom... |
|