Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica...

77
1 © 2004-2005 Alberto Montresor Master Almaweb in Sicurezza dell'Informazione Sicurezza nei Sistemi Operativi e nei Sistemi Informativi Lezione 1 - Introduzione Alberto Montresor

Transcript of Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica...

Page 1: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

1© 2004-2005 Alberto Montresor

Master Almaweb in Sicurezza dell'Informazione

Sicurezza nei Sistemi Operativie nei Sistemi Informativi

Lezione 1 - Introduzione

Alberto Montresor

Page 2: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

2© 2004-2005 Alberto Montresor

Introduzione

Benvenuti nel mondo della paranoia più pura!

Parleremo infatti di....

• Nemici, attaccanti, avversari

• Attacchi, intrusioni

• Sistemi di difesa, sistemi chiusi, bastioni,etc.

• Mancanza di fiducia

E' possibile parlare di sicurezza in modo assoluto, formale?

• Daremo qualche modello più o meno formale

• Ma la sicurezza coinvolge troppi elementi, alcuni dei quali imprevedibili, per essere formalizzata completamente

Page 3: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

3© 2004-2005 Alberto Montresor

Introduzione

Il docente...

• Alberto Montresor

• E-mail: montreso at cs.unibo.it

• Pagine web:

• http://www.cs.unibo.it/people/faculty/montreso

• http://www.cs.unibo.it/people/faculty/montreso/master

Page 4: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

4© 2004-2005 Alberto Montresor

Il programma del corso

4 Febbraio

• Introduzione

• Sicurezza nei programmi

• Sicurezza nei sistemi operativi generici

• Laboratorio

18 Marzo

• Sistemi operativi trusted

• Sicurezza nei database

19 Marzo

• Intrusion detection

• Amministrare la sicurezza

8 Aprile

• Laboratorio

9 Aprile

• Esame finale

• Discussione

Introduzione

Page 5: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

5© 2004-2005 Alberto Montresor

Bibliografia

Testo consigliato:

• C. Pfleeger and S. Pfleeger. Security in Computing, 3rd Ed. Prentice Hall, 2003. Versione italiana: Sicurezza in Informatica, Prentice Hall, 2004.

Testo sui sistemi operativi:

• Andrew S. Tanenbaum. Modern Operating System, 2nd Ed.Prentice-Hall, 2001. Capitolo 9: Security

Libri “utili” per il laboratorio:

• Bob Toxen, Real World Linux Security, 2nd Ed. Prentice Hall, 2003.

• Ed Bott, Carl Siechert. Microsoft Windows Security Inside-Out.Microsoft Press, 2003

Introduzione

Page 6: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

6© 2004-2005 Alberto Montresor

L'oggetto di questo corso

Sistema informativo

• Un insieme di hardware, software, supporti di memorizzazione, dati e persone che un'organizzazione utilizza per eseguire le attività di elaborazione

Proteggere un sistema informativo:

• Ogni risorsa di un sistema informativo può interessare un attaccante esterno

• Esempi:

• Sistema bancario: Risorse finanziare vs dati sensibili

• Automobile: Sistemi di controllo, sistemi di accesso

Introduzione

Page 7: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

7© 2004-2005 Alberto Montresor

Il problema

Comunemente

• Protezione e sicurezza sono utilizzati come sinonimi; ma....

Sicurezza

• E' il problema generale, che coinvolge non solo il sistema informatico, ma anche aspetti amministrativi, legali, politici e finanziari

• Misura della fiducia in un sistema informativo

Protezione

• L'insieme dei meccanismi utilizzati in un sistema di calcolo per il controllo di accesso alle risorse

Introduzione

Page 8: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

8© 2004-2005 Alberto Montresor

Politiche e meccanismi

Separazione della politica dai meccanismi

• La politica decide cosa deve essere fatto

• I meccanismi attuano la decisione

E' un concetto fondamentale di software engineering

• La componente che prende le decisioni "politiche" può essere completamente diversa da quella che implementa i meccanismi

• Rende possibile

• Cambiare la politica senza cambiare i meccanismi

• Cambiare i meccanismi senza cambiare la politica

Introduzione

Page 9: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

9© 2004-2005 Alberto Montresor

Politiche

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

Valutare questo tipi di problemi

• E' compito del Risk Manager

• Nel terzo ciclo è presente un corso di Risk Assessment

In questo corso:

• Ci occupiamo soprattutto di meccanismi

• Ma discuteremo anche di alcuni esempi di politiche

Introduzione

Page 10: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

10© 2004-2005 Alberto Montresor

Vulnerabilità, minacce, attacchi

Vulnerabilità

• Una debolezza nel sistema di protezione

Minaccia:

• Un insieme di circostanze che hanno il potenziale di causare perdite e danni.

Attacco:

• Un tentativo di sfruttare una vulnerabilità da parte di un essere umano o un altro sistema informativo

Controllo:

• Un'azione, un dispositivo, una procedura o una tecnica che rimuove o riduce una vulnerabilità

Introduzione

Page 11: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

11© 2004-2005 Alberto Montresor

Minacce: tipologie

Tutte le minacce ricadono in una di queste quattro tipologie:

Intercettazione

Un'entità non autorizzata ottiene l'accesso in “lettura” a una risorsa

Modifica

Un'entità non autorizzata ottiene l'accesso in “scrittura” a una risorsa

Interruzione

La fornitura di un servizio viene interrotto

Falsificazione

La creazione di oggetti contraffatti

Minacce

Page 12: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

12© 2004-2005 Alberto Montresor

Obiettivi della protezione

E' necessario definirli correttamente

E' necessario trovare il giusto equilibrio

Availability Integrity

Confidentiality

Minacce

Page 13: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

13© 2004-2005 Alberto Montresor

Obiettivi della protezione

Confidentiality (riservatezza, privacy)

• A prima vista: semplice da definire

• Tuttavia:

• Chi determina chi può accedere a cosa?

• Qual è la granularità dell'accesso?

• E' possibile accedere ai dati esterni al contesto?

• Un'entità autorizzata può divulgare dati ad altre entità?

Integrity (integrità)

• Ancora più difficile da definire

• Ad esempio:preciso, accurato, non modificato, modificato in modo accettabile, modificato da processi autorizzati, coerente, etc.

Minacce

Page 14: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

14© 2004-2005 Alberto Montresor

Obiettivi della protezione

Availability (disponibilità)

• Relativa sia ai dati che ai servizi (processi che operano sui dati)

• Ancora una volta, è difficile da definire formalmente:

• Il dato/servizio è presente in forma utilizzabile

• Una richiesta viene completata in forma accettabile

• Graceful degradation

Ma non solo...

• Come evitare che il sistema sia un trampolino di lancio per altri attacchi

Minacce

Page 15: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

15© 2004-2005 Alberto Montresor

Modellazione degli attacchi

E' necessario capire...

• come si compone un attacco

• qual è l'obiettivo degli attacchi

• chi sono gli attaccanti

• quali attacchi sono più facili di altri

• quali sono le assunzioni di sicurezza di un sistema

• dove spendere meglio il budget di sicurezza

Attacchi

Page 16: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

16© 2004-2005 Alberto Montresor

Composizione di un attacco

Un attaccante deve poter disporre di questi tre elementi:

• Metodo

• Capacità, conoscenze, strumenti necessari per l'attacco

• Attacchi diversi richiedono abilità diverse

• Opportunità

• Di quanto tempo dispone un attaccante?

• Che tipo di accesso è a disposizione dell'attaccante?

• Che tipo di fondi sono a disposizione dell'attaccante?

• Movente

• Crimine di opportunità vs un attacco con obiettivo specifico

• Motivazione finanziaria vs motivazione politica

• Divertimento – ovvero, nessun motivo

Attacchi

Page 17: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

17© 2004-2005 Alberto Montresor

Tipologie di attacco

Per obiettivo:

• Attacchi passivi:

• attaccano un sistema al fine di leggere i dati, senza modificarli

• Attacchi attivi:

• attaccano un sistema al fine di causare danni

Per metodologia:

• Attacchi “interni”

• Software o utenti “all'interno” del sistema protetto

• Possono seguire un attacco esterno precedente

• Attacchi “esterni”

• Tramite interfacce di comunicazione con l'esterno

• Tramite rete, ma anche tramite CD, dischetti, etc.

Attacchi

Page 18: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

18© 2004-2005 Alberto Montresor

Tipologie di attacco

Obiettivi, reloaded (dal punto di vista tecnico)

• Acquisire una qualche forma di controllo della macchina

• Se possibile, acquisire il controllo totale della macchina

Nota sui sistemi operativi multi-utente

• Permettono a più persone di accedere allo stesso sistema informativo

• Vi è una distinzione fra:

• Utenti normali

– hanno accesso solo ad un sottoinsieme di risorse personali

• Superutenti, root, amministratori di sistema, administrator

– hanno accesso all'intero insieme di risorse della macchina

– la controllano totalmente

Attacchi

Page 19: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

19© 2004-2005 Alberto Montresor

Attaccanti - Categorie

Script kiddie

• Una persona che utilizza script e programmi sviluppati da altri allo scopo di compromettere computer account e lanciare attacchi più complessi (DoS).

Cracker, o black-hat hacker

• Entrano in un sistema allo scopo di produrre danni, in termine di distruzione dati, disturbo dell'immagine dell'azienda o riduzione della disponibilità

• Possono utilizzare un sistema come base per attacchi più complessi (DoS)

White-hat hacker

• Entrano in un sistema per curiosità, o allo scopo di informare i sistemisti che un certo sistema è debole

Attacchi

Page 20: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

20© 2004-2005 Alberto Montresor

Attaccanti - Categorie

Personale interno – corrente

• E' uno degli attacchi più frequenti

