




























































































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
Appunti esaustivi sul corso di FONDAMENTI DI CYBERSECURITY dell'Anno Accademico 2023/2024 dell'università di Bologna. Coprono i seguenti argomenti: -Storia della Crittografia -OTP e Cifrari a Flusso -Cifrari a Blocchi -Modalità di Operazione per Cifrari a Blocchi -Scambio di Chiavi -Teoria dei Numeri (in breve) -Crittografia a Chiave Pubblica -Sicurezza Internet e Anonimato Completato -Sicurezza di Rete : IPsec e TLS -Sicurezza di Rete: Radio e Wireless -Sicurezza di Sistema: Autenticazione -Sicurezza di Sistema: Controllo degli Accessi -Exploit e Patch
Tipologia: Dispense
1 / 140
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





























































































Permessi e Controllo degli Accessi.................................................................... 130 Il Super Utente.................................................................................................... Comando chmod................................................................................................ 130 Gruppi................................................................................................................. Permessi Speciali............................................................................................... 131 Esempi e Sicurezza............................................................................................ Elevazione dei Privilegi....................................................................................... Exploits and Patches......................................................................................................... 132 Focus sugli Attacchi....................................................................................................... 132 Program Execution......................................................................................................... Lo Stack................................................................................................................... 133 Buffer overflow............................................................................................................... 133 Codice Malevolo....................................................................................................... Sfide nella Scrittura di Shellcode........................................................................ Affrontare la Sfida dell'Indirizzo.......................................................................... 134 Mitigazioni del Buffer Overflow................................................................................. 134 Altri Target e Metodi................................................................................................. 135 Takeaways...................................................................................................................... Come Esistono gli Exploit?....................................................................................... Lezioni Fondamentali............................................................................................... 136 Responsabilità dei Sviluppatori................................................................................ 137 La Corsa Contro il Tempo...................................................................................
La cybersecurity si riferisce a qualsiasi tecnologia, misura o pratica finalizzata a prevenire cyber attacchi o mitigarne gli impatti. L'obiettivo della cybersecurity è proteggere i sistemi, le applicazioni, i dispositivi informatici, i dati sensibili e gli asset finanziari di individui e organizzazioni da virus informatici semplici e fastidiosi, attacchi ransomware sofisticati e costosi, e tutto ciò che si trova in mezzo. Un cyber attacco rappresenta qualsiasi sforzo intenzionale volto a rubare, esporre, alterare, disabilitare o distruggere dati, applicazioni o altri asset attraverso l'accesso non autorizzato a una rete, un sistema informatico o un dispositivo digitale.
La cybersecurity si basa sulla pratica di impiegare persone, politiche, processi e tecnologie per proteggere le organizzazioni, i loro sistemi critici e le informazioni sensibili da attacchi digitali.
I tipi più comuni e notevoli di attacchi di cybersecurity includono: ● Attacchi di Phishing e Social Engineering: Gli aggressori ingannano gli utenti legittimi, che dispongono di credenziali di accesso corrette, inducendoli a compiere azioni che aprono la porta a utenti non autorizzati. Ciò consente loro di trasferire informazioni e dati in modo non consentito, un fenomeno noto come esfiltrazione dati. ● Rischi legati ai servizi esposti su Internet (inclusi i servizi cloud): Queste minacce riguardano la mancata sicurezza adeguata da parte di aziende, partner e fornitori per i servizi cloud o altri servizi esposti su Internet (ad esempio, fallimenti nella gestione delle configurazioni) da minacce conosciute. ● Compromissioni di account legate alle password: Utenti non autorizzati utilizzano software o altre tecniche di hacking per identificare password comuni o riutilizzate, che possono sfruttare per accedere a sistemi, dati o asset confidenziali. ● Abuso delle informazioni: Gli utenti autorizzati diffondono o abusano inavvertitamente o deliberatamente di informazioni o dati a cui hanno accesso legittimo. ● Attacchi di rete e Man-in-the-Middle :Gli aggressori possono intercettare il traffico di rete non protetto o deviare/interrompere il traffico a causa della mancanza di crittografia dei messaggi all'interno e all'esterno del firewall dell'organizzazione. ● Attacchi alla catena di approvvigionamento: Partners, fornitori o altri asset di terze parti (o codice) possono essere compromessi, creando un vettore per attaccare o estrarre informazioni dai sistemi aziendali. Un esempio è l'attacco di "dependency confusion" o "namespace confusion", in cui il codice malevolo viene inserito in un repository pubblico ufficiale come NPM (JavaScript), PyPI (Python) o RubyGems. Attraverso questo stratagemma, le aziende come Apple, Microsoft e Tesla possono scaricare ed installare automaticamente il codice contraffatto. ● Attacchi di negazione del servizio (DoS): Gli aggressori sovraccaricano i sistemi aziendali causando una temporanea interruzione o rallentamento. Gli attacchi distribuiti DoS (DDoS) inondano i sistemi utilizzando una rete di dispositivi. La complessità, il volume e la frequenza degli attacchi DDoS continuano a crescere, rappresentando una minaccia in aumento per la sicurezza di rete, anche per le piccole imprese. ● Ransomware: Questo software dannoso infetta i sistemi aziendali e limita l'accesso a dati o sistemi cifrati fino a quando un riscatto non viene pagato. Alcuni aggressori minacciano di divulgare i dati se il riscatto non viene saldato.
ARPANET, acronimo di Advanced Research Projects Agency Network, è stata la prima rete di computer a larga scala, concepita per scopi di ricerca e sviluppata dall'ARPA (Advanced
Questo incidente rappresenta anche il primo uso documentato di un attacco di buffer overflow, una tecnica che successivamente divenne comune nei tentativi di sfruttare vulnerabilità del software.
La sicurezza cibernetica va oltre la mera protezione degli individuali computer; il suo ambito è costituito dai Cyber Systems , sistemi complessi che integrano computers, communications, e le persone coinvolte come utenti e operatori. Nei Cyber Systems, i computers costituiscono la fondamenta, eseguendo applicazioni e svolgendo funzioni digitali essenziali. La sicurezza di questi dispositivi diventa cruciale per prevenire intrusioni e accessi non autorizzati, garantendo l'integrità e la disponibilità dei dati. Le comunicazioni , un altro elemento chiave, formano il tessuto connettivo di questi sistemi. Le reti cablate e senza fili consentono lo scambio di informazioni, ma la sicurezza delle comunicazioni è fondamentale per proteggere i dati durante il trasferimento. Minacce come intercettazioni non autorizzate e manipolazioni dei dati in transito richiedono soluzioni robuste. Le persone , siano esse utenti finali o operatori, svolgono ruoli cruciali. Gli utenti interagiscono con i sistemi quotidianamente, mentre gli operatori gestiscono e monitorano le operazioni complesse. La sicurezza coinvolge un approccio educativo per gli utenti, garantendo un accesso autorizzato e l'implementazione di procedure operative sicure. L'approccio alla sicurezza cibernetica deve essere integrato, considerando le interazioni complesse tra queste componenti. Ciò richiede l'implementazione di politiche, processi e tecnologie che proteggano ogni elemento del sistema, garantendo la resilienza contro minacce informatiche, attacchi e vulnerabilità.
Vulnerabilità: Una vulnerabilità è una debolezza che può essere sfruttata per causare danni. Nell'ambito della sicurezza informatica, una vulnerabilità può derivare da errori di programmazione, configurazioni errate o altri difetti nel design di un sistema. Identificare e mitigare le vulnerabilità è essenziale per prevenire possibili attacchi. Attacco: Un attacco rappresenta un metodo di sfruttamento di una vulnerabilità. Gli attacchi possono variare da tentativi di accesso non autorizzato a manipolazioni dei dati o interruzioni dei servizi. Gli attaccanti cercano di sfruttare le vulnerabilità per raggiungere i propri obiettivi, che possono includere il furto di informazioni sensibili o danni ai sistemi. Minaccia: Una minaccia è rappresentata da un avversario motivato e capace che lancia un attacco. Le minacce possono provenire da individui, gruppi o organizzazioni con l'intento di sfruttare le
vulnerabilità al fine di danneggiare o compromettere un sistema. La comprensione delle minacce è fondamentale per implementare efficaci strategie di difesa. Strategie: ● Identificare e Correggere le Vulnerabilità:Una strategia chiave è identificare e correggere ciascuna vulnerabilità, spesso derivante da bug o errori di progettazione. Questo processo può coinvolgere analisi del codice, valutazioni della sicurezza e l'implementazione di correzioni per mitigare le possibili minacce. ● Identificare gli Attacchi ed Eliminare le Vulnerabilità Correlate:Oltre a mitigare le vulnerabilità note, è importante identificare gli attacchi in corso e eliminare le vulnerabilità specifiche che tali attacchi sfruttano. Questo approccio proattivo contribuisce a prevenire danni immediati e futuri al sistema. Vulnerabilità Zero-Day: Una vulnerabilità zero-day è una debolezza nel software che è sconosciuta a coloro che dovrebbero essere interessati a mitigarla. Queste vulnerabilità sono particolarmente rischiose in quanto possono essere sfruttate dagli attaccanti prima che venga sviluppata e distribuita una soluzione di sicurezza. Finestra di Opportunità: La finestra di opportunità rappresenta il periodo che va dal momento in cui un exploit software diventa attivo al momento in cui viene rilasciato e applicato un aggiornamento da parte del venditore interessato al sistema compromesso. Durante questa finestra, gli attaccanti possono sfruttare con successo la vulnerabilità. Attacco Zero-Day: Un attacco zero-day è un attacco che si verifica durante la finestra di opportunità, sfruttando una vulnerabilità sconosciuta. Questi attacchi sono particolarmente pericolosi poiché i difensori non sono consapevoli della vulnerabilità fino a quando non viene utilizzata contro di loro.
La crittologia è un termine che combina sia la crittografia che la crittoanalisi, abbracciando quindi entrambe le discipline: la protezione dei dati e l'analisi dei metodi per infrangere tali protezioni. La crittografia è ovunque. E’ essenziale per la sicurezza delle nostre comunicazioni quotidiane. Protegge il traffico web tramite HTTPS e i dati delle reti wireless e cellulari. Inoltre, crittografa i file sui nostri dischi, garantendo la privacy delle nostre informazioni. È fondamentale anche per la protezione dei contenuti su DVD e Blu-ray, impedendo copie non autorizzate, e per l'autenticazione degli utenti, assicurando che solo le persone autorizzate possano accedere a informazioni sensibili.
Steganografia: La steganografia, o "scrittura coperta", si occupa di nascondere l'esistenza stessa di un messaggio. Utilizza tecniche per incorporare messaggi segreti all'interno di file innocui, come immagini o audio, in modo che l'osservatore non sospetti nemmeno l'esistenza di una comunicazione segreta. Crittografia: La crittografia, o "scrittura nascosta", mira a nascondere il significato di un messaggio. Anche se l'esistenza del messaggio è evidente, la crittografia trasforma il contenuto in modo tale che possa essere compreso solo da chi possiede la chiave di decrittazione appropriata.
Obiettivi: Garantire che la comunicazione tra le parti rimanga sicura anche quando avviene su un mezzo non sicuro. Obiettivi di sicurezza fondamentali: ● Privacy (segretezza, riservatezza): Assicurarsi che solo il destinatario previsto possa leggere la comunicazione, mantenendo il contenuto nascosto agli altri. ● Autenticità: Verificare che la comunicazione provenga effettivamente dal mittente dichiarato, garantendo che non sia falsificata. ● Integrità: Assicurarsi che i messaggi non vengano alterati in modo non autorizzato durante il trasferimento. ● Non ripudio: Impedire che il mittente possa negare di aver inviato il messaggio, garantendo la responsabilità e la tracciabilità.
I protocolli crittografici sono fondamentali per garantire la sicurezza delle comunicazioni in un mondo sempre più digitale. Si tratta di insiemi di regole che permettono alle parti di comunicare in modo sicuro, proteggendo la riservatezza e l'integrità dei messaggi. Operano in ambienti con confini e interazioni ben definiti e devono superare le sfide poste dagli avversari.
Per comprendere i protocolli crittografici, bisogna considerare alcuni aspetti fondamentali: ● Parti coinvolte e contesto: Identificare chiaramente i partecipanti e il contesto in cui avviene la comunicazione è essenziale, poiché ogni situazione è unica. ● Obiettivi di sicurezza: Definire cosa proteggere è cruciale, come la riservatezza (solo il destinatario previsto può leggere il messaggio), l'integrità (garanzia che il messaggio non sia alterato) e l'autenticità (conferma che il messaggio proviene dal mittente dichiarato). ● Base di calcolo fidata : Riconoscere quali componenti del sistema (hardware, software o infrastrutture di rete) sono affidabili e sicuri. ● Capacità degli avversari: Valutare le potenziali minacce e risorse a disposizione degli avversari per progettare protocolli resistenti agli attacchi.
Il Principio di Kerckhoffs, formulato da Auguste Kerckhoffs nel 1883, stabilisce che la sicurezza di un sistema crittografico dovrebbe dipendere esclusivamente dalla segretezza delle chiavi utilizzate, non dal segreto del design del protocollo. Questo significa che il design del protocollo dovrebbe essere pubblico, permettendo agli esperti di valutarne la sicurezza. Il principio sottolinea che affidarsi alla segretezza del design, noto come "sicurezza per oscurità", è inefficace e può portare a vulnerabilità. Numerosi esempi storici, come il WEP nelle reti wireless e alcune macchine per il voto elettronico, dimostrano l'importanza di questo approccio.
Per comprendere e contrastare efficacemente le minacce, è cruciale delineare un modello di minaccia degli attaccanti. Questo ci permette di anticipare le strategie che un attaccante potrebbe utilizzare. Conoscenza del Cifrario (Sistema Crittografico) Secondo il Principio di Kerckhoffs , un sistema crittografico deve rimanere sicuro anche se tutte le informazioni sul sistema, eccetto la chiave, sono di dominio pubblico. Pertanto, si assume che un attaccante conosca l'algoritmo crittografico utilizzato. Non possiamo contare sulla segretezza del design del sistema per garantire la sicurezza; invece, dobbiamo fare affidamento sulla robustezza della chiave. Interazione con i Messaggi e il Protocollo Gli attaccanti possono interagire con i messaggi e il protocollo in modi diversi: ● Passiva: L'attaccante osserva solamente i messaggi e cerca di decrittarli. Questo tipo di attacco minaccia principalmente la riservatezza, cercando di accedere alle informazioni senza modificarle.
La crittografia simmetrica è un metodo di cifratura in cui la stessa chiave viene utilizzata sia per cifrare che per decifrare i dati. Esistono due tipi principali di chiavi utilizzate nella crittografia simmetrica: le chiavi monouso e le chiavi multiuso. Ognuna di queste ha caratteristiche specifiche e viene impiegata in contesti diversi.
La chiave monouso è progettata per essere utilizzata una sola volta. Questo tipo di chiave offre un alto livello di sicurezza perché anche se una chiave viene compromessa, il danno è limitato a un solo messaggio o dato cifrato con quella chiave. ● Utilizzo : La chiave monouso viene impiegata per cifrare un solo messaggio o un singolo blocco di dati. Una volta utilizzata, non viene mai riutilizzata. ● Esempio : Un'applicazione tipica è la crittografia delle email. Ogni volta che viene inviata un'email crittografata, viene generata una nuova chiave specifica per quell'email. In questo modo, ogni messaggio ha la propria chiave unica, garantendo che la compromissione di una chiave non metta a rischio altre comunicazioni. ● Vantaggi : Massima sicurezza, poiché ogni chiave è associata a un solo messaggio. Se una chiave viene scoperta, solo quel messaggio specifico è compromesso.
La chiave multiuso, al contrario, è una chiave che può essere utilizzata per cifrare più messaggi o dati. Questo tipo di chiave è più conveniente in termini di gestione, ma comporta un rischio maggiore rispetto alla chiave monouso.
● Utilizzo : La stessa chiave viene utilizzata per cifrare e decifrare molteplici messaggi o blocchi di dati. È comunemente usata in scenari dove è necessario cifrare un grande volume di informazioni. ● Esempio : Un esempio comune è la crittografia di file. In questo caso, la stessa chiave può essere utilizzata per cifrare molti file diversi, rendendo il processo di crittografia più semplice e gestibile. ● Requisiti Aggiuntivi : Per utilizzare una chiave multiuso in modo sicuro, è necessario adottare misure di sicurezza avanzate. Questo include la protezione rigorosa della chiave per prevenire accessi non autorizzati e la rotazione periodica delle chiavi per limitare il periodo di vulnerabilità. ● Svantaggi : Se la chiave multiuso viene compromessa, tutti i messaggi o file cifrati con quella chiave sono a rischio. Pertanto, la gestione della sicurezza deve essere molto più stringente.
La crittografia asimmetrica, a differenza di quella simmetrica, utilizza una coppia di chiavi: una chiave pubblica e una chiave privata. La chiave pubblica è utilizzata per cifrare i dati, mentre la chiave privata è utilizzata per decifrarli. Questo metodo offre un alto livello di sicurezza perché la chiave privata non deve essere condivisa e rimane segreta. Le chiavi pubbliche possono essere distribuite liberamente, permettendo a chiunque di inviare messaggi cifrati che solo il destinatario designato può decifrare con la propria chiave privata. La crittografia asimmetrica è alla base di molte tecnologie di sicurezza online, come le firme digitali e la trasmissione sicura di dati tramite SSL/TLS.
Questo include identificare possibili attacchi e i potenziali avversari che potrebbero tentare di comprometterlo.