hudič je v detajlih

28
Hudič je v detajlih Hudič je v detajlih Velike in majhne varnostne spremembe Velike in majhne varnostne spremembe v Vista/LH platformi v Vista/LH platformi Matjaž Ladava, MCSE, MCT, CISSP Matjaž Ladava, MCSE, MCT, CISSP [email protected] [email protected] Senior Consultant, Microsoft Senior Consultant, Microsoft Corporation Corporation L300+

Upload: merritt-davidson

Post on 01-Jan-2016

52 views

Category:

Documents


3 download

DESCRIPTION

L300+. Hudič je v detajlih. Velike in majhne varnostne spremembe v Vista/LH platformi. Matjaž Ladava, MCSE, MCT, CISSP [email protected] Senior Consultant, Microsoft Corporation. Cilji predavanja. Pregled varnostnih tehnologij v Visti za katere mislim, da so pomembne - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Hudič je v detajlih

Hudič je v detajlihHudič je v detajlihVelike in majhne varnostne spremembe v Velike in majhne varnostne spremembe v

Vista/LH platformiVista/LH platformi

Matjaž Ladava, MCSE, MCT, CISSPMatjaž Ladava, MCSE, MCT, [email protected] [email protected] Senior Consultant, Microsoft Senior Consultant, Microsoft CorporationCorporation

L300+

Page 2: Hudič je v detajlih

Cilji predavanjaCilji predavanja

Pregled varnostnih tehnologij v Visti Pregled varnostnih tehnologij v Visti za katere mislim, da so pomembneza katere mislim, da so pomembne

Včasih imajo majhne spremembe velik Včasih imajo majhne spremembe velik pomenpomen

Razumevanje novih tehnologij v VistiRazumevanje novih tehnologij v Visti

Ne bomo se dotaknili NAP, BitLocker, Ne bomo se dotaknili NAP, BitLocker, USBDB tehnologijUSBDB tehnologij

Want to make your computer go really fast? Throw it out a window.

Page 3: Hudič je v detajlih

AgendaAgenda

Nova varnost platforme - uvodNova varnost platforme - uvod

Majhne arhitekturne spremembeMajhne arhitekturne spremembeCI, MIC, SH, IEPM, ASLR, WFAS, ...CI, MIC, SH, IEPM, ASLR, WFAS, ...

OstaloOstalo

PovzetekPovzetek

The best way to accelerate a Macintosh is at 9.8m sec sec.

Page 4: Hudič je v detajlih

UvodUvod

Varnostne spremembe v Visti so veliko Varnostne spremembe v Visti so veliko več kot kozmetični popravkiveč kot kozmetični popravki

Windows XP SP2 je bil samo majhen Windows XP SP2 je bil samo majhen korak v primerjavi z Vistokorak v primerjavi z Visto

Večina arhitekturnih sprememb je Večina arhitekturnih sprememb je uporabniku skritih (MIC, CI, ASLR, uporabniku skritih (MIC, CI, ASLR, IEPM,...)IEPM,...)

Prvi MS produkt, ki je izgrajen s Prvi MS produkt, ki je izgrajen s pomočjo SDL od začetka do koncapomočjo SDL od začetka do konca

Hardware: the parts of a computer that can be kicked.

Page 5: Hudič je v detajlih

Integriteta sistema (CI)Integriteta sistema (CI)

Kaj so pretnje ?Kaj so pretnje ?

Preveri vsako zagonsko datoteko, Preveri vsako zagonsko datoteko, preden se naloži v spomin – odtis preden se naloži v spomin – odtis (hash)(hash)

Izvedeno kot datotečni filterIzvedeno kot datotečni filter

Odtisi so hranjeni v sistemskem katalogu Odtisi so hranjeni v sistemskem katalogu ali v X.509 certifikatu v datotekiali v X.509 certifikatu v datoteki

Specifično za x64 platformoSpecifično za x64 platformo““Kernel Patch Protection” (Patch Guard)Kernel Patch Protection” (Patch Guard)

Obvezno podpisovanje gonilnikovObvezno podpisovanje gonilnikov

