אם אתם גולשים בפורומי אבטחת מידע, משתתפים בדיונים על פרטיות, או אפילו בודקים שרשורי Reddit כמו הרשימה הזו ב-r/TOR, ככל הנראה שמעתם גרסה כלשהי של הטענה הזו:
"למה לטרוח עם כלים לפרטיות או ללמוד על הרשת האפלה? המחשב שלך כבר מכיל דלת אחורית של ה-NSA בכל מקרה!"
תחושה זו, למרות שאינה מדויקת לחלוטין, מבוססת על חששות אמיתיים בנוגע לדלתות אחוריות בחומרה. חוקרי אבטחה וסוכנויות מודיעין העלו כל אחת דאגות לגבי הסיכונים הקשורים לפגיעויות חומרה נסתרות, במיוחד כשהשרשרת האספקתית—והמורכבות—של חומרת מחשבים הולכת וגדלה.
אבל מהי בדיוק דלת אחורית בחומרה? האם המכשירים שלכם נתונים לחלוטין לחסדי מנצלים נסתרים? האם כל זה "חסר תקווה", או קיימות טכניקות חזקות לגילוי ומניעה של איומים כאלה?
הפוסט המקיף הזה יסביר את הדלתות האחוריות בחומרה למתחילים ולמתקדמים כאחד. נשתמש בהגדרות טכניות, דוגמאות מהעולם האמיתי, דוגמאות לצופות שורת פקודה/קוד לגילוי, וטיפים מעשיים למשתמשים ולאנשי מקצוע באבטחת מידע. בין אם אתם חובבי פרטיות או אנשי סיסטמס, מדריך זה נועד להעמיק את הבנתכם.
דלת אחורית בחומרה היא מנגנון נסתר שנבנה בכוונה או בטעות ברכיבים הפיזיים (חומרה) של מערכת מחשב, ומאפשר גישה או שליטה בלתי מורשית על מכשיר. בשונה מדלתות אחוריות בתוכנה, התלויות בקוד שרץ במערכת ההפעלה או בשכבת האפליקציות, דלתות אחוריות בחומרה שוכנות בשבבי הסיליקון או בקושחת המכשירים שלך.
ויקיפדיה מגדירה:
דלת אחורית בחומרה היא דלת אחורית המיושמת בתוך הרכיבים הפיזיים של מערכת מחשב, הידועה גם כחומרה שלה.
- דלתות אחוריות מתוכננות (בכוונה):
מושמות בידי גופים זדוניים—עשויות להיות אף ספקים—או על פי דרישות ממשלתיות.
- דלתות אחוריות בלתי מכוונות:
נובעות מפגמי תכנון, חוסר תשומת לב, או קונפיגורציות ברירות מחדל לא בטוחות.
- דלתות אחוריות ברמת הקושחה:
מושמות בקושחת השבב (כמו BIOS/UEFI, קושחת בקרי רשת).
- דלתות אחוריות פיזיות:
פינים או רכיבים נוספים העוקפים לוגיקה רגילה.
הבחנה חשובה: תוכנה יכולה להימחק או להיות מותקנת מחדש; דלתות אחוריות בחומרה מתמידות אלא אם כן המכשירים מוחלפים פיזית או עוברים פבריקה מעמיקה מחדש.
- מעקב ממשלתי:
סוכנויות מודיעין, במיוחד ה-NSA, עלולות לעבוד עם ספקי חומרה להטמעת גישה נסתרת או פגיעויות (ראו גילויי סנודן).
- איומים בשרשרת האספקה ייצורית:
גופים זדוניים יכולים לזהם חומרה בכל שלב מהבית המפעל עד המסירה למשתמש הקצה.
- ריגול תעשייתי & חבלות:
חברות עשויות לזהם מוצרי מתחרים כדי להשיג יתרון מסחרי.
- פירטיות & הגנה על זכויות יוצרים:
ספקים עשויים להטמיע "מנעולים" או "דונגלים" בחומרה שגם משמשים דלתות אחוריות.
- רווח, נקמה, או סקרנות:
מהנדסים רוגעים יכולים להטמיע ממשקי בדיקות בלתי מתועדים.
- 1984: Ken Thompson's “Reflections on Trusting Trust” מדגיש טרויאנים ברמת הקומפיילר, מאוחר יותר אקסטרופולה לחומרה.
- 2008: Bunnie Huang מגלה שבבים לא מסומנים בנתבים של Cisco (ref).
- 2013: גילויים של סנודן מחדשים את המיקוד בהתקפות של שרשרת האספקה.
תכנון וייצור חומרה הם גלובליים ורב-שכביים. שבב טיפוסי עשוי להיות:
- מתוכנן בארה"ב
- מיוצר בטייוואן
- נבדק בסין
- מורכב במקסיקו
בכל שלב, מישהו יכול להכניס דלת אחורית בחשאי.
- הוספת מעגלים נוספים:
שינויים קטנים בתצורת הסיליקון יכולה ליצור ערוצים נסתרים או "שערות."
- טרויאן בתוך השבב (“סיליקון טרויאן”):
חלק מהשבב ששוכב ללא שימוש עד שהוא מופעל על ידי רצף סודי או מתח.
- הטמעות קושחה:
UEFI/BIOS malware שנשאר למרות התקנות מחדש של המערכת.
הערה: אפילו תכונות לגיטימיות (כמו מדבגים חומרתיים וניהול מרחוק) יכולות להפוך לפגיעויות.
- שינוי המיקרוקוד (הוראות ברמת נמוכה) השולטות על מעבדים או שבבים אחרים.
- הטמעות ברמת הקושחה (למשל, מודולי UEFI זדוניים).
- רבים מהשבבים מכילים מצבי "מהנדס" או "מבחן מפעלי" נסתרים, הנגישים דרך פינים או רצפים, לעיתים לא מתועדים.
- לוגיקה נוספת מוטמעת במהלך התכנון.
- דוגמא: ערוצי תקשורת סמויים.
- השתלות פיזיות:
שבבים או שינויים בלוחות מעגלים שהוספו במהלך הייצור או במהלך ההעברה (ראו פרשת Supermicro).
- עודף על אותות כמו פליטת קרינה אלקטרומגנטית או צריכת מתח כדי לאסוף סודות.
- בשנת 2013, Der Spiegel חשף את "קטלוג ANT של ה-NSA," המציין שתילת חומרות למגוון רחב של ציוד רשת.
- היכולות כללו שתילת שבבים בשרתים, נתבים וטלפונים לאפשר הפעלה מרחוק.
- בשנת 2015, הודיעה Juniper שהיא מצאה קוד בלתי מורשה בקושחת חומת האש.
- הקוד שהושתל אפשר לתוקפים לפענח תנועת VPN—כנראה דלת אחורית ברמת הקושחה (ref).
- בלומברג דיווח בשנת 2018 שסוכנים סינים חרשו שבבים בגודל חיידקים בלוחות האם של Supermicro שנשלחו לחברות אמריקאיות.
- למרות שהדעה הזאת נתונה לוויכוח והכחשות, הסיפור מדגיש את האפשרות של פשרות בשרשרת האספקה של חומרה.
- האקרים "כובע לבן" כמו Andrew "Bunnie" Huang הוכיחו את הפשטות היחסית בשינוי חומרה ברמת הלוח ללא הבחנה (ref).
- IME הוא מעבד משני סודי במעבדי אינטל עם גישה רחבת טווח, כולל היכולת להגיע לזיכרון ואחסון, ואפילו להישאר פעיל כשהמערכת הראשית כבויה.
- פגיעויות ב-IME עשויות לייצג דלת אחורית בפועל (ref).
- קביעות: לא ניתן לתקן על ידי התקנת מערכת ההפעלה מחדש או פורמט כונן.
- קושי בגילוי: דורש כלים מתקדמים, לעיתים ניתוח פיזי פולשני.
- השפעה על הצפנה:
דלתות אחוריות יכולות להעכיר אפילו מערכות אוויר או מוצפנות כי מפתחות וטקסט מפורשים נגישים ברמות חומרה.
- אם החומרה נשברה, שום אמצעי אבטחה ברמת התוכנה אינו אמין לחלוטין.
- תוכנה קוד פתוח אינה יכולה "לראות" שבב נסתר.
- גורמים ממשלתיים המכוונים לתשתיות קריטיות (כוח, פיננסים, צבא) עשויים להעדיף גישה ברמת חומרה.
- מעבדים מודרניים מכילים מיליארדי טרנזיסטורים; טרויאן יכול להיות רק כמה מאות שערות.
- אין דרך מעשית למשתמשי קצה לבדוק תצוגות שבבים.
- מקור למיקרוקוד וקושחה על פי רוב סגור ולא מתועד.
- הסכם סודיות ספקים ותיעוד סגור מונע בדיקות צד שלישי.
- דלתות אחוריות עשויות לפעול רק בתנאים מיוחדים (למשל, "דפקה" סודית או אות עיתוי).
- גורמים ממשלתיים יכולים להרשות לעצמם השתלות מתוחכמות בלתי נראות לכל פרט לבדיקה הפיזית האינטנסיבית ביותר (כמו פתיחת שבב ובדיקת מיקרוסקופ אלקטרוני).
- מדידת צריכת החשמל, פליטת קרינה אלקטרומגנטית או התנהגות עיתוי של שבב כדי לזהות אי-סדירויות.
- הסרת פיזית של מעטפת שבב וניתוח התצוגה עם מיקרוסקופ אלקטרוני סורק.
- השוואת תגובות מצ'יפים "זהים" כדי לבדוק אי התאמות.
- שימוש בהוכחות מתמטיות כדי לבדוק שעיצוב חומרה נתון תואם למפרט.
- ניתן לביצוע רק על עיצובים קטנים יחסית.
- השלכה וניתוח תצוגות קושחה למאפיינים לא מתועדים או פעילות רשת.
- מקורות אמינים: שימוש בשבבים ולוחות מבדוקי שרשרת אספקה.
- חומרה בקוד פתוח: העדפת עיצובים עם מקורות ותכניות שניתן לבקר פומבית (למשל, RISC-V, ORWL).
- הסרת או השבתת מנועים ניהוליים:
פרויקטים כמו me_cleaner מנסים לנטרל את Intel ME.
- אבטחה פיזית: נעילה של החומרה בעת ההעברה והאחסון.
- הפרדת רשת: הנחה של מערכות קריטיות מחוץ לרשת, משולבת עם מעקב נגדי/ אלקטרומגנטי.
לרוב המשתמשים, ג
ילוי השתלות חומרה ישירות אינו אפשרי. אך אתם יכולים לשמור על היגיינה טובה על ידי:
- סריקה אחר רכיבים שאינם צפויים או מודולים של קושחה.
- מעקב אחר בריאות החומרה ושינויי מצב.
- שמירה על המידע האוחד על פגיעויות שפורסמו.
להלן מספר דוגמאות מעשיות שיסייעו לכם לסרוק ולנתח את המערכת שלכם בלינוקס או בווינדוס לחריגות פוטנציאליות.
lspci -v
מציג את כל מכשירי ה-PCI. חפשו מכשירים לא מוכרים או לא מתועדים (במיוחד כאלה עם תיאורים או מזהי ספק כללים).
lsusb -v
מציג מכשירי USB מחוברים—מועיל לזיהוי השתלות במכשירי USB.
sudo dmidecode
מספק דוח מפורט על חומרה וקושחה. בדקו אחר שגויים בין הערכים הצפויים לערכים המדווחים.
sudo efibootmgr -v
sudo biosdecode
מאמת את גרסת הקושחה והשלמותה.
sudo flashrom -p internal -r bios_backup.bin
(ודאו ש-flashrom תואם את החומרה שלכם.)
נניח שהרצתם lspci ואתם רוצים לבדוק אחר מכשירים שהספק שלהם הוא Unknown או Generic. כאן דוגמה בשימוש ב-Bash:
lspci -v | grep -iE 'unknown|generic'
דוגמת ניתוח עם Python (בהנחה שרשימת המכשירים נשמרה ב-lspci.txt):
import re
with open("lspci.txt") as f:
for line in f:
if re.search(r'unknown|generic', line, re.IGNORECASE):
print(f"Suspicious device: {line.strip()}")
שיטה גסה אך עשויה לחשוף היא חיפוש תמונות קושחה אחר כתובות IP ידועות, כתובות URL, או מילות טריגר:
strings bios_backup.bin | grep -Ei "(debug|test|admin|backdoor|secret|nsa|intel)"
או באמצעות Python:
import subprocess
def search_firmware_for_keywords(firmware_path, keywords):
output = subprocess.check_output(['strings', firmware_path], text=True)
for keyword in keywords:
for line in output.splitlines():
if keyword.lower() in line.lower():
print(f"Found {keyword} in line: {line}")
search_firmware_for_keywords(
"bios_backup.bin",
["debug", "test", "admin", "backdoor", "secret", "nsa", "intel"]
)
הערה: טכניקות אלה לא יגלו דלתות אחוריות חומרות מתוחכמות באמת, אך הן עשויות למצוא ידועות ברורות או מוסתרות בצורה גרועה.
- קודר אך לא חסר תקווה:
אמון מוחלט בכל חומרה מסחרית הוא קשה.
- הפחתת סיכונים, לא הימנעות מוחלטת:
אבטחה היא אודות הפחתת סיכון, לא השגת שלמות.
- איומים מקומיים חשובים:
רוב המשתמשים סבירים יותר להיות ממוקדים על ידי זדוניות, פישינג, או גניבה פיזית מאשר על ידי השתלת חומרה ברמת NSA.
- סיליקון פתוח:
המערכת האקולוגית של RISC-V דוחפת לכיוון מעבדים שניתן לאמת.
- אימות חומרה:
חומרה טובה יותר בקוד פתוח, בניות שניתן לשחזר, ואימותים אקדמיים.
- כלי קהילה:
פרויקטים כגון me_cleaner, coreboot, ו-Heads משפרים שקיפות קושחה.
- שמרו מערכות מעודכנות כדי להנות מתיקוני קושחה ומיקרוקוד האחרונים.
- קנו מספקים המזוהים כאמינים והימנעו ממכשירים מ"שוק אפור".
- היו זהירים עם חומרה בשימוש קודם, במיוחד חברות או ממשל.
- הבינו את מודל האיומים האמיתי שלכם.
- בצעו רישום של כל החומרה; גלו ותעדו כל רכיב.
- חסמו מזהי USB ו-PCI חשודים אם לא נדרשים.
- עקבו אחרי יומנים לשינויים במכשירים חומרתיים חדשים או נעלמים.
- השתמשו בקושחה בקוד פתוח כשניתן (coreboot, libreboot).
חוקרי אבטחה
- בצעו מבדיקות קבועות על יומני קושחה וחומרה.
- תרמו לפרויקטים בקוד פתוח של אימות.
- עזרו ביצירת שקיפות בשרשרת האספקה של חומרה.
- עבדו מול יצרנים בדיון על נהלי אבטחת שרשרת האספקה.
דלתות אחוריות בחומרה מציבות אתגר עוצמתי לכל היבט של אבטחת מחשבים. שלא כמו פגיעויות בתוכנה, דלתות אחוריות בחומרה קשות לגילוי, כמעט בלתי אפשריות לתיקון, ואם קיימות—יכולות לנטרל אפילו את ההיגיינה הטובה ביותר באבטחת מידע.
אך שום דבר באבטחה אינו חסר תקווה באמת. למרות שכדאי להכיר בכך שאין מערכת בטוחה ב-100%, ניתן למצוא את האיזון בין ספקנות ופעולה:
- השכילו על החומרה שלכם.
- השתמשו בספקים אמינים.
- העדיפו פרויקטים בקוד פתוח על חומרה וקושחה.
- השתמשו בכלים מעשיים לגילוי וניטור.
- שמרו את הסיכון בפרספקטיבה—דלתות אחוריות בחומרה נדירות מחוץ למטרות בעלות ערך גבוה (ריגול או גורמים ממשלתיים).
בסופו שלדבר, שיתוף הפעולה, השקיפות, והמאמץ של הקהילה מציעים את ההגנה הטובה ביותר.
- דלת אחורית בחומרה - ויקיפדיה
- קטלוג NSA ANT (Der Spiegel, 2013)
- The Big Hack: How China Used a Tiny Chip
- Silencing Hardware Backdoors — Simha Sethumadhavan et al. (Columbia)
- Juniper NetScreen Backdoor
- Dissecting Intel Management Engine
- RISC-V Open Source Hardware
- פרויקט me_cleaner
- קושחה בקוד פתוח coreboot
- פרויקט קושחה Heads