מבוא להנדסת מעוותת BLE למחקרי אבטחה

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

הבנה של אדריכלות ותקשורת

כדי להפוך ביעילות מהנדס מכשיר BLE, עליך להבין קודם כל כיצד BLE פועלת ברמה בסיסית. BLE היא תת-קבוצה של מפרט Bluetooth 4.0+, המיועד לצריכת חשמל נמוכה מאוד.זה משתמש בפרוטוקול ערימה פשוטה המורכב משלושה שכבות עיקריות: שכבת פיזיקל (PHY), שכבת הקישור (LL), ושכבת היישום (אשר כוללת את פרופיל הגנרי (GAP) ואת ג'נר"ט (T) בפרופיל (TT) אך פרופיל).

שכבת הקישורים והפיזיים

שכבת PHY פועלת ב-2.4 GHz ISM ו משתמשת בתדירות הפחתת ספקטרום (FHSS) כדי למזער את ההתערבות. BLE לחלק את הלהקה ל-40 ערוצים: 3 ערוצי פרסום (37, 38,39) המשמשים לגילוי מכשירים ורדיו, ו 37 ערוצי נתונים לתקשורת ממוקדת חיבור.The Link Layers ניהול שידור, חיבור והצפנה.

פרופילים GAP ו- GATT

(FLT:0)Generic Access פרופיל (GAP) ראטמב 1) מגדיר כיצד מכשירים מפרסמים, מגלים והקימו קשרים.מכשירים יכולים לפעול כרשתות שידור (פרסום בלבד), משקיפים (התמיכה), היקפיים (פרסום וחיבור), או מרכזי (חיבורים גמישים ועידודים) (GAP) , LT2Generic Attribute (GA) תצורה של נתונים, כולל תכונות של נתונים, או שימוש בתכונות של LT) קידוד (GAD) ו-D) קידוד (GATT) , כולל תכונות של שימוש בתכונות קריטיות (GATT) קידוד (GATT) קידוד (GATT) קידוד (D) קידוד (D) , כולל שימוש בתכונות של נתונים (D) קידוד (GATT) קידוד (GAD) , קידוד (D) , כולל שימוש בתכונות של תכונות של תכונות של תכונות של שימוש בתכונות של שימוש בתכונות של נתונים (GATT) קידוד (GATT) ו-D.

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

כלים חיוניים להנדסת דרכים

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

חומרה Sniffers

  • (ב) [ה]ה]: [ה] [ה] [ה]] [ה]] [ה]] [ה]]] [ה]] [ה]][ה]]]]][ה]]]]] [ה'[ה']'[ה']'[ה']'[ה']']'[ה']'[ה']'[ה'[ה']']'[ה']']']'[ה'[ה']'[ה'[ה'[ה'[ה'[ה'[ה']']']'[ה'[ה'[ה'[ה']']']'[ה']']'[ה'[ה'[ה'[ה']']']']']'[ה'[ה']']'[ה'[ה']']']']'[ה'[ה']']'[ה'[ה'[ה'[ה']'[ה']']'['['['[']'[ה'[
  • (FLT:0 ;0052840 דוֹג:FLT:1; A Nordic Semiconductor Development Board שיכול להפעיל קושחה מתפתלת (למשל, מתוך כלי NRF Sniffer) הוא אמין מאוד ותומכת בתכונות 5.x כמו פרסום מורחב וטווח ארוך יותר.
  • (FLT:0) Adafruit Blueפרי LE Sniffer:cioFLT:1 , A USB dogle מבוסס על NRF51822, תואם את תוכנת ה-Sniffer של Wireshark ו-Sniffer של Nordic.

כלי תוכנה

  • (FLT:0)Wiresharkmia:FLT:1 פרוטוקול רשת דה Facto.עם ממשק Bluetooth (למשל, Ubertooth או nRF Sniffer), Wireshark יכול לפענח חבילות אפשריות, להציג גילוי שירות ואפילו מסנן על ידי BD כתובת הוא חיוני לניתוח ברמת החבילה.
  • (FLT:0)RF Connect for Mobile/Desktop:BuildFLT:1) שפותח על ידי Nordic Semiconductor, אפליקציה זו מאפשרת לך לסרוק עבור מכשירים אפשריים, להתחבר אליהם, אינטראקציה עם שירותי GATT ומאפיינים.זה לא יקר לחקור את התכונות החשוף של המכשיר ללא קוד.
  • (FLT:0)LightBlue (Punch Through): FLT:1 אפליקציה ניידת חזקה נוספת (iOS/macOS) לחיפוש לקוי.זה גם תומך בתכונות מתקדמות כמו מספרי קריאה/כתיבה, תוך שימת דגש על הודעות, וצפייה בנתונים של hex גולמי.
  • (FLT:0Ghidra / IDA Pro:FearLT:1) לניתוח קושחה, אלה מאגדים יכולים להפוך את קושחית מכשיר BLE מהנדס (לעתים קרובות ARM Cortex-M בינארי) Ghidra הוא חינם פתוח קוד, בעוד IDA Pro הוא מסחרי אבל מציע תסריט מתקדם.
  • (FLT:0)Binwalk:FLT:1 כלי עבור לחלץ מערכות קבצים וניתוח תמונות קושחה.זה יכול לעזור לזהות מערכות קבצים משובצות, מטעני מנעולים ונתונים דחוסים.

תהליך הנדסה הפוכה: מדריך צעד-בי-צעד

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

שלב 1: רנסנס ומידע

לפני לכידת כל חבילה, לאסוף כמה שיותר מידע על המכשיר היעד: היצרן, מודל, מזהה FCC, תיעוד זמין, גרסת קושחה, ותוצאות ידועות.חפש דמעה, גליונות נתונים ופורומים קהילתיים.חפש מזהה FCC של המכשיר ב-FLT:0FCC IDFLT:1 כדי למצוא תמונות פנימיות ותבניות מעגלים.

שלב 2: חומרה קשה (Optional)

אם אפשר, פתח את המכשיר וזיהוי השבב הBLE (למשל, הנורדי NRF52, TI CC2541). לבדוק אם לוח הלוח יש ממשק debug כמו SWD או JTAG שיכול לאפשר לשחיקה. השתמש מנתח לוגי או או או או אווסקליקוסקופ כדי לצפות בקווים UART או SPI בין ה- MCU הראשי ו- השבב ה-BLE זה יכול לחשוף פקודות או תצורה זה לא מועבר נתונים על האוויר.

שלב 3: רכישת תנועה בלתי אפשרית

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

(FLT:0)Important: 1FLT אם המכשיר מצפין את הקשר שלו, ייתכן שיהיה עליך לחלץ את מפתח לטווח ארוך (LTK) מסמארטפון מצמד (באמצעות כלים כמו ערימה Bluetooth או מיצוי מפתח iOS) כדי לפענח את התנועה ב-Wishark.

שלב 4: ניתוח ופרוטוקול

ב Wireshashashark, יש ליישם מסנן תצוגה עבור Bluetooth (למשל, FLT:0) לבדוק את חבילות הפרסום: הם מכילים את שם המכשיר, נתונים ספציפיים היצרן, שירות UUIDs, ולפעמים רמת כוח של TX. אלה יכולים לחשוף את הפונקציונליות המיועדת.אז לנתח חבילות ערוץ נתונים: אשר תכונות GATT נקראות / כתובות, ומהם הם יוצרים מיפוי של שירות UUID כדי לראות את הסיסמאות שלהם.

עבור מכשירים מורכבים יותר, ייתכן שיהיה עליך לכתוב תסריט פייתון באמצעות ספריות כמו FLT:0bleakcioFLT 1 או FLT:2pygattFLT 3 כדי לצרף באופן שיטתי את כל שירותי GATT ולנסות לגרום התנהגויות שונות.

שלב 5: מימוש בעיות וניתוח

אם יש לך גישה פיזית, לנסות לזרוק את הקושחה של המכשיר באמצעות ממשקי debug (SWD / JTAG) באמצעות כלים כגון FLT:0 OpenOCDFLT:1, FLT:2Segger J-LinkearFLT 3, או FLT:4 Black Magic ProbeFevo:5 אם nobug זמין, עבור קוד קושחה עשוי להיות שימוש בקובץ Crun.

שלב 6: Vulnerability Identification

עם שתי לכידת החבילה וניתוח קושחה, להתחיל לחפש פרצות נפוצות:

  • (ב) ,0) Hardcoded או Weak הצפנה Keys:BuildFLT 1:1 הקושחה עשויה להכיל מפתחות סטטיים AES-128 או להשתמש בדור מפתח צפוי.
  • (FLT:0) שיטות מעקב בלתי מאובטחות: FIRLT:1; אם המכשיר משתמש "Just Works" הצמד (אשר מגן MITM), זה פגיע להתקפות מתפתלות ואדם-בקרב.
  • (FLT:0) של Authentication for GATT Operationss:FLT 1:1 כמה מכשירים מאפשרים כתיבה למאפיינים שמשנים הגדרות קריטיות (למשל, דלת נעולה, שינוי סיסמה) מבלי לדרוש קישור או אימות מזוג.
  • (FLT:0)Buffer Overflows in Command Handlers:FLT) 1 שליחת חבילות ממותגות או נתונים גדולים יותר לתכונה עשויה לרסק את המכשיר או להפעיל את ביצוע הקוד.
  • (ב) ניתן לרשום את ה-FLT:1 Commands אשר אינם אותנטיות עם צומת או תזמון או פעמים.
  • (FLT:0)Firmware Update Weaknesses:03: אם עדכונים אינם חתומה או מוצפנים, תוקף יכול לפרוס קושחה זדונית.

שלב 7: בדיקת Exploit ודיווח

לפתח הוכחה של ניצול תפיסה, כגון זיוף חבילה כדי לעורר פעולה בלתי מכוונת.לדוגמה, אם אתה מגלה כי מאפיין מקבל פקודה פשוטה "לא נעול", אתה יכול לכתוב תסריט פייתון באמצעות (FLT:0bleakoriph 1) כדי לחבר ולשלוח ערך זה ללא אימות.

אפשרויות ל-Wal-world

כדי להמחיש את החשיבות של הנדסה הפוכה, הנה כמה פרצות בולטות שנמצאו במכשירים מסחריים.

חסר הכרה ב- GATT Characteristics

מנעולים חכמים רבים ודלתות נמצאו לקבל פקודות על פני BLE מבלי לדרוש הצמדה או הצפנה. בשנת 2019, החוקרים הוכיחו כי מנעול חכם פופולרי יכול להיות נעול על ידי שליחת רצף מסוים על ידי הילוך לתכונה, ללא קשר אם הטלפון החכם היה זוג.סוג זה של פגם מתגלה בדרך כלל על ידי חקר עץ GATT Connect ומנסה לכתוב מאפיינים.

שימוש ב-Static Encryption Keys

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

Replay Vulnerabilities במכשור רפואי

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

שיקולים משפטיים ואתיים

התקנים מרשימים בהנדסה היא טכניקה עוצמתית, אך היא מגיעה עם אחריות משפטית ואתית משמעותית. החוקרים חייבים להיות מודעים לחוקים כגון Digital Millennium Copyright Act (DMCA) בארה"ב וחוק ה- Computer Misuse בארה"ב, אשר עשויים לאסור הדבקה של אמצעי הגנה טכנולוגיים או גישה בלתי מורשית למערכת.

ההנחיות של ה-FLT:0 (IETF) על גילוי הפגיעות של 1:1 מספקות מסגרת טובה להתנהגות אחראית.

טכניקות הנדסה מתקדמות

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

צילום: Side Channels

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

המונחים: Emulation

כלים כמו FLT:0 (UnicornFLT:1 או FLT:2QEMUFLT 3) ניתן להשתמש כדי לחקות קושחה מופקת.זה מאפשר לך לבחון התנהגות, לנגוד מפקדי קומנדו, ולמצוא פרצות ללא המכשיר הפיזי. Emulation הוא שימושי במיוחד כאשר הקושחה הוא obscated במידה רבה או כאשר אתה צריך את הערימה.

בדיקות פשפשות ואוטומטיות

מינוף ממשק BLE יכול לחשוף באגים לא ידועים.כלים כמו FLT:0 [btlejackphFLT] 1 או תסריטים מותאמים אישית ששולחים בקשות GATT ממותגים ניתן להשתמש כדי להדגיש את המכשיר. מטושטש אוטומטי בשילוב עם ניטור התרסקות יכול לחשוף במהירות את באגים זיכרון. גישה זו שימשה לגילוי פגיעויות קריטיות בערימה של Bluetooth (למשל, דחוס ו- Cypress).

הגנה מפני הנדסה הפוכה

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

  • (FLT:0)Use Secure Pairing:FLT:1 תמיד ליישם את קישורים מאובטחים (עם אלפליטי קרב דיפי-הלמן) כדי לספק הגנה MITM. להימנע מ"סתם עובד" יחד אלא אם כן יש צורך מוחלט.
  • (FLT:0) קידוד כל המאפיינים של GATT: אנדרל 1) מארק מאפיינים כצורך הצפנה אותנטית עבור פעולות קריאה / טקס.
  • (FLT:0) ,Implement Application-Layer Security:03FLT:1 , גם אם נעשה שימוש בהצפנה בלתי אפשרית, הוסף קוד אימות חד-פעמי (MAC) או חתימה דיגיטלית כדי למנוע הפעלה מחדש וזיוף.
  • (FLT:0) ,D/JTAG Interfaces on Production Hardware:FLT) 1 Remove SWD/JTAG או Blow e-fuses כדי למנוע שיבושים של קושחה.
  • (ב) ויקרא:0) ,5rmware Integrity Verification:03: ⁇ 1) חתומה על כל עדכוני הקושחה ולוודא את החתימה לפני החלת השימוש ב-חול מאובטח כדי למנוע הפעלת קוד מחוספס.
  • (ב) [ה]ההגנה על המשחק: [ה]: [ה], [ה], [ה], [ה],] תכלול ניגוד מונוטוני או כפלה בכל פקודה ודחיית הודעות ישנות.

מסקנה

מכשירים להנדסה הפוכה Bluetooth אנרגיה נמוכה היא משמעת תובענית אך מתגמלת מאוד במחקר אבטחה.על ידי שליטה בערימה פרוטוקול BLE, שימוש בכלים כמו Ubertooth ו Ghidra, ולאחר תהליך ניתוח מובנה, החוקרים יכולים לחשוף פרצות נעות נעות בין אימות חסר למפתחים קודמונאליים.הידע צבר לא רק מסייע להבטיח מוצרים בודדים אלא גם מניע שיפורים במערכת האקולוגית הרחבה יותר.