Attacchi di Analisi dei Canali Laterali
Reading time: 5 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Gli attacchi ai canali laterali recuperano segreti osservando la "perdita" fisica o micro-architetturale che è correlata con lo stato interno ma non fa parte dell'interfaccia logica del dispositivo. Gli esempi variano dalla misurazione della corrente istantanea assorbita da una smart card all'abuso degli effetti di gestione della potenza della CPU su una rete.
Principali Canali di Perdita
Canale | Obiettivo Tipico | Strumentazione |
---|---|---|
Consumo di potenza | Smart card, MCU IoT, FPGA | Oscilloscopio + resistore shunt/probe HS (es. CW503) |
Campo elettromagnetico (EM) | CPU, RFID, acceleratori AES | Sonda H-field + LNA, ChipWhisperer/RTL-SDR |
Tempo di esecuzione / cache | CPU desktop e cloud | Timer ad alta precisione (rdtsc/rdtscp), tempo di volo remoto |
Acustico / meccanico | Tastiere, stampanti 3D, relè | Microfono MEMS, vibrometro laser |
Ottico e termico | LED, stampanti laser, DRAM | Fotodiodo / telecamera ad alta velocità, telecamera IR |
Indotto da guasti | ASIC/MCU crittografici | Glitch di clock/voltaggio, EMFI, iniezione laser |
Analisi della Potenza
Analisi della Potenza Semplice (SPA)
Osserva un singolo tracciato e associa direttamente picchi/valle a operazioni (es. S-box DES).
# ChipWhisperer-husky example – capture one AES trace
from chipwhisperer.capture.api.programmers import STMLink
from chipwhisperer.capture import CWSession
cw = CWSession(project='aes')
trig = cw.scope.trig
cw.connect(cw.capture.scopes[0])
cw.capture.init()
trace = cw.capture.capture_trace()
print(trace.wave) # numpy array of power samples
Analisi del Potere Differenziale/Corrrelazione (DPA/CPA)
Acquisire N > 1 000 tracce, ipotizzare il byte della chiave k
, calcolare il modello HW/HD e correlare con il leak.
import numpy as np
corr = np.corrcoef(leakage_model(k), traces[:,sample])
CPA rimane all'avanguardia, ma le varianti di machine learning (MLA, deep-learning SCA) ora dominano competizioni come ASCAD-v2 (2023).
Analisi Elettromagnetica (EMA)
Le sonde EM a campo vicino (500 MHz–3 GHz) rilasciano informazioni identiche all'analisi della potenza senza inserire shunt. La ricerca del 2024 ha dimostrato il recupero della chiave a >10 cm da un STM32 utilizzando la correlazione spettrale e front-end RTL-SDR a basso costo.
Attacchi di Timing e Micro-architetturali
Le CPU moderne rilasciano segreti attraverso risorse condivise:
- Hertzbleed (2022) – la scalabilità della frequenza DVFS si correla con il peso di Hamming, consentendo l'estrazione remota delle chiavi EdDSA.
- Downfall / Gather Data Sampling (Intel, 2023) – esecuzione transitoria per leggere i dati AVX-gather attraverso i thread SMT.
- Zenbleed (AMD, 2023) & Inception (AMD, 2023) – la previsione errata speculativa dei vettori rilascia registri cross-domain.
Attacchi Acustici e Ottici
- Il 2024 "iLeakKeys" ha mostrato il 95 % di accuratezza nel recupero dei tasti della tastiera di un laptop da un microfono di smartphone su Zoom utilizzando un classificatore CNN.
- I fotodiodi ad alta velocità catturano l'attività LED DDR4 e ricostruiscono le chiavi di round AES in meno di 1 minuto (BlackHat 2023).
Iniezione di Guasti e Analisi dei Guasti Differenziali (DFA)
Combinare guasti con perdite di canale laterale accelera la ricerca della chiave (ad es. 1-trace AES DFA). Strumenti recenti a prezzi da hobbista:
- ChipSHOUTER & PicoEMP – glitching di impulsi elettromagnetici sub-1 ns.
- GlitchKit-R5 (2025) – piattaforma di glitching di clock/voltaggio open-source che supporta SoC RISC-V.
Flusso di Lavoro Tipico dell'Attacco
- Identificare il canale di perdita e il punto di montaggio (pin VCC, condensatore di disaccoppiamento, punto a campo vicino).
- Inserire il trigger (GPIO o basato su pattern).
- Raccogliere >1 k tracce con campionamento/filtri appropriati.
- Pre-processare (allineamento, rimozione della media, filtro LP/HP, wavelet, PCA).
- Recupero della chiave statistico o ML (CPA, MIA, DL-SCA).
- Validare e iterare sugli outlier.
Difese e Indurimento
- Implementazioni a tempo costante e algoritmi a memoria dura.
- Mascheramento/shuffling – suddividere i segreti in condivisioni casuali; resistenza di primo ordine certificata da TVLA.
- Nascondere – regolatori di tensione on-chip, clock randomizzati, logica dual-rail, scudi EM.
- Rilevamento dei guasti – computazione ridondante, firme di soglia.
- Operativo – disabilitare DVFS/turbo nei kernel crittografici, isolare SMT, vietare la co-locazione nei cloud multi-tenant.
Strumenti e Framework
- ChipWhisperer-Husky (2024) – oscilloscopio 500 MS/s + trigger Cortex-M; API Python come sopra.
- Riscure Inspector & FI – commerciale, supporta la valutazione automatizzata delle perdite (TVLA-2.0).
- scaaml – libreria SCA di deep-learning basata su TensorFlow (v1.2 – 2025).
- pyecsca – framework SCA ECC open-source di ANSSI.
Riferimenti
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.