Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

PACMAN Attack: le CPU Apple M1 ora sono a rischio

Redazione RHC : 11 Giugno 2022 13:42

I ricercatori di sicurezza del Massachusetts Institute of Technology hanno scoperto una vulnerabilità nel chip Silicon M1 di Apple che gli consente di aggirare il più alto livello di sicurezza, il Pointer Authentication Code (PAC).

Il cosiddetto attacco PACMAN al chip M1 ha consentito agli ingegneri il pieno accesso al computer.

L’autenticazione del puntatore è una funzionalità di sicurezza che aiuta a proteggere la CPU da un utente malintenzionato che ha avuto accesso alla memoria. I puntatori memorizzano gli indirizzi di memoria e il codice di autenticazione del puntatore (PAC) verifica la presenza di modifiche impreviste del puntatore causate da un attacco.

Cos’è PACMAN Attack

Vorresti toccare con mano la Cybersecurity e la tecnologia? Iscriviti GRATIS ai WorkShop Hands-On della RHC Conference 2025 (Giovedì 8 maggio 2025)

Se sei un ragazzo delle scuole medie, superiori o frequenti l'università, oppure banalmente un curioso di qualsiasi età, il giorno giovedì 8 maggio 2025 presso il teatro Italia di Roma (a due passi dalla stazione termini e dalla metro B di Piazza Bologna), si terranno i workshop "hands-on", creati per far avvicinare i ragazzi alla sicurezza informatica e alla tecnologia. Questo anno i workshop saranno:

  • Creare Un Sistema Ai Di Visual Object Tracking (Hands on)
  • Social Engineering 2.0: Alla Scoperta Delle Minacce DeepFake
  • Doxing Con Langflow: Stiamo Costruendo La Fine Della Privacy?
  • Come Hackerare Un Sito WordPress (Hands on)
  • Il Cyberbullismo Tra Virtuale E Reale
  • Come Entrare Nel Dark Web In Sicurezza (Hands on)

  • Potete iscrivervi gratuitamente all'evento, che è stato creato per poter ispirare i ragazzi verso la sicurezza informatica e la tecnologia.
    Per ulteriori informazioni, scrivi a [email protected] oppure su Whatsapp al 379 163 8765


    Supporta RHC attraverso:


    Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.

    PACMAN è un nuovo attacco hardware in grado di bypassare l’autenticazione del puntatore (PAC) sulla CPU Apple M1

    Il gruppo di ricerca ha puntato l’attenzione su:

    • Un nuovo modo di pensare alla combinazione di modelli di minacce;
    • Sul reverse engineering della gerarchia della memoria M1;
    • Sugli attacchi hardware per falsificare i PAC del kernel dallo spazio utente su M1 .

    PACMAN è ciò che ottieni combinando una mitigazione hardware per gli attacchi software con canali laterali di microarchitettura. Di seguito uno schema riportato dal gruppo di ricerca.

    PACMAN si trova nell’intersezione di attacchi software e hardware.

    Leggi il documento qui

    Quali CPU sono interessate?

    I ricercatori hanno mostrato che PACMAN può funzionare sulla CPU Apple M1.

    L’attacco è sul kernel, che è la parte più critica di un sistema operativo. Compromettere il kernel significa che un utente malintenzionato può fare qualsiasi cosa (es. leggere qualsiasi file, vedere i dati del browser, ecc.).

    Chi ha scoperto PACMAN?

    PACMAN è stato scoperto dai ricercatori del MIT CSAIL. gli autori sono:

    Questo attacco richiede l’accesso fisico?

    No! In realtà i ricercatori hanno predisposto gli hack attraverso la rete. PACMAN funziona bene da remoto se hai l’esecuzione di codice senza privilegi.

    Dovrei essere preoccupato?

    Finché mantieni aggiornato il tuo software, no.  PACMAN è una tecnica di sfruttamento: di per sé non può compromettere il tuo sistema. 

    Posso sapere se qualcuno sta usando PACMAN contro di me?

    Proprio come l’attacco Spectre, su cui si basa il lavoro dei ricercatori, PACMAN viene eseguito interamente in regime speculativo e non lascia registri. Quindi la risposta è “probabilmente no “.

    Come inizia l’attacco

    L’attacco inizia caricando una kernel extension personalizzata (kext). Questo kext fa due cose:

    1. aggiunge un bug software artificiale al kernel da attaccare
    2. aggiunge un gadget PACMAN. 

    Nessuna di queste cose richiede un kext: un utente malintenzionato può trovarle entrambe nel kernel. Un utente malintenzionato con un bug del software non ha bisogno di un kext.

    Perché hai bisogno di un bug del software per eseguire l’attacco PACMAN?

    PACMAN prende un bug del software esistente (lettura/scrittura della memoria) e lo trasforma in una primitiva più potente (bypass dell’autenticazione del puntatore). Per la demo, i ricercatori hanno aggiunto un bug al kernel usando un kext.

    In un attacco, basta trovare un bug del kernel esistente.

    La demo usa il kext solo per aggiungere un bug del software. L’intero attacco viene eseguito nello spazio utente. Quindi, un utente malintenzionato con un bug già esistente potrebbe eseguire lo stesso attacco senza la kext.

    PACMAN viene utilizzato?

    Per il momento, a detta dei ricercatori ancora no.

    Apple conosce il bug?

    I ricercatori hanno segnalato i risultati e il codice proof-of-concept ad Apple e sono in contatto con loro dal 2021.

    Come funziona PACMAN?

    PACMAN prende un bug del software esistente (lettura/scrittura della memoria) e lo trasforma in una primitiva di sfruttamento più seria (un bypass dell’autenticazione del puntatore), che può portare all’esecuzione di codice arbitrario.

    Per fare ciò, dobbiamo imparare qual è il valore PAC per un particolare puntatore della nostra vittima.

    PACMAN lo fa creando quello che chiamiamo PAC Oracle, che è la capacità di dire se un dato PAC corrisponde a un puntatore specificato. Il PAC Oracle non deve mai arrestarsi in modo anomalo se viene fornita un’ipotesi errata. Quindi viene eseguito un attacco di forza bruta su tutti i possibili valori PAC utilizzando PAC Oracle.

    Un attacco sia hardware che software.

    Vengono quindi soppressi gli arresti anomali eseguendo ogni ipotesi PAC in modo speculativo per prevenire eventuali arresti anomali. Viene utilizzato quindi un canale laterale per sapere se il PAC ipotizzato è corretto.

    Un gadget PACMAN è una sequenza di codice nel processo della vittima che si autentica e cerca di utilizzare un puntatore in modo speculativo. 

    Si utilizza quindi un bug di danneggiamento della memoria esistente e un gadget PACMAN per costruire PAC Oracle. Il bug di danneggiamento della memoria esistente viene utilizzato per fornire delle ipotesi al gadget PACMAN (sovrascrivendo i puntatori che vengono utilizzati solo in modo speculativo). Il gadget PACMAN esegue il test case in modo speculativo. Panoramica

    Panoramica dell’oracolo PACMAN PAC.

    Gadget PACMAN

    In linea di principio, un gadget PACMAN è una sequenza di codice che utilizza un puntatore con segno in modo speculativo. Ecco come appare un gadget:

    if (cond):
        verified_ptr 

    Un gadget PACMAN.

    L’attaccante controlla la variabile cond attivando il gadget PACMAN della vittima (ad es. impostando un argomento syscall). L’attaccante controlla il valore di guess_ptr con il bug di danneggiamento della memoria.

    Il canale laterale

    L’attacco può utilizzare qualsiasi microarchitettura come un canale laterale. Si è utilizzato quindi il buffer lookaside (TLB).

    Si riempie il TLB con un set di eliminazione (un set minimo di indirizzi richiesto per riempire un set particolare nel TLB), quindi si eseguono i test case.

    Osserviamo il TLB per vedere se qualcuno degli indirizzi di set viene eluso. Se uno è stato eluso, è probabile che il caricamento sia riuscito (poiché l’indirizzo caricato ha espulso il nostro indirizzo dal TLB). Altrimenti, è probabile che l’ipotesi fosse sbagliata.

    Precisione

    Ecco un confronto tra il numero di set mancati che osserviamo utilizzando il PAC corretto e il PAC errato.

    PrecisionePrecisione dell’attacco PACMAN.(a) Puntatori di dati, (b) Puntatori di istruzioni.

    L’asse X è il numero di errori (quindi, il numero di elementi dei set che sono stati eliminati durante il test) e l’asse Y è il numero di casi di test in cui è stato osservato quel numero di errori.

    Redazione
    La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.

    Articoli in evidenza

    Kidflix è crollato! La piattaforma dell’orrore è stata smantellata: 79 arresti e 39 bambini salvati

    Oggi i bambini sono un po’ più al sicuro grazie ad una operazione di polizia coordinata da Europol che ha portato alla chiusura di Kidflix. Si tratta di una delle più grandi piattafor...

    Arriva Flipper One! : Kali Linux, FPGA e SDR in un solo dispositivo?

    Uno degli autori di Flipper Zero, Pavel Zhovner, ha condiviso i dettagli su come stanno procedendo i lavori su una nuova versione del multi-strumento per hacker: Flipper One. Lo sviluppatore ha pubbli...

    DarkLab intervista HellCat Ransomware! La chiave è “assicurarsi che tutti comprendano la cybersecurity”

    Il ransomware HellCat è apparso nella seconda metà del 2024 e ha attirato l’attenzione degli analisti grazie all’umorismo delle sue dichiarazioni pubbliche. Ricordiamo l’...

    X/Twitter nel Caos! Un Threat Actors pubblica 2.8 Miliardi di Account Compromessi

    Il 28 marzo 2025, un utente del noto forum di cybersecurity BreachForums, con lo pseudonimo ThinkingOne, ha rivelato quello che potrebbe essere il più grande data breach mai registrato nel mondo ...

    Signal è abbastanza sicuro per la CIA e per il CISA. Lo è anche per te?

    Quando Jeffrey Goldberg dell’Atlantic ha fatto trapelare accidentalmente un messaggio di gruppo privato di alti funzionari statunitensi su un possibile attacco contro gli Houthi nello Yemen, ha...