Ne velja za x86 zaradi kompatibilnostiNe velja za x86 zaradi kompatibilnostiIf builders built houses the way programmers built programs, the first woodpecker to come along would destroy civilization.If builders built houses the way programmers built programs, the first woodpecker to come along would destroy civilization.

Page 6: Hudič je v detajlih

LUALUA

LUA je samo vmesna pot do odprave LUA je samo vmesna pot do odprave lokalnih skrbnikovlokalnih skrbnikov

Uporabnikovemu žetonu se ob prijavi Uporabnikovemu žetonu se ob prijavi odstranijo praviceodstranijo pravice

Po potrebi se prvice povzdignejoPo potrebi se prvice povzdignejo

LUA kontroliramo skozi skupinske LUA kontroliramo skozi skupinske politikepolitike

Page 7: Hudič je v detajlih

Integritete objektov (MIC)Integritete objektov (MIC)

Omejitve v DACLOmejitve v DACLOdločitve o pristopu bazirajo glede na Odločitve o pristopu bazirajo glede na članstvo skupin in DACLčlanstvo skupin in DACL

Preveč moči je dano procesom, ki jih Preveč moči je dano procesom, ki jih poganjajo skrbnikipoganjajo skrbniki

Uporabnike lahko prepričamo, da Uporabnike lahko prepričamo, da poženejo zlonamerno kodopoženejo zlonamerno kodo

Sistem moramo zaščititi na podlagi Sistem moramo zaščititi na podlagi zaupanja v kodozaupanja v kodo

Asking if computers can think is like asking if submarines can swim.

Page 8: Hudič je v detajlih

Integriteta objektov (MIC)Integriteta objektov (MIC)

Teoretični model iz 70-ih letTeoretični model iz 70-ih let

Bazira na varianti Biba modelaBazira na varianti Biba modela

Doda preverjanje zaupanja objektovDoda preverjanje zaupanja objektov

Osnovni princip Biba modelaOsnovni 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.

Page 9: Hudič je v detajlih

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 objektaIf a trainstation is where the train stops, what's a workstation...?

Page 10: Hudič je v detajlih

Integriteta objektov (MIC)

SistemSistem VisokaVisoka SrednjaSrednja NizkaNizka

40040000 30030000 20020000 10010000 00

SistemSistem Local ServiceLocal Service

NetworkNetworkServiceService

Uporabnik z Uporabnik z pravicami pravicami skrbnikaskrbnika

Standardni Standardni uporabnikuporabnik

Avtenticirani Avtenticirani uporabnikiuporabniki

NamizjeNamizje

WorldWorld(Everyone)(Everyone)

AnonimniAnonimni

OstaliOstali

Why shouldn't a PC work like a refrigerator or a toaster?

Page 11: Hudič je v detajlih

Integriteta objektov (MIC)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.

Page 12: Hudič je v detajlih

Integriteta objektov (MIC)Integriteta objektov (MIC)

Ko uporabnik zažene .EXE, dobi proces integriteto, Ko uporabnik zažene .EXE, dobi proces integriteto, ki je najnižja od uporabnika ali datotekeki je najnižja od uporabnika ali datoteke

Proces nikoli ne teče z višjo integriteto kot datoteka Proces nikoli ne teče z višjo integriteto kot datoteka neglede na integriteto uporabnika, ki je startal procesneglede na integriteto uporabnika, ki je startal proces

Ščiti tudi skrbnike pred zlonamernimi programiŠčiti tudi skrbnike pred zlonamernimi programi

Dodatno ščiti uporabnikove podatke, katerih integriteta je Dodatno ščiti uporabnikove podatke, katerih integriteta je tipično višjatipično višja

Integriteta velja tudi za sporočila med procesiIntegriteta velja tudi za sporočila med procesi

Zaradi integritete je LUA to, kar jeZaradi integritete je LUA to, kar jeLoči navadnega uporabnika od skrbnika (isti uporabnik)Loči navadnega uporabnika od skrbnika (isti uporabnik)

Oba imata enak SID, vendar različno integritetoOba imata enak SID, vendar različno integriteto

Kontrolira ga AISKontrolira ga AISPreveri integriteto uporabnika in datotekePreveri integriteto uporabnika in datoteke

