תחילת עבודה עם Windows Sandbox

לאחרונה Microsoft הכריזה על יכולות אבטחה חדשות שיגיעו בקרוב אל Windows 10, כאשר הבולט בינהם הוא Windows Sandbox.

Windows Sandbox בנוי על גבי טכנולוגיה של Windows Container עם יכולות של בידוד הסביבה, יצירת מקום זמני והכל מתוך אותו Desktop המאפשר להריץ קבצים או אפליקציות לא מהימנות וכאלה שאינן מוכרות.

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

היכולות של Windows Sandbox מזכירות את האופן שבו עובד Application Guard על גבי Edge Browser.

מבט כללי על Windows Sandbox

מאפיינים עיקריים של Windows Sandbox:

  • חלק מתוך מערכת הפעלה – היכולת של Windows Sandbox הינה מתוך מערכת ההפעלה הנוכחית בגרסת Enterprise או Pro ואין צורך להוריד VHD או להקים מכונה צדדית.
  • סביבה נקיה – בכל פעם שמפעילים מחדש את Windows Sandbox הוא עולה באופן נקי ללא שום היסטוריה מהפעולות הקודמות שהיו בסביבה המבודדת.
  • אין Persistence – שום דבר או יכולת מסוימת אינה נמשכת בסביבה המבודדת, וכל פעולה נמחקת בסגירה הסביבה.
  • מאובטח – מבוסס על גבי kernel isolation ורכיב חומרה המבצע את ההפרדה (** הערה בסוף המאמר)
  • יעיל – בגלל העובדה שעובד על גבי kernel ישנו ניצול נכון של זכרון ושל אפשרות kernel schedule.

בסופו של דבר ובאופן טבעי תמיד משווים את Windows Sandbox אל מכונה וירטואלית, ואחרי הכל ישנם מספר הבדלים בין השניים ואפשר להתייחס אל Windows Sandbox כסוג של lightweight vm, רכיב אשר צורך פחות משאבים מאשר מכונה וירטואלית, עולה יותר מהר בהפעלה מאשר מכונה וירטואלית.

דרישות Windows Sandbox

דרישות להפעלת Windows Sandbox:

  • גרסת Pro או Enterprise של Windows 10
  • בילד 18305 ומעלה של Windows 10 (כיום קיים בגרסת Windows Insider)
  • מבוסס 64bit בלבד
  • חומרה מבוססת virtualization (הפעלה ברמת BIOS)
  • לפחות 8GB זכרון ועדיפות של 16GB
  • מקום פנוי של 2GB ומעלה
  • מעבד עם 2 מעבדים ועם cores 4
  • נכון לכתיבת מאמר זה ישנו עדכון אבטחה של דצמבר המבטל את Windows Sandbox

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

הפעלת Windows Sandbox

הפעלת Windows Sandbox היא פעולה פשוטה אשר אורכת מספר דקות בודדות, ובכדי להפעיל Windows Sandbox צריך לבצע את הפעולות הבאות:

ניתן להפעיל מתוך ממשק PowerShell עם הפקודה הבאה:

Enable-WindowsOptionalFeature –FeatureName "Containers-DisposableClientVM" -All -Online

או באמצעות Optional features ובחירה באפשרות Windows Sandbox ולאחר מכן ביצוע אתחול מחדש לתחנת הקצה.

לאחר אתחול ניתן להפעיל את Windows Sandbox ולבדוק תוכן זדוני.

בדיקות ועקיפה של Windows Sandbox

לאחר הפעלה ראשונית ובדיקה של Windows Sandbox נמצאו מספר בעיות:

  • לאחר הפעלה ראשונית כל פעולה ראשונית (ברמת בדיקה של entry) מעמיסה את המעבד והזכרון למשך מספר דקות
  • זמן שעון אינו מסונכרן בין Windows לבין Windows Sandbox (חולשה קריטית בגלל שניתן להריץ בקשות לסנכרון זמן בקוד וכאשר זמן השעון אינו תואם עלול להיות מצב של דליפה בערכים שונים, למשל הרצות packers למינהם בסביבה המבודדת)
  • אינו תומך במצבים של התקנות שדורשות אתחול
  • אינו תומך במסכים מרובים או תצוגות עם DPI גבוה
  • אינו תומך באפליקציות מתוך Microsoft Store
  • בעת פתיחה של Windows Sandbox אין אפשרות גישה אל start menu עד אשר Windows Sandbox נפתח (בגלל ביצועים וגם על גבי מכונה על 16GB זכרון עם SSD)
  • אינו מבצע זיהוי במקרים של obfuscation

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

לסיכום

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

המאמר הבא של Windows Sandbox יתמקד באפשרויות עקיפה ובעיות זיהוי מול מתקפות שונות.

You may also like...

1 Response

  1. חי הגיב:

    יפה מאוד!

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *