Protezione del Kernel Tramite Macchine Virtuali



Похожие документы
Architetture software. Virtualizzazione

Architettura di un sistema operativo

Virtualizzazione di macchine Linux tramite XEN

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Virtualizzazione e PlanetLab

Virtualizzazione e Macchine Virtuali

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

27/03/2013. Contenuti

La virtualizzazione ed i suoi aspetti di sicurezza. Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP

Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l.

Introduzione alla Virtualizzazione

Approccio stratificato

Fisciano, 24 ottobre 2008

ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Macchine Virtuali. Docente: Fabio Tordini

2. VIRTUALIZZAZIONE MEDIANTE PARTIZIONAMENTO

Analisi di prestazioni di applicazioni web in ambiente virtualizzato

Virtualizzazione e Network management

Virtualizzazione con KVM. Reggio Emilia - Linux Day 2014 Stefano Strozzi KVM

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

VirtualBox. Eseguire altri sistemi operativi dentro Linux. Stefano Sanfilippo. POuL. 28 ottobre 2013

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA

Protezione. Protezione. Protezione. Obiettivi della protezione

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Prima Esercitazione. Unix e GNU/Linux. GNU/Linux e linguaggio C. Stefano Monti smonti@deis.unibo.it

maurizio pizzonia sicurezza dei sistemi informatici e delle reti. confinamento e virtualizzazione

Analisi dei rischi della system call chroot e un valido sostituto: le jail. Marco Trentini mt@datasked.com

Introduzione ai Sistemi Operativi

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Il sistema operativo TinyOS

Infrastrutture e Architetture di sistema

confinamento e virtualizzazione maurizio pizzonia sicurezza dei sistemi informatici e delle reti

Virtualizzazione. Orazio Battaglia

Linux nel calcolo distribuito

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

I sistemi virtuali nella PA. Il caso della Biblioteca del Consiglio Regionale della Puglia

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

D3.1 Documento di analisi della visualizzazione 3D in ambiente Cloud e relative problematiche

Introduzione al sistema operativo. Laboratorio Software C. Brandolese

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

STRUTTURE DEI SISTEMI DI CALCOLO

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Sistemi Operativi. Conclusioni e nuove frontiere

GNUraghe. Desktop Virtualization +VirtualBox+...quando un solo pc non basta più... IL LUG DI ORISTANO. Virtualizzazione dei sistemi con VirtualBox

Zoo di sistemi operativi: studio e realizzazione del supporto di macchine virtuali con accesso via Web

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

3. PRODOTTI PER LA VIRTUALIZZAZIONE

L Informatica al Vostro Servizio

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

VIRTUAL INFRASTRUCTURE DATABASE

Indice generale. Introduzione...xiii. Perché la virtualizzazione...1. Virtualizzazione del desktop: VirtualBox e Player...27

Ambien6 di virtualizzazione

Architettura di un sistema operativo

C Cloud computing Cloud storage. Prof. Maurizio Naldi

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job

Il Sistema Operativo (1)

Comunicazione tra Processi

Setup dell ambiente virtuale

Architetture Applicative

Acronis Universal Restore

Joomla! e la virtualizzazione in locale... pro e contro

Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI STRUTTURE DEI SISTEMI OPERATIVI

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Virtualization. Strutturare per semplificare la gestione. ICT Information & Communication Technology

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Sistema di protezione (1)

Sistema di protezione (2) Protezione (1)

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia ( e da un tutorial di Pierlauro Sciarelli su comefare.

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Progetto Vserver- HighAvailability

Sistemi Operativi (modulo di Informatica II) Architettura

I Sistemi Operativi. Installazione Ubuntu Linux su Macchina Virtuale

Dipartimento di Scienze Applicate

SISTEMI OPERATIVI DISTRIBUITI

VIRTUAL VIRTUAL DATACENTER DATACENTER


ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Транскрипт:

Protezione del Kernel Tramite Macchine Virtuali Fabio Campisi Daniele Sgandurra Università di Pisa 27 Novembre 2007 1/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Sommario della Prima Parte La Virtualizzazione Definizione e Vantaggi Il Virtual Machine Monitor Caratteristiche Architettura Procedura d Installazione 2/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Sommario della Seconda Parte Problemi Attacco e Evasione dei Controlli di Sicurezza -VMI Virtual Machine Introspection Valutazione e Conclusioni Valutazione della Sicurezza e delle Prestazioni Limiti Attuali e Sviluppi Futuri 3/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Parte I Introduzione a 4/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Definizione e Vantaggi La Virtualizzazione Un livello di astrazione. 1. Resource Virtualization. Memoria Virtuale. RAID, Storage Virtualization. Grid Computing. 2. Platform Virtualization. Emulazione/Simulazione A livello applicativo: Java VM. A livello di sistema operativo: FreeBSD Jails. A livello hardware : VMWare,. 5/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Definizione e Vantaggi Platform Virtualization Una metodologia per creare sulla stessa macchina fisica diversi ambienti di esecuzione virtuali. Fine anni 60. Le macchine virtuali emulano a software il comportamento della macchina reale sottostante. Possibilità di eseguire in concorrenza sulla stessa macchina fisica diverse istanze di sistemi operativi. 6/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Definizione e Vantaggi Macchine Virtuali 7/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Definizione e Vantaggi Benefici della Virtualizzazione 8/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Il Virtual Machine Monitor Il Gestore delle Macchine Virtuali Il gestore delle macchine virtuali (VMM = Virtual Machine Monitor) è il software che: 1. crea e gestisce le macchine virtuali, 2. media l accesso alle risorse fisiche, 3. garantisce l isolamento tra le MV, 4. grazie alla proprietà dell incapsulamento può: eseguire numerose MV simultaneamente; migrare MV in esecuzione tra diversi host. 9/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Il Virtual Machine Monitor Tipologie di Virtual Machine Monitor 10/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Il Virtual Machine Monitor Tipologie di Macchine Virtuali A livello utente: User-Mode Linux A livello kernel: Linux-VServer, FreeBSD Jail, OpenVZ. A livello hardware. Paravirtualization:, Denali. Full Virtualization: VMWare, QEMU. 11/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Il Virtual Machine Monitor Full Virtualization e Paravirtualization Full Virtualization: fornisce una replica esatta dell interfaccia sottostante. Paravirtualization: espone una interfaccia simile ma non identica a quella sottostante. Richiede che i sistemi operativi siano (in parte) modificati. 12/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Il Virtual Machine Monitor Intel VT e AMD-V Intel Virtualization Technology e AMD Virtualization hanno introdotto il supporto hardware/firmware alla virtualizzazione. 1. Lo sviluppo di un VMM è semplificato. 2. È possibile eseguire sistemi operativi non modificati. 3. Prestazioni più elevate. 13/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Caratteristiche è un software Open Source: licenza GNU GPL. Progetto dell Università di Cambridge. Supporta IA-32, x86-64, IA-64 e PowerPC. Sistemi operativi supportati: Linux; NetBSD; FreeBSD; Solaris; Windows (con VT). 14/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Caratteristiche Supporters 15/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Caratteristiche Vantaggi di Prestazioni paragonabili a soluzioni non virtualizzate ( 8% overhead). Migrazione di una macchina virtuale in tempo reale (Quake 3 server in 60 ms). Fino a 32 VCPU per macchina virtuale. Inclusa in molte distribuzioni Linux: Fedora, Debian, Ubuntu e opensuse. 16/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Architettura Architettura di 17/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Architettura Domini In una macchina virtuale è detta dominio. Hypervisor è il VMM: implementa i meccanismi; esporta un interfaccia di controllo al dominio 0. Il dominio 0 è un dominio privilegiato: definisce le politiche; crea, sospende, ripristina e migra i domini utente. I domini U ospitano le macchine virtuali utente. 18/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Architettura Livelli di Protezione della CPU utilizza il concetto di ring x86: livelli di privilegio. I domini devono invocare per le operazioni privilegiate. 19/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Architettura Hypercall I domini invocano tramite hypercall. Analogo delle system call in un sistema operativo. Tipologie di hypercall: 1. relative alla CPU: es., registrazione tabella interruzioni; 2. relative alla memoria: es., gestione tabella pagine; 3. relative all I/O: es., event channel (notifica interruzioni). 20/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Architettura Il Modello Split Device Driver un dominio driver controlla un dispositivo tramite il driver originale, e accetta richieste tramite un backend driver. gli altri domini utilizzano un frontend driver. 21/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Procedura d Installazione Passi per Creare un Dominio Utente 1. Installare e il kernel del dominio 0. Sorgenti o pacchetti. 2. Creare una partizione per il dominio utente. Partizione fisica/lvm/file. 3. Creare un file system per il dominio utente. Ad es.: debootstrap. 4. Creare il kernel per il dominio utente. 5. Creare il file di configurazione per il domu. 22/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Procedura d Installazione Esempio 23/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

La Virtualizzazione Procedura d Installazione Esempio 24/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Parte II Protezione del Kernel Tramite Macchine Virtuali 25/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Attacco e Evasione dei Controlli di Sicurezza I Rootkits Rootkits: collezione di programmi utilizzati da un attaccante per... nascondere processi o file, mantenere l accesso al sistema compromesso. A livello utente: ad es., modifica utilità di sistema (ps). A livello kernel: ad es., un modulo che modifica una chiamata di sistema. 26/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Attacco e Evasione dei Controlli di Sicurezza Attacco e Evasione Un rootkit può disabilitare o eludere i controlli di sicurezza. 27/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Virtual Machine Introspection Introspezione Visibilità: accesso allo stato di una MV da un livello inferiore. Robustezza: controlli effettuati da un altra MV. 28/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Virtual Machine Introspection Problema Semantico L introspezione accede solo a dati di basso livello. Occorre una libreria di introspezione che: ricostruisca le stutture dati del kernel dai dati grezzi ; verifichi la loro consistenza. Assunzione: è affidabile. Interfaccia limitata. Dimensione ridotta. 29/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Virtual Machine Introspection Macchina Virtuale d Introspezione Monitora le altre MV. -VMI è la libreria di introspezione L introspettore protegge l integrità del kernel. 30/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Virtual Machine Introspection Macchina Virtuale Monitorata Esegue l host da monitorare. 31/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Virtual Machine Introspection Controlli a Più Livelli L introspezione può essere la base di una chain of trust. 1. L introspezione protegge l integrità del kernel. 2. Il kernel è esteso con altre funzioni di sicurezza. Es., patch del kernel: SELinux, LIDS, grsecurity. 3. Host IDS sono eseguiti nella MV monitorata. 32/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Virtual Machine Introspection Chain of Trust 33/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Virtual Machine Introspection Strategia Generale dei Controlli 1. Mappare le pagine di memoria del kernel con le strutture dati critiche. 2. Cast dei dati di basso livello nelle strutture dati relative. Utilizzo header del kernel Linux. 3. Controlli di consistenza. 34/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Virtual Machine Introspection Esempio: Lista dei Processi in Esecuzione 35/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Virtual Machine Introspection Esempio: Lista dei Processi in Esecuzione 36/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Virtual Machine Introspection Esempio: Lista dei Processi in Esecuzione 37/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Virtual Machine Introspection Esempio: Lista dei Processi in Esecuzione 38/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Virtual Machine Introspection Esempio: Lista dei Processi in Esecuzione 39/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Valutazione della Sicurezza e delle Prestazioni Efficacia dei Controlli -VMI rileva: Modifiche al codice e a strutture dati critiche del kernel. Sezione text. Moduli non autorizzati o modificati. Tabelle interruzioni / chiamate di sistema. Modifiche a utilità di sistema: 1. Controllo processi in esecuzione con introspezione e ps. 2. Controllo file aperti tramite introspezione e lsof. Modalità promiscua nelle schede di rete. 40/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Valutazione della Sicurezza e delle Prestazioni Overhead Introdotto dai Controlli di Consistenza Inferiore al 10% nel caso peggiore. 41/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Limiti Attuali e Sviluppi Futuri Limiti Attuali del Prototipo Altre regioni critiche del kernel da proteggere. Es:. strutture dati Virtual File System. Modifiche illecite a strutture dati dinamiche (es., stack). Attacchi diretti al VMM. Attacchi al kernel temporizzati per evadere i controlli. 42/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Limiti Attuali e Sviluppi Futuri Sviluppi Futuri Controllo processi a livello utente tramite introspezione. Controllo di invarianti dei processi/kernel calcolate con metodi statici. Tracciamento di un processo da un altra VM (es., ptrace). Verifica parametri / ordine delle chiamate di sistema. 43/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa

Problemi -VMI Valutazione e Conclusioni Limiti Attuali e Sviluppi Futuri Domande? 44/44 Protezione del Kernel Tramite Macchine Virtuali Università di Pisa