Table of Contents
הקדמה: התפקיד הבסיסי של הנדסה הפוכה ב Cybersecurity
הנדסה הפוכה היא תהליך של הפקת ידע או עיצוב טביעות אצבע ממוצר גמור.כאשר הוא מיושם בתוכנה, זה כרוך בניתוח בינאריות מודפסים כדי לשחזר את ההיגיון שלהם, התנהגותם, מבנה ללא גישה לקוד המקור המקורי.In אבטחת סייבר, משמעת זו חיונית לאיתור פונקציונליות מוסתרת, דלתות אחוריות, ותכונות זדוניות אחרות כי שחקנים איומים עלולים להטמיעו בכוונה בתוך יישומים לגיטימיים לכאורה לתוכנות קוד פתוח וגלוג'אנרכיסט פתוח, כדי לענות על ידי אנליסטים מתקדמים באופן יעיל, כדי להגיב באופן אוטומטי, כדי להגיב באופן אוטומטי, באופן אוטומטי, כדי להגיב על ידי אנליסטים מתקדמים, ואפקטיביים של אבטחה מתקדמת, ואפקטיביים, כדי להגיב באופן שיטתי, ואפקטיביים של אבטחה מתקדמים, ואפקטיביים, כדי להגיב באופן שיטתי, ואפקטיביים של אנליסטים מתקדמים, ואפקטיביים של מערכות אבטחה מתקדמים, ואפקטיביים של אבטחה מתקדמים, ואפקטיביים של אנליסטים מתקדמים, ואפקטיביים באופן שיטתי, ואפקטיביים מתקדמים, ואפקטיביים, כדי להגיב באופן אוטומטי, כדי להגיב באופן אוטומטי, כדי להגיב באופן אוטומטי, ואפקטיביים של אבטחה מתקדמים, ואפקטיביים של אבטחה מתקדמים, כדי להגיב באופן אוטומטי, ואפקטיביים, ו
מדריך מורחב זה מספק עומק לתוך המתודולוגיות, הכלים והטכניקות המשמשות לנתח תוכנה מונדסית לאחור עבור פונקציונליות מוסתרת ודלתות אחוריות. אנו נכסה את העקרונות הבסיסיים של הנדסה לאחור, אסטרטגיות לגילוי תבניות קוד מאוישים, ארכיטיפי אחורי משותף, סביבות ניתוח מתקדמות, ושיקולים משפטיים.
הבנה של הנדסה הפוכה: מושגים וגישות
דיסמבול, Decompilation, ו- Binary Analysis
הנדסה הפוכה מתחילה עם המרת קוד מכונה לצורות אנושיות קוראות. דיסמברליותFLT:1 תרגם הוראות בינאריות לשפה של הרכב, בעוד ש-FLT:2decompilationFLT 3 ניסיונות לשחזר קוד ברמה גבוהה יותר, כגון C או C++ הן חיוניות לשלבים שונים של ניתוח.
פלטפורמות ניתוח בינאריות מתקדמות, כגון FLT:0GhidraFLT (מתפתח על ידי NSA) ו-FLT:2IDA ProveFLT 3:, לשלב disassembly עם decompilation אינטראקטיבי, חוצה-referencing, ונוף גרפי.
Static vs. Dynamic Analysis
(ב) ,0) ניתוח סטטי של ההרחבה: (FLT:1) כולל ניתוח קוד ונתוני של בינארי ללא הפעלתו.זה שימושי לאיתור דגלים אדומים ברורים: יבוא יוצא דופן (למשל, ייבוא יוצא דופן:0, גילוי FLT:1, FLT:2 פונקציות בהקשרים בלתי צפויים), כתובות IP או אישורים קשים, חשדנים, וסימנים חשודים, קוד זדוניים, אשר משתמשים בטכניקות חסוכות כגון מטושטשות, כגון הצפנה, חסימת בקרה סטטית, כגון הצפנה, שימוש בטכניקות חסימתיות, חסימתיות, נוקשות, שימוש בתוכנות נוקשות, כגון הצפנה, שימוש בתוכנות חסימתיות, נוקשות, כגון הצפנה, נוקשות, שימוש בטכניקות נוקשות, שימוש בתוכנות של הצפנה, נוקשות, נוקשות, נוקשות, , נוקשות, נוקשות, , כגון הצפנה, קידוד, שימוש בטכניקות של שימוש בתוכנות של שימוש בתוכנות של שימוש בתוכנות של שימוש בתוכנות של שימוש בתוכנות של שימוש בתוכנות של שימוש בתוכנות של הצפנה, קידוד, קידוד, כגון הצפנה, קידוד, קידוד, קידוד, קידודים, קידודים, קידוד, קידוד, קידוד, שימוש בתוכנות
(בשיתוף) [ה]:0 [ה] ניתוחי אנליזה [ה] [ה] [ה] [ה] [ה]] [ה]] [ה]] [ה]]]] [ה]]], לעומת זאת, מבצע את התוכנה בסביבה של ארגז חול מבוקרת, המאפשרת לאנליסטים לקיים שיחות מערכת בפועל, חיבורים לרשתות, ולקבוע את הדוגמאות הללו, אך ורק ל[[ה], [ה] את ה[[ה], ו[[ה], ו[[ה[[ה"ה"ה"ה"ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[ה[[המאה ה[[המאה ה[[המאה ה[[ה[[ה[[המאה ה[[המאה ה[[המאה ה[[ה[[המאה ה[[המאה ה[[המאה ה[[המאה ה[[המאה ה[[המאה ה[[ה"ב[[המאה ה[[ה[[המאה ה[[ה[[המאה ה[[המאה ה[[המאה ה[[המאה ה[[המאה ה[[המאה ה[[המאה ה
מיפוי פונקציונליות נסתרת: תבניות ואינדיקטורים
שיחות API לא רגילות ואינטראקציה מערכתית
(הפונקציונליות הנסתרת לעיתים קרובות באה לידי ביטוי כקריאות בלתי צפויות להפעלת ממשקי API של מערכת ההפעלה, לדוגמה, שימוש פשוט כמו עורך טקסט לא צריך לעורר פונקציות כגון FLT 3 (מניפולציה של Windows), FLT:4 (זריקת תהליכים), או (FLT:5 (רישול נינג'ה) אנליסטים צריכים להרכיב בסיס של שימוש צפוי של API עבור המטרה ה-F של כל סטיות:2F) באופן אוטומטי, כגון:
בלינוקס אלF בינאריות, פונקציונליות נסתרת עשויה לכלול הוראות ישירות FLT:6 על ידי עטיפה סטנדרטית של הליבידות, או השימוש של FLT 7 למטרות נגד פיזור.
קוד והצפנה בסעיפים נתונים
התוקפים לעתים רחוקות מאחסנים מטענים זדוניים בטקסט רגיל, הם משתמשים ב-FLT:0 (obscation: 1) כדי להסתיר את כוונתם האמיתית של פלחי הקוד.
- (FLT:0) ההצפנה:FLT:1 , כתובות רגישות, פקודות או כתובות IP מאוחסנות כקידוד מערךים ומפופצים רק בזמן ריצה.מספר גדול של שיחות לקריפטציה (למשל, לולאות XOR, אלגוריתמים דמויי AES) הוא אינדיקטור חזק.
- (FLT:0) obsfuscation זרימה זרימה של זרימה זרימה (ראה להלן: 1:1 גרף זרימה של בינארית הוא מסובך בכוונה עם חומרים מסובכים (תנאים שתמיד מעריכים את אותה התוצאה אבל מופיעים מותניים) וחיבור קוד מת.זה מעכב ניתוח סטטי ופירוק אוטומטי.
- (ב) [13] ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) ,נצלבו או דחוסים נתונים: ⁇ 1 (ה) נפיחות גדולה של נתונים בעלי ביצועים גבוהים ב-FLT:10 או FLT:11 חלקים לעתים קרובות מכילים מטענים, קבצי תצורה, או כלי ניתוח exeable נוסף.
אנליסטים צריכים להשתמש בחישוב אנטרופי (למשל, ב-Ghidra's FLT:0) EntropyciopyveFLT 1 תסריט או FLT:2binwalkirFLT 3) כדי לזהות אזורי נתונים חשודים.כל בלוק עם אנטרופיה קרוב ל-8 סיביות ל-itropy קרוב ל-to מצביע על הצפנה או דחיסה, תוך מתן נית נוספת לאיתור פענוח.
הוצאות להורג וטריגר מכניזם
פונקציונליות מוסתרת עשויה להישאר רדום עד למצב מסוים הוא נתקל: גורמים נפוצים כוללים:
- (ב) תנאים: 0 (Date/time:FLT:1hil Code) בודק את זמן המערכת הנוכחית ורק מפעיל לאחר תאריך מסוים, או במהלך חודש מסוים.
- (FLT:0) רישום מפתחות או קבצים:FLT:1) התוכנה בודקת את נוכחות מפתח רישום מסוים, קובץ או משתנה סביבה.
- (FLT:0) רזולוציה של שם התחום: FLT:1; בינארי פותר דומיין ורק מתקדם אם ה- IP המתקבל תואם ערך שנקבע מראש (C2).
- (FLT:0User קלט ערכי קסם: FLT:1 בתפריטים נסתרים או מצבי דה בווג שהופכים לזמינים כאשר המשתמש נכנס לסיסמה מסוימת או רצף של מפתחות.
(ב) כדי לאתר את ההדקים הללו, אנליסטים יכולים לחפש הוראות השוואה (FIRLT:12, ⁇ ; ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
זיהוי דלתות: סוגים, מאפיינים וטכניקות זיהוי
הרדקודד Credentials ו- Authentication Bypass
אחד הסוגים הפשוטים ביותר של דלתות אחוריות הוא הכללה של אישורים קשיחים - שמות משתמש, סיסמאות או מפתחות קריפטוגרפיים - המעניק גישה גבוהה.אלה יכולים להיות מוטבעים בתוך בינארי (טקסט או obscated) או נגזר ערך זרע.לדוגמה, שירות רשת בינארי עשוי להכיל סיסמה סטטית, כאשר נכנס, ע"י אימות רגיל ומספק שליטה מנהלית.
כלים כמו FLT:0 stringsFLT:1 הם נקודת התחלה, אבל התוקפים לעתים קרובות פיצול מיתרים על פני מיקומים מרובים או קודר אותם עם מפתחות XOR פשוטים. גישות חזקות יותר כרוכות מעקב זרימת נתונים מ buffers קודר קשה כדי להשוות פונקציות. לדוגמה, לולאה השוואת אופי על ידי סופר כי משווה את הקלט המשתמש נגד hex-codeed הערך הוא סימן קלאסי של כיסוי מוסתר של מצופה אחורי.
תקשורת חשאית וקומנדו; שליטה (C2)
דלתות אחוריות לעיתים קרובות קובעות קשרים בולטים לשרתים הנשלטים על ידי התוקף לקבל פקודות או נתונים מרשימות.תקשורת זו מוסתרת בדרך כלל בתוך פרוטוקולים לגיטימיות (HTTP, HTTPS, DNS) או להשתמש בפרוטוקולים מותאמים אישית על יציאות שאינן סטנדרטיות.זיהוי כולל חיפוש:
- (ב) [ה] ב[[1924]], [[1924]], [[1924]]]], [[1924]], [[1924]]]], [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]
- (ב) שאילתות:0) שאילתות: 1:1 חלק מדלתות אחוריות מקודמות נתונים בבקשות DNS, במיוחד באמצעות שימוש ב-FLT:2DNS מנהרה FLT 3 , חפש שמות דומיין יוצאי דופן עם תת-קרקעית tropy או תבניות השאילתה גבוהות.
- (ב) HTTP GET/POST מבקשות לדומיינים לא ידועים: FLT:1, בינארי עשוי לבנות מחרוזת או עוגיה של משתמש המכילה משואה מקודדת.
- (FLT:0) פעולות כל כךcket:FLT:1 Code אשר בונה באופן ידני חבילות IP עקפות ספריות רשת ברמה גבוהה יותר.
במהלך ניתוח דינמי, כלי סימולציה ברשת כמו FLT:0 (INetSimofFLT) 1 או (FLT:2FakeNet-NGFLT 3: 3) יכולים ליירט את הקשרים האלה ולהגיב עם נתונים מבוקרים, מה שמחייב את הדלת האחורית לחשוף את שפת הפיקוד שלה.בנוסף, ארגזי חול עם חיקוי רשת יכולים להקליט את כל התנועה לבדיקה מאוחרת יותר.
תהליך הזרקת תהליכים ו Persistence Mechanisms
(ב) ,במסגרתו של תהליך אחר (הזרקת תהליכים) היא בעיקר גניבה.טכניקות הזרקת Common כוללות את ה-FLT:0CreateRemoteThreadFLT:1,FLT:2Set WindowsHookExFLT 3:0 AppateRemoteThreadeThreadeThreadeThreadeThreadsFLT:5, ו-FLT6Dloads, כדי לא להיות â, to be to be to be to be to be to be to be to be to be to be LTs to be to be to be to be to be to be to be to be to be to be to be to be to be to be to be to be to be to be to be to be to be LT
מנגנוני אחריות להבטיח כי דלת אחורית תשרוד מחדש.הם כוללים יצירת משימות מתוכננות, שירותי Windows, מפתחות הרישום, סוכני שיגור ב-macOS, או עבודות גולגולת על לינוקס.חיפוש אחר שינויים במרשם (FLT:20) או יצירת קבצים בספריות הסטארט-אפ היא קריטית.
לוגיקה דלת אחורית בVirtualized או Custom Interpreters
(הופנה מהדף ה-FLT:0XcodeGhostFLT:1ware (אשר נגוע באפליקציות iOS באמצעות מתקין Xcode) או ה-FLT:2FlamewaveFLT 3: 3R:3 כלי ריגול (שדבקו באפליקציות אנטי-וירטואליות ומתורגמן מותאם אישית כדי להסתיר את ההיגיון הבסיסי שלהם במקרים כאלה, העומסים בינאריים רק על ידי מתורגמן קטן, אשר מוצפן, הוא רק על ידי מוצפן מוצף, ורק על ידי מוצפן מוצפן מוצפן מוצפן מוצפן מוצפן מוצפן ומתרגם מוצפן מוצפן, הוא רק על ידי מוצפן מוצפן מוצפן מוצפן מוצפן קטן, הוא רק על ידי מוצפן מוצפן מוצפן מוצפן מוצפן מוצפן מוצפן מוצפן, ורק על ידי מוצפן מוצפן מוצפן מוצפן דינאמי, ורק על ידי מוצפן די מוצפן דינאמי, ורק על ידי מוצפן מוצפן מוצפן מוצפן מוצפן מוצפן מוצפן מוצפן מוצפן מוצפן מוצפן מוצ
כדי לנתח את אלה, חוקרי אבטחה לעתים קרובות משלבים פענוח עם מחיקת זיכרון.הפסקות נקבעות לאחר שגרת הפעוט של הקוד, ואת אזור הזיכרון המקודש נזרק לניתוח סטטי. מסגרות אדציה כמו FLT:0Unicorn EngineFLT:1 יכול לשמש גם כדי לבצע את הצעד הבא-by-by-by-in-by-in-ining בסביבה מבוקרת, כל פעולה כדי לשחזר את האלגוריתם הנסתר.
כלים וטכניקות לניתוח In-Depth Analysis
מפיצים ו Decompilers
- (FLT:0)Ghidra:FLT:1 חינם, קוד פתוח הנדסת תוכנה לאחור מ NSA. מציעה decompiler חזק עבור x86, ARM, MIPS ואחרים.
- (FLT:0)IDA Proeur:FLT:1 התעשייה סטנדרטית לניתוח סטטי.במיוחד שימושי לזיהוי פונקציות הספרייה ולתסריטי IDC /IDAPython החזקים שלה.
- (FLT:0) נינג'ה בינארית: FLT:1 ידוע בשפת הביניים האינטואיטיבית שלו (BNIL) ואדריכלות המודרנית של תוסף זה מצוין עבור ניתוח סטטי וקלורי.
ניתוח דינמי ווויכוח
- (FLT:0)x64dbg:FLT:1 קוד פתוח מפוברק עבור Windows.כלל תכונות מתקדמות כמו הקלטה, נקודות מצב, ו ScyllaHide עבור עקף אנטי-מדבקות.
- (ב) [15] [17] , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ :0) ,Valgrind / ד"ר זיכרון: זיכרון: ⁇ 1 לזיהוי שגיאות זיכרון ופרופיל, אשר יכול לחשוף דלתות אחוריות שמבנים זיכרון מושחתים.
- (FLT:0)API Monitor: לכידת כל שיחות ה- API שבוצעו על ידי תהליך, סינון על ידי מודול או קטגוריה. שימושי לזיהוי התנהגות נסתרת הקשורה לתפקודי מערכת ספציפיים.
מעקב ברשת ו-Sandboxing
- (FLT:0)INetSimmia: FLT:1 סימולט שירותי רשת משותפים (HTTP, DNS, SMTP) כדי ללכוד ולהגיב לניסיונות תקשורת.
- (FLT:0)Cuckoo Sandbox:FLT:1 , פלטפורמת ניתוח קוד זדוני אוטומטית שיכולה להפעיל ניתוח דינמי עם דיווח התנהגותי.עם זאת, דלתות אחוריות רבות לזהות סביבות וירטואליות; לכן ניתוח ידני עדיין נדרש.
- (FLT:0)Wireshark / tcpdump:031 עבור בדיקה בחבילה נמוכה. a Single DNS שאילתה לדומיינים חשודים יכולה להיות הרמז הראשון לחזרה.
Entropy, String, and Structural Analysis Tools
- (FLT:0)PEStudiomia: FLT 1:1 ניתוח קובץ Windows PE; דגלים חשודים כמו יבוא שחור, חלקים רופפים גבוהים, שמות חלקים מוזרים.
- (ב) ⁇ :0) ⁇ : ⁇ (ב) ⁇ (ב) ⁇ (ב) ⁇ (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0)YARA:IRFLT:1 , מנוע השוואת דפוס לזהות משפחות קוד זדוני.לכתוב כללי YARA המבוססים על מיתרים הייחודיים של דלת אחורית או קוד, יכולים לעזור לסרוק מחדשים גדולים במהירות.
- (ב) מסך אדום של מנדיאנט: 1 Analyzes PE קבצים עבור רצף estropy חשוד.
אתגרים ב-Reverse Engineering Software for Hidden Functionality
טכניקות הנדסה אנטי-יקום
סופרים מודרניים קוד זדוני מעסיקים סוללה של טריקים כדי לעכב ניתוח:
- (ב) ויקרא (ב) ל"ד' (ב"ד)" (ב"ב, כ"ד) ב[[1924]], [[1924]], [[1924]], [[1924]], [[1924]]]]
- (ב) [ה]ה']: [ה'] [ה'] [ה'] [ה']'[דרוש מקור]]], [ה'], [ה']'[ב[[1924]], כ"ד], ו[[1924]], ו[[1924]], [[1924]]
- (FLT:0) בדיקות מותאמות: פונקציונליות מוסתרת 1FLT עשויה רק להפעיל לאחר מספר מסוים של דקות של זמן ריצה, או לדרוש אינטראקציות ספציפיות של משתמשים כדי לזרז ניתוח אוטומטי.
- (FLT:0) מוצף ומוצפן בינארי: ⁇ 1 (המתג) דחוס או מוצפן עם חבילה (UPX, Themida, VMProtect) הקוד האמיתי מתגלה רק בזיכרון לאחר הניתוח שטרם ארוז מבוצע.
כדי לעקוף את אלה, אנליסטים צריכים לשלב ללא אריזה סטטית (באמצעות כלים כמו FLT:0unpac.meFLT:1) עם דינמיקה (השלבה לאחר FLT:2 מקוריים נקודת כניסה נקודת ראוות FLT 3: 3 (OEP) מגיע כמה אנליסטים להשתמש במזחלבונים כגון LT4Slacio:5 כדי לבנות מחדש את הניתוח סטטי על דיסקרטי.
שיקולים משפטיים ואתיים
(התוכנה להנדסה הפוכה שאין לך או רשות מפורשת לנתח חוקי זכויות יוצרים, הסכמי רישיון למשתמש קצה (EULAs), או הוראות למניעת תיווך. חוקרי אבטחה חייבים לפעול בתוך גבולות משפטיים: רק לנתח תוכנה שיש לך זכות לגיטימית, כגון קוד משלך, בינאריים שהתקבלו תחת ביקורת מוסמכת, או קוד פתוח עם רישיונות רשיונות לגיטימיים.
מחקרים אמיתיים: שיעורים מדלתות לא ניתנות להשגה
אוריון השמש (2020)
תקיפת שרשרת האספקה של השמשווידס הייתה מעורבת בהזרקה של דלת אחורית (הכוללת:0SUNBURSTFLT:1) לתוכנה ניטור של Orion.הקוד הזדוני היה חבוי בתוך חתימה דיגיטלית לגיטימית וכלל טכניקות ⁇ מתוחכמת: הוא נשאר רדום במשך שבועיים כדי למנוע ניתוח בתיבת חול, אלגוריתמים משומשים (DGA) עבור C2, וקודד עם התאמות מתקדמות של חברות לוגיות אחרות, אשר הצליחו לזהות את ההצפנה מסוג X-ER (R) אשר הובילו לעדכונים של מערכות לוגיות אחרות.
XcodeGhost (2015)
התוקפים הסינים ספגו את סביבת הפיתוח של Xcode, תוך הפצת קוד זדוני לאפליקציות iOS שנאספו עם הגרסה הנגועה.הלוגיקה הזדונית הוסתרה בתוך מסגרת הפיתוח של Xcode:25 ואסף מידע על המכשיר, ושלחה אותו לשרתי C2 באמצעות ניתוח HTTP מוצפן של מאך-O בינאריים הפגינו יבוא בלתי צפוי של FLT:26 ו-FLT:27 בדרך כלל לא נעשה שימוש על ידי ספריית גרפיקה מוצפנת, אפילו כדי להציג את האישורים נסתרים.
Best Practices for a Systematic Reverse Engineeringflow
- (FLT:0) ,Establish a Baseline:FreaLT:1 נבין מה הפונקציונליות הלגיטימית של התוכנה צריכה להיות. Review תיעוד, להשוות עם גרסאות נקיות אם זמין, ולזכור את כל שיחות ה- API הצפויות.
- (FLT:0) , 3age סטטי סטטי: FLT:1 Run PEStudio, לבדוק חלקים ארוזים או גבוהים, לבחון יבוא וייצוא, ולהפיק את כל המחרוזת שניתן לקרוא.
- (FLT:0) ניתוח סטטי מפורט:FLT:1 לטעון את בינארי בג'ידר או IDA. לזהות נקודות כניסה, בנייה / חיקוי פונקציות, ונתיבי קוד קריטיים.חפש העדפות חשודות לפונקציות מיובאות.
- (FLT:0) ניתוח דינמי בתיבת חול:ראהFLT:1 , להגדיר סביבה מבודדת בטוחה (למשל, VM עם יכולת רולבק) השתמש ב- API ומוניטור רשת.
- (ב) ,0) , 000 ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0) ממצאי דו"ח מפורט עם קוד snippets, התקשר גרפים, IOCs. זה חיוני לתקשורת עם קבוצות תגובה אירוע ולהליכים משפטיים.
מסקנה: The Indispensable Skill of Reverse Engineering
ניתוח תוכנה הפוכה לזיהוי פונקציונליות נסתרת ודלתות אחוריות הוא מחמת ליבה בתחום אבטחת הסייבר המודרנית.כפי שהתקפות שרשרת האספקה צומחות יותר מתוחכמת ויריבים מטביעים מנגנונים שודדים, היכולת לנתק את הבבליות באסיפה ורמת ייצוג ביניים הופכת לבלתי-ניגנטיות.גילוי יעיל דורש שילוב של ניתוח סטטי ודינמי, ערכת כלים מוצקה, עקשנות, והבנה עמוקה של שני המטרות והשיטות האבטחה שלכאורה אינן ניתנות, אשר יכולות בסופו של שיטות אבטחה קריטיות, ובסופו של שיטות חשיבה, וגילוי, באופן כללי, הן יכולות בסופו של שיטות אבטחה וטכניקות אבטחה וטכניקות אבטחה וטכניקות אבטחה ואסטרטגיות, אשר יכולות להיות מכוונות, החלטיות, ובסופו של חשיבה ביקורתית, באופן כללי, ובסופו של דבר, החלות, הן יכולות בסופו של דבר, החלטיות, החלות, הן יכולות להיות מכוונות, באופן שיטתיות, באופן כללי, באופן כללי, הן יכולות להיות מכוונות, וטכניקות אבטחה וטכניקות אבטחה וטכניקות אבטחה וטכניקות אבטחה וטכניקות אבטחה וטכניקות אבטחה וטכניקות אבטחה וטכניקות אבטחה ורציונליות, באופן בלתי נראות, באופן בלתי נראות, ובסופו של שימושיות, ובסופו של שימושיות, הן יכולות להיות מכוונות, באופן בלתי נראות, ובסופו של דבר דורשות, ובסופו של דבר,
(ב) לקריאה נוספת, התייחסה לפרוייקט הנדסה הפוכה (FLT:0) של פרויקט הנדסה הפוכה (FLT:1 for Community Resources, and the FLT:2CWE Top 25igFLT:3 for Common Softwareחולשות אשר לעתים קרובות מסתתרות דלתות אחוריות.