mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/todo/hardware-hacking/side_channel_analysis.md'] to it
This commit is contained in:
parent
d7ff709beb
commit
055309986e
@ -2,10 +2,109 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
Gli attacchi di Analisi dei Canali Laterali si riferiscono alla determinazione delle informazioni da un dispositivo o entità attraverso un altro canale o fonte che ha un'influenza indiretta su di esso e da cui è possibile estrarre informazioni. Questo può essere spiegato meglio con un esempio:
|
||||
Gli attacchi di canale laterale recuperano segreti osservando la "leak" 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.
|
||||
|
||||
Analizzare le vibrazioni in lastre di vetro vicine alla sorgente sonora, ma la sorgente sonora non è accessibile. Le vibrazioni nel vetro sono influenzate dalla sorgente sonora e, se monitorate e analizzate, il suono può essere decodificato e interpretato.
|
||||
---
|
||||
|
||||
## Principali Canali di Leak
|
||||
|
||||
| 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 | Probe 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 3-D, 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).
|
||||
```python
|
||||
# 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 Differenziale/Corrrelazione del Potere (DPA/CPA)
|
||||
Acquisire *N > 1 000* tracce, ipotizzare il byte della chiave `k`, calcolare il modello HW/HD e correlare con la leak.
|
||||
```python
|
||||
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.
|
||||
|
||||
Per un trattamento ampio delle questioni di classe Spectre vedere {{#ref}}
|
||||
../../cpu-microarchitecture/microarchitectural-attacks.md
|
||||
{{#endref}}
|
||||
|
||||
---
|
||||
|
||||
## Attacchi Acustici e Ottici
|
||||
* Il 2024 "iLeakKeys" ha mostrato il 95 % di accuratezza nel recupero dei tasti digitati su 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 Errori e Analisi Differenziale degli Errori (DFA)
|
||||
Combinare errori con perdite di canale laterale accelera la ricerca della chiave (ad es. DFA AES a 1 traccia). 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
|
||||
1. Identificare il canale di perdita e il punto di montaggio (pin VCC, condensatore di disaccoppiamento, punto a campo vicino).
|
||||
2. Inserire il trigger (GPIO o basato su pattern).
|
||||
3. Raccogliere >1 k tracce con campionamento/filtri appropriati.
|
||||
4. Pre-processare (allineamento, rimozione della media, filtro LP/HP, wavelet, PCA).
|
||||
5. Recupero della chiave statistico o ML (CPA, MIA, DL-SCA).
|
||||
6. 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 di errori** – 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
|
||||
|
||||
* [ChipWhisperer Documentation](https://chipwhisperer.readthedocs.io/en/latest/)
|
||||
* [Hertzbleed Attack Paper](https://www.hertzbleed.com/)
|
||||
|
||||
Questi attacchi sono molto popolari nel caso di fuga di dati come chiavi private o per trovare operazioni nei processori. Un circuito elettronico ha molti canali da cui le informazioni vengono costantemente diffuse. Monitorare e analizzare può essere utile per rivelare molte informazioni sul circuito e sui suoi interni.
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user