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

This commit is contained in:
Translator 2025-07-23 12:27:27 +00:00
parent 06d75bfacb
commit a7ef1d73cf

View File

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