Evoluzione del malware

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Evoluzione del malware"

Transcript

1 Evoluzione del malware Lorenzo Martignoni Roberto Paleari Università degli Studi di Udine Università degli Studi di Milano

2 Malware Sequenza di codice progettata per danneggiare intenzionalmente un sistema, i dati che contiene o comunque alterare il suo normale funzionamento, all insaputa dell utente 17 marzo 2010 Evoluzione del malware 2

3 Malware & underground economy Vendita informazioni rubate Goods & services Percentage Range of prices Bank accounts 22% $10-$1000 Credit cards 13% $0.40-$20 Full identities 9% $1-$15 Online auction site accounts 7% $1-$8 Scams 7% $2.50-$50/week (hosting) Mailers 6% $1-$10 addresses 5% $0.83/MB-$10/MB passwords 5% $4-$30 Drop (request or offer) 5% 10%-20% of drop amount Proxies 5% $1.50-$30 Fonte: Symantec 17 marzo 2010 Evoluzione del malware 3

4 Evoluzione del malware Kernel & drivers Hypervisor BIOS/SMM Chipset CPU 17 marzo 2010 Evoluzione del malware 4

5 Evoluzione del malware Kernel & drivers Hypervisor BIOS/SMM Chipset CPU 17 marzo 2010 Evoluzione del malware 4

6 Evoluzione del malware Kernel & drivers Hypervisor BIOS/SMM Chipset CPU 17 marzo 2010 Evoluzione del malware 4

7 Evoluzione del malware Kernel & drivers Hypervisor BIOS/SMM Chipset CPU 17 marzo 2010 Evoluzione del malware 4

8 Evoluzione del malware Kernel & drivers Hypervisor BIOS/SMM Chipset CPU 17 marzo 2010 Evoluzione del malware 4

9 Evoluzione del malware Kernel & drivers Hypervisor BIOS/SMM Chipset CPU 17 marzo 2010 Evoluzione del malware 4

10 Situazione attuale Malware vs AV AV in posizione svantaggiata The amount of new malware has never been higher. Our labs are receiving an average of 25,000 malware samples every day, seven days a week. F-Secure, marzo 2010 Evoluzione del malware 5

11 Kernel & drivers Hypervisor BIOS/SMM Chipset CPU User-space malware

12 Malware tradizionale Codice assembly/c/macro Diffusione via file infection (es., virus) o via rete (es., worm) 17 marzo 2010 Evoluzione del malware 7

13 Malware tradizionale Codice assembly/c/macro Diffusione via file infection (es., virus) o via rete (es., worm) 1983 Frederick Cohen Computer virus 1987 Jerusalem 1995 Concept 1981 Elk Cloner 1986 Brain 1988 Morris worm 17 marzo 2010 Evoluzione del malware 7

14 Malware tradizionale Codice assembly/c/macro Diffusione via file infection (es., virus) o via rete (es., worm) Problemi Piuttosto semplici Il codice del malware non è protetto/offuscato in alcun modo Signature-based detection efficace 17 marzo 2010 Evoluzione del malware 7

15 Contromisure Detection signature-based Come funziona? Database di signature Un applicazione che contiene una signature nota viene considerate infetta 17 marzo 2010 Evoluzione del malware 8

16 Contromisure Detection signature-based Come funziona? Database di signature Un applicazione che contiene una signature nota viene considerate infetta Codice applicazione 17 marzo 2010 Evoluzione del malware 8

17 Contromisure Detection signature-based Come funziona? Database di signature Un applicazione che contiene una signature nota viene considerate infetta Signature 17 marzo 2010 Evoluzione del malware 8

18 Contromisure Detection signature-based Come funziona? Database di signature Un applicazione che contiene una signature nota viene considerate infetta marzo 2010 Evoluzione del malware 8

19 Contromisure Detection signature-based Come funziona? Database di signature Un applicazione che contiene una signature nota viene considerate infetta marzo 2010 Evoluzione del malware 8

20 Contromisure Detection signature-based Come funziona? Database di signature Un applicazione che contiene una signature nota viene considerate infetta marzo 2010 Evoluzione del malware 8

21 Tecniche di self-defense Packing Codice maligno nascosto da 1 + layer di compressione/cifratura Decompressione/decrifratura a run-time 17 marzo 2010 Evoluzione del malware 9

22 Tecniche di self-defense Packing Codice maligno nascosto da 1 + layer di compressione/cifratura Decompressione/decrifratura a run-time Malicious code 17 marzo 2010 Evoluzione del malware 9

23 Tecniche di self-defense Packing Codice maligno nascosto da 1 + layer di compressione/cifratura Decompressione/decrifratura a run-time Unpacking routine Malicious code 17 marzo 2010 Evoluzione del malware 9

24 Tecniche di self-defense Packing Codice maligno nascosto da 1 + layer di compressione/cifratura Decompressione/decrifratura a run-time Unpacking routine Unpacking routine Malicious code 17 marzo 2010 Evoluzione del malware 9

25 Tecniche di self-defense Packing Codice maligno nascosto da 1 + layer di compressione/cifratura Decompressione/decrifratura a run-time Unpacking routine Unpacking routine Malicious code Problema 80% del malware è packed 200 famiglie di packer, 2000 varianti Backlog di 90 famiglie Fonte: Symantec, marzo 2010 Evoluzione del malware 9

26 Tecniche di self-defense Polimorfismo Mutazione #1 Mutazione #2 Mutazione #3 Problema: la routine di packing può essere rilevata 17 marzo 2010 Evoluzione del malware 10

27 Tecniche di self-defense Polimorfismo Mutazione #1 Mutazione #2 Mutazione #3 Problema: la routine di packing può essere rilevata Idea: variare la routine di packing ad ogni infezione 17 marzo 2010 Evoluzione del malware 10

28 Tecniche di self-defense Polimorfismo Mutazione #1 Mutazione #2 Mutazione #3 Problema: la routine di packing può essere rilevata Idea: variare la routine di packing ad ogni infezione La semantica della routine rimane sempre la stessa 17 marzo 2010 Evoluzione del malware 10

29 Tecniche di self-defense Polimorfismo Mutazione #1 Mutazione #2 Mutazione #3 Problema: la routine di packing può essere rilevata Idea: variare la routine di packing ad ogni infezione La semantica della routine rimane sempre la stessa Contromisure Emulazione Algorithmic detection 17 marzo 2010 Evoluzione del malware 10

30 Tecniche di self-defense Metamorfismo Metamorphics are body-polymorphics (Igor Muttik) Ad ogni infezione muta l intero corpo del malware Mutazione #1 Mutazione #2 Mutazione #3 17 marzo 2010 Evoluzione del malware 11

31 Tecniche di self-defense Metamorfismo Metamorphics are body-polymorphics (Igor Muttik) Ad ogni infezione muta l intero corpo del malware Come funziona? 1. Analizza il proprio codice 2. Identifica dei blocchi 3. lica mutazioni Codice malware 17 marzo 2010 Evoluzione del malware 11

32 Tecniche di self-defense Metamorfismo Metamorphics are body-polymorphics (Igor Muttik) Ad ogni infezione muta l intero corpo del malware blocco 1 Come funziona? 1. Analizza il proprio codice 2. Identifica dei blocchi 3. lica mutazioni blocco 2 blocco 3 blocco 4 blocco 5 blocco 6 blocco 7 blocco 8 17 marzo 2010 Evoluzione del malware 11

33 Tecniche di self-defense Metamorfismo Metamorphics are body-polymorphics (Igor Muttik) Ad ogni infezione muta l intero corpo del malware blocco 1 Come funziona? 1. Analizza il proprio codice 2. Identifica dei blocchi 3. lica mutazioni blocco 2 blocco 3 blocco 4 blocco 5 blocco 6 blocco 7 blocco 8 17 marzo 2010 Evoluzione del malware 11

34 Tecniche di self-defense Metamorfismo Metamorphics are body-polymorphics (Igor Muttik) Ad ogni infezione muta l intero corpo del malware blocco 1 Come funziona? 1. Analizza il proprio codice 2. Identifica dei blocchi 3. lica mutazioni blocco 6 blocco 3 blocco 9 blocco 5 blocco 2 blocco 10 blocco 8 17 marzo 2010 Evoluzione del malware 11

35 Tecniche di self-defense Metamorfismo Metamorphics are body-polymorphics (Igor Muttik) Ad ogni infezione muta l intero corpo del malware Problema Analizzatore di codice particolarmente complesso Sviluppare un motore metamorfico è molto difficile 17 marzo 2010 Evoluzione del malware 11

36 Tecniche di self-defense Malware emulators mov %ax, $0xcafe; xor %ebx, %ebx; inc %ecx; int $0x2e; Programma originale inst 37 %r 6, $0xcafe; inst 15 %r 2, %r 2 ; inst 24 %r 11 ; inst 4 $0x2e; VM Programma offuscato 1. Codice del malware trasformato in bytecode 2. Bytecode interpretato a run-time da una VM 3. Bytecode mutato ad ogni infezione 17 marzo 2010 Evoluzione del malware 12

37 Tecniche di self-defense Malware emulators mov %ax, $0xcafe; xor %ebx, %ebx; inc %ecx; int $0x2e; Programma originale inst 37 %r 6, $0xcafe; inst 15 %r 2, %r 2 ; inst 24 %r 11 ; inst 4 $0x2e; VM Programma offuscato 1. Codice del malware trasformato in bytecode 2. Bytecode interpretato a run-time da una VM 3. Bytecode mutato ad ogni infezione Sembra complicato? 17 marzo 2010 Evoluzione del malware 12

38 Tecniche di self-defense Malware emulators 17 marzo 2010 Evoluzione del malware 12

39 Tecniche di self-defense Contromisure Signature-based detection è troppo debole Verso tecniche più semantiche 17 marzo 2010 Evoluzione del malware 13

40 Tecniche di self-defense Contromisure Signature-based detection è troppo debole Verso tecniche più semantiche Soluzioni Analisi dinamica Granularità a livello di system call Panda TruPrevent, AVG Identity Protection, NovaShield, ThreatFire,... Problemi Performance Falsi positivi Information leakage 17 marzo 2010 Evoluzione del malware 13

41 Strumenti anti-malware di nuova generazione Analisi statica impraticabile o troppo onerosa Analisi dinamica in ambienti emulati 17 marzo 2010 Evoluzione del malware 14

42 Strumenti anti-malware di nuova generazione Analisi statica impraticabile o troppo onerosa Analisi dinamica in ambienti emulati Esempi Anubis CWSandbox BitBlaze 17 marzo 2010 Evoluzione del malware 14

43 Strumenti anti-malware di nuova generazione Analisi statica impraticabile o troppo onerosa Analisi dinamica in ambienti emulati Esempi Anubis CWSandbox BitBlaze Come funzionano? 1. Esecuzione dell applicazione sospetta in un emulatore 2. Monitoring dell esecuzione (VM introspection) 3. Rilevamento di comportamenti maligni 17 marzo 2010 Evoluzione del malware 14

44 Rilevamento VM Red-pill Programma in grado di rilevare se eseguito all interno di un emulatore (o virtualizzatore) CPU EMU Fonte: A fistful of red-pills (R. Paleari, L. Martignoni, G. Fresi Roglia, D. Bruschi) 17 marzo 2010 Evoluzione del malware 15

