Table of Contents
Battlefield: Why CISC Education Sets Matter in Modern Cyber Defense
האבולוציה של ארכיטקטורת מחשבים כבר זמן רב סיפור של עסקאות בין ביצועים, כוח ומורכבות. בתחום אבטחת סייבר, עם זאת, הבחירה של אדריכלות סט הדרכה (ISA) הוא הרבה יותר מאשר הערה טכנית. ארכיטקטורות מורכבות (CISC) אדריכלות - בעיקר משפחת x86 - כוח הרוב המכריע של שרתי הארגון, שולחן העבודה ומערכות משובצות שלהם עושה אותם מטרה עבור יכולות אבטחה אופציונליות, אבל לא יכול גם לפתח תכונות אבטחה יעילות יותר.
בליבתו, CISC נועד לדחוס פעולות מרובות ברמה נמוכה להנחיות חדות, מורכבות.זה מקטין את מספר ההוראות שמתכנתים חייבים לכתוב ויכול לשפר את צפיפות הקוד.במשך עשרות שנים, גישה זו הובילה להישגים ולהתאמה לאחור.אבל, שכן התקפות חומרה עברו מהתיאוריה לזרם המרכזי – חשיבה, מלטה לאחור, ומארחת פגמים מיקרוקודים – הסחף המורכב של מעבדי סייברק אבטחה דומים של CISC הפכה לאסטרטגיות אבטחה ספציפיות.
האנטומיה של CISC: מורכבות כמו חרב כפולה-מזד
כדי לתפוס את ההשלכות הביטחוניות, זה עוזר קודם להעריך איך CISC שונה מבני הדוד הפשוט שלה, RISC (מחשוב הוראה מחנך) הוראה CISC עשוי, למשל, לטעון ערך מזיכרון, לבצע ניתוח סיבולת, ולאחסן את התוצאה - כל בהוראה אחת. RISC ישבור את זה לשלוש או יותר הוראות נפרדות, כל ביצוע מחזור שעון יחיד.
ה- x86 ISA, שנולד מ 8086 של אינטל בשנת 1978, התפתח לאורך עשרות שנים של הרחבות (MMX, SSE, AVX וכו ') כל תוספת מרחיבה את מערכת ההוראה, הגדלת הפוטנציאל עבור באגים, התנהגויות לא מחוסמות, ותופעות לוואי עדינות. בעוד התעשייה עברה לשיטות מכווצות מאובטחות יותר בשכבה התוקפים, שכבת החומרה נותרה ⁇ כפי שצוין על ידי חוקרי אבטחה, או מסובייקט, כאשר יכולות לנצל את המצלמות של המצלמות של התזמון רחבות, או לשחית CC, כאשר יכולות לנפח, כאשר יכולות ללקות, כאשר המצלמות, כאשר המצלמות, יכולות לנפח, המצלמות של המצלמות, יכולות ללקות בטמפרטורות גדולות יותר, יכולות לחמצן, כאשר המצלמות, או ללקות, או לנפח, יכולות ללקות בטמפרטורות גדולות יותר, כאשר המצלמות של המצלמות, כאשר המצלמות של המצלמות של המצלמות, יכולות ללקות בטמפרטורות מורכבות, כאשר המצלמות, יכולות ללקות בטמפרטורות של המצלמות של המצלמות של המצלמות של המצלמות של המצלמות של המצלמות של המצלמות, כאשר המצלמות של התזמון, כאשר המצלמות של המצלמות של המצלמות של המצלמות של המצלמות
למה חבר העמים עדיין שולט
למרות עליית האדריכלות RISC כמו ARM ו- הקוד הפתוח RISC-V, CISC נשאר מוטבע במרכזי נתונים ומחשוב אישי.
- (FLT:0) Backward Compatibility: FLT:1 x86 מעבדים חייב להפעיל תוכנה בת עשרות שנים, מה שחייב יצרנים לשמור על הוראות מורשת ולוגיקה מורכבת של קידוד.
- (FLT:0)Dense Code:03FLT:1) הוראות שונות של CISC מאפשרות אריזה קוד הדוק יותר, אשר יכול להפחית את דרישות רוחב הפס זיכרון.
- (FLT:0)Ecosystem Lock-in:FLT:1 מערכות הפעלה, היפרוויסים, ויישומים ארגוניים הם אופטימיזציה במידה רבה עבור מערכת ההוראה x86.
דומיננטיות זו פירושה שאסטרטגיות הגנתיות חייבות לקחת בחשבון את התכונות הייחודיות של CISC, כולל מנגנוני עדכון המיקרוקוד שלה וערוצי צד ברמת ההוראה.
אתגרים ביטחוניים מרכזיים באדריכלות CISC
בעיות האבטחה הנובעות מ- CISC אינן מופשטות; הן הוכחו בהתקפות בעולם האמיתי שעוקפות הגנה על תוכנה לחלוטין.
מורכבות והתקפה על פני השטח: The Microcode Menace
מיקרוקוד הוא השפה הסודית של מעבדי CISC מודרניים.הוא יושב בין מערכת ההוראה גלויה תוכנה וחומרה הבסיסית, תרגום הוראות CISC מורכבות לשיתוף פעולה מיקרו-פעולה פשוט יותר (μops) כי מיקרוקוד הוא בדרך כלל מיושם בתוך ROM פנימי או ניתן לסווג באמצעות עדכוני קושחה, כל פגיעת מנוע מיקרוקוד יכולה להיות השלכות קטסטרופליות.ב 2018 חשפו פרצות ב x86 של אינטל (xacter) שיכולה לאפשר הפרעה לנפץ זיכרון CVEC (קריפטפטפטפטפטפטפטפטפטפטירה) או פגום (C) או פגום (C-2018) או פגום ב-C) על ידי פגום ב-C.
מספר ההוראות ב-x86 המודרני - להקות - עושה בדיקות מקיףות בלתי סבירות.כל הוראה חייבת להיות מאומתת עבור מקרים פינה, ו- microcodes משוחררים מעת לעת על ידי ספקי CPU. עם זאת, תיקון microcode הוא תהליך עדין: עדכון פגם יכול להציג בפני עצמו פרצות חדשות או ביצועים מחיתולים.
תקיפת צד-הנדל: צמצום זרימת ההוראה
מעבדי CISC רגישים במיוחד להתקפות צד-ערוציות בגלל צינורות הביצוע המורכבים שלהם וביצוע מחוץ להוצאה להורג.ההתקפות הידוע לשמצה של Spectre וממלטdown (2018) הוכיחו כי ביצוע קידוד - תכונה נפוצה בעיצובים CISC - מאפשר תוקף להשפיע על הוראות טרנסיות כי להשאיר עקבות ב- cachea, בעוד התקפות אלה משפיעות הן על CISC והן על מעבדי RISC, אורך ההוראה של CISC ו-C יכול להחמיר את הבעיה הזמנית מוגן באמצעות תזמון.
מעבר לתזמון של מטמון, ערוצים אחרים מממנים צריכת חשמל או פליטות אלקטרומגנטיות.הוראות CISC הכרוכות בלולאות או בפעילות כוח גבוהה (למשל, נקודת צף:0VMULPDIRFLT:1) יוצרים עקבות שניתן להבחין בהם. ניתוח כוח, לאחר שתחום ההאקרה של כרטיס חכם, מוחל כעת על x86 CPUs בסביבות ענן.
מיקרוקוד Vulnerabilities: The Insider Threat
(ה) מיקרוקוד אינו רק משטח אימות באגים; הוא יכול גם להיות שונה במכוון.היסטורי, עדכוני מיקרוקוד חתומה ומועברים באמצעות מנגנוני CPU (למשל, עדכון מיקרוקוד של אינטל, FLT:0MCUFLT:1), עם זאת, אם תוקף פועל מיקרו-הגנה (הגנתיות של תוכנת אבטחה) או קוד זדונית (Percode) יכול להיות מסוגל לטעון מיקרוקוד זדוני זה לא רק שינוי תיאורטי:
קוד שימוש בהתקפות והכחשה
ההנחיות הצפופות של CISC גם מסייעות בהתקפות שימוש בקוד, כגון תכנות מוכוון חוזר (ROP) ותוכנית מוכוונת קפיצות (JOP) תוקפים לסרוק זיכרון הניתן להפעלה עבור רצפים של עוויתים, כאשר מתפרשים כהוראות, מבצעים פעולות שימושיות (גיונות C) אפילו יותר משתנות באורך ולעתים קרובות מכילים הוראות " ⁇ " כאשר לא מופרכות, מספר הפוטנציאל של קוד זה הופך להיות יותר קל יותר מאשר קוד ביקורתי (Gatertogadget) מאשר קוד פתוח יותר מאשר קוד פתוח יותר מאשר קוד פתוח יותר מאשר קוד פתוח.
אסטרטגיות Defensive for a CISC-Dominated World
בהתחשב באתגרים, איך צוותי אבטחה יכולים להתאמץ מערכות נגד איומים ספציפיים של CISC? התשובה טמונה בגישה שכבתית המשתרעת על קושחה, תוכנה, ניטור חומרה.
אבטחת מידע: הקרן של אמון
רשתות מנעול מאובטחות חייבות לאמת לא רק את עומס מערכת ההפעלה, אלא גם את קושחה CPU מיקרוקוד ואימה (UEFI/BIOS).
- (ב) מהדורות של [[המאה ה-20]], [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]]]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]]]]
- (FLT:0)Bootable Firmware Integrity:cioFLT:1) Enable Secure Boot ומדד רכיבי קושחה באמצעות TPM PCRs. Monitor לשינויים בלתי צפויים בשרשרת האתחול.
- (ב) עיין ב-[[1924]]: [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]]]], [[1924]]]]]]]] ו[[1924]]
קידוד מאובטח ו-Comiler Harding
מפתחי תוכנה יכולים להפחית את ההסתמכות על הוראות CISC מורכבות על ידי שימוש באופטימיזציה של חומרים המונעים דפוסים מסוכנים פוטנציאליים.
- (ב) ⁇ (ב"ג:0) ⁇ ⁇ :0) ⁇ ⁇ : ⁇ 1 (GCC, LLVM) כוללים דגלים כמו FLT:0 כדי להוסיף רטיונים שמונעים ביצוע אנתרופולוגי של ענפים עקיפים.
- (FLT:0)Use Memory-Safe Language: FLT:1 Rust, Go, או Runtimes מנוהל להפחית את הסבירות של buffer overflows אשר יכול להוביל לגאדג'טים ROP.
- (ב) ,0) הוראות מורשת בלתי ניתנות למניעה: (ב) ,(הרבי: ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
עבור סביבות אבטחה גבוהות, שקול קוד פועל אשר הוסמך באופן רשמי נגד הסימנטטיקה של ה-x86, כגון SL4 או CertiKOS, כדי לחסל את כל המעמדות של פרצות.
מנגנונים אבטחה מבוססי חומרה
מעבדי CISC מודרניים משלבים מגוון רחב של תכונות אבטחה חומרה, בעוד שהם לא כדורי כסף, הם מעלים את הבר עבור התוקפים:
- (FLT:0) Trusted Platform (TPM): השתמש ב-TPM 2.0 כדי לאטום מפתחות הצפנה למצב מערכת מסוים, כולל גרסת מיקרוקוד.
- (FLT:0)Intel Software Guard מרחיבה (SGX): ⁇ FLT:1 Isolate חישובים רגישים ב ⁇ המצפין זיכרון אפילו ממערכת ההפעלה.עם זאת, שימו לב כי SGX פגיע להתקפות של ערוצים צדדיים (למשל, SGAxe, CacheOut), ולכן השימוש בו חייב להיות מוזג עם הגנה על שעות ריצה.
- (ב) ההרחבה:0(AMD Secure Encryptation (SEVreaLT): 1 הצפנה VM זיכרון כדי להגן מפני היפר-בידור שנפגע. אידיאלי עבור עומסי עבודה בענן שבהם מיקרוקוד של CISC משותף בין הדיירים.
- (FLT:0)Constant-Time Programming:FLT:1 for Cryptographic תפעול, להבטיח כי זמן ביצוע אינו תלוי בנתונים סודיים.הוראות CISC כמו FLT 3 או מהלכים מותניים עשויים להיות תזמון תלוי בנתונים; יישום באמצעות שימוש בהוראות bitslicing או חומרה-accelerated (למשל, AES-NI) המבטיח ביצוע קבוע של זמן.
מעקב וזיהוי אנומלי ברמה המיקרוא האדריכלית
פתרונות EDR מסורתיים אינם יכולים לראות התקפות מיקרו-אטוריות.עם זאת, כלים מתעוררים יכולים לזהות omalies בהתנהגות מעבד:
- (FLT:0) Performance Counter Analysis: FLT:1 ביצועי חומרה של מעקב אחר עבור שיעורי מטמון יוצאי דופן, תקלות סניף, או סיועי microcode שיכולים לסמן התקפה של ערוץ צד.
- (FLT:0Microcode Integrity Checks:BuildFLT:1) מעת לעת לקרוא את הגירסה microcode לרשום (למשל, IA32 BIOS SIGN IDMSR על אינטל) ולהשוות נגד בסיס ידוע-טוב.
- (ב) ,0) ,Kernel-Level Hooks: ההרחבה 1 (ראה להלן: ⁇ ) השתמש במודולים EBPF או הקרנל כדי ליירט את FLT:4 (כתיבה לרישום ספציפי מודל) שניתן להשתמש בהם כדי לטעון מיקרוקוד לא מורשה.
בעוד שהטכניקות הללו עדיין מזינוק, הן מייצגות גבול קריטי: היוזמה הלאומית של ה-FLT:0NIST לחינוך אבטחת סייבר-ביטחוני (Cybersecurity EducationFLT:1), כוללת כעת אבטחת חומרה כתחרות הליבה, המשקפת את החשיבות הגוברת של התחום הזה.
מחקרים: שיעור מתוך Real-World CISC Exploitations
ההיסטוריה מספקת דוגמאות הרסניות של פרצות ספציפיות של CISC ושל התגובות שהם דרשו.
משפחת Spectre / Meltdown
כאשר ספקטרום (CVE-2017-5753, CVE-2017-5715) ומלטה (CVE-2017-5754) נחשפו, התעשייה כולה נלחמה, בעוד שההתקפות הללו השפיעו על מספר ארכיטקטורות, מעבדי ה- x86 של אינטל היו פגיעים במיוחד בשל המעבדים האגרסיביים של ביצוע ו-Samcruned Memory Accesss - Ftigations -FLT:0microcodees to flushreas to flusheurs to Flusheurs and Uns of Untrated CPT-FIS: 1PTD2FIS.
LazyFP (CVE-2018-3665)
הפגיעות האלה התמקדו במעבדי ה-x86 של אינטל שתמכו ב-FLT:0.Transaction SynSyncization (TSX)SIRFLT:1 ו-FLT:2FPU עצלן לשחזר את FLT 3:0 על ידי ניצול פער תזמון בעת מעבר בין משימות, תוקף יכול להדליף מצב מתהליך אחר או את הליבה הנדרשת עדכון מיקרו-קוד וכיצד ה-C הוכיח תכונות כגון אימון עצמיות יכולות ליצור ערוצי אבטחה מורחבים ו-מחדשניים.
CacheOut (CVE-2020-0549)
CacheOut (הידוע גם בשם L1D Eviction Sampling) אפשר תוקף לשחזר נתונים שנותרו בקווי Cache נתונים של L1 על ידי מינוף מדיניות הגילוח של המעבד עבור קווים מבוזרים.ההתקפה זו ניצלה את האינטראקציה בין Intel'sFLT:0 Transactional Synandroizations (TSX)FLT:1 ו- cachecode כיצד ניתן לגנות את האינטראקציות מיקרו-X מורכבות.
עיצוב: עתיד של תכנון תהליכים מאובטח
ככל שאיומים ברשת ממשיכים להתפתח, כך גם היסודות האדריכליים התומכים בהם.קהילת הביטחון דוחפת לשקיפות רבה יותר במיקרוקוד ובפרטים של מערך ההוראה.
- (FLT:0) Open Education Setsure: 1FLT:1 RISC-V מציע ISA פתוח לחלוטין שניתן לבחון ואומת באופן רשמי.
- החוקרים החלו ליישם שיטות רשמיות כדי לאמת כי יישומי מיקרוקוד מתאימים למפרטים האדריכליים שלהם: 2 Intel's ISA Formal ModelingFLT 3 שואפים להוכיח את היעדרם של סוגים מסוימים של באגים.
- (FLT:0) תכונות אבטחה מבוססות כוח: ההרחבה העתידי של CISC עשוי לכלול יחידות זיהוי צד ייעודיות, שליטה על ביצוע קידוד (למשל, Intel's FLT:2Speculative Store Bypass DisableFLT 3: 3), ועדכוני מיקרו-קודמיים של tamper-resistantcode buff.
- (FLT:0) AI-Assised Anomaly Detection:BuildFLT:1) מודלים של למידת מכונות מאומן על נתוני ביצועי מעבד רגילים נגד ביצועים יכולים לסמן סטייתות המצביעים על התקפות מיקרו-אקטיות.אזור זה עדיין בחיתוליו, אך הוא מבטיח הגנה על זמן ריצה.
עבור מגינים, המסר ברור: אל תניחו כי חומרה היא מאובטחת באופן מהותי.החוקה של CISC, עם כל המורכבות והמזוודות המורשתיות שלה, תישאר שדה קרב במשך שנים לבוא.