גוגל פתחה מערכת ליצירת סביבות ארגז חול עבור C / C ++

Google

לפני כמה ימים גוגל הודיעה על פתיחת פרויקט ה- API של Sandboxedכי מאפשר לך להפוך את תהליך יצירת ארגז החול לביצוע מבודד של ספריות שרירותיות ב- C ו- C ++.

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

הבידודאו שזה נעשה תוך זמן ריצה של Sandbox2, בהם משתמשים במרחבי השמות, קבוצות הקבוצות ו- seccomp-bpf.

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

תהליכים מקבלים גישה רק ליכולות מערכת הנדרשות ישירות לביצוע קוד מבודד.

Sandbox2 מגדיר את הרכיבים להפעלת התהליךאו להחיל את כללי הבידוד ולתמוך בביצוע שלאחר מכן.

ארגז חול 2 ניתן להשתמש בו בנפרד מממשק ה- Sandbox כדי לבודד לא רק ספריות, אלא גם תהליכים שרירותיים.

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

אודות API של ארגז חול

ממשק ה- API של ארגז חול הוא תוסף Sandbox2 מה שמפשט את הובלת הספריות הקיימות להפעלה במצב מבודד.

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

Se ניגש לספרייה המבודדת באמצעות RPC מיוחד המבוסס על פרוטוקול ProtoBuffs.

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

סקירה כללית

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

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

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

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

הקבצים והספריות אליהם צריכה להיות גישה לספריה נקבעים בנפרד.

הַתקָנָה

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

מהתוכניות מצוין גם היכולת לבודד ספריות בשפות שאינן C ו- C ++, תמיכה נוספת בזמן ריצה לבידוד (למשל מבוסס על וירטואליזציה של חומרה) והיכולת להשתמש ב- CMake ובמערכות הרכבה אחרות (התמיכה מוגבלת כעת למערכת ה- Bazel build).

מקור: https://security.googleblog.com


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

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

*

*

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