hacktricks/src/todo/hardware-hacking/side_channel_analysis.md

9.6 KiB
Raw Blame History

साइड चैनल विश्लेषण हमले

{{#include ../../banners/hacktricks-training.md}}

साइड-चैनल हमले भौतिक या माइक्रो-आर्किटेक्चरल "लीक" को देखकर रहस्यों को पुनः प्राप्त करते हैं जो आंतरिक स्थिति के साथ संबंधित होते हैं लेकिन डिवाइस के तार्किक इंटरफेस का भाग नहीं होते। उदाहरणों में स्मार्ट-कार्ड द्वारा खींची गई तात्कालिक धारा को मापने से लेकर नेटवर्क पर CPU पावर-प्रबंधन प्रभावों का दुरुपयोग करना शामिल है।


मुख्य लीक चैनल

चैनल सामान्य लक्ष्य उपकरण
पावर खपत स्मार्ट-कार्ड, IoT MCU, FPGA ऑस्सिलोस्कोप + शंट रेजिस्टर/HS प्रोब (जैसे CW503)
विद्युत चुम्बकीय क्षेत्र (EM) CPU, RFID, AES त्वरक H-फील्ड प्रोब + LNA, ChipWhisperer/RTL-SDR
निष्पादन समय / कैश डेस्कटॉप और क्लाउड CPU उच्च-सटीक टाइमर (rdtsc/rdtscp), दूरस्थ समय-की-उड़ान
ध्वनिक / यांत्रिक कीबोर्ड, 3-D प्रिंटर, रिले MEMS माइक्रोफोन, लेजर वाइब्रोमीटर
ऑप्टिकल और थर्मल LED, लेजर प्रिंटर, DRAM फोटोडायोड / उच्च-गति कैमरा, IR कैमरा
दोष-प्रेरित ASIC/MCU क्रिप्टो घड़ी/वोल्टेज ग्लिच, EMFI, लेजर इंजेक्शन

पावर विश्लेषण

सरल पावर विश्लेषण (SPA)

एक एकल ट्रेस का अवलोकन करें और सीधे शिखरों/घाटियों को संचालन (जैसे DES S-बॉक्स) के साथ जोड़ें।

# 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 MHz3 GHz) पावर एनालिसिस के समान जानकारी लीक करते हैं बिना शंट्स डाले। 2024 के शोध ने स्पेक्ट्रम सहसंबंध और कम लागत वाले RTL-SDR फ्रंट-एंड का उपयोग करके >10 cm की दूरी पर STM32 से कुंजी पुनर्प्राप्ति का प्रदर्शन किया।


टाइमिंग और माइक्रो-आर्किटेक्चरल हमले

आधुनिक CPUs साझा संसाधनों के माध्यम से रहस्य लीक करते हैं:

  • Hertzbleed (2022) DVFS आवृत्ति स्केलिंग हैमिंग वेट के साथ सहसंबंधित है, दूरस्थ रूप से EdDSA कुंजी निकालने की अनुमति देता है।
  • Downfall / Gather Data Sampling (Intel, 2023) SMT थ्रेड्स के बीच AVX-gather डेटा पढ़ने के लिए ट्रांजिएंट-एक्जीक्यूशन।
  • Zenbleed (AMD, 2023) और Inception (AMD, 2023) अनुमानित वेक्टर मिस-प्रेडिक्शन क्रॉस-डोमेन रजिस्टर लीक करता है।

ध्वनिक और ऑप्टिकल हमले

  • 2024 "iLeakKeys" ने एक स्मार्टफोन माइक्रोफोन के माध्यम से Zoom पर लैपटॉप की कीस्ट्रोक्स को 95% सटीकता के साथ पुनर्प्राप्त किया, CNN क्लासिफायर का उपयोग करते हुए।
  • उच्च गति के फोटोडायोड्स DDR4 गतिविधि LED को कैप्चर करते हैं और <1 मिनट के भीतर AES राउंड कुंजी को पुनर्निर्माण करते हैं (BlackHat 2023)।

फॉल्ट इंजेक्शन और डिफरेंशियल फॉल्ट एनालिसिस (DFA)

फॉल्ट्स को साइड-चैनल लीक के साथ मिलाकर कुंजी खोज को तेज करता है (जैसे 1-ट्रेस AES DFA)। हाल के शौकिया कीमत वाले उपकरण:

  • ChipSHOUTER और PicoEMP सब-1 ns इलेक्ट्रोमैग्नेटिक पल्स ग्लिचिंग।
  • GlitchKit-R5 (2025) RISC-V SoCs का समर्थन करने वाला ओपन-सोर्स क्लॉक/वोल्टेज ग्लिच प्लेटफॉर्म।

सामान्य हमले का कार्यप्रवाह

  1. लीक चैनल और माउंट पॉइंट (VCC पिन, डिकपलिंग कैप, नजदीकी क्षेत्र स्थान) की पहचान करें।
  2. ट्रिगर डालें (GPIO या पैटर्न-आधारित)।
  3. उचित सैंपलिंग/फिल्टर के साथ >1 k ट्रेस एकत्र करें।
  4. प्री-प्रोसेस (संरेखण, औसत हटाना, LP/HP फ़िल्टर, वेवलेट, PCA)।
  5. सांख्यिकीय या ML कुंजी पुनर्प्राप्ति (CPA, MIA, DL-SCA)।
  6. आउटलेयर्स पर मान्य करें और पुनरावृत्ति करें।

रक्षा और हार्डनिंग

  • कॉन्टेंट-टाइम कार्यान्वयन और मेमोरी-हार्ड एल्गोरिदम।
  • मास्किंग/शफलिंग रहस्यों को यादृच्छिक शेयरों में विभाजित करें; पहले-आदेश प्रतिरोध TVLA द्वारा प्रमाणित।
  • हाइडिंग ऑन-चिप वोल्टेज रेगुलेटर, यादृच्छिक घड़ी, डुअल-रेल लॉजिक, EM शील्ड।
  • फॉल्ट डिटेक्शन अतिरिक्त गणना, थ्रेशोल्ड सिग्नेचर।
  • ऑपरेशनल क्रिप्टो कर्नेल में DVFS/टर्बो को निष्क्रिय करें, SMT को अलग करें, मल्टी-टेनेंट क्लाउड में सह-स्थान को प्रतिबंधित करें।

उपकरण और ढांचे

  • ChipWhisperer-Husky (2024) 500 MS/s स्कोप + Cortex-M ट्रिगर; ऊपर की तरह Python API।
  • Riscure Inspector और FI व्यावसायिक, स्वचालित लीक आकलन का समर्थन करता है (TVLA-2.0)।
  • scaaml TensorFlow-आधारित डीप-लर्निंग SCA लाइब्रेरी (v1.2 2025)।
  • pyecsca ANSSI ओपन-सोर्स ECC SCA ढांचा।

संदर्भ

{{#include ../../banners/hacktricks-training.md}}