מבוא להתקפות הזרקה של תקלות אלקטרומגנטיות (EMFI)

מבוא להתקפות הזרקה של תקלות אלקטרומגנטיות (EMFI)

הזרקה של תקלות אלקטרומגנטיות (EMFI) מנותבת מעגלים משולבים על ידי יישום פולסים אלקטרומגנטיים קצרים. תמצית זו מתארת את יסודות ה-EMFI, דרישות ההתקנה שלו, ואת השימוש בו לגילוי פגיעויות במערכות מודרניות.
# הקדמה ידידותית למתחילים להתקפות הזרקת תקלות: דמיסטיפיקציה של הזרקת תקלות אלקטרומגנטיות (EMFI)

**תוכן עניינים**

- [מבוא להתקפות הזרקת תקלות](#מבוא-להתקפות-הזרקת-תקלות)
- [מהי הזרקת תקלות אלקטרומגנטיות (EMFI)?](#מהי-הזרקת-תקלות-אלקטרומגנטיות-emfi)
- [איך EMFI עובד: מתיאוריה למעשה](#איך-emfi-עובד-מתיאוריה-למעשה)
  - [הבנת הפרעות אלקטרומגנטיות](#הבנת-הפרעות-אלקטרומגנטיות)
  - [השפעת EMFI על מעגלים משולבים (ICs)](#השפעת-emfi-על-מעגלים-משולבים-ics)
- [הגדרת EMFI קומפקטית: רכיבים והרכבה](#הגדרת-emfi-קומפקטית-רכיבים-והרכבה)
  - [ציוד דרוש](#ציוד-דרוש)
  - [תרשים הגדרה טיפוסית](#תרשים-הגדרה-טיפוסית)
  - [שיקולי בטיחות](#שיקולי-בטיחות)
- [EMFI בפעולה: תרחישי תקיפה בעולם האמיתי](#emfi-בפעולה-תרחישי-תקיפה-בעולם-האמיתי)
  - [מקרה מבחן 1: חילוץ מפתחות קריפטוגרפיים](#מקרה-מבחן-1-חילוץ-מפתחות-קריפטוגרפיים)
  - [מקרה מבחן 2: התקפות תקלות על מיקרו-בקרים מאובטחים](#מקרה-מבחן-2-התקפות-תקלות-על-מיקרו-בקרים-מאובטחים)
  - [מקרה מבחן 3: EMFI על מערכת על שבב (SoC) משובצת](#מקרה-מבחן-3-emfi-על-מערכת-על-שבב-soc-משובצת)
- [זיהוי פגיעויות באמצעות EMFI](#זיהוי-פגיעויות-באמצעות-emfi)
  - [סריקה לתגובה לפגם](#סריקה-לתגובה-לפגם)
  - [אוטומציה של בדיקות הזרקת תקלות עם Python ו- Bash](#אוטומציה-של-בדיקות-הזרקת-תקלות-עם-python-ו-bash)
- [הפחתת התקפות הזרקת תקלות: אמצעי הגנה](#הפחתת-התקפות-הזרקת-תקלות-אמצעי-הגנה)
- [הרחבת הידע שלך: משאבים וקהילה](#הרחבת-הידע-שלך-משאבים-וקהילה)
- [סיכום](#סיכום)
- [ביבליוגרפיה](#ביבליוגרפיה)

---

## מבוא להתקפות הזרקת תקלות

התקפות הזרקת תקלות הן כיתת התקפות חומרתיות בהן יריב **גורם בכוונה לשגיאות (תקלות) בפעולת המכשיר**, במטרה לעקוף בדיקות אבטחה, לחלץ נתונים רגישים או בדרך כלל לערער את אמינות המערכת. טכניקה זו רלוונטית במיוחד עם התפשטות יישומי אבטחה שרצים על מערכות משובצות - מכרטיסים חכמים ועד התקני IoT.

הזרקות תקלות ניתן לבצע באמצעות מספר שיטות:
- תאום מתח/שעון
- הזרקת תקלות לייזר
- **הזרקת תקלות אלקטרומגנטיות (EMFI)**
- מניפולציה של טמפרטורה/סביבה

מבין שיטות אלו, **EMFI** בולט כשיטה גמישה, ללא מגע, תוך שימוש בפולסים קצרים של אנרגית EM כדי לשבש אזורים ממוקדים בסיליקון, מה שמוביל לתקלות זמניות. פוסט זה מתמקד בEMFI כפי שהוא משמש במחקר סייבר ובהתקפות מעשיות.

---

## מהי הזרקת תקלות אלקטרומגנטיות (EMFI)?

**הזרקת תקלות אלקטרומגנטיות (EMFI)** היא טכניקה מתקדמת שבה burst מבוקר של אנרגיה אלקטרומגנטית מופנה לחלק ספציפי של מעגל משולב (IC) או מיקרו-בקרים. הכוונה היא ל**שבש את הפעולה התקינה של ההתקן** על ידי גרימת תקלות, כמו היפוכי ביטים, עבירות זמניות, או דילוג על פקודות.

### מאפיינים עיקריים:

- **בלתי חודרני**: אין צורך לפתוח את האריזה או ליצור קשר פיזי עם הסיליקון הפנימי.
- **מדויק**: יכול למקד יחידות פונקציונליות ספציפיות בתוך השבב (למשל ליבת ה-CPU, I/O).
- **חוזר ונשנה**: הגדרות מתאימות יכולות לאפשר הזרקת תקלות עקבית וניתנת לשחזור.
- **חזק**: חזק במיוחד נגד שבבים עם מאפייני אבטחה כמו אתחול מאובטח, מנועי קריפטוגרפיה, או עמידות לזיוף.

### סקירת הרעיון

![תרשים עקרוני של EMFI](https://i.imgur.com/LB3vYoG.png)
*תמונה: עקרון הזרקת תקלות אלקטרומגנטית (בפשטות)*

טכניקת EMFI בדרך כלל:
- משתמשת ב**מוליך מבוסס סליל** (מוליך בעבודת יד או מסחרי) כדי לרכז שדות EM.
- משתמשת ב**מחולל פולסים EM** לייצור פולסים במהירות גבוהה וברמות גבוהות.
- מסנכרן עם שעון המערכת כדי למקסם את הסבירות לגרימת תקלות משמעותיות בזמן חישובים רגישים.

**מקור:** [arXiv:2509.18341v1](https://arxiv.org/html/2509.18341v1), [בלוג Ledger על EMFI קומפקטי](https://www.ledger.com/blog/compact-em)

---

## איך EMFI עובד: מתיאוריה למעשה

### הבנת הפרעות אלקטרומגנטיות

**הפרעות אלקטרומגנטיות (EMI)** מתרחשות כאשר שדה אלקטרומגנטי חיצוני משבש את הפעולה התקינה של מעגלים אלקטרוניים. בהקשר של הזרקת תקלות, ההתקפה מכוונת, מכוונת מאוד ומבוקרת.

**הפיזיקה מאחורי EMFI:**
- משוואות מקסוול קובעות כיצד שדות EM מתפשטים ומקיימים אינטראקציה עם חומרים.
- חולפים מהירים ובאנרגיה גבוהה גורמים לזרמי מזיקים במעגלים קרבניים.
- במערכות דיגיטליות, אלו יכולים לגרום לזרמים לא רצויים בשערים קריטיים או תאים לזיכרון ברגעים מדויקים, מה שגורם לתקלות.

### השפעת EMFI על מעגלים משולבים (ICs)

כאשר פולס EM שנבנה בקפידה מכוון להתקן, ייתכנו מספר אפקטי תקיפה:
- **עבירות זמניות:** נתונים לא מוטמעים כהלכה או שתצפי הבקרה יוצאים מלויה.
- **דילוג על פקודות:** ה-CPU מדלג באופן בלתי רצוי על הוראות.
- **היפוכי ביטים:** ביטים בזיכרון או ברגיסטרים מתהפכים בגלל זרמים מושרים.
- **עקיפת אבטחה:** בדיקות אבטחה או סניפים מותנים יכולים להיתפרץ.

**דוגמה:**  
Microcontroller מבצע קוד שבודק אם סיסמה נכונה. התקפת EMFI עלולה להפוך את תוצאת הבדיקה הזו, לעקוף אימות ולהעניק גישה לא מורשית.

---

## הגדרת EMFI קומפקטית: רכיבים והרכבה

לפני השקת תקיפה, בואו נבין כיצד נראית הגדרה טיפוסית של EMFI במעבדת אבטחה.

### ציוד דרוש

1. **מחולל פולסים** — יוצר פולסים מהירים ומדויקים במתח גבוה (לעיתים עד כמה מאות וולט, עם רוחב של כמה ננו-שניות).
2. **מוליך הזרקות EM** — בדרך כלל סליל קטן (מוליך לולאה) מוצב בדיוק מעל שבב המטרה.
3. **אוסילוסקופ/ מנתח לוגי** — מנטר את תגובת המערכת ועוזר בכיול תזמון.
4. **ציוד טריגר וסנכרון** — מבטיח שהתקלה מוזרקת בדיוק בזמן הנכון.
5. **התקן מטרה** — המערכת המשובצת, המיקרו-בקר או SoC שיבחנו.
6. **מערכת מיקום** — מחזיקון מיקרו XYZ למיצוב מדויק של המוליך.
7. **ציוד מיגון ובטיחות** — למען מניעת הפרעות תאומות ופגיעות.

**שים לב:** כמה הגדרות מתקדמות משתמשות בסטגים ממונעים, עיכובי פקודות באמצעות מחשב ואפילו בלמידת מכונה לאוטומציה של התהליך.

### תרשים הגדרה טיפוסית

```plaintext
+---------------------+    כבל קואקסיאלי     +-----------------------+
| מחולל פולסים       |--------------------->| מוליך EM (לולאה/סליל) |
+---------------------+                      +-----------------------+
                                                        |
                                                        V
                                                 +-----------+
                                                 |   התקן    |
                                                 |   מטרה    |
                                                 +-----------+
                                                        |
                                                        v
      +---------+     טריגר/סנכרון      +-------------+   USB/סידורי   +-----------+
      | מחשב מארח |<--------------------->| אוסילוסקופ |--------------->| מחשב מארח   |
      +---------+                      +-------------+                +-----------+
    (בקרה, תזמון)               (ניטור תגובה)

שיקולי בטיחות

  • מתח גבוה: מחוללי פולסים יכולים לספק מתח מסוכן; יש לטפל בזהירות קיצונית.
  • שדות EM: יש צורך במיגון לאבטח את ההתקפה ולמזער פליטה.
  • נזק למכשיר: פולסים באנרגיה גבוהה חוזרים ונשנים יכולים לגרום נזק קבוע ל-ICs המטרה.

EMFI בפעולה: תרחישי תקיפה בעולם האמיתי

מקרה מבחן 1: חילוץ מפתחות קריפטוגרפיים

תפיסת התקיפה

מכשירים רבים מסתמכים על מפתחות קריפטוגרפיים המאוחסנים פנימית (למשל, מפתחות AES, RSA). על ידי הפרעות במהלך החישוב הקריפטוגרפי (כגון כפל ב-RSA), תוקפים יכולים לגרום לתוצאות לא תקינות שמהן ניתן לשחזר מפתחות סודיים מתמטית.

דוגמה
  • מטרה: כרטיס חכם המאבטח חישוב חתימת RSA.
  • תהליך: החלת EMFI בזמן חישוב המפתח הפרטי כדי לתקון ביטים קריטיים.
  • תוצאה: שימוש באפשרויות מרובות לקויות והקריפטוגרמה המקורית לשחזור מפתחות באמצעות טכניקה המכונה ניתוח פגמים דיפרנציאלי.
זרימת ניתוח פגמים דיפרנציאלי
flowchart TD
    A[המכשיר מבצע אלגוריתם קריפטוגרפי] --> B[EMFI יוצר תקלה בחישוב]
    B --> C[מוצג נלכד (קוד/חתימה לקוי)]
    C --> D[התוקף משתמש במשוואות ידועות ותוצאות לקויות מרובות]
    D --> E[שחזור מפתח באמצעות טכניקות אלגבריות]

מקרה מבחן 2: התקפות תקלות על מיקרו-בקרים מאובטחים

מיקרו-בקרים מודרניים המשמשים בכרטיסי תשלום, TPMים או אסימוני אימות כוללים מאפייני אבטחה—אך EMFI יכול לעקוף אותם ולחשוף את סודותיהם.

דוגמה: דילוג על בדיקות אימות

נניח שקוד קטע מבצע בדיקת סיסמה:

if (input_hash == stored_hash) {
    grant_access();
}

פולס EMFI, מתוזמן היטב במהלך ההשוואה, יכול להשחית את רשך הבקרה או הדגלים של ה-CPU, **לד

לג על התניה** ולהקנות גישה בטעות.

הדגמה: הדמיית מניפולציה של זרימת בקרה

מחזור פעולה מצב הרגיסטר אפקט EMFI פלט
T1 טען input_hash input_hash ב-R1 - -
T2 השווה בין input_hash ל-stored_hash R1, R2 פולס EM תוצאה לא טובה
T3 סעיף אם שווה בדיקת תנאי דלג גישה ניתנת!

מקרה מבחן 3: EMFI על מערכת על שבב (SoC) משובצת

עם SoCs (למשל, ARM Cortex-M, A53), EMFI פותח שטח מתקפה רחב:

  • ROM אתחול
  • גלוי מאובטח
  • פענוח קוד תוך כדי
  • אימות נתונים בזמן ריצה
דוגמה: תקיפה על אתחול מאובטח

SoC עשוי לבדוק תקינות קושחה בעת אתחול. התוקף מסנכרן את פולס ה-EMFI עם שגרה אימות CRC, גורם לה לדלג או לחשב באופן שגוי את האימות. ההתקן לאחר מכן מאתחל קושחה מותאמת אישית (זדונית) של התוקף.

הפניה בעולם האמיתי:
ב-סמינר Creach Labs, חוקרים הראו כיצד ניתן לחשוף SoCs שמריצים סביבות ביצוע מאובטחות עם EMFI.


זיהוי פגיעויות באמצעות EMFI

חוקרי אבטחה משתמשים לעיתים קרובות ב-EMFI כדי לאפיין פגיעויות במכשירים חדשים. התהליך כולל סקירה שיטתית, הזרקת תקלות, ותצפית על תגובות המכשיר.

סריקה לתגובה לפגם

תהליך צעד אחר צעד:
  1. זהה קוד רגיש: היכן כדאי למקד (למשל, השוואת סיסמאות, שגרות קריפטוגרפיות)?
  2. סנכרן פולס: השתמש בגנ

יבה דיגיטלית, יציאה סידורית, או קווי דיבוג לסנכרון מדויק. 3. שנה פרמטרים: חקור רוחב פולס, אמפליטודה, קיזוז תזמון, ומיקום מוליך. 4. אסוף תוצרים: אחסן תגובות התקן, קריפטוגרמות תקולות, או יומני דיבוג למנת. 5. מיין תקלות: השתמש בסקריפטים לפענח תוצרים ולמיין לפי סוג תקלה—הוראות שדולגו, היפוכי ביטים, איפוס מוחלט של מכשיר וכו'.

דוגמה לסריקת סקריפט (Bash + Python):

נניח שהמכשיר שלך פולט מידע אבחון דרך UART ואתה רוצה לאוטומט תהליך סיווג התקלות.

Bash: השקת סריקה, תפיסת יומנים סידוריים עבור כל הזרקה:

for delay in $(seq 0 100 5000); do
    echo "Injecting at delay $delay ns"
    ./trigger_pulsegen --delay $delay --width 10 --voltage 200
    cat /dev/ttyUSB0 > log_${delay}.txt &
    sleep 0.5
    pkill -f "cat /dev/ttyUSB0"
done

Python: פענוח יומנים לתבניות תקלה (למשל, חיפוש אחרי 'FAULT DETECTED'):

import glob

for logfile in glob.glob("log_*.txt"):
    with open(logfile) as f:
        content = f.read()
        if "FAULT DETECTED" in content:
            print(f"{logfile}: Fault observed")
        elif "RESET" in content:
            print(f"{logfile}: Device reset detected")
        else:
            print(f"{logfile}: No fault")

אוטומציה של בדיקות הזרקת תקלות עם Python ו- Bash

המחקר בהיקף גדול יותר מערב את שילוב כל הציוד עם אוטומציה תוכנתית:

  • אוטומציה של מיקום מוליכים (באמצעות מנועים)
  • שליטה תכנית על פרמטרי פולס
  • איסוף נתונים ועיבוד בזמן אמת
  • אופטימיזציה של מיקוד בהתבסס על תוצאות שנצפו

דוגמה פשוטה לאוטומציה ב-Python:

נניח שיש לך ממשק API למחולל הפולס שלך ולאוסילוסקופ:

import pulsegen
import oscilloscope

# חיבור מכשירים
pulse = pulsegen.connect("COM4")
scope = oscilloscope.connect("USB0::0x1AB1::0x0588::DS1ET141904883")

delays = range(1000, 5000, 200)  # ב ns

for d in delays:
    pulse.setup(delay=d, width=10, voltage=250)  # קבע תצורת הזרקה
    pulse.fire()   # הזרק!
    trace = scope.capture()
    # שמירה, ניתוח או הצגת נתונים שנלכדו:
    filename = f"trace_{d}ns.csv"
    with open(filename, "w") as f:
        f.write(trace)

שים לב: אוטומציה אמיתית עשויה לכלול ספריות מורכבות, טיפול בשגיאות, ושילוב עם מיקום מוליכים.


הפחתת התקפות הזרקת תקלות: אמצעי הגנה

ככל ש-EMFI מתקדם, כך גם אמצעי ההגנה—יצרני חומרה כיום מתכננים עמידות לתקלה:

  • חיישנים: גלאי on-chip לשדות EM חזקים או אנומליות מתח.
  • חישוב מיותר: לוגיקה קריטית משוכפלת, והתוצאות מושוות (Redundancy דו-מודולרי, DMR).
  • עיכובים רנדומליים/בלבול: מוסיפה רעש לתזמון הביצוע, מקשה על מיקוד מדויק.
  • מיגון פיזי: מוסיפה חסמים מוליכים, סופגי EM מעל לשטחים רגישים ב-IC.
  • חישת תוכנה: תוכנה מנטרת מצבים בלתי אפשריים (למשל, דילוג בלתי אפשרי בלוגיקה).

דוגמה לתוכנה: ביצוע בשלושה עותקים לאימות:

// קוד לדוגמה
result1 = calc_hash(input);
result2 = calc_hash(input);
result3 = calc_hash(input);

if ((result1 == result2) && (result2 == result3))
    use(result1);
else
    trigger_alert();

הרחבת הידע שלך: משאבים וקהילה

אם אתם מעוניינים להתקדם מעבר ליסודות, המשאבים והקהילות הבאים יקרי ערך:


סיכום

הזרקת תקלות אלקטרומגנטיות (EMFI) היא כלי מרתק—אם גם מאיים—בשדה מחקר אבטחת חומרה. מה שהחל כסקרנות אקדמית אקזוטית, עכשיו מהווה סיכון קריטי שעל כל מעצב של מיקרו-בקרים או שבבי אבטחה להתמודד איתו. גם עם ציוד ותכנות בסיסיים, תוקפים (וחוקרים) יכולים ליזום התקפות מדויקות, ניתנות לשחזור ועתיקות תקלות על רמת חומרה.

כפי שראיתם:

  • EMFI יכול לעקוף, להוריד או לחלץ סודות קריפטוגרפיים.
  • הגדרה מעשית בהשגתן של מעבדות ואנשי מקצוע רבים.
  • פגיעויות בעולם האמיתי ב-SoC של אתחול מאובטח, כרטיסים חכמים ואלמנטים מאובטחים מדגימות את חומרת EMFI.
  • מחקר הגנתי ועיצוב שבבים מאובטח חייבים להסתגל באופן מתמיד.

למתחילים ולוותיקים כאחד, EMFI מייצגת גם איום לניהול—וגם כלי איבחוני חזק למען עתיד בטוח יותר עבור עולמנו הדיגיטלי.


ביבליוגרפיה

  1. הקדמה ידידותית למתחילים להתקפות הזרקת תקלות (arXiv:2509.18341v1)
  2. הגדרת הזרקת תקלות אלקטרומגנטיות קומפקטית — בלוג Ledger
  3. אל תסמוך על מערכות שבבים מודרניות: הזרקת תקלות אלקטרומגנטיות נגד SoC — סמינר Creach Labs
  4. פרויקט ChipWhisperer
  5. משוואות מקסוול ובסיסי EMI — ויקיפדיה
  6. הזרקת תקלות ואמצעים נגד — Embedded.com

האם מצאתם מדריך ארוך זה מועיל? אם כן, שתפו אותו עם צוות האבטחה או עמיתיכם בהנדסת חומרה! לטכניקות או דוגמאות מתקדמות יותר, ראו את המשאבים למעלה ואת הכנסיות האחרונות באבטחת חומרה וקבועה.

[להערות, תיקונים או תרומות, ראו את החיבור ArXiv המקורי ואת קהילת מחקר האבטחה הפתוחה.]

🚀 מוכנים לעלות רמה?

קח את קריירת הסייבר שלך לשלב הבא

אם מצאתם את התוכן הזה בעל ערך, תארו לעצמכם מה תוכלו להשיג עם תוכנית ההכשרה המקיפה והאליטיסטית שלנו בת 47 שבועות. הצטרפו ליותר מ-1,200 סטודנטים ששינו את הקריירה שלהם בעזרת טכניקות יחידה 8200.

97% שיעור השמה לעבודה
טכניקות יחידה 8200 עילית
42 מעבדות מעשיות