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