Skip to Main Content (Press Enter)

Logo UNIRC
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Professioni
  • Persone
  • Pubblicazioni
  • Strutture
  • Attività
  • Competenze

UNI-FIND
Logo UNIRC

|

UNI-FIND

unirc.it
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Professioni
  • Persone
  • Pubblicazioni
  • Strutture
  • Attività
  • Competenze
  1. Insegnamenti

1001900 - Application Security

insegnamento
ID:
1001900
Durata (ore):
48
CFU:
6
SSD:
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Sede:
REGGIO DI CALABRIA
Url:
Dettaglio Insegnamento:
INGEGNERIA INFORMATICA E DEI SISTEMI PER LE TELECOMUNICAZIONI/comune Anno: 2
Anno:
2025
  • Dati Generali
  • Syllabus
  • Corsi
  • Persone
  • Altre Info

Dati Generali

Periodo di attività

Secondo Ciclo Semestrale (23/02/2026 - 29/05/2026)

Syllabus

Obiettivi Formativi

Il corso mira a fare apprendere:

-le principali vulnerabilità degli applicativi in ambito web ed i principali attacchi al fine di realizzare software sicuri;

-le principali tecniche per sfruttare tali vulnerabilità (penetration-testing);

-le principali tecniche di buffer overflow e mitigazioni


Prerequisiti

E’ importante che lo studente abbia conoscenza dei seguenti argomenti (tra parentesi, i corsi nei quali sono stati trattati):

-Elementi di base di programmazione (Fondamenti di Informatica)

-Nozioni di base sull'allocazione di memoria per processi in esecuzione (Sistemi Operativi)

-Elementi di base di sicurezza del web (Cybersecurity)

Durante le lezioni verranno richiamati gli argomenti necessari.


Metodi didattici

Il corso prevede lezioni frontali integrate con esercitazioni pratiche al computer. Durante ogni lezione vengono introdotti i principali concetti teorici, immediatamente seguiti da attività pratiche al computer finalizzate ad applicare e consolidare le conoscenze acquisite.

Complessivamente sono previste circa 18 ore dedicate alla trattazione teorica e 30 ore di esercitazioni pratiche al computer, durante le quali gli studenti applicano le tecniche illustrate attraverso esercizi guidati e attività di analisi di vulnerabilità in applicazioni.


Verifica Apprendimento

L’esame di accertamento e valutazione consiste in una prova pratica (durata: 1 ora) e in una prova orale, articolate nei due moduli del corso.

Durante la prova pratica, gli studenti dovranno individuare e sfruttare vulnerabilità presenti in applicazioni web appositamente predisposte. Al termine della prova, dovranno redigere un report tecnico in cui descrivono le vulnerabilità individuate, le tecniche utilizzate per lo sfruttamento, l’impatto sulla sicurezza del sistema e le possibili misure di mitigazione.

La prova orale è finalizzata alla discussione del report prodotto durante la prova pratica e alla verifica della comprensione dei concetti teorici affrontati durante il corso, con particolare riferimento alle principali vulnerabilità delle applicazioni web, alle tecniche di exploitation e ai meccanismi di difesa. Durante il colloquio sarà inoltre valutata la capacità dello studente di analizzare criticamente le tecniche utilizzate e di motivare le scelte adottate.

La valutazione finale terrà conto della correttezza tecnica delle soluzioni proposte, della comprensione dei concetti teorici, della capacità di applicare le tecniche studiate e della chiarezza nell’esposizione e nell’analisi dei risultati.

Criteri di valutazione

30 – 30 e lode (Eccellente)

Lo studente dimostra una conoscenza completa e dettagliata degli argomenti trattati, utilizzando una terminologia appropriata e spiegando con precisione i principali concetti di sicurezza delle applicazioni web e di exploitation. Evidenzia una comprensione approfondita delle vulnerabilità analizzate e delle tecniche di attacco e di mitigazione. È in grado di applicare con sicurezza le conoscenze acquisite, sfruttare vulnerabilità complesse, analizzare criticamente i risultati e motivare le scelte tecniche adottate. L’esposizione risulta chiara, rigorosa e ben strutturata.

28 – 29 (Ottimo)

Lo studente dimostra una conoscenza approfondita della materia e una solida comprensione delle principali vulnerabilità delle applicazioni web e delle tecniche di exploitation. È in grado di applicare correttamente le tecniche studiate e di analizzare i risultati ottenuti durante la prova pratica. L’esposizione è chiara e ben organizzata, pur presentando occasionali imprecisioni o limitazioni nell’approfondimento.

25 – 27 (Buono)

Lo studente possiede una buona conoscenza degli argomenti principali del corso e riesce ad applicare le tecniche di base di individuazione e sfruttamento delle vulnerabilità. Comprende i concetti chiave della sicurezza delle applicazioni web, anche se non sempre riesce a spiegarli con piena precisione o completezza. L’esposizione è generalmente chiara, ma talvolta schematica o non pienamente approfondita.

22 – 24 (Discreto)

