← Tutti i video

Il Canary come Meccanismo di Protezione

Guarda su YouTube → 20:02 16 aprile 2025
Cybersecurity

Descrizione

Ciao! In questo video parlo del canary, un meccanismo di protezione per proteggere un binario da attacchi di memory exploitation come buffer overflow. Nel video si discute e si mostra il ruolo del canary e come è implementato nella pratica. Il progetto esadecimale nasce per condividere una conoscenza profonda e tecnica dell'informatica. Se vuoi supportare il mio lavoro, iscriviti al canale, condividi il video con persone interessante, e se vuoi, puoi anche supportarmi su patreon - https://patreon.com/hexdump Ho anche un canale telegram - https://t.me/+cdbmjgB3nCEyMzA0 ------------------------- TIMESTAMP 00:00 Introduzione 00:50 Il ruolo del canary 08:55 Analisi senza canary 13:40 Analisi con il canary 17:55 Metodi di bypass ------------------------- CONTATTI - Blog: https://blog.leonardotamiano.xyz/ - Github: https://github.com/LeonardoE95?tab=repositories - Support: https://patreon.com/hexdump

Commenti 17

I commenti vengono da YouTube e sono aggiornati periodicamente.

  1. @asso6329 27 aprile 2025
    Solo video di altissimo livello. Complimenti!
  2. @paolobogojob2100 16 agosto 2025
    Fantastico grazie
  3. @makyxyz3375 16 aprile 2025
    Sei veramernte bravo! complimenti
  4. @fabianopirozzi650 17 aprile 2025
    Complimenti, veramente molto interessante! che editor utilizzi per curiosita?
    1 risposta
    1. @esadecimale Autore 17 aprile 2025
      Emacs! Ho una playlist in merito
  5. @AntonioPopolizio 6 agosto 2025
    Tanta, tanta, tanta roba! Complimenti! Posso solo un consiglio? Essendo video molto di dettaglio, sarebbe più comodo se andassi un po’ meno velocemente. L’ho notato anche nel tuo corso su Udemy (WAPT). Addirittura, lì vai a tratti super veloce, anche in inglese! 😅
    1 risposta
    1. @esadecimale Autore 6 agosto 2025
      Feedback super accettato! Ci faccio caso, la stanchezza un po interviene pure, se sono più stanco tendo ad andare più veloce altrimenti crollo ahahah Btw per esempio in questi video hai dei timestamp specifici cosi capisco meglio? Ti ringrazio in ogni caso!
  6. @Thor_Elveneyes 17 aprile 2025
    Se invece si arriva a scrivere fino al punto in cui c'e' il valore del canary, si bypassa il canary e poi si scrive nel RIP l'indirizzo di memoria a cui far puntare la prossima istruzione, non si riesce a bypassare direttamente il controllo?
    6 risposte
    1. @esadecimale Autore 17 aprile 2025 1
      E come lo “bypassi” il canary? Con un buffer overflow puoi scrivere in modo lineare e continuo, non puoi saltare pezzi di memoria. Quindi ad un certo punto sei costretto a scrivere sull’indirizzo del canary
    2. @Thor_Elveneyes 17 aprile 2025
      @esadecimale Quello si, che sia il comportamento normale non ci sono dubbi. Magari pensando con un debug acceso se c'era qualche modo per poterlo fare. Si inietta il codice da qualche parte, si manda il programma in esecuzione e arrivati ad un certo punto si va a modificare l'indirizzo di RIP (Ma non era il registro EIP?)
    3. @esadecimale Autore 17 aprile 2025 1
      EIP è per architetture a 32 bit, RIP è la versione per 64 bit. Detto questo, in un attacco reale non puoi assumere la presenza di debugger, ed in generale non puoi neanche assumere di poter iniettare ed eseguire codice, perché se lo potessi fare, avresti già il tuo exploit, e non servirebbe ne sovrascrivere il RIP e ne bypassare il canary. Si sovrascrive il RIP proprio per ottenere la prima esecuzione di codice. Non prenderla come critica, ma bisogna essere molto precisi quando si tratta di binary exploitation. “Si inietta il codice da qualche parte” è una frase priva di significato. Ripeto, non lo dico per criticarti, ma per aiutarti a ragionare su queste cose. La difficoltà sta tutta nell’essere chirurgicamente precisi su cosa bisogna fare, e questa precisione deve prendere in considerazione il funzionamento esatto della macchina, gli accessi alla memoria e via dicendo
    4. @esadecimale Autore 17 aprile 2025
      Detto questo, se hai una sessione di debugging attiva, puoi modificare qualsiasi indirizzo di memoria del processo, dunque anche la canary. Puo essere un esercizio utile, ma in ultima analisi non è una tecnica di exploitation, in quanto il debugger è proprio pensato per fare queste cose
    5. @Thor_Elveneyes 17 aprile 2025
      @esadecimale Tranquillo non la prendo certo come offesa. Con quel termine in realta' intendevo che quando si inietta il codice lo si introduce da qualche parte in memoria (nell'HEAP se non ricordo male), mi hai appena ricordato della differenza tra EIP e RIP che gia' mi sfumava anche quella.
    6. @esadecimale Autore 17 aprile 2025
      Considera sempre il vincolo di partenza: la logica del programma iniziale. Se il programma iniziale non usa memoria dinamica, o comunque, non permette di inserire input utente in memoria dinamica, non puoi introdurre del codice in quel modo. Se invece fa delle allocazioni, allora il problema diventa: dove viene allocata questa memoria? Perché per poi andarlo ad eseguire ti serve l’indirizzo, e dunque ti serve un memory leak. Piu altre assunzioni
  7. @Ossigen8 18 aprile 2025
    Ciao, video interessantissimo volevo sapere quale università hai frequentato (sempre se lo hai fatto) e quale consiglieresti ad un ragazzo come me (il prossimo anno finisco le superiori, ho scelto un tecnico informatico), so le differenze tra ingegneria informatica e computer science infatti penso che sono più portato per computer science siccome non mi piace lavorare troppo a basso livello con tanti circuiti come potrebbe essere in ingegneria.. sarebbe un bel argomento per un video. edit: ho visto ora il tuo video riguardo la tua laurea, molto interessante anche quello
    2 risposte
    1. @esadecimale Autore 18 aprile 2025 1
      Ottima domanda, sto pensando di farci direttamente una live sull’argomemto universita, ora mi organizzo qualche appunto
    2. @Ossigen8 18 aprile 2025
      @esadecimale grazie mille, se fai qualche live cerca di pubblicare qualche spezzettone oppure la live intera, sicuramente la recupererò 😉