Corso di Informatica e Rappresentazione Digitale - Sicurezza nei Sistemi Operativi PDF
Document Details
Uploaded by HardierRooster5292
Università San Raffaele Roma
Noemi Scarpato
Tags
Summary
These lecture notes are from a course on Computer Science and Digital Representation, focusing on operating system security. The course covers various aspects of security, including authentication, authorization, and protection mechanisms.
Full Transcript
Noemi Scarpato CORSO DI INFORMATICA E RAPPRESENTAZIONE DIGITALE Noemi Scarpato Università Telematica San Raffaele Roma Sicurezza nei S.O. 1 di 23 ...
Noemi Scarpato CORSO DI INFORMATICA E RAPPRESENTAZIONE DIGITALE Noemi Scarpato Università Telematica San Raffaele Roma Sicurezza nei S.O. 1 di 23 Noemi Scarpato Cosa Vedremo Nelle Lezioni 1. Fondamenti Dell´Informatica 2. Architetture e Sistemi Operativi 3. Introduzione alle Reti di Calcolatori - INTERNET, IL World Wide Web e i loro servizi. 4. Elaborazione di documenti elettronici 5. Fondamenti di elaborazione multimediale 6. Creazione di Pagine Web. Sicurezza nei S.O. 2 di 23 Noemi Scarpato Architetture e Sistemi Operativi Introduzione al Computer e Rappresentazione dell'Informazione. Architettura della macchina di von Neumann. Dispositivi di memoria,dispositivi di input, dispositivi di output. Classificazioni e architetture. Sistemi Operativi. Introduzione e organizzazione dei sistemi operativi. Gestione dei processi. Gestione della memoria. Gestione dei dispositivi. File system. La sicurezza nei sistemi operativi. Casi di studio: Windows (VISTA,SEVEN) e Linux (Mandriva,Ubuntu). Sicurezza nei S.O. 3 di 23 Noemi Scarpato Sicurezza nei S.O. Il problema della sicurezza può assumere diversi aspetti Def: In un sistema operativo, la sicurezza è l’insieme di meccanismi che vengono utilizzati per il controllo di accesso alle risorse In generale, coinvolge non solo il sistema di calcolo, ma anche aspetti amministrativi e legali Gli obiettivi della sicurezza sono: Confidenzialità: vogliamo evitare che altri abbiano accesso alle informazioni contenute in un sistema informatico o alle informazioni trasmesse fra due sistemi; Sicurezza nei S.O. 4 di 23 Noemi Scarpato Sicurezza nei S.O. Integrità: vogliamo evitare che vengano modificate informazioni, memorizzate presso un sistema oppure da questo spedite senza autorizzazione; Disponibilità: vogliamo garantire comunque che il sistema soddisfi le richieste degli utenti. I problemi fondamentali associati alla sicurezza sono: Autenticazione: associare ad un utente l’identità; Autorizzazione: verificare se un utente ha il diritto di compiere un’operazione ad esempio di modifica; Protezione: evitare che un’operazione venga compiuta da chi non ne ha i diritti. Sicurezza nei S.O. 5 di 23 Noemi Scarpato Autenticazione Il primo meccanismo da analizzare quando si parla di sicurezza nei S.O. è l’autenticazione Def: Per autenticazione si intende quell’insieme di meccanismi atti ad associare un utente ad una identità conosciuta dal sistema. Esistono moltissimi tipi di meccanismi per implementare autenticazione: basati su qualcosa che l’utente "conosce“ (password); basati su qualcosa che l’utente "ha“ (chiavi hardware di accesso); basati su qualcosa che l’utente "è“ (parametri biometrici). Questi meccanismi possono essere anche molto sofisticati in base al livello di sicurezza che si vuole implementare. Sicurezza nei S.O. 6 di 23 Noemi Scarpato Autenticazione Basata su Password L’autenticazione basata su password è la più utilizzata perché presenta numerosi vantaggi tra cui la maggiore semplicità d’implementazione ,ma anche di utilizzo da parte degli utenti, ma esistono alcuni problemi legati alla scarsa cultura della sicurezza, non è raro infatti vedere password scritte su post-it attaccati sul monitor; questo ovviamente corrisponde a non utilizzare alcuna password. Un altro aspetto fondamentale è la scelta delle password se esse sono banali possono risultare inefficaci. Esistono dei sistemi automatici che cercano di forzare il sistema provando ad esaurimento password banali, come ad esempio date di nascita, nomi comuni, parole presenti nel dizionario e combinazioni delle precedenti. 7 di 23 Sicurezza nei S.O. Noemi Scarpato Autenticazione Basata su Password Una password non banale è composta di lettere, numeri e caratteri non alfanumerici come i segni di punteggiatura, senza un particolare significato, ed è lunga almeno otto caratteri. Anche nel caso di password non banali, tuttavia, è possibile che una password venga carpita ad esempio usando una tecnica di login spoofing, ovvero presentando una schermata identica a quella utilizzata dal sistema operativo per richiedere la password; oppure usando una tecnica di sniffing, ovvero registrando le password che vengono trasmesse in chiaro attraverso la rete. Per questo motivo, quando si inserisce una password, è sempre necessario verificare che il canale utilizzato sia sicuro. Sicurezza nei S.O. 8 di 23 Noemi Scarpato Autenticazione Basata su Dispositivi Hardware L’autenticazione basata su dispositivi hardware come ad esempio chiavette usb o carte magnetiche (simili a bancomat) da inserire per autenticarsi fornisce un livello maggiore di sicurezza in quanto solo l’utente in possesso del dispositivo può accedere al sistema. Spesso questi strumenti provvedono a generare una nuova password differente ad ogni accesso cosa che evita attacchi di tipo sniffing poiché anche nel caso la password venga intercettata la sessione successiva si avrà una password differente e quella carpita con l’inganno sarà inutilizzabile. Inoltre spesso a questi dispositivi viene associato comunque il meccanismo di autenticazione mediante password raddoppiando la sicurezza poiché anche nel caso in cui venga perso o rubato il dispositivo si dovrebbe Sicurezza nei S.O. comunque conoscere la password per usarlo. 9 di 23 Noemi Scarpato Autenticazione Basata su Parametri Biometrici L’autenticazione basata su parametri biometrici come impronte digitali, timbro vocale, scansione della retina riconoscimento dei tratti somatici. Consiste nell’utilizzare questi parametri per identificare un utente. Il livello di sicurezza in questi casi è altissimo in quanto è pressoché impossibile “falsificare” dei parametri biometrici. D’altro canto però il costo di tali sistemi è molto alto e viene affrontato solo nel caso in cui i dati trattati siano veramente sensibili. Sicurezza nei S.O. 10 di 23 Noemi Scarpato Autorizzazione Un ‘altro aspetto fondamentale della sicurezza è la gestione delle autorizzazioni. Nei sistemi operativi, i processi compiono operazioni sulle risorse disponibili nel sistema per conto di uno o più utenti. Il meccanismo di autorizzazione ha sostanzialmente due compiti: deve permettere agli utenti di specificare quali operazioni un particolare processo può compiere su una particolare risorsa e quali invece no. ad ogni richiesta di operazione su un processo il meccanismo di autorizzazione deve verificare se tale operazione è ammissibile, ed eventualmente negare l’accesso. Sicurezza nei S.O. 11 di 23 Noemi Scarpato Autorizzazione Il meccanismo di autorizzazione è inserito all’interno del sistema operativo, in ognuno dei moduli visti fino ad ora, e sovrintende ogni chiamata di sistema eseguita dai processi. Per esempio, prima di poter aprire un file, è necessario verificare se il processo che effettua la chiamata di apertura ha il diritto di aprire tale file in lettura e/o in scrittura. Al momento di decidere l’insieme di diritti di accesso di un particolare processo, è necessario tenere in considerazione il principio di privilegio minimo: i processi devono essere dotati dell’insieme minimo di privilegi di accesso che gli consentano di assolvere al proprio compito. Ad esempio, il meccanismo che permette di modificare la propria password deve nello stesso tempo anche impedire all’utente di modificare Sicurezzaqualsiasi nei S.O. altra password. 12 di 23 Noemi Scarpato Autorizzazione Per rappresentare l’insieme di regole di autorizzazione, si utilizza il concetto di dominio di protezione. Def: Un dominio di protezione è un insieme di coppie che descrive esattamente cosa è possibile fare e cosa non è possibile fare su una certa risorsa. Ogni processo opera all’interno di un dominio di protezione; questo significa che in ogni istante, è possibile fare una certa operazione su una certa risorsa solo se la coppia corrispondente è presente nel dominio di protezione associato al processo. Ad esempio, l’utente amministratore è associato ad un dominio di protezione che contiene tutte le possibili coppie , ovvero in cui tutte le operazioni sono possibili. Sicurezza nei S.O. 13 di 23 Noemi Scarpato Autorizzazione Utenti diversi possono operare in domini di protezione distinti, oppure condividere lo stesso dominio di protezione. Ad esempio, in Windows non esiste un unico utente amministratore: molteplici utenti possono condividere gli stessi privilegi. Al contrario, in generale questo non è possibile in UNIX/Linux. Sicurezza nei S.O. 14 di 23 Noemi Scarpato Autorizzazione Le informazioni contenute nei domini di protezione vengono rappresentate diversamente a seconda del sistema operativo. In Windows, prendono la forma di Access Control List (liste di controllo di accesso). Ogni risorsa è associata ad una lista, che contiene delle coppie. In UNIX/Linux si preferisce rappresentare queste informazioni in modo più compatto: ogni risorsa è associata alla seguenti informazioni: l’identificatore dell’utente proprietario dell’entità, l’eventuale identificatore del gruppo di utenti associato all’entità Sicurezza nei S.O. 15 di 23 Noemi Scarpato Autorizzazione un’insieme di diritti di accesso (rappresentabili come valori booleani, vero o falso) che dicono se l’utente, il gruppo o qualunque altra persona ha il diritto di leggere, scrivere e/o eseguire l’entità passiva. In questo modo, i diritti sono rappresentabili con 3x3 bit, ma ovviamente l’espressività è minore rispetto alle Access Control List (non è possibile permettere a "tutti gli utenti del gruppo X tranne l’utente Y" di leggere un particolare file). Sicurezza nei S.O. 16 di 23 Noemi Scarpato Protezione Abbiamo visto sia l’autenticazione che l’autorizzazione mirano ad evitare sia l’accesso che la modifica dei dati contenuti nel sistema esistono perciò due categorie di attacchi: Attacchi passivi: attaccano un sistema al fine di leggere i dati, senza modificarli Attacchi attivi: attaccano un sistema interagendo con il sistema, modificando i dati o riducendo la sua disponibilità Gli attaccanti passivi cercano di attaccare un sistema al fine di leggerne il contenuto, senza modificare i dati. Questo può essere fatto per semplice sfida, oppure per motivi più seri, come ad esempio cercare di carpire segreti industriali. Gli attaccanti attivi invece cercano di forzare l’integrità o la disponibilità del sistema, modificando i dati o impedendo l’accesso a utenti legittimi. In entrambi i casi, è possibile che si verifichino danni economici. Sicurezza nei S.O. 17 di 23 Noemi Scarpato Politiche di Sicurezza La scelta di una politica di sicurezza dipende da: il tipo di attaccanti attesi il valore delle informazioni contenute nel sistema i costi dovuti all’utilizzazione di una politica di sicurezza La scelta di una politica di sicurezza deve essere basata sulle diverse considerazioni, la prima delle quali è il valore del sistema da proteggere. Nessuno dovrebbe assoldare esperti di sicurezza per proteggere un computer personale la cui principale destinazione è il gioco. Ovviamente, la situazione è completamente diversa per quanto riguarda sistemi aziendali, bancari o addirittura governativi. Sicurezza nei S.O. 18 di 23 Noemi Scarpato Politiche di Sicurezza Anche il tipo e il numero di attacchi attesi deve essere considerato. I sistemi bancari sono attaccati al fine di rubare denaro, non di interrompere il servizio. Diverso è il caso di siti web molto famosi e diffusi: attaccare questi siti, magari semplicemente per sostituire la home page con una qualche dichiarazione e un certo tipo di firma, può essere motivo di prestigio nelle comunità informatiche. L’ultima considerazione deve essere quella di valutare il costo di una particolare politica di sicurezza. Ad esempio, il sistema è certamente più sicuro se limitiamo le possibilità di accedere dall’esterno, come in una banca che decide di non offrire un servizio on-line. Ma questo avrebbe certamente delle ripercussioni sul prestigio della banca, che potrebbe perdere diversi clienti. Sicurezza nei S.O. 19 di 23 Noemi Scarpato Virus, worm etc.. Abbiamo parlato di autenticazione e autorizzazioni ,ma rimane ancora una classe di problemi aperti ovvero alcuni utenti, hanno tutti i possibili privilegi di accesso; in particolare quando la macchina è usata in modo monoutente. Chi difende il sistema da quegli utenti? Esistono diverse possibili minacce: I cavalli di troia (trojan horse): sono programmi che simulano le funzionalità di programmi di uso comune o programmi dall’apparenza innocua ma che contengono codice "malefico”. I cavalli di troia sono spesso gratuiti. Tipicamente, catturano informazioni critiche per la sicurezza del sistema e le inviano al creatore del programma (ad esempio, l’identificatore dell’utente e la sua password), o compromettono o distruggono informazioni importanti per il funzionamento del sistema. Sicurezza nei S.O. 20 di 23 Noemi Scarpato Virus, worm etc.. Esempi ben noti di cavalli di troia si trovano nelle applicazioni peer-to- peer. Le backdoor: sono un particolare tipo di cavallo di Troia sono le inserite direttamente nel sistema operativo o negli applicativi e permettono di entrare nel sistema attraverso la rete aggirando i meccanismi di protezione. Un worm (verme): è un programma autoreplicante, che si diffonde autonomamente senza intervento degli utenti del sistema. In un singolo sistema può causare malfunzionamenti del sistema consumando risorse, ma i danni peggiori vengono fatti via rete. Oggigiorno, si diffondono soprattutto attraverso la posta elettronica. Sicurezza nei S.O. 21 di 23 Noemi Scarpato Virus Un virus: è anch’esso un codice autoreplicante, che si installa all’interno di un "programma" legittimo. Non viene eseguito autonomamente; quando viene eseguito il programma infetto, viene eseguito anche il virus che provvede a installare copie di se stesso su altri programmi. Sia vermi che virus possono restare dormienti per un certo periodo, limitandosi semplicemente a riprodursi, per poi prendere vita a date fissate e procurare danni al sistema. Sicurezza nei S.O. 22 di 23 Noemi Scarpato Virus Come ci si difende da questi attacchi? Nei primi due casi l’unica reale possibilità è quella di prestare molta attenzione a ciò che si installa o di rivedere il codice sorgente dei programmi o affidarsi a sistemi open-source (che sono normalmente controllati da varie persone nel mondo) che utilizzano profili diversi di autorizzazione per amministratori e utenti comuni evitando l’uso improprio del sistema. Negli ultimi due casi, la soluzione è cercare di mantenere aggiornato il sistema, installando anche un buon antivirus, e cercare di evitare programmi che permettono l’esecuzione automatica di codice. Sicurezza nei S.O. 23 di 23