COMPUTERWORLD
Specializovan² t²denφk o v²poΦetnφ technice

Serißl
o bezpeΦnosti
a informaΦnφm soukromφ

╚ßst 52 - CW 28/98

BezpeΦnost Windows NT

Milan Jirsa

Od roku 1993, kdy byla na trh uvedena verze Windows NT 3.1, se model bezpeΦnosti tohoto operaΦnφho systΘmu p°φliÜ nem∞nil. RozsßhlejÜφch zm∞n se doΦkßme teprve v roce 1999, kdy majφ b²t k prodeji uvoln∞na Windows NT 5.0.

O r∙znΘ aspekty bezpeΦnosti dbß ve Windows NT bezpeΦnostnφ podsystΘm, kter² se sklßdß z p°ihlaÜovacφch proces∙ a 3 modul∙: mφstnφ bezpeΦnostnφ autority (Local Security Authority -- LSA), sprßvce bezpeΦnosti ·Φt∙ (Security Account Manager -- SAM) a monitoru bezpeΦnosti referencφ (Security Reference Monitor -- SRM).

Jßdrem bezpeΦnostnφho podsystΘmu je modul LSA, kter² zajiÜ¥uje, ₧e u₧ivatelΘ majφ p°φstup k objekt∙m operaΦnφho systΘmu. LSA generuje tzv. p°φstupovΘ znßmky (Access Token), co₧ jsou zvlßÜtnφ datovΘ struktury, o kter²ch jeÜt∞ bude zmφnka v dalÜφm textu, dßle se tento modul starß o sprßvu mφstnφ bezpeΦnostnφ politiky a poskytuje autentizaΦnφ slu₧by p°ihlaÜujφcφm se u₧ivatel∙m. LSA takΘ °φdφ politiku auditu a zaznamenßvß zprßvy auditu, generovanΘ modulem SRM. Modul SAM odpovφdß za ·dr₧bu databßze u₧ivatelsk²ch ·Φt∙, kterß obsahuje informace o vÜech u₧ivatelsk²ch a skupinov²ch ·Φtech.

Monitor bezpeΦnosti referencφ kontroluje, zda mß u₧ivatel prßvo p°istupovat k po₧adovanΘmu objektu operaΦnφho systΘmu (jednß se o soubor, adresß°, tiskßrnu apod.) a zda s nφm m∙₧e provΘst po₧adovanou Φinnost (Φtenφ, zßpis, zm∞na). Tento modul generuje zprßvy auditu na zßklad∞ politiky auditu, definovanΘ prost°ednictvφm LSA.

P°ihlßÜenφ do systΘmu

P°edtφm, ne₧ zaΦne u₧ivatel v prost°edφ Windows NT cokoli d∞lat, musφ se do systΘmu p°ihlßsit. P°ihlßsit se m∙₧e zadßnφm jmΘna ·Φtu a hesla, p°φpadn∞ i nßzvu domΘny, co₧ je nßzev organizaΦnφ struktury poΦφtaΦ∙ v sφti. P°ihlaÜovacφ procesy mohou b²t bu∩ interaktivnφ nebo vzdßlenΘ. P°i interaktivnφm p°ihlaÜovßnφ se jmΘno a heslo zapφÜe p°φmo z klßvesnice; vzdßlenΘ p°ihlaÜovßnφ probφhß v okam₧iku, kdy se u₧ivatel pokusφ vyu₧φt n∞kter² z prost°edk∙ sφt∞, a to na zßklad∞ informace zadanΘ p°i interaktivnφm p°ihlßÜenφ.