Spremeni integriteto procesa, ter impersonira uporabnikaSpremeni integriteto procesa, ter impersonira uporabnikaWhat goes up must come down. Ask any system administrator.

Page 13: Hudič je v detajlih

MIC, WRPMIC, WRP

Page 14: Hudič je v detajlih

Kako potem biti skrbnik?Kako potem biti skrbnik?

Pravice lokalnih skrbnikov kontrolira Pravice lokalnih skrbnikov kontrolira integritetaintegriteta

Ne morejo brisati sistemskih datotekNe morejo brisati sistemskih datotek

Ne morejo spreminjati integritete Ne morejo spreminjati integritete objektov ali datotekobjektov ali datotek

Vgrajeni skrbniški račun Vgrajeni skrbniški račun (Administrator) ima dodatne (Administrator) ima dodatne privilegijeprivilegije

Vendar je privzeto onemogočenVendar je privzeto onemogočen

If you can't beat your computer at chess, try kickboxing.

Page 15: Hudič je v detajlih

Zaščita storitevZaščita storitev

Zmanjševanje Zmanjševanje visoko visoko priviligiranih priviligiranih nivojevnivojev

Segmentacija Segmentacija storitevstoritev

Povečano število Povečano število nivojevnivojev

Spremembe v seji Spremembe v seji 00

DD DDDD

Gonilniki jedraGonilniki jedraDD

DD Uporabniški gonilnikiUporabniški gonilniki

DDDD DD

Service Service 11

Service Service 22

Service Service 33

ServiceService……

Service Service ……

Servis AServis A

Servis BServis B

People in the computer industry use the term 'user,' which to them means 'idiot.'.

Page 16: Hudič je v detajlih

Preurejanje Preurejanje SVCHOSTSVCHOST procesaprocesa

Windows XP Service Pack 2Windows XP Service Pack 2

LocalSysteLocalSystemm

Wireless Wireless ConfigurationConfiguration

System Event System Event NotificationNotification

Network Network ConnectionsConnections

COM+ Event COM+ Event SystemSystem

NLANLA

RasautoRasauto

Shell Hardware Shell Hardware DetectionDetection

ThemesThemes

TelephonyTelephony

Windows AudioWindows Audio

Error ReportingError Reporting

WorkstationWorkstation

ICSICS

BITSBITS

RemoteAccessRemoteAccess

DHCP ClientDHCP Client

W32timeW32time

RasmanRasman

BrowserBrowser

6to46to4

Help and SupportHelp and Support

Task SchedulerTask Scheduler

TrkWksTrkWks

Cryptographic Cryptographic ServicesServices

Removable Removable StorageStorage

WMI Perf AdapterWMI Perf Adapter

Automatic Automatic updatesupdates

WMIWMI

App ManagementApp Management

Secondary LogonSecondary Logon

NetworkNetworkServiceService

DNS ClientDNS Client

Local Local ServiceService

SSDPSSDP

WebClientWebClient

TCP/IP NetBIOS helperTCP/IP NetBIOS helper

Remote RegistryRemote Registry

Windows VistaWindows Vista

LocalSystemLocalSystemNetwork Network restrictedrestricted

Removable Removable StorageStorage

WMI Perf AdapterWMI Perf Adapter

Automatic Automatic updatesupdates

TrkWksTrkWks

WMIWMI

App App ManagementManagement

Secondary Secondary LogonLogon

LocalSystemLocalSystemDemand startedDemand started

BITSBITS

Network Network ServiceService

RestrictedRestricted

DNS ClientDNS Client

ICSICS

RemoteAccessRemoteAccess

DHCP ClientDHCP Client

W32timeW32time

RasmanRasman

NLANLA

BrowserBrowser

6to46to4

Task schedulerTask scheduler

IPSEC ServicesIPSEC Services

ServerServer

Cryptographic Cryptographic ServicesServices

Local ServiceLocal Service

RestrictedRestricted No network No network accessaccess

Wireless Wireless ConfigurationConfiguration

System Event System Event NotificationNotification

Shell Hardware Shell Hardware DetectionDetection

Network Network ConnectionsConnections

RasautoRasauto