Lo studente dimostra una conoscenza complessivamente adeguata degli argomenti trattati, pur con alcune lacune o incertezze. È in grado di individuare e sfruttare vulnerabilità di base e di discutere i risultati ottenuti, anche se con limitata autonomia o con qualche imprecisione nell’analisi tecnica. L’esposizione è corretta ma non sempre pienamente strutturata.

18 – 21 (Sufficiente)

Lo studente dimostra una conoscenza essenziale dei concetti fondamentali della sicurezza delle applicazioni web e delle tecniche di exploitation trattate durante il corso. È in grado di affrontare esercizi di base relativi all’individuazione di vulnerabilità web o a semplici casi di buffer overflow, pur con alcune difficoltà nell’applicazione delle tecniche e nell’esposizione dei risultati.

Insufficiente

Lo studente non dimostra una conoscenza adeguata degli argomenti fondamentali del corso. La prova pratica e/o la prova orale evidenziano errori significativi, lacune rilevanti o incapacità di applicare correttamente le tecniche di analisi e sfruttamento delle vulnerabilità, non raggiungendo il livello minimo richiesto per il superamento dell’esame.


Testi

-Slides

-Dispense delle esercitazioni

-Siti web consigliati per ogni argomento


Contenuti

Programma del corso

Il corso è suddiviso in due moduli: Web Security (Hacking sul Web) e Software Security (Binary Exploitation).

 

Modulo 1: Web Security (Hacking sul Web) (4 CFU)

Gli argomenti di questo modulo saranno incentrati sulle principali vulnerabilità delle applicazioni web. Gli argomenti sono i seguenti.

(1 CFU)

Bruteforce, SQLI Union Based, SQLI Error Based, SQLI BLIND time based, SQLI BLIND boolean Based

(1 CFU)

introduzione a DOCKER, burpsuite, sqlmap, OS Command Injection, Unrestricted File Upload

(1 CFU)

Reflected Cross Site Scripting, Stored Cross Site Scripting, DOM Based Cross Site Scripting, File Inclusion, Session Issues

(1 CFU)

Insecure Direct Object Reference, Missing Functional Level Access Control, XXE, Server Side Template Injection, Content Security Policy, Insecure deserialization

 

Modulo 2: Software Security (Binary Exploitation) (2 CFU)

Questo modulo introduce i concetti per sfruttare vulnerabilità nei programmi binari. Gli argomenti trattati includono:

(0.5 CFU)

Fondamenti di Architettura e Programmazione a Basso Livello: linguaggio assembly per architettura Intel a 32 bit, registri della CPU e loro utilizzo, stack e aree di memoria di un processo in esecuzione, calling convention, processo di compilazione di un programma scritto in C.

(1.5 CFU)

Buffer Overflow nello Stack: concetti di base di overflow dello stack, sovrascrittura dell'EIP e controllo del flusso di esecuzione, shellcode injection, ret2libc, mitigazioni e contromisure

 

 

Risultati Attesi

Conoscenza e comprensione

Lo studente acquisisce conoscenze approfondite relative alle principali vulnerabilità degli applicativi web e software e le relative mitigazioni. Comprende i principali modelli di attacco in ambito web e binary exploitation. Conosce le metodologie e gli strumenti di penetration testing utilizzati per identificare e analizzare vulnerabilità di sicurezza.

Capacità di applicare conoscenza e comprensione

Lo studente è in grado di individuare, analizzare e sfruttare in modo controllato vulnerabilità in applicativi web e software. Inoltre sa implementare contromisure adeguate per mitigare le vulnerabilità identificate.

Autonomia di giudizio

Lo studente sviluppa la capacità di valutare criticamente il livello di sicurezza di una vulnerabilità, identificandone rischi e impatti potenziali. È in grado di scegliere in autonomia strumenti e metodologie di analisi più appropriati al contesto applicativo e di valutare l’efficacia delle tecniche di mitigazione adottate.

Abilità comunicative

Lo studente è in grado di documentare in modo chiaro e strutturato le vulnerabilità individuate, redigendo report tecnici di sicurezza. Sa comunicare efficacemente problematiche di sicurezza sia a interlocutori tecnici sia non tecnici, adattando il livello di dettaglio e il linguaggio al destinatario.

Capacità di apprendimento

Lo studente sviluppa la capacità di aggiornarsi autonomamente rispetto all’evoluzione delle minacce e delle tecniche di attacco, consultando documentazione tecnica, advisory di sicurezza e nuove vulnerabilità. È in grado di approfondire in modo autonomo nuovi strumenti e metodologie di analisi della sicurezza, adattandosi all’evoluzione continua del panorama della cybersecurity.


Altre informazioni

Codice Teams: x17tmed

Invito gli studenti ad iscriversi al Team per reperire il materiale didattico.


Corsi

Corsi

INGEGNERIA INFORMATICA E DEI SISTEMI PER LE TELECOMUNICAZIONI 
Laurea Magistrale
2 anni
No Results Found

Persone

Persone (2)

LAZZARO SARA
Docenti
Russo Paolo
Docenti
No Results Found

Altre Info

Insegnamento principale

APPLICATION SECURITY
  • Utilizzo dei cookie

Realizzato con VIVO | Designed by Cineca | 26.3.5.1