PENETRATION TESTING AND ETHICAL HACKING

Arcangelo CASTIGLIONE PENETRATION TESTING AND ETHICAL HACKING

0522500081
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA MAGISTRALE
INFORMATICA
2023/2024



OBBLIGATORIO
ANNO CORSO 2
ANNO ORDINAMENTO 2016
SECONDO SEMESTRE
CFUOREATTIVITÀ
756LEZIONE
216LABORATORIO
Obiettivi
L'insegnamento introduce i concetti fondamentali del penetration testing e dell’ethical hacking, ed approfondisce le metodologie, le tecniche ed i principali strumenti necessari alla gestione di un tipico processo di penetration testing. Obiettivo dell’insegnamento è di fornire agli studenti le competenze necessarie per poter essere professionisti della sicurezza di rete, ed in particolare esperti di penetration testing. L’insegnamento mira a fornire una solida, pratica ed utile comprensione di come agiscono gli hacker, focalizzandosi su come possono essere usati i loro stessi metodi e strumenti per proteggere i sistemi informatici rispetto ad attacchi. Lo studente entrerà in possesso del necessario background tecnico e metodologico che gli consentirà di valutare lo stato ed i fabbisogni in termini di sicurezza di sistemi complessi, anche alla luce di specifici requisiti di conformità e certificazione, attraverso la comprensione delle vulnerabilità esistenti. Infine, lo studente apprenderà quanto necessario per rendere sicuri sistemi complessi, prevenendo le principali minacce ed i principali malfunzionamenti che potrebbero influenzare la corretta operatività di tali sistemi.


CONOSCENZA E CAPACITÀ DI COMPRENSIONE
Gli studenti acquisiranno la conoscenza e la comprensione:
•Dei principali concetti e delle principali peculiarità alla base dell’hacking e dell’ethical hacking
•Delle tipologie di test di sicurezza, dei tipi di penetration testing e delle principali metodologie di testing
•Dei principali concetti necessari alla pianificazione ed alla gestione di un processo di penetration testing, con particolare enfasi sulle procedure e sulle “best practice” che il penetration tester dovrebbe seguire durante l’interazione con il proprio committente
•Dei principali sistemi operativi utilizzati nell’ambito di un processo di penetration testing
•Dei principali concetti, delle principali metodologie e dei principali strumenti comunemente utilizzati per condurre tutte le fasi di un tipico processo di penetration testing
•Dei principali concetti, delle principali metodologie e dei principali strumenti comunemente utilizzati per condurre il penetration testing di un asset web-based
•Dei principali concetti, delle principali metodologie e dei principali strumenti comunemente utilizzati per condurre il penetration testing di un asset wireless-based
•Delle principali tipologie di documentazione e di reporting da produrre a valle di ciascuna fase di un tipico processo di penetration testing


CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE
Al termine del corso gli studenti saranno in grado di:
•Valutare le debolezze e le potenziali vulnerabilità all’interno di sistemi ed infrastrutture ICT, attraverso tecniche di assessment e di analisi critica dei servizi oggetto di protezione, individuando i possibili scenari di incidente, al fine di prevedere eventuali contromisure e strategie di aggiornamento periodico e protezione
•Spiegare ed utilizzare le metodologie standard per l'esecuzione delle verifiche di sicurezza di rete e dei penetration test
•Usare gli strumenti comuni utilizzati dai professionisti della sicurezza di rete per lo svolgimento di verifiche di sicurezza della rete e dei penetration test
•Identificare, valutare e spiegare le minacce alla sicurezza presenti in un determinato asset, mediante l’utilizzo dei relativi exploit e vulnerabilità
•Eseguire penetration test conformi agli standard internazionali
•Sviluppare la documentazione mirata, da fornire alle controparti tecniche (CTO) ed esecutive (CEO), illustrando tutti gli aspetti dei controlli di sicurezza effettuati mediante i penetration test che sono stati eseguiti

