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

הבנת אדריכלות ואחסון מדיה

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

  • (FLT:0SPI Flash (Serial Peripheral Interface): 1 Widely בשימוש נתבים, מרכזי בית חכמים, ומכשירי IoT בשל טביעת הרגל הקטנה שלה ספירת הסיכות הנמוכה שלה. צ'יפ טווח בין 1 MB ל-64 MB, לעתים קרובות מאורגן ב 256 KB ל 256 MB 4 .FI פלאש הוא קל יחסית לקרוא עם מתכנתים או תוכנה באמצעות פקודות אם CPU מספק גישה.
  • (FLT:0 NAND Flash:BuildFLT:1) נמצא במכשירים בעלי יכולת גבוהה יותר כגון תקליטי וידאו ברשת, טלוויזיות חכמות וכמה נתבים מתקדמים. NAND פלאש יש צפיפות גבוהה יותר (128 MB ל-8 GB או יותר) אבל דורש טיפול מורכב יותר עקב ניהול בלוק רע, ללבוש רמת ריצוף, וקוד תיקון שגיאות (ECC) דרישות.
  • (FLT:0)NOR Flash:FLT:1 בשימוש במכשירים מורשת וכמה מיקרובקרים. NOR מאפשר גישה אקראית ומהירויות קריאה מהירות, אך הוא יקר יותר עבור הילוך.זה נפוץ שבבים קושחה נמוך (MB-16 MB) עבור קוד כוח.
  • (FLT:0) ו- SD NAND:FearLT:1 Managed פתרונות פלאש הכוללים בקר ו- Wear-level Logic פנימי.הם מופיעים כמכשירים סטנדרטיים בלוק והם משמשים בדרך כלל בסמארטפונים, טאבלטים ומחשבים חד-boardיים.
  • (FLT:0Microcontrollers with On-Chip Flashir:FLT) 1 מכשירים קטנים רבים מכילים MCU עם זיכרון פלאש משולב.פלט בדרך כלל דורש ממשקי debug (SWD, JTAG) או פרצות מטען.

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

הכנת מימון תוכנה

החילוץ הקושחה מוצלח דורש הכנה זהירה כדי למנוע נזק למכשיר או להשחית נתונים.שלבים בסיסיים כוללים:

  1. (FLT:0) מסמך ומקורות קהילתיים: FIRLT:1 ; חיפוש אחר גליונות נתונים, דיאגרמות סכימטיות, ודמיע קטעי וידאו מהיצרן או ממקורות של צד שלישי.קהילות מקוונות כמו פורום OpenWrt, r / Embedded subreddit, ואת המשרד אבטחה GitHub repositories לעתים קרובות מכילים סיכות מפורטות ותהליכי החילוץ פופולריים עבור מכשירים.
  2. (FLT:0) כלי זהירות: FLT:1 בהתאם לשיטת החילוץ, ייתכן שיהיה צורך מתכנתים פלאש SPI (למשל, CH156A, פיראטי אוטובוס), JTAG debugger (Segger J-Link, OpenOCD עם FT2232H), מתאם UART-to-USB (CP2102 או FTDI), או ניתוח לוגיקה בין שבבים) ל-DSic (S) ל-S.
  3. (FLT:0) כלי תוכנה: FLT:1 כלי התקן כגון binwalk (למיצוי חתימה), GNU binutils (objdump, מחרוזת), קושחה-מודול (עבור תמונות מערכת קבצים בלתי ארוז), ומסגרת disa להרכיב / אנליזה כגון Ghidra או IDA Pro. רבים של כלים אלה זמינים על לינוקס ו- mac.
  4. ידע אלקטרוניקה:0 (FLT:1hilrity with Soldering, desoldering, וזיהוי סיכות IC חיוני עבור חומריה מבוססת הבנת רמות מתח (3.3V לעומת 1.8V עבור צ'יפס מודרני) ואת הסיכונים של ESD וקצרים.
  5. (FLT:0) פרקטיקה יעילה של עיבוד:FLT:1 תמיד לקרקע את עצמך לפני העבודה עם אלקטרוניקה פתוחה. השתמש בעדשה מגדלת תאורה נאותה עבור רכיבים בסדר גודל.אם באמצעות מתכנת, לאמת את ההיערכות עם רבמטר או oscilloscope לפני ניסיון קריאה.

שיטות למיצוי של Firmware

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

תוכנה מבוססת תוכנה: עדכון תוכן

מכשירים צרכניים רבים מספקים עדכוני קושחה רשמיים באמצעות אתר האינטרנט של היצרן או באמצעות מנגנון OTA (Over-the-air).מיצוי קושחה מקובץ עדכון הוא לעתים קרובות הגישה הפשוטה ביותר ואינו דורש גישה פיזית למכשיר.עדכון קבצים בדרך כלל יש הרחבות כגון FLT:0,FLT:1,FLT:2, או FLT 3 הם עשויים להיות, או מוצפנים, או להכיל קובץ דחוס בתוך מערכת.

כדי לעבוד עם קבצים אלה, הורד את העדכון האחרון של דף התמיכה של היצרן. השתמש עורך Hex או כלי כותרת כגון FLT:4 ו FLT:5 כדי לבחון את הקסם של הקובץ.

  • (ב) ויקרא י"א: "בְּהָיָה אֱלֹהִים אֱלֹהִים" (במדבר כ"ד, כ"ד)
  • (ב) ,0) ,U-Boot תמונה: FLT:1, בדרך כלל מתחיל עם (FLT:8) וכולל ראש עם כתובת עומס ונקודת כניסה.
  • (ב) ⁇ (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

כלי כמו Binwalk (ראה:0)GitHubrovalFLT:1) יכול לסרוק באופן אוטומטי עבור חתימות ידועות ולהפיק קבצים משובצים.לדוגמה, הפעלת FLT:11 ישלח באופן חוזר את כל הקבצים ומערכת הקבצים שנגלו.הקושחה-מודול-kit (FLT:2GHubFLT 3LT) מספק תסריטים ל-RRAP חבילה ו-RRAS, מה שהופך את ה-Squaretexa-mod-mod-Cre-mod-Cre-Cre-Cre-CRADIQ (FLT) ל-CRAP.

מיצוי מבוסס חומרה: UART, JTAG ו SPI

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

UART (Universal Asynchronous Acceptr/Transmitter)

UART הוא ממשק תקשורתי סדרתי נוכח ברוב המכשירים המוטבעים, לעתים קרובות בשימוש עבור debug boug או כרטיס קונסולת ה-Gate pins (TX, RX, GND, ולפעמים VCC) מאפשר לך אינטראקציה עם ה-חול של המכשיר או מערכת ההפעלה של מכשיר פגז, אם ה-Taloader חושף פקודות, ייתכן שתוכל לזרוק זיכרון פלאש או תמונות עומס מותאם אישית.

JTAG (Joint Test Action Group)

(ג) מספק גישה ישירה לנמל ה- CPU, המאפשר זיכרון קורא / טקסים והדרכה ניתוק.זה שיטת החילוץ החזקה ביותר כי הוא יכול לקרוא את כל מפת הזיכרון, כולל פלאש, RAM, ורישום. רוב ARM, MIPS, ומעבדי RISC-V תומכים ב- JTAGout, אם כי ניתן להסתיר את הסיכות תחת מגן או מסומן עם נקודות מבחן (JTAD) עם JGDOD.

SPI Flash Direct Reading

עבור מכשירים עם שבבים חיצוניים SPI, הסרת פיזית או צג על השבב כדי לקרוא את התוכן שלה עם מתכנת הוא פשוט. השתמש קליפ SOIC (8-pin או 16-pin) המצורף למתכנתים כמו ה- CH41A.להבטיח שבב היעד מופעל ותוכנית ה-Switchsss מופעלת בדרך כלל למתח הנכון (3.3V הוא סטנדרטי) לקרוא את כל הזיכרון באמצעות תוכנת פלאשרו (Fal:0 רשמי דגלים) אשר עשויה להכיל כמה בלוקים אלה).

