1
SICUREZZA MULTILIVELLO
Curzi Claudio
0000321770
2
ATTACCHI MISTI
Le minacce miste sono quelle applicazioni in grado di diffondersi come dei normali
virus o worm, ma che hanno anche la capacità di propagarsi (o di attaccare)
attraverso la vulnerabilità di sicurezza insite nel software e nei sistemi operativi.
Un virus misto tenta di infettare un sistema o un’applicazione attraverso il mass
mailing, diffondendosi massicciamente attraverso la posta elettronica, oppure
intaccando un software non aggiornato e sfruttando le falle di sistema non ancora
scoperte.
Un virus misto è in grado di:
- distruggere o alterare file presenti su HD;
- aprire backdoor, che consentono agli hacker di entrare;
- deposistare dei trojan.
Le minacce miste creano gli hacker “virtuali”, perché automatizzano l’entrata degli
hacker in un sistema.
Le 3 minacce miste più famose sono:
- Code Red
- Nimda
- JS/Scob-A
3
CODE RED
Code Red è un worm in grado di attaccare i computer che eseguono il software Internet
Information Server (ISS) di Microsoft.
Il primo attacco é stato rilevato il 12 luglio 2001, ed il 19 luglio è stato osservato il
maggior numero di host infettati: 359.000.
Code Red trae vantaggio da una vulnerabilitá in IIS, produce un buffer overflow (stringa
di caratteri ‘N’ arbitrariamente lunga) affinché risieda nella memoria del server,
successivamente, per propagarsi, controlla gli indirizzi IP sulla porta 80 del computer
per verificare se il server web è vulnerabile.
Sfruttando il buffer overflow non controllato, Code Red provocava il crash dei server
web basati su NT ma eseguiva il codice sui sistemi Windows 2000.
4
NIMDA
Nimda è un worm, scoperto nel settembre 2001. Si è diffuso rapidamente, offuscando il
danno economico causato da precedenti worms, come ad esempio “Code Red”. I
vettori a propagazione multipla hanno permesso a Nimda di diventare il più diffuso
worm/virus di Internet nell’arco di appena 22 minuti. A causa della data di rilascio,
alcuni media cominciarono immediatamente a speculare a proposito di un (possibile)
collegamento tra il virus e Al Qaeda, sebbene questa correlazione si sia rivelata essere
non veritiera.
Nimda ha colpito sia “computer client” che utilizzavano Windows 95, 98, Me, NT o
2000, sia computer di tipo server che si servivano di Windows NT e 2000. Nimda è
stato così efficace perché, a differenza di altri worms famosi come Code Red,
utilizzava 5 diversi vettori di infezione:
1. Via email
2. Tramite una rete condivisa aperta
3. Attraverso la navigazione di siti web compromessi
4. Attraverso lo sfruttamento delle vulnerabilitá di Microsoft IIS
5. Usando le back doors degli altri worm, come ad esempio Code Red.
5
JS/SCOB-A
L’attacco da parte del virus JS/Scob-A avvenuto a cavallo tra giugno e luglio 2004 ha
attirato l’attenzione su questa nuova forma di minaccia in grado di usare Internet per
diffondere il proprio codice maligno.
I computer di ignari visitatori di alcuni siti infetti si ritrovavano a loro volta attaccati dal
virus, che sfruttava a questo scopo delle vulnerabilità presenti in Internet Explorer e
in alcuni server Web.
Quando i visitatori capitavano sui siti infetti subivano un reindirizzamento verso un sito
russo dove, a loro insaputa e attraverso un trojan, venivano infettati da un keylogger.
L’insidia rimaneva presente sul computer infetto, aspettando di rilevare una visita a
determinati siti (di solito siti bancari) e a quel punto il keylogger iniziava a registrare
tutto quello che veniva digitato sulla tastiera. In questo modo, tutte le informazioni
riservate (username, password, numero di conto) venivano trasferite direttamente al
computer dell’hacker situato in Russia.
6
DEFINIZIONI
OGGETTI: Una qualunque entità passiva che necessita di essere protetta (file, pagine di
memoria, segmenti, drive, record, stampanti …).
SOGGETTI: Una qualunque entità attiva che può manipolare gli oggetti (persone,
processi).
SECURITY POLICY: l’insieme di principi e regole per definire i possibili accessi al
sistema. Un sistema operativo può essere considerato trusted solo in relazione alla
sua security policy, cioè alle esigenze di protezione che il sistema dovrebbe
soddisfare.
Due tipi di security policy:
 Militari
 Commerciali
