Sistemi Operativi Sicuri
versione 1.0.5
Appunti
:::::::::::
9 febbraio 2007
Indice
7 JFS overview
8
1 Diritti
2 8 XFS
8
2 Sistema operativo
2 9 Reiser FS
8
3 Kernel linux vs Windows
2 10 Jounaling
3 11 SAN - Storage Area Network
8
4 Complessità codice
5 Hardening
3
6 NTFS
3
6.1
6.2
6.3
6.4
6.5
6.6
MFT Master File Table . . .
NTFS System File . . . . . .
NTFS File Attributes . . . .
Reparse point . . . . . . . . .
NTFS - Windows . . . . . . .
Architettura del File System
Driver . . . . . . . . . . . . .
6.7 Operazioni del le system . .
6.8 File system lter drivers . . .
11.1 Vantaggi . . . . . . . . . . . .
11.2 File System . . . . . . . . . .
9
10
10
11
4 12 Biometria
12.1
Fingerprint
.
.
.
.
.
.
.
.
.
.
11
5
12.2
Iris
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12
6
12.3 Face . . . . . . . . . . . . . . 13
6
12.4 Hand geometry . . . . . . . . 13
6
12.5 Voice . . . . . . . . . . . . . . 14
7
12.6 Vascular Pattern Recognition 14
7
8 Bibliograa
15
3
2
Kernel linux vs Windows
1 Diritti
SA) ha dei diritti sui le che gestisce?.
Il system administrator (
Alcuni si, altri no; infatti è l'amministratore delegato che decide ed ha tutti
i diritti, tuttavia molte scelte vengono delegate anche per necessità tecniche
e per competenza al SA.
Gli utenti vantano anche loro dei diritti, cioè quelli di creazione, modica,
cancellazione, dei le da loro creati per gli scopi aziendali. Esistono quindi
molti diritti spalmati su molti settori di una azienda, il SA deve governarli
tutti.
Un sistema è sicuro quando
sibili.
protegge il proprio contenuto di dati sen-
Il concetto di garantire la sicurezza del dato è molto importante, il
sistema infatti può essere sicuro pur avendo subito un crash ma non avendo
perso nemmeno un dato.
Nella azienda esistono molte gure, amministratore delegato, quadri, impiegati, soci. . . ogni persona ha un concetto di sicurezza diverso, il SA deve
progettare delle politiche di sicurezza che vadano bene a tutti; senza causare
dei disservizi oppure delle barriere dovute alla troppa sicurezza implementata
che causerebbe l'abbandono di tale sistema. Come concetto onnipresente:
Tutto quello che non c'è non si rompe
2 Sistema operativo
SO ),
Il sistema operativo (
è un sistema
dinamico,
in continua evoluzione;
un sistema è sicuro quando è equilibrato.
Un SO, non sarà mai un sistema equilibrato e stabile in quanto è un sistema
dinamico.
3 Kernel linux vs Windows
Confrontando in modo sommario i due tipi di implementazione, si evince che
il kernel di linux è più dicile da gestire in termini di sicurezza ma si interfaccia alle periferiche in modo esemplare; mentre il kernel di windows, necessita
di un micro-kernel per uniformare l'accesso alle periferiche che comunque non
è ben distinto come quello linux o unix-like.
6
3
NTFS
4 Complessità codice
Risulta evidente comprendere che il kernel è molto un oggetto molto complesso, infatti molte parti dello stesso sono scritte anche in assembler.
Ad esempio, un programmatore scriverà una
fopen,
ad alto livello, e nel
kernel, si ripercuoterà un SRB, SCSI request block, che poi verrà passato al
port driver.
Una versione del virus CIH, che andava a modicare un le nel sistema, intercettava l'IRQ destinato al SO che era partito dall'hardware, e forniva al
SO e quindi agli antivirus di vecchia generazione la copia originale del le;
gli antivirus di oggi agiscono all'IRQ level 1 (il punto più basso a cui si può
arrivare, esiste anche IRQ level 0) dal punto di vista delle loro rme.
5 Hardening
Intendiamo un raorzamento di un sistema già esistente.
Se ricompilo il
kernel di linux ad esempio, quello non è considerato hardening.
6 NTFS
L'NTFS può essere considerato il FS
non clustered
più sosticato al mondo.
Dopo aver formattato un disco con NTFS, si ottiene un risultato mostrato
in Figura 1 a Pagina 3.
Figura 1: Struttura del volume NTFS
•
NTFS Partition Boot Sector [2]
•
NTFS Master File Table (MFT) [3]
Novità introdotte rispetto al NTFS5 (windows 2000):
• Encryption :
The Encrypting File System (EFS).
• Disk Quotas :
usate per monitorare e limitare l'uso del disco.
• Reparse Points :
sono un oggetto nuovo del le system, possono essere
applicati a le o directory.
•
...
6
4
NTFS
6.1 MFT Master File Table
Ogni le di un disco formattato NTFS, è rappresentato tramite un record in
un particolare le chiamato
master le table (MFT)
[3].
NTFS riserva i primi 16 record della tabella per delle informazioni speciali.
Il primo record della tabella, serve per descrivere la MFT, seguita da una
copia dell'MFT. Se questo primo record è corrotto, NTFS, legge il secondo
record per sapere dove si trova la seconda copia dell'MFT in quanto sono le
due copie dell'MFT sono identiche.
La posizione delle MFT si trova nel boot sector. Il terzo record della MFT,
è un le di log, usato per il recovery. I record successivi al diciassettesimo
sono riservati per le informazioni dei le e directory. Un esempio di MFT è
mostrato in Figura 2 a Pagina 4.
Figura 2: MFT - NTFS
6
5
NTFS
6.2 NTFS System File
NTFS ha parecchi le di sistema nascosti. La Tabella 1 a Pagina 5, ne mostra
alcuni.
System le
MFT
le name
MFT record
$Mft
0
Funzione
Contiene i record
per
ogni
le
directory
e
di
un
volume NTFS
MFT2
$MftMirr
1
logFile
$LogFile
2
La
copia
della
MFT originale
La
copia
della
MFT originale
Volume
$Volume
3
Contiene
in-
formazioni
co-
me
l'etichetta,
versione
Root
le
name
$
5
La directory root
$Bitmap
6
Rappresenta ogni
index
Cluster bitmap
cluster del volume e speica quali
sono
quali
attivi
no.
traverso
e
At-
un
1
o
0.
Security le
$Secure
9
Contiene
scrittore
per
ogni
un
de-
univoco
le
al-
l'interno del volume
12-15
Per usi futuri
Tabella 1: Metadati nella the Master File Table
6
6
NTFS
6.3 NTFS File Attributes
Attributo
Descrizione
Standard Information
timestamp.
Attribute List
La posizione di tutti gli attributi non
contenuti nella MFT.
File Name
Security Descriptor
Chi è il proprietario e chi può averne
accesso.
Data
Object ID
Usato
per
i
collegamenti
distribuiti.
Alcuni le non lo possiedono.
Logged Tool Stream
Usato dall'EFS.
Reparse Point
Index Root
Usato per creare directory o altri indici.
Index Allocation
Usato per creare directory o altri indici.
Bitmap
Usato per creare directory o altri indici.
Volume Information
Volume Name
Usato solo nel $Volume system le.
Usato
solo
nel
$Volume
system
le.
Contiene l'etichetta.
Tabella 2: Attributi le
6.4 Reparse point
Esempio: ricerca di un le.
Passo 1
query sulla MFT dove si trova quel le?
Passo 2
il le cercato si trova nel cluster
Passo 3
quando leggo il cluster
xy ,
xy
non trovo il le ma un riferimento ad
esso, un link
Passo 4
il link mi dice dove si trova sicamente il le cercato
Questa funzionalità serve ad esempio per la deframmentazione.
6.5 NTFS - Windows
Windows, supporta diversi File System:
6
7
NTFS
•
CDFS
•
UDF
•
FAT12,16,32
•
NTFS
6.6 Architettura del File System Driver
1
Il le system driver (FSD), gestisce il le system format . Windows ha due
tipi di FSD:
•
local FSDs
•
network FSDs (non trattato)
Ntfs.sys, Fastfat.sys, Udfs.sys, Cdfs.sys ).
Local FSD include (
Il primo set-
tore di ogni le system supportato da windows, contiene delle informazioni
anché FSD possa identicare di che FS si tratti.
Quando un FSD riconosce un volume, crea un device object che rappresenta il montaggio del le system; successivamente I/O manager crea una
connessione tra il volume parameter block (VPB) e il device object.
6.7 Operazioni del le system
Le applicazioni ed il sistema, posso accedere ai le in due modi:
ReadFile, WriteFile )
•
direttamente attraverso le funzioni di I/O (
•
indirettamente leggendo o scrivendo una porzione di indirizzi che rappresenta la mappatura del le in memoria
I modi con cui si può invocare il FSD possono essere svariati:
•
Da un utente ho da un thread del sistema; tramite una chiamata
esplicita all'I/O
•
Modicando la gestione dei le in memoria
1 Denisce
il modo con cui i dati vengono archiviati
10
8
Jounaling
6.8 File system lter drivers
Sopra lo strato dei le system driver, c'è il le system lter driver, rappresenta
un livello molto importante e delicato, in quanto qui è possibile vedere tutte
le modiche a FS, i meccanismi di crittazione del FS, backup, ogni antivirus, ha un le system lter driver che intercetta l'operazione di apertura di
qualsiasi le IRP-MJ-CREATE (I/O request packet) e controlla che non sia
un virus [10].
7 JFS overview
Journaling File System, originariamente sviluppato da IBM; è le system
parzialmente journaled, solo i metadati sono journaled. Ha però il vantaggio
di utilizzare B+Trees per le directory e di raggruppare diverse operazioni di
journal-log in un unico commit [4].
8 XFS
Originariamente sviluppato da SGI (Silicon Graphics), XFS è un le system
a 64-bit parzialmente journaled (i metadati sono journaled come in ReiserFS
e JFS) con alcune caratteristiche peculiari:
la preallocazione dello spazio
riduce drasticamente la frammentazione, l'uso dei B+Trees incrementa le
performance e le ACL sono estremamente potenti e sosticate [5].
9 Reiser FS
Progettato da Hans Reiser ore migliore uso dello spazio disco, migliori performances e più ridotti tempi di crash recovery rispetto a ext2. Non supporta
però un completo sistema di journaling (lo supporta parzialmente) come ext3;
anche se la v4 di Reiser FS, ha introdotto come opzione questa caratteristica
[6].
10 Jounaling
Il journaling è una tecnologia utilizzata da molti le system moderni per
preservare l'integrità dei dati da eventuali cadute di tensione. È una tecnologia derivata dal mondo dei Database. Il journaling si basa sul concetto di
transazione, ogni scrittura su disco è interpretata dal le system come una
transazione.
11
9
SAN - Storage Area Network
Quando un applicativo invia dei dati al le system per memorizzarli su disco
questo prima memorizza le operazioni che intende fare su un le di log e in
seguito provvede a eettuare le scritture sul disco rigido, quindi registra sul
le di log le operazioni che sono state eettuate [1].
In caso di caduta di tensione durante la scrittura del disco rigido, al riavvio
del sistema operativo il lesystem non dovrà far altro che analizzare il le di
log per determinare quali sono lo operazioni che non sono state terminate e
quindi sarà in grado di correggere gli errori presenti nella struttura del le system. Da notare che nel le di log vengono memorizzate solo le informazioni
che riguardano la struttura del disco (metadati), quindi un'eventuale caduta
di tensione elimina i dati che si stavano salvando, ma non rende inconsistente
il lesystem.
Esistono due tipi di journaling:
•
per i metadati, descritto sopra
•
completo, questo può ricostruire i dati ed i metadati.
Con relativi
vantaggi, svantaggi quindi va applicato in base al contesto applicativo
in cui si opera.
11 SAN - Storage Area Network
Una Storage Area Network (SAN) è una rete ad alta velocità (generalmente
Gigabit/sec) di dispositivi di memorizzazione di massa condivisi; un dispositivo di memorizzazione di massa (storage) è una macchina che può essere
composta da uno o più dischi per contenere dati. I protocolli attualmente più
diusi per l'utilizzo degli storage sono FC (Fibre Channel) ed iSCSI (Internet
SCSI).
Più precisamente, il dizionario tecnico pubblicato dalla Storage Networking
Industry Association (SNIA) denisce una rete SAN nei seguenti termini:
Una rete il cui scopo principale è il trasferimento di dati tra sistemi di computer ed elementi di storage e tra elementi di storage. Una rete SAN consiste
in un'infrastruttura di comunicazione, che fornisce connessioni siche, e in
un livello di gestione, che organizza connessioni, elementi di storage e sistemi
di computer in modo da garantire un trasferimento di dati sicuro e robusto.
Normalmente una SAN utilizza dischi collegati con una struttura di tipo
RAID per migliorare le prestazioni e aumentare l'adabilità del sistema.
11
SAN - Storage Area Network
10
11.1 Vantaggi
Le aziende devono poter accedere ai dati in modo rapido e sicuro e quindi la losoa dell'architettura SAN è quella di poter integrare tutte le caratteristiche
dei tradizionali sistemi di memorizzazione:
1. Alte prestazioni
2. Alta disponibilità
3. Scalabilità
4. Facilità di gestione
Le reti SAN forniscono una serie di indubbi vantaggi rispetto ai dispositivi
di storage connessi direttamente ai server (DAS_(rete)). Orono una connettività any-to-any tra server e dispositivi di storage, aprendo in tal modo
la strada al trasferimento diretto di dati tra periferiche di memorizzazione
(dischi o tape), con conseguenti indubbi miglioramenti dell'ecienza dello
spostamento dei dati e di processi, quali il backup o la replica dei dati [1].
11.2 File System
Il FS utilizzato per le SAN, è di tipo clustered, l'accesso ai le viene gestito
al livello di cluster. Impongo dei lock su i cluster interessati.
12
11
Biometria
12 Biometria
Esistono molte tecnologie che assicurano diversi gradi di adailità e sicurezza nel proteggere dati tramite l'uso di tecniche biometriche.
ngerprint
•
impronte digitali
•
riconoscimento morfologia del viso
•
scansione dell'iride
•
riconoscimento vocale
voice
•
morfologia della mano
hand geometry
•
face
iris
misura della velocità e della pressione di quando si rma
Signature
• Keystroke dynamics
• Vascular Pattern Recognition
•
...
Figura 3: Dynamic Signature
12.1 Fingerprint
• Vantaggi
i soggetti hanno più impronti
facile da usare
Dynamic
12
12
Biometria
Figura 4: Impronta digitale
l'impronta è unica, univoca, e rimane identica per tutta la vita
dell'individuo
• Svantaggi
percezione al pubblico: strumento usato da tante persone
sensore sporco
12.2 Iris
Figura 5: Iride
• Vantaggi
non è richiesto nessun contatto
è un organo protetto
non subisce alterazioni durante la vita di un individuo
12
13
Biometria
• Svantaggi
dicile da acquisire in alcuni individui
attraverso l'uso di lenti o riessi si possa fare letture errate
ciglia che potrebbero causare una lettura errata
paura degli individui a sottoporsi al controllo
richiesta di un certo tempo di training
non può essere vercata da un umano
12.3 Face
• Vantaggi
non è richiesto nessun contatto
sensori comuni, (macchina fotograca)
verica facile da parte di un umano
• Svantaggi
attraverso occhiali, barba, capelli. . . si può modicare la lettura
cambiamenti di espressioni del viso possono creare errori
durante la vita il viso di una persona può subire modiche, anche
pesanti
12.4 Hand geometry
Figura 6: Geometria mano
• Vantaggi
facile da acquisire
12
14
Biometria
non cambia durante la vita di una persona salvo casi rari
• Svantaggi
è richiesto un training
il sistema necessita di molta memoria
12.5 Voice
• Vantaggi
nessun contatto
sensori comuni (microfoni, telefono)
• Svantaggi
condizioni ambientali sfavorevoli
i sensori devono essere adabili
12.6 Vascular Pattern Recognition
Figura 7: Vascular Pattern Recognition
I principali vantaggi sono:
•
dicile da riprodurre, è interno alla mano
•
non necessita di contatto, condizioni igieniche e di pulizia migliori
•
molti usi sono possibili, ospedali, (è in uso in alcune università in
giappone); usato in aree con un alto tasso di sicurezza
15
Riferimenti bibliograci
Riferimenti bibliograci
[1]
http://en.wikipedia.org
[2]
http://www.ntfs.com/ntfs-partition-boot-sector.htm
Data accesso 30.06.2006
Data accesso 14.10.2006
[3]
[4]
http://www.ntfs.com/ntfs-mft.htm
Data accesso 14.10.2006
http://www-128.ibm.com/developerworks/linux/library/l-jfs.
html
Data accesso 14.10.2006
[5]
http://oss.sgi.com/projects/xfs/
[6]
http://www.namesys.com/X0reiserfs.html
[7]
http://www.biometrics.dod.mil/bio101/index.aspx
Data accesso 14.10.2006
Data accesso 14.10.2006
Data accesso 29.10.2006
[8]
http://www.biometricscatalog.org/Introduction/default.aspx
Data accesso 29.10.2006
[9]
http://www.biometrics.org/REPORTS/CTST96/
Data accesso 29.10.2006
[10] Mark E. Russinovich, David A. Solomon (2005)
nal
Micosoft Windows Iter-
quarta edizione
Microsoft windows server 2003, windows XP, 2000