Translated ['src/todo/hardware-hacking/side_channel_analysis.md'] to it

This commit is contained in:
Translator 2025-07-23 12:28:27 +00:00
parent d7ff709beb
commit 055309986e

View File

@ -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 MHz3 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}}