7
SECURITY POLICY MILITARI (1/3)
Le security policy militari sono basate sulla protezione delle informazioni classificate:
ogni informazione viene classificata con un particolare livello di importanza.
Non classificato
Limitato
Riservato
Segreto
Top secret
8
SECURITY POLICY MILITARI (2/3)
I vari livelli formano una gerarchia e riflettono un ordine di sensibilitá crescente: le
informazioni a un particolare livello sono meno sensibili delle informazioni nel livello
superiore e piú importanti di quelle del livello sottostante.
L’accesso alle informazioni è limitato dalla regola deve-conoscere: l’accesso ai dati
sensibili è consentito solo ai soggetti che devono conoscere quei dati per eseguire il
loro lavoro. Ogni informazione classificata puó essere associata ad uno o piú progetti,
chiamati scomparti, che descrivono il soggetto delle informazioni.
Uno scomparto puó coprire le informazioni a un solo livello, oppure puó includere le
informazioni a diversi livelli di sensibilitá.
Una persona che richiede l'accesso alle informazioni deve essere autorizzata per
accedervi, il livello di autorizzazione indica che a una particolare persona, e non ad
un'altra, è stata concessa la fiducia per accedere a particolari informazioni di un
determinato livello; non è detto, ovviamente, che la stessa persona possa accedere ad
informazioni di un livello superiore.
La combinazione <livello; scomparto> é chiamata classe o classificazione di
un’informazione. In questo moto è possibile imporre la regola deve-conoscere sia per
il livello di sicurezza, sia per argomento.
9
SECURITY POLICY MILITARI (3/3)
Una relazione <, chiamata dominanza, viene definita per gli insiemi di oggetti e
soggetti.
Si esprime: s domina o se o < s.
La dominanza viene utilizzata per limitare la sensibilità e il contenuto delle
informazioni a cui un soggetto può accedere. Un soggetto infatti può leggere un
oggetto solo se:
- Il livello di autorizzazione del soggetto è alto almeno quanto quello delle
informazioni
- Il soggetto deve conoscere tutti gli scomparti per cui vengono classificate le
informazioni.
Con queste condizioni si può affermare che il soggetto domina l’oggetto.
La sicurezza militare impone sia i requisiti di sensibilità che i requisiti deve-conoscere: i
primi sono detti gerarchici perché riflettono la gerarchia dei livelli di sensibilità,
mentre le limitazioni deve-conoscere sono non gerarchiche perché gli scomparti
non riflettono necessariamente una struttura gerarchica.
Questo modello è adatto per un’impostazione in cui l’accesso è controllato in modo
rigido da una autorità centrale.
10
SECURITY POLICY COMMERCIALI
Le imprese commerciali hanno problemi di protezione significativi, e nonostante il loro
sistema sia meno rigido e strutturato, si trovano concetti comuni alle security policy
militari.
In questa realtá sono presenti i reparti, composti dai soggetti che svolgono funzioni
dello stesso tipo, e i progetti che necessitano di parti dei dati aziendali per poter
essere svolti.
I dati di qualsiasi livello possono avere diversi gradi di sensibilitá:
 Pubblico
 Proprietario
 Interno
