280 likes | 370 Views
L300+. Hudič je v detajlih. Velike in majhne varnostne spremembe v Vista/LH platformi. Matjaž Ladava, MCSE, MCT, CISSP matjaz.ladava@microsoft.com Senior Consultant, Microsoft Corporation. Cilji predavanja. Pregled varnostnih tehnologij v Visti za katere mislim, da so pomembne
E N D
L300+ Hudič je v detajlih Velike in majhne varnostne spremembe v Vista/LH platformi Matjaž Ladava, MCSE, MCT, CISSP matjaz.ladava@microsoft.com Senior Consultant, Microsoft Corporation
Cilji predavanja • Pregled varnostnih tehnologij v Visti za katere mislim, da so pomembne • Včasih imajo majhne spremembe velik pomen • Razumevanje novih tehnologij v Visti • Ne bomo se dotaknili NAP, BitLocker, USBDB tehnologij Want to make your computer go really fast? Throw it out a window.
Agenda • Nova varnost platforme - uvod • Majhne arhitekturne spremembe • CI, MIC, SH, IEPM, ASLR, WFAS, ... • Ostalo • Povzetek The best way to accelerate a Macintosh is at 9.8m sec sec.
Uvod • Varnostne spremembe v Visti so veliko več kot kozmetični popravki • Windows XP SP2 je bil samo majhen korak v primerjavi z Visto • Večina arhitekturnih sprememb je uporabniku skritih (MIC, CI, ASLR, IEPM,...) • Prvi MS produkt, ki je izgrajen s pomočjo SDL od začetka do konca Hardware: the parts of a computer that can be kicked.
Integriteta sistema (CI) • Kaj so pretnje ? • Preveri vsako zagonsko datoteko, preden se naloži v spomin – odtis (hash) • Izvedeno kot datotečni filter • Odtisi so hranjeni v sistemskem katalogu ali v X.509 certifikatu v datoteki • Specifično za x64 platformo • “Kernel Patch Protection” (Patch Guard) • Obvezno podpisovanje gonilnikov • Ne velja za x86 zaradi kompatibilnosti If builders built houses the way programmers built programs, the first woodpecker to come along would destroy civilization.
LUA • LUA je samo vmesna pot do odprave lokalnih skrbnikov • Uporabnikovemu žetonu se ob prijavi odstranijo pravice • Po potrebi se prvice povzdignejo • LUA kontroliramo skozi skupinske politike
Integritete objektov (MIC) • Omejitve v DACL • Odločitve o pristopu bazirajo glede na članstvo skupin in DACL • Preveč moči je dano procesom, ki jih poganjajo skrbniki • Uporabnike lahko prepričamo, da poženejo zlonamerno kodo • Sistem moramo zaščititi na podlagi zaupanja v kodo Asking if computers can think is like asking if submarines can swim.
Integriteta objektov (MIC) • Teoretični model iz 70-ih let • Bazira na varianti Biba modela • Doda preverjanje zaupanja objektov • Osnovni princip Biba modela Politika kontrole integritete je osnovana na zaupanju. Subjekti z nižjim nivojem zaupanja ne morejo spreminjati podatkov na višjih nivojih. Subjekti z visokim nivojem zaupanja se ne morejo zanašati na podatke z nižjim nivojem zaupanja. If debugging is the process of removing bugs, then programming must be the process of putting them in.
Integriteta objektov (MIC) • Kako deluje ? • Ko se uporabnik prijavi na sistem dobi nov SID v žetonu (S-1-16-<labela>) • Vista pozna štiri nivoje: nizek, srednji, visok in sistemski • Vsi objekti imajo integriteto v SACL (SID) • Preden se preverijo DACL, sistem preveri integriteto • Privzeti uporabnik ima srednji nivo, IE ima nizek,... • Uporabnik mora dominirati nad objektom, da lahko zapisuje • Uporabnik/process MIC >= MIC objekta If a trainstation is where the train stops, what's a workstation...?
Integriteta objektov (MIC) Why shouldn't a PC work like a refrigerator or a toaster?
Integriteta objektov (MIC) Priponka pride z elektronskim sporočilom. Ko ga uporabnik shrani, se datoteka označi z nizko integriteto. Proces, ki odpre priponko, se požene z nizko integriteto. Privzeto process ne more škodovati uporabnikovim datotekam, ker imajo višjo integriteto (srednjo). IE z nizkimi pravicami brska po internetu kot proces z nizko integriteto. Ko prenese datoteko iz interneta se ta zapiše v TIF kot datoteka z nizko integriteto. Tako taka datoteka ne more škodovati podatkom uporabnika. Getting information off the Internet is like taking a drink from a fire hydrant.
Integriteta objektov (MIC) • Ko uporabnik zažene .EXE, dobi proces integriteto, ki je najnižja od uporabnika ali datoteke • Proces nikoli ne teče z višjo integriteto kot datoteka neglede na integriteto uporabnika, ki je startal proces • Ščiti tudi skrbnike pred zlonamernimi programi • Dodatno ščiti uporabnikove podatke, katerih integriteta je tipično višja • Integriteta velja tudi za sporočila med procesi • Zaradi integritete je LUA to, kar je • Loči navadnega uporabnika od skrbnika (isti uporabnik) • Oba imata enak SID, vendar različno integriteto • Kontrolira ga AIS • Preveri integriteto uporabnika in datoteke • Spremeni integriteto procesa, ter impersonira uporabnika What goes up must come down. Ask any system administrator.
Kako potem biti skrbnik? • Pravice lokalnih skrbnikov kontrolira integriteta • Ne morejo brisati sistemskih datotek • Ne morejo spreminjati integritete objektov ali datotek • Vgrajeni skrbniški račun (Administrator) ima dodatne privilegije • Vendar je privzeto onemogočen If you can't beat your computer at chess, try kickboxing.
D D D D D D D D Zaščita storitev • Zmanjševanje visoko priviligiranih nivojev • Segmentacija storitev • Povečano število nivojev • Spremembe v seji 0 Service … Service 1 Service… Service 2 Servis A Service 3 Servis B Gonilniki jedra Uporabniški gonilniki People in the computer industry use the term 'user,' which to them means 'idiot.'.
Preurejanje SVCHOST procesa The most overlooked advantage to owning a computer is that if they foul up, there's no law against whacking them around a little.
Lastnosti storitve • Vsaka storitev ima po novem svoj SID (service SID) • S-1-80-<SHA-1 logičnega imena storitve> • Lastnosti storitve je nabor ACL-jev, ki • Omogočajo da storitev uporablja vire • Omeji storitve samo na vire, ki jih potrebuje • Definira, katere omrežne povezave storitev uporabi • Blokira storitvam, da uporabljajo druga vrata (TCP) • Sedaj lahko storitve tečejo kot LocalService ali Network Service in pri tem dobijo dodatne pravice There is no reason for any individual to have a computer in his home.
Omejevanje storitev SCM izračuna SID SCM doda SID v žeton storitve SCM kreira žeton z omejitvijo zapisovanja SCM odstrani nepotrebne privilegije iz žetona Storitev postavi ACL na vire tako da do njih lahko dostopa samo storitev The trouble with doing something right the first time is that nobody appreciates how difficult it was.
Zaščiteni način IE • Gradi na kontroli integritete • IE teče z nizko integriteto • Zmanjša nivo pretenj različnih dodatkov za IE • Odpravi tiho namestitev zlonamerne kode skozi ranljivosti programa • Omejuje IE, da ne more zapisovati izven TIF mape • Zaščiten način uporablja COM, da lahko kliče dva nova “broker” procesa, ki to omogoča • Omogoča, da se dodatkom dvigne privilegij IE je preurejen v več procesov z različnimi integritetami za vsak proces. Unix gives you just enough rope to hang yourself -- and then a couple of more feet, just to be sure.
Preurejanje IE IEUser NI=visok če skrbnikNI=srednji (drugače) LP IE LP IE Intranet/Trusted ZoneNI=srednjiLočen TIF Internet ZoneNI=nizek IEPolicy NI=visok Princip najnižjih privilegijev Preurejanje IE na nivoju procesa – bolj učinkovito in ceneje, kot navidezni računalniki If you don't double-click me, I can't do anything.
Razlaga za “Owner SID” • Sedaj imamo tri “owner SID”-e • Novi je OWNER RIGHTS • Pri dostopu do objekta • Se preveri, če je OWNER RIGHTS SID in se tega uporabi za lastnika • Če ni se uporabi WRITE_DAC in READ_CONTROL lastniku, kot v prejšnjih verzijah • Izolacija virov za storitve, AD,... Multimedia? As far as I'm concerned, it's reading with the radio on!
Address Space LayoutRandomization (ASLR) • Obramba pred “remote buffer overflows” • Privzeto vključen na Visti • Sistemska koda se ob zagonu naloži na različne naslove • 256 možnosti • Ni režitev vseh problemov • Sklad in kopica sta na naključnih naslovih • Velja samo za EXE in DLL-je, ki so del OS Never trust a computer you can't throw out a window.
Spremembe v požarni pregradi • Izhodno filtriranje • Filtriranje glede na SID • Boljši UI za upravljanje • 5-delna konfiguracija • Lokalni naslov, oddaljeni naslov, lokalna vrata, oddaljena vrata, protokol • Integriran z IPSec • Tri profili • Domenski (ki se avtenticira na DC) • Privatni • Javni • Pravila na uporabnika There is no reason for any individual to have a computer in his home.
Pod točko razno • Power Users = Users • Vsi privilegiji za Power Users odstranjeni • Navaden uporabnik – nameščanje preko mreže • Račun “Administrator” je onemogočen • Računalniki, ki niso v domeni • Računalniki v domeni The computer is a moron.
Pod točko razno • Datoteke brez povezave so enkriptirane na uporabnika • EFS z podporo pametnih kartic • Izboljšano spremljanje – stara verzija/nova verzija • Sprememba v ACL-jih The computer is a moron.
Povzetek • Te tehnologije so strašansko pomembne • Kot skrbniki jih poznajte, pa bo življenje z visto lažje • MIC je velik korak naprej v varnosti • Če združimo vse te tehnologije skupaj dobimo.... A computer lets you make more mistakes faster than any invention in human history - with the possible exceptions of handguns and tequila.
Viri • http://pax.grsecurity.net/docs/aslr.txt • http://www.microsoft.com/whdc/driver/kernel/64bitpatching.mspx • http://download.microsoft.com/download/c/2/9/c2935f83-1a10-4e4a-a137-c1db829637f5/WindowsVistaSecurityWP.doc • http://blogs.msdn.com/windowsvistasecurity/ There is only one satisfying way to boot a computer.
Q & A Treat your password like your toothbrush. Don't let anybody else use it, and get a new one every six months.