CHERIoT, פרויקט של מיקרוסופט לשיפור האבטחה ב-C

CHERIOT

CHERIoT, אפשרות MS לאבטחה עבור מערכות משובצות

החדשות התפרסמו לאחרונה מיקרוסופט פתחה את הפיתוחים הקשורים לפרויקט CHERIoT (הרחבת חומרה ל-RISC-V עבור האינטרנט של הדברים), מיועד לחסום בעיות אבטחה בקוד C ו-C++ קיים. CHERIoT מציעה פתרון להגנה על בסיסי קוד C/C++ הקיימים מבלי צורך לשנות אותם.

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

על CHERIOT

proyecto אל נוצר מתוך הבנה שהטבע הנמוך של שפת C הופך למקור לשגיאות זיכרון, מה שמוביל לבעיות כמו הצפת חיץ, גישה לזיכרון שכבר שוחרר, הרחקת מצביע או שחרור כפול.

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

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

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

ل רכיבי החומרה של CHERIoT מתוכננים כמיקרו-בקר מבוסס על ארכיטקטורת RISC-V, יישום ארכיטקטורת המעבד המאובטח CHERI (Capacity Hardware Extension for RISC-V), המספק מודל גישה מבוקרת לזיכרון.

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

מודל הגנה פרוגרמטי זה משקף ישירות את מודל שפת C/C++, ומאפשר להשתמש בו כדי להגן על יישומים קיימים (נדרש רק קומפילציה והפעלה על חומרה תואמת ISA CHERIoT).

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

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

proyecto אל כולל מפרט לארכיטקטורת ערכת הוראות CHERIoT הרחבה, יישום ייחוס של מעבד 32 סיביות RISC-V תואם ISA CHERIoT וערכת כלים מסוג LLVM שונה.

בסופו של דבר אם אתה מעוניין לדעת יותר על כך, אתה צריך לדעת כי דיאגרמות אב טיפוס תיאורי בלוק מעבד וחומרה ב-Verilog מופצים תחת רישיון Apache 2.0. ליבת ה-Ibex של פרויקט lowRISC משמשת כבסיס למעבד ומודל הקוד של CHERIoT ISA מוגדר בשפת Sail ומופץ תחת רישיון BSD.

בנוסף, מוצעת אב טיפוס של CHERIoT RTOS מערכת הפעלה בזמן אמת, המספקת את היכולת לבודד תאים (תא) אפילו במערכות משובצות עם 256 מגה-בייט של זיכרון RAM.

הקוד CHERIOT RTOS הוא כתוב ב-C++ ומופץ תחת רישיון MIT. בצורת תאים, מתוכננים הרכיבים הבסיסיים של מערכת ההפעלה, כגון מטעין האתחול, המתזמן ומערכת הקצאת הזיכרון.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.