SISTEMI OPERATIVI Introduzione - Dipartimento di ingegneria

Transcript

SISTEMI OPERATIVI Introduzione - Dipartimento di ingegneria
Università degli Studi di Cagliari
Corso di Laurea Specialistica in Ingegneria Elettronica
SISTEMI OPERATIVI
http://www.diee.unica.it/~giacinto/SisOp
A.A. 2006/2007
Docente: Giorgio Giacinto
SICUREZZA
Introduzione
Sicurezza informatica
Controllo fisico delle apparecchiature
Politiche di amministrazione delle apparecchiature
Strumenti software ad hoc
In questo corso ci occuperemo principalmente di
Problematiche di sicurezza specifiche dei SO
Strumenti SW per garantire la sicurezza
Giorgio Giacinto 2006
2
Definizione di Sicurezza per un
sistema informatico
Disponibilità
Le risorse devono essere sempre disponibili agli utenti autorizzati
Confidenzialità
L’accesso alle informazioni memorizzate negli elaboratori è
consentito solo da parte di utenti autorizzati
Integrità
La modifica dei dati sensibili può essere fatta solo da utenti
autorizzati
Autenticità
L’identità degli utenti deve poter essere sempre accertata dal
calcolatore
Giorgio Giacinto 2006
3
Definizione di minaccia alla
sicurezza
La funzione principale di un elaboratore è quella di
fornire (elaborare) informazioni
In generale c’è un flusso di informazione fra una
sorgente (file, ecc.) e un destinatario (utente, ecc.)
Si può definire “minaccia alla sicurezza” ogni attività
che modifica il percorso normale del flusso
NOTA Esistono molte tassonomie diverse!
Giorgio Giacinto 2006
4
1. Interruzione del flusso
Una risorsa del sistema è distrutta o diventa
indisponibile o non utilizzabile
Distruzione hardware
Interruzione linee di comunicazione
Disabilitazione di servizi software (file system management, ecc.)
Viene negata la disponibilità di una risorsa.
Si parla di attacchi di tipo “Denial of Service”
(DoS)
Giorgio Giacinto 2006
5
2. Intercettazione del flusso
Un utente non autorizzato ottiene l’accesso ad una
risorsa
Wiretapping per catturare dati in rete
Copie illecite di file e programmi
Password spoofing
Ecc.
È violata la confidenzialità delle informazioni
Giorgio Giacinto 2006
6
3. Modifica del flusso
Un utente non autorizzato non solo ottiene
l’accesso ad una risorsa ma la manomette
Modifica dei valori in un file di dati
Alterazione del comportamento di un programma
Modifica di messaggi trasmessi in una rete
Ecc.
È violata l’integrità delle informazioni
Giorgio Giacinto 2006
7
4. Fabbricazione di un flusso
Un utente non autorizzato inserisce oggetti
contraffatti nel sistema
Inserimento in rete di messaggi spuri
Aggiunta di record ad un file
Ecc.
È violata l’autenticità dell’informazione
Giorgio Giacinto 2006
8
Risorse di un sistema informatico
Hardware
Le minacce sono legate prevalentemente alla disponibilità
o Danni accidentali
o Danni deliberati
o Furto
Misure di prevenzione a livello fisico
controllo degli accessi alle sale macchine
Giorgio Giacinto 2006
9
Risorse di un sistema informatico
Software
Le minacce sono legate a
o Cancellazione di programmi (Denial of Service)
o Copie non autorizzate di software (Confidenzialità)
o Modifica di programmi (virus e similari) (Integrità/Autenticità)
Misure di prevenzione
copie di riserva (backup)
Per le copie non autorizzate pochi meccanismi…
Giorgio Giacinto 2006
10
Risorse di un sistema informatico
Dati
Le minacce sono legate a
o Cancellazione di file (Denial of Service)
o Lettura non autorizzata dei dati (Confidenzialità)
• File di dati o basi di dati
• Interrogazioni di basi di dati per estrarre informazioni aggregate
Modifica di file esistenti
(Integrità/Autenticità)
o
creazione
di
nuovi
file
Misure di prevenzione
Controllo accessi ai file (ACL, password, ecc.)
Giorgio Giacinto 2006
11
Risorse di un sistema informatico
Linee di comunicazione
Minacce passive
Diffusione del Contenuto
dei Messaggi
Analisi del Traffico
Minacce Attive
Mascheramento
Giorgio Giacinto 2006
Ritrasmissione
Denial of
Modifica del
Service Contenuto del Messaggio
12
Attacchi passivi contro linee di
comunicazione
Diffusione
del
(eavesdropping)
contenuto
dei
messaggi
Intercettazione telefonica, intercettazione di messaggi e-mail,
ecc.
Analisi del traffico
Può consentire l’identificazione della natura del messaggio anche
nel caso di cifratura (ad es., una transazione di una carta di
credito)
Giorgio Giacinto 2006
13
Rilevazione di attacchi passivi
Difficili da individuare
I dati non sono alterati
L’enfasi in questo caso è sulla prevenzione
piuttosto che sulla rilevazione
Tecniche di crittografia
Giorgio Giacinto 2006
14
Attacchi attivi contro linee di
comunicazione
Mascheramento
Una entità si “traveste” da un altra entità e effettua attività non
autorizzate (violazione della confidenzialità)
Ritrasmissione
Intercettazione passiva di dati e la sua ritrasmissione in modo da
provocare un effetto non desiderato (violazione dell’integrità e
dell’autenticità)
Giorgio Giacinto 2006
15
Attacchi attivi contro linee di
comunicazione
Denial of service
Disabilita l’uso normale o la gestione dei dispositivi per la
comunicazione (ad es., intasamento della linea con un numero
elevato di messaggi)
Modifica del contenuto dei messaggi
Una parte di un messaggio lecito viene modificata in modo che il
messaggio viene ritardato o il contenuto riordinato per produrre
un effetto non desiderato (violazione dell’integrità/autenticità)
Giorgio Giacinto 2006
16
Rilevazione di attacchi attivi
È molto difficile prevenire gli attacchi attivi
Richiederebbe la protezione fisica continua degli apparati di
comunicazione e di tutti i percorsi
Si preferisce realizzare strumenti di rilevazione
degli attacchi attivi e di reazione conseguente
Gli strumenti di rilevazione possono fungere anche da deterrente
…d’altra parte gli strumenti di rilevazione sono software (e
hardware) che possono essere attaccati a loro volta…
Giorgio Giacinto 2006
17
Problemi di sicurezza nei Sistemi
Operativi
L’introduzione della multiprogrammazione consente
la condivisione delle risorse
Processore
Memoria
Dispositivi I/O
Programmi
Dati
È necessario proteggere queste risorse da un uso
improprio o illecito dei meccanismi di condivisione!
Giorgio Giacinto 2006
18
Strumenti di Protezione offerti dai
Sistemi Operativi
Nessuna protezione
Possibile nei casi in cui le procedure delicate sono eseguite in
tempi separati
Isolamento
Questo approccio implica che ogni processo deve essere
eseguito separatamente, senza condivisione o comunicazione
Condivisione “tutto o niente”
Il proprietario di una risorsa deve dichiararla “pubblica” o “privata”
Giorgio Giacinto 2006
19
Strumenti di Protezione offerti dai
Sistemi Operativi
Condivisione con limitazione dell’accesso
Il SO controlla la possibilità che un dato utente acceda ad un
dato oggetto (il SO funge da “guardiano”)
Condivisione mediante strumenti dinamici
I diritti di accesso vengono creati dinamicamente
Limitazione dell’uso di un oggetto
La limitazione non riguarda solo l’accesso ai dati ma anche il suo
utilizzo
Giorgio Giacinto 2006
20
Protezione della Memoria
Aspetto Principale
Assicurare il corretto funzionamento dei vari processi attivi
Impedire accesso ad aree di memoria non condivise e controllo
degli accessi alle aree di memoria condivise
Soluzione
Progettazione accurata del sistema di memoria
virtuale (hardware e software)
Giorgio Giacinto 2006
21
Controllo dell’Accesso degli Utenti
Log on
Richiede un ID utente e una parola chiave
o L’ID deve appartenere al gruppo di utenti autorizzati a
collegarsi alla macchina e la password deve essere corretta
Problemi
Cessione intenzionale o accidentale della password a terzi
o Spesso le password possono essere facilmente indovinate
o Il file con le coppie ID/password può essere copiato
illegalmente
Giorgio Giacinto 2006
22
Protezione attraverso le password
La sicurezza della coppia ID-password è data dalla
possibilità di
Determinare se l’utente è autorizzato ad accedere al sistema
Determinare i privilegi concessi all’utente
o Pochi utente hanno privilegi di amministratore
o Gli account “guest” o “anonimo” hanno un numero di privilegi
più ristretto rispetto ad altri utenti
ID è usato per discriminare gli accessi
Un utente può stabilire gli accessi ai propri file sulla base degli ID
Password memorizzata in formato cifrato
Giorgio Giacinto 2006
23
Vulnerabilità delle tecniche di
cifratura
Una ricerca esaustiva (o quasi esaustiva) potrebbe
provare tutte le possibili password…
…per rendere questa operazione onerosa da un
punto di vista computazionale sono stati sviluppati
numerosi algoritmi sofisticati
La complessità degli algoritmi deve tenere il passo con la
crescente capacità computazionale dei sistemi di elaborazione,
sia centralizzati sia, soprattutto, distribuiti
Giorgio Giacinto 2006
24
Strategie per la selezione di
password “sicure”
Password generate dal calcolatore
Pregi
estremamente difficile l’individuazione per tentativi
Difetti
Scarsa accettabilità degli utenti
o Difficoltà di memorizzazione
o Necessità di scrivere la password da qualche parte…
Giorgio Giacinto 2006
25
Strategie per la selezione di
password “sicure”
Strategie di controllo reattivo delle password
Un programma “password cracker” viene eseguito
periodicamente per individuare password “facili” da individuare
per tentativi
Queste password sono cancellate e l’utente viene avvisato
Problema
Impegna risorse e spesso il “cracker” usato è meno sofisticato di
quello usato dagli hacker (che hanno a disposizione risorse
dedicate)
Giorgio Giacinto 2006
26
Strategie per la selezione di
password “sicure”
Controllo proattivo delle password
La password è accettata o rifiutata al momento in cui l’utente la
seleziona
Il sistema può guidare l’utente nella scelta di una password
o Facilmente memorizzabile da parte dell’utente
o Difficile da individuare per tentativi
Giorgio Giacinto 2006
27
Altri meccanismi di autenticazione
Challange-response
One-time password
Smart card
Biometriche
Giorgio Giacinto 2006
28
Accesso controllato ai dati
A ciascun utente può essere associato un profilo
che specifica quali accessi ai file sono permessi
L’applicazione di queste regole spetta al Sistema
Operativo
Nel caso delle basi di dati, il DBMS effettua il
controllo a livello di record o di campi di record
Giorgio Giacinto 2006
29
Matrice di Accesso
Soggetto
Una entità che può richiedere l’accesso ad un oggetto
Oggetto
Qualunque cosa il cui accesso sia controllato
Diritti d’accesso
Le modalità con le quali è possibile che un dato soggetto effettui
un accesso ad un dato oggetto
Giorgio Giacinto 2006
30
Matrice degli Accessi
Giorgio Giacinto 2006
31
Matrice degli Accessi
Di solito la matrice degli accessi è sparsa
Viene suddivisa
Per colonne: Access Control List
elenca per ciascun oggetto gli utenti che possono accedervi e i
relativi diritti d’accesso
Per righe: Capability tickets
elenca per ciascun utente gli oggetti per i quali è permesso
l’accesso e I relativi diritti
Giorgio Giacinto 2006
32
Access Control List (ACL)
Giorgio Giacinto 2006
33
Capability Tickets
Giorgio Giacinto 2006
34
Intrusi
Mascheramento
Un utente non autorizzato accede ad un elaboratore
“mascherato” da utente autorizzato
Approfittatore
Un utente autorizzato che accede a risorse per le quali non ha
privilegi, oppure fa un uso non autorizzato dei propri privilegi
Utente clandestino
Un utente che prende il controllo da supervisore del sistema per
sfuggire o bloccare le attività di auditing
Giorgio Giacinto 2006
35
Intruders and protection measures
Anderson, Computer Security Threat Monitoring and Surveillance, Tech Rep, 1980
Giorgio Giacinto 2006
36
Motivi della crescita delle intrusioni
Globalizzazione
Pressioni della competizione internazionale
Diffusione delle architetture client/server
Molte aziende sono passate dai mainframe (alti livelli di
sicurezza) ad architetture distribuite, per le quali è più difficile
garantire la sicurezza
Crescita della curva di apprendimento degli hacker
Esistono “reti” di hacker molto efficienti e aggiornate per lo
scambio di informazioni su vulnerabilità di sistemi, software, ecc.
Giorgio Giacinto 2006
37
Tecniche di intrusione
Obiettivo
Ottenere
l’accesso al sistema o aumentare la
gamma di privilegi di accesso al sistema
Il raggiungimento dell’obbiettivo spesso implica che
l’intrusore riesca ad acquisire informazioni riservate
Ad es., acquisizione del file delle password, di
solito memorizzate in forma cifrata
Giorgio Giacinto 2006
38
Tecniche per acquisire le password
Prova le password di default (quelle inserite “in
fabbrica” dai produttori di software)
Prova in modo esaustivo tutte le password brevi
Prova le parole presenti in un apposito dizionario di
password “comuni”
Disponibili nella comunità degli hacker
Cerca ulteriori informazioni legate agli utenti e prova
a usarle come password
Il nome, il nome della moglie, dei figli, ecc.
Giorgio Giacinto 2006
39
Altre tecniche per acquisire le
password
Prova i numeri di telefono, il SSN, il numero
dell’ufficio
Prova i numeri di targa relativi ad una provincia
Usa un “Cavallo di Troia” per superare le barriere
d’accesso
Intercetta la linea fra un utente remoto e il sistema
Spesso le password viaggiano sulle linee di comunicazione in
formato non cifrato (oggi meno frequente)
Giorgio Giacinto 2006
40
Rilevazione delle Intrusioni
La prevenzione da sola non basta!
Intrusion detection
Maggiore è la rapidità nella rilevazione, minori sono i danni
arrecati dall’intruso e minore è il tempo di ripristino del
sistema
Sistemi di rilevazione efficaci possono servire da deterrente
La raccolta di informazioni da parte dei sistemi di rilevazione
può servire a migliorare i sistemi di prevenzione
Giorgio Giacinto 2006
41
Intrusion Detection
Due approcci principali
Anomaly detection
o Basato sulla stima statistica del comportamento di ciascun
utente in certo intervallo di tempo
o Intrusione: attività di un utente non corrispondente al profilo
statistico
Rule-based detection
o Scrittura di regole che determinano se una certa sequenza
di azioni è un attacco (richiede la conoscenza degli attacchi
passati). Le regole sono chiamate firme
o Sistemi esperti confrontano ciascuna attività del sistema con
l’insieme delle firme degli attacchi
Giorgio Giacinto 2006
42
Esempio di Anomaly Detection
Giorgio Giacinto 2006
43
Intrusion Detection
Fonti di informazione
Audit record
Nativi
o Tutti I SO prevedono la raccolta e la memorizzazione di
informazioni relative all’uso dell’elaboratore
Specifici
o Raccolta di informazioni aggiuntive necessarie al software di
rilevazione delle intrusioni
La rete
Classe di IDS che analizzano il traffico di rete per trovare tracce
di intrusioni
Giorgio Giacinto 2006
44
Categorie di programmi “cattivi”
Programmi che hanno bisogno di un programma
che li ospiti
Non possono esistere indipendentemente, ma solo all’interno di
applicazioni utente, programmi di utilità, programmi di sistema,
ecc.
Programmi indipendenti
Programmi che possono essere eseguiti come processi
individuali dal SO
Giorgio Giacinto 2006
45
Una tassonomia dei programmi
“cattivi”
Giorgio Giacinto 2006
46
Trapdoor
Un ingresso segreto che consente l’ingresso al
programma evitando alcune o tutte le protezioni
Usate in genere dai programmatori per test e debugging
Utile per attivare il programma se per qualche motivo la routine di
autenticazione non funziona
Il SO difficilmente può implementare dei controlli
sulle trapdoor
Giorgio Giacinto 2006
47
Logic Bomb
Codice all’interno di un programma impostato per
“esplodere” al verificarsi di una (o più) condizioni
Presenza o mancanza di certi file
Un certo giorno della settimana (o dell’anno)
ID utente che sta eseguendo il programma
Giorgio Giacinto 2006
48
Cavallo di Troia
Un programma apparentemente utile che contiene
codice
nascosto
che
esegue
operazioni
indesiderate e/o pericolose
L’utente autorizzato (eseguendo il programma apparentemente
utile) esegue funzioni scritte da un utente non autorizzato
Ad esempio, può cambiare I permessi dei file, ecc.
Cavalli di troia nascosti nei compilatori, editor di
testo, giochi, ecc.
Giorgio Giacinto 2006
49
Virus
Programmi che possono “infettare” altri programmi,
modificandoli
La modifica contiene una copia del programma-virus
Il programma infettato può infettare altri programmi
Giorgio Giacinto 2006
50
Worm
Utilizza connessioni di rete per propagarsi da un
sistema ad un altro
Programmi di posta elettronica
Un worm spedisce una copia di se ad altri sistemi
Capacità di esecuzione remota
Un worm esegue una copia di se stesso in un altro sistema
Capacità di log-in remoto
Un worm si collega ad un sistema remoto come utente e usa i
comandi di terminale per copiare se stesso da un sistema ad un
altro
Giorgio Giacinto 2006
51
Zombie
Un programma che in modo nascosto prende il
possesso di un computer connesso a Internet
Questo computer è usato per effettuare attacchi che
difficilmente possono essere ricondotti all’autore
dello zombie
Usato negli attacchi di DoS contro server Web
o Gli zombie sono inseriti in centinaia di computer
appartenenti ad utenti ignari
Questi inviano una quantità elevata di richieste che saturano
le capacità del server
Giorgio Giacinto 2006
52
Tipologie di Virus
Parassiti
Si attacca a file eseguibili e si replica
Durante l’esecuzione del programma infettato il virus cerca altri
programmi da infettare
Residenti in memoria
Risiede nella memoria principale come parte di un programma
residente
Infetta tutti I programmi che vengono eseguiti nel sistema
Giorgio Giacinto 2006
53
Tipologie di Virus
Settore di boot
Infettano il settore di boot del disco di sistema
Si propaga durante l’avviamento del sistema dal disco infettato
Stealth
Progettato per “nascondersi” ai programmi antivirius
Può usare tecniche di compressione dati
Polimorfo
Muta ad ogni infezione per sfuggire agli antivirus
La mutazione avviene creando una chiave di cifratura usata per
cifrare il resto del virus (la chiave è memorizzata insieme al virus)
Giorgio Giacinto 2006
54
“Macro”
Una “macro” è un programma eseguibile “immerso”
in un file dati (ad esempio, un documento)
Esecuzione di macro in MS Word
Autoexecution
Esecuzione automatica all’avvio del programma
Automacro
Eseguita quando avviene un certo evento
Command macro
Eseguita quando l’utente usa un comando
Giorgio Giacinto 2006
55
Virus relativi a Macro
Indipendenti dalla piattaforma
Sono comandi di programmi che sono compilato per diverse
piattaforme, come Microsoft Word
Infettano documenti e non file eseguibili
Si diffondono molto rapidamente
Giorgio Giacinto 2006
56
Virus relativi a E-mail
Attivati quando il destinatario apre l’allegato
Spesso usano il linguaggio di script Visual Basic
Si propaga a tutti gli indirizzi di posta elettronica
memorizzati nel computer infettato
Giorgio Giacinto 2006
57
Approcci Antivirus
Rilevazione
Da strumenti basati su firme, a regole euristiche, ecc.
Identificazione
Rimozione
Giorgio Giacinto 2006
58
Sistemi Fidati
Nel settore della difesa la protezione di dati e
risorse è realizzata secondo diversi livelli di
sicurezza
U unclassified
C confidential
S secret
TS top secret
Giorgio Giacinto 2006
59
Sistemi Fidati
Sicurezza Multilivello (Modello Bell-La Padula, 1973)
A ciascuna risorsa (processi e oggetti) è associato un livello di
sicurezza
Il flusso di informazione deve obbedire alle seguenti regole
No read up (simple security property)
o Ciascuna risorsa può effettuare letture di oggetti con livello di
sicurezza uguale o inferiore
No write down (*-property)
o Ciascuna risorsa può effettuare scritture su oggetti con livello
di sicurezza uguale o superiore
Giorgio Giacinto 2006
60
Il modello Bell-La Padula
Giorgio Giacinto 2006
61
Reference Monitor
Mediazione completa
Le regole di sicurezza sono applicate ad ogni accesso
Isolamento
Il reference monitor e la base di dati sono protetti da modifiche
non autorizzate
Verificabilità
La correttezza del reference monitor deve poter essere verificata
matematicamente.
Quest’ultima è una definizione di Sistema Fidato
Giorgio Giacinto 2006
62
Il concetto di reference monitor
Giorgio Giacinto 2006
63
Orange Book
Il Dipartimento della Difesa (DoD) degli USA ha
pubblicato nel 1985 un documento noto come
“Orange Book”.
http://www.dynamoo.com/orange
Il documento divide i Sistemi Operativi in sette
categorie (D, C1, C2, B1, B2, B3, A1) relativamente
ad un certo numero di caratteristiche relative alla
sicurezza
Attualmente è una classificazione datata, ma i principi-guida
sono tutt’ora validi
Giorgio Giacinto 2006
64
Orange Book
Livello D: Minimal Protection
Questa categoria è assegnata a sistemi operativi non
classificabili dal punto di vista della sicurezza
o MS-DOS, Windows 95/98/ME
Livello C: Discretionary Protection
La protezione degli oggetti è opzionale.
Il Sistema Operativo supporta le funzioni di logging di base
o C1: Discretionary Security Protection
Prime versioni di UNIX
o C2: Controlled Access Protection
IBM OS/400, Win NT/2000/XP, Novell Netware
Giorgio Giacinto 2006
65
Orange Book
Livello B: Mandatory Protection
La protezione non è facoltativa ma obbligatoria
A ciascun utente e a ciascun oggetto è assegnato un livello di sicurezza
o B1: Labeled Security Protection
HP-UX, Cray Research Trusted Unicos 8.0, Digital SEVMS
o B2: Structured Protection
Honeywell Multics, Cryptek VSLAN, trusted XENIX
o B3: Security Domains
Getronics/Wang Federal XTS-300
Livello A: Verified Protection
Metodi formali per verificare la sicurezza
o A1: Verified Protection
Boeing MSL LAN, Honeywell SCOMP
Giorgio Giacinto 2006
66
Common Criteria
Le organizzazioni per la sicurezza di USA, Canada
e Europa hanno intrapreso uno sforzo per
uniformare i criteri con cui valutare la sicurezza dei
sistemi operativi
Common Criteria
Prima versione nel 1996.
Versione attuale 2.3, pubblicata come ISO/IEC 15408:2005 e
ISO/IEC 18405:2005
http://www.commoncriteriaportal.org
Giorgio Giacinto 2006
67
Common Criteria
I sistemi sono valutati in una scala da 1 a 7
1, livello inferiore
7, livello superiore
Si parla di Evaluation Assurance Level (EAL)
Alcuni esempi
Windows 2000 SP3, Windows Server 2003 e Windows XP
Red Hat Enterprise Linux (RHEL) V. 4 Update 1
IBM AIX 5L for POWER V 5.2,
Maintenance Level 5200-05 with
Innovative Security Systems PitBull Foundation 5.0
Apple Mac OS X 10.3.6
Giorgio Giacinto 2006
EAL4+
EAL4+
EAL5+
EAL3
68