• In alcuni casi, è il più difficile da cui difendersi e prevenire

Personale interno – passato

• E' importante assicurarsi che al personale licenziato sia tolto immediatamente ogni diritto di accesso al sistema

Criminali, concorrenza, spie(!), terroristi(!)

• Lo scopo non è più quello di creare un danno generico, ma di trarre vantaggi (economici, sociali) dagli attacchi

Attacchi

Page 21: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

21© 2004-2005 Alberto Montresor

Percorsi di attacco

UtenteOrdinario

Root

Scoprireaccount nametramite finger

Scoprire account name via web,

e-mail, newsgroup

Scoprire account name via ftp

Ftp AnonimoSenza chroot

Read /etc/passwd

Guess password

Trappola basatasu trojan horse

Write /tmp

Write /tmp

/etc/passwdsenza shadow

Guess password

Break set-UIDto root prorgram

Read /etc/passwd Crack root

password

Attacchi

Page 22: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

22© 2004-2005 Alberto Montresor

Esempio di attacco – Banale!

Individuare il sistema da attaccare

● Tramite web, perchè si è ricevuto un mail, etc.

● Ad esempio, la ditta yahuu

Cercare di carpire qualche prima informazione

● Tramite ping verifichiamo se esiste

$ ping www.yahuu.com

PING www.yahuu.com (217.12.3.11) 56(84) bytes of data.

64 bytes from www.yahuu.com (217.12.3.11): icmp_seq=1 ttl=242

time=88.7 ms

64 bytes from www.yahuu.com (217.12.3.11): icmp_seq=2 ttl=242

time=89.5 ms

● In effetti esiste...

Attacchi

Page 23: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

23© 2004-2005 Alberto Montresor

Esempio di attacco – Banale!

Cercare di carpire qualche prima informazione

● Proviamo con finger

$ finger [email protected]

[www.yahuu.com]

Login: root Name: root

Directory: /root Shell: /bin/tsch

Last login Thu Jan 8 00:12 (CET) on tty2

● Ottimo! Ora sappiamo● Finger è abilitato (oggi è molto raro)● L'utente root non è al momento connesso

Attacchi

Page 24: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

24© 2004-2005 Alberto Montresor

Esempio di attacco – Banale!

Cerchiamo ora di scoprire qualche nome utente

• Abbiamo bisogno di un dizionario di nomi

• Possiamo utilizzare finger per scoprire se il nome esiste

$ finger dennisFinger: dennis: no such user

$ finger paulLogin: paul Name: Paul HughesDirectory: /home/paul Shell: /bin/bashOffice: 789-123456Last login Wed Jan 7 19:05 (CET) on pts/4 from ...

Attacchi

Page 25: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

25© 2004-2005 Alberto Montresor

Esempio di attacco – Banale!

Una volta scoperto il nome utente

• Possiamo utilizzare un meccanismo automatico per tentare di indovinare la password

• Funziona quando la password è banale

Il passo successivo è cercare di acquisire privilegi da superutente

• Probabilmente, indovinare la password di root non avrà successo

• Proviamo a vedere cosa contiene la variabile $PATH di root:

cat /root/.bash_profile

export PATH=".:/usr/local/bin:/etc:$PATH"

• Ottimo! Il superutente sprovveduto permette permette di eseguire qualunque programma nella directory corrente

Attacchi

Page 26: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

26© 2004-2005 Alberto Montresor

Esempio di attacco – Banale!

Prepariamo una trappola

• Ad esempio in /tmp

• Si crea un file di dimensioni enormi, che in qualche modo catturi l'attenzione del superutente

• Si installa un insieme di trojan horse quali ad esempio ls, vi,

etc.

• Quando vengono eseguiti, questi programmi possono eseguire qualunque cosa l'attaccante voglia

Attacchi

Page 27: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

27© 2004-2005 Alberto Montresor

Percorsi di attacco

UtenteOrdinario

Root

Scoprireaccount nametramite finger

Scoprire account name via web,

e-mail, newsgroup

Scoprire account name via ftp

Ftp AnonimoSenza chroot

Read /etc/passwd

Guess password

Trappola basatasu trojan horse

Write /tmp

Write /tmp

/etc/passwdsenza shadow

Guess password

Break set-UIDto root prorgram

Read /etc/passwd Crack root

password

Attacchi

Page 28: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

28© 2004-2005 Alberto Montresor

Percorsi di attacco

I percorsi di attacco (o attack tree) sono uno strumento molto potente e generale

• Rappresentano gli attacchi e le contromisure su

• Strutture ad albero

• Grafi diretti aciclici

• Il nodo radice è il goal dell'attacco

• I nodi foglia sono attacchi

Come si usano:

• Si associano ai nodi foglia delle proprietà

• Si calcolano le proprietà dei nodi interni in base alla proprietà dei loro figli

Attacchi

Page 29: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

29© 2004-2005 Alberto Montresor