U₧ivatelsk² ·Φet m∙₧e b²t ulo₧en bu∩ lokßln∞, na poΦφtaΦi s instalovan²mi Windows NT Workstation Φi Windows NT Server v roli samostatnΘho serveru, nebo centrßln∞ na tzv. °adiΦi domΘny, co₧ je zvlßÜtnφm zp∙sobem instalovan² NT Server. P°i interaktivnφm p°ihlaÜovßnφ spolu bezpeΦnostnφ moduly navzßjem spolupracujφ nßsledujφcφm zp∙sobem: U₧ivatel zadß jmΘno a heslo svΘho ·Φtu, p°φpadn∞ i nßzev poΦφtaΦe u kterΘho se prßv∞ nachßzφ. Tato informace je p°edßna LSA, s pomocφ SAM je porovnßna s informacφ ulo₧enou v lokßlnφ databßzi u₧ivatelsk²ch ·Φt∙, a je-li v²sledek porovnßnφ pozitivnφ, LSA vygeneruje p°φstupovou znßmku a spustφ Explorera Windows NT, kterΘmu znßmku p°edß.

Pokud u₧ivatel zadal nikoliv jmΘno svΘho poΦφtaΦe, ale jmΘno domΘny, prob∞hne p°ihlaÜovßnφ na zßklad∞ u₧ivatelskΘho ·Φtu, centrßln∞ ulo₧enΘho na n∞kterΘm z °adiΦ∙ domΘny. Kdy₧ modul LSA zjistφ, ₧e ·Φet nenφ z lokßlnφ databßze ·Φt∙, po₧ßdß o spoluprßci systΘmovou slu₧bu NETLOGON, kterß zprost°edkuje sφ¥ovΘ spojenφ se stejnou slu₧bou b∞₧φcφ na °adiΦi domΘny. Tato vzdßlenß slu₧ba NETLOGON provede pot°ebnΘ porovnßnφ ·daj∙, v²sledek porovnßnφ vrßtφ slu₧b∞ NETLOGON b∞₧φcφ na klientovi a ta ho poskytne modulu LSA, kter² op∞t vygeneruje p°φstupovou znßmku a spustφ Explorera.

Objekty Windows NT podporujφ tzv. delegovanΘ °φzenφ p°φstupu (Discretionary Access Control), kdy vlastnφk objektu mß mo₧nost urΦit, kdo bude mφt p°φstup k tomuto objektu a jakΘho typu tento p°φstup bude. Pomocφ nßstroj∙, jako je Explorer, Print Manager, User Manager for Domains a Server Manager, lze modifikovat seznam °φzenφ p°φstupu (Access Control List -- ACL) spjat² s ka₧d²m objektem. Tento seznam p°edstavuje pouze Φßst jinΘ bezpeΦnostnφ datovΘ struktury -- deskriptoru bezpeΦnosti (Security Descriptor). Krom∞ delegovanΘho ACL obsahuje deskriptor jeÜt∞ systΘmov² ACL, pomocφ n∞ho₧ se generujφ zprßvy auditu, a bezpeΦnostnφ identifikßtor vlastnφka objektu (Security Identifier -- SID). Seznam °φzenφ p°φstupu obsahuje polo₧ky ACE (Access Control Entry), kterΘ popisujφ p°φstupovß prßva vÜech u₧ivatel∙ a skupin majφcφch k objektu p°φstup.

Nynφ se vra¥me k p°φstupovΘ znßmce, kterß je vytvo°ena po ·sp∞ÜnΘm p°ihlßÜenφ do systΘmu Windows NT. P°φstupovß znßmka obsahuje bezpeΦnostnφ identifikßtor u₧ivatele i vÜech skupin, do kter²ch pat°φ, a provßzφ u₧ivatele po celou dobu jeho prßce se systΘmem. Zßrove≥ se kopie tΘto znßmky p°iklßdß ke ka₧dΘmu procesu, kter² u₧ivatel spustφ. P°i po₧adavku na p°φstup k objektu se porovnß obsah p°φstupovΘ znßmky s obsahem ACL a v²sledkem tΘto operace je bu∩ odmφtnutφ p°φstupu, nebo p°id∞lenφ po₧adovanΘho p°φstupovΘho prßva.

Novinky ve Windows NT 5.0