Prerequisiti
Per il proficuo raggiungimento degli obiettivi prefissati è necessaria la conoscenza delle Reti di Calcolatori e dei Sistemi Operativi.
Contenuti
Il corso si concentra sugli aspetti metodologici e tecnologici necessari per condurre un tipico processo di penetration testing. In dettaglio, il corso affronta principalmente i seguenti argomenti:
- Fondamenti di Ethical Hacking, Tipi e Metodologie di Security Testing [8 ORE DI LEZIONE]
- Target Scoping [4 ORE DI LEZIONE]
- Kali Linux e Fondamenti di Linux [2 ORE DI LEZIONE]
- Anonimia in Internet [6 ORE DI LEZIONE]
- Information Gathering [4 ORE DI LEZIONE E 2 ORE DI LABORATORIO]
- Target Discovery, Enumerating Target e Port Scanning [4 ORE DI LEZIONE E 2 ORE DI LABORATORIO]
- Vulnerability Mapping [4 ORE DI LEZIONE E 4 ORE DI LABORATORIO]
- Target Exploitation [6 ORE DI LEZIONE E 4 ORE DI LABORATORIO]
- Target Post-Exploitation (Privilege Escalation) [3 ORE DI LEZIONE E 2 ORE DI LABORATORIO]
- Target Post-Exploitation (Maintaining Access) [3 ORE DI LEZIONE E 2 ORE DI LABORATORIO]
- Social Engineering [3 ORE DI LEZIONE]
- Wireless Penetration Testing [3 ORE DI LEZIONE]
- Web Penetration Testing [3 ORE DI LEZIONE]
- Documentazione e Reporting di un processo di Penetration Testing [3 ORE DI LEZIONE]
Metodi Didattici
L’attività di formazione, orientata a fornire sia le conoscenze metodologiche che tecnologiche per lavorare nell’ambito della valutazione di sicurezza di sistemi complessi, prevede 9 CFU (72 ore), distribuite in 56 ore di Lezione Frontale e 16 di Laboratorio ed Esercitazioni. Sia le lezioni frontali che le attività di laboratorio, sono svolte in un’aula di laboratorio, e ciascun incontro con gli studenti prevede sia la presentazione del materiale didattico da parte del docente, che esercitazioni guidate al computer sulle relative applicazioni. In particolare, le attività esercitative in laboratorio, costituiscono un'importante opportunità di applicazione delle conoscenze acquisite durante il corso, consentendo altresì agli studenti di simulare quello che avviene in ambienti reali.

Gli studenti sono guidati ad apprendere in maniera critica e responsabile tutto ciò che viene spiegato loro in classe, e ad arricchire le proprie capacità di giudizio attraverso lo studio del materiale didattico indicato dal docente. Materiale didattico fruibile attraverso la piattaforma e-Learning del corso di Laurea in Informatica.

La frequenza è fortemente consigliata. Gli studenti devono essere preparati a trascorrere una congrua quantità di tempo nello studio al di fuori delle lezioni. Una preparazione soddisfacente richiede in media due ore di studio per ciascuna ora trascorsa in aula. Inoltre, è fondamentale trascorrere una congrua quantità di tempo in esercitazioni pratiche, da effettuare in maniera individuale ed in piena autonomia.


Verifica dell'apprendimento
Il raggiungimento degli obiettivi dell’insegnamento è certificato mediante il superamento di un esame con valutazione in trentesimi. L'esame prevede la realizzazione di un’attività progettuale individuale, preventivamente concordata con il docente, ed una prova orale. Lo studente dovrà altresì produrre la seguente documentazione relativa all’attività progettuale svolta: presentazione digitale, penetration testing report e penetration testing narrative. La consegna della documentazione relativa all’attività progettuale è propedeutica alla prova orale.

La prova orale, che durerà circa 40 minuti per ogni studente, consiste in un colloquio con domande, e verterà sia sulla discussione degli aspetti salienti relativi al progetto realizzato, sia sui contenuti teorici e metodologici indicati nel programma dell’insegnamento. La discussione dell’attività progettuale includerà inoltre la richiesta di modifiche all’attività progettuale stessa direttamente al PC. La prova orale è finalizzata ad accertare il livello di conoscenza e maturità raggiunto dallo studente sui contenuti metodologici, tecnici e strumentali del programma del corso, oltre che la loro applicazione all’attività progettuale svolta.

La valutazione finale si baserà sui seguenti elementi:

- Capacità di motivare ed argomentare opportunamente le scelte effettuate per condurre l’attività progettuale

- Completezza, correttezza e sintesi della documentazione relativa all’attività progettuale condotta

- Capacità di esposizione, mediante terminologia appropriata, dell’attività progettuale condotta e dei contenuti teorici e metodologici indicati nel programma dell’insegnamento
Testi
Testi di riferimento
-Kali Linux 2 - Assuring Security by Penetration Testing. Third Edition. Gerard Johansen, Lee Allen, Tedi Heriyanto, Shakeel Ali. Packt Publishing. 2016
-Ethical Hacking and Penetration Testing Guide. Rafay Baloch. CRC Press. 2014
-Metasploit Penetration Testing Cookbook - Third Edition. Daniel Teixeira, Abhinav Singh, Monika Agarwal. Packt Publishing. 2016

Altri testi di approfondimento
-Hacking: Computer Hacking, Security Testing, Penetration Testing, and Basic Security. Gary Hall & Erin Watson. 2016
-Penetration Testing: A Hands-On Introduction to Hacking. Georgia Weidman. No Starch Press. 2014

Dispense ed altro materiale didattico fornito dal docente
Altre Informazioni
Il materiale didattico è reso disponibile sulla Piattaforma E-Learning del Corso di Laurea in Informatica (http://elearning.informatica.unisa.it/el-platform/).

Per qualsiasi altra informazione è possibile contattare il docente all'indirizzo: arcastiglione@unisa.it
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-11-05]