Strumenti Utente

Strumenti Sito


informatica_triennale:sicurezza_e_privatezza

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
informatica_triennale:sicurezza_e_privatezza [2021/01/23 14:38] – Aggiunte domande orali mrkctinformatica_triennale:sicurezza_e_privatezza [2024/01/06 17:49] (versione attuale) – modifica esterna 127.0.0.1
Linea 5: Linea 5:
 ==== Come è strutturato l’esame? ==== ==== 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.  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 [[http://exam.net|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 [[http://exam.net|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? ==== ==== Qual è il materiale a disposizione per studiare? ====
Linea 15: Linea 18:
 Gli obiettivi del corso e il programma del corso sono riportati nell’apposita sezione di riferimento sul sito web.  Gli obiettivi del corso e il programma del corso sono riportati nell’apposita sezione di riferimento sul sito web. 
  
-===== Domande fatte ad orali =====+===== 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:
 +
 +  - 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"
 +  - 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.
 +  - 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. 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.
  
informatica_triennale/sicurezza_e_privatezza.1611409136.txt.gz · Ultima modifica: 2024/01/06 17:49 (modifica esterna)