45 Rilevamento VM Red-pill Programma in grado di rilevare se eseguito all interno di un emulatore (o virtualizzatore) void main() { redpill = \x08\x7c\xe3\x04... ; if (((void (*)())redpill)()) { // Eseguito su CPU fisica return CPU; } else { // Eseguito su CPU emulata return EMU; } } Fonte: A fistful of red-pills (R. Paleari, L. Martignoni, G. Fresi Roglia, D. Bruschi) 17 marzo 2010 Evoluzione del malware 15

46 Rilevamento VM Red-pill Programma in grado di rilevare se eseguito all interno di un emulatore (o virtualizzatore) Qualche numero... BOCHS State differences: R M E Pin Valgrind QEMU Fonte: A fistful of red-pills (R. Paleari, L. Martignoni, G. Fresi Roglia, D. Bruschi) 17 marzo 2010 Evoluzione del malware 15

47 Kernel & drivers Hypervisor BIOS/SMM Chipset CPU Kernel-space malware

48 Root-kit Cosa sono? Strumenti utilizzati per nascondere la presenza di attività maligna nel sistema Cosa nascondere? File Chiavi di registro Servizi Connessioni di rete Processi marzo 2010 Evoluzione del malware 17

49 Root-kit Cosa sono? Strumenti utilizzati per nascondere la presenza di attività maligna nel sistema Cosa nascondere? File Chiavi di registro Servizi Connessioni di rete Processi... User-mode Kernel-mode Kernel & drivers User-space vs kernel-space 17 marzo 2010 Evoluzione del malware 17

50 Root-kit Hooking Obiettivo Dirottare il flusso di esecuzione modificando un code pointer Esempi User-space: IAT Kernel-space: IDT, MSR, SSDT 17 marzo 2010 Evoluzione del malware 18

51 Root-kit Hooking: IDT Interrupt Descriptor Table Dispatching di interruzioni ed eccezioni User-space Interrupt Sw int./excep. &handler i Kernel-space Handler IDT 17 marzo 2010 Evoluzione del malware 19

52 Root-kit Hooking: IDT Interrupt Descriptor Table Dispatching di interruzioni ed eccezioni Hijacking di 1 + handler (e.g., 0x2e KiSystemService) User-space Interrupt Sw int./excep. &handler m IDT Kernel-space Handler Malicious handler 17 marzo 2010 Evoluzione del malware 19

53 Root-kit Hooking: IDT Interrupt Descriptor Table Dispatching di interruzioni ed eccezioni Hijacking di 1 + handler (e.g., 0x2e KiSystemService) Problemi Non è possibile fare filtering Le system call non possono essere intercettate se viene usata sysenter/syscall Detection semplice: if (IDT[0x2e]!= KiSystemService) then marzo 2010 Evoluzione del malware 19

54 Root-kit Hooking: SSDT System Service Descriptor Table Dispatching system call int/sysenter/syscall User-space Kernel-space Syscall gate &handler i Handler SSDT 17 marzo 2010 Evoluzione del malware 20

55 Root-kit Hooking: SSDT System Service Descriptor Table Dispatching system call Hijacking di 1 + descrittori (e.g., 0x74 NtOpenFile) int/sysenter/syscall User-space Kernel-space Syscall gate &handler m SSDT Handler Malicious handler 17 marzo 2010 Evoluzione del malware 20

56 Root-kit Hooking: SSDT System Service Descriptor Table Dispatching system call Hijacking di 1 + descrittori (e.g., 0x74 NtOpenFile) Problemi Detection comunque semplice: if (SSDT[0x74]!= NtOpenFile) then marzo 2010 Evoluzione del malware 20

57 Root-kit Run-time patching È possibile intercettare l esecuzione in molti punti diversi Più difficile da rilevare... NtOpenFile: movl $0x74, %eax movl $0x7ffe0300, %edx nop call *%edx ret $0x marzo 2010 Evoluzione del malware 21

58 Root-kit Run-time patching È possibile intercettare l esecuzione in molti punti diversi Più difficile da rilevare... NtOpenFile: movl $0x74, %eax pushl MaliciousHandler ret call *%edx ret $0x18... MaliciousHandler:... movl $0x7ffe0300, %edx nop push addr ret 17 marzo 2010 Evoluzione del malware 21

59 Root-kit Run-time patching È possibile intercettare l esecuzione in molti punti diversi Più difficile da rilevare... NtOpenFile: movl $0x74, %eax pushl MaliciousHandler ret call *%edx ret $0x18... MaliciousHandler:... movl $0x7ffe0300, %edx nop push addr ret 17 marzo 2010 Evoluzione del malware 21

60 Root-kit Run-time patching È possibile intercettare l esecuzione in molti punti diversi Più difficile da rilevare... NtOpenFile: movl $0x74, %eax pushl MaliciousHandler ret call *%edx ret $0x18... MaliciousHandler:... movl $0x7ffe0300, %edx nop push addr ret 17 marzo 2010 Evoluzione del malware 21

61 Root-kit Run-time patching È possibile intercettare l esecuzione in molti punti diversi Più difficile da rilevare... NtOpenFile: movl $0x74, %eax pushl MaliciousHandler ret call *%edx ret $0x18... MaliciousHandler:... movl $0x7ffe0300, %edx nop push addr ret 17 marzo 2010 Evoluzione del malware 21

62 Root-kit Run-time patching È possibile intercettare l esecuzione in molti punti diversi Più difficile da rilevare... NtOpenFile: movl $0x74, %eax pushl MaliciousHandler ret call *%edx ret $0x18... MaliciousHandler:... movl $0x7ffe0300, %edx nop push addr ret 17 marzo 2010 Evoluzione del malware 21

63 Root-kit Run-time patching È possibile intercettare l esecuzione in molti punti diversi Più difficile da rilevare... NtOpenFile: movl $0x74, %eax pushl MaliciousHandler ret call *%edx ret $0x18... MaliciousHandler:... movl $0x7ffe0300, %edx nop push addr ret 17 marzo 2010 Evoluzione del malware 21

64 Root-kit Run-time patching È possibile intercettare l esecuzione in molti punti diversi Più difficile da rilevare... NtOpenFile: movl $0x74, %eax pushl MaliciousHandler ret call *%edx ret $0x18... MaliciousHandler:... movl $0x7ffe0300, %edx nop push addr ret 17 marzo 2010 Evoluzione del malware 21

65 Root-kit Run-time patching È possibile intercettare l esecuzione in molti punti diversi Più difficile da rilevare... NtOpenFile: movl $0x74, %eax pushl MaliciousHandler ret call *%edx ret $0x18... MaliciousHandler:... movl $0x7ffe0300, %edx nop push addr ret 17 marzo 2010 Evoluzione del malware 21

66 Root-kit Run-time patching È possibile intercettare l esecuzione in molti punti diversi Più difficile da rilevare... NtOpenFile: movl $0x74, %eax pushl MaliciousHandler ret call *%edx ret $0x18... MaliciousHandler:... movl $0x7ffe0300, %edx nop push addr ret 17 marzo 2010 Evoluzione del malware 21

67 Root-kit Run-time patching È possibile intercettare l esecuzione in molti punti diversi Più difficile da rilevare... NtOpenFile: movl $0x74, %eax pushl MaliciousHandler ret call *%edx ret $0x18... MaliciousHandler:... movl $0x7ffe0300, %edx nop push addr ret 17 marzo 2010 Evoluzione del malware 21

68 Root-kit Direct Kernel Object Manipulation (DKOM) Alterazione delle strutture kernel in memoria Nessun hook o patch al codice 17 marzo 2010 Evoluzione del malware 22

69 Root-kit Direct Kernel Object Manipulation (DKOM) Alterazione delle strutture kernel in memoria Nessun hook o patch al codice EPROCESS csrss.exe EPROCESS malware.exe EPROCESS svchost.exe 17 marzo 2010 Evoluzione del malware 22

70 Root-kit Direct Kernel Object Manipulation (DKOM) Alterazione delle strutture kernel in memoria Nessun hook o patch al codice EPROCESS csrss.exe EPROCESS malware.exe EPROCESS svchost.exe Il processo malware.exe non compare più tra quelli in esecuzione Scheduling è thread-based 17 marzo 2010 Evoluzione del malware 22

71 Root-kit Direct Kernel Object Manipulation (DKOM) Alterazione delle strutture kernel in memoria Nessun hook o patch al codice MODULE ENTRY ntfs.sys MODULE ENTRY malware.sys MODULE ENTRY pci.sys C:\WINDOWS> drivers.exe ModuleName Code Data Bss Paged Init LinkDate ntfs.sys Wed Aug 04 08:15: malware.sys Sat Mar 13 02:22: pci.sys Wed Aug 04 08:07: marzo 2010 Evoluzione del malware 22

72 Root-kit Direct Kernel Object Manipulation (DKOM) Alterazione delle strutture kernel in memoria Nessun hook o patch al codice MODULE ENTRY ntfs.sys MODULE ENTRY malware.sys MODULE ENTRY pci.sys C:\WINDOWS> drivers.exe ModuleName Code Data Bss Paged Init LinkDate ntfs.sys Wed Aug 04 08:15: pci.sys Wed Aug 04 08:07: marzo 2010 Evoluzione del malware 22

73 Root-kit Esempio: Mebroot ( ) Funzionamento 1. Infezione master boot record (MBR) 2. Dati memorizzati raw sul disco ( nessun file) 3. Hooking INT13 per patching run-time del kernel 4. Caricamento device driver 5. Run-time patch in disk.sys per nascondere il MBR modificato Fonte: F-Secure & Symantec 17 marzo 2010 Evoluzione del malware 23

74 Root-kit Esempio: Mebroot ( ) Funzionamento 1. Infezione master boot record (MBR) 2. Dati memorizzati raw sul disco ( nessun file) 3. Hooking INT13 per patching run-time del kernel 4. Caricamento device driver 5. Run-time patch in disk.sys per nascondere il MBR modificato Versioni successive ancora più evolute This malware is very professionally written and produced. Which of course means it s not written for fun. Fonte: F-Secure & Symantec 17 marzo 2010 Evoluzione del malware 23

75 Root-kit Contromisure: Windows Vista Caratteristiche \Device\PhysicalMemory non accessibile da user-mode Firma dei driver PatchGuard 17 marzo 2010 Evoluzione del malware 24

76 Root-kit Contromisure: Windows Vista Caratteristiche \Device\PhysicalMemory non accessibile da user-mode Firma dei driver PatchGuard Accesso a \Device\PhysicalMemory consente la modifica della memoria kernel (senza necessità di driver) 17 marzo 2010 Evoluzione del malware 24

77 Root-kit Contromisure: Windows Vista Caratteristiche \Device\PhysicalMemory non accessibile da user-mode Firma dei driver PatchGuard Accesso a \Device\PhysicalMemory consente la modifica della memoria kernel (senza necessità di driver) Problemi Modifica dello swap file Richiede accesso raw al disco (disabilitato da user-mode nelle versioni attuali di Vista) Funzionalità fornita da driver firmati (es., disk editor) 17 marzo 2010 Evoluzione del malware 24

78 Root-kit Contromisure: Windows Vista Caratteristiche \Device\PhysicalMemory non accessibile da user-mode Firma dei driver PatchGuard Richiesta firma digitale di driver e componenti critici Nemmeno Administrator può caricare driver non firmati 17 marzo 2010 Evoluzione del malware 24

79 Root-kit Contromisure: Windows Vista Caratteristiche \Device\PhysicalMemory non accessibile da user-mode Firma dei driver PatchGuard Richiesta firma digitale di driver e componenti critici Nemmeno Administrator può caricare driver non firmati Problemi Problemi etici (... ed economici!) Basta un reboot (es., Vbootkit) Vulnerabilità in driver firmati? 17 marzo 2010 Evoluzione del malware 24

80 Root-kit Contromisure: Windows Vista Caratteristiche \Device\PhysicalMemory non accessibile da user-mode Firma dei driver PatchGuard Da Win XP e Win 2003 SP1 (x64) Verifica periodica di integrità 17 marzo 2010 Evoluzione del malware 24

81 Root-kit Contromisure: Windows Vista Caratteristiche \Device\PhysicalMemory non accessibile da user-mode Firma dei driver PatchGuard Da Win XP e Win 2003 SP1 (x64) Verifica periodica di integrità Problemi Problemi di compatibilità 3 versioni, poi exploitate 17 marzo 2010 Evoluzione del malware 24

82 Kernel & drivers Hypervisor BIOS/SMM Chipset CPU Malware di nuova generazione

83 Malware di nuova generazione Kernel & drivers Hypervisor BIOS/SMM Chipset CPU 17 marzo 2010 Evoluzione del malware 26

84 Malware di nuova generazione Malware detector Kernel & drivers Hypervisor BIOS/SMM Chipset CPU 17 marzo 2010 Evoluzione del malware 26

85 Malware di nuova generazione Malware detector Kernel & drivers Hypervisor BIOS/SMM Chipset CPU 17 marzo 2010 Evoluzione del malware 26

86 Malware di nuova generazione Ago 2006 D. Dai Zovi Vitriol Set 2008 S. Embleton SMM rootkit Mag 2006 S. King SubVirt Ago 2006 J. Rutkowska Blue Pill Mar 2009 J. Rutkowska SMM memory attack 17 marzo 2010 Evoluzione del malware 27

87 Kernel & drivers Hypervisor BIOS/SMM Chipset CPU Malware basati su hypervisor

88 Hypervisor Kernel Hardware 17 marzo 2010 Evoluzione del malware 29

89 Hypervisor Kernel Hypervisor Hardware Un hypervisor, anche chiamato virtual machine monitor (VMM), è un componente software che permette di condividere le risorse fisiche di un sistema tra più sistemi operativi 17 marzo 2010 Evoluzione del malware 29

90 Hypervisor Kernel Kernel Hypervisor Hardware Un hypervisor, anche chiamato virtual machine monitor (VMM), è un componente software che permette di condividere le risorse fisiche di un sistema tra più sistemi operativi 17 marzo 2010 Evoluzione del malware 29

91 Hypervisor Kernel Kernel Hypervisor Hardware Le CPU dei moderni PC supportano delle estensioni (es. Intel VT-x) che facilitano il compito dell hypervisor 17 marzo 2010 Evoluzione del malware 29

92 Malware basati su hypervisor Kernel Hardware 17 marzo 2010 Evoluzione del malware 30

93 Malware basati su hypervisor Kernel Kernel Hypervisor Hardware Hardware La macchina fisica viene convertita di nascosto in una virtuale 17 marzo 2010 Evoluzione del malware 30

94 Malware basati su hypervisor Kernel Hardware Kernel Hypervisor Hardware La macchina fisica viene convertita di nascosto in una virtuale Vantaggi dell attaccante: Pieno controllo del sistema Invisibilità (quasi) totale Possibilità di sviluppare nuove applicazioni maligne 17 marzo 2010 Evoluzione del malware 30

95 Malware basato su hypervisor software (SubVirt) Modalità di installazione: L installazione avviene durante lo spegnimento Modifica della sequenza di avvio: BIOS MBR Boot Sector Sistema Operativo Malware basato su Virtual PC o VMware Fonte: SubVirt: Implementing malware with virtual machines (S. T. King,... ) 17 marzo 2010 Evoluzione del malware 31

96 Malware basato su hypervisor software (SubVirt) Modalità di installazione: L installazione avviene durante lo spegnimento Modifica della sequenza di avvio: BIOS Malware MBR Boot Sector Sistema Operativo Malware basato su Virtual PC o VMware Fonte: SubVirt: Implementing malware with virtual machines (S. T. King,... ) 17 marzo 2010 Evoluzione del malware 31

97 Supporto hardware per la virtualizzazione Intel VT-X, AMD SVM R3 R1 Kernel R0 Hypervisor 17 marzo 2010 Evoluzione del malware 32

98 Supporto hardware per la virtualizzazione Intel VT-X, AMD SVM R3 R3 R1 Kernel R0 Kernel R0 Hypervisor Root mode Hypervisor 17 marzo 2010 Evoluzione del malware 32

99 Supporto hardware per la virtualizzazione Intel VT-X, AMD SVM R3 R3 R1 Kernel R0 Kernel R0 Hypervisor Root mode Hypervisor Sistema operativo eseguito normalmente Overhead minimo Trasparenza & isolamento garantiti dall hardware Disponibile su tutti i PC (desktop & portatili) 17 marzo 2010 Evoluzione del malware 32

100 Supporto hardware per la virtualizzazione Intel VT-X, AMD SVM R3 R3 R1 Kernel R0 Kernel R0 Hypervisor Root mode Hypervisor Enter ExitEnter Hypervisor Kernel/ 17 marzo 2010 Evoluzione del malware 32

101 Supporto hardware per la virtualizzazione Intel VT-X, AMD SVM R3 R3 R1 Kernel R0 Kernel R0 Hypervisor Root mode Hypervisor Enter ExitEnter Hypervisor Kernel/ L hypervisor può configurare dinamicamente l insieme degli eventi che causano exit 17 marzo 2010 Evoluzione del malware 32

102 Supporto hardware per la virtualizzazione Intel VT-X, AMD SVM R3 R3 R1 Kernel R0 Kernel R0 Hypervisor Root mode Hypervisor 17 marzo 2010 Evoluzione del malware 32

103 Late launch di un hypervisor Kernel Installazione di un hypervisor in un sistema in esecuzione 17 marzo 2010 Evoluzione del malware 33

104 Late launch di un hypervisor Kernel Hypervisor Installazione di un hypervisor in un sistema in esecuzione 17 marzo 2010 Evoluzione del malware 33

105 Late launch di un hypervisor Kernel 17 marzo 2010 Evoluzione del malware 33

106 Late launch di un hypervisor Kernel 17 marzo 2010 Evoluzione del malware 33

107 Late launch di un hypervisor Kernel Hypervisor Installazione di un hypervisor maligno in un sistema in esecuzione 17 marzo 2010 Evoluzione del malware 33

108 Late launch di un hypervisor Kernel Hypervisor L installazione dell hypervisor è impercettibile dall utente Il malware ha pieno controllo del sistema Una volta installato il malware è completamente trasparente Tutti gli utenti con PC con supporto hardware per virtualizzazione (abilitato da BIOS) sono vulnerabili!!! 17 marzo 2010 Evoluzione del malware 33

109 Keyboard sniffer Exit ad ogni operazione di I/O sulla porta della tastiera Enter Exit (I/O) Hypervisor Kernel/ 17 marzo 2010 Evoluzione del malware 34

110 Il problema è reale Blue pill (Windows Vista 64) Vitriol (Mac OS X) Blue pill/vitriol vs. SubVirt: 6000LOC Infezione di in un sistema in esecuzione Trasparente Bastato su VMware L infezione richiede il riavvio del sistema Non trasparente Fonte: Subverting Vista Kernel For Fun And Profit (J. Rutkowska) Fonte: Hardware Virtualization Based rootkits (D. Dai Zovi) 17 marzo 2010 Evoluzione del malware 35

111 Siete vulnerabili? $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr dca sse4_1 sse4_2 popcnt lahf_lm ida bogomips : $ 17 marzo 2010 Evoluzione del malware 36

112 Limitazioni & Prevenzione Limitazioni: È necessario eseguire codice kernel per caricare l hypervisor Se un hypervisor è già caricato il nuovo non ha pieno controllo del sistema Il supporto hardware per la virtualizzazione deve essere abilitato da BIOS 17 marzo 2010 Evoluzione del malware 37

113 Limitazioni & Prevenzione Limitazioni: È necessario eseguire codice kernel per caricare l hypervisor Se un hypervisor è già caricato il nuovo non ha pieno controllo del sistema Il supporto hardware per la virtualizzazione deve essere abilitato da BIOS Prevenzione: Impedire l esecuzione di codice kernel non fidato (driver) Hypervisor dummy Disabilitare il supporto hardware per la virtualizzazione da BIOS 17 marzo 2010 Evoluzione del malware 37

114 Invisibile al 100%? Il malware è invisibile al 100%, l hypervisor non lo è L hypervisor può alterare leggermente lo stato della CPU L overhead è minimo, ma non nullo (alcune istruzioni sono più costose da eseguire quando l hypervisor è caricato) for (i = ) { cpuid(); } Fonte: Garfinkel,... ) Compatibility is Not Transparency: VMM Detection Myths and Realities (Tal 17 marzo 2010 Evoluzione del malware 38

115 Altri usi del late launching 17 marzo 2010 Evoluzione del malware 39

116 Altri usi del late launching 17 marzo 2010 Evoluzione del malware 39

117 Altri usi del late launching 17 marzo 2010 Evoluzione del malware 39

118 Altri usi del late launching 17 marzo 2010 Evoluzione del malware 39

119 Kernel & drivers Hypervisor BIOS/SMM Chipset CPU SMM malware

120 SMM malware System Management Mode modalità di esecuzione con alti privilegi per power management, emulazione PS/2,... memoria SMM può essere acceduta solo da modalità SMM (no da kernel e nemmeno hypervisor) SMI# Protected mode SMM rsm 17 marzo 2010 Evoluzione del malware 41

121 SMM malware System Management Mode modalità di esecuzione con alti privilegi per power management, emulazione PS/2,... memoria SMM può essere acceduta solo da modalità SMM (no da kernel e nemmeno hypervisor) SMM malware accesso all intera memoria di sistema privilegi maggiori di un eventuale hypervisor Fonte: SMM Rootkits: A New Breed of OS Independent Malware (S. Embleton,... ) 17 marzo 2010 Evoluzione del malware 41

122 SMM malware System Management Mode modalità di esecuzione con alti privilegi per power management, emulazione PS/2,... memoria SMM può essere acceduta solo da modalità SMM (no da kernel e nemmeno hypervisor) Come? Tecnica #1 Bug architetturale Intel 1. impostare memoria SMM come cachable 2. scrittura memoria SMM ( modifica della cache, concessa dal controller) 3. SMI# Fonte: SMM Cache Fun (Invisible Things Lab) 17 marzo 2010 Evoluzione del malware 41

123 SMM malware System Management Mode modalità di esecuzione con alti privilegi per power management, emulazione PS/2,... memoria SMM può essere acceduta solo da modalità SMM (no da kernel e nemmeno hypervisor) Come? Tecnica #2 Bug architetturale Intel mov 0x407d(%rip),%rax callq *0x18(%rax) Fuori da memoria SMM! Fonte: SMM Cache Fun (Invisible Things Lab) 17 marzo 2010 Evoluzione del malware 41

124 Altre forme di malware 17 marzo 2010 Evoluzione del malware 42

125 Altre forme di malware Firmware modificato per sniffare le pressioni dei tasti Malware impossibile da identificare ed in grado di sopravvivere al reboot TPM completamente inefficace Fonte: Reversing and exploiting an le firmware update (K. Chen) 17 marzo 2010 Evoluzione del malware 42

126 ? Kernel & drivers Hypervisor BIOS/SMM Chipset CPU CPU malware

127 Evoluzione del malware Domande? Lorenzo Martignoni Roberto Paleari Università degli Studi di Udine Università degli Studi di Milano 17 marzo 2010 Evoluzione del malware 44

Next generation malware

Next generation malware Università degli Studi di Milano Facoltà di Scienze e Tecnologie Dipartimento di Informatica Next generation malware Srdjan Matic Aristide Fattori

Dettagli

Università degli Studi di Milano. Malware. Aristide Fattori joystick@security.dico.unimi.it

Università degli Studi di Milano. Malware. Aristide Fattori joystick@security.dico.unimi.it Università degli Studi di Milano Malware Aristide Fattori joystick@security.dico.unimi.it Introduzione Malware Sequenza di codice progettata per danneggiare intenzionalmente un sistema, i dati che contiene

Dettagli

Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2011/2012. Rootkit.

Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2011/2012. Rootkit. Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2011/2012 Rootkit Alessandro Reina Aristide Fattori

Dettagli

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)

Dettagli

Malware 2.0. Alessandro Rozza <rozza@dico.unimi.it> Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali

Malware 2.0. Alessandro Rozza <rozza@dico.unimi.it> Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Malware 2.0 Alessandro Rozza Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Progetto della sicurezza di rete 17 Dicembre 2007 Sommario 1 2 3 Sommario

Dettagli

Hardware di un Computer

Hardware di un Computer Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,

Dettagli

Protezione del Kernel Tramite Macchine Virtuali

Protezione del Kernel Tramite Macchine Virtuali 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

Dettagli

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

ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE Tesi di laurea ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE Anno Accademico 2010/2011 Relatore Ch.mo prof. Marcello Cinque Candidato Guido Borriello Matr. 528/1336

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

Malware & Underground Economy

Malware & Underground Economy Malware & Underground Economy Aristide Fattori joystick@security.dico.unimi.it Università degli Studi di Milano Introduzione A. Fattori Malware & Underground Economy 2 Malware Sequenza di codice progettata

Dettagli

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008 VIRTUALIZZAZIONE LUG - CREMONA Linux Day - 25 Ottobre 2008 VIRTUALIZZAZIONE In informatica la virtualizzazione consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente

Dettagli

Malware. Roberto Paleari, Alessandro Rinaldi

Malware. Roberto Paleari, Alessandro Rinaldi Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2007/2008 21 Novembre 2007 sequenza di codice progettata per danneggiare intenzionalmente un sistema,

Dettagli

Virtualizzazione e Macchine Virtuali

Virtualizzazione e Macchine Virtuali Virtualizzazione e Macchine Virtuali Gabriele D Angelo, Ludovico Gardenghi {gda, garden}@cs.unibo.it http://www.cs.unibo.it/~gdangelo/ http://www.cs.unibo.it/~gardengl/ Università di Bologna Corso di Laurea

Dettagli

Che cosa è un VIRUS?

Che cosa è un VIRUS? Virus & Antivirus Virus Nella sicurezza informatica un virus è un software, appartenente alla categoria dei malware, che è in grado, una volta eseguito, di infettare dei file in modo da riprodursi facendo

Dettagli

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

Virtualizzazione con KVM. Reggio Emilia - Linux Day 2014 Stefano Strozzi KVM Virtualizzazione con KVM Considerazioni Legge di Gordon Moore (co-fondatore di Intel): «Le prestazioni dei processori, e il numero di transistor ad esso relativo, raddoppiano ogni 18 mesi.» http://it.wikipedia.org/wiki/legge_di_moore

Dettagli

Architetture software. Virtualizzazione

Architetture software. Virtualizzazione Sistemi Distribuiti Architetture software 1 Virtualizzazione 2 1 Virtualizzazione (motivazioni) Sullo stesso elaboratore possono essere eseguiti indipendentemente d t e simultaneamente t sistemi i operativi

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

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

Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l. Virtual Machines Virtual BOX, Xen, KVM & C. Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l. 1 Che cosa è la virtualizzazione? In informatica la virtualizzazione x86 consiste nella creazione di una versione

Dettagli

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

VirtualBox. Eseguire altri sistemi operativi dentro Linux. Stefano Sanfilippo. POuL. 28 ottobre 2013 VirtualBox Eseguire altri sistemi operativi dentro Linux Stefano Sanfilippo POuL 28 ottobre 2013 Stefano Sanfilippo (POuL) VirtualBox 28 ottobre 2013 1 / 14 Icon Server Senza VirtualBox FAENZA Reset Power

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

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

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

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

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Linux Virtuale Linux Virtuale

Linux Virtuale Linux Virtuale Come si può virtualizzare sotto Linux Micky Del Favero micky@linux.it BLUG - Belluno Linux User Group Linux Day 2007 - Belluno 27 ottobre 2007 p. 1 Virtualizzazione, ovvero? Per virtualizzazione si intende

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU Il sistema operativo Sistema operativo Gestione della CPU Primi elaboratori: Monoprogrammati: un solo programma in memoria centrale Privi di sistema operativo Gestione dell hardware da parte degli utenti

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Il Software!2 Il Software Il Software E il software che implementa le funzionalità di un sistema

Dettagli

Macchine Virtuali. Docente: Fabio Tordini Email: tordini@di.unito.it

Macchine Virtuali. Docente: Fabio Tordini Email: tordini@di.unito.it Macchine Virtuali Docente: Fabio Tordini Email: tordini@di.unito.it Macchine Virtuali macchine virtuali e virtualizzazione introduzione architettura utilizzi VirtualBox installazione e panoramica (interattivo)

Dettagli

REQUISITI TECNICI HR INFINITY ZUCCHETTI

REQUISITI TECNICI HR INFINITY ZUCCHETTI REQUISITI TECNICI HR INFINITY ZUCCHETTI Documento aggiornato al 21 Novembre 2014 (Valido fino al 30/06/2015) Le versioni di sistemi operativi di seguito indicati rappresentano quelle utilizzate nei nostri

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Virtualizzazione VirtualBox 4.1.2 su Host Windows

Virtualizzazione VirtualBox 4.1.2 su Host Windows Virtualizzazione VirtualBox 4.1.2 su Host Windows La virtualizzazione, quando riferita all informatica, consiste nella creazione di una versione virtuale di una risorsa normalmente fornita fisicamente.

Dettagli

Modulo informatica di base 1 Linea 2. Lezione XIII: Sicurezza informatica. Cos è la sicurezza informatica. C è davvero bisogno di parlarne?

Modulo informatica di base 1 Linea 2. Lezione XIII: Sicurezza informatica. Cos è la sicurezza informatica. C è davvero bisogno di parlarne? Modulo di 1 Linea 2 Mattia Lezione XIII: Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2010/11 1 c 2010 M.. Creative Commons Attribuzione-Condividi

Dettagli

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1 1 VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1 Il linguaggio assemblyèil linguaggio del microprocessore. Un programma ècostituito daistruzioni assemblyche vengono interpretate ed eseguite dal microprocessore.

Dettagli

Virus informatici Approfondimenti tecnici per giuristi

Virus informatici Approfondimenti tecnici per giuristi Creative Commons license Stefano Fratepietro - www.stevelab.net 1 Virus informatici Approfondimenti tecnici per giuristi Ciclo dei seminari Informatica nei laboratori del CIRSFID Facoltà di Giurisprudenza

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi

Dettagli

memoria virtuale protezione

memoria virtuale protezione Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.

Dettagli

The Onion PC. Virtualizzazione strato dopo strato

The Onion PC. Virtualizzazione strato dopo strato The Onion PC Virtualizzazione strato dopo strato Cos'è un livello di astrazione? Cos'è un livello di astrazione? Nell'esecuzione di un programma un livello di astrazione rappresenta i gradi di libertà

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

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

La virtualizzazione ed i suoi aspetti di sicurezza. Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP La virtualizzazione ed i suoi aspetti di sicurezza Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP Presentazione della Monografia - CAP 1: La virtualizzazione: concetti di base - CAP 2: La virtualizzazione

Dettagli

Guida all utilizzo della postazione virtuale (VDI)

Guida all utilizzo della postazione virtuale (VDI) Area Information Technology Guida all utilizzo della postazione virtuale (VDI) Guida Operativa vooa Configurazione ibrida Introduzione La postazione di lavoro virtuale, detta anche Virtual Desktop (VD)

Dettagli

2. VIRTUALIZZAZIONE MEDIANTE PARTIZIONAMENTO

2. VIRTUALIZZAZIONE MEDIANTE PARTIZIONAMENTO 2. VIRTUALIZZAZIONE MEDIANTE PARTIZIONAMENTO In questo capitolo verranno prese in considerazione le soluzioni tecnologiche e gli approcci implementativi della virtualizzazione basata su partizionamento

Dettagli

BOLLETTINO DI SICUREZZA INFORMATICA

BOLLETTINO DI SICUREZZA INFORMATICA STATO MAGGIORE DELLA DIFESA II Reparto Informazioni e Sicurezza Ufficio Sicurezza Difesa Sezione Gestione del Rischio CERT Difesa CC BOLLETTINO DI SICUREZZA INFORMATICA N. 1/2009 Il bollettino può essere

Dettagli

ANALISI DÌ MALWARE E SOLUZIONI DÌ DIFESA. Tesina di Matteo Neri A.S. 2008-2009

ANALISI DÌ MALWARE E SOLUZIONI DÌ DIFESA. Tesina di Matteo Neri A.S. 2008-2009 ANALISI DÌ MALWARE E SOLUZIONI DÌ DIFESA Tesina di Matteo Neri A.S. 2008-2009 Sommario - Introduzione - Analisi di malware - Soluzioni di difesa - Previsioni sul futuro del malware Prima Parte Introduzione

Dettagli

Guida all utilizzo della postazione virtuale (VDI)

Guida all utilizzo della postazione virtuale (VDI) Area Information Technology Guida all utilizzo della postazione virtuale (VDI) Guida Operativa vooa Configurazione Thin Client Introduzione La postazione di lavoro virtuale, detta anche Virtual Desktop

Dettagli

Risolvere i problemi di avvio di Windows XP

Risolvere i problemi di avvio di Windows XP Risolvere i problemi di avvio di Windows XP Un computer che esegue Windows XP non riesce più ad avviarsi correttamente e, invece di caricare il sistema operativo, mostra una schermata DOS con il messaggio:

Dettagli

Setup dell ambiente virtuale

Setup dell ambiente virtuale Setup dell ambiente virtuale 1.1 L immagine per le macchine virtuali Il file mininet-vm-x86 64.qcow è l immagine di una memoria di massa su cui è installato un sistema Linux 3.13 Ubuntu 14.04.1 LTS SMP

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Software di base. Corso di Fondamenti di Informatica

Software di base. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Software di base Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

I Sistemi Operativi. Installazione Ubuntu Linux su Macchina Virtuale

I Sistemi Operativi. Installazione Ubuntu Linux su Macchina Virtuale I Sistemi Operativi Installazione Ubuntu Linux su Macchina Virtuale Macchina Virtuale Cos è? Macchina virtuale (VM) Emula il comportamento di una macchina fisica SO e programmi possono essere eseguiti

Dettagli

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

GNUraghe. Desktop Virtualization +VirtualBox+...quando un solo pc non basta più... IL LUG DI ORISTANO. Virtualizzazione dei sistemi con VirtualBox GNUraghe IL LUG DI ORISTANO Desktop Virtualization +VirtualBox+...quando un solo pc non basta più... 02 Frightned Virtualizzazione: what's this?? 03 Definizione Wikipedia: Per virtualizzazione si intende

Dettagli

Domande e risposte. Sommario. Autodesk Revit Autodesk Revit Architecture Autodesk Revit MEP Autodesk Revit Structure Autodesk Revit LT

Domande e risposte. Sommario. Autodesk Revit Autodesk Revit Architecture Autodesk Revit MEP Autodesk Revit Structure Autodesk Revit LT Autodesk Revit Autodesk Revit Architecture Autodesk Revit MEP Autodesk Revit Structure Autodesk Revit LT Domande e risposte Il presente documento contiene domande e risposte relative all'utilizzo del software

Dettagli

Sistemi Operativi e informatica 1

Sistemi Operativi e informatica 1 1 Dip. Scienze dell Informatica Università degli Studi di Milano, Italia marchi@dsi.unimi.it a.a. 2011/12 1 c 2010-2012 M.Monga R.Paleari M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5

Dettagli

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione Potenza Elaborativa, Sistemi Operativi e Virtualizzazione Roma, Febbraio 2011 Operating Systems & Middleware Operations Potenza Elaborativa e Sistemi Operativi La virtualizzazione Operating Systems & Middleware

Dettagli

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2010-11 Architettura di un sistema operativo Progr 1 Progr 2 Progr

Dettagli

Sicurezza dei Calcolatori e delle Reti: Malware

Sicurezza dei Calcolatori e delle Reti: Malware Sicurezza dei Calcolatori e delle Reti: Malware Aristide Fattori joystick@security.di.unimi.it Università degli Studi di Milano Facoltà di Scienze e Tecnologie Anno Accademico 2012/13 23 Aprile 2013 Introduzione

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

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

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera CPU Memoria principale Il Sistema Operativo Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura A.A. 2009/2010 ALU Unità di controllo Registri A indirizzi

Dettagli

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1. Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione Percorso Formativo C1 Modulo 2 Computer hardware 1 OBIETTIVI Identificare, descrivere, installare

Dettagli

2 Dipendenza da Internet 6 2.1 Tipi di dipendenza... 6 2.2 Fasi di approccio al Web... 6 2.3 Fine del corso... 7

2 Dipendenza da Internet 6 2.1 Tipi di dipendenza... 6 2.2 Fasi di approccio al Web... 6 2.3 Fine del corso... 7 Sommario Indice 1 Sicurezza informatica 1 1.1 Cause di perdite di dati....................... 1 1.2 Protezione dei dati.......................... 2 1.3 Tipi di sicurezza........................... 3 1.4

Dettagli

Le virtual machine e la memoria virtuale

Le virtual machine e la memoria virtuale Le virtual machine e la memoria virtuale Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento Patterson 5: 5.6, 5.7. 1/29

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

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

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella UNIVERSITÀ DEGLI STUDI DI SALERNO FACOLTÀ DI INGEGNERIA Tesi di Laurea in INGEGNERIA ELETTRONICA PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

Dettagli

L avvocato hacker. Genova, 15 marzo 2012. Prof. Giovanni Ziccardi Università degli Studi di Milano

L avvocato hacker. Genova, 15 marzo 2012. Prof. Giovanni Ziccardi Università degli Studi di Milano L avvocato hacker Genova, 15 marzo 2012 Prof. Giovanni Ziccardi Università degli Studi di Milano L ultimo hacker I temi oggetto d attenzione! La cifratura dei dati con l uso della crittografia.! La sicurezza

Dettagli

27/03/2013. Contenuti

27/03/2013. Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Contenuti Virtualizzazione - 3 Macchina virtuale - 4 Architetture delle macchine virtuali - 6 Tipi di virtualizzazione - 7 Monitor della

Dettagli

LA SICUREZZA INFORMATICA SU INTERNET NOZIONI DI BASE SU INTERNET

LA SICUREZZA INFORMATICA SU INTERNET NOZIONI DI BASE SU INTERNET NOZIONI DI BASE SU INTERNET Internet Services Provider (ISP) Server WEB World Wide Web Rete ad alta velocità (fibra ottica). Dott. Paolo Righetto 1 NOZIONI DI BASE SU INTERNET Ogni computer connesso su

Dettagli

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

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Windows Vista, il nuovo sistema operativo Microsoft che cerca le giuste risposte ai quesiti di sicurezza

Windows Vista, il nuovo sistema operativo Microsoft che cerca le giuste risposte ai quesiti di sicurezza Windows Vista, il nuovo sistema operativo Microsoft che cerca le giuste risposte ai quesiti di sicurezza Microsoft Windows è il sistema operativo più diffuso, ma paradossalmente è anche quello meno sicuro.

Dettagli

DKVM-4K Switch PS2 KVM a 4 porte

DKVM-4K Switch PS2 KVM a 4 porte Questo prodotto funziona con tutti I Sistemi operativi Windows DKVM-4K Switch PS2 KVM a 4 porte Prima di cominciare Requisiti minimi di sistema: Tastiera PS/2 Mouse PS/2 Monitor VGA o superiore Contenuto

Dettagli

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

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Network Monitoring & Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Nicholas Pocher Poker SpA - Settimo Torinese, Novembre 2013 1 Indice Il Network Monitoring:

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

GUIDA ALLE SOLUZIONI

GUIDA ALLE SOLUZIONI Questa guida vuole essere uno strumento di facile consultazione, per verificare se si utilizza su PC l interfaccia USB 2.0 e non USB 1.1 che non sono compatibili con molto dispositivi. In un computer sono

Dettagli

Sophos Computer Security Scan Guida di avvio

Sophos Computer Security Scan Guida di avvio Sophos Computer Security Scan Guida di avvio Versione prodotto: 1.0 Data documento: febbraio 2010 Sommario 1 Software...3 2 Cosa fare...3 3 Preparazione per la scansione...3 4 Installazione del software...4

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

Strumenti per l Analisi Statica e Dinamica di Eseguibili

Strumenti per l Analisi Statica e Dinamica di Eseguibili Pattern Recognition and Applications Lab Strumenti per l Analisi Statica e Dinamica di Eseguibili Dott. Ing. Davide Maiorca davide.maiorca@diee.unica.it Corso di Sicurezza Informatica A.A. 2014/2015 Dipartimento

Dettagli

Collegamento al sistema

Collegamento al sistema Collegamento al sistema Chi comanda il movimento della testina? Chi comanda la generazione del raggio laser? Chi si occupa di trasferire i dati letti in memoria centrale? Chi comanda la rotazione dei dischi?

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA Corso di Sistemi Operativi Prof. Stefano Berretti SEMINARIO: VIRTUALIZZAZIONE DI INFRASTRUTTURE INFORMATICHE a cura di: Nicola Fusari A.A. 2012/2013

Dettagli

IL MULTIBOOT. Un sistema multiboot consiste nella possibilità di caricare più sistemi operativi sullo stesso computer.

IL MULTIBOOT. Un sistema multiboot consiste nella possibilità di caricare più sistemi operativi sullo stesso computer. IL MULTIBOOT Un sistema multiboot consiste nella possibilità di caricare più sistemi operativi sullo stesso computer. L operazione potrebbe risultare abbastanza semplice se si dispone di due differenti

Dettagli

Domande e risposte su Avira ProActiv Community

Domande e risposte su Avira ProActiv Community Domande e risposte su Avira ProActiv Community Avira AntiVir versione 10 sfrutta un innovativa tecnologia protettiva cloud-based, denominata ProActiv, che identifica e blocca i nuovi virus non appena questi

Dettagli

Protezione del Software

Protezione del Software Protezione dalla copia Protezione del Software Alfredo De Santis! Aprile 0! Trovare un metodo contro la pirateria efficiente economico resistente contro i pirati esperti non invasivo Compito impossibile!

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

VIRTUAL INFRASTRUCTURE DATABASE

VIRTUAL INFRASTRUCTURE DATABASE ALLEGATO B5.3 VIRTUAL INFRASTRUCTURE DATABASE Situazione alla data 30.6.2011 Pag. 1 di 6 AIX Logical Partitions Database L infrastruttura dell ambiente RISC/AIX viene utilizzata come Data Layer; fornisce

Dettagli

Indicazioni per una corretta configurazione del browser

Indicazioni per una corretta configurazione del browser SDS Scarico informazioni di dettaglio Basi Dati Sanità Versione 1.0.0 Indicazioni per una corretta configurazione del browser Versione novembre 2012 SDS-ConfigurazioniBrowser_v02 Pag. 1 di 27 Uso: ESTERNO

Dettagli

Informatica e Bioinformatica: Sistemi Operativi

Informatica e Bioinformatica: Sistemi Operativi Informatica e Bioinformatica: Sistemi Operativi 11 marzo 2013 Macchina Hardware/Software Sistema Operativo Macchina Hardware La macchina hardware corrisponde alle componenti fisiche del calcolatore (quelle

Dettagli

Usare MUD2011 con Windows 7

Usare MUD2011 con Windows 7 Usare MUD2011 con Windows 7 Requisiti per il funzionamento di MUD2011 MUD2011 funziona con tutti i sistemi Windows a 32 bit. MUD2011 è un applicazione a 16 bit e non funziona con i sistemi Windows a 64

Dettagli

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

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

Manuale del software GP-N100 Utility

Manuale del software GP-N100 Utility Requisiti di sistema It Vi ringraziamo per avere acquistato un GP-N100. Il presente manuale descrive come utilizzare GP-N100 Utility per scaricare nel vostro GP-N100 i più recenti dati per il GPS assistito

Dettagli

Virtualizzazione. Orazio Battaglia

Virtualizzazione. Orazio Battaglia Virtualizzazione Orazio Battaglia Definizione di virtualizzazione In informatica il termine virtualizzazione si riferisce alla possibilità di astrarre le componenti hardware, cioè fisiche, degli elaboratori

Dettagli

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008 IL SOFTWARE Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008 CHE COS È IL SOFTWARE In Informatica il termine Software indica l insieme dei programmi che consentono un

Dettagli

PARTE 4 La Macchina Software

PARTE 4 La Macchina Software PARTE 4 La Macchina Software 94 Macchina Hardware e Macchina Software applicativi sistema operativo macchina hardware Agli albori dell'informatica, si programmava in binario, cioe` in linguaggio macchina,

Dettagli

Sistemi di Antivirus CEFRIEL. Politecnico di Milano. Consorzio per la Formazione e la Ricerca in Ingegneria dell Informazione. Politecnico di Milano

Sistemi di Antivirus CEFRIEL. Politecnico di Milano. Consorzio per la Formazione e la Ricerca in Ingegneria dell Informazione. Politecnico di Milano Consorzio per la Formazione e la Ricerca in Ingegneria dell Informazione Politecnico di Milano Sistemi di Antivirus CEFRIEL Politecnico di Milano Antivirus I sistemi di antivirus sono dei software che

Dettagli

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

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

Dettagli

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

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare. Macchine virtuali Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.com 1. Cosa sono In informatica il termine

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

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

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli