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

This commit is contained in:
Translator 2025-07-23 12:26:09 +00:00
parent 19514f30e8
commit 536e23297b

View File

@ -2,10 +2,109 @@
{{#include ../../banners/hacktricks-training.md}} {{#include ../../banners/hacktricks-training.md}}
Атаки аналізу побічних каналів відносяться до визначення інформації з пристрою або сутності через інший канал або джерело, яке має непрямий вплив на нього, і з якого можна витягти інформацію. Це можна краще пояснити на прикладі: Атаки на основі побічних каналів відновлюють секрети, спостерігаючи за фізичним або мікроархітектурним "витоком", який *корелює* з внутрішнім станом, але *не є* частиною логічного інтерфейсу пристрою. Приклади варіюються від вимірювання миттєвого струму, споживаного смарт-карткою, до зловживання ефектами управління енергією ЦП через мережу.
Аналіз вібрацій у скляних листах, які знаходяться поруч із джерелом звуку, але саме джерело звуку недоступне. Вібрації в склі під впливом джерела звуку, і якщо їх моніторити та аналізувати, звук можна декодувати та інтерпретувати. ---
## Основні канали витоку
| Канал | Типовий об'єкт | Інструменти |
|-------|----------------|-------------|
| Споживання енергії | Смарт-картки, IoT МК, FPGA | Осцилограф + шунтуючий резистор/HS зонд (наприклад, CW503) |
| Електромагнітне поле (EM) | ЦП, RFID, прискорювачі AES | H-провід + LNA, ChipWhisperer/RTL-SDR |
| Час виконання / кеші | Настільні та хмарні ЦП | Таймери високої точності (rdtsc/rdtscp), віддалений час прольоту |
| Акустичний / механічний | Клавіатури, 3-D принтери, реле | Мікрофон MEMS, лазерний віброметр |
| Оптичний та тепловий | LED, лазерні принтери, DRAM | Фотодіод / камера високої швидкості, ІЧ-камера |
| Витік, викликаний помилками | ASIC/МК криптографії | Глітч годинника/напруги, EMFI, лазерна ін'єкція |
---
## Аналіз потужності
### Простий аналіз потужності (SPA)
Спостерігайте за *однією* траєкторією та безпосередньо асоціюйте піки/долини з операціями (наприклад, S-блоки 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
```
### Differential/Correlation Power Analysis (DPA/CPA)
Отримайте *N > 1 000* трас, гіпотезуйте байт ключа `k`, обчисліть модель HW/HD та корелюйте з витоком.
```python
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.
---
## Типовий робочий процес атаки
1. Визначити канал витоку та точку монтажу (пін VCC, конденсатор декуплінгу, точка ближнього поля).
2. Вставити тригер (GPIO або на основі шаблону).
3. Зібрати >1 тис. трас з належним вибірковим/фільтраційним процесом.
4. Попередня обробка (вирівнювання, видалення середнього, LP/HP фільтр, вейвлет, PCA).
5. Статистичне або ML відновлення ключа (CPA, MIA, DL-SCA).
6. Перевірити та повторити для викидів.
---
## Захист та зміцнення
* **Постійний час** реалізації та алгоритми, стійкі до пам'яті.
* **Маскування/перемішування** розділити секрети на випадкові частки; сертифікована стійкість першого порядку 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.
---
## Посилання
* [ChipWhisperer Documentation](https://chipwhisperer.readthedocs.io/en/latest/)
* [Hertzbleed Attack Paper](https://www.hertzbleed.com/)
Ці атаки дуже популярні у випадках витоку даних, таких як приватні ключі або виявлення операцій у процесорах. Електронна схема має багато каналів, з яких постійно витікає інформація. Моніторинг та аналіз можуть бути корисними для розкриття великої кількості інформації про схему та її внутрішню структуру.
{{#include ../../banners/hacktricks-training.md}} {{#include ../../banners/hacktricks-training.md}}