Percorsi di attacco

UtenteOrdinario

Root

Scoprireaccount nametramite finger

Scoprire account name via web,

e-mail, newsgroup

Scoprire account name via ftp

Ftp AnonimoSenza chroot

Read /etc/passwd

Guess password

Trappola basatasu trojan horse

Write /tmp

Write /tmp

/etc/passwdsenza shadow

Guess password

Break set-UIDto root prorgram

Read /etc/passwd

impossibileCosto: Inf.

possibileCosto: 2h

impossibileCosto: Inf.

possibileCosto: 100h

possibileCosto: 24h

possibileCosto: 126h

Attacchi

Page 30: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

30© 2004-2005 Alberto Montresor

Percorsi di attacco

Le domande da porsi

• Qual è il percorso più semplice (meno costoso) per un cracker?

• Esistono dei percorsi così semplici da rappresentare un vero rischio di break-in?

• E' possibile eliminare questi percorsi, o renderli più difficili da seguire?

• E' possibile forzare un cracker a seguire un percorso più complesso e costoso?

Ma soprattutto...

• Sono stati trovati tutti i percorsi di attacco?

• E' la domanda più difficile

• Richiede una conoscenza completa del sistema da difendere

Attacchi

Page 31: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

31© 2004-2005 Alberto Montresor

Percorsi di attacco

Sono stati trovati tutti i percorsi di attacco?

Un esempio emblematico

• CGI-BIN per la spedizione di mail

• Alcuni di questi CGI-BIN fanno uso del comando mail

• Il comando effettivo viene composto a partire dall'input dell'utente

• Se

• Il CGI-BIN è mal scritto e non effettua alcun controllo

• L'attaccante sottomette una stringa del tipo "subject ; <comando>"

• Il comando risultante sarebbe "mail -s subject ;

<comando>", dando accesso all'attaccante

Attacchi

Page 32: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

32© 2004-2005 Alberto Montresor

Alcuni principi fondamentali

Principio dell'anello debole (weakest link)

Nessun soluzione di sicurezza è più forte del suo anello più debole

Principio della protezione adeguata

Gli elementi di un sistema informativo devono essere protetti a un grado coerente con il loro valore

Principio di efficacia

I controlli devono essere utilizzati adeguatamente per essere efficaci. Devono essere efficienti, di facile impiego e appropriati.

Controlli

Page 33: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

33© 2004-2005 Alberto Montresor

Quali sono gli elementi coinvolti

Hardware

• L'hardware fornisce i meccanismi base per implementare i meccanismi di protezione più complessi?

• Cosa si intende con hardware?

• Il processore, la memoria, i dispositivi

• Ma anche l'ambiente fisico in cui si trova la macchina

Sistema operativo (nucleo)

• Il nucleo del sistema operativo fornisce due meccanismi fondamentali per garantire la protezione del sistema:

• Autenticazione

• Autorizzazione

Controlli

Page 34: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

34© 2004-2005 Alberto Montresor

Quali sono gli elementi coinvolti

Sistema operativo (librerie, tool di sistema)

• Molto spesso: • Contengono grandi quantità di codice

• Vengono eseguiti in modalità superutente

Applicazioni

• Possono fornire una prima "testa di ponte" per attaccare un sistema

Utenti

• Sono l'anello più debole!

• Tutta la sicurezza ruota intorno a loro

Controlli

Page 35: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

35© 2004-2005 Alberto Montresor

Metodi di difesa

Come gestire un attacco:

• prevenire

• cercare di evitare completamente

• scoraggiare

• ridurre le probabilità di successo / aumentare il costo

• deviare

• rendere altri sistemi più attraenti

• rendere questo sistema meno attraente

• rilevare

• al momento o successivamente

• correggere

• eliminare gli effetti

Controlli

Page 36: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

36© 2004-2005 Alberto Montresor

Tecniche a disposizione

Crittografia

Controllo sul software

• Controlli interni di programmi applicativi

• e.g. gestione dei limiti

• Controlli del sistema operativo e del sistema di rete

• proteggere gli utenti da altri utenti

• Programmi di controllo indipendenti

• contro specifiche vulnerabilità, come ad esempio anti-virus

• Controlli di sviluppo

• implementare software seguendo un certo standard di qualità

• progettazione, codifica, testing e manutenzione

Controlli

Page 37: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

37© 2004-2005 Alberto Montresor

Protezione nei programmi

La protezione dei programmi

• è il cuore della sicurezza dei sistemi informativi

Due domande fondamentali:

• come è possibile impedire la presenza di difetti nei programmi

• come è possibile proteggere le risorse da programmi contenenti difetti?

Quali tipologie di software

• Applicazioni

• Sistemi Operativi

• Altri sistemi speciali: sistemi operativi trusted, database

Protezione dei programmi

Page 38: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

38© 2004-2005 Alberto Montresor

Protezione nei programmi

Quali sono i possibili “difetti” del software?

• Errori di programmazione:

