sicurezza di server web e firma di componenti. overview n analisi dei tipi di attacco n aspetti di...
TRANSCRIPT
![Page 1: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/1.jpg)
Sicurezza di Server WEB Sicurezza di Server WEB e firma di componentie firma di componenti
![Page 2: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/2.jpg)
OverviewOverview
Analisi dei tipi di attacco
Aspetti di security dei servizi web
Protezione del server web
Protezione del browser
Sicurezza in Explorer e Netscape
Firma elettronica dei componenti
![Page 3: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/3.jpg)
HTTP evoluto
HTTP classico
Scenario di riferimentoScenario di riferimento
SERVERWEB
Browser WEB
GET HTML page/document
Ricezione di pagine HTML
Browser WEB
Download di componenti software (Applet o controlli ActiveX) o instanziazione di
componenti software sul server da pilotare mediante scripting
Attivazione di un canale tra client web e
applicazione server (Server web attivi e
passivi)
![Page 4: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/4.jpg)
Punti d’attaccoPunti d’attacco
SERVERWEB
Browser WEB
Attacchi al server WEB
Attacchi al browser WEB
Attacchi al canale di comunicazione
![Page 5: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/5.jpg)
Tipi di attaccoTipi di attacco
SUL SERVER WEB
– SHADOW SERVER – DENIAL OF SERVICE– UTILIZZO DELLA MACCHINA SERVER PER
FAR PONTE SU ALTRI SISTEMI
SUL CANALE DI COMUNICAZIONE– CONNECTION HIJACKING
– ATTACCHI REPLAY
– SNIFFING DI RETE
![Page 6: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/6.jpg)
Tipi di attaccoTipi di attacco
SUL BROWSER WEB
– VIOLAZIONE PRIVACY (COOKIES)– ESECUZIONE DI COMPONENTI ATTIVI
FRAUDOLENTI:• Macro VBA• Script, Applet e Controlli ActiveX maliziosi• Spy Component / Back Doors• Trojan Horse• Esecuzione mediante plug-in di codice malizioso (es.
documenti PDF artefatti)
– ACCESSO A RISORSE DEL S.O. (HD, I/O, connessioni di rete o risorse condivise)
![Page 7: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/7.jpg)
Autenticazione del server WEBAutenticazione del server WEB La protezione delle pagine WEB si basa su
un meccanismo debole se utilizzato da solo– Si utilizzano delle ACL gestite dal server WEB e
associate alle singole pagine– Nel protocollo HTTP 1.0 si utilizza una BASE
AUTHENTICATION dove l’utente dal browser manda tramite URL una stringa
USERNAME:[PASSWD]CodeBase64/UUEncode
facilmente intercettabile e manipolabile
– Username e password, codificate come sopra, sono mantenute in un semplice file di testo e manipolate con tools appositi (con interfaccia GUI o a caratteri) del server WEB
![Page 8: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/8.jpg)
Autenticazione del server WEBAutenticazione del server WEB
E’ possibile attivare un’autenticazione basata sull’indirizzo o sul nome di dominio– Si tratta di un metodo d’autenticazione insicuro
Si devono utilizzare altre forme di autenticazione– Autenticazione tramite gli account di sistema operativo
(forma di autenticazione molto pericolosa in quanto espone ad attacchi l’intero sistema)
– Autenticazione tramite sistemi a sfida o password usa e getta (mediante moduli software che estendono le capacità d’autenticazione del server)
– Autenticazione mediante certificati a chiave pubblica (SSL e suoi derivati).
![Page 9: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/9.jpg)
I COOKIESI COOKIES
www.omnitel.it FALSE /sito FALSE 935532272 usernamefugini
.focalink.com TRUE / FALSE 1293796841 SB_ID092278129800007154441241518571
.netscape.com TRUE / FALSE 978307388 NS_REGSHA1=%9B%E8%7B%DA%9Fy%F4%C4%0B%12%98C%86%B3229%5D%90%5F[-]UR%5FEMAIL=dallagno%40elet%2Epolimi%2Eit[-]UR%5FREG%5FID=17266063%3ASWDv1
.nscp-partners.com TRUE / FALSE 978307239NS_REG SHA1=%b9K%bd%d4kp%ed%0b%b5TY%94z%94%2dX%0a%06%81%c9[-]UR%5FEMAIL=fugini%40elet%2Epolimi%2Eit[-]UR%5FREG%5FID=17266063%3ASWDv1
www.omnitel.it FALSE /sito FALSE 935532272 usernamefugini
.focalink.com TRUE / FALSE 1293796841 SB_ID092278129800007154441241518571
.netscape.com TRUE / FALSE 978307388 NS_REGSHA1=%9B%E8%7B%DA%9Fy%F4%C4%0B%12%98C%86%B3229%5D%90%5F[-]UR%5FEMAIL=dallagno%40elet%2Epolimi%2Eit[-]UR%5FREG%5FID=17266063%3ASWDv1
.nscp-partners.com TRUE / FALSE 978307239NS_REG SHA1=%b9K%bd%d4kp%ed%0b%b5TY%94z%94%2dX%0a%06%81%c9[-]UR%5FEMAIL=fugini%40elet%2Epolimi%2Eit[-]UR%5FREG%5FID=17266063%3ASWDv1
ESEMPIOESEMPIO
![Page 10: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/10.jpg)
I COOKIESI COOKIES
Sono semplici file di testo di piccole dimensioni che i server WEB generano e memorizzano in un preciso direttorio all’interno di ogni browser web
Servono principalmente a memorizzare variabili di sessione, informazioni sull’utente, siti visitati
Il loro utilizzo più frequente è quello di supporto all’immissione iterata di dati nei form di input (che andrebbero persi passando da una pagina all’altra)
E’ possibile disabilitarli, ma le pagine che li utilizzano non funzionerebbero correttamente
Esistono dei gestori di cookies che ne filtrano il contenuto rendendo disponibili ai server web solo alcune delle informazioni contenute
![Page 11: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/11.jpg)
SERVERWEB
Protezione del server WEBProtezione del server WEB
Minimi privilegi ai processi attivati dal server
Protezione del file system del server
Confinamento dei singoli servizi Script attivati con minimo privilegio Autiding del server ad un fine
livello di granularità
![Page 12: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/12.jpg)
Protezione del server WEBProtezione del server WEB Minimi privilegi ai processi attivati dal processo
principale del server WEB
– Il processo principale, che si pone in ascolto sulla
porta 80, è purtroppo attivato dagli attuali S.O. con
privilegi massimi (root in Unix, administrator in NT).
Situazione a cui non si può porre rimedio.– E’ il responsabile dell’attivazione dei processi figli
inerenti i servizi offerti dal server WEB (es. collegamento con fonti di dati)
– Questi servizi devono essere attivati associandoli ad un utente virtuale a cui siano assegnati minimi privilegi --> si impedisce così a processi con possibili bug di aggredire l’intero sistema
![Page 13: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/13.jpg)
Protezione del server WEBProtezione del server WEB
PROCESSO ASCOLTATORE
PROCESSO ESECUTORE
HTTP
HTML
UID = superuser(massimi privilegi)
UID = user http(minimi privilegi)
PORT < 1024
PORT > 1024
![Page 14: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/14.jpg)
Protezione del file system del server– Agli utenti connessi al server web devono essere
concessi privilegi minimi (read per le pagine html, execute per gli script o applicativi)
– Ai WEB administrator sono invece concessi anche i privilegi di modifica sulle pagine html e sui file di configurazione (write)
– E’ buona norma impedire agli utenti la visualizzazione e la navigazione delle cartelle contenenti pagine html, script e applicativi. Non conoscere la versione e le informazioni degli script presenti sul server, impedisce lo sfruttamento dei loro possibili BUG a scopo fraudolento
Protezione del server WEBProtezione del server WEB
![Page 15: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/15.jpg)
Protezione del server WEBProtezione del server WEB Confinamento dei singoli servizi
– E’ consigliata l’adozione di un server da dedicare esclusivamente a server WEB, spostando ogni altro servizio o applicativo su altri elaboratori
– Nel caso ciò non sia possibile e servizi diversi utilizzino il medesimo file system, è buona prassi adottare una politica di security volta a gestire separatamente gli account di ciascun servizio limitandosi a fornire ai singoli utenti i soli privilegi strettamente necessari
– Per i server WEB è consigliabile tenere separati i direttori contenenti rispettivamente le pagine html e gli script (diritti di esecuzione limitati a questo direttorio)
![Page 16: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/16.jpg)
Protezione del server WEBProtezione del server WEB
Script attivati con minimo privilegio– Devono essere attivati con gli stretti privilegi
necessari a compiere la loro funzione Auditing del server ad un fine livello di
granularità– Si devono attivare tutte le forme di auditing
possibili e tenere sotto costante monitoraggio i vari file di LOG
– Si devono applicare al server tutti gli aggiornamenti e le patchs che si rendano necessari
![Page 17: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/17.jpg)
CrittografiaSERVERWEB
Browser WEB
Protezione del canale di comunicazioneProtezione del canale di comunicazione
si protegge il flusso dati tra server WEB e browser mediante:– l'instaurazione di un canale crittografico:
• utilizzo di SSL• utilizzo di moduli crittografici ad hoc lato client e server
– facendo della crittografia a livello d’applicazione• utilizzo di S-HTTP (oggi non particolarmente utilizzato)
che estende l’HTML base con TAG specifici
HTTP
![Page 18: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/18.jpg)
SSL (Secure Socket Layer): protocollo per la crittografia di canale (realizzato da Netscape)– SSL 2.0 (autent. Server)
– SSL 3.0 (autent. Server + Client)
– garantisce autenticazione, integrità e confidenzialità
– Instaura un canale crittografico sicuro tra il layer di trasporto e quello applicativo
– Supporta i protocolli: http, nntp, smtp,ftp, telnet,...
Nell’utilizzo di http sicuro si attiva sulla porta TCP/443 e gli è stata dedicata la URL https://……
Utilizza algoritmi a chiave pubblica per lo scambio delle chiavi di sessione (RSA, Diffie Hellman, Fortezza-KEA)
SSLSSL
![Page 19: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/19.jpg)
SSLSSL Utilizza algoritmi simmetrici per
instaurare il canale crittografico (RC2, RC4, DES, 3DES, IDEA)
Utilizza chiavi simmetriche da 128 bit (Stati Uniti e Canada) o da 40 bit (altri paesi) e chiavi pubbliche da 512, 1024, 2048, 4096 bit
La versione 2.0 utilizza certificati X.509 v1, mentre la 3.0 certificati X.509 v3
Negoziazione dei protocolli crittografici e del tipo di chiave
![Page 20: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/20.jpg)
SSLSSL
SERVERWEB
Browser WEB
https://www.securesite… (1)
(2) Server Certificate
Client Certificate (3)
(4) Attivazione sicurezza
Canale SSL
HTTP
![Page 21: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/21.jpg)
Certificato a chiave pubblicaCertificato a chiave pubblica
Che cos’è? – Una struttura dati per legare in modo sicuro una
chiave pubblica ad alcuni attributi
Caratteristiche:– tipicamente lega chiave a persona– firmato in modo elettronico dall’emettitore:
l’autorità di certificazione (CA)– con scadenza temporale– revocabile sia dall’utente che dall’emettitore
![Page 22: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/22.jpg)
Esempio di certificatoEsempio di certificato
Campi: Esempio:• version 1• serial number 1430• signature algorithm RSA with MD5, 1024• issuer C=IT, O=PoliMi• validity 1/1/2000 - 31/12/2000• subject C=IT, O=PoliMi
CN=MariagraziaFugini•subjectpubickeyinfo RSA, 1024, xxxx…xxx•digital signature yy…..yyy
Campi: Esempio:• version 1• serial number 1430• signature algorithm RSA with MD5, 1024• issuer C=IT, O=PoliMi• validity 1/1/2000 - 31/12/2000• subject C=IT, O=PoliMi
CN=MariagraziaFugini•subjectpubickeyinfo RSA, 1024, xxxx…xxx•digital signature yy…..yyy
![Page 23: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/23.jpg)
Infrastruttura pubblica per la Infrastruttura pubblica per la certificazione di chiavicertificazione di chiavi
• Non c’è ancora una vera PKI (Public Key Infrastructure)• Lotta accanita tra vari standard
– X.509v1 (ISO)– X.509v3 (ISO + IETF)– PKCS (RSA, in parte compatibile con X.509v3)
![Page 24: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/24.jpg)
Funzionamento di una PKIFunzionamento di una PKI
Come verificare che un certificato a chiave pubblica (firmato da Ca1) sia autentico?
….occorre il certificato della chiave di CA1 (che sarà firmato da CA1)
… e così via … fino a raggiungere la CA di root
occorre un’infrastruttura (gerarchia?) di certificazione e distribuzione
![Page 25: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/25.jpg)
Revoca dei certificatiRevoca dei certificati Un certificato può essere revocato prima della
sua scadenza naturale– dal soggetto
– dall’emettitore un certificato revocato viene inserito in una
CRL (Certification Revocation List) quando si riceve un messaggio si deve
verificare che il certificato non sia incluso nella CRL dell’emettitore
le CRL sono mantenute dagli emettitori dei certificati
![Page 26: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/26.jpg)
Dove si utilizzano le chiavi Dove si utilizzano le chiavi pubbliche e i certificati?pubbliche e i certificati?
Scambio di messaggi di E-mail (PEM, PGP, S/MIME)
Applicazioni proprietarie (per controllo remoto, per realizzare moduli di sicurezza)
Per apparecchiature hardware (router, HW di rete)
Per applicazioni di e-commerce Per realizzare siti WEB sicuri
![Page 27: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/27.jpg)
Active XActive X Nome commerciale di un insieme di tecnologie e
servizi per lo sviluppo di applicazioni basate su componenti riutilizzabili
Fondata sul modello COM (Component Object Model) di Microsoft e sue estensioni (DCOM)
Permette lo sviluppo di componenti client, server e di middleware in un’ottica di programmazione in ambiente distribuito
Oggetti ActiveX:• applicazioni (*.exe) • servizi sw a caricamento dinamico (*.dll)• componenti sw (*.ocx e prima *.vbx)• applicazioni documento (internamente a IE *.exe, *.dll)
COMObject
![Page 28: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/28.jpg)
COM & DCOMCOM & DCOM
ServerServerClientClient
CO
MC
OM
Remote object onRemote object onany server any server
Object runningObject runningon clienton client
Object runningObject runningon clienton client
COM
![Page 29: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/29.jpg)
COM & DCOMCOM & DCOM
ComponentComponent
InprocessInprocess
ClientClient
LocalLocal
LPCLPC
COMCOMrun timerun time
COMCOMrun timerun time
SecuritySecurityproviderprovider RPCRPC SecuritySecurity
providerprovider RPCRPC
RemoteRemote
Protocol stackProtocol stack Protocol stackProtocol stack
DCOM network-DCOM network-protocolprotocol
![Page 30: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/30.jpg)
Controlli ActiveXControlli ActiveX Sono oggetti COM utilizzati come:
– componenti run-time ( forniscono classi di oggetti e funzioni)
– interfaccia GUI (da utilizzare in applicativi e web)
Per il programmatore sono oggetti con:– eventi– proprietà– metodi
Possono richiamare API di sistema Si utilizzano per realizzare pagine WEB attive
(scaricati tramite browser) Utilizzati da altri componenti o pilotati da
script (VB Script e Jscript) Fuzionano con IE 3.X e 4.X e Netscape
munito di appositi Plug-in
![Page 31: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/31.jpg)
Utilizzo nei browserUtilizzo nei browser
JavaApplet
JavaApplet
JavaScript™JavaScript™
VBScriptVBScript ActiveXControl
ActiveXControl
HTMLDocument
HTMLDocument
Non-HTMLDocument
Non-HTMLDocument
![Page 32: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/32.jpg)
Security in IExplorerSecurity in IExplorer I controlli activeX non hanno un modello di
sicurezza intrinseco (Java), ma vengono presi “a scatola chiusa”
Solo le credenziali che questi portano con sé (certificati e firma elettronica) vengono valutate per decidere se accettare o no il componente
L’utente può definire le proprie politiche di sicurezza (scegliere quali componenti attivare e scaricare a diversi livelli di granularità)
E’ sempre l’utente l’ultimo arbitro della propria security
![Page 33: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/33.jpg)
Authenticode (TM)Authenticode (TM) Codice wrappato in un
file *.CAB e firmato elettronicamente
Politiche diverse per controlli ActiveX e Applet Java
Utilizzo di certificati secondo lo standard di certificazione X.509
Identificazione dell’autore Validazione dell’integrità
del codice Accountability del
software scaricato
![Page 34: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/34.jpg)
Zone di sicurezzaZone di sicurezza Suddivisione dello spazio
degli indirizzi in 4 zone di sicurezza– Area Internet– Area Intranet– Area siti attendibili– Area siti con restrizioni
A ciascuna zona si associa un livello di sicurezza cui corrisponde un profilo di security
Sono 3 i livelli di sicurezza con policy predefinite
Un livello è personalizzabile dall’utente
![Page 35: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/35.jpg)
Livelli di sicurezzaLivelli di sicurezza Per il livello di sicurezza
definito dall’utente è possibile definire una propria policy di security (IE 4.X)
Su ogni componente (sia controllo activeX che applet Java) è possibile associare con appositi tool un livello di security predefinito (High, Medium, Low)
Solo sulle applet Java è possibile associare un profilo di security personalizzato includendo richieste d’accesso esplicite (I/O, accesso a funzioni di S.O, r/w HD, etc.)
![Page 36: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/36.jpg)
Livelli di sicurezza sul browserLivelli di sicurezza sul browser
HIGH
Applet - Livello di massima sicurezzaimposto dalla SANDBOXActiveX - A nessun controllo saràconsentito di funzionare
MEDIUM
Applet - Livello di massima sicurezzaimposto dalla SANDBOX + 1 MB discratch spaceActiveX - All'utente viene richiesto seaccettare il controllo
LOW
Applet - Nessun limite imposto dallaSANDBOX. Tutto è concessoActiveX - All'utente viene richiesto seaccettare il controllo
![Page 37: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/37.jpg)
Livelli di sicurezza sul Livelli di sicurezza sul componente firmatocomponente firmato
HIGHNon si richiedono permessiparticolari. Con le applet si operaall'interno della SANDBOX
MEDIUMCome il livello HIGH, ma con lapossibilità di operazioni di I/O nellazona di scratch (1MB)
LOWRichiesta di permessi d'accessoparticolari. Le applet richiedonol'allentamento della SANDBOX
![Page 38: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/38.jpg)
Procedura seguita per decidere se Procedura seguita per decidere se accettare un controllo ActiveXaccettare un controllo ActiveX
Si identifica la zona di sicurezza a cui appartiene il server da dove il componente è scaricato (in base all’indirizzo IP)
Si utilizza il livello di security definito per tale zona Nel caso dei 3 livelli predefiniti (High, Medium, Low) il
comportamento è quello dettagliato in tabella:
File CAB firmato con questo livelloHIGH MEDIUM LOW
HIGH Funziona inHigh
Query (Sì = Funz. in Medium) Query (Sì = Funz. in Low)
ZoneLevel
MEDIUM Funziona inHigh
Funziona in Medium Query (Sì = Funz. in Low)
LOW Funziona inHigh
Funziona in Medium Funziona in Low
![Page 39: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/39.jpg)
Procedura seguita per decidere se Procedura seguita per decidere se accettare un controllo ActiveXaccettare un controllo ActiveX
Nel caso del livello di sicurezza personalizzato, l’utente stabilisce la propria politica di security indipendentemente dal livello di security associato al componente
Per ogni tipo di componente da scaricare si può impostare il browser ad agire secondo tre diverse modalità:– ATTIVA: si accetta il componente senza nessun messaggio di
warning all’utente;– DISATTIVA: si rifiuta il componente (che perciò non verrà
eseguito) senza alcun messaggio di warning all’utente;– RICHIEDI: all’utente è mostrato un messaggio di warning con
la richiesta di decidere se accettare o no il componente.
![Page 40: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/40.jpg)
Procedura seguita per decidere se Procedura seguita per decidere se accettare un’applet Javaaccettare un’applet Java
Si opera analogamente ai controlli ActiveX per i livelli di security High, Medium e Low.
Se si usa un profilo di security personalizzato, il profilo di security impiegato nella firma dell’applet è confrontato con quello impostato nel browser. In base al confronto, il browser decide automaticamente senza l’intervento dell’utente quali permessi concedere e quali negare.
All’utente compare comunque allo scaricamento anche un messaggio di warning con elencati i privilegi richiesti dall’applet.
![Page 41: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/41.jpg)
Repository dei certificati di Repository dei certificati di IExplorerIExplorer
I certificati di autori ritenuti attendibili sono inseriti in un repository
I certificati per la firma del software sono rilasciati da apposite autorità di certificazione
![Page 42: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/42.jpg)
I contro di ActiveXI contro di ActiveX Non si è assicurati sui bugs e sul codice
malizioso contenuto nei controlli scaricati - Nessuna verifica del codice
I controlli possono chiamare API di sistema - Grande rischio
Possono contenere cavalli di troia o possono instaurare back-door
Problema di IE: assegnazione dei siti alle zone di security in base al loro indirizzo (address spoofing)
![Page 43: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/43.jpg)
I contro di ActiveXI contro di ActiveX Incapsulamento del codice (controlli
black-box)– non si può testare la bontà del controllo
Possibilità per controlli ostili di interferire con applicazioni server (COM/DCOM) quali gestori di transazioni o business critical
Si è costretti a firmare il software per utilizzarlo in IE
![Page 44: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/44.jpg)
Firma del codiceFirma del codice
Si aggiungono al codice Java una serie di istruzioni per accedere alle Java Capabilities API di Netscape
Le Java Capabilities API permettono di definire:– chi è abilitato a svolgere una data azione (identificato dalla
firma elettronica apposta in seguito) - CLASS PRINCIPAL– con che privilegi - CLASS PRIVILEGE– su quali risorse del sistema - CLASS TARGET
Si wrappa poi il codice in un file *.JAR e poi lo si firma con degli appositi tool (bisogna possedere: una chiave privata e la rispettiva chiave pubblica con il certificato della CA che l’ha validata)
l’applet (possono essere più d’una) è ora pronta per essere scaricata
![Page 45: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/45.jpg)
JavaJava Java: il linguaggio di programmazione di Sun
– portabilità grazie alla codifica bytecode e VM per ogni piattaforma
– linguaggio object -oriented puro– adatto all’implementazione di applicazioni di internetworking– sviluppo di Applicazioni o Applet (applicazioni che si scaricano
da un server tramite la rete e si eseguono in locale)
JDK 1.1: è il core implementato nei browser– oggi implementato in Netscape 4.04 (Symantec) e IExplorer
4.01 (implementazione proprietaria secondo le specifiche SUN)
– dalla versione 1.1.5 del JDK è stato inglobato il JIT Symantec– introduzione dei JavaBeans e API per la sicurezza (controllo
degli accessi e crittografia)
JDK 1.2 appena rilasciato
![Page 46: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/46.jpg)
Modello di sicurezza JavaModello di sicurezza Java Applicazioni Java: nessuna restrizione Applet Java: adottano il modello
chiamato SANDBOX che prevede:– controllo del bytecode Java (Bytecode verifier)
contenuto nei file *.class– controllo delle classi Java caricate in memoria
(Class Loader)– controllo della correttezza dei metodi secondo un
set di regole (Security Manager)
Un’applet deve passare i 3 check (tutti) per essere eseguita dal browser
![Page 47: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/47.jpg)
SandboxSandbox<APPLET <APPLET
CODE=DBApplet.CODE=DBApplet.class … class …
/APPLET>/APPLET>
Page.htmlPage.html
Server WEB
JVM
Java Virtual Machine
Internet
1
Bytecode
Verifier
2Class
Loader
3
DBApplet.classDBApplet.class
Name space 4
Security
Manager5 6
![Page 48: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/48.jpg)
Bytecode verifierBytecode verifier Verifica il bytecode alla ricerca di
comportamenti illeciti Viene controllato il formato di ogni porzione di
codice Utilizzo di un dimostratore di teoremi che:
– controlla gli oggetti istanziati– verifica l’incremento dei puntatori– verifica restrizioni d’accesso
Il bytecode ha una semantica più ricca di Java: la si può sfruttare per operazioni non ammesse dal linguaggio (minaccia)
![Page 49: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/49.jpg)
Class LoaderClass Loader Determina se, in run-time, può essere
aggiunta una classe all’ambiente Java Le classi sono caricate in zone di memoria
separate (name space) Le classi fondamentali del CORE Java stanno
in name space a cui sono assegnati i massimi privilegi (classi protette da corruzioni esterne)
Tutte le classi inserite nella variabile d’ambiente CLASSPATHCLASSPATH acquisiscono massimi privilegi (non sono controllate)
![Page 50: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/50.jpg)
Security ManagerSecurity Manager Controlla i metodi prima che siano eseguiti
basandosi su:– la classe di provenienza– un SET di regole predefinite
Controlla:– conflitti nell’assegnazione dello spazio dei nomi– chiamate ai processi del SO– l’accesso alle classi– operazioni di lettura/scrittura su HD– operazioni di I/O su socket
Se una condizione viene violata è sollevata una Security ExceptionSecurity Exception
Ogni browser implementa una propria versione
![Page 51: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/51.jpg)
Evoluzione del modello Evoluzione del modello di sicurezza Javadi sicurezza Java
Sandbox del JDK 1.02: modello valido (controllo e validazione codice) ma rigido
A partire dal JDK 1.1 allentamento delle restrizioni imposte dalla Sandbox per Applet con firma digitale
JDK futuri: ancora più flessibilità per Applet e Applicazioni in base a firma digitale, provenienza, tipo di azione svolta dal codice
![Page 52: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/52.jpg)
JDK 1.02 JDK 1.1 JDK futuriApplet Applicaz. Applet Applicaz. Applet Applicaz.
Lettura/scritturasu disco locale
no sì opzionale sì selezionabile selezionabile
Accesso aqualunque URL
no sì opzionale sì selezionabile selezionabile
Chiamata dicodice nativo
no sì opzionale sì selezionabile selezionabile
Firma del codice no no sì no sì sì
Evoluzione del modello Evoluzione del modello di sicurezza Javadi sicurezza Java
Opzionale: l’utente può scegliere da browser quali restrizioni della Sandbox allentare se l’applet è firmata
Selezionabile: modello per assegnare privilegi ad applicazioni e applet in modo più flessibile
![Page 53: Sicurezza di Server WEB e firma di componenti. Overview n Analisi dei tipi di attacco n Aspetti di security dei servizi web n Protezione del server web](https://reader033.vdocumenti.com/reader033/viewer/2022060106/5542eb76497959361e8e02ea/html5/thumbnails/53.jpg)
JDK 1.2 Security OverviewJDK 1.2 Security Overview