ThemesThemes

COM+ Event COM+ Event SystemSystem

Local ServiceLocal ServiceRestrictedRestricted

TelephonyTelephony

Windows AudioWindows Audio

TCP/IP NetBIOS TCP/IP NetBIOS helperhelper

WebClientWebClient

Error ReportingError Reporting

Event LogEvent Log

WorkstationWorkstation

Remote RegistryRemote Registry

SSDPSSDPThe most overlooked advantage to owning a computer is that if they foul up, there's no law against whacking them around a little.

Page 17: Hudič je v detajlih

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, kiOmogoč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 praviceThere is no reason for any individual to have a computer in his home.

Page 18: Hudič je v detajlih

Omejevanje storitevOmejevanje storitevSCM SCM izračuna SIDizračuna SID

SCM doda SID v žeton SCM doda SID v žeton storitvestoritve

SCM SCM kreira žeton z kreira žeton z omejitvijo zapisovanjaomejitvijo zapisovanja

SCM odstrani SCM odstrani nepotrebne privilegije iz nepotrebne privilegije iz

žetonažetona

Storitev postavi ACL na vire Storitev postavi ACL na vire tako da do njih lahko tako da do njih lahko

dostopa samo storitevdostopa samo storitevThe trouble with doing something right the first time is that nobody appreciates how difficult it was.

Page 19: Hudič je v detajlih

Zaščiteni način IEZaščiteni način IE

Gradi na kontroli integriteteGradi na kontroli integriteteIE teče z nizko integritetoIE teče z nizko integriteto

Zmanjša nivo pretenj različnih dodatkov za IEZmanjša nivo pretenj različnih dodatkov za IE

Odpravi tiho namestitev zlonamerne kode skozi Odpravi tiho namestitev zlonamerne kode skozi ranljivosti programaranljivosti programa

Omejuje IE, da ne more zapisovati izven TIF mapeOmejuje IE, da ne more zapisovati izven TIF mapeZaščiten način uporablja COM, da lahko kliče dva nova Zaščiten način uporablja COM, da lahko kliče dva nova “broker” procesa, ki to omogoča“broker” procesa, ki to omogoča

Omogoča, da se dodatkom dvigne privilegijOmogoča, da se dodatkom dvigne privilegij

Unix gives you just enough rope to hang yourself -- and then a couple of more feet, just to be sure.

IE je preurejen v več procesov z različnimi integritetami za vsak proces.

Page 20: Hudič je v detajlih

Preurejanje Preurejanje IEIE

LP IELP IE

IEUserIEUser NINI==visok če skrbnikvisok če skrbnikNINI==srednji (drugače)srednji (drugače)

LP IELP IEInternet ZoneInternet Zone

NI=nizekNI=nizekIntranet/Trusted ZoneIntranet/Trusted ZoneNI=srednjiNI=srednjiLočen TIFLočen TIF

IEPolicyIEPolicy NINI==visokvisok

Princip najnižjih privilegijevPrincip najnižjih privilegijevPreurejanje IE na nivoju procesa – bolj učinkovito in ceneje, kot Preurejanje IE na nivoju procesa – bolj učinkovito in ceneje, kot navidezni računalnikinavidezni računalniki

If you don't double-click me, I can't do anything.If you don't double-click me, I can't do anything.

Page 21: Hudič je v detajlih

Razlaga za “Owner SID”Razlaga za “Owner SID”

Sedaj imamo tri “owner SID”-eSedaj imamo tri “owner SID”-e

Novi je OWNER RIGHTSNovi je OWNER RIGHTS

Pri dostopu do objekta Pri dostopu do objekta Se preveri, če je OWNER RIGHTS SID in se Se preveri, če je OWNER RIGHTS SID in se tega uporabi za lastnikatega uporabi za lastnika

Če ni se uporabi WRITE_DAC in Če ni se uporabi WRITE_DAC in READ_CONTROL lastniku, kot v prejšnjih READ_CONTROL lastniku, kot v prejšnjih verzijahverzijah

Izolacija virov za storitve, AD,...Izolacija virov za storitve, AD,...

Multimedia? As far as I'm concerned, it's reading with the radio on!