• Violazione dei limiti (buffer overflow)

• Errori di convalida

• Autenticazione inadeguata (blocco lucidi successivi)

• Controllo degli accessi incompleto

• Codice maligno

• Virus, worm

• Cavalli di troia (trojan horse)

• Bombe logiche

• Backdoor

Protezione dei programmi

Page 39: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

39© 2004-2005 Alberto Montresor

Buffer Overflow

Qual'è la tecnica:

• L'idea generale è quella di fornire ad un programma (server) un insieme di dati di dimensioni superiori a quella prevista (buffer overflow)

Cosa succede?

• Nel "migliore" dei casi, il programma va in crash(segmentation fault)

• Nei casi peggiori, è possibile che l'attaccante prenda il controllo della macchina

Un po' di statistica...

• >50% degli incidenti riportati al CERT sono dovuti a buffer overflow

Protezione dei programmi

Page 40: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

40© 2004-2005 Alberto Montresor

Buffer Overflow

Realizzare un exploit tramite buffer overflow:

• I principi base sono gli stessi per ogni architettura

• Ma si richiede conoscenza del sistema operativo e della CPU del target

Background necessario

• Organizzazione della memoria

• Le funzioni C e lo stack

• Un po' di linguaggio macchina

Protezione dei programmi

Page 41: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

41© 2004-2005 Alberto Montresor

Buffer Overflow

Organizzazione della memoria

• Segmento codice

• Programma eseguibile

• Segmento dati

• Dati "statici"

• Segmento stack

• Dati "temporanei"

Protezione dei programmi

Page 42: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

42© 2004-2005 Alberto Montresor

Buffer Overflow

Funzioni Cint main()

{

int buffer[10];

buffer[20] = 5;

}

Il buffer

• Viene creato nello stack (è "temporaneo" per la funzione C)

• Non vengono effettuati alcun tipo di controllo di dimensione

• La seconda iscrizione sovrascrive altri dati nello stack

Protezione dei programmi

Page 43: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

43© 2004-2005 Alberto Montresor

Buffer Overflow

Un po' di linguaggio macchina

• Ad ogni chiamata di funzione, nello stack vengono collocati

• Indirizzo di ritorno

• Eventuali argomenti della funzione

• Eventuali dati locali

stack stack

Ret. add.

Argomenti,dati locali

Protezione dei programmi

Page 44: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

44© 2004-2005 Alberto Montresor

Buffer Overflow

Quali tipo di codice porta ad un buffer overflow?

• Utilizzazione di funzioni di libreria deboli che non controllano la dimensione dei loro argomenti

• gets() - legge lo standard input

• strcpy() - copia una stringa in un'altra

• sprintf() - formata una stringa in un buffer

Esempio:int main()

{

char buffer[10];

printf("Inserisci il CAP");

gets(buffer);

}

Protezione dei programmi

Page 45: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

45© 2004-2005 Alberto Montresor

Buffer Overflow

L'idea generale è quella di riempire il buffer

• Con codice "maligno"

• Un nuovo indirizzo di ritorno che punti a tale codice maligno

stack stack

ret. add.

buffer

stack

ret. add.

buffer

bufferoverflow

nuovo ret. addrs

codice"malefico"

Protezione dei programmi

Page 46: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

46© 2004-2005 Alberto Montresor

Buffer Overflow

Contromisure

• Scrivere codice sicuro

• I buffer overflow sono il risultato di "sloppy programming"

• Evitare le funzioni citate, consultare i manuali delle librerie, etc.

• Invalidazione del codice nello stack

• Tutto dipende dal fatto che si esegue codice nello stack

• E' possibile evitare tutto ciò?

• In Linux, si utilizzano "funzioni trampolino", basate su questo meccanismo

• Esistono però delle versioni sicure del kernel linux

Protezione dei programmi

Page 47: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

47© 2004-2005 Alberto Montresor

Buffer Overflow

Contromisure

• Controlli a tempo di compilazione• Patch per compilatori che aggiungono controlli sulla

dimensione dei buffer– Tendono a far crescere il codice e diminuire le prestazioni

• Patch per compilatori che controllano unicamente l'indirizzo di ritorno

– Copiato in una posizione sicura

– StackGuard, StackShield

• Nota: richiede ri-compilazione delle applicazioni

• Controlli a run-time• Verificano a run-time le dimensioni degli stack frame

• Se gli stack frame presentano qualche errore, terminano il programma

• Librerie pre-caricate tipo libsafe

Protezione dei programmi

Page 48: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

48© 2004-2005 Alberto Montresor

Errori di convalida

In cosa consiste:

• fornire ad un programma dati non validi

• Esempio: http://www.a.com/input.php&parm1=2004Feb29

• In alcuni casi, può avere ripercussioni sulla sicurezza

• Caso reale: una ditta di e-commerce che prendeva in input, oltre ai quantitativi, anche i prezzi!

Provate questa...

http://www.space.com/php/multimedia/imagedisplay/img_display.php?pic=h_astronaut_djn_02.jpg&cap=Per+ragioni+igieniche,+gli+studenti+di+Almaweb+devono+indossare+adeguate+protezioni

Protezione dei programmi

Page 49: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

49© 2004-2005 Alberto Montresor

Errori di controllo degli accessi

Errori tempo di controllo / tempo di utilizzo

Esempio:

a.txt operazione

A B

a.txt A,Bb.txt C,B

Protezione dei programmi

Page 50: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

50© 2004-2005 Alberto Montresor

Errori di controllo degli accessi

Errori tempo di controllo / tempo di utilizzo

Esempio:

b.txt operazione

A B

a.txt A,Bb.txt C,B

Protezione dei programmi

Page 51: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

51© 2004-2005 Alberto Montresor

Cavalli di troia – Trojan horse

Definizione

• Sono programmi che replicano le funzionalità di programmi di uso comune o programmi dall’apparenza innocua ma che contengono codice “malefico”

Tipicamente

• Catturano informazioni e le inviano al creatore del programma

• Informazioni critiche per la sicurezza del sistema

• Informazioni “private” dell'utente

• Compromettono o distruggono informazioni importanti per il funzionamento del sistemi

Protezione dei programmi

Page 52: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

52© 2004-2005 Alberto Montresor

Attacchi interni – Trojan horse

Esempi:

• Un applicativo può leggere informazioni relative al vostro sistema o al software installato e inviarle alla ditta creatrice del programma.....

• Spyware in programmi di file sharing

• Inserimento di programmi nelle directory normalmente accedibili tramite $PATH con il nome "simile" a quello di programmi noti sperando che un utente commetta un errore di battitura

• Esempio: dri (al posto di dir), la (al posto di ls)

• Login spoofing

Protezione dei programmi

Page 53: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

53© 2004-2005 Alberto Montresor

Bombe logiche, bombe a tempo

Descrizione

• Il creatore di un software utilizzato internamente in una compagnia inserisce del codice maligno che si può attivare sotto particolari condizioni

• Esempi di condizioni...

• Il creatore viene licenziato e il suo nome scompare dal database dei salari

• Non potendo più accedere al sistema, non può evitare che la bomba logica si attivi

Contromisure

• Analisi del codice sorgente (code reviews)

Protezione dei programmi

Page 54: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

54© 2004-2005 Alberto Montresor

Backdoor / Trapdoor

Descrizione

• Il creatore di un software può deliberatamente lasciare “porte di servizio” per entrare aggirando i sistemi di protezione

Alcuni esempi

• Il film War Games!

• Back Orifice, Sobig, MyDoom

• Nov. 2003: un tentativo di inserire un backdoor nel kernel linux

• Cosa succede nei sistemi proprietari?

Contromisure

• analisi del codice sorgente (code reviews)

• Ma si veda l'articolo “Reflections on Trusting trust”, di D. Knuth.

Protezione dei programmi

Page 55: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

55© 2004-2005 Alberto Montresor

Virus e worm

Un virus

• è un programma che può trasmettere altri programmi non maligni modificandoli

Un worm

• è un programma che diffonde copie di se stesso in una rete

Quali differenze...

• i worm operano sulle reti, i virus possono usare qualunque supporto

• i worm sono programmi autonomi, i virus infettano programmi esistenti

• non vi è più una vera distinzione, ormai...

Protezione dei programmi

Page 56: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

56© 2004-2005 Alberto Montresor

Virus e worm

L'attività di un virus si divide in due fasi:

• Riproduzione (infezione)• Un buon virus deve bilanciare infezione e possibilità di essere

scoperto

• Esistono tecniche per cercare di nascondersi

• Attivazione• Può essere scatenata da uno specifico evento

• In generale, un virus attivato compie azioni dannose (o semplicemente consuma risorse)

Protezione dei programmi

Page 57: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

57© 2004-2005 Alberto Montresor

Virus e worm

Come si diffondono i virus?

• Un virus deve essere eseguito potersi diffondere/attivare

• Come può forzare la propria esecuzione?

• Accodandosi ad un programma esistente

– EXE/COM in MS-DOS

– Portable Executable in Windows

– ELF in Linux

• Sfruttando un meccanismo di bootstrap

– boot sector

– master boot record

• Accodandosi a file dati che permettono l'esecuzione di codice (anche in maniera automatica)

– posta elettronica

– macro virus in Office

Protezione dei programmi

Page 58: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

58© 2004-2005 Alberto Montresor

Virus e worm

Virus “accodato”

Virus “integrato”

Virus S.O. Init

Virus in boot sector / MBR

Macro virus

RAM

SO

Virus residenti

Protezione dei programmi

Disco

Page 59: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

59© 2004-2005 Alberto Montresor

Virus e worm

Come individuare un virus?

• I virus non sono invisibili

• Devono essere memorizzati

• Eseguono azioni “tipiche”

• E' possibile estrapolare una definizione o firma che caratterizza il virus

• Questa firma viene cercata dai programmi anti-virus

Esempi:

• Il worm code-red inizia con:/default.ida?NNNNN

Come si nascondono i virus?

• Virus “stealth”

• Virus “polimorfici”

Statistics:

• Più di 100.000 virus

• Relativamente pochi (~1000) sono “attivi” in un certo periodo

Protezione dei programmi

Page 60: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

60© 2004-2005 Alberto Montresor

Internet Worm

Internet Worm di Morris

• Il primo work conosciuto (1988)

• Sfruttava alcune bug di sistemi di comunicazione

• Sostanzialmente benigno, bloccò però la rete per un giorno

• Fu la “goccia” che fece nascere il CERT

Sistema infetto Sistema bersaglio

Worm hook

worm

rsh fingersendmail

connessione

download

Protezione dei programmi

Page 61: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

61© 2004-2005 Alberto Montresor

Protezione nei sistemi operativi

Per comprendere il problema della protezione di un sistema operativo, è necessario conoscere:

• Quali sono le funzionalità offerte

• Come è strutturato

• Quali sono i principali meccanismi di funzionamento

Quali sono le funzionalità principali

• Esecuzione di programmi

• Accesso semplificato e controllato alle risorse del calcolatore• Dispositivi di I/O

• File system

• Rilevazione e risposta agli errori

• Accounting

Protezione “base”nei S.O.

Page 62: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

62© 2004-2005 Alberto Montresor

Protezione nei sistemi operativi

Visione "a strati" delle componenti hardware/software che compongono un elaboratore:

Programmi applicativi

Tool di sistema

Nucleo del Sistema operativo - Kernel

Computer hardware

Progettistadi S.O.

Programmatoredi sistema

Utente

