Ataki Analizy Kanałów Bocznych

Reading time: 5 minutes

tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks

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ć.


Główne Kanały Wycieku

KanałTypowy CelInstrumentacja
Zużycie energiiKarty inteligentne, MCU IoT, FPGAOscyloskop + rezystor szeregowy/probnik HS (np. CW503)
Pole elektromagnetyczne (EM)CPU, RFID, akceleratory AESProbnik H-field + LNA, ChipWhisperer/RTL-SDR
Czas wykonania / pamięci podręczneCPU stacjonarne i w chmurzeWysokoprecyzyjne timery (rdtsc/rdtscp), zdalny czas przelotu
Akustyczny / mechanicznyKlawiatury, drukarki 3D, przekaźnikiMikrofon MEMS, wibrometr laserowy
Optyczny i termicznyLED-y, drukarki laserowe, DRAMFotodioda / kamera wysokiej prędkości, kamera IR
Wywołany błędemASIC/MCU kryptograficzneGlitch 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, deep-learning SCA) 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 odległości >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) & Inception (AMD, 2023) – spekulacyjne błędne przewidywanie wektorów ujawnia rejestry międzydomenowe.

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 rund 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 & 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 przepływ 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, sygnatury 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 & FI – komercyjne, wspiera automatyczną ocenę wycieków (TVLA-2.0).
  • scaaml – biblioteka SCA oparta na głębokim uczeniu w TensorFlow (v1.2 – 2025).
  • pyecsca – otwartoźródłowa ramy ECC SCA ANSSI.

Odniesienia

tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks