Corso di Sicurezza A.A.2014-2015 Secondo ESONERO maggio 2015 Le soluzioni devono essere ricevute in un file chiamato CognomeNome in formato pdf entro le 22:00 di sabato 30 maggio 2015. La prima pagina delle soluzioni sottomesse deve riportare, oltre al numero di matricola, la seguente dichiarazione: “Dichiaro di aver completato questo esame da solo/a e di non aver discusso le soluzioni con altri studenti in classe.” PROBLEMA 1 [3 x 6 punti] Per ciascuna delle seguenti minacce alla sicurezza web, descrivere se e come SSL riesce a neutralizzarla con una particolare caratteristica. 1. Replay attack (riutilizzo di vecchi messaggi) 2. Man-in-the-middle attack (attaccante si intromette durante uno scambio di chiavi) 3. Password sniffing (osservare le password in transito) 4. IP spoofing (falsificare indirizzi IP) 5. IP hijacking (attaccante si sostituisce ad una delle parti durante un collegamento attivo autenticato) 6. SYN flooding (attaccante manda messaggi TCP SYN richiedendo un collegamento senza rispondere al messaggio finale) PROBLEMA 2 [10 punti] Per evitare di essere scoperto da un antivirus, il corpo di un virus è ‘offuscato’ sostituendolo con il risultato di un XOR con una sequenza T di byte costruita ripetendo varie volte una chiave segreta K di 8 byte (diversa per diverse istanze del virus). La lunghezza del codice del virus è un multiplo di 8. Il virus infetta un programma copiandosi in una locazione non prevedibile. Un file infetto contiene un “loader” che, se invocato durante l’esecuzione del file infetto, legge K, costruisce T, lo usa per estrarre il virus e ne ‘lancia’ il codice. Il codice del loader, la chiave K ed il codice del virus sono copiate in posizioni casuali nei file che vengono infettati. Il loader è un frammento di codice che può essere presente in file non infetti, e quindi NON è caratteristico del virus Siete riusciti ad ottenere una copia non offuscata del codice del virus e volete scoprire se vi sono occorrenze di questo virus in un insieme di file che si sospetta siano infetti. Come affrontereste questo problema? PROBLEMA 3 [10 punti] Il seguente frammento di codice C potrebbe contenere una o più vulnerabilità. Selezionarne una e modificare il codice per rimuoverla char buf[1024]; int i = 0; char ch; while((ch = getchar()) != ‘\n’) { if(ch == -1) break; buf[i++] = ch; } PROBLEMA 4 [12 punti] Perché è indispensabile che una CRL (Certificate Revocation List) sia rinnovata periodicamente, anche se non ci sono nuovi certificati revocati da aggiungere alla lista? Quale/i principio/i di Secure Design viene/vengono violati con l’utilizzo dei CRL? PROBLEMA 5 [10 punti] In IPSEC un datagramma può essere autenticato usando un Authenticatio Header AH oppure un ESP header con authentication. Quale dei due offre una protezione “migliore” e perché ? PROBLEMA 6 [15 punti] La PannaMontata s.r.l. collabora da anni con studenti del corso di Sicurezza per valutare i protocolli di crittografia che acquista. La direzione della compagnia ha deciso di investire in un Intrusion Detection System (IDS) e chiede il vostro consiglio. Lo scopo del IDS è di stabilire se un’azienda concorrente, la Saffloscia Co., accede ai documenti interni dell’azienda che contengono la ricetta segreta per la MonteBianco. La rete interna di Linux della PannaMontata s.r.l., si trova in un solo edificio. I documenti sulla MonteBianco sono su host individuali della rete. Le macchine su questa rete sono accessibili principalmente da dipendenti che lavorano nell’edificio che ospitano le macchine, anche se alcuni dipendenti qualche volta si collegano da uno dei tanti negozi in franchising sparsi in tutta Italia. Le macchine dei negozi offrono posta, ftp, telnet/login, ed altri servizi di rete simili. I direttori di PannaMontata s.r.l. hanno una lista preliminare di domande sollevate dal loro dipartimento interno di IT, ma vogliono il vostro input prima di parlare con i vari venditori di IDS. Fornire una breve risposta per ciascuna domanda, spiegando che cosa dell’ambiente descritto giustifica le vostre scelte (vantaggi e svantaggi). a) Quale tipo di modello di IDS suggeriresti? b) Sarebbe preferibile una strategia centralizzata o distribuita? c) I problemi principali sono i falsi positivi o i falsi negativi (o ambedue)?