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 uk
This commit is contained in:
parent
19514f30e8
commit
536e23297b
@ -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}}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user