Elementi di Sicurezza e Privatezza Lezione 2 - Introduzione (2) Chiara Braghin chiara.braghin@unimi.it!
Avviso (1) Giovedì 18 ottobre giornata di orientamento al lavoro per studenti e laureati dell'università Oltre 80 aziende presenti con stand e workshop nel cortile centrale di via Festa del Perdono Possibilità di consegnare il proprio curriculum vitae direttamente ai responsabili delle Risorse umane delle aziende presenti Richiesta la registrazione sul sito del COSP 1
Avviso (2) Il giorno giovedì 25 Ottobre la lezione è sospesa a causa della manifestazione MediaExpo 2
A proposito di Linux Potete installare Linux anche nei vostri computer personali, qualsiasi versione va bene Le versioni utilizzata in laboratorio: Kubuntu (Linux VM)! Ubuntu 10.10 contenuta nel OWASP Web Testing Environment (WTE) (OwaspVM) che utilizzeremo tra qualche laboratorio! http://appseclive.org/! https://www.owasp.org/! 3
Sicurezza Informatica? (1) Sicurezza Informatica? w Prevenzione o protezione contro w accesso, distruzione o alterazione di risorse/informazioni w da parte di utenti non autorizzati 4
Sicurezza Informatica? (2) - Tassonomia Sicurezza Informatica. Controllo Livelli di segretezza Equilibrio privatezza-legge Non ripudiabilità Autenticazione Confidentiality (segretezza) Privatezza Anonimato Availability Integrity 5
Sicurezza Informatica? (3) A volte anche le seguenti proprietà vengono considerate come parte integrante della sicurezza: Safety: w una serie di accorgimenti atti ad eliminare la produzione di danni irreparabili all'interno del sistema Reliability (affidabilità): w prevenzione da eventi che possono produrre danni di qualsiasi gravità al sistema. 6
La sicurezza informatica non è
non è crittografia Crittografia scienza esatta come branca della matematica w Impossibile violare RSA in tempo polinomiale Sicurezza scienza inesatta perché basata su persone e macchine w Acquisto on-line potenzialmente insicuro 8
non è password Sistema molto debole! La password più diffusa è love w Attacchi dizionario w Attacchi forza bruta w Ottenere l accesso al file delle password Problemi: w Come scegliere una buona password? w Come ricordare una buona password? w Usare una password per sempre? 9
non è firewall 10
Sicurezza [Schneier00] La sicurezza non è un prodotto, ma un processo w Concetto mai assoluto qual è il contesto? w Sicurezza da che cosa? w Che livello di sicurezza si vuole garantire? La sicurezza è una catena e la sua resistenza è determinata dall anello più debole 11
Il dilemma della Sicurezza Teoria versus Pratica Teoria: Condizioni ideali prevedibili Ipotesi ben precise Risultati ben precisi Pratica: Condizioni reali imprevedibili Ipotesi meno precise Risultati meno precisi Esempi: protocolli di sicurezza, crittografia perfetta, 12
(Alcuni) problemi di sicurezza Causati da: w Complessità Che sistema operativo! w Interattività 2 sistemi diventano 1 grande w Proprietà emergenti L avvento di X comporta Y w Predisposizione ai bug Alcuni linguaggi di programmazione sono più difficili di altri 13
Come proteggersi?
Planning security (1) 1. Prevenzione (prevention) w Crittografia w Controllo (antivirus, badge, backup, ) 2. Rilevamento (detection) w Logging w Intrusion detection 3. Reazione (reaction) w Intrusion management w System recovery w Tribunale 15
Planning security (2) In generale: Pianificazione della rete con hardware adeguato (router, switch ecc.) insieme alla divisione della rete in aree a livello di sicurezza variabile. Controllo dell integrità delle applicazioni (bugs free) e verifica della correttezza delle configurazioni. Utilizzo di software che controllino e limitino il traffico di rete dall esterno verso l interno e viceversa (es. firewall, router screening ecc.) Utilizzo di applicazioni che integrino algoritmi di crittografia in grado di codificare i dati prima della loro trasmissione in rete (es. PGP, SSH, SSL ecc.) 16
Sicurezza: stato dell arte La sicurezza: w Richiederebbe spesso il ridisegno di un sistema preesistente, il che non è sempre possibile w E una proprietà di vari livelli architetturali [SO, rete,...] w Non è un semplice predicato booleano! w E costosa nel senso di risorse computazionali, gestione, mentalità, utilizzo w Rimane un campo aperto anche per i colossi dell informatica 17
I trade-off della SI (1) Non esiste sicurezza in senso assoluto: w La prevenzione può:" ridurre la possibilità che abbia luogo una violazione" ridurre i danni che una violazione può portare" w Il rilevamento di attacchi alla sicurezza:" Non sempre è possibile in tempo reale" Funziona soprattutto per attacchi già noti 18
I trade-off della SI (2) La sicurezza ha un costo in termini di:" acquisto, applicazione e gestione di misure aggiuntive " aumento del carico del sistema (diminuzione di prestazioni) " w I costi sono relativi a: Valore delle risorse da proteggere Scomodità dell utente Accettazione dell utente w La prevenzione va bilanciata rispetto al valore delle risorse da proteggere ed al danno che una violazione a queste porterebbe. 19
Da cosa proteggersi?
Vulnerabilità, minacce, attacchi Vulnerabilità: w Debolezza del sistema che potrebbe permettere violazioni alla sicurezza e causare danni" Es. La protezione della rete inadeguata, dipendenza da un unica fonte di energia" Minaccia: " w Circostanza o evento che potrebbe causare violazioni alla sicurezza" Es. Presenza di un bug nel software" Attacco:" w Evento che deliberatamente sfrutta una vulnerabilità del sistema per violarne la sicurezza 21
Minacce note Parallelo con il mondo reale: w Esistono leggi e non tutti le osservano w Esistono capitali e alcuni violano le regole specialmente per impossessarsi di capitali illecitamente 22
Minacce nuove automazione Microfurti diventano una fortuna w Limare 1/1000 da ogni transazione VISA Violazioni quasi senza tracce w Il mio PC ha fatto improvvisamente reboot Privatezza a rischio w Tessere fedeltà 23
Minacce nuove distanza Non esiste distanza w Internet non ha confini naturali Ci preoccupano tutti i criminali del mondo w Adolescente inglese viola sistema italiano w NB: L adolescente inglese sarà ricercato anche dalla legge italiana! Leggi internazionali vs confini nazionali w Leggi internazionali ancora non sufficienti w Denunce contro Internet w Mecca: trovarsi in uno stato americano con scarsa cyberlaw e mancanza di estradizione 24
Minacce nuove tecniche diffuse Rapidità di propagazione delle tecnologie w Hacker pubblica lo script del proprio attacco w Scaricato crack slovacco per texteditor Diventare hacker spesso non richiede abilità w Scaricato script per attacco di negazione del servizio (DoS) w Trovato su Internet parte del codice rubato di Win2K e verificato che 25
Tipologia di attacchi Non dolosi: non esiste volontà esplicita w Disastri naturali w Errori hw e sw w Errori umani Dolosi: utenti illegittimi o legittimi che abusano delle proprie autorizzazioni" w sabotaggio " w intrusione " w falsificazione dei dati " w ricerca fraudolenta di informazioni " w intercettazioni" 26
Obiettivi degli attacchi Nel mondo reale: w Terrorismo w Visibilità w Rapine di banche w Truffe w Plagio w Vandalismo w Ostruzione del corso della giustizia Nel mondo elettronico: w Virus fortemente contagiosi w Sfregio di pagine web w Furto di numero di carte di credito w Truffe on-line w Furto di proprietà intellettuali w Cancellazione di dati w Denial of service w Raccolta dati personali w Spionaggio w Lettura di file privati w Spionaggio 27
Sistemi vulnerabili: il Trend (1) Alcune caratteristiche intrinsiche dei sistemi rende possibili gli attacchi: w Internet Connessione globale tra utenti anche sconosciuti (chiunque è connesso ) Sistema distribuito: senza organo centrale di progettazione e controllo Struttura aperta: model, wireless, DHCP Interazione con sw sconosciuto e non fidato: applets, downloads, codice mobile, Plug-in, Cookies 28
Sistemi vulnerabili: il Trend (2) Omogeneità - Monoculture w Hardware: x86 w SO: Windows w Applicazioni: COTS (Commercial, Off- The-Shelf) Costi della sicurezza w Market now, fix bugs later (importante il timeto-market) w I clienti vogliono sicurezza, ma non vogliono pagare per averla 29
Da chi proteggersi?
Possibili attaccanti [Defence Science Board] Errori umani grossolani non voluti Hacker in cerca di nuove sfide Impiegati o clienti scontenti in cerca di vendetta Piccoli criminali Crimine organizzato Gruppi terroristici organizzati Agenti di spionaggio Spionaggio in periodo di guerra 31
Hacker storici (prima del 2000) Profilo: w maschio w tra i 14 e i 34 anni w appassionato di computer w single Kevin David Mitnick Onel A. de Guzman Creatore del virus Love Bugs Gary McKinnon Senza interesse commerciale!!! Credits to J. Mitchell Source: Raimund Genes 32
Come proteggersi?
Come proteggersi? (1) Come difendersi? Come proteggere i dati/le risorse? w Prevenzione+ rilevamento+ reazione Prevenire = controllo Controllo: Verificare che il sistema funzioni come previsto Mondo digitale: facile non lasciare tracce Es: Alterare un file cambiando un bit Controllo dell accesso: Garantire che gli utenti abbiano accesso a tutte e sole le risorse o i servizi per i quali sono autorizzati 34
Come proteggersi? (2) 1. Verificare che il sistema funzioni come previsto 2. Definire delle regole di accesso e controllare che chi vi accede soddisfi tali regole politiche e meccanismi 3. Trasmettere i dati non in chiaro crittografia e protocolli crittografici CONTROLLO DEGLI ACCESSI 35
Come proteggersi? (3) Per prevenire intanto si deve specificare: w Da chi (o cosa) ci si vuole proteggere w Quali sono gli utenti autorizzati a quali non w Quali proprietà di sicurezza devono essere soddisfatte dal sistema w Che livello di segretezza? Top secret, Secret, Riservato,Non classificato w 36
Come proteggersi? (4) In un qualsiasi sistema: In sicurezza: w Specifica Cosa deve fare? w Implementazione Come lo deve fare? w Correttezza Funziona? w Specifica Politica w Implementazione Meccanismo w Correttezza Assurance 37
Come proteggersi? (5) 1. Definire una politica di sicurezza 2. Scegliere un meccanismo per far rispettare la politica 3. Verificare che sia la politica che il meccanismo siano valide e coerenti. 38
Politiche di Sicurezza (1) Sono un insieme di proprietà di sicurezza w Sono regole ad alto livello che descrivono gli accessi autorizzati al sistema Chi (= SOGGETTI) può fare cosa (= OGGETTI / RISORSE) Possono essere in conflitto Dipendono dall applicazione da proteggere w E.g., banca: Autenticazione dei clienti agli sportelli, ATM e su web Non-repudiation delle transazioni Integrità dei conti correnti dei clienti Segretezza dei clienti e dei dati interni Disponibilità di un sistema di allarme Separation of duties (nessun conflitto di interessi) Doppio controllo delle transazioni sensibili 39
Politiche di Sicurezza (2) Le politiche possono venire descritte in: w Linguaggio naturale (semplice da capire ma di solito impreciso) w Matematica (precisa, ma difficile da capire) w Linguaggio ad hoc, una specie di pseudo-codice che cerca di bilanciare la precisione con la facilità di comprensione Composizione di politiche w Se le politiche sono in conflitto, le discrepanze possono diventare una vulnerabilità. 40
Meccanismi Meccanismi: Meccanismi di basso livello (HW/SW) che implementano le politiche di sicurezza w Ovviamente devono essere protetti da alterazioni illecite 41
Politiche vs Mecanismi Livelli di astrazione diversi w Gli attaccanti non rispettano i diversi livelli di astrazione w Alcuni meccanismi vengono presentati come politiche Analisi dei requisiti di accesso indipendente dall implementazione w Diversi meccanismi possono implementare una stessa politica w Un singolo meccanismo puo implementare diverse politiche 42
Controllo degli Accessi Gli elementi sono: w Oggetti, risorse e/o dati w Richieste di operazioni (o modalità di accesso) su oggetti w Soggetti, i richiedenti I soggetti possono venire classificati in: w utenti -- singoli individui w gruppi -- insiemi di utenti w ruoli -- entità funzionali all interno dell organizzazione w processi -- programmi in esecuzione 43
Controllo degli accessi- Modalità di accesso A seconda del tipo di oggetto, ci possono essere diverse modalità di accesso: w Read/write/append: vedere/cambiare i contenuti di un oggetto w execute w select, insert, update, delete, Permesso (o Privilegio) = possibilità di accedere ad una risorsa secondo una certa modalità 44