Funzione principale di questa security policy è garantire l’integrità dei dati, infatti, ad
esempio in una banca, se i dati dei vari conti correnti potessero essere alterati, si
creerebbero grossi effetti per quanto riguarda la finanza e la fiducia degli individui
verso il mondo finanziario.
11
MODELLI DI SICUREZZA
Specifiche formali che descrivono l’implementazione di una determinata politica di
sicurezza in modelli ideali.
Utilizzati per:
- Verificare la completezza e la coerenza di un particolare policy;
- Documentare una policy;
- Aiutare a concettualizzare e progettare un’implementazione;
- Controllare se un’implementazione soddisfa i suoi requisiti.
Esistono due tipi di modelli di sicurezza:
- Discretionary Access Control (DAC);
- Mandatory Access Control (MAC).
12
DAC
Meccanismo attraverso il quale gli utenti possono liberamente decidere di garantire
revocare l’accesso a determinati oggetti.
PROPRIETA’:
1) Gli utenti amministrano i dati che possiedono;
2) Il proprietario dei dati può autorizzare (GRANT) altri utenti all’accesso;
3) Il proprietario può definire il tipo di accesso da concedere ad altri (lettura, scrittura,
esecuzione);
4) Accessi selettivi (basati su nome, contenuto, parametri di sistema, storia,
aggregazione dati).
13
MAC
Meccanismo attraverso il quale le decisioni di accesso sono basate su delle etichette che
contengono informazioni rilevanti circa la sicurezza di un oggetto.
PROPRIETA’:
1) Classificazione dei dati (livello di sensibiltà);
2) Classificazione dei soggetti (autorizzazione);
3) Classe di sicurezza: <livello; scomparto>;
4) Ordinamento tra le classi di sicurezza (relazione domina);
5) I meccanismi di sicurezza devono garantire che tutti i soggetti abbiano accesso solo ai
dati per cui possiedono le autorizzazioni appropriate (regole soggetti-oggetti );
6) Non si possono propagare privilegi (GRANT).
14
MODELLI TIPICI DI MAC
Diversi approcci alle politiche di sicurezza:
-
Confidenzialitá  BELL-LA PADULA
-
Integrità  BIBA
-
Ibrido  Chinese Wall
15
MODELLI DI SICUREZZA MULTILIVELLO
Modelli che rappresentano un gruppo di sensibilità e che riflettono l’esigenza di
separare i soggetti dagli oggetti per i quali non dovrebbero disporre l’accesso.
Una generalizzazione del modello militare per la protezione delle informazioni è stata
adottata come modello per la protezione dei dati all’interno dei sistemi operativi.
Bell e La Padula sono stati i primi a descrivere le proprietá della politica militare con
una notazione matematica, mentre Denning ha formalizzato per primo la struttura di
questa politica.
Il modello generalizzato è chiamato modello reticolare di protezione, perché i suoi
elementi formato una struttura matematica chiamata reticolo.
Il modello di protezione militare rappresenta uno schema chiamato reticolo.
La relazione di dominanza in questo modello è la relazione per il reticolo: la relazione <
è transitiva e anti-simmetrica. L’elemento più grande del reticolo è:
<top secret; tutti gli scomparti>
e domina tutti gli elementi.
Questa tecnica può essere applicata anche all’ambiente commerciale, utilizzando
etichette diversi per i gradi di sensibilità.
16
MODELLO RETICOLARE
60
12
4
20
6
2
30
10
3
1
15
5
17
MODELLO BELL-LA PADULA (1/2)
E’ una descrizione formale dei percorsi consentiti per il flusso delle informazioni in un
sistema sicuro. L’obiettivo del modello è identificare le vie di comunicazione
utilizzabili quando è importante mantenere la segretezza.
Enfasi sulla confidenzialità.
E’ una formalizzazione della security policy militare (livelli di sensibilità).
Le entità in questo modello sono:
- soggetti -> a cui sono assegnati dei clearence levels;
- oggetti -> a cui sono assegnati i sensitivity levels.
I clearance levels e i sentitivity levels sono chiamati access classes (classi di accesso),
e consistono di 2 componenti:
1) Security level: elemento basato sull’ordinazione, è costituito da una classificazione
gerarchica (top secret > segreto > riservato > …);
2) Category set: insieme di categorie dipendenti dall’applicazione in cui i dati sono
usati, indica il settore di appartenenza (prodotti commerciali, posta elettronica,…)
-
18
MODELLO BELL-LA PADULA (2/2)
Ogni soggetto può accedere agli oggetti attraverso diversi access modes (modi
di accesso): read, append, execute, write.
Una classe di accesso (L,C) domina un’altra classe di accesso (L’,C’) se e solo
se
- L’ ≤ L
- C’  C.
E’ nescessario espandere il modello addizionando un gruppo di categorie per
ogni classificazione di sicurezza.
Ogni categoria descrive una specie di informazioni.
Queste categorie risultano dal principio del “need to know”: gli stati in cui i
soggetti non possono leggere gli oggetti a meno che non è necessario per
eseguire determinate funzioni.
19
PROPRIETÁ BELL-LA PADULA:
- C(S) è l’insieme delle classi di accesso di un soggetto S.
- C(O) è l’insieme delle classi di accesso di un oggetto O.
Il flusso sicuro delle informazioni è caratterizzato da due proprietà:
1) Simple Security Condition:
S può leggere O se e solo se C(O) < C(S).
2) *-Property (Star property):
S che ha accesso in lettura su O, puó avere accesso in scrittura su un oggetto P solo se
C(O) < C(P).
Quest’ultima proprietá afferma che il contenuto di un oggetto sensibile puó essere
scritto solo negli oggetti con una classe alta almento quanto la classe del contenuto.
Nel modello militare ció si rispecchia nel fatto che una persona che ottiene informazioni
a un livello puó passare quelle informazioni solo a persone con livelli non inferiori
rispetto al livello delle informazioni; ció impedisce la scrittura su un livello inferiore
che si verifica quando un soggetto con accesso a dati di alto livello trasferisce quei
dati mediante la scrittura in un oggetto di basso livello.
20
ESEMPIO BELL-LA PADULA
CATEGORIE: posta elettronica (E), prodotti commerciali (C), amministrazione (A).
INSIEME DI CATEGORIE: Ø, {E}, {C}, {A}, {E,C}, {E,A}, {C,A}, {E,C,A}.
Paul
George
DocA
DocB
DocC





(SEGRETO, {E, C, A})
(SEGRETO, {C, A})
(RISERVATO, {A})
(SEGRETO, {E, C})
(TOP-SECRET, {E, C})
{E,C,A}
{E,C}
Paul
Paul
DocC
George
dom
dom
dom
dom
DocA
DocB
DocB
DocA
{E}
Paul ha accesso in lettura su DocA e DocB.
George ha accesso in lettura su DocA.
Paul puó scrivere (divulgare) il contenuto di DocB in DocC.
{C,A}
{E,A}
{C}
Ø
{A}
21
MODELLO DI BIBA
Il sistema consiste in un insieme S di soggetti, O di oggetti e un insieme I di livelli di
integrità (ordinati).
Enfasi sull’integrità (non è importante chi legge l’informazione ma chi la produce e/o
modifica).
Alle classi di protezione (della riservatezza) del modello di Bell-La Padula fanno da
controparte nel modello di Biba le classi di integrità I(S), I(O).
Proprietà dell'integrità semplice:
Un soggetto S può avere accesso in lettura ad un oggetto O solo se I(O) < I(S).
Proprietà * dell'integrità:
Se un soggetto S ha accesso in lettura a un oggetto O, allora S può avere accesso in
scrittura a un oggetto P solo se I(P) < I(O).
Nel modello di Biba, scrittura è intesa come possibilità di modifica dell'informazione
ciascuno dei due modelli reticolari visti protegge uno solo di due aspetti della
sicurezza, entrambi fondamentali.
Allo stato attuale, nessun modello formale di largo impiego li copre entrambi in misura
soddisfacente.
22
MODELLO CHINESE WALL (1/3)
23
MODELLO CHINESE WALL (2/3)
La politica di sicurezza della Muraglia Cinese è una politica di sicurezza che garantisce la
confidenzialità e l’integrità delle informazioni attraverso regole di lettura e scrittura.
L’idea base è di controllare il flusso di dati tra aziende concorrenti, limitando l’accesso
alle informazioni riservate di una data compagnia da parte di consulenti finanziari.
Impedire che sorgano conflitti d’interesse.
C’è conflitto di interesse quando un soggetto compie un’azione che potrebbe
produrre un vantaggio per l’attore dell’azione stessa.
La politica di sicurezza Chinese Wall distingue pertanto le informazioni in due aree:
1) Insider area: contenente informazioni riservate sulla società, al quale possono
accedere solo alcuni soggetti.
2) Public area: contenente informazioni che le società distribuiscono obbligatoriamente
e quindi accessibili a tutti, ad es. l’annuale rendiconto degli stackholder.
24
MODELLO CHINESE WALL (3/3)
All’interno della muraglia tutte le informazioni riservate sono archiviate
gerarchicamente in 3 livelli:
- Al livello più basso, troviamo gli OGGETTI
- Nel livello intermedio, si posizionano i CD (Company Dataset)
- Al livello più alto, le CD COI (Conflict Of Interest) class.
OGGETTI: files contenenti singoli dati delle società. Ad ogni oggetto è
associato il nome della CD al quale si riferisce e il nome della COI class al
quale la CD appartiene.
CD: tutti gli oggetti che si riferiscono ad una data società vengono raggruppati
insieme in un database.
COI: tutte le CD delle società in concorrenza tra loro vengono raggruppate
insieme e costituiscono la CD Classe di conflitti d’interesse.
25
PROPRIETÁ CHINESE WALL:
Sicurezza Semplice: L’idea base della politica della Muraglia Cinese consiste nel far
in modo che le persone entrino in possesso di informazioni che non siano in conflitto
con quelle già possedute dallo stesso (i soggetti per poter accedere alle informazioni
non devono essere dalla parte sbagliata del muro).
Regole di accesso:
- Regole di lettura
- Regole di scrittura.
Regola di Lettura: Un soggetto S puo’ leggere un oggetto O se:
- O e’ nello stesso Dataset di uno gia’ letto da S, sono cioè all’interno del muro
- O appartiene a una Classe di COI diversa in cui S non ha ancora letto alcuna
informazione.
Regola di Scrittura: Un soggetto S puo’ scrivere un oggetto O se:
- S puo’ leggere O in base alla regola di lettura
- Non e’ stato letto alcun oggetto appartenente ad un Dataset diverso a quello
contenente O.
26
SICUREZZA NEI SISTEMI OPERATIVI
Un S.O. controlla l’interazione tra soggetti e oggetti, pertanto è necessario considerare la
protezione in ogni aspetto della progettazione: la struttura del S.O. deve includere le
definizioni degli oggetti che saranno protetti e dei soggetti che avranno accesso agli
oggetti.
Un S.O. “normale” utilizza particolari funzioni che riguardano la sicurezza:
- Autenticazione degli utenti
- Protezione della memoria
- Controllo degli accessi alle periferiche di I/O e ai file
- Allocazione e controllo degli accesso agli oggetti generici
- Rafforzamento della condivisione
- Garanzia di servizio equo
- Sincronizzazione e comunicazione tra processi
- Protezione dei dati di protezione del sistema operativo
27
SICUREZZA NEI SISTEMI OPERATIVI
28
SISTEMA OPERATIVO TRUSTED
I S.O. trusted incorporano una tecnologia relativa sia alle funzionalitá sia alla fiducia.
Funzionalità:
- Autenticazione e identificazione utente
- Controllo degli accessi obbligatorio (MAC)
- Controllo degli accessi discrezionale (DAC)
- Protezione del riutilizzo degli oggetti
- Mediazione completa
- Percorso trusted
- Controllo (audit)
- Riduzione del registro di controllo
- Rilevamento intrusioni
29
SISTEMA OPERATIVO TRUSTED
30
SISTEMA OPERATIVO TRUSTED
3 modalitá di progettazione di un sistema operativo trusted:
1) Basata sul kernel
2) Isolamento
1) Strutturazione a strati
31
1) KERNEL DI SICUREZZA
Il kernel di sicurezza fornisce le interfacce di protezione tra l’hardware, il sistema
operativo e altre parti del sistema informatico; generalmente il kernel di sicurezza è
contenuto nel kernel del sistema operativo.
Vantaggi:
o Copertura
o Separazione
o Unità
o Modificabilità
o Compattezza
o Verificabilità
Svantaggi:
 Prestazioni
La parte piú importante di un kernel di sicurezza è il monitor di riferimento, cioè la
porzione che controlla gli accessi agli oggetti.
32
MONITOR DI RIFERIMENTO
Funge da muro intorno al sistema operativo, deve essere:
- A prova di intrusione
- Invocato sempre quando è richiesto l’accesso a un qualsiasi oggetto
- Abbastanza piccolo da essere soggetto ad analisi e verifiche, da cui puó esserne
garantita la completezza.
Chiaramente puó controllare gli accessi in modo efficace solo se non puó essere
modificato o aggirato da un processo rouge, ed è il singolo punto da cui devono
passare le richieste di accesso; inoltre deve funzionare correttamente per adempiere
al suo ruolo cruciale per l’impostazione della protezione.
Visto che la probabilitá di comportamenti corretti diminuisce con l’aumento della
complessitá, la migliore garanzia di impostazione corretta delle policy è la
costruzione di un piccolo e semplice monitor di riferimento.
33
2) ISOLAMENTO
I S.O. dovrebbero isolare ogni utente dagli altri, consentendo solamente interazioni
controllate.
4 modi per separare un processo dagli altri:
1) Fisica: processi diversi utilizzano diverse infrastrutture hardware; ad esempio, i
calcoli sensibili possono essere eseguiti su un sistema informatico riservato, mentre
le attivitá non sensibili vengono invece eseguite su un sistema pubblico
2) Temporale: processi diversi eseguiti in tempi diversi
3) Crittografica: processi diversi eseguiti contemporaneamente, attraverso la crittografia
dei dati sensibili
4) Logica: quando un processo come un monitor di riferimento separa gli oggetti di un
utente da quelli di un altro.
34
3) STRATI
Sottoprocessi dei processi utente
Processi utente
Compilatori, gestori di db
Modulo autenticazione utente
Funzioni di utilitá
File system
Pianificazione, condivizione,
gestione della memoria
S.O.
Sincronizzazione,
allocazione
Kernel
S.O.
Kernel
sicurezza
Funzioni di
protezione
hardware
35
SICUREZZA MULTILIVELLO NEI DB
La sicurezza dei dati in un DB non puó essere suddivisa in 2 sole categorie: dati sensibili
e non sensibili, ma deve tener conto di 3 caratteristiche fondamentali:
1) La sicurezza di un singolo elemento puó essere diversa dalla sicurezza di altri
elementi dello stesso record o da altri valori dello stesso attributo;
2) Due livelli non sono adeguati per rappresentare situazioni di protezione esaustive, di
norma i gradi di protezione formano un reticolo;
3) La sicurezza di un dato aggregato puó essere diversa dalla sicurezza dei singoli
elementi.
Questi principi portano a un modello di protezione non diverso dal modello militare di
sicurezza, in cui la sensibilitá di un oggetto è definita come uno degli n livelli ed è
ulteriormente separata in scomparti per categoria.
A causa della ridotta granularitá degli elementi, l’implementazione della sicurezza
multilivello nei DB è piú difficile di quella nei sistemi operativi.
2 modalitá di progettazione:
- Separazione
- Struttura DB sicuri
36
1) SEPARAZIONE
La separazione è necessario per limitare gli accessi.
Meccanismi:
1) PARTIZIONAMENTO: database diviso in livelli separati ognuno con il proprio livello
di sensibilitá.
2) CRITTOGRAFIA: ogni livello di dati sensibili puó essere memorizzato in una tabella
crittografata con una chiave univoca per il livello di sensibilitá.
3) BLOCCO DELL’INTEGRITA’: ogni elemento viene “dipinto” con un colore che ne
denota la sensibilitá; la colorazione viene tenuta insieme all’elemento. Questo blocco
è composto da un dato, una sensibilitá e un checksum crittografico, quest’ultimo
utilizzato come codice di rilevamento degli errori.
4) BLOCCO DI SENSIBILITA’: combinazione tra un identificatore univoco e il livello di
sensibilitá: data l’univocitá dell’indentificatore, ogni blocco è relativo ad un
particolare record.
37
CRITTOGRAFIA
Se un dato sensibile è cifrato, un utente che riceve accidentalmente questo dato non può
interpretarlo: di conseguenza ogni livello di dati sensibili può essere memorizzato in
una tabella cifrata con un'unica chiave.
Questa tecnica comporta alcuni svantaggi, infatti un utente può effettuare un attacco
chosen plaintex (testo in chiaro conosciuto).
Una soluzione puó essere quella di utilizzare una chiave crittografica diversa per ogni
record, peró ció comporta la decrittazione di ogni campo anche durante l’esecuzione
di operazioni standard sul database.
38
BLOCCO DELL’INTEGRITA’
Il blocco è un modo per fornire integritá e accesso limitato a un database; l’operazione
viene soprannominata “vernice spray” perché ogni elemento viene dipinto, in senso
figurato, con un colore che ne denota la sensibilitá.
La colorazione viene mantenuta insieme all’elemento.
Il testo viene mantenuto in chiaro per un fatto di efficienza.
39
BLOCCO DI SENSIBILITA’
Un lock di sensibilità è una combinazione di un identificatore unico (il numero di un
record) e il suo livello di sensibilità. Poichè l'identificatore è unico, ciascun lock
d'integrità si riferisce ad un particolare record. Molti elementi diversi possono avere
lo stesso livello di sensibilità.
Un soggetto malevolo non dovrebbe poter identificare due elementi che hanno identico
livello di sensibilità o valori identici dei dati solo guardando alla porzione di livello di
sensibilità del Lock. A causa della cifratura, i contenuti del Lock, specialmente il
livello di sensibilità, sono celati alla vista.
Il Lock è associato ad un record specifico e protegge la segretezza del livello di
sensibilità di quel record.
40
2) STRUTTURE DB SICURI
Diverse strutture possibili per avere database sicuri a piú livelli, tali strutture offrono
compromessi tra efficienza, flessibilitá, semplicitá e attendibilitá.
- BLOCCO D’INTEGRITA’: soluzione a breve termine, inefficienza dovuta allo
spazio necessario per archiviare un elemento che deve essere aumentato per
contenere l’etichetta della sensibilitá.
- FRONT END TRUSTED: sfrutta gli strumenti giá esistenti, migliorando la
sicurezza di essi con modifiche minime al sistema; funge da filtro unidirezionale,
scartando i risultati delle query a cui l’utente non dovrebbe essere in grado di
accedere; poco efficiente perché vengono recuperati piú dati del necessario.
- FILTRI COMMUTATIVI: analizza la richiesta dell’utente e la riformatta in modo
da restituire all’utente solo i dati con il livello di sensibilitá appropriato.
- DATABASE DISTRIBUITI: un front end trusted controlla l’accesso a due DBMS:
uno per i dati a bassa sensibilitá e uno per i dati con sensibilitá alta; poco utilizzato
perché il front end deve essere complesso e potrebbe includere la maggior parte delle
funzionalitá di un intero DBMS.
41
STRUTTURA BLOCCO DELL’INTEGRITA’
42
STRUTTRA FRONT END TRUSTED
43
FILTRI COMMUTATIVI
Un semplice esempio è la query:
retieve NAME where (( OCCUP = PHYSICIST) AND (CITY = WASHDC))
Si supponga che alcuni fisici di Washington lavorino su un progetto molto sensibile, in
modo che l'utente corrente non sia abilitato ad accedere ai nomi dei fisici.
Un DBMS convenzionale potrebbe avere accesso a tutti i record e potrebbe quindi
passare il risultato di questa query all'utente. Tuttavia, come abbiamo visto, l'utente
potrebbe essere capace di inferire dati sui fisici di Washington che lavorano su un
progetto segreto senza avere accesso direttamente a questi campi.
Il filtro commutativo riformula la query originale in maniera fidata, in modo che le
informazioni sensibili non siano mai estratte dal DB.
Una riformulazione della query potrebbe essere:
retrieve NAME where (( OCCUP = PHYSICIST) AND (CITY = WASHDC))
from all record R where
(NAME-SECRECY-LEVEL (R) <= USER-SECRECY-LEVEL) AND
(OCCUP-SECRECY-LEVEL (R) <= USER-SECRECY-LEVEL) AND
(CITY-SECRECY-LEVEL (R) <= USER-SECRECY-LEVEL)
44
STRUTTURA FILTRI COMMUTATIVI
45
STRUTTURA DATABASE DISTRIBUITI
46
SICUREZZA MULTILIVELLO NELLA RETE
Il modello Multi Layer Securtity (MLS) si basa su 4 livelli di intervento:
 Network Layer Security:
 IPSec
 Transport Layer Security:
 SSL
 Application Layer Security:
 S/MIME: security e-mail
 DNS security extensions
 SSH: secure telnet
 Client Layer Security:
 Controllo della sicurezza degli host
47
BIBLIOGRAFIA
•
•
•
•
•
•
•
•
http://en.wikipedia.org/wiki/Nimda_(computer_worm)
http://en.wikipedia.org/wiki/Code_Red
http://it.wikipedia.org/wiki/Politiche_di_sicurezza_militari
C. Pfleeger, S. Pfleeger: “Sicurezza in informatica”
Matt Bishop: “Introduction to Computer Security”
William Stallings: “Sicurezza delle reti”
http://it.wikipedia.org/wiki/Modello_di_riservatezza_di_Bell-LaPadula
http://www.websense.com/docs/WhitePapers/AvoidingNewestSecurityThr
eatswebisanattackvector_IT.pdf
• http://www.cs.stthomas.edu/faculty/resmith/r/mls/
• http://www.postini.com/legal/security_backgrounder.php
• http://www.iit.cnr.it/staff/fabio.martinelli/mf2-2005.pdf
Scarica

Presentazione - Dipartimento di Informatica