Page 22: Hudič je v detajlih

Address Space LayoutAddress Space Layout Randomization (ASLR)Randomization (ASLR)

Obramba pred “remote buffer overflows”Obramba pred “remote buffer overflows”

Privzeto vključen na VistiPrivzeto vključen na VistiSistemska koda se ob zagonu naloži na različne Sistemska koda se ob zagonu naloži na različne naslovenaslove

256 možnosti256 možnosti

Ni režitev vseh problemovNi režitev vseh problemov

Sklad in kopica sta na naključnih naslovihSklad in kopica sta na naključnih naslovih

Velja samo za EXE in DLL-je, ki so del OSVelja samo za EXE in DLL-je, ki so del OS

Never trust a computer you can't throw out a window.

Page 23: Hudič je v detajlih

Spremembe v požarni Spremembe v požarni pregradipregradiIzhodno filtriranjeIzhodno filtriranje

Filtriranje glede na SIDFiltriranje glede na SID

Boljši UI za upravljanjeBoljši UI za upravljanje

5-delna konfiguracija5-delna konfiguracijaLokalni naslov, oddaljeni naslov, lokalna vrata, oddaljena Lokalni naslov, oddaljeni naslov, lokalna vrata, oddaljena vrata, protokolvrata, protokol

Integriran z IPSecIntegriran z IPSec

Tri profiliTri profiliDomenski (ki se avtenticira na DC)Domenski (ki se avtenticira na DC)

PrivatniPrivatni

JavniJavni

Pravila na uporabnikaPravila na uporabnika

There is no reason for any individual to have a computer in his home.

Page 24: Hudič je v detajlih

Pod točko raznoPod točko razno

Power Users = UsersPower Users = UsersVsi privilegiji za Power Users odstranjeniVsi privilegiji za Power Users odstranjeni

Navaden uporabnik – nameščanje Navaden uporabnik – nameščanje preko mrežepreko mreže

Račun “Administrator” je onemogočenRačun “Administrator” je onemogočenRačunalniki, ki niso v domeniRačunalniki, ki niso v domeni

Računalniki v domeniRačunalniki v domeni

The computer is a moron.

Page 25: Hudič je v detajlih

Pod točko raznoPod točko razno

Datoteke brez povezave so Datoteke brez povezave so enkriptirane na uporabnikaenkriptirane na uporabnika

EFS z podporo pametnih karticEFS z podporo pametnih kartic

Izboljšano spremljanje – stara Izboljšano spremljanje – stara verzija/nova verzijaverzija/nova verzija

Sprememba v ACL-jihSprememba v ACL-jih

The computer is a moron.

Page 26: Hudič je v detajlih

PovzetekPovzetek

Te tehnologije so strašansko Te tehnologije so strašansko pomembnepomembne

Kot skrbniki jih poznajte, pa bo Kot skrbniki jih poznajte, pa bo življenje z visto lažježivljenje z visto lažje

MIC je velik korak naprej v varnostiMIC je velik korak naprej v varnosti

Če združimo vse te tehnologije skupaj Če združimo vse te tehnologije skupaj dobimo....dobimo....

A computer lets you make more mistakes faster than any invention in human history - with the possible exceptions of handguns and tequila.

Page 27: Hudič je v detajlih

ViriViri

http://pax.grsecurity.net/docs/aslr.txthttp://pax.grsecurity.net/docs/aslr.txt

http://www.microsoft.com/whdc/http://www.microsoft.com/whdc/driver/kernel/64bitpatching.mspxdriver/kernel/64bitpatching.mspx

http://download.microsoft.com/http://download.microsoft.com/download/c/2/9/c2935f83-1a10-4e4a-download/c/2/9/c2935f83-1a10-4e4a-a137-c1db829637f5/a137-c1db829637f5/WindowsVistaSecurityWP.docWindowsVistaSecurityWP.doc

http://blogs.msdn.com/http://blogs.msdn.com/windowsvistasecurity/windowsvistasecurity/

There is only one satisfying way to boot a computer.

Page 28: Hudič je v detajlih

Q & AQ & A

Treat your password like your toothbrush. Don't let anybody else use it, and get a new one every six months.