DalÜφ verze Windows NT bude nabφzet n∞kterΘ dodateΦnΘ bezpeΦnostnφ prvky. Jednß se zejmΘna o distribuovanΘ bezpeΦnostnφ slu₧by (Distributed Security Services) a Üifrovan² souborov² systΘm (Encrypted File System). A₧ dosud byla distribuovanß bezpeΦnost zalo₧ena na protokolu NTLM (Windows NT/LAN Manager), kter² p°edstavoval vhodnΘ °eÜenφ zejmΘna v jednΘ domΘn∞, pro kterou zajiÜ¥oval autentizaci, integritu a d∙v∞rnost dat. V prost°edφ s vφce domΘnami vÜak tento protokol nenφ ideßlnφ.

Mφsto vylepÜovßnφ a podpory sv²ch existujφcφch protokol∙ se Microsoft rozhodl dodßvat NT 5.0 s implementovan²m protokolem Kerberos (CW 7/97), kter² zajiÜ¥uje autentizaci, integritu a d∙v∞rnost dat, ale mß oproti NTLM n∞kterΘ vlastnosti navφc. V NTLM mohl klient prokßzat svou identitu serveru, ale naopak to neÜlo. Kerberos tuto obousm∞rnou autentizaci poskytuje.

Z d∙vod∙ kompatibility a interoperability vÜak NT 5.0 podporuje vφce bezpeΦnostnφch protokol∙ prost°ednictvφm obecnΘho rozhranφ SSPI (Security Support Provider Interface).

Jak vypadß implementace Kerbera verze 5 v prost°edφ nov²ch Windows? Ka₧dß domΘna mß sv∙j Kerberos server, kter² sdφlφ databßzi s tzv. aktivnφm adresß°em. Kerberos server tedy musφ b∞₧et na °adiΦi domΘny, kde je v rßmci domΘny replikovßn stejn∞ jako zmφn∞n² °adiΦ. U₧ivatel po₧adujφcφ bezpeΦn² p°φstup k n∞jakΘ vzdßlenΘ slu₧b∞ se musφ nejprve p°ihlßsit na Kerberos server. Po ·sp∞ÜnΘm p°ihlßÜenφ obdr₧φ TGT (ticket-granting ticket), kter² pak pou₧φvß jako pr∙kaz, kdy₧ se na Kerberos server obracφ s po₧adavkem na dalÜφ TGT ke konkrΘtnφm aplikaΦnφm server∙m. U₧ivatel pak TGT, odpovφdajφcφ urΦitΘmu aplikaΦnφmu serveru, pou₧ije ke svΘ vlastnφ autentizaci na tomto serveru.

I kdy₧ Microsoft implementuje standardnφ Kerberos verze 5, tento protokol bohu₧el p°esn∞ neurΦuje, jakß informace mß b²t pou₧ita k identifikaci klienta. Existujφ tedy r∙znΘ firemnφ implementace, ke kter²m Microsoft p°idßvß tu svou a k identifikaci klienta pou₧φvß pro NT specifickΘ bezpeΦnostnφ identifikßtory. To by mohlo vΘst k problΘm∙m s interoperabilitou mezi r∙zn²mi implementacemi.

èifrovan² souborov² systΘm (Encrypted File System -- EFS) umo₧≥uje provßd∞t Üifrovßnφ a deÜifrovßnφ soubor∙ a adresß°∙ na NTFS disku. Vlastnφ data jsou Üifrovßna symetrick²m algoritmem (v NT 5.0 beta 1 se jednß o DES) za pou₧itφ klφΦe FEK (File Encryption Key). Tento klφΦ je potΘ zaÜifrovßn ve°ejn²m klφΦem u₧ivatele a vlo₧en do specißlnφho atributu EFS. P°ed deÜifrovßnφm souboru nebo adresß°e je nejprve privßtnφm klφΦem u₧ivatele deÜifrovßn FEK klφΦ a vzßp∞tφ i vlastnφ data. Celß tato operace je pro u₧ivatele transparentnφ, p°iΦem₧ Üifrovßnφ i deÜifrovßnφ lze vyvolat prost°ednictvφm Exploreru nebo z p°φkazovΘ °ßdky p°φkazem CIPHER.

Zßplaty

