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 pl
This commit is contained in:
parent
06d75bfacb
commit
a7ef1d73cf
@ -2,10 +2,109 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
Ataki Analizy Kanałów Bocznych odnoszą się do określenia informacji z urządzenia lub podmiotu za pomocą innego kanału lub źródła, które ma pośredni wpływ na nie, a informacje mogą być z niego wydobywane. Można to lepiej wyjaśnić na przykładzie:
|
||||
Ataki kanałów bocznych odzyskują sekrety poprzez obserwację fizycznego lub mikro-architektonicznego "wycieku", który jest *skorelowany* z wewnętrznym stanem, ale *nie* jest częścią logicznego interfejsu urządzenia. Przykłady obejmują pomiar chwilowego prądu pobieranego przez kartę inteligentną do nadużywania efektów zarządzania mocą CPU przez sieć.
|
||||
|
||||
Analiza wibracji w szklanych arkuszach znajdujących się w pobliżu źródła dźwięku, ale źródło dźwięku jest niedostępne. Wibracje w szkle są wpływane przez źródło dźwięku, a jeśli są monitorowane i analizowane, dźwięk może być dekodowany i interpretowany.
|
||||
---
|
||||
|
||||
## Główne Kanały Wycieku
|
||||
|
||||
| Kanał | Typowy Cel | Instrumentacja |
|
||||
|-------|------------|-----------------|
|
||||
| Zużycie energii | Karty inteligentne, MCU IoT, FPGA | Oscyloskop + rezystor szeregowy/probe HS (np. CW503) |
|
||||
| Pole elektromagnetyczne (EM) | CPU, RFID, akceleratory AES | Proba H-field + LNA, ChipWhisperer/RTL-SDR |
|
||||
| Czas wykonania / pamięci podręczne | CPU desktopowe i chmurowe | Wysokoprecyzyjne timery (rdtsc/rdtscp), zdalny czas przelotu |
|
||||
| Akustyczny / mechaniczny | Klawiatury, drukarki 3D, przekaźniki | Mikrofon MEMS, wibrometr laserowy |
|
||||
| Optyczny i termiczny | LED-y, drukarki laserowe, DRAM | Fotodioda / kamera wysokiej prędkości, kamera IR |
|
||||
| Wywołany błędem | Kryptografia ASIC/MCU | Glitch zegara/napięcia, EMFI, wstrzyknięcie laserowe |
|
||||
|
||||
---
|
||||
|
||||
## Analiza Mocy
|
||||
|
||||
### Prosta Analiza Mocy (SPA)
|
||||
Obserwuj *pojedynczy* ślad i bezpośrednio kojarz szczyty/doliny z operacjami (np. S-boxy 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
|
||||
```
|
||||
### Analiza Mocy Różnicowej/Korelacyjnej (DPA/CPA)
|
||||
Zdobądź *N > 1 000* śladów, hipotetyzuj bajt klucza `k`, oblicz model HW/HD i skoreluj z wyciekiem.
|
||||
```python
|
||||
import numpy as np
|
||||
corr = np.corrcoef(leakage_model(k), traces[:,sample])
|
||||
```
|
||||
CPA pozostaje na czołowej pozycji, ale warianty uczenia maszynowego (MLA, SCA głębokiego uczenia) dominują teraz w zawodach takich jak ASCAD-v2 (2023).
|
||||
|
||||
---
|
||||
|
||||
## Analiza elektromagnetyczna (EMA)
|
||||
Proby EM w bliskim polu (500 MHz–3 GHz) ujawniają identyczne informacje jak analiza mocy *bez* wstawiania shuntów. Badania z 2024 roku wykazały odzyskiwanie kluczy w **>10 cm** od STM32 przy użyciu korelacji widma i niskokosztowych front-endów RTL-SDR.
|
||||
|
||||
---
|
||||
|
||||
## Ataki czasowe i mikroarchitektoniczne
|
||||
Nowoczesne procesory ujawniają sekrety przez wspólne zasoby:
|
||||
* **Hertzbleed (2022)** – skalowanie częstotliwości DVFS koreluje z wagą Hamming'a, co pozwala na *zdalne* wydobycie kluczy EdDSA.
|
||||
* **Downfall / Gather Data Sampling (Intel, 2023)** – wykonanie przejściowe do odczytu danych AVX-gather przez wątki SMT.
|
||||
* **Zenbleed (AMD, 2023) i Inception (AMD, 2023)** – spekulacyjne błędne przewidywanie wektorów ujawnia rejestry międzydomenowe.
|
||||
|
||||
Aby uzyskać szerokie omówienie problemów klasy Spectre, zobacz {{#ref}}
|
||||
../../cpu-microarchitecture/microarchitectural-attacks.md
|
||||
{{#endref}}
|
||||
|
||||
---
|
||||
|
||||
## Ataki akustyczne i optyczne
|
||||
* W 2024 roku "iLeakKeys" wykazało 95% dokładność w odzyskiwaniu naciśnięć klawiszy laptopa z **mikrofonu smartfona przez Zoom** przy użyciu klasyfikatora CNN.
|
||||
* Fotodiody o wysokiej prędkości rejestrują aktywność LED DDR4 i rekonstruują klucze rundy AES w czasie <1 minuty (BlackHat 2023).
|
||||
|
||||
---
|
||||
|
||||
## Wstrzykiwanie błędów i różnicowa analiza błędów (DFA)
|
||||
Łączenie błędów z wyciekiem kanału bocznego skraca poszukiwanie kluczy (np. 1-ślad AES DFA). Ostatnie narzędzia w cenie dla hobbystów:
|
||||
* **ChipSHOUTER i PicoEMP** – zakłócanie impulsami elektromagnetycznymi poniżej 1 ns.
|
||||
* **GlitchKit-R5 (2025)** – platforma do zakłócania zegara/napięcia typu open-source wspierająca SoC RISC-V.
|
||||
|
||||
---
|
||||
|
||||
## Typowy przebieg ataku
|
||||
1. Zidentyfikuj kanał wycieku i punkt montażowy (pin VCC, kondensator odsprzęgający, miejsce w bliskim polu).
|
||||
2. Wstaw wyzwalacz (GPIO lub oparty na wzorze).
|
||||
3. Zbierz >1 k śladów z odpowiednim próbkowaniem/filtrami.
|
||||
4. Wstępne przetwarzanie (wyrównanie, usunięcie średniej, filtr LP/HP, falowód, PCA).
|
||||
5. Statystyczne lub ML odzyskiwanie kluczy (CPA, MIA, DL-SCA).
|
||||
6. Walidacja i iteracja na odstających wynikach.
|
||||
|
||||
---
|
||||
|
||||
## Ochrona i wzmocnienie
|
||||
* **Implementacje o stałym czasie** i algorytmy odporne na pamięć.
|
||||
* **Maskowanie/tasowanie** – podziel sekrety na losowe udziały; odporność pierwszego rzędu certyfikowana przez TVLA.
|
||||
* **Ukrywanie** – regulatory napięcia na chipie, zrandomizowany zegar, logika dual-rail, osłony EM.
|
||||
* **Wykrywanie błędów** – redundantne obliczenia, podpisy progowe.
|
||||
* **Operacyjne** – wyłącz DVFS/turbo w jądrach kryptograficznych, izoluj SMT, zabroń współlokacji w chmurach wielodostępnych.
|
||||
|
||||
---
|
||||
|
||||
## Narzędzia i ramy
|
||||
* **ChipWhisperer-Husky** (2024) – oscyloskop 500 MS/s + wyzwalacz Cortex-M; API Python jak powyżej.
|
||||
* **Riscure Inspector i FI** – komercyjne, wspiera automatyczną ocenę wycieków (TVLA-2.0).
|
||||
* **scaaml** – biblioteka SCA oparta na głębokim uczeniu TensorFlow (v1.2 – 2025).
|
||||
* **pyecsca** – otwartoźródłowa ramy ECC SCA ANSSI.
|
||||
|
||||
---
|
||||
|
||||
## Odniesienia
|
||||
|
||||
* [Dokumentacja ChipWhisperer](https://chipwhisperer.readthedocs.io/en/latest/)
|
||||
* [Artykuł o ataku Hertzbleed](https://www.hertzbleed.com/)
|
||||
|
||||
Te ataki są bardzo popularne w przypadku wycieków danych, takich jak klucze prywatne lub znajdowanie operacji w procesorach. Obwód elektroniczny ma wiele kanałów, z których informacje są stale wyciekane. Monitorowanie i analizowanie mogą być przydatne do ujawnienia wielu informacji o obwodzie i jego wnętrzu.
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user