
ככל שמחשוב מודרני מפעיל עסקים, ממשלות וחיים פרטיים, האבטחה שלו תלויה באמינות של תוכנה וחומרה כאחד. בעוד שרוב האנשים מכירים את הפגיעויות שבתוכנה, יש איום עדין יותר, ערמומי יותר - דלתות אחוריות בחומרה.
דלת אחורית בחומרה היא מעגל או תכונה לא מורשים ולכאורה נסתריים בתוך צ'יפ או רכיב, שמאפשרים לתוקפים לפגוע, לעקוף או לשלוט באבטחת המערכת. בניגוד לפגיעויות תוכנה או תוכנות זדוניות, דלתות אחוריות אלו אינן ניתנות לגילוי על ידי כלי אנטי-וירוס, אינן ניתנות לתיקון על ידי עדכוני תוכנה ולעיתים קרובות נעלמות גם מעיון של מומחים.
דלתות אחוריות בחומרה קיימות ברמות הנמוכות ביותר:
כאשר שרשרת האספקה העולמית הופכת למורכבת יותר והייצור מתרחש לעיתים במתקנים מפוזרים ובלתי קבועים, הסיכון של גופים בלתי מהימנים להכניס דלתות אחוריות בחומרה גדל.
פוסט זה בבלוג מצולל עמוקות מבסיסי הדלתות האחוריות בחומרה לטכניקות מתקדמות של זיהוי, ניתוח והשתקה, וזוג תיאוריה עם דוגמאות מעשיות מהעולם האמיתי וכלים מעשיים.
מדוע דלתות אחוריות בחומרה קשות לזיהוי?
טכניקה מרכזית היא שתיקה: דלתות אחוריות בחומרה לרוב שוכבות רדומות. כפי שמציינים סימחה וסאנדהו (אוניברסיטת קולומביה), דלתות אחוריות יכולות להיות מתוכנתות כך שהן מופעלות רק בתנאים ספציפיים ונדירים - קלטים או רצפי תזמונים לא סבירי
היבט מפתח של דלתות אחוריות בחומרה שהופך אותן לקשות לזיהוי בזמן האימות הוא שהן יכולות לשכב רדומות בזמן המבחן (אקראי או מכוון) ולהיות מופעלות רק על ידי אירועים ספציפיים ונדירים.
שבבים הם קופסאות שחורות:
לשבבים מודרניים יש מיליארדי טרנזיסטורים. אפילו צוותי מומחים נאבקים לנתח כל מעגל למציאת לוגיקה נסתרת.
בניגוד לתוכנות זדוניות, שתלים בחומרה הם מתחת לערמת התוכנה. אנטיו וירוס או הגנות ברמת מערכת ההפעלה לא יכולים "לראות מתחת" כדי לזהות או להסיר אותם. עדכוני קושחה לא יכולים לכתוב מחדש או למחוק תכונות ברמת החומרה אם הסיליקון עצמו נפגע.
דלתות אחוריות בחומרה עשויות להיות במספר צורות, כולל:
בלומברג דיווחו שמפעלים בסין הכניסו שבבים זעירים ללוחות אם של שרתים של סופרמיקרו למרכזי נתונים בארה"ב, מה שיאפשר לכאורה לתוקפים להכניס קוד או לשלוח אותות להוצאת נתונים.
(אמינותו של אירוע זה עדיין שנויה במחלוקת, אך הדגיש את סכנות שרשרת האספקה בתעשייה.)
מסמכים שנחשפו מה-NSA תיארו טכניקות להשתלת דלתות אחוריות בציוד רשת, כגון שתלים USB עם משדרי רדיו מוסתרים.
ניתוח אבטחה הראה פקודות לא מתועדות בצ'יפים USB-UART הנפוצים שאפשרו מניפולציה על מכשור מעבר למפרט הרשמי.
Allwinner הכניסו תכונה נסתרת בקוד לינוקס מסוים על התקנים המשתמשים בצ'יפים שלהם: כתיבת ערך קסם לקובץ מערכת (/proc/sunxi_debug/sunxi_debug) תאפשר גישה למעטפת רוט - דלת אחורית ככל הנראה נועדה להנדסה/בדיקות, אך לא הוסרה בייצור.
האם אפשר לזהות דלתות אחוריות בחומרה?
כן, אבל המשימה מאתגרת ויש לשלב מספר תחומים של חומרה ותוכנה.
הקושחה בצ'יפים (BIOS, UEFI, בקר משובץ) היא מקום אידאלי להסתתרות לדלתות אחוריות ברמות נמוכות. ניתוח קושחה אוטומטי וידני יכול לחשוף אנומליות.
תהליך זיהוי:
גם כאשר הלוג
יקה מוסתרת, ה*"השפעות"* שלה עשויות להיות נמדדות דרך צריכת חשמל בלתי שגרתית, הבדלי תזמון, או טביעות אצבע אלקטרומגנטיות.
בלוק לוגי ששוכב רדום עדיין מושך כמויות זעירות של חשמל או משנה במעט את תזמוני התגובה תחת טריגרים נדירים - תקלות שניתן לזהות על ידי מדידה קפדנית והשוואה לשבבים ידועים-טובים.
הסרה ועיבוד:
חיסרון: זה ExtremelyCostly, בזמן רב ולא פרקטי לעיתים למשתמשי קצה.
מנגנוני אבטחה מסוימים נועדו לזהות פעולות חומרה לא מאושרות בזמן ריצה:
השוואת התנהגות בזמן ריצה (תגובות הוראות, דפוסי שגיאות) לחומרת ייחוס. זה מועיל במיוחד למערכות SoC שבהן היישום עשוי להשתנות בין מסעות ייצור.
מעבדות מיוחדות יכולות לנסות "ליצור פולי" או להעמיס על החומרה, ולנסות לגלות טריגרים נדירים או תנאי הפעלה.
עיצובים עם תוכניות מקור פתוחות, פריסות וכלים ניתנים לאימות חיצוני מאפשרים ביקורות חיצוניות מקיפות. דוגמאות: RISC-V, Open Compute Project.
השתקה או הקלת דלתות אחוריות בחומרה חור
גת מעבר לזיהוי. הנה איך שהמגנים ניגשים לבעיה:
בואו נהיה מעשיים! בעוד שזיהוי דלתות אחוריות בחומרה במלואו הוא מורכב, אתם יכולים:
להלן דוגמאות קוד ופקודות קו-פיקוד למתחילים עד מנוסים לניתוח חומרה/קושחה.
# פרוק את תמונת הקושחה (בהנחה ש-.bin הוא הפלט שלכם)
binwalk -e firmware.bin
# חפש מחרוזות ASCII כמו "debug", "testmode", "root" וכדומה.
strings _firmware.bin.extracted/* | grep -i -E "debug|test|root|backdoor|secret|cmd"
# אלטרנטיבה: חפש טריגר מג'י
strings _firmware.bin.extracted/* | grep -iE "magic|unlock|password"
נניח שחילצתם קושחה או קבצי יומן ואתם רוצים לסרוק טריגרים לפקודות לא שגרתיות:
import re
with open('extracted_firmware.txt', 'r') as file:
text = file.read()
triggers = ['debug', 'secret', 'cmd', 'unlock', 'bypass', 'backdoor']
pattern = re.compile('|'.join([fr'\b{t}\b' for t in triggers]), re.IGNORECASE)
matches = pattern.findall(text)
if matches:
print("נמצאו טריגרים חשודים אפשריים:", set(matches))
else:
print("לא נמצאו טריגרים ברורים.")
אם יש חשד לשגרה נסתרת בחומרה, הזמן קריאה למערכת מספר פעמים והגדל לחריגים:
import time
import matplotlib.pyplot as plt
timings = []
for i in range(10000):
t1 = time.time()
# החליפו בקריאה החשודה לסיכון
open('/dev/null').close()
t2 = time.time()
timings.append(t2 - t1)
plt.hist(timings, bins=100)
plt.xlabel("זמן ביצוע (שניות)")
plt.ylabel("הי
פוך")
plt.title("התפלגות תזמון לפקודת open()")
plt.show()
חפש קפיצות חריגות שלא מתאימות לחלוקה הצפויה - שיכולות להצביע על פעילות דלת אחורית נדירה.
עקבו אחרי שינויים בקבצי מערכת קריטיים המשמשים לגישה לדלתות אחוריות (למשל, /proc/sunxi_debug של Allwinner).
# עקוב אחרי /proc/sunxi_debug לניסיונות גישה לא שגרתיים
sudo auditctl -w /proc/sunxi_debug -p rwxa -k sunxi_backdoor
# הצגת יומני ביקורת:
sudo ausearch -k sunxi_backdoor
דלתות אחוריות בחומרה מייצגות אחת הקבוצות החמורות והחמקמקות ביותר של איומי אבטחה כיום. הן מנצלות את העמימות, את שרשראות האספקה המתגברות גלובלית ואת המגבלות הבסיסיות של אימות מעשי כדי להישאר בלתי ניתנות לזיהוי - לעיתים קרובות עד שזה מאוחר מדי.
השתקה או הטלת קשיים על איומים אלו דורשים שילוב של ערנות טכנית, שקיפות קהילתית, זיהוי מתקדם ושאיפה לחומרה פתוחה וניתנת לביקורת. בעוד שלעולם ייתכן שאין לך שלמה, שילוב של כלים מעשיים (סריקות קושחה, ניתוח התנהגות), מדיניות ופורנזיקה מתקדמת מקטין משמעותית סיכונים.
להישאר ערנים, לאמת לעיתים קרובות ולדחוף עבור שקיפות בשרשרת האספקה ובעיצוב הם הדרכים הטובות ביותר קדימה עבור ארגונים ויחידים מודעים לאבטחה כאחד.
מילות מפתח SEO: דלת אחורית בחומרה, אבטחת חומרה, השתקת דלתות אחוריות בחומרה, אבטחת שרשרת אספקה, זיהוי סוס טרויא BackupHardware, ניתוח קושחה, הנדסה הפוכה של צ'יפים, חומרה פתוחה, אבטחת סייבר חומרה, דלת אחורית של Allwinner
האם יש לכם חומרה שאתם סומכים עליה? אם לא, כעת אתם מכירים את השיטות, הסיכונים והשלבים הראשונים להשיג ביטחון ג'נוויי בסיליקון תחת המערכות שלכם.
אם מצאתם את התוכן הזה בעל ערך, תארו לעצמכם מה תוכלו להשיג עם תוכנית ההכשרה המקיפה והאליטיסטית שלנו בת 47 שבועות. הצטרפו ליותר מ-1,200 סטודנטים ששינו את הקריירה שלהם בעזרת טכניקות יחידה 8200.