Strumenti Utente

Strumenti Sito


Barra laterale

informatica_triennale:sicurezza_e_privatezza

Sicurezza e privatezza

FAQ

Come è strutturato l’esame?

Attualmente l’esame consiste nello svolgimento in autonomia di 5 esercizi di laboratorio consegnati indicativamente 5 giorni prima della data di esame indicata sul portale ufficiale. Gli esercizi, che verranno messi su Ariel, non andranno consegnati, tuttavia si dovrà rispondere a delle domande riguardanti gli esercizi + una piccola parte di domande su privacy ed etica. Lo scritto di laboratorio riporta 4 votazioni in lettere: A,B,C,D per chi supera la prima parte di esame, che dovrà poi andare a sostenere la prova orale riguardante principalmente la parte teorica del corso (alla fine dell’orale vengono fatte anche un paio di domande di laboratorio). La valutazione in trentesimi viene data solamente alla fine della prova orale.

Su quali piattaforme viene fatto l'esame durante il periodo COVID?

Vengono usati Zoom e exam.net. Il giorno dell'esame il prof manda una mail contenente un link Zoom, si può usare anche il cellulare come videocamera. Dentro la riunione Zoom il prof condividerà un codice da inserire su exam.net, che aprirà SafeExamBrowser dalla quale si potrà iniziare l'esame. Dentro l'ambiente si vedranno affiancati un PDF con le domande dell'esame ed uno spazio dove scrivere le risposte (simile ad un documento Word). All'esame orale viene usato solamente Zoom.

Qual è il materiale a disposizione per studiare?

Il materiale di studio consiste nelle videolezioni caricate su Ariel e, in caso il prof lo ritenga necessario, il materiale aggiuntivo caricato sempre su Ariel. Si consiglia fortemente di prendere appunti che siano organizzati particolarmente bene in modo tale da essere utilizzati nella fase di studio in preparazione all’esame.

Sono disponibili le slide utilizzate a lezione? Se sì, dove le posso trovare?

Il professore non rende disponibili le slide utilizzate a lezione ufficialmente.

Mi consigliate di seguire questo corso? Cosa viene insegnato nel corso?

Gli obiettivi del corso e il programma del corso sono riportati nell’apposita sezione di riferimento sul sito web.

Problemi comuni negli esercizi di laboratorio

Buffer Overflow: il mio payload funziona in GDB ma non fuori

Il problema è dato dal fatto che l'ambiente di esecuzione in GDB non è uguale a quello in cui eseguite il programma normalmente, questo comporta uno shift dell'indirizzo di inizio dello stack. La buona notizia è che si può rendere l'ambiente di GDB uguale a quello normale, rendendo di fatto gli indirizzi uguali. Prima di iniziare a guardare gli indirizzi in GDB per scrivere il vostro payload fate questi tre passi:

  1. GDB esegue il programma con il path assoluto. Dunque il parametro argv[0] nel main contiene qualcosa come “/home/kali/path/al/vostro/programma”. Molto probabilmente voi eseguite il programma con un indirizzo relativo tipo “./programma”. Bisogna rendere uguali questi due valori, ma non (credo) si possa cambiare questa cosa di GDB. Il modo più semplice è di eseguire il vostro programma usando il path assoluto come GDB. Per esempio se il vostro programma è sul desktop della VM Kali allora per eseguirlo dovrete scrivere “/home/kali/Desktop/programma” invece del solito “./programma”
  2. GDB aggiunge due variabili di ambiente, LINES e COLUMNS, ed anche queste spostano lo stack. Prima di dare “run” dentro GDB usate “unset env LINES” e “unset env COLUMNS” per rimuoverle.
  3. Alcuni terminali (come quello nella VM Kali) aggiungono una variabile d'ambiente “_” (underscore) che contiene il nome dell'ultimo programma lanciato. Il problema è che se eseguiamo GDB allora “_ = gdb” mentre se eseguiamo il nostro programma direttamente allora “_ = nostro_programma”. Forse c'è un modo per disattivare questa feature ma dipende dal vostro terminale. Il modo più semplice è modificare questa variabile d'ambiente dentro GDB per renderla uguale a quando lanciate il programma da fuori. Dentro GDB, prima di dare “run”, usate “set env _ = /path/assoluto/al/programma”.

Dopo questi tre passi gli indirizzi dovrebbero essere uguali. Bisogna fare questi passaggi ogni volta che volete eseguire il programma. Se volete essere sicuri di non star sbagliando qualcosa potete scrivere un piccolo programma in C che dichiara una variabile e ne stampa l'indirizzo: se il valore in output è uguale sia dentro GDB sia fuori allora avete fatto corretto.

Domande fatte ad orali

Queste sono alcune domande fatte dal prof Bruschi in alcuni orali. Ricordate che potrebbero esserci piccoli errori dati dal fatto che non è sempre facile trascrivere tutto quello che viene detto.

  • A cosa serve la crittografia? Quale problema risolve? Quali nuovi problemi sorgono dal suo uso?
  • Come funzionano le comunicazioni sicure sul web oggi?
  • Quali sono le principali contromisure per i buffer overflow?
  • Cosa è una SQL injection?
  • Mi parli di tutto quello che sa sul Web of Trust e fai un confronto con le certificate authority
  • Quali sono i tre principali modi che john the ripper usa per crackare le password?
  • Cosa è una vulnerabilità, attacco, minaccia, superficie di attacco?
  • Quali tipi di minacce conosce?
  • Cosa è l'ARP poisoning? Quale vulnerabilità usa? Cosa consente di fare? (MITM, DOS)
  • Nell'ambito di ISO27001 cosa vuol dire considerare la cybersecurity come un rischio?
  • Mi parli dei firewall
  • Un firewall a livello architetturale di rete impone una serie di scelte. Quale è la principale?
  • Spiega come funziona i meccanismi di sicurezza in unix (tutto a caso, acl, setuid, system call, cpl)
  • Cosa è un malware? Quali sono le fasi di un virus? Differenze tra virus metamorfi e polimorfi?
  • Cosa è un resident malware?
  • Come fa un antivirus a rilevare un virus polimorfo? Come fa un virus a non farsi beccare dalla macchina virtuale?
  • Quali vulnerabilità dei cookie?
informatica_triennale/sicurezza_e_privatezza.txt · Ultima modifica: 2024/01/06 17:49 da 127.0.0.1