🎓 Vuoi acquisire *solide conoscenze* nell'ambito del NETWORKING o diventare un PROFESSIONISTA LINUX CERTIFICATO? Il modo migliore per cominciare è seguire un corso *ben strutturato* e *semplice da seguire* , ma soprattutto tenuto da un docente sempre disponibile per *rispondere alle tue domande.* Tengo corsi per tutti i livelli, visita morrolinux.it per maggiori informazioni.
@@alexandrialibrary8152 Ciao, ti riferisci al link di questo commento? a me sembra funzionare correttamente, prova a inserire manualmente morrolinux punto it : morrolinux.it Fammi sapere! Grazie mille
Ciao Morro, ho visto che hai alcuni corsi in sconto, qual è l'ordine giusto in cui farli? (ero anche interessato a quello di Arch ma sono disoccupato e mi pensa spendere 100) così so quale comprare per primo. grazie.
@@mikethelion Ciao! Ho appena aggiornato i coupon, ora dovresti vederli a un prezzo molto vantaggioso. Quanto all'ordine: iniziare con il corso base che ho tenuto su Arch mi sembra un'ottima idea e te lo stra-consiglio. Poi dipende anche da quali sono i tuoi obiettivi: se ad esempio vuoi farti la certificazione linux nel più breve tempo possibile per candidarti alle posizioni di sysadmin, potresti iniziare direttamente dai corsi LPI. Su corsolinux.com ho preparato un diagramma apposta per decidere da dove cominciare :)
Ah queste pipeline, fonte di gioia e dolori. Si fa di tutto per cercare di tenerle piene e si finisce sempre per cadere nelle stesse problematiche. Non sarà mica il caso di ripensarlo sto sistema dopo 60 anni? (Spieghi davvero bene, complimenti, si vede che ti sbatti enormemente per semplificare cose che sono talmente a basso livello che pure un laureato medio fatica a capire probabilmente). Sempre al top morro.
Come programmatore di hardware e firmware di vecchia data sono felicissimo di vedere ragazzi come te che spiegano queste cose per molti oscure. Hai un nuovo iscritto.
Ciao, sono interessato anch'io a quel mondo. L'anno prossimo dovrò scegliere l'università, nel caso decidessi di proseguire con l'informatica (mi interessano anche altre cose totalmente diverse, dovrò decidermi poi), per quel tipo di programmazione sarebbe meglio ingegneria informatica o informatica pura?
No, Ingegneria Elettronica. Io ai tempi ho sbagliato iscrivendomi ad Ing. Informatica, ora per la magistrale sto cercando di aggiustare il tiro iscrivendomi al corso di Ing Informatica magistrale - Elettronica Embedded. Ma appunto volendo lavorare sull'hardware il corso adatto è elettronica.
Spiegazione magistrale, un pò meno il titolo click bait focalizzando il problema su Apple M1, quando invece è generale e riguarda TUTTI i costruttori, allo stesso modo.
Eh ma "apple bad" vende sempre. Attira quelli che la roba apple l'hanno vista, se va bene, in fotografia; purtroppo però poi vanno in giro a fingersi esperti ripetendo i meme altrui. Il clickbait però ha funzionato anche per me: pensavo fosse un video comico su "col mac non si può giocare".
E' impressionante quanto tu sia capace di spiegare argomenti così complessi come se stessimo discutendo di un taglio di capelli. Complimenti vivissimi!
Come ad altri, qui nei commenti, hai messo anche a me nostalgia dei tempi dell'Università (per la verità lo fai quasi in ogni tuo video). Si vede che sei un numero 1 e ti auguro di avere successo in questo campo, te lo meriti.
Questo è il genere di video che ti fa sognare rendendo un sabato che di suo è bellissimo, ancora più interessante e avvincente, stimolando letture e approfondimenti, sempre più soddisfatto di aver trovato questo canale. Grazie per la condivisione\(^_^)
Primo video che vedo del canale consigliato molto randomicamente da YT. Sono davvero soddisfatto di aver trovato il tuo canale morro. I migliori 14 minuti e 30 sec passati a capire un argomento di cui davvero sapevo pochissimo. Ti continuerò sicuramente a seguire.
Video fenomenale, conosco per lavoro tanti espertoni di cybersecurity che non sarebbero in grado di spiegare questa vulnerabilità con la tua stessa chiarezza espositiva. Chapeau.
Sebbene ho già delle basi di Buffer Overflow & company, è assurdo il livello di chiarezza con cui hai affrontato la questione; l'hai resa davvero masticabile a tutti. Complimenti Morro!
Grande Morro, mi hai fatto ripescare dalla memoria gli esami di architettura degli elaboratori e sistemi operativi e il fascino che emanavano mentre gli studiavo. Il concetto di preemptive (prediction e simili) e i puntatori di memoria sono sempre stati i portali per ogni attaccante. Molto molto bella la spiegazione, e sto pensando di iscrivermia uno dei tuoi corsi per rispolverare meglio il mondo Linux, ci farò una ragionata. Keep watch pacman ! Ciao
Alessandro ti consiglio vivamente di iscriverti ad un corso di Morro! Io l'ho fatto .. spiega benissimo e mi ha aperto la mente su un modo affascinante che per pigrizia non ho mai voluto esplorare.. oltre che aiutarmi moltissimo del campo lavorativo!
Ho consegnato giusto 3 ore fa una tesina compilativa sulle vulnerabilità Meltdown e Spectre, tempismo perfetto per scoprire una ulteriore vulnerabilità che si basa su quelle stesse tecniche ;)
Ma tu hai capito come mai il programma non crasha? Tecnicamente una volta che il programma prende il ramo falso (minuto 8:08) non dovrebbe crashare anche il programma?
@@samuele7630 No perchè non avviene la verifica dell'hash che fa attivare il trap handler, o la verifica la fa disabilitando però i flags di trap per motivi prestazionali.
Ciao morro bellissimo video e spiegato ottimamente anche se salti parecchi pezzi anche abbastanza importanti, ma capisco per semplificare bisogna sacrificare qualcosina. Comunque si dice "dereferenziare" e non "deferenziare" perché stai "togliendo la referenza"
Per un ignorante come me in questo "settore" non è stato facile guardare tutto il video, qualcosa a intuito ho compreso, ma bravo veramente nella spiegazione, iscrizione e like meritati 👍
Così complicato e spiegato in modo così comprensibile! Un mago come sempre! Ti manca solo il "bianco e nero" nel montaggio video durante una "battuta" e saresti completo 🤣
Complimenti per la chiarezza e la capacità di semplificare concetti difficili da comprendere. Grazie per aver scelto un livello divulgativo che tutti possono seguire. Continua così, ne abbiamo bisogno! (...perlomeno io)
Complimenti per la spiegazione tecnica, durante la visione del video pensavo proprio alla frase finale 😂 posso sapere con che software crei le grafiche? Grazie
Ciao! Premetto: 1. è solo il secondo tuo video che guardo, ed entrambi molto ben fatti (interessanti ma brevi e comprensivi), quindi complimenti 2. mi sembra strano essere qui a commentare perchè tipicamente non lo faccio, vengo su youtube per svagare o imparare Ma in questo video parli di qualcosa che conosco, e sono sicuro anche che hai perfettamente idea di ciò che dici. Ma appunto per questo, per piacere, davvero, non si dice "deferenziare" ma "de-referenziare". Scusa la precisione ma questo fa veramente male alle orecchie. Per il resto grande, continua così ;) Peace!
Di tutti i video che ho visto sull’argomento è quello spiegato meglio, complimenti davvero, non ti conoscevo ma ti sei guadagnato la mia iscrizione e i like per tutti i video futuri. :)
Adoro i tuoi video, informativi, chiari, con fonti... Ti ammiro un sacco e stimo, tieni alto il mio interesse nella materia dando spunti di video in video. Non vedo l'ora di divenire maggiorenne e poter investire in un tuo corso, che se sono strutturati allo stesso modo daranno soddisfazioni
Grande Morro, già la tua eloquenza è di gran lunga superiore a molti "espertoni" del settore, con queste animazioni è tutto ancora più chiaro, riesci sempre a fare un video migliore del precedente... Mi inquieta però sapere che anche la tanto acclamata sicurezza del nostro amato pinguino possa crollare come un castello di sabbia di fronte queste falle hardware... Perchè anche Linux è coinvolto vero? O non è così? Ti prego dicci che non è così!! Un abbraccio! ;)
Ciao Marcello! In realtà Linux nemmeno implementa la pointer authentication di ARM, quindi questa ulteriore barriera che è stata compromessa non l'abbiamo mai avuta in primo luogo :D
La sicurezza informatica ha smesso di appassionarmi, nei metodi, molto tempo fa. Per un attimo del video: ho pensato si fosse riaccesa la fiamma, ma no! Grazie lo stesso del filmato, ora potrò versare meritati secchi di "fango" sugli Apple che qui qualcuno consigliava (mal comune mezzo gaudio) ma lo potevo fare già prima.
Forse è un bene: vuol dire che perlomeno le grandi falle, tipo hacking telefonico col fischietto, sono coperte by default e solo i casi limite rimangono scoperti. Quello che ho visto però è che generalmente si guarda solo alla visione di macroinsieme e si fa affidamento a una tecnologia a occhi chiusi piuttosto che analizzare i sui casi d'uso; ti faccio un esempio: Docker e i Cloud services stile Kubernetes consentono di creare sistemi molto complessi, automatizzati e potenzialmente molto più sicuri; detto ciò ho sentito la maggior parte della gente usarli come se fossero il "sacro graal della sicurezza", come se una volta in Docker nessun attacco fosse possibile o se Kubernetes o Cloud non fosse comunque una rete di VM potenzialmente attaccabili. Stessa cosa con quasiasi altra tecnologia come VPN, firewall, etc. trattata come "patch magica di sicurezza". La sicurezza oramai non è più tanto dovuta ai problemi dello "strumento" ma generalmente nell'uso improprio che se ne è fatto.
Semi OT. Usi per montare i tuoi video Davinci, te l'ho sentito dire più di una volta. Prima o poi ti andrebbe di far vedere qual è il tuo flusso di lavoro? Come tagli, cuci, fai il voice over o gli schemi?
piccolo consiglio del tutto *personale* (sottolineo personale, niente hater perfavore): Hai la voce da fatalista :D potresti essere piu allegro perfavore? mi piace molto cosa e come lo dici. E' la voce che non mi permette di concentrarmi a lungo. In bocca al lupo! Complimenti
Una cosa carina sarebbe introdurre una funzione che in quel momento elimina un record dal TLB. Ad esempio ho 5 spazi, e in quel momento il sistema consente l’accesso solo a 4. Finita l’esecuzione ne ripristina 5
il video è interessante ma per serietà del canale io lo avrei intitolato: Come funziona Pacman: la grave falla di tutti i processori Arm versione XYZ. poi avrei meglio specificato che questa sicurezza sui puntatori che hanno i processori Arm li pone un gradino sopra agli altri che architettura x64 compresa (non sono un esperto e potrei sbagliarmi) che questa sicurezza intrinseca non se la sognano neppure. Certo che dire che il chip M1 ha una falla fa fare molte più visualizzazioni. Caro morrolinux visto che il tuo canale mi pare serio come pure i tuoi corsi, per distinguerti dagli asini che pullulano su youtube, ti consiglio di mettere titoli meno fuorvianti…..
Tutto chiarissimo, quello che non mi è chiaro però è come fa un attaccante ad innescare questa vulnerabilità? Creando una pagina web che l’utente banalmente va a visitare oppure deve creare un programma che l’utente incautamente va ad eseguire?
morrolinux non cambiare mai! Attualmente la qualità dei tuoi contenuti fa PAURA! Altro che PacMan sei te la falla per gli altri utubers che si definiscono del "mestiere".
Domanda stupida e premetto che non mi sono informato ulteriormente a riguardo. Hai detto che quando ci sono delle condizioni, la branch prediction unit esegue entrambe le direzioni, ma a quel punto se facendo il calcolo ci si accorge che un indirizzo è “fallato” perché non terminare comunque l’esecuzione del programma lanciando un eccezione, anche se è nel branch che non verrà eseguito? Secondo me se il tipo di eccezione riguarda un puntatore corrotto dovrebbe sempre crashare il programma. Spero di essermi spiegato 😂
Detta da te così sembra più un problema di controllo e verifica e non un problema hardware come si vocifera, mi chiedo se davvero vogliono la sicurezza, perché non mettono alla prova i nuovi componenti hardware facendoli testare “prima della loro uscita sul mercato da persone competenti”? Come si fa per le falle per i siti web, mettendo in palio soldi veri.. sono più che sicuro che usciranno buchi mai visti prima!
Alla fine del discorso il problema risiede sull'architettura hardware dei processori che ha dei difetti strutturali che non possono essere cambiati facilmente. Si dovrebbe rifare tutto da zero, ma il costo è così alto che non interessa a nessuno. Se un sistema ha delle falle di basso livello per il sistema è meglio, perché le falle servono per tanti motivi, sia a livello di controllo che di denaro. Ricordo che l'economia del cyber crime è molto grande, è una buona fetta del suo indotto si basa sul controllo di altri sistemi attaccabili. Comunque grande Morro👍
Caro Morro, ho sentito e letto deferenziato... È deREferenziato!😂 Video molto interessante, comunque, perfettamente comprensibile dopo due anni di Poli
A proposito di sicurezza, ho installato la prima volta Ubuntu studio ultima versione originale da zero unico problema è la sicurezza dell'utente. Cosa intendo, nell'installazione iniziale chiede la password obbligatoria ok e fin qua tutto a posto, ma una volta che entro nell'utente mi entra anche se non la metto. Non capisco il motivo stessa cosa vale anche quando installo le app oppure faccio gli aggiornamenti di sistema appare la schermata inserisci password e guarda a caso lo accetta anche senza inserirla. È un po' strana sta cosa. 😔😤
Ma la chiave quindi é la stessa per tutti i puntatori? Se così fosse non si potrebbe leggere in memoria l'address firmato di un puntatore, trovare un'implementazione della sign function e crackare la chiave senza interferire con il programma?
Gran bel video, grazie per la spiegazione. Vedevo la questione riportata da amici Apple-hater ma come spieghi tu non è che se non hai una cpu M1 sei più sicuro, perché di base non hai la protezione aggiuntiva data dal meccanismo che su arm protegge (o almeno ci prova) i puntatori. Devo recuperare il paper del MIT perché la cosa mi incuriosisce e mi affascina pensare a questa gente che scopre queste falle ☺️👍🏻
Ottimo video. Alla fine, quasi tutti gli attacchi che conosco si basano in un modo o nell'altro sulla corruzione della memoria. Forse non sarebbe meglio mandare in pensione il c? Capisco che controllare la dimensione di un Array rallenta un po' l'esecuzione, ma siamo sicuri che tutti questi layer di protezione non rallentino il tutto ancora di più? Se non è chiaro, propongo un approccio alla java dove se scrivi in un Array fuori dai limiti vada in eccezione il programma
@@morrolinux eh lo so... Sono un programmatore Java di vecchia data, e ho tentato di imparare il c almeno tre volte nella vita ma proprio non ce la faccio... Non è che non lo capisco, ma vengo preso dai conati ogni volta... adesso sto imparando rust, ma rimango perplesso dalle dichiarazioni di Torvalds che non ritiene valga la pena di riscrivere il kernel. Secondo me, riscriverlo un po' alla volta potrebbe ripagare gli sforzi
Ottimo video, grazie mille per averlo condiviso. Domanda: come fa un programma a sapere in quanto tempo è stata eseguita una sua istruzione? So che esistono strumenti di profiling, ma mi sembra difficile che questi possano apprezzare misure così piccole. Non so esattamente come funzionino, ma visto che si parla di pochi cicli macchina allora il profiling potrebbe involontariamente invalidare la cache, oppure aggiungersi nel computo del tempo totale. Esistono system call o accorgimenti a basso livello per poter misurare o stimare quanti cicli macchina ogni istruzione impiega?
Esistono interfacce di profiling in hardware ma non sono direttamente accessibili da userspace per un attaccante non privilegiato, così si sono inventati uno stratagemma con due thread e una variabile condivisa che viene incrementata come "timer". Nel paper è spiegato un pelo meglio ma in sostanza a quanto pare funziona anche così
@@morrolinux pensavo anche io qualcosa del genere in realtà, anche se anche il multithreading ha un overhead non indifferente. Adesso mi chiedo se il sistema operativo non possa alterare questo computo, mi sembra la zona di intervento più sensata. Poi se consideriamo che sono necessari (massimo) 65536 tentativi allora si potrebbe rallentare/invalidare la cache una volta ogni mille per rovinare il gioco agli hacker. Magari il paper risponde anche a queste domande, lo leggerò sicuramente, grazie
Per fare il bruteforce ho bisogno di un codice ad-hoc per trovare la chiave, quindi due problemi: 1) devo eseguire questo codice nella macchina che voglio attaccare, quindi sfruttare altre vulnerabilità per farlo e 2) devo trovare il modo di eseguirlo contestuale al codice che voglio attaccare, altrimenti la chiave che trovo è diversa e quindi inutile. Quindi questa vulnerabilità mi sembra comunque poco sfruttabile, ma il fatto che ci sia ci ricorda quanto è difficile quello che stiamo tentando di fare: rendere sicura l'esecuzione 😁
Immagino che sia utilizzata per la privilege escalation, per arrivare a parti kernel o di altri programmi a cui non si ha accesso, lanciando codice da utente con limitazioni comunque si, è veramente un caso molto limite ma da studiare prima che diventi un problema o perlomeno per sistemarlo nelle prossime release hw.
Praticamente è solo un caso di studio. Il sistema pacman degli M1 è comunque un ulteriore layer di sicurezza, quindi più sicuro di altri sistemi ARM, x86 più vecchi. Poi in informatica si sa nessun sistema è sicuro al 100%.
🎓 Vuoi acquisire *solide conoscenze* nell'ambito del NETWORKING o diventare un PROFESSIONISTA LINUX CERTIFICATO?
Il modo migliore per cominciare è seguire un corso *ben strutturato* e *semplice da seguire* , ma soprattutto tenuto da un docente sempre disponibile per *rispondere alle tue domande.*
Tengo corsi per tutti i livelli, visita morrolinux.it per maggiori informazioni.
Ciao, il link dei corsi non va “page not found”
@@alexandrialibrary8152 Ciao, ti riferisci al link di questo commento? a me sembra funzionare correttamente, prova a inserire manualmente morrolinux punto it : morrolinux.it
Fammi sapere!
Grazie mille
@@morrolinux ciao Morro, quello che hai scritto tu funziona bene, grazie.
Ciao Morro, ho visto che hai alcuni corsi in sconto, qual è l'ordine giusto in cui farli? (ero anche interessato a quello di Arch ma sono disoccupato e mi pensa spendere 100) così so quale comprare per primo. grazie.
@@mikethelion Ciao! Ho appena aggiornato i coupon, ora dovresti vederli a un prezzo molto vantaggioso.
Quanto all'ordine: iniziare con il corso base che ho tenuto su Arch mi sembra un'ottima idea e te lo stra-consiglio. Poi dipende anche da quali sono i tuoi obiettivi: se ad esempio vuoi farti la certificazione linux nel più breve tempo possibile per candidarti alle posizioni di sysadmin, potresti iniziare direttamente dai corsi LPI. Su corsolinux.com ho preparato un diagramma apposta per decidere da dove cominciare :)
Non ci ho capito nulla ma mi piace il fatto che ci sia qualcuno in Italia che si prende la briga di spiegare una cosa del genere. Sempre il top !
Video fantastico. La tua capacità di spiegare in maniera semplice concetti complicati è inviadibile. Complimenti!
Concordo
Ah queste pipeline, fonte di gioia e dolori. Si fa di tutto per cercare di tenerle piene e si finisce sempre per cadere nelle stesse problematiche. Non sarà mica il caso di ripensarlo sto sistema dopo 60 anni? (Spieghi davvero bene, complimenti, si vede che ti sbatti enormemente per semplificare cose che sono talmente a basso livello che pure un laureato medio fatica a capire probabilmente). Sempre al top morro.
Più che le pipeline per le cpu con ISA "CISC" x86/x86-64 da Pentium Pro in poi, l'esecuzione speculativa e "fuori ordine"...
@@MarcoFranceschini1971 epic
Parli di Itanium ?
Ma è proprio vero, è bravissimo a spiegare, tanti complimenti Morry
Quantistica
Come programmatore di hardware e firmware di vecchia data sono felicissimo di vedere ragazzi come te che spiegano queste cose per molti oscure. Hai un nuovo iscritto.
Ciao Saverio, per caso hai qualche buon testo per programmazione hardware e firmware? Grazie ;)
e con me fanno due!
Ciao, sono interessato anch'io a quel mondo. L'anno prossimo dovrò scegliere l'università, nel caso decidessi di proseguire con l'informatica (mi interessano anche altre cose totalmente diverse, dovrò decidermi poi), per quel tipo di programmazione sarebbe meglio ingegneria informatica o informatica pura?
No, Ingegneria Elettronica. Io ai tempi ho sbagliato iscrivendomi ad Ing. Informatica, ora per la magistrale sto cercando di aggiustare il tiro iscrivendomi al corso di Ing Informatica magistrale - Elettronica Embedded. Ma appunto volendo lavorare sull'hardware il corso adatto è elettronica.
@@borderlineaa1568 Tre
Spiegazione magistrale, un pò meno il titolo click bait focalizzando il problema su Apple M1, quando invece è generale e riguarda TUTTI i costruttori, allo stesso modo.
Eh ma "apple bad" vende sempre. Attira quelli che la roba apple l'hanno vista, se va bene, in fotografia; purtroppo però poi vanno in giro a fingersi esperti ripetendo i meme altrui.
Il clickbait però ha funzionato anche per me: pensavo fosse un video comico su "col mac non si può giocare".
E' impressionante quanto tu sia capace di spiegare argomenti così complessi come se stessimo discutendo di un taglio di capelli. Complimenti vivissimi!
Come ad altri, qui nei commenti, hai messo anche a me nostalgia dei tempi dell'Università (per la verità lo fai quasi in ogni tuo video).
Si vede che sei un numero 1 e ti auguro di avere successo in questo campo, te lo meriti.
Questo è il genere di video che ti fa sognare rendendo un sabato che di suo è bellissimo, ancora più interessante e avvincente, stimolando letture e approfondimenti, sempre più soddisfatto di aver trovato questo canale.
Grazie per la condivisione\(^_^)
Primo video che vedo del canale consigliato molto randomicamente da YT.
Sono davvero soddisfatto di aver trovato il tuo canale morro. I migliori 14 minuti e 30 sec passati a capire un argomento di cui davvero sapevo pochissimo.
Ti continuerò sicuramente a seguire.
Video fenomenale, conosco per lavoro tanti espertoni di cybersecurity che non sarebbero in grado di spiegare questa vulnerabilità con la tua stessa chiarezza espositiva. Chapeau.
Bravo, e grazie!
Argomenti complessi spiegati in maniera semplice👍👏 Attenzione, il puntatore è "dereferenziato" non "deferenziato".
Sebbene ho già delle basi di Buffer Overflow & company, è assurdo il livello di chiarezza con cui hai affrontato la questione; l'hai resa davvero masticabile a tutti. Complimenti Morro!
Grande Morro, mi hai fatto ripescare dalla memoria gli esami di architettura degli elaboratori e sistemi operativi e il fascino che emanavano mentre gli studiavo. Il concetto di preemptive (prediction e simili) e i puntatori di memoria sono sempre stati i portali per ogni attaccante. Molto molto bella la spiegazione, e sto pensando di iscrivermia uno dei tuoi corsi per rispolverare meglio il mondo Linux, ci farò una ragionata. Keep watch pacman ! Ciao
Adesso non vedo l'ora di iniziare l'Università XD
Verooooo pure a me ha fatto ritornare in mente tutte le robe di ACSO e la progettazione di CPU 😂
@@diobrando7642 vai che dopo il primo mese ti passa ahahah
Alessandro ti consiglio vivamente di iscriverti ad un corso di Morro! Io l'ho fatto .. spiega benissimo e mi ha aperto la mente su un modo affascinante che per pigrizia non ho mai voluto esplorare.. oltre che aiutarmi moltissimo del campo lavorativo!
Con questo video ti sei veramente superato, incredibili quanto bene sei riuscito a spiegare bene i concetti!
Ho consegnato giusto 3 ore fa una tesina compilativa sulle vulnerabilità Meltdown e Spectre, tempismo perfetto per scoprire una ulteriore vulnerabilità che si basa su quelle stesse tecniche ;)
Sarebbe possibile leggerla da qualche parte?
Bello! Tesi per la magistrale?
Se si, che cosa di bello?
@@00killerix nono, esame di "Cloud Computing e Architetture Dei Calcolatori" alla triennale, la magistrale è ancora lontana per me ahahahah
Ma tu hai capito come mai il programma non crasha? Tecnicamente una volta che il programma prende il ramo falso (minuto 8:08) non dovrebbe crashare anche il programma?
@@samuele7630 No perchè non avviene la verifica dell'hash che fa attivare il trap handler, o la verifica la fa disabilitando però i flags di trap per motivi prestazionali.
È assurdo il modo in cui tu riesci a spiegare cos’è impossibili in poche parole ma semplici ,fantastico
Ho fatto CTF e la return oriented programmig già mi sembrava fantascienza, ma questo...
Kudos anyway, un video impeccabile. 🔝🔥
Hai spaccato, non mi sono staccato dallo schermo un secondo👏👏🔝
Ciao morro bellissimo video e spiegato ottimamente anche se salti parecchi pezzi anche abbastanza importanti, ma capisco per semplificare bisogna sacrificare qualcosina. Comunque si dice "dereferenziare" e non "deferenziare" perché stai "togliendo la referenza"
Questa roba mi fa impazzire... Complimenti per l'ottimo video come sempre!
Spiegazione fantastica! Ancor più fantastici quelli del MIT. Sto godendo...!
Questo video mi è apparso casualmente nel feed e ne sono rimasto stregato. Iscritto!
Per un ignorante come me in questo "settore" non è stato facile guardare tutto il video, qualcosa a intuito ho compreso, ma bravo veramente nella spiegazione, iscrizione e like meritati 👍
Ciao Morro, grazie per la spiegazione super fantastica, ti prego fai più video così
molto bravo a spiegare in modo così accessibile questi concetti!
Così complicato e spiegato in modo così comprensibile! Un mago come sempre! Ti manca solo il "bianco e nero" nel montaggio video durante una "battuta" e saresti completo 🤣
Complimenti per la chiarezza e la capacità di semplificare concetti difficili da comprendere.
Grazie per aver scelto un livello divulgativo che tutti possono seguire.
Continua così, ne abbiamo bisogno! (...perlomeno io)
Complimenti per la spiegazione tecnica, durante la visione del video pensavo proprio alla frase finale 😂 posso sapere con che software crei le grafiche? Grazie
Bellissimo video, finalmente qualcuno che spieghi un attacco in maniera comprensibile
Bellissimo video, continua a farne di questa tipologia!
2:43 mi hai ricordato i tempi in cui craccavo i programmi modificando i jump col mitico ollydbg 😁
C è una qualità in questo video, tra grafica e spiegazione elevatissima. Sei (o siete) veramente fortissimo/i
Bellissimo video. Complimenti per la chiarezza e la capacità di semplificare concetti altrimenti incomprensibili.
Ti ho appena scoperto.
Ma che talento hai nello spiegare!
Bravo.
Ciao! Premetto:
1. è solo il secondo tuo video che guardo, ed entrambi molto ben fatti (interessanti ma brevi e comprensivi), quindi complimenti
2. mi sembra strano essere qui a commentare perchè tipicamente non lo faccio, vengo su youtube per svagare o imparare
Ma in questo video parli di qualcosa che conosco, e sono sicuro anche che hai perfettamente idea di ciò che dici. Ma appunto per questo, per piacere, davvero, non si dice "deferenziare" ma "de-referenziare". Scusa la precisione ma questo fa veramente male alle orecchie. Per il resto grande, continua così ;) Peace!
Di tutti i video che ho visto sull’argomento è quello spiegato meglio, complimenti davvero, non ti conoscevo ma ti sei guadagnato la mia iscrizione e i like per tutti i video futuri. :)
Adoro i tuoi video, informativi, chiari, con fonti... Ti ammiro un sacco e stimo, tieni alto il mio interesse nella materia dando spunti di video in video. Non vedo l'ora di divenire maggiorenne e poter investire in un tuo corso, che se sono strutturati allo stesso modo daranno soddisfazioni
Al mio violino si sono raggrinzite le corde...
devi essere un genio per spiegare cosi bene.
Questi sono i video che adoro! Grazie
Grande Morro, già la tua eloquenza è di gran lunga superiore a molti "espertoni" del settore, con queste animazioni è tutto ancora più chiaro, riesci sempre a fare un video migliore del precedente... Mi inquieta però sapere che anche la tanto acclamata sicurezza del nostro amato pinguino possa crollare come un castello di sabbia di fronte queste falle hardware... Perchè anche Linux è coinvolto vero? O non è così? Ti prego dicci che non è così!! Un abbraccio! ;)
Ciao Marcello!
In realtà Linux nemmeno implementa la pointer authentication di ARM, quindi questa ulteriore barriera che è stata compromessa non l'abbiamo mai avuta in primo luogo :D
Primo video che guardo su questo canale. È fantastico!
Iscritto e non vedo l'ora di divorare tutto gli altri
La sicurezza informatica ha smesso di appassionarmi, nei metodi, molto tempo fa. Per un attimo del video: ho pensato si fosse riaccesa la fiamma, ma no!
Grazie lo stesso del filmato, ora potrò versare meritati secchi di "fango" sugli Apple che qui qualcuno consigliava (mal comune mezzo gaudio) ma lo potevo fare già prima.
Forse è un bene: vuol dire che perlomeno le grandi falle, tipo hacking telefonico col fischietto, sono coperte by default e solo i casi limite rimangono scoperti.
Quello che ho visto però è che generalmente si guarda solo alla visione di macroinsieme e si fa affidamento a una tecnologia a occhi chiusi piuttosto che analizzare i sui casi d'uso; ti faccio un esempio:
Docker e i Cloud services stile Kubernetes consentono di creare sistemi molto complessi, automatizzati e potenzialmente molto più sicuri;
detto ciò ho sentito la maggior parte della gente usarli come se fossero il "sacro graal della sicurezza", come se una volta in Docker nessun attacco fosse possibile o se Kubernetes o Cloud non fosse comunque una rete di VM potenzialmente attaccabili.
Stessa cosa con quasiasi altra tecnologia come VPN, firewall, etc. trattata come "patch magica di sicurezza".
La sicurezza oramai non è più tanto dovuta ai problemi dello "strumento" ma generalmente nell'uso improprio che se ne è fatto.
Semi OT.
Usi per montare i tuoi video Davinci, te l'ho sentito dire più di una volta.
Prima o poi ti andrebbe di far vedere qual è il tuo flusso di lavoro?
Come tagli, cuci, fai il voice over o gli schemi?
Spiegato molto bene e in maniera semplice, complimenti!
Explain to me what a buffer overflow is without saying "buffer overflow".
Ciao complimenti per l’esposizione chiarissima. Bravo!
Esaustivo e ben spiegato, non è facile semplificare.
Morro farai un video su RISC-V?
Probabilmente è l’unica strada che può davvero scalzare gli x86
Spero anche io che ne faccia uno! Intanto sul sito ufficiale di RISCV pubblicano varie notizie e alcuni approfondimenti interessanti
Per ora neanche scalza ARM.
Complimenti. Ottimo modo di spiegare le cose
piccolo consiglio del tutto *personale* (sottolineo personale, niente hater perfavore):
Hai la voce da fatalista :D potresti essere piu allegro perfavore? mi piace molto cosa e come lo dici. E' la voce che non mi permette di concentrarmi a lungo. In bocca al lupo! Complimenti
Complimenti. Video interessante. E problematiche tecniche spiegate veramente bene
Una cosa carina sarebbe introdurre una funzione che in quel momento elimina un record dal TLB. Ad esempio ho 5 spazi, e in quel momento il sistema consente l’accesso solo a 4. Finita l’esecuzione ne ripristina 5
il video è interessante ma per serietà del canale io lo avrei intitolato: Come funziona Pacman: la grave falla di tutti i processori Arm versione XYZ. poi avrei meglio specificato che questa sicurezza sui puntatori che hanno i processori Arm li pone un gradino sopra agli altri che architettura x64 compresa (non sono un esperto e potrei sbagliarmi) che questa sicurezza intrinseca non se la sognano neppure. Certo che dire che il chip M1 ha una falla fa fare molte più visualizzazioni. Caro morrolinux visto che il tuo canale mi pare serio come pure i tuoi corsi, per distinguerti dagli asini che pullulano su youtube, ti consiglio di mettere titoli meno fuorvianti…..
Grazie Morro! SUPER interessante e ben spiegato, ottimo lavoro, hai un nuovo iscritto! 💪
bel video, sarebbero belli altri simili 😁
Grazie, spiegazione chiarissima, hai un nuovo iscritto!
Grazie per la tua splendida spiegazione
Tutto chiarissimo, quello che non mi è chiaro però è come fa un attaccante ad innescare questa vulnerabilità? Creando una pagina web che l’utente banalmente va a visitare oppure deve creare un programma che l’utente incautamente va ad eseguire?
morrolinux non cambiare mai! Attualmente la qualità dei tuoi contenuti fa PAURA!
Altro che PacMan sei te la falla per gli altri utubers che si definiscono del "mestiere".
Facciamo pietra d'inciampo, vah.
Bel video per completezza dovevi mettere anche arm nel titolo, perché chi non ha apple magari pensa che non sia interessante per lui.
Domanda stupida e premetto che non mi sono informato ulteriormente a riguardo. Hai detto che quando ci sono delle condizioni, la branch prediction unit esegue entrambe le direzioni, ma a quel punto se facendo il calcolo ci si accorge che un indirizzo è “fallato” perché non terminare comunque l’esecuzione del programma lanciando un eccezione, anche se è nel branch che non verrà eseguito? Secondo me se il tipo di eccezione riguarda un puntatore corrotto dovrebbe sempre crashare il programma.
Spero di essermi spiegato 😂
Detta da te così sembra più un problema di controllo e verifica e non un problema hardware come si vocifera, mi chiedo se davvero vogliono la sicurezza, perché non mettono alla prova i nuovi componenti hardware facendoli testare “prima della loro uscita sul mercato da persone competenti”?
Come si fa per le falle per i siti web, mettendo in palio soldi veri.. sono più che sicuro che usciranno buchi mai visti prima!
Grandissimo, bel video ed ottima spiegazione!
Spieghi benissimo. Complimenti!
Alla fine del discorso il problema risiede sull'architettura hardware dei processori che ha dei difetti strutturali che non possono essere cambiati facilmente. Si dovrebbe rifare tutto da zero, ma il costo è così alto che non interessa a nessuno. Se un sistema ha delle falle di basso livello per il sistema è meglio, perché le falle servono per tanti motivi, sia a livello di controllo che di denaro. Ricordo che l'economia del cyber crime è molto grande, è una buona fetta del suo indotto si basa sul controllo di altri sistemi attaccabili. Comunque grande Morro👍
Hai mischiati un po' troppi concetti direi.
@@andreaciccarello Per me sono interconnessi.
Caro Morro, ho sentito e letto deferenziato... È deREferenziato!😂 Video molto interessante, comunque, perfettamente comprensibile dopo due anni di Poli
Yo hablo español y me salió tu video en mis recomendaciones. Buen trabajo. 👍
A proposito di sicurezza, ho installato la prima volta Ubuntu studio ultima versione originale da zero unico problema è la sicurezza dell'utente. Cosa intendo, nell'installazione iniziale chiede la password obbligatoria ok e fin qua tutto a posto, ma una volta che entro nell'utente mi entra anche se non la metto. Non capisco il motivo stessa cosa vale anche quando installo le app oppure faccio gli aggiornamenti di sistema appare la schermata inserisci password e guarda a caso lo accetta anche senza inserirla. È un po' strana sta cosa. 😔😤
Quando la falla diventa una faglia ...
Ma banalmente non si potrebbe discriminare le attività in speculativa e non? Quelle "sensibili" saranno più lente ma sicure?
Ma la chiave quindi é la stessa per tutti i puntatori? Se così fosse non si potrebbe leggere in memoria l'address firmato di un puntatore, trovare un'implementazione della sign function e crackare la chiave senza interferire con il programma?
Probabilmente è diversa per ogni puntatore
Bel video però ti prego usa i congiuntivi
Grazie. Chiarissimo come sempre.
Ci sono aggiornamenti circa l'M3? Anche lui è vulnerabile?
Straordinario! Grazie Moreno, grazie davvero!
Oppure al posto di usare scanf per prendere il nome utente in input si poteva usare un fgets e regolare la lunghezza della stringa
Eccellente, ben spiegato, ben fatto, grazie per il tuo lavoro.
perche' questa vulnerabilita' funziona solo su arm? gli x86 eseguono pure loro gli if in parallelo giusto?
Perchè su ARM da una certa versione in poi esiste la pointer autentication
Gran bel video, grazie per la spiegazione. Vedevo la questione riportata da amici Apple-hater ma come spieghi tu non è che se non hai una cpu M1 sei più sicuro, perché di base non hai la protezione aggiuntiva data dal meccanismo che su arm protegge (o almeno ci prova) i puntatori. Devo recuperare il paper del MIT perché la cosa mi incuriosisce e mi affascina pensare a questa gente che scopre queste falle ☺️👍🏻
Sì, è una falla davvero interessante e nel paper (che trovi in descrizione) ci sono anche diverse altre chicche :)
@@morrolinux wow, ci daró un’occhiata grazie!
se inizi a fare i video in inglese arrivi ai milioni, sicuro.
E con questo ti meriti l'iscrizione...
Da informatico, questo video è stato interessantissimo
Mi hai fatto scampanellare Avast!
Starei ad ascoltati x ore senza annoiarmi mai...
il concetto iniziale è simile al bufferoverflow?
Ma se mando la pipeline in stallo dopo un branch finché non viene verificato il problema non sarebbe risolto?
Spegazione esemplare ! Grande
Grazie! Bellissima spiegazione!
Ti suggersico un tutorial sui permessi delle cartelle linux ? vorrei farlo io ma ... non ne so il 100% ...
Un modo per arginare il problema (ovviamente, dovrebbe farlo Arm non Apple nè noi) sarebbe utilizzare un PAC da 32 o 64-bit, anzichè 16-bit
@morrolinux Ma per alcune animazioni stai usando manim? Come ti trovi?
Ottimo video. Alla fine, quasi tutti gli attacchi che conosco si basano in un modo o nell'altro sulla corruzione della memoria. Forse non sarebbe meglio mandare in pensione il c? Capisco che controllare la dimensione di un Array rallenta un po' l'esecuzione, ma siamo sicuri che tutti questi layer di protezione non rallentino il tutto ancora di più?
Se non è chiaro, propongo un approccio alla java dove se scrivi in un Array fuori dai limiti vada in eccezione il programma
Rust é la risposta
@@morrolinux eh lo so... Sono un programmatore Java di vecchia data, e ho tentato di imparare il c almeno tre volte nella vita ma proprio non ce la faccio... Non è che non lo capisco, ma vengo preso dai conati ogni volta... adesso sto imparando rust, ma rimango perplesso dalle dichiarazioni di Torvalds che non ritiene valga la pena di riscrivere il kernel. Secondo me, riscriverlo un po' alla volta potrebbe ripagare gli sforzi
@@AlessandroCarraro recentemente avevo letto che Torvalds si fosse convinto.. Sbaglio?
@@morrolinux può essere che sono rimasto indietro io... Grazie dell'informazione!
Ottimo video, grazie mille per averlo condiviso.
Domanda: come fa un programma a sapere in quanto tempo è stata eseguita una sua istruzione? So che esistono strumenti di profiling, ma mi sembra difficile che questi possano apprezzare misure così piccole. Non so esattamente come funzionino, ma visto che si parla di pochi cicli macchina allora il profiling potrebbe involontariamente invalidare la cache, oppure aggiungersi nel computo del tempo totale. Esistono system call o accorgimenti a basso livello per poter misurare o stimare quanti cicli macchina ogni istruzione impiega?
Esistono interfacce di profiling in hardware ma non sono direttamente accessibili da userspace per un attaccante non privilegiato, così si sono inventati uno stratagemma con due thread e una variabile condivisa che viene incrementata come "timer". Nel paper è spiegato un pelo meglio ma in sostanza a quanto pare funziona anche così
@@morrolinux pensavo anche io qualcosa del genere in realtà, anche se anche il multithreading ha un overhead non indifferente. Adesso mi chiedo se il sistema operativo non possa alterare questo computo, mi sembra la zona di intervento più sensata. Poi se consideriamo che sono necessari (massimo) 65536 tentativi allora si potrebbe rallentare/invalidare la cache una volta ogni mille per rovinare il gioco agli hacker. Magari il paper risponde anche a queste domande, lo leggerò sicuramente, grazie
Non ho capito bene come fa a non crashare il programma se si immette la chiave sbagliata …
Non ci ho capito una minc*ia, ma è stato esaltante lo stesso! :-D
Per fare il bruteforce ho bisogno di un codice ad-hoc per trovare la chiave, quindi due problemi: 1) devo eseguire questo codice nella macchina che voglio attaccare, quindi sfruttare altre vulnerabilità per farlo e 2) devo trovare il modo di eseguirlo contestuale al codice che voglio attaccare, altrimenti la chiave che trovo è diversa e quindi inutile. Quindi questa vulnerabilità mi sembra comunque poco sfruttabile, ma il fatto che ci sia ci ricorda quanto è difficile quello che stiamo tentando di fare: rendere sicura l'esecuzione 😁
Immagino che sia utilizzata per la privilege escalation, per arrivare a parti kernel o di altri programmi a cui non si ha accesso, lanciando codice da utente con limitazioni comunque si, è veramente un caso molto limite ma da studiare prima che diventi un problema o perlomeno per sistemarlo nelle prossime release hw.
Bravo bravo bravo ti prego. Fai il dottorato e.vai a insegnare sicurezza all'università!
Praticamente è solo un caso di studio. Il sistema pacman degli M1 è comunque un ulteriore layer di sicurezza, quindi più sicuro di altri sistemi ARM, x86 più vecchi. Poi in informatica si sa nessun sistema è sicuro al 100%.
allucinante, ogni giorno ne esce una nuova ... abbastanza degrado; grazie per aver gettato luce esplicativa su questa "nuova falla"
E se si facesse in modo di bloccare un nome utente piú lungo di 8 caratteri?