


























































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
I concetti fondamentali della sicurezza informatica, analizzando diversi tipi di attacchi, le relative contromisure e i protocolli di sicurezza. Una panoramica completa dei principi di confidenzialità, integrità e disponibilità, illustrando come questi principi si applicano a diversi scenari di attacco. Inoltre, vengono approfonditi i protocolli di autenticazione, crittografia e scambio di chiavi, con esempi pratici e spiegazioni dettagliate.
Tipologia: Schemi e mappe concettuali
1 / 98
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!



























































































Qual è il nesso tra la sicurezza e la relazione di fiducia che ogni giorno instauriamo con i sistemi con cui veniamo in contatto? Ritroviamo un esempio di fiducia nell'impiego dell'algoritmo RSA, la cui robustezza è fondata sull'ipotesi che i numeri primi scelti siano abbastanza grandi. Ma cosa significa dunque "abbastanza grandi"? Quando possiamo definire un sistema sicuro e fino a che punto siamo disposti a fidarci di esso?
Con queste domande ci apriamo alla consapevolezza che la sicurezza è un processo complesso e che, forse troppo spesso, assumiamo per comodità che un sistema sia sicuro perché verificare la sicurezza richiede tempo, energia o conoscenze di cui non disponiamo.
Presentiamo alcuni termini che verranno utilizzati a seguire:
Repository di vulnerabilità Vulnerabilità Fix Bug Patch Retrocompatibilità Valutazione del rischio Policy
📝 Possibile domanda d'esame : cos'è un fix e quali sono le sue implicazioni di sicurezza? Esempio di risposta : un fix è una modifica, più o meno grande, al codice, per risolvere un bug, cioè un comportamento inatteso. Gli aspetti rilevanti riguardano la continuità del servizio, i costi di sviluppo, se l'analisi costi-benefici è positiva o meno, se continuerà a funzionare dopo sull'infrastruttura nel suo complesso e se il bug è davvero sistemabile (quindi se non è legato all'hardware).
Se da un'analisi costi-benefici scopriamo che la gold measure (la soluzione ottima) per il problema è inapplicabile dobbiamo trovare un modo di ammortizzare, ad esempio attraverso campagne di sensibilizzazione o downgrade della funzionalità che ha la vulnerabilità (ove possibile).
L'aggiornamento del software è la prima misura di sicurezza perché diminuisce le possibilità di avere software vulnerabile.
Programmazione in generale (null pointer dereference, buffer overflow) Sistemi operativi (protezione di memoria, controllo di accesso) Servizi di uso quotidiano: moneta elettronica, autenticazione Database (linking attack, k-anonymity, gestione dei privilegi, leak di dati, cifratura dei record, injection, problemi di progettazione delle tabelle) Reti
La sicurezza ha molto a che vedere con le policy , un set di regole scelte da chi produce il software, e non c'è una serie di regole universalmente giuste o sbagliate. Ad esempio non tutti i sistemi operativi hanno le stesse policy sui dati degli utenti.
La sicurezza è la coerenza del sistema con le sue regole di funzionamento (policy). Un attacco è fare in modo che il sistema non funzioni in maniera coerente rispetto a come era stato progettato. Un problema di sicurezza può quindi essere anche una policy troppo permissiva, sebbene ciò non costituisca propriamente un attacco. Questa, che sembra una sottigliezza, è molto importante anche per la sua valenza legale.
Security-by-design è l'approccio moderno alla sicurezza. Un'applicazione nuova va pensata sicura, non messa in sicurezza a posteriori, come avveniva in passato. È anche importante che la sicurezza non si faccia per obscurity. Spesso gli algoritmi rinomatamente sicuri sono pubblici, così come il resto del software.
Elenco di lettura e approfondimenti :
Security-by-design: strumenti e metodologie per lo sviluppo sicuro del software Heartbleed TDE - Transparent data encryption Pseudo-nimizzazione delle tuple di un database Esfiltrazione di dati Attributes based authentication - autenticazione basata sugli attributi
Ad oggi cp da alla copia i permessi della cartella di destinazione , motivo per cui il trojan sopra riportato non è più utilizzabile.
La vulnerabilità che permette questo attacco di privilege escalation è la CVE-2015-. È possibile riprodurre l'attacco su qualunque sistema operativo che presenti il modulo del filesystem alla versione riportata, come ad esempio Ubuntu 14.04.
Le prime due linee dello script vanno sotto il nome di "carico" (payload) e costituiscono il punto saliente dell'attacco. L'intrusione effettiva si avrà poi quando l'attaccante, dopo aver fatto eseguire lo script alla vittima ignara, si ritroverà nella directory /tmp (condivisa tra i vari utenti del sistema) un eseguibile di shell con privilegi della vittima.
Quando l'attaccante richiama la shell copiata se l'attacco è andato a buon fine come output del comando whoami si ha il nome della vittima, altrimenti verrà visualizzato il proprio nome utente.
Nota bene : questo attacco non consente in automatico di avere privilegi di amministratore ma fornisce gli stessi privilegi della vittima, dando quindi all'attaccante:
la capacità di leggere e scrivere nello spazio della vittima la capacità di eseguire altri programmi (a meno di controlli e limitazioni di più altro livello forniti dal programma stesso) con i privilegi della vittima
Se la vittima è amministratore ovviamente il danno ha un'entità maggiore.
Una spiegazione in dettaglio dell'attacco è qui fornita
Note storiche
In passato il. (directory corrente) faceva parte della variabile PATH , era per altro all'inizio e quindi aveva priorità maggiore. Questo perché quasi tutti i programmi venivano tenuti e lasciati a partire dalla home.
Ad oggi il. nel PATH è riconosciuto come una vulnerabilità e quindi è stato rimosso.
📝 Domanda d'esame : consideriamo un trojan scaricato dalla rete, come possiamo mitigarne gli effetti? Esempio di risposta : potremmo innanzitutto limitare i permessi della directory dei download e mantenere lì i file scaricati, togliere dal PATH la directory in modo tale che per lo script sia impossibile eseguire comandi, o meglio ancora, rimuovere eventuali privilegi di esecuzione. Questo potrebbe essere una buona policy di sicurezza.
Le vulnerabilità come quella discussa nella sezione precedente sono pressoché infinite. Alcuni altri esempi:
Poisoned YouTube ads serve Caphaw banking trojan Second Anonymous member sentenced for role in DDoS attack Pre-installed security software leaves computers vulnerable to remote hijack, experts reveal
Spesso abbiamo fiducia nel software preinstallato, dimenticando che è soggetto a vulnerabilità come tutti gli altri. Dobbiamo anche considerare gli aspetti mediatici della sicurezza.
Crittografia simmetrica (DES, 3DES) e asimmetrica (RSA, DSA) Problema : la cifratura ha un costo. Policy : insiemi di regole privacy policy access-control policy Conoscenza (knoledge) : conoscere una certa informazione da potere. Password e PIN Può anche tradursi come un vero e proprio oggetto di possesso (smartcard e smart token), oppure dati biometrici (impronte, iridi) Programmi di protezione antivirus, IDS, firewall, DMZ, sandbox Protocolli di sicurezza SSH, SSL Sensibilizzazione dell'utente informazione, istruzione
Tutti questi strumenti, singolarmente e combinati insieme, hanno comunque dei limiti.
📝 Domanda d'esame : cos'è l'approccio risk-based? Per un esempio di risposta leggere: Il risk-based thinking nella ISO 9001:
La definizione di robustezza è variata nel tempo e ad oggi non ci aspettiamo che la password sia il solo strumento di protezione da intrusioni indebite.
Una "buona" password bilancia al meglio possibile la difficoltà di indovinarla con la menmonicità.
Molti attacchi informatici sono legati alla violazione dei sistemi di autenticazione. Il riutilizzo di password su più sistemi spesso è causa di problemi. Con un minimo di social engineering è facile scoprire una password utilizzata più volte. Vedi ad esempio i password reuse attack.
Il NIST nel 2004 ha stabilito gli standard per le password sicure. Lunghezza, lowcase, uppercase, numeri e caratteri speciali come le conosciamo oggi. Ha rivisto gli standard nel 2017 consapevole della memonicità, chiedendo di utilizzare password semplici ma con un controllo sulla soglia dei possibili inserimenti.
Nonostante le linee guida sono state date ancora ad oggi tanti molti enti non sono conformi.
Il firewall è una difesa perimetrale per ambiti diversi. Come le misure già discusse, non garantisce protezione a 360 gradi, sebbene se combinata ad altri strumenti e ben configurato possa garantire protezione adeguata da alcuni tipi di minacce. Un esempio di minaccia che non può contrastare è ad esempio l' insider threats (letteralmente una minaccia dall'interno).
📝 Domanda d'esame - 📔 Definizione : Dare una definizione (per punti) di sicurezza:
non è un prodotto ma un processo ; anello più debole di una catena; espresso da che cosa (complemento di causa efficiente). Non esiste un concetto assoluto di sicurezza, ma specificato da che cosa il sistema è al sicuro ; sempre soggetta ad analisi costi/benefici dell'attaccante (permette di individuare chi è l'attaccante. Coerentemente con il punto precedente, si può scegliere di essere protetti contro cosa x ma non contro cosa y); si realizza in pratica mediante livelli di sicurezza (il sistema è sicuro da questo tipo di attaccanti ma non da quest'altro)
La sicurezza è un processo in continua esecuzione, prevede procedure in continua evoluzione, processi continui. Prevede anche dei piani per la prevenzione e la gestione degli incidenti più disastrosi. In casi simili infatti bisogna garantire la continuità operativa. Ci sono inoltre degli standard per gestire gli incidenti.
Il sistema che si vuole proteggere è sempre più complesso di quanto si possa pensare, soprattutto nel momento in cui più sistemi vengono combinati ed iniziano ad interagire tra loro ( sicurezza punto-punto come sicurezza di molteplici sistemi, ad esempio un dispositivo che accede alla rete WIFI. In questo caso il sistema nel complesso diviene meno "sicuro" rispetto ai singoli sistemi)
Un bug è una proprietà inattesa. Il discriminante tra bug e feature è l'intenzionalità, quindi sta nella policy.
Se inventiamo sistemi nuovi abbiamo proprietà nuove da considerare. Queste possono destabilizzare il nostro sistema.
L'essere umano va visto come una vulnerabilità del sistema.
📝 Domanda d'esame : quali sono i rischi base per la sicurezza?
Attraverso il tool nmao è possibile effettuare una scansione stealtyness (scansione invisibile ai processi attaccati). Più la scansione è aggressiva più sarà facile rilevarla.
Si può così osservare quali servizi sono attivi ( comprensione del target ) e in base ai servizi attivi scegliere il tipo di attacco da eseguire. Questi strumenti di diagnostica sono anche i primi strumenti offensivi.
Un intrusion detection system verifica le intrusioni, è spesso configurabile. Se la configurazione è troppo aggressiva si hanno molti falsi positivi, se invece risulta essere troppo morbida potrebbe non rilevare le intrusioni. Quello della "giusta configurazione" è un problema aperto quindi e spesso bisogna trovare delle euristiche e affidarsi alla statistica.
Elenco di lettura
NIST Password Guidelines Insiders and Insider Threats An Overview of Definitions and Mitigation Techniques Incident response, cos’è e come funziona passo per passo: ecco cosa fare Why Light Bulbs May Be the Next Hacker Target MITRE ATT&CK
cd // && find / - type f - perm - u=s - iname ".*" 2 >/dev/null
Gli attacchi sono classificabili in base all'obiettivo. Alcuni esempi sono:
accesso al sistema accesso per conto di un altro guadagno di privilegi impersonificazione furto di dati DOS mancato recapito
Possiamo riassumere la definizione già vista di sicurezza come:
Dove per corretto funzionamento indichiamo l' insieme dei requisti funzionali e non funzionali.
attacco fondamentale: accesso al sistema contromisure : sistemi di autenticazione per accedere al sistema attacco successivo 1: uso funzionalità di sistema contromisure : autenticazione per accedere alla funzionalità (sicurezza di livello superiore) attacco successivo 2: acquisizione di dati sensibili contromisure : crittografia
Dobbiamo focalizzarci su relazioni causa-effetto, a più livelli, pensare sempre al worst case scenario. Non dobbiamo illuderci che una sola misura di sicurezza sia abbastanza per mettere in sicurezza l'intero sistema e dobbiamo comprendere al meglio i limiti delle misure di sicurezza adottate (es: il sistema di recupero password può essere aggirato, le password salvate in un browser non protetto a sua volta da master password ).
Come già visto, affidarsi ai tools, anche se ideati per fini di protezione e supporto, è un atto di fede e spesso non ci si domanda come questi funzionino internamente, rendendo le loro vulnerabilità invisibili.
Disponsibilità (availability)
Secondo il prof. G.B. la disponibilità è meno importante dell'autenticazione (come riportato dal diagramma a piramide).
L'attacco DOS è mirato al ripudio della proprietà di disponibilità.
Segretezza e autenticazione sono due concetti diversi. La segretezza presuppone una policy. Una cosa è segreta, la so solo io? È condivisibile? Secondo quali policy.
📔 Definizione di segretezza: l'informazione può essere rilasciata a chi, secondo la policy definita, ha il diritto di conoscerla. Non ha senso quindi parlare di segretezza se non esprimo la policy che mi permette di discriminare.
Spesso i segreti sono condivisi. La mia password ad esempio non la conosco solo io ma la conosce anche il mio sistema.
La cifratura non nasconde ma trasforma i messaggi. L'informazione cifrata è "non deducibile". Con tecniche differenti, l'informazione diventa "non distinguibile" (esempio: qualsiasi sistema steganografico, come il sistema chaffing&winnowing e least-significant bit per il covert channel ). Deduciamo quindi che la crittografia è una misura di sicurezza ma non l'unica.
Elenco di lettura
Covert channel Pubblicazione del prof G.B. - Invalid certificates in modern browsers: A socio-technical analysis
Un flusso di bit sarà sempre alterabile. Spesso gli strumenti fatti per garantire l'integrità nelle reti non bastano nei sistemi moderni, questo perché nel tempo il modello di rischio è cambiato. Un controllo come quello del checksum risolve i problemi di alterazione "naturale" dei pacchetti, dati magari da interferenze, ma non è una contromisura efficace in presenza di un vero attaccante. La firma digitale invece è più robusta.
Sicurezza e privatezza sono due concetti differenti, seppur spesso confusi. La privacy è un diritto alla segretezza. Possiamo distinguire inoltre tra hard-privacy e soft-privacy.
Misure di privatezza:
policy e consenso ad esse
Realisticamente oggi le misure di contenimento ed hardenizzazione sono da applicare all'intera catena di fiducia, e non solo ai mezzi di autenticazione ed accesso.
Elenco di lettura
Finger vein recognition biometrics Blind injection
Una misura per la privacy è raccontare come verrà trattato il dato personale. Serve poi che l'individuo accetti la policy.Il termine "misura" è un termine di stampo ISO.
Alcune osservazioni:
Temporalità della privacy : quanto tempo vengono tenuti i dati? Per quanto tempo sono "protetti"? Diritto in UE, non in USA: tradizionalmente negli USA il dato personale è stato spesso merce di scambio, in UE è stato più tutelato. Il trasferimento (export) del dato dall'UE agli USA rappresenta un problema. Profilo : descrizione astratta dell'individuo, in base a ciò con cui si interfaccia. La profilazione è un calcolo in base a degli indici, in base ad un algoritmo.
L'anonimato è un diritto, una privatezza istanziata all'identità. Può essere inteso come un sottoinsieme della privacy. Non sempre è inteso e rispettato come un diritto. L'anonimato è utile per la protezione del dato (è quindi spesso un obiettivo di business).
📝 Domanda d'esame : Che cos'è l'animato? Come diritto assoluto è discutibile? Esempio di risposta: è una misura apprezzabile lì dove registriamo dati personali. Lì dove venissero persi non sarebbero riconducibili ad un'identità (vedi articolo 32 o 33 paragrafo 1 GDPR). Esempio: dati medici registrati in tuple pseudo-nimizzate.
L'anonimato è un principio estremo, inapplicabile spesso non solo per motivi etici ma anche tecnici. Ci sono dei servizi che richiedono l'autenticazione e questo va proprio contro la definizione dell'anonimato.
Alcune misure di anonimato:
psuedo-anonimato (si potrebbe de-anonimizzare e risalire al proprietario) vs. anonimato navigazione anonima sui browser (anche qui abbiamo delle limitazioni: registrazione di IP, posizione, e info dello user agent da parte dell'ISP stesso e dei servizi. Il logging da parte dell'ISP è spesso obbligatorio. Il natting trasparente o opaco rappresenta un altro discriminante di anonimato ) anonimato a livello di routing : TOR (rende il traceback del destinatario al chiamante più difficile, ma non impossibile. Per tracciare l'IP chiamante tutti i nodi devono partecipare. Vedi anche ProxyChain ) anonimato a livello applicativo : web proxy server. Può essere utilizzato come server anonimizzatore. Espongo l'identità solo al servizio che mi offre le pagine. Il server anonimizzatore è differente dalla VPN.
Il non ripudio consiste nell' impossibilità di negare la propria partecipazione ad una transazione con uno specifico ruolo. La non ripudiabilità ha sempre a che fare con terze parti. Chi ci autentica certamente riceve evidenza della partecipazione alla transazione, questo non significa che possa fornire questa evidenza a terzi. La PEC ad esempio fornisce non ripudio.
L'autenticazione è necessaria per il non ripudio ma non è sufficiente. Qual'ora ci fosse il non ripudio, significa che c'è stata necessariamente autenticazione. L'anonimato implica infatti l'assenza di non-ripudio.
Per ulteriori approfondimenti vedere le slide del prof. G.B.
📝 Domanda d'esame : descrivere la relazione tra le proprietà su.
Elenco di lettura
I dati sensibili nel GDPR Articolo 32 EU RGPD "Sicurezza del trattamento" Articolo 32 del GDPR: sicurezza del trattamento e misure tecnico-organizzative previste dalla normativa OpenVPN
Uno scenario reale in cui gli attori in gioco vogliano ottenere sia l'autenticazione che l'anonimato è dato dagli esami scritti universitari. Il docente ha un certo interesse nell'autenticare lo studente e lo studente, al fine di tutelarsi dalla possibile non imparzialità del docente, ha abbastanza interesse a rimanere anonimo.
Queste due proprietà abbiamo visto essere in netto contrasto e, da una prima analisi, esclusive.
Analizziamo il protocollo qui descritto per spiegare come queste proprietà possano coesiste all'interno dei sistemi reali.
Written Authenticated Through Anonymous (WATA) è un protocollo progettato e implementato in nas.inf.
Autenticazione del compito per prevenire imbrogli dello studente (tutela del docente) Anonimato del compito per prevenire votazione iniqua (tutela dello studente)
Seguire le regole di un protocollo di sicurezza è fondamentale se si vuole godere delle proprietà offerte da quest'ultimo, ma non solo: fare in modo che anche gli altri attori in gioco rispettino la cerimonia di sicurezza garantisce le proprietà. Se gli altri non rispettano il protocollo anche noi veniamo compromessi. Le procedure d'esame non fanno eccezione. Per questo motivo è importante conoscere e verificare che gli altri siano diligenti nel seguire le direttive date.
Nel caso in cui il protocollo sia pienamente distribuito verificare che la controparte segua il protocollo è molto più difficile.
Come molti dei concetti visti, autenticazione ed anonimato non sono concetti assoluti ma vanno sempre visti in relazione al "di che cosa" o "da chi". Ad esempio, nello scenario dell'esame scritto vanno identificati sia lo studente che il compito (e la loro relazione deve essere chiara), ovvero l'autenticazione in questo contesto richiede che il compito sia legato ( autenticato ) rispetto alla persona. C'è anche bisogno del controllo sulle procedure (sorveglianza), per fare in modo che tutto venga rispettato.
Ritroviamo qui il principio di accatastamento delle difese : utilizzare più misure di sicurezza per ottenere il risultato voluto. Il fallimento di una delle difese lascia spazio alla violazione della proprietà di sicurezza, anche se non necessariamente il fallimento di un obiettivo del protocollo porta inevitabilmente al fallimento degli altri, dipende infatti da quanto gli obiettivi sono legati.
Il problema dell' invigilation è complesso sia dal punto di vista del docente che dello studente. Il riconoscimento dello studente da parte del docente avviene inevitabilmente durante un esame, di fatto può esserci l'anonimato dei dati personali ma non del volto.
La semplice azione di rimescolare la pila dei compiti può essere vista come una misura di sicurezza, lì dove l'obiettivo sia l'anonimato. Una pila di compiti non ordinati non permetterebbe al docente di risalire allo studente.