Side Channel Analysis Attacks
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Атаки на основі побічних каналів відновлюють секрети, спостерігаючи за фізичним або мікроархітектурним "витоком", який корелює з внутрішнім станом, але не є частиною логічного інтерфейсу пристрою. Приклади варіюються від вимірювання миттєвого струму, споживаного смарт-карткою, до зловживання ефектами управління енергією ЦП через мережу.
Основні канали витоку
Канал | Типовий об'єкт | Інструменти |
---|---|---|
Споживання енергії | Смарт-картки, IoT МК, FPGA | Осцилограф + шунтуючий резистор/HS зонд (наприклад, CW503) |
Електромагнітне поле (EM) | ЦП, RFID, прискорювачі AES | H-провід + LNA, ChipWhisperer/RTL-SDR |
Час виконання / кеші | Настільні та хмарні ЦП | Таймери високої точності (rdtsc/rdtscp), віддалений час прольоту |
Акустичний / механічний | Клавіатури, 3-D принтери, реле | Мікрофон MEMS, лазерний віброметр |
Оптичний та тепловий | LED, лазерні принтери, DRAM | Фотодіод / камера високої швидкості, ІЧ-камера |
Витік, викликаний помилками | ASIC/МК криптографії | Глітч годинника/напруги, EMFI, лазерна ін'єкція |
Аналіз потужності
Простий аналіз потужності (SPA)
Спостерігайте за однією траєкторією та безпосередньо асоціюйте піки/долини з операціями (наприклад, S-блоки DES).
# 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
Differential/Correlation Power Analysis (DPA/CPA)
Отримайте N > 1 000 трас, гіпотезуйте байт ключа k
, обчисліть модель HW/HD та корелюйте з витоком.
import numpy as np
corr = np.corrcoef(leakage_model(k), traces[:,sample])
CPA залишається передовою технологією, але варіанти машинного навчання (MLA, глибоке навчання SCA) тепер домінують у змаганнях, таких як ASCAD-v2 (2023).
Електромагнітний аналіз (EMA)
Проби EM ближнього поля (500 МГц–3 ГГц) витікають ідентичну інформацію до аналізу потужності без вставлення шунтів. Дослідження 2024 року продемонструвало відновлення ключа на >10 см від STM32, використовуючи кореляцію спектра та недорогі RTL-SDR передавачі.
Атаки на час та мікроархітектуру
Сучасні ЦП витікають секрети через спільні ресурси:
- Hertzbleed (2022) – масштабування частоти DVFS корелює з вагою Хеммінга, що дозволяє віддалене витягування ключів EdDSA.
- Downfall / Gather Data Sampling (Intel, 2023) – транзитне виконання для читання даних AVX-gather через потоки SMT.
- Zenbleed (AMD, 2023) & Inception (AMD, 2023) – спекулятивне неправильне передбачення векторів витікає регістри між доменами.
Для широкого розгляду проблем класу Spectre дивіться {{#ref}} ../../cpu-microarchitecture/microarchitectural-attacks.md {{#endref}}
Акустичні та оптичні атаки
- 2024 "iLeakKeys" показав 95 % точності відновлення натискань клавіш ноутбука з мікрофона смартфона через Zoom, використовуючи класифікатор CNN.
- Швидкі фотодіоди захоплюють активність LED DDR4 і реконструюють раунди AES за <1 хвилину (BlackHat 2023).
Введення помилок та диференційний аналіз помилок (DFA)
Комбінування помилок з витоком з боку каналу скорочує пошук ключів (наприклад, 1-трасовий AES DFA). Останні інструменти за ціною хобі:
- ChipSHOUTER & PicoEMP – сплески електромагнітних імпульсів менше 1 нс.
- GlitchKit-R5 (2025) – платформа для спотворення годинника/напруги з відкритим кодом, що підтримує SoC RISC-V.
Типовий робочий процес атаки
- Визначити канал витоку та точку монтажу (пін VCC, конденсатор декуплінгу, точка ближнього поля).
- Вставити тригер (GPIO або на основі шаблону).
- Зібрати >1 тис. трас з належним вибірковим/фільтраційним процесом.
- Попередня обробка (вирівнювання, видалення середнього, LP/HP фільтр, вейвлет, PCA).
- Статистичне або ML відновлення ключа (CPA, MIA, DL-SCA).
- Перевірити та повторити для викидів.
Захист та зміцнення
- Постійний час реалізації та алгоритми, стійкі до пам'яті.
- Маскування/перемішування – розділити секрети на випадкові частки; сертифікована стійкість першого порядку TVLA.
- Приховування – регулятори напруги на чіпі, випадковий годинник, двоєрельсові логіки, електромагнітні екрани.
- Виявлення помилок – надмірні обчислення, порогові підписи.
- Операційні – вимкнути DVFS/turbo в криптографічних ядрах, ізолювати SMT, заборонити спільне розміщення в багатокористувацьких хмарах.
Інструменти та фреймворки
- ChipWhisperer-Husky (2024) – осцилограф 500 MS/s + тригер Cortex-M; Python API як вище.
- Riscure Inspector & FI – комерційний, підтримує автоматизовану оцінку витоків (TVLA-2.0).
- scaaml – бібліотека SCA на основі TensorFlow (v1.2 – 2025).
- pyecsca – відкритий фреймворк ECC SCA ANSSI.
Посилання
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.