sicurezza e protezione dei dati. agenda code integrity bitlocker (avvio sicuro) hardening dei...
Post on 01-May-2015
219 Views
Preview:
TRANSCRIPT
Sicurezza e protezione dei datiSicurezza e protezione dei dati
Agenda
• Code integrity
• BitLocker (Avvio sicuro)
• Hardening dei servizi
• User Account Control
• IE7 protected mode
Code IntegrityCode Integrityprotezione da attacchi on-lineprotezione da attacchi on-line
Code integrity
• Valida l’integrità di ogni immagine binaria
• Verifica hash per ogni pagina al caricamento
• Verifica ogni immagine caricata in un processo protetto
• Implementato come un filtro del file system
• Hash salvati nel system catalog o in certificati X.509 inseriti nel file
• Verifica anche l’integrità del processo di boot
• kernel, HAL, driver di boot-start
• Se la verifica fallisce il sistema non si avvia
Binari di Windows Si
Driver certificati di terze parti (WHQL) Si
Driver non firmati Da policy
Binari di applicazioni di terze parti No
Firma del codice
Non confondere validazione di hash con firma digitale
x64 • Tutto il codice di kernel deve essere firmato o non viene caricato
• Driver di terze parti devono avere certificazione WHQL o contenere un certificato rilasciato dalla CA di Microsoft
• Non ci sono eccezioni
• Codice in user mode non necessita di firma a meno che:
• Implementi funzioni di crittografia
• Sia caricato nel servizio di gestione delle licenze
x32 • La firma si applica solo ai driver forniti con Windows
• Controllabile via policy cosa fare degli altri driver
• Codice in kernel mode non firmato viene caricato
• Codice in user mode trattato come in x64
BitLockerBitLockerprotezione da attacchi off-lineprotezione da attacchi off-line
BitLocker (Avvio sicuro)
Assicura integrità del boot
Resistente agli attacchi
Protegge il sistema da attacchi off-line software
Blocca i sistemi modificati
Previe l’avvio su i file controllati vengono alterati
Protegge i dati
quando sono off-
line
Cripta i dati utenti e i file di sistema
Tutti i dati sul volume sono criptati: dati utente, dati di sistema, pagefile, file per ibernazione, temp, crash dump
Ombrello di protezione
Applicazioni di terze parti beneficiano della criptatura quando installate su partizioni protette da BitLocker
Facile smaltiment
o dei sistemi
Semplifica il riciclo
Dati utente inaccessibili cancellando lo store delle chiavi del TPM
Accellera la cancellazione sicura di dati
La cancellazione richiede secondi e non ore
Richieste hardware• Trusted Platform Module (TPM) v1.2
• Microcontroller su piastra madre
• Mantiene chiavi, password, certificati e misure di integrità• Chiavi rilasciate solo con avvii regolari • Confronta ogni processo di boot con le misure salvate in precedenza• Ogni modifica apportata, tra due boot regolari, al volume criptato lo rende
inaccessibile• Nessuna interazione o visibilità da parte dell’utente• Chiavi possono essere salvate in Active Directory per i ripristini• Proibisce l’uso di software di debugging durante l’avvio
• Richiede il supporto per TPM Interface (TIS)
• Firmware (Convenzionale o EFI BIOS) compatibile TCG• Stabilisce una catena della fiducia per la parte di boot pre-OS
• Deve supportare le Static Root Trust Measurement (SRTM) specificate da TCG
• Vedere a www.trustedcomputinggroup.org
Abilitazione di BitLocker
• Abilitare il chip TPM (normalmente nel BIOS)
• Abilitare BitLocker da pannello di controllo
• Viene modificato MBR
• Criptata la partizione Windows
• Generate le chiavi di criptatura simmetriche
• Chiavi salvate nel TPM
• La criptatura avviene dopo riavvio (come conversione FATNTFS)
• Creata una partizione di sistema attiva di ~50MB TPM-aware, formattata in NTFS, contenente un boot manager TPM-aware
VEK2
3
SRK
1
Struttura del disco
Le partizioni criptate dell’OS contengono:
• OS criptato• Page file criptato• File temporanei criptati• Dati criptati• File di ibernazione
criptato
La System Partition contiene utility per il boot(non criptate, 50MB)
MBR
Dove sono le chiavi di criptatura?
1. SRK (Storage Root Key) contenuta nel TPM
2. SRK cripta VEK (Volume Encryption Key) protetta da TPM/PIN/Dongle
3. VEK (criptata da SRK) su HD nella Boot Partition
Funzionamento del TPM
• Reset di tutti i registri e trasferimento dell’esecuzione al Core Root of Trust Measurement
• Misura la successiva porzione del firmware in PCR[0] e i dati in in PCR[1] (Test hardware e configurazione)
• Codice sempre misurato prime di essere eseguito
• Misure sono hash SHA-1 dei dati/codice controllato concatenati con hash nel PCR precedente
• Misure scritte in modo permanente nel PCR
• Opzioni di ROM e dati in PCR[2] e [3]
• MBR in PCR[4], tabella delle partizioni in PCR[5]PCR[0]PCR[0]PCR[1]PCR[1]PCR[2]PCR[2]PCR[3]PCR[3]PCR[4]PCR[4]PCR[5]PCR[5]PCR[6]PCR[6]PCR[7]PCR[7]PCR[8]PCR[8]PCR[9]PCR[9]
PCR[10]PCR[10]PCR[11]PCR[11]PCR[12]PCR[12]PCR[13]PCR[13]PCR[14]PCR[14]PCR[15]PCR[15]
Pla
tform
Configura
tion R
egis
ters
Pla
tform
Configura
tion R
egis
ters
Funzionamento del TPM
• Controllo passato a MBR;
• Carica il primo settore della partizione di boot attiva in memoria
• Misura i primi 512 byte in PCR[8]
• Caricamento del settore di boot
• Misurazione del rimanente in PCR[9] e trasferimento dell’esecuzione
• Codice di boot misura BOOTMGR in PCR[10] e trasferisce l’esecuzione
• Ogni ulteriore applicazione di boot deve essere caricata dalla sola partizione criptata
• Il BOOTMGR trasferisce il controllo al sistema operativo
• OS verifica integrità di ogni eseguibile caricatoPCR[0]PCR[0]PCR[1]PCR[1]PCR[2]PCR[2]PCR[3]PCR[3]PCR[4]PCR[4]PCR[5]PCR[5]PCR[6]PCR[6]PCR[7]PCR[7]PCR[8]PCR[8]PCR[9]PCR[9]
PCR[10]PCR[10]PCR[11]PCR[11]PCR[12]PCR[12]PCR[13]PCR[13]PCR[14]PCR[14]PCR[15]PCR[15]
Pla
tform
Configura
tion R
egis
ters
Pla
tform
Configura
tion R
egis
ters
Ripristino delle chiavi
Abilitazione della funzione
Accessoalla retevia AD
Deposito della chiaveper esempio in AD (o su drive USB)
Il computer ha Problemi HW
HD della macchina rottainserito nella nuova macchina
Alert: Secure Startup Recovery
Secure Startup Recovery has failed.
You will not be able to start up your computer nor access your data. Your hard drive will remain encrypted until you can provide either the recovery media or your recovery key.
Close
x
Utente chiama SysAdminSysAdmin sblocca e fornisce la chiaveutente dopo aver verificato le credenziali
Secure Startup Recovery Key
Please enter your Secure Startup Recovery Key.
CancelOk
x
**** **** **** ****
Secure Startup Recovery Mode
You have successfully recovered your data.
The recovery process is complete.
Close
x
Coesistenza con altri OS
• BitLocker cripta le partizioni
• Non è possibile avviare altri sistemi operativi dalla stessa partizione
• Sistemi operativi su altre partizioni funzionano correttamente
• Tentativi di modificare la partizione Windows protetta la rende inutilizzabile
• Rimpiazzare MBR
• Modificare ogni singolo single bit
Dischi BitLocker in XP
Dischi BitLocker in Vista
Dischi BitLocker in Linux
1
3
Errori in Linux con volumi Bitlocker1.Fdisk legge la tavola delle partizioni e
pensa che il disco sia ntfs2.Tipo fs errato, opzioni errate,
superblock errato su /dev/sda2, codepage mancante o altri errori
3. Settore di boot principale non valido
2
Hardening dei serviziHardening dei serviziProtezione dei servizi dagli exploitProtezione dei servizi dagli exploit
Windows XPUser
Kernel
Admin
System Services 1. Pochi livelli
2. Molti privilegiati
3. Pochi controlli tra i livelli
Windows Vista
Servizi di sistema
DDD
User Account Control (LUA)
Hardening dei
servizi
Admin
Servizio 1
DDD
Kernel
Servizio2
Servizio 3
DDD
Servizi a bassi privilegi
Programmi a bassi privilegi
1. Numero livelli aumentato
2. Servizi segmentati
3. Riduzione della dimensione dei livelli ad alto rischio
Utente LUA
Svc 6
Svc 7
Driver in user mode
Hardening dei serviziRidisegno dei servizi
• Muovere i servizi da LocalSystem a qualcosa con meno privilegi
• Se necessario dividere il servizio in modo che solo la parte che richiede i diritti di LocalSystem li abbia
Profilazionedei
Servizi
• Abilitare i servizi a limitare il proprio comportamento
• Le risorse possono avere ACL che consentono l’accesso all’ID del servizio solo per la parte necessaria
• Inclusione di regole per definire il comportamento in rete
È il concetto dei minimi privilegiÈ il concetto dei minimi privilegi
Ridisegno• Pochi sviluppatori usano LocalService/NetworkService
• Spesso non forniscono gli accessi necessari
• Necessario qualcosa di diverso da “tutto o nulla!
• Idealmente si devono togliere i servizi da LocalSystem
• Se non fanno operazioni privilegiate
• Normalmente richiedono solo modifiche alle ACL di driver e chiavi di registry
• In caso diverso si divide il servizio in due parti
• La parte principale che non esegue operazioni privilegiate
• La parte privilegiata
• Si esegue autenticazione tra le due parti (che hanno uguale SID)
Ridisegno dei servizi in SVCHOSTWindows XP Service Pack 2
LocalSystem Wireless Configuration
System Event Notification
Network Connections
COM+ Event System
NLA
Rasauto
Shell Hardware Detection
Themes
Telephony
Windows Audio
Error Reporting
Workstation
ICS
BITS
RemoteAccess
DHCP Client
W32time
Rasman
Browser
6to4
Help and Support
Task Scheduler
TrkWks
Cryptographic Services
Removable Storage
WMI Perf Adapter
Automatic updates
WMI
App Management
Secondary Logon
NetworkService
DNS Client
Local Service SSDP
WebClient
TCP/IP NetBIOS helper
Remote Registry
Windows Vista
LocalSystemNetwork restricted
Removable Storage
WMI Perf Adapter
Automatic updates
TrkWks
WMI
App Management
Secondary Logon
LocalSystemDemand started
BITS
Network Service
Restricted
DNS Client
ICS
RemoteAccess
DHCP Client
W32time
Rasman
NLA
Browser
6to4
Task scheduler
IPSEC Services
Server
Cryptographic Services
Local Service
Restricted No network access
Wireless Configuration
System Event Notification
Shell Hardware Detection
Network Connections
Rasauto
Themes
COM+ Event System
Local ServiceRestricted
Telephony
Windows Audio
TCP/IP NetBIOS helper
WebClient
Error Reporting
Event Log
Workstation
Remote Registry
SSDP
Profilazione dei servizi• Il profilo di un servizio
• Restringe il servizio alle sole risorse necessarie
• Blocca la persistenza e la propagazione di malware
• Forza l’accesso alla rete ad azioni definite
• Ogni servizio ha un identificativo univoco chiamato “service SID”
• Il profilo è un insieme di ACL che
• Consente ad un servizio di usare una risorsa
• Definisce le porte a cui puo’ accedere per l’accesso alla rete
• I servizi possono girare come LocalService o NetworkService e ricevere diritti superiori quando necessario
Service SID
• S-1-80-<hash SHA-1 del logical service name>
• Nessuna amministrazione necessaria
• Basato su token write-restricted
• Restrizione della possibilità di scrittura in un token per il SID del servizio (es.SID-A)
• Il processo può scrivere solo sulle risorse che hanno un ACL che lo consente al SID-A
• Non può accedere ad altre risorse anche se altri SID nel token lo consentono
Restrizione del servizio• Un servizio limitabile scrive due proprietà nel registry
• Una per indicare che può essere limitato
• Una per indicare quali privilegi richiede
• All’avvio del servizio il Service Control Manager
• Calcola il service SID
• Aggiunge il service SID al token del processo del servizio
• Crea un token write-restricted
• Rimuove i privilegi non necessari dal token
• Il servizio imposta le ACL sulle risorse a cui solo lui può accedere
• Esempio: su SysEvent.evt si impostano AC per consentire solo al servizio event log di scriverci
È un processo volontario. Il servizio decide di limitare se stesso.
È una buona pratica di sviluppo perchè riduce la possibilità che malware abusi del servizio.
Non è un processo forzato dal sistema.Servizi di terze parti possono non seguirlo.
Forzatura degli accessi alla rete
• Quattro scenari• Nessuna porta (no accesso alla rete)• Porte fisse (porta definita a design time)• Porte configurabili (porta modificabile da Admin)• Porte dinamiche (porte definite a runtime)
• Espresse come voci di registry
• Estensibili per supportare altri scenari futuri (es. Filtri su sessioni/protocolli)
• Modifiche alla configurazione applicate immediatamente senza reboot o riavvio del servizio
• Regole non fermabili a servizio attivo
Regole di accessoalla rete
Interazione con windows firewall
• Non disabilitabili da WF o software di terze parti
• Per le porte dinamiche, netenf configura il WFRegole di
firewall
Consente traffico inbound/outbound per Rpcss"V2.0; Action=Allow; Dir=Out; RPort=135; Protocol=tcp; Protocol=udp;App=%windir%\System32\svchost.exe; Svc=rpcss;Name=Allow outbound rpcss tcp/udp traffic;“
"V2.0; Action=Allow; Dir=in; LPort=135; Protocol=tcp; Protocol=udp;App=%windir%\System32\svchost.exe; Svc=rpcss; Name=Allow inbound tcp/udp rpcss;“
"V2.0; Action=Block; App=%windir%\System32\svchost.exe; Svc=rpcss;Name=Block any other traffic to and from rpcss;"
User Account ControlUser Account ControlAccesso con bassi privilegiAccesso con bassi privilegi
Mandatory Integrity Control
• Due token per processo: LUA e Privileged Access• Entrambi con lo stesso SID utente
• I token adesso hanno un campo addizionale per inserire un Livello di Integrità (LI)
• Nota: non si applica all’account Administrator built-in
• I processi LUA hanno integrità minore e non possono• Cercare di elevare i privilegi modificando processi con token PA
• Modificare i dati creati e usati dai processi PA
• Mandare messaggi alle finestre dei processi PA o di qualsiasi altro processo con livello di integrità superiore
• I processi LUA possono leggere dati posseduti da processi PA
Livelli di integrità
Sistema
Alto Medio Basso Non fidato
400 300 200 100 0
LocalSystem
Local Service
NetworkService
Token “Elevated”
Token LUA
AuthenticatedUsers
Mondo(Everyone)
Anonymous
Tutti gli altri token
La shell gira quiLa shell gira qui
Obbiettivi di UAC
• Basato su Mandatory Integrity Control
• Tutti gli utenti, anche gli amministratori, sono Standard User per default
• Gli amministratori usano pieni privilegi solo per attività amministrative
• Deve essere dato un consenso esplicito per l’elevazione di privilegi
Come funziona UAC
• Durante il logon interattivo, LSA filtra il token disabilitando eventuali SID privilegiati
• LSA aggancia la sessione di logon del token filtrato al token privilegiato in kernel
• LSA ritorna il token filtrato (token di un normale utente) a Winlogon
• Winlogon usa questo token per avviare la shell
• Tutte le applicazioni lanciate dall’utente ereditano il token filtrato (utente standard)
• ATTENZIONE: l’utente resta un amministratore
• ATTENZIONE: si applica solo al logon interattivo
Impostazione di UAC
• Molte opzioni sono impostate via policy locali• Richiesta di elevazione per amministratori
• Richiesta di elevazione per utenti normali
• Elevazione durante l’installazione
• Modalità di approvazione per amministratori
• Virtualizzazione (redirezione) di file e registry
• Alcune operazioni sono consentite• Modifica della time zone
• Modifica di alcuni parametri di rete (esempio chiave WEP)
• Aggiunta di stampanti e altri device
Internet Explorer 7Internet Explorer 7
Internet Explorer 7Protected Mode
• Basato su User Account Protection per proteggere i dati utente
• Costringe Internet Explorer a girare in modalità read-only eccetto che per i folder Temporary Internet Files e History
• Blocca i tentativi del malware di cancellare i dati utenti, modificare le impostazioni del browser, o fare aggiunte al folder Startup senza il permesso dell’utente
• Richiede sempre il permesso dell’utente per installare Add-in
• Modifiche nell’architettura di IE per ridurre cross-domain exploit
• Opzione di ripristino dei valori di fabbrica se si sospetta attacco
IE6IE6
IE6 in esecuzione come Admin
Installa un driver,
Avvia Windows Update
Modifica impostazioni,
Download di immagini
Cache dei contenuti
Exploit possono installare MALWARE
Exploit possono installare MALWARE
Accesso come Admin
Accesso come Admin
Accesso come UserAccesso come User
Temp Internet FilesTemp Internet Files
HKLM
Program Files
HKCU
My Documents
Startup Folder
File e impostazioni non fidati
IE7 in Protected Mode
IE7 inProtected
Mode
IE7 inProtected
Mode
Installa un driver, Installa un controllo ActiveX
Modifica delle impostazioni,
Salva immagini
Inte
gri
ty C
on
tro
l
Bro
ker
Pro
cess
Impostazioni e file rediretti
Com
pat
Red
irect
or
Contenuti in cache
Accesso come Admin
Accesso come Admin
Accesso come UserAccesso come User
Temp Internet FilesTemp Internet Files
HKLM
HKCR
Program Files
HKCU
My Documents
Startup Folder
File e impostazioni non fidati
Virtualizzazione di file e registry• IE i tentativi di scrittura non autorizzati in
• HKCU\Software\Microsoft\Internet Explorer\Low Rights\Virtual
• Documents and Settings\%user profile%\Local Settings\Temporary Internet Files\Virtual
Se IE prova a scrivere qui…
…viene ridiretto qui
HKCU\Software\FooBar HKCU\Software\MS\IE\Low Rights\Virtual\Software\FooBar
C:\Documents and Settings\%user profile%\FooBar
C:\Documents and Settings\%user profile%\Local Settings\Temporary Internet Files\Virtual\FooBar
Windows FirewallWindows Firewall
Cosa c’e’ di nuovo in Windows Firewall• Gestione combinata di firewall e IPsec
• Snap-in Windows Firewall with Advanced Security e netsh advfirewall
• Filtri in/out per IPv4 e IPv6• Inbound: default è block
• Outbound: default è allow
• Regole possono usare path di programmi o service name
• Policy di sicurezza granulari
• Eccezioni per utente
• Eccezioni per gruppi
• Profili multipli (Domain Profile e Standard Profile)
• Nuovi algoritmi crittografici
• Criptatura: AES-128, AES-192, AES-256
• Scambio di chiavi: ECDH P-256, ECDH P-384
• Restrizione dei servizi (filtri basati su Service SID)
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
top related