Download - 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+
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.
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.
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.
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.
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
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.
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.
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...?
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?
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.
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.
MIC, WRPMIC, WRP
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.
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.'.
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.
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.
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.
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.
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.
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!
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.
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.
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.
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.
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.
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.
Q & AQ & A
Treat your password like your toothbrush. Don't let anybody else use it, and get a new one every six months.