Äßdn² operaΦnφ systΘm nenφ zcela bez chyb, proto musφ b²t n∞jak²m zp∙sobem vy°eÜen problΘm distribuce jeho oprav u₧ivatel∙m. V p°φpad∞ Windows NT jsou zjiÜt∞nΘ chyby odstra≥ovßny prost°ednictvφm tzv. "service packs" (SP). Instalace SP p°edstavuje zp∙sob aktualizace operaΦnφho systΘmu, p°iΦem₧ se odstranφ dosud zjiÜt∞nΘ chyby, ale Φasto se i doplnφ n∞kterΘ novΘ funkce, nßstroje nebo ovladaΦe. Nov² SP se nevydßvß okam₧it∞, jakmile dojde ke zjiÜt∞nφ chyby a k jejφ nßslednΘ oprav∞, ale po urΦitou dobu se Φekß, a₧ se takov²ch oprav shromß₧dφ vφce, aby je vydßnφ novΘho SP odstranilo najednou. Podle pot°eb takov²ch aktualizacφ se vydßvajφ dalÜφ a dalÜφ SP, kterΘ jsou naÜt∞stφ kumulativnφ. To znamenß, ₧e staΦφ nainstalovat poslednφ znßm² Service Pack, kter² bude obsahovat takΘ vÜechny zm∞ny obsa₧enΘ v p°edchozφch SP. V souΦasnosti je u Windows NT 4.0 aktußlnφ verzφ SP3, u Windows NT 3.51 je poslednφ SP5.

Dojde-li ke zjiÜt∞nφ zßva₧nΘ chyby, obvykle se neΦekß na nov² Service Pack, ale vydß se tzv. "postfix" nebo tΘ₧ "hotfix". Podrobn² popis vÜech zm∞n obsa₧en²ch v SP nebo hotfixu je jednak p°ilo₧en k jejich distribuci, obvykle pomocφ Internetu nebo CD-ROMu, ale lze je vyhledat i v databßzi ve°ejn∞ p°φstupn²ch informacφ, tzv. "Knowledge Base". TakΘ zm∞ny obsa₧enΘ v hotfixech jsou obvykle kumulativnφ, tak₧e se n∞kterΘ starÜφ hotfixy stßvajφ zbyteΦn²mi. Microsoft doporuΦuje bu∩ si poΦkat na nov² Service Pack, s jeho₧ instalacφ zpravidla nejsou problΘmy, nebo v p°φpad∞, ₧e jste se setkali prßv∞ s tou chybou, kterou hotfix opravuje, seznßmit se se sprßvnou posloupnostφ instalace hotfix∙ a p°eΦφst si veÜkerou doprovodnou informaci. (DoporuΦuji zejmΘna adresu <http://emwac.faf.cuni.cz/download/default.htm>)

Windows NT je operaΦnφ systΘm, jeho₧ architektura obsahuje mnoho bezpeΦnostnφch prvk∙ a funkcφ. Tyto bezpeΦnostnφ prvky mohou b²t implementovßny v r∙zn²ch kombinacφch, v zßvislosti na bezpeΦnostnφch pot°ebßch organizace a p°edpoklßdan²ch rizikov²ch faktorech. Ka₧dß dalÜφ verze Windows p°inßÜφ i novΘ bezpeΦnostnφ rysy, kterΘ se t²kajφ r∙zn²ch aspekt∙ bezpeΦnosti, od autentizace u₧ivatel∙ po p°φstup k objekt∙m operaΦnφho systΘmu. K dispozici jsou i metody sledovßnφ bezpeΦnosti: zßznamy o udßlostech, zprßvy auditu a monitor v²konnosti.


DoporuΦenΘ odkazy:

Microsoft Security www.microsoft.com/security

Microsoft Knowledge Base www.microsoft.com/kb

EMWAC Hradec KrßlovΘ www.emwac.cz

NT Research www.ntresearch.com

NT Security www.ntsecurity.net

SomarSoft www.somarsoft.com/security.htm

NT Security FAQ www.it.kth.se/~rom/ntsec.html

Security News www.infosecnews.com

NT Bugtraq ntbugtraq.rc.on.ca


| COMPUTERWORLD - serißl o bezpeΦnosti | COMPUTERWORLD | IDG CZ homepage |