← Tutti i video

Perché randomizziamo gli indirizzi?

Guarda su YouTube → 23:37 13 maggio 2025

Descrizione

Ciao! Ma lo sapevi che gli indirizzi di memoria di un programma vengono randomizzati ad ogni esecuzione? In questo video cerchiamo di capire perché viene utilizzata la randomizzazione. Spoiler: viene utilizzata per rendere più difficile effettuare determinati attacchi. Il progetto esadecimale nasce per condividere una conoscenza profonda e tecnica dell'informatica. Se vuoi supportare il mio lavoro puoi farlo su patreon. - https://patreon.com/hexdump Ho anche un canale telegram - https://t.me/+cdbmjgB3nCEyMzA0 ------------------------- TIMESTAMP 00:00 ASLR 07:20 Configurare ASLR tramite proc 10:30 Position Independent Executable (PIE) 13:40 Sul perché randomizziamo gli indirizzi 19:00 La randomizzazione con PIE 21:33 Non basta randomizzare ------------------------- CONTATTI - Patreon: https://www.patreon.com/hexdump - Coffee: https://buymeacoffee.com/hexdump - Git: https://git.hexdump.sh - Blog: https://blog.leonardotamiano.xyz/

Commenti 9

I commenti vengono da YouTube e sono aggiornati periodicamente.

  1. @tuppulix29 15 maggio 2025 1
    Ho fatto questi argomenti quest'anno a Cyberchallange, mi piace troppo il fatto che nonostante io pensassi di sapere, mi accorgo che comunque non si finisce mai di imparare. Una bella serie di pwn e rev secondo me fatta da te sarebbe qualcosa di spettacolare
  2. @samuelepadoan4993 13 maggio 2025
    Bel video, conoscevo già tante cose ma non certi dettagli. Sempre tanto da imparare grazie!
  3. @mirkodist 16 maggio 2025
    Sei un grande. Bel video. Sarebbe interessante approfondire qualche altro "step della filosofia defense in depth" adottata da linux per proteggere i suoi binari. Questa è la parte di hacking e sistemi operativi che piu mi intriga ma ho il presentimento che, nell'ipotesi più o meno veritiera che un giorno rust sostituisca del tutto (o quasi) c, il sapere queste cose potrebbe diventare fondamentalmente inutile, come lo potrebbe diventare l'intera binary exploitation. Motivo per cui, a volte, quando studio queste cose, non mi sento di star facendo il migliore investimento in termini di security skills per il medio/lungo periodo.
  4. @Fred-e5y2o 31 maggio 2025
    Per evitare i buffer overflow del C e C++.
  5. @SimoneRicco-ko7or 13 maggio 2025
    Adoro vedere il tuo workflow con emacs. Usi doom?
    1 risposta
    1. @esadecimale Autore 13 maggio 2025
      no, nativo con config custom
  6. @KuroiMeansBlack 14 maggio 2025
    Che differenza c'è tra aslr e Jit, da quello che so anche Jit Randomizza gli indirizzi ogni volta che il programma viene eseguito
    2 risposte
    1. @esadecimale Autore 15 maggio 2025 1
      Allora in realtà JIT (Just-In-Time) è una tecnica di esecuzione di un binario che non ha direttamente a che fare con la randomizzazione. Di base un programma o è compilato o è interpretato. Per compilarlo però devi compilare tutte le istruzioni, anche se poi ne vai ad utilizzare solo un numero limitato. L'idea (in modo approssimato) di JIT, è che permette di ottenere un middle ground tra interpretazione e compilazione, andando a generare il codice assembly di ogni istruzione, ma solo nel momento in cui le istruzioni devono essere effettivament eseguite. Quindi non è relativo alla randomizzazione. È ASLR la feature che si occupa di randomizzare. Anzi in realtà il meccanismo JIT può essere utilizzato proprio per bypassare la randomizzazione.
    2. @KuroiMeansBlack 15 maggio 2025
      @esadecimale Ho capito, grazie per la spiegazione.