{Programmidi sistema

Sistemista

Librerie

Protezione “base”nei S.O.

Page 63: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

63© 2004-2005 Alberto Montresor

Protezione nei sistemi operativi

Sistemi operativi multiutente, multiprogrammati

• Permettono l'esecuzione di più processi da parte di utenti potenzialmente diversi

E' necessaria una separazione logica:

• Fra processi utente e attività di sistema

• I processi utente non devono interferire con altri processi

• I processi utente non devono interferire con il s.o.

Riflessione: anche in un sistema usato da un singolo utente?

• Distinzione fra “attività” personali e “attività di sistema”

• E.g. : scrivere questo file / aggiornare il sistema

Protezione “base”nei S.O.

Page 64: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

64© 2004-2005 Alberto Montresor

Protezione nei sistemi operativi

Non è possibile proteggere un s.o. senza un certo insieme di meccanismi da parte dell'hardware

• Meccanismo di avvicendamento fra processi distinti e sistema operativo

• Protezione del processore

• Protezione della memoria

• Protezione dei dispositivi di I/O

Protezione “base”nei S.O.

Page 65: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

65© 2004-2005 Alberto Montresor

Interrupt

Definizione:

• Un meccanismo che permette l'interruzione del normale ciclo di esecuzione della CPU

Caratteristiche

• permettono ad un sistema operativo di "intervenire" durante l'esecuzione di un processo utente, allo scopo di gestire efficacemente le risorse del calcolatore

• processore, memoria, dispositivi di I/O

• possono essere sia hardware che software

• possono essere mascherati (ritardati) se la CPU sta svolgendo compiti non interrompibili

Protezione “base”nei S.O.

Page 66: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

66© 2004-2005 Alberto Montresor

Interrupt vs Trap

Interrupt Hardware

• Eventi hardware asincroni, non causati dal processo in esecuzione

• Esempi:

• dispositivi di I/O - (per notifica di eventi quali il completamento di una operazione di I/O)

• clock - (eventi fissati nel tempo, generati da un timer)

Interrupt Software (Trap)

• Causato dal programma

• Esempi

• eventi eccezionali come divisione per 0 o problemi di indirizzamento

• richiesta di servizi di sistema (system call)

Protezione “base”nei S.O.

Page 67: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

67© 2004-2005 Alberto Montresor

Gestione Interrupt - Panoramica

Cosa succede in seguito ad un interrupt

• Un segnale "interrupt request" viene spedito al processore

• Il processore

• sospende le operazioni del processo corrente

• salta ad un particolare indirizzo di memoria contenente la routine di gestione dell'interrupt (interrupt handler)

• L'interrupt handler

• gestisce nel modo opportuno l'interrupt

• ritorna il controllo al processo interrotto (o a un altro processo, nel caso di scheduling)

• Il processore riprende l'esecuzione del processo interrotto come se nulla fosse successo

Har

dwar

eSof

twar

eProtezione “base”

nei S.O.

Page 68: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

68© 2004-2005 Alberto Montresor

Interrupt

Processo utente InterruptHandler

Interrupti

i+1

Protezione “base”nei S.O.

Page 69: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

69© 2004-2005 Alberto Montresor

Sistemi operativi "Interrupt Driven"

I sistemi operativi moderni sono detti "Interrupt Driven"

• gran parte del nucleo di un sistema operativo viene eseguito in seguito ad un interrupt

• sono gli interrupt (o i trap) che guidano l'avvicendamento dei processi

Protezione “base”nei S.O.

Page 70: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

70© 2004-2005 Alberto Montresor

Protezione Hardware: Utente / Kernel

Modalità kernel / supervisore / privilegiata:

• i processi in questa modalità hanno accesso a tutte le istruzioni, incluse quelle privilegiate, che permettono di gestire totalmente il sistema

Modalità utente

• i processi in modalità utente non hanno accesso alle istruzioni privilegiate

"Mode bit" nello status register per distinguere fra modalità utente e modalità supervisore

Esempio:

• le istruzioni per disabilitare gli interrupt è privilegiata

Protezione “base”nei S.O.

Page 71: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

71© 2004-2005 Alberto Montresor

Protezione Hardware: Utente / Kernel

Come funziona

• alla partenza, il processore è in modalità kernel

• viene caricato il sistema operativo (bootstrap) e si inizia ad eseguirlo

• quando passa il controllo ad un processo utente, il S.O. cambia il valore del mode bit e il processore passa in modalità utente

• tutte le volte che avviene un interrupt, l'hardware passa da modalità utente a modalità kernel

Protezione “base”nei S.O.

Page 72: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

72© 2004-2005 Alberto Montresor

Protezione Hardware: Protezione I/O

Le istruzioni di I/O devono essere considerate privilegiate

• Il sistema operativo dovrà fornire agli utenti primitive e servizi per accedere all'I/O

• Tutte le richieste di I/O passano attraverso codice del S.O. e possono essere controllate preventivamente

Esempio:

• accesso al dispositivo di memoria secondaria che ospita un file system

• vogliamo evitare che un qualunque processo possa accedere al dispositivo modificando (o corrompendo) il file system stesso

Protezione “base”nei S.O.

Page 73: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

73© 2004-2005 Alberto Montresor

Protezione Hardware: Memoria

La protezione non è completa se non proteggiamo anche la memoria

Altrimenti, i processi utente potrebbero:

• modificare il codice o i dati di altri processi utenti

• modificare il codice o i dati del sistema operativo

• modificare l'interrupt vector, inserendo i propri gestori degli interrupt

La protezione avviene tramite la Memory Management Unit (MMU)

Protezione “base”nei S.O.

Page 74: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

74© 2004-2005 Alberto Montresor

Protezione Hardware: MMU

Registro base + registro limite

• ogni indirizzo generato dal processoreviene confrontato con due registri,detti base e limite. Se non inclusoin questo range, l'indirizzo non èvalido e genera un'eccezione

Traduzione indirizzi logici in indirizzi fisici

• ogni indirizzo generato dal processorecorrisponde ad un indirizzo logico

• l'indirizzo logico viene trasformato in un indirizzo fisico a tempo di esecuzione dal meccanismo di MMU

• un indirizzo viene protetto se non può mai essere generato dal meccanismo di traduzione

Base

Limite

Protezione “base”nei S.O.

Page 75: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

75© 2004-2005 Alberto Montresor

Protezione Hardware

Riflessione - continua

• I meccanismi visti proteggono

• il sistema operativo dai programmi utenti

• i programmi utenti dagli altri programmi utenti

• C'è chi vuole fare di più...

• protezione del sistema da qualunque tentativo di manomissione (compreso il proprietario del sistema...)

Digital Right Management

• Un'iniziativa Microsoft, Intel et al. con lo scopo di creare un "trusted environment", in cui non sia possibile eseguire nessun programma non autorizzato

• mai più virus.... (mah?)

• mai più open-source software... (mah!)

Protezione “base”nei S.O.

Page 76: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

76© 2004-2005 Alberto Montresor

Protezione Hardware - System call

Problema

• poiché le istruzioni di I/O sono privilegiate, possono essere eseguite unicamente dal S.O.

• com'è possibile per i processi utenti eseguire operazioni di I/O?

Soluzione

• i processi utenti devono fare richieste esplicite di I/O al S.O.

• meccanismo delle system call, ovvero trap generate da istruzioni specifiche

Protezione “base”nei S.O.

Page 77: Master Almaweb in Sicurezza dell'Informazionemontreso/master/sicurezza-os-01.pdf · • La politica decide cosa deve essere fatto • I meccanismi attuano la decisione E' un concetto

77© 2004-2005 Alberto Montresor

Protezione HW - System call

li $a0, 10li $v0, 1syscall

0x00FF00000

Interrupt vector

01

2

3

...salvataggio registri ...

...gestione interrupt...

...operazioni di I/O...

...ripristino registri...rfe/eret // return from exception

... altrocodice...

Interrupt handler

Codice utente

Protezione “base”nei S.O.