Indice Perché è esploso il problema “sicurezza” ? Vecchi paradigmi
Transcript
Indice Perché è esploso il problema “sicurezza” ? Vecchi paradigmi
LEZIONE 01 Introduzione alla sicurezza delle reti e dei sistemi informativi Antonio Lioy < lioy @ polito.it > Politecnico di Torino Dip. Automatica e Informatica Indice introduzione alla sicurezza dei sistemi ICT: l’evoluzione dei sistemi ICT ed il problema sicurezza le problematiche ed il lessico della sicurezza ICT gli attacchi tecnologici (sniffing, spoofing, …) gli attacchi non tecnologici (social engineering) < Tecniche di attacco che si basano sulle debolezze degli esseri umani. Perché è esploso il problema “sicurezza” ? Vecchi paradigmi informazioni ed elaborazione centralizzate accesso tramite postazioni “stupide” comunicazione “unicast” tramite linee dedicate CED concentratore terminali Una volta i cattivi potevano essere cattivi solo se avevano accesso diretto al computer, ora con Internet no. Il problema di sicurezza è esploso perchè se non funzionano i sistemi ICT si possono creare danni economici imprevisti. All'inizio c'era il CED (Centro Elaborazione Dati): stanza chiusa in cui si mettevano le schede perforate e c'era una stampante che stampava i risultati. Concentra tutta l'intelligenza e tutta la memoria del sistema. Dopo qualche anno sono comparsi i terminali: schermo e tastiera con linea dedicata che esce dal terminale e va al CED. Coi cavi coassiali me la cavavo fino a 1 Km, quindi al Valentino avevano grossi problemi a collegarsi in Corso Duca: le comunicazioni venivano dunque "multiplexate" nel concentratore e inviate al CED su una linea dedicata. Sicurezza fisica (il CED era una stanza fisica, quindi l'unico modo per "attaccare" è farsi assumere come personale delle pulizie e carpisco in qualche modo i dati che transitano sulle linee di comunicazione) e logica (username e password, magari compatibilmente a certi orari) Nuovi paradigmi informazioni ed elaborazione distribuite accesso tramite postazioni distribuite intelligenti comunicazioni “broadcast” e/o linee condivise nuovi paradigmi applicativi (web, P2P, SMS, …) WAN LAN In un sistema moderno vi sono reti (LAN, WAN...) che interconnettono fra di loro postazioni distribuite, server e quant'altro. Informazioni, dati ed elaborazioni non sono più centralizzate ma distribuite. Diventa difficile fare sicurezza fisica. Le postazioni sono molto intelligenti, e quindi sono trasformabili in un sistema di attacco sofisticato. Le comunicazioni ora sono di tipo broadcast: pessime, tutti i nodi della rete ricevono il messaggio e IN TEORIA dovrebbero farsi i cazzi loro se non sono loro i destinatari. Linee condivise: il nostro traffico si mischia col traffico delle altre utenze. Mettiamoci sopra tutta la miriade di programmi che girano ora: BAM. Nonostante sia cambiato lo scenario tecnologico, si continua a ragionare con username e password. Malerrimo. La tecnologia come motore di innovazione reti di comunicazione dispositivi personali (PC, tablet, …) L'innovazione è stata spinta dall'avvento dei primi dispositivi personali (si va sempre più vicino all'individuo) e dalle reti di comunicazione. Uao. Vediamo come offrire nuovi servizi sui nuovi dispositivi. Poi però scordiamoci della sicurezza e mettiamola alla fine. Bella cavolata. La sicurezza la devi progettare durante l'ideazione del progetto e non dopo. INNOVAZIONE sicurezza Una definizione di sicurezza informatica E’ l’insieme dei prodotti, dei servizi, delle regole organizzative e dei comportamenti individuali che proteggono i sistemi informatici di un’azienda. Ha il compito di proteggere le risorse da accessi indesiderati, garantire la riservatezza delle informazioni, assicurare il funzionamento e la disponibilità dei servizi a fronte di eventi imprevedibili (C.I.A. = Confidentiality, Integrity, Availability). L’obiettivo è custodire le informazioni con la stessa professionalità ed attenzione con cui ci si prende cura di gioielli o certificati azionari depositati nel caveau. Il sistema informatico è la cassaforte delle nostre informazioni più preziose; la sicurezza informatica è l’equivalente delle serrature, combinazioni e chiavi che servono a proteggerla. SERVIZIO Stimare i rischi ASSET dati risorse ICT risorse umane location EVENTI vulnerabilità impatto minacce probabilità dell’evento STIMA DEL RISCHIO La sicurezza è un INSIEME di cose. Prodotti (qualcosa che compro o comunque prendo open source). Servizi (il prodotto se lo lascio spento non serve a niente). Regole organizzative (se non dico come va usata non è bene). Comportamenti individuali (se non controllo che la password sia effettivamente lunga 10 c. dopo un po' ci si stufa). Accessi indesiderati (soltanto chi ha il permesso deve entrare nei sistemi della banca). Riservatezza (te che fai i mutui vedi le informazioni solo dei mutui, non dello stipendio). Funzionamento e disponibilità dei servizi (se lancio un DoS creo un danno). Punti riassumibili in CIA = Confidentiality, Integrity (non puoi modificare dati se non ne hai diritto), Availabilty. Io faccio sicurezza se so di correre dei rischi. Noi abbiamo un servizio da erogare, che viene erogato grazie a un insieme di asset: * risorse ICT (computer, linee di comunicazione...) * dati (concettualmente diverso da dove sono memorizzati: pre* vedere backup e quant'altro) * risorse umane (c'è una sola persona che sa come funziona tut* to? Non bene.) * location (dove si trovano tutte le risorse per erogare un certo * servizio?) Una volta identificati gli asset devo identificare gli eventi che possono creare dei problemi: * vulnerabilità (intrinseche di tutti gli asset, teoriche) * minacce (dipendono da come usiamo gli asset) Per ciascuna delle minacce valutiamo l'impatto e la probabilità dell'evento. Terminologia ASSET = l’insieme di beni, dati e persone necessarie all’erogazione di un servizio IT VULNERABILITA’ = debolezza di un asset es. pwd = username; sensibile alle inondazioni MINACCIA = evento intenzionale o accidentale che può causare la perdita di una proprietà di sicurezza ATTACCO = verificarsi di una minaccia di tipo "evento intenzionale" EVENTO (NEGATIVO) = verificarsi di una minaccia di tipo "evento accidentale" Analisi e gestione della sicurezza analisi Per fare sicurezza si fa prima l'analisi, in cui si identificano asset, vulnerabilità e minacce. Output di questa fase: rischi che corriamo. gestione A questo punto cerchiamo di gestire i rischi: per quelli che riteniamo inaccettabili selezioniamo delle contromisure che andranno implementate nel modo corretto. Non si può mai essere tranquilli, quindi bisogna fare degli audit periodici (il sistema è ancora in piedi? Ci sono nuove minacce?) vulnerabilità asset minacce (threat) rischi selezione contromisure implementazione contromisure Nel corso parliamo delle cose tratteggiate. audit LEZIONE 02 La sicurezza nel ciclo di vita di un sistema La sicurezza non è un qualcosa che si aggiunge alla fine, ma trova il suo posto in tutte le fasi del ciclo di vita di un sistema. requirements analysis technical options design develop test implement live system risk assessment identify security products design security services integrate security test security set-up security manage security Quando ad esempio faccio l'analisi dei requisiti devo fare anche l'analisi dei rischi a cui il mio sistema può essere sottoposto: quindi devo definire politiche e procedure di sicurezza. La sicurezza è qualcosa che va gestita day by day. security policy & procedures Relazioni nel campo della sicurezza threats security control reduce security requirements exploit security risks underwrite vulnerabilities devalue asset values and potential impacts assets Questo schema evidenzia tutti gli aspetti fondamentali che abbiamo quando si parla di sicurezza e tutte le relazioni che intercorrono fra loro. Es.: security control (= elemento che fornisce sicurezza) protegge contro alcune minacce, tali perchè sfruttano vulnerabilità che esistono e che espongono certi assets Perchè occorre gestire la sicurezza day by day? Perchè ogni giorno nascono continuamente nuovi attacchi. FINESTRA DI ESPOSIZIONE Window of exposure risk produttore informato della vulnerabilità produttore informa i suoi clienti aggiornamento strumenti (es. IDS) rilascio di una patch scoperta nuova vulnerabilità patch resa nota a tutti vulnerabilità resa pubblica installazione della patch discovery publication protection window of exposure t1 t2 t=0: abbiamo un certo livello di rischio. t1: viene scoperta una nuova vulnerabilità, usata per condurre un qualche attacco. t2: nel momento in cui viene usata, la vulnerabilità diventa pubblica. Tutto il mondo ne viene a conoscenza, e un buon tot. di persone ci può attaccare. Il produttore dev'esserne informato e deve cercare di fare qualcosa: intanto informa i suoi clienti. Nel frattempo cerchiamo di mettere in piedi un qualche sistema di difesa (IDS, così so se qualcuno mi attacca) t3: il produttore rilascia una patch. Il livello di rischio non si azzera finchè io non la installo. t t3 t4 WOE: valor medio per i browser 2008-10 2008: Safari aveva in media 9 giorni dalla scoperta delle vulnerabilità al rilascio della patch. 2009: sempre Safari, i giorni passano a 13. 2010: Internet Explorer il peggiore. 4 giorni per tappare una falla. http://www.symantec.com/threatreport/topic.jsp? id=vulnerability_trends&aid=browser_window_of_exposure Che cos’è la sicurezza? Security is a process, not a product La sicurezza non è un prodotto, ma un processo: è esattamente quello che abbiamo visto con la window of exposure. Si attuano tutta una serie di strategie per tappare le falle? (Bruce Schneier, Crypto-Gram, May 2005) Computer Security: Will We Ever Learn? If we've learned anything from the past couple of years, it’s that computer security flaws are inevitable. Systems break, vulnerabilities are reported in the press, and still many people put their faith in the next product, or the next upgrade, or the next patch. “This time it’s secure,” they say. So far, it hasn’t been. Security is a process, not a product. Products provide some protection, but the only way to effectively do business in an insecure world is to put processes in place that recognize the inherent insecurity in the products. The trick is to reduce your risk of exposure regardless of the products or patches. Proprietà (astratte) di sicurezza autenticazione ( semplice / mutua ) authentication ( simple / mutual ) autenticazione della controparte peer authentication autenticazione dei dati data / origin authentication autorizzazione, controllo accessi authorization, access control integrità integrity riservatezza, confidenzialità confidentiality, privacy, secrecy non ripudio non repudiation disponibilità availability tracciabilità accountability I problemi di sicurezza sono inevitabili, ma noi poniamo sempre fiducia nel nuovo prodotto. Cazzata. Una componente grossa della sicurezza è già pensare alla sicurezza. DA RICORDARE A MEMORIA Autenticazione (della controparte) Ciao, sono Alice Barbara vuole fare login su un sistema per usare un certo servizio. Fa la furba e si identifica come Alice. Il sistema chiede una prova. Autenticazione semplice o singola perchè solo una delle due parti si identifica. E' il sistema di autenticazione a cui siamo abituati a pensare. Dimostramelo! Barbara Mutua autenticazione (delle controparti) Ciao, sono Barbara Benvenuta Barbara! Barbara si presenta come Barbara. Siamo veramente sicuri di parlare col server della banca? Parlo con la banca? Certo! Come puoi dubitarne? Sgrinfia & Arraffa S.r.l. Barbara Autenticazione (dei dati) Aumentate del 30% lo stipendio del Prof. Lioy L'autenticazione della controparte ha senso quando c'è una comunicazione che avviene in tempo reale. Si ricorre all'autenticazione dei dati in tutti quei casi in cui la comunicazione è di tipo asincrono (esempio classico: la posta elettronica). Ci dev'essere dunque autenticazione intrinseca dentro ai dati in determinati contesti. Il Rettore Non ripudio prova formale - usabile in tribunale - che dimostra in modo innegabile l’autore dei dati molti aspetti da considerare: autenticazione (del mittente) integrità identificazione (del mittente) ... Sia le comunicazioni sia i dati scambiati hanno una grande rilevanza in ambito lavorativo. Posso dimostrare che una mail mi è arrivata effettivamente da una certa persona se sono in tribunale? L'autenticazione è una procedura informatica: "sì, vabbè, hai inserito username e password, sei autenticato ma magari non sei tu!". Qualcuno ha poi cambiato i miei dati? Non ripudio - esempio consideriamo il non ripudio di una firma elettronica: sintassi (è la tua firma?) semantica (hai capito ciò che stavi firmando?) volontà (hai firmato volontariamente?) identificazione (sei stato tu a firmare?) tempo (quando hai firmato?) < 4 luogo (dove hai firmato?) ^ Importante se il documento elettronico ha una ^ qualche valenza fiscale: la tassazione è diversa ^ nei vari paesi del mondo. < Come sono messi i bit? Fortunatamente ci sono gli standard. < Hai capito quello che stavi firmando? C'erano un tot di bit che < erano illeggibili, oppure uso font che non sono sul PC. < Qual è la tecnica che permette di identificarti? Volontà e iden< tificazione non si riescono a isolare con certezza, quindi si ri< corre a un notaio. < 4 La data è importante perchè ad esempio se mando una mail < 4 posso fare le peggio furbate con la data. Autorizzazione (controllo accessi) Dammi l’auto di Alice! Ok, le parti in causa si sono autenticate, tutto bene. Barbara sa che Alice ha un'auto nuova e ne chiede il controllo: nel momento in cui Barbara mi dà un ordine, devo assicurarmi che lei abbia i necessari permessi, dati magari da Alice. Sei stata autorizzata da lei? Barbara La piramide della sicurezza $$$ $$$ log log integrità integrità riservatezza riservatezza autorizzazione autorizzazione autenticazione autent. Tutte queste proprietà non hanno il medesimo peso. Nel nostro campo la base larga è l'autenticazione. Lo schema di sinistra è quello teorico. In pratica si arriva allo schema di destra: è una cretinata ed è instabile. Si dà un sacco di importanza ai log (perchè sono più comprensibili) e non alle cose a cui bisogna dare importanza, come un'autenticazione solida. Riservatezza (delle comunicazioni) Due persone stanno parlando di una terza parte (Laura) che non dovrebbe sapere niente di quanto si dicono le due. Lo sai che Laura non è una bionda naturale? Che vergogna! Che s*?%$#”! Laura Riservatezza (dati, azioni, posizione) DATI AZIONI POSIZIONE www.playboy.com Il fatto che i dati non vengano trasmessi in rete non vuol dire che siano riservati: se io mi allontano e qualcuno accede ai miei dati sono comunque fregato. Gli ISP hanno l'obbligo in Italia di mantenere i log di quello che abbiamo visitato per 7 anni. Spesso usiamo dispositivi mobili per accedere alla rete: qualcuno sa esattamente dove siamo. Alcuni anni fa i maggiori provider italiani stavano per vendere un servizio che con il numero di cellulare localizza un soggetto. Bloccato dal Garante della Privacy, ma i fornitori dei servizi lo sanno. contab_in_nero.xls Torino, cella 2455 Integrità (modifica) Pagate 1,000 EURO ad Antonio Lioy Rete di comunicazione Lioy fa un lavoro di 6 mesi per la CEE, che gli corrisponde una somma di 1000€. Pochini. Contatta il suo amico che lavora all'ISP da cui si serve la sua banca: visto che l'amico controlla uno dei router tra Bruxelles e Torino, Lioy chiede di aggiungere uno zero. Questo succede se non viene garantita l'integrità, con la quale possiamo solo accorgerci di una modifica che non viene impedita a priori (impedire le modifiche si può fare con controllo accessi). Pagate 10,000 EURO ad Antonio Lioy Integrità (cancellazione) Trasferite 2500 Euro dal conto di Antonio Lioy a quello della Rolex C'è un'altra accezione di integrità, associata alla cancellazione. Vado in un negozio, compro e faccio fare l'addebito sul mio conto: se richiamo il tizio di prima gli dico di buttare il messaggio dalla rete. Questo attacco non è banale da scoprire perchè il destinatario in teoria non si aspetta niente: se quindi il mittente non si aspetta niente è fregato. Rete di comunicazione Attacchi di tipo “replay” Pagate 1,000 Euro ad Antonio Lioy Rete di Pagate 1,000 Euro comunicazione ad Antonio Lioy. Pagate 1,000 Euro ad Antonio Lioy. Pagate 1,000 Euro ad Antonio Lioy Sempre legato all'integrità (ma sotto una sfera un po' più ampia) ci sono gli attacchi reply. Il tizio che controlla i router non capisce dove c'è scritto 1000€ nel messaggio. Se però registro questi bit e li rimando in rete un'altra volta mi potrebbero arrivare altri 1000€. Attacchi replay particolarmente bastardi perchè non alterano i dati. Se non metto identificativi univoci nei dati sono fregato. Basta anche solo un numero di sequenza inserito dal mittente e controllato dal destinatario. Sicurezza: dove è il nemico? fuori dalla nostra organizzazione difesa del perimetro (firewall) fuori dalla nostra organizzazione, con l’eccezione dei nostri partner protezione dell’Extranet (VPN) dentro la nostra organizzazione protezione della Intranet (?!) ovunque ! protezione delle applicazioni protezione dei dati Quindi al 90% io sono il buono e gli altri i cattivi: proteggo le applicazioni che uso e automaticamente i dati sono protetti nel momento in cui li mando in rete. Nonostante tutto questo discorso le aziende tendono a preferire una protezione a livello rete (= compro l'apparecchietto) piuttosto che riprogettare una applicazione. Origine dell’attacco? (2010) Dov'è che si trova il nostro nemico? * noi siamo buoni, solo fuori ci sono i cattivi * - difendo il perimetro della mia azienda con il firewall * sì, i cattivi sono fuori, ma non proprio tutti (Jeep non è cattiva * nei confronti di Fiat) * - se espando la Intranet a una Extranet per mezzo di una VPN * - devo prevedere meccanismi di protezione * i cattivi stanno anche dentro * - proteggo la Intranet: controsenso in quanto le Intranet in teo* - ria erano fatte per collaborare più facilmente. percentuale di attacchi esterni / interni: interni 30-50% esterni 70-50% percentuale delle perdite totali causate da personale interno: 40% da personale “malvagio” 60% da personale “stupido” Alcune delle cose che abbiamo detto sono supportate da analisi. Non c'è prevalenza di attacchi esterni rispetto agli attacchi interni. Inoltre, nella maggior parte dei casi gli attacchi interni nascono da personale che "non lo fa apposta". (dai report CSI/FBI e Verizon/USSS 2010) Quali percentuali di attacco ci sono state nei vari anni nelle varie categorie? La riga contrassegnata da *** è quella dei malware, che salvo brevi flessioni, è sempre stata dominante. *** Evoluzione temporale dei principali attacchi rilevati dalla survey annuale CSI/FBI ** Furto di laptop / PDA non solo un danno economico per rimpiazzare l'oggetto rubato … ma la perdita di dati non più disponibili (backup?) o la diffusione di informazioni riservate Scoop di giornalista del Global Post nella città tra Pakistan e Afghanistan Nei mercatini di Peshàwar i PC dei marine Computer con contenuti riservati in vendita a 650$ lungo la strada dove i convogli Nato sono attaccati dai talebani. … computer dell'esercito Usa. Ancora pieni di informazioni classificate, come nomi di militari, siti di dislocamento, debolezze e carenze strutturali dei mezzi di trasporto e di combattimento. (corriere.it, 9/2/09) La riga ** è invece relativa al furto di laptop. Il problema non è rimpiazzare il laptop, ma considerare i dati che c'erano lì sopra: se erano dati riservati, AHIA. Insicurezza: le cause profonde (I) “Attack technology is developing in a open-source environment and is evolving rapidly” “Defensive strategies are reactionary” “Thousands - perhaps millions - of system with weak security are connected to the Internet” “The explosion in use of the Internet is straining our scarse technical talent. The average level of system administrators … has decreased dramatically in the last 5 years” Nei sistemi di oggi c'è dunque tanta insicurezza. < Visto che molto spesso gli strumenti di attacco sono open < source sono modificabili in maniera clamorosamente facile. < Reagisco solo dopo che mi sono fatto la bua. < Mi interessa attaccare computer poco sicuri per poter poi lan< ciare un attacco massivo. < straining = stressando. L'interfaccia grafica ha moltiplicato la < produttività degli amministratori di sistema, ma gli fa perdere i < dettagli. Insicurezza: le cause profonde (II) “Increasingly complex sw is being written by programmers who have no training in writing secure code” “Attacks and attack tools trascend geography and national boundaries” “The difficulty of criminal investigation of cybercrime coupled with the complexity of international law means that … prosecution of computer crime is unlikely” da “Roadmap for defeating DDOS attacks” (feb. 2000, after Clinton meeting at White House) aggiornamenti su www.sans.org/dosstep/roadmap.php Problemi base (tecnologici) le reti sono insicure: le comunicazioni avvengono in chiaro le reti locali funzionano in broadcast le connessioni geografiche non avvengono tramite linee punto-punto ma: attraverso linee condivise tramite router di terzi autenticazione debole degli utenti (normalmente basata su password) non c’è autenticazione dei server il software contiene molti bachi! IP spoofing / shadow server qualcuno si sostituisce ad un host packet sniffing si leggono password di accesso e/o dati riservati connection hijacking / data spoofing si inseriscono / modificano dati durante il loro transito in rete denial-of-service (DoS) e distributed DoS (DDoS) si impedisce il funzionamento di un servizio (es. la guerra dei ping) Tutta roba base qui, eh, non ti emozionare. Questa roba qua è del 2000 ma è attualissima. LEZIONE 03 Alcune tipologie di attacco < Quando io chiedo un input numerico e mi arriva una stringa io < devo essere pronto a reagire comunque. Gran parte dell'insicurezza oggi deriva dal fatto che le reti sono insicure. < Sono finiti i "bei tempi" in cui c'era la macchina al CED. IP spoofing falsificazione dell’indirizzo di rete del mittente solitamente si falsifica l’indirizzo di livello 3 (IP) ma nulla vieta di falsificare anche quello di livello 2 (ETH, TR, ...) meglio chiamarlo source address spoofing attacchi: falsificazione di dati accesso (non autorizzato) a sistemi contromisure: NON usare mai autenticazione basata sugli indirizzi di rete Il fatto che si parli di IP spoofing è fuorviante, perchè si può modificare qualsiasi indirizzo (dunque anche quelli L2), quindi sarebbe meglio chiamarlo source address spoofing. Attacco utile perchè così mi spaccio per qualcun altro o posso accedere a delle risorse a cui invece non potrei avere diritto. MAI MAI MAI dunque fare autenticazione con indirizzi di rete. Packet sniffing lettura dei pacchetti destinati ad un altro nodo della rete facile da fare in reti broadcast (es. LAN) o nei nodi di smistamento (es. switch, router) attacchi: permette di intercettare qualunque cosa (password, dati, ...) contromisure: reti non broadcast (!?) crittografia del payload dei pacchetti < Tramite interfacce di management o accesso fisico a una di < queste macchine (mirroring) Non esistono grosse alternative alle reti broadcast, quindi la vera contromisura è quella di crittografare il payload, così puoi pure leggere ma alla fine non capisci un cazzo. Occhio che si parla solo di payload e non di header, perchè altrimenti i router non 1 capiscono un bel niente. Questo dall'ambito spionistico in alcuni 00 011010 1001010 casi può essere sufficiente. Denial-of-service (DoS) si tiene impegnato un host in modo che non possa fornire i suoi servizi esempi: saturazione della posta / log ping flooding (“guerra dei ping”) SYN attack attacchi: impedisce l’uso di un sistema / servizio contromisure: nessuna definitiva, solo palliativi quantitativi Molti di questi attacchi indistinguibili da situazioni di errore. Non riesco a penetrare nel sistema. Uffa. Ti buco il pallone. Non è una tecnica precisa ma un'idea, quindi si può scatenare la fantasia come meglio si crede. < In teoria ping/pong, io stronzo mando un sacco di ping < Comincio ma non completo connessioni TCP La vera sicurezza contro i DoS si fa mandando avvisi al security manager e al network manager. Se c'è l'80% di traffico sulla rete relativa a ping ci può essere un problema relativo a un applicativo o un ping attack. Distributed denial-of-service (DDoS) software per DOS installato su molti nodi (chiamati daemon, zombie o malbot) costituendo una Botnet daemon controllati remotamente da un master (spesso tramite canali cifrati) e con capacità di auto-aggiornamento effetto dell’attacco base moltiplicato per il numero di daemon esempi: TrinOO TFN (Tribe Flood Network) Stacheldraht (=filo spinato) Canale cifrato: leggo e non capisco cosa c'è scritto dentro Canale coperto: usa per la comunicazione qualcosa che normalmente non si usa (ci sono implementazioni dello stack TCP/IP fatte sopra ICMP). Gran bomberata e difficile da sgamare. DDoS attack attaccante master daemon daemon master daemon master daemon daemon L'attaccante ha in antipatia la vittima. Se conduce da solo l'attacco: * magari non ha risorse sufficienti * può essere rintracciato dalla Polizia Allora controlla tanti daemon, alcuni di questi promossi a master. Quando l'attaccante vuole attaccare, dà l'ordine ai master e si scollega dalla rete. Sta ai master dare un ordine coordinato ai daemon. Bum. VITTIMA controllo attacco Feb 8th 2000, 10.30am (PST) @ Yahoo Server Farm “the initial flood of packets, which we later realized was in excess of 1G bits/sec, took down one of our routers …” “… after the router recovered we lost all routing to our upstream ISP …” “… it was somewhat difficult to tell what was going on, but at the very least we noticed lots of ICMP traffic …” “… at 1.30pm we got basic routing back up and then realized that we were under a DDoS attack” I sistemisti di Yahoo non erano dei pirilli, ma avevano una server farm con tre collegamenti che uscivano da tre palazzine diverse e un pacco di banda. Com'è che li hanno fregati? Coinvolti più di 10000 zombie, equamente distribuiti sulle tre linee. Pianificazione oculata. Clinton dunque si è un attimo svegliato per evitare che poi arrivasse un attacco a un qualche obiettivo militare. Riesco a costruire una buona rete di zombie semplicemente con considerazioni statistiche (e adesso la questione è peggiorata perchè siamo connessi quasi 24/7) http://packetstorm.decepticons.org/distributed/yahoo.txt The lawyer said ... “There is a distinct probability that if your site has been hijacked for a denial of service attack, then you could be liable for damages. I would definitely advise clients they have grounds to sue.” Nick Lockett, e-commerce lawyer at Sidley & Austin Il tuo nodo è stato usato per fare DoS? HAHAHAHA, colpa tua che non sei abbastanza sicuro. Perciò ocio. “Be Secure or Be Sued” Silicon.com, 16 Nov 2000 http://www.silicon.com/a40900 Shadow server elaboratore che si pone come fornitore di un servizio senza averne il diritto richiede address spoofing e packet sniffing il server ombra deve essere più veloce di quello reale, oppure questo non deve essere in grado di rispondere (guasto o sotto attacco, es. DoS) attacchi: fornitura di un servizio sbagliato cattura di dati forniti al servizio sbagliato contromisure: autenticazione del server Fa finta di essere il vero server, ma non lo è. < Sniffing perchè vedo che voi avete fatto una domanda al vero < server, spoofing perchè vi devo rispondere con quegli indirizzi < Cosa che di solito non è difficile perchè i server reali sono < sovraccarichi. < MAI FIDARSI DEI SERVER. Connection hijacking anche detto data spoofing siprende il controllo di un canale di comunicazione e si inseriscono, cancellano o manipolano dei pacchetti MITM (Man In The Middle) logico o fisico attacchi: lettura, falsificazione e manipolazione di dati contromisure: autenticazione, integrità e serializzazione di ogni singolo pacchetto di rete hijacking = dirottamento Prendiamo una connessione già esistente e gli facciamo fare una strada diversa (inseriamo, cancelliamo o manipoliamo pacchetti). < Attacco realizzabile ponendo un terzo fra i due che comunica< no. Più semplice se ho il controllo di un canale fisico, altrimen< ti logicamente (su rete locale gioco con i MAC). < Serializzazione = o arrivi in sequenza e non ci sono assenze o < ciao ciao. L'attacco avviene DOPO che il canale è stato aperto. Software bug anche il miglior software contiene dei bug che possono essere sfruttati per vari fini sfruttamento più semplice: DoS esempio: WinNT server (3.51, 4.0) telnet alla porta 135 10 caratteri a caso, poi CR server non disponibile! (CPU al 100% senza che venga svolto alcun lavoro) soluzione: installare SP3 ...... C'era l'RPC Server: se tu mandi 10 caratteri a caso non è un pacchetto RPC ben formato. RPC Server fa parte del kernel e manda tutto giù. Ma la SP3 rispondeva comunque "Errore" e con IP Spoofing si riuscivano a mandare giù due macchine con SP3 a suon di comunicazioni di errore. Soluzione: SP4 (scrivo evento in file log, con oculatezza perchè sennò riempi tutto il file di log ed evita di segnalarlo al mittente perchè magari è l'attaccante). Alcuni tipici problemi applicativi buffer overflow permette l’esecuzione di codice arbitrario iniettato tramite un input appropriatamente manipolato memorizzare nei cookie informazioni sensibili leggibili da terzi (in transito o localmente sul client) memorizzare le password in chiaro in un DB leggibili da terzi (es. l’operatore del backup) “inventare” un sistema di protezione rischio di protezione inadeguata (se sbagliano i grandi figuriamoci cosa combinano i novizi ...) Virus & Co. (malware) Metà dei problemi di sicurezza li addossiamo alle reti, metà ai software applicativi. Non c'è niente da fare. Spesso poi le correzioni ad alcuni bachi sono peggiori degli stessi bachi. malware: virus o worm virus provoca danni e si replica propagato dagli umani (involontariamente) worm provoca danni perché si replica (satura risorse) propagazione automatica trojan (horse) = vettore di malware backdoor = punto di accesso non autorizzato rootkit = strumenti per accesso privilegiato, nascosti (modifica di un programma, libreria, driver, modulo kernel, hypervisor) ed invisibili < Non controlli che l'input ricevuto ha una dimensione congrua < con quella del buffer? AHIAHIAHI. < MAI nella vita memorizzare informazioni sensibili su cookie. < Meglio usare cose consolidate. La percentuale di infezioni da malware è più o meno stabile attorno al 70%. Non abbiamo ancora trovato una cura? No, beh, l'abbiamo anche trovata, ma c'è anche un fattore umano. Malware richiede complicità (anche involontaria): dell’utente (gratis, free, urgente, importante, …) del sistemista (malconfigurazione) del produttore (esecuzione automatica, trusted, …) contromisure: sensibilizzazione degli utenti configurazioni corrette (e software sicuro!) installazione (ed aggiornamento!) antivirus Malware food chain business opportunity (vulnerability) vulnerability marketplace malicious code Hall of fame ... ... malware toolkit market VICTIM < Alcuni dei virus che hanno tirato giù intere reti sono dovuti a < malconfigurazioni perchè i sistemisti sono sovraccarichi di la< voro e non si curano della minimizzazione (togliamo quello < che non serve) < Date il tempo ai sistemisti di capire il problema ed eliminare < tutto quello che non serve. Il malware continua ad esistere perchè c'è un tornaconto economico. Il cattivone scopre una zeroday vulnerability: può essere un'opportunità di business (mentre una volta voleva solo diventare famoso). Su black Internet vende l'idea al migliore offerente, comprata da produttori di toolkit per malware. Pochi click e creo un virus. In Italia possedere virus sul pc è reato. Gli strumenti per creare virus con pochi click sono comprati dai distributori di malware, ovviamente per avere un tornaconto. Si cerca di attaccare le persone con meno conoscenze tecniche. malware distributors (spam, web, …) Problemi base (non tecnologici) scarsa comprensione del problema (awareness) fallibilità degli esseri umani (soprattutto in condizioni di sovraccarico, frustrazione, …) gli esseri umani hanno una naturale tendenza alla fiducia interfacce / architetture complesse che facilitano gli errori calo di prestazioni dovuto all’applicazione delle misure di sicurezza … < Non capisco il problema, non me ne curo < L'arte dell'inganno (Kevin Mitnick) < Magari anche gente un po' scafata non capisce benissimo LEZIONE 04 Social engineering si chiede la partecipazione (inconsapevole) dell’utente all’azione di attacco si sfruttano utenti ingenui (“per favore cambia subito la password con la seguente, perché il tuo PC è sotto attacco”) … … ma si attaccano anche utenti esperti (es. copiando un mail autentico ma cambiandogli un allegato o una URL) via mail, telefono o anche comunicazioni cartacee < Cercare sempre la collaborazione degli utenti del sistema in< formativo. Importante anche l'apparenza degli attacchi. Se non hai lo stile di comunicazione di relazionarti vieni sgamato in tempo 0. Esempi di social engineering ilPhishing (~ fishing = la pesca al gonzo) “gentile utente del servizio di Internet banking la preghiamo di compilare e spedirci il seguente modulo ai sensi della legge 675 …” pressioni psicologiche: (o minacce) “se non mi aiuti sono nei pasticci …” “se non fai quello che chiedo lo segnalerò al tuo responsabile …” dimostrare di conoscere bene l’azienda, le persone, le procedure per far abbassare la guardia < Occhio alle mail HTML: quello che appare è diverso da quello < che c'è scritto <a href="http://www.gogglo.it">Google</a>. 419 scam Un mail dalla CIA … Molto simpatico. Sembra un mail della CIA, ma l'allegato è un worm (basta aprire il file Word e sei fregato). From: [email protected] Date: Tue, 22 Nov 2005 17:51:14 UTC X-Original-Message-ID: <[email protected]> Subject: You_visit_illegal_websites Dear Sir/Madam, we have logged your IP-address on more than 30 illegal Websites. Important: Please answer our questions! The list of questions are attached. Yours faithfully, Steven Allison ++++ ++++ ++++ ++++ ++++ Central Intelligence Agency -CIAOffice of Public Affairs Washington, D.C. 20505 phone: (703) 482-0623 7:00 a.m. to 5:00 p.m., US Eastern time l’allegato è il worm SOBER ! Phishing attrarre via mail o IM l'utente di un servizio di rete su un server fasullo (shadow server) per: catturare credenziali di autenticazione o altre informazioni personali convincerlo ad installare un plugin o estensione che è in realtà un virus o un trojan varianti specializzate: spear phishing (include molti dati personali per aumentare la credibilità del messaggio, es. indirizzi di posta, nome del Dipartimento/Ufficio, telefono) whaling (mirato a persone importanti tipo CEO o CIO, es. circa 20,000 colpiti ad aprile'08 ed hanno installato un trojan collegato ai server di Piradius) < Anche via SMS! < Diretto a loro perchè hanno le chiavi dell'azienda e perchè sot< to l'aspetto informatico non è che siano proprio delle cime. Limiti dettati solo dalla nostra ingegnosità. Pharming termine di uso controverso insieme di varie tecniche per re-indirizzare un utente verso uno shadow server cambiamento del file "hosts" sul client cambiamento dei puntatori ai nameserver sul client cambiamento dei nameserver su un DHCP server (es. un router ADSL e/o wireless) avvelenamento della cache di un nameserver tramite: attacco diretto (vulnerabilità o malconfigurazione) attacco indiretto (virus o worm) Farm = fattoria. Cerco di "allevare" una serie di server per vari scopi. < Viene consultato quello prima del DNS. < Ti faccio puntare a DNS sbagliati. < Devo andare su un nodo che fornisce accesso alla rete. < Memorizzo dati sbagliati all'interno di un nameserver. Tecniche di social engineering (74%) solicitation / bribery = corruzione (44%) pretexting = impersonificazione (16%) counterfeiting / forgery = contraffazione (11%) *ing = phishing, pharming, … (4%) hoax / scam = false comunicazioni (4%) influence tactics = principio di autorità (3%) extortion / blackmail = estorsione, ricatto < MAI NELLA VITA sottopagare una persona. < Ti cifro il disco e ti chiedo 500€ (ramsonware) Nota: % di uso in attacchi di social engineering secondo la survey Verizon/USSS 2011. Canali di social engineering (78%) in persona (14%) documenti (10%) e-mail (6%) web / Internet (5%) telefono (4%) SMS / messaggistica Note: % di uso in attacchi di social engineering secondo la survey Verizon/USSS 2011 ma per il futuro si pensa all’uso di altre tecniche … Key findings (Verizon 2011) large-scale breaches dropped dramatically while small attacks increase easier to catch (many) small fishes than big ones outsiders responsible for most data breaches proportion is about 80-20 physical attacks on the rise especially skimmers at ATM, gas-pumps, and POS hacking / malware the most popular attack malware sent to install backdoor and keylogger stolen passwords / credentials out of control ineffective, weak, default, or stolen credentials Sempre buono leggere i report, così almeno ci difendiamo dalle cose note. Molto più proficuo prendere tanti pesci piccoli piuttosto che pochi pesci grossi. Raccomandazioni chiave (Verizon 2011) focalizzarsi sui controlli essenziali su tutto il SI preferibile alla protezione perfetta di poche aree eliminare i dati non necessari trattare solo i dati indispensabili per la funzione audit degli account utente, specie quelli privilegiati analisi pre-assunzione, limitati privilegi utente, separazione dei compiti, audit delle violazioni (sia riuscite sia solo tentate) monitorare ed analizzare i log degli eventi meglio la velocità che l'analisi di tutti i dettagli monitorare la sicurezza dei dispositivi fisici scoprire velocemente i dispositivi manipolati < Se una persona ha bisogno di spedire merce ai clienti, ha bi< sogno solo dell'indirizzo del destinatario. < Se l'allarme suona e tu non lo senti, ahmbè. Attacco a T.J.Maxx (2007) rubati 45 milioni di numeri di carte di credito/debito in un periodo di 18 mesi (fino a gennaio 2007) intentata azione legale di classe per decine di M USD da parte di 300 banche (es. Massachusetts Bankers Association, Maine and Connecticut Associated Banks) attacco riuscito per uso di WEP invece di WPA attacco condotto da 10 persone (3 USA, 3 UKR, 2 CHN, 1 BEL, 1 EST + "Delpiero") un ex-cracker assunto dai servizi segreti USA blog.wired.com/27bstroke6/2008/08/11-charged-in-m.html www.wired.com/politics/law/news/2007/06/secret_service# Phishing via Transformers3 (apr 2010) Andersen Air Force Base (isola di Guam) ORE (Operational Readiness Exercise) phishing message “the movie Transformers-3 will be filmed on Guam” “looking for 20 airmen to be part of the movie” per far domanda come comparsa occorre fornire informazioni sensibili sulla persona e sulla base il fatto trapela sul web perché un aviatore lo pubblica sul blog dei fan dei Transformer … … e dei giornalisti chiamano la base per conferma Esercitazione per vedere se avevano capito la sicurezza. Mmmmh. Nah. Ethical hacking: metto alla prova le tue capacità. www.networkworld.com/news/2010/043010-us-air-force-phishing-test.html Stuxnet (2010) prototipo di un nuovo tipo di attacco worm + virus per Windows cerca di propagarsi ad altri sistemi cerca di danneggiare gli eventuali sistemi SCADA (di uno specifico fornitore) collegati vettori di attacco e propagazione: 2 vulnerabilità “zero-day” 1 vulnerabilità nota e con patch disponibile 1 vulnerabilità nota ma senza patch < Il virus ti danneggia, il worm si propaga < Mirava ai PLC Siemens. < Attacco molto sofisticato: 4 vettori d'attacco su cui scegliere. Stuxnet: tempistica e localizzazione 17/6/10 primo avvistamento < Si è camuffato come un driver firmato da Microsoft. 24/6/10 notato uso di un certificato di firma viene revocato il 17/7/10 … e quindi scoperto l’uso del secondo certificato 14-15-16/7/10 vari avvisi di sicurezza da CERT e MS rilascio graduale di patch sino ad ottobre 2010 ha auto-cessato di propagarsi il 24/6/2012 localizzazione geografica: Questo virus attaccava i sistemi SCADA usati nelle centrali di arricchimento dell'uranio in Iran. Perchè allora Indonesia e India? 52% Iran 17% Indonesia 11% India Stuxnet: meccanismi distribuzione e propagazione: chiavetta USB dischi condivisi (network share) bachi di MS-RPC e MS-spool probabile primo veicolo di infezione una chiavetta USB dei tecnici di manutenzione si mimetizza come un driver con firma digitale validata da Microsoft!!! usa due diversi certificati accesso dal sistema infettato al DB di back-end tramite pwd di default identica su tutti i sistemi sistemi protetti da separazione fisica (air gap) … ma privi di altre protezioni: no anti-virus no patch no firewall servizi attivi non necessari: MS-RPC condivisione coda di stampa in rete condivisione dischi in rete lista di validazione per il sw da installare stessa piattaforma di sviluppo (tilded) Duqu (set'11) SERVIZI SEGRETI non è un worm o virus invia informazioni di sistema per guidare un attacco (reconnaissance & intelligence) Flame (mag'12) spionaggio dei sistemi (può registrare traffico di rete, audio, video, tastiera) diffusione via USB o rete, non causa danni fisici backdoor (configurazione e aggiornamento remoto) attivo già da due anni prima della sua scoperta BAM. Siamo dentro alla centrale: nelle reti Microsoft, se i sistemi sono trusted, condividiamo tutto. Grazie a una serie di bachi, poi, riesco a prendere il controllo di alcuni sistemi. Controllando alcuni sistemi è riuscito poi a entrare nel DB della centrale nucleare. Gnam. Indonesia e India perchè magari erano sulla lista del viaggio del tecnico. Stuxnet: lezioni da imparare I fratelli di Stuxnet Il virus è stato introdotto mediante chiavetta USB. Siccome le centrali nucleari non sono collegate a Internet, deve partire un tecnico che deve installare gli aggiornamenti. Qualcuno distrae il tecnico e aggiunge, oltre agli aggiornamenti, anche i virus. Gli iraniani si sentivano inattaccabili perchè c'era la protezione fisica (niente antivirus, niente firewall) e avevano un sacco di roba inutile che girava. Se qualcuno arriva e aggiunge qualcosa che non fa parte della lista (firmata) è indice di alterazione. 0. Dobbiamo pensare: fare le analisi dei rischi, fare la security policy... 1. Una volta decisa la strategia, implementiamo gli strumenti che possono evitare gli attacchi. 2. Dubitiamo sempre della nostra soluzione e quindi consideriamo strumenti che ci avvisano delle eventuali intrusioni (anche solo normalissimi monitor di rete). 1. Avoidance 3. Ogni tanto 1. e 2. falliscono. Dopo ogni incidente di sicurezza (FW, VPN, PKI, …) è obbligatoria una fase investigativa (forensis = voglio beccare chi mi ha causato il danno, internal = se un attacco ha avuto successo vuol dire che ho sbagliato qualcosa!) I tre pilastri della sicurezza 0. Planning (security policy, …) 3. Investigation (forensic analysis, internal audit, …) 2. Detection (IDS, monitor, …) Hacker & C. Hacker: di per sè è una parola con significato positivo, è l'equivalente italiano di smanettone. hacker Cracker: usa le sue conoscenze in maniera cattiva. Script kiddie: prendono gli script, fanno danni ma sono sprovveduti e quindi li sgamiamo in fretta. cracker script kiddie wannabe lamer Hacker (I) hacker: /n./ [originally, someone who makes furniture with an axe] 1. A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary. 2. One who programs enthusiastically (even obsessively) or who enjoys programming rather than just theorizing about programming. 3. A person capable of appreciating {hack value}. 4. A person who is good at programming quickly. Hacker (II) 5. An expert at a particular program, or one who frequently does work using it or on it; as in “a Unix hacker”. (Definitions 1 through 5 are correlated, and people who fit them congregate.) 6. An expert or enthusiast of any kind. One might be an astronomy hacker, for example. 7. One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations. 8. [deprecated] A malicious meddler who tries to discover sensitive information by poking around. Hence “password hacker”, “network hacker”. The correct term for this sense is {cracker}. Wannabe lamer: ueee voglio attaccare i DNS, ditemi come. AGGHIACCIANTE QUELLO CHE DICONO. Cracker cracker: /n./ One who breaks security on a system. Coined ca. 1985 by hackers in defense against journalistic misuse of {hacker} (q.v., sense 8). An earlier attempt to establish “worm” in this sense around 1981-82 on Usenet was largely a failure. Kevin Siers, NC, USA (cartoon from the Charlotte Observer)