טכניקות חומרה אחרות

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

ניתוח תוכנה

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

בדיקה ראשונית עם Binwalk ו Strings

(הופנה מהדף מחיקת קבצים משובצים, אלגוריתמים דחיסה ותמונות מערכתיות של Binwalk , מסד הנתונים של Binwalk מכסה פורמטים נפוצים כגון SquashFS, JFFS2, CramFS, Gzip, LZMA, ו-ElF exetableables.com יכול להציג קוד פתוח או להסיר את כל הרכיבים שנמצאו ב- API לאחר , השתמש ב-F:16 כדי לחפש קוד זדוני, לדוגמה, אשר עשוי להצביע על ידי קוד זדוני, כדי להציג קוד זדוני, אשר עשוי להציג קוד זדוני, לדוגמה, אשר עשוי להציג קוד זדוני, כגון:

בדיקת מערכת והורדת

רוב המכשירים לינוקס מוטבעים משתמשים במערכת קבצים לקריאה בלבד (SquashFS) עבור שורשפים וחלוקה ערמומית (JFFS2 או UBI) עבור תצורה.לאחר החילוץ באמצעות binwalk, אתה יכול להרים את התמונה SquashFS כדי לגלוש קבצים: FLT 18 לבחון ברירת מחדל עבור שרתי אינטרנט, CGIs תסריטים, תצורה (FLT, LTFRE) ו-Texreta, LTXL) LTXLXL, , LTXL, , , LTXLXL, , , LTXL, LTXLXL, , , , , LTX , , , , LTXLXLXLXLXLXL, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , .

הערכה ואנליזה סטטית

(ב) מחקר של פגיעות מעמיקות, ביטול האתר העיקרי (לעתים קרובות שרת אינטרנט כמו FLT:22 או FLT:23) באמצעות Ghidra (FLT:0Ghidra אתר אינטרנט ראשי תיבות של:0Ghidra) או IDA Pro.זהה ארכיטקטורת CPU מעמודי נתונים של ספקול (קיצור ARM, MIPS, או Xsaph) ל-Fratectr) מנגנוני בקרה ו-Compleream (התחילהתיקים, כולל מחסנים).

אם הקושחה משתמשת במערכת הפעלה בזמן אמת (RTOS) במקום לינוקס, ייתכן שלביארי אין מערכת קבצים בכלל – רק תמונה מונוליטית המכילה את הקרנל וכל המשימות.במקרים כאלה, כלים לא סבירים יכולים לעזור לזהות נקודות כניסה, פונקציות לוח זמנים, וחסימות בקרה המשימה. השתמש בכתובת העומס של קושחה (לעתים קרובות בתחילת הבזק) כדי לשחזר את ה disassembly כראוי.

ניתוח דינמי באמצעות Emulation

⁇ מאפשר ביצוע בטוח של קושחה בסביבה מבוקרת ללא החומרה הפיזית.כלי כמו QEMU (עם מצב מערכת עבור ארכיטקטורות CPU ספציפיות), Fuzzware, או מסגרת Avatar2 יכול להפעיל תמונות קושחה מבוססת לינוקס, ייתכן שיהיה עליך לספק מערכת קובץ שורש מינימלית מערכת קבצים מתאימה ו- kernelative User-de QEMU כדי להפעיל פרטים מ-Fed קושחה: LT זה יכול לכלול מערכת הפעלה מתאימה של קבצים סטנדרטית שירות.

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

זיהוי Vulnerabilities

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

  • (FLT:0) אישורים קודקודים: FLT:1 דלתות שמות משתמש וסיסמאות שנמצאו בממשקים ברשת או שירותי טלנט / SSH. דוגמאות: admin / מנהל, שורש / פאסמה, או חשבונות נסתרים לתמיכה OEM.
  • (ב) ,0) ,UFLT:1 ו- Web Interface הפרמטרים (למשל, ping, track Path) עברו ללא סייג לפקודות.
  • (ב) [15] ,ב"ח: ⁇ : ⁇ : ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • מנגנוני עדכון קושחה:0 [ה] ללא ביטחון: [ה] עדכונים סיפקו יותר מ-HTTP ללא אימות חתימה, מה שמאפשר התקפות של אדם-בקרבה.
  • (ב) הסלמה:0 (Privilegeהסלמה: FLT:1 Web Services פועל כשורש עם קבצים תצורה מעצבת בעולם.

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

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

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

שיטות מחקר מוסריות כוללות:

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

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

מסקנה

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