شبکه و فناوری, مقالات

Windows Sandbox چیست؟ نحوه نصب ویندوز سندباکس

Windows Sandbox چیست؟ نحوه نصب ویندوز سندباکس

در این نوشتار قصد داریم در مورد Windows Sandbox چیست؟ نحوه نصب ویندوز سندباکس صحبت کنیم. در توسعه نرم افزار، توسعه دهندگان و آزمایش کنندگان اغلب به محیطی مجزا برای آزمایش عملکرد یک قطعه کد یا برنامه برای شناسایی مشکلات احتمالی در آن و اطمینان از عدم از کار افتادن هیچ یک از عملکردهای موجود نیاز دارند.

به چنین محیط ایزوله ای سندباکس می گویند. گاهی اوقات، متخصصان امنیت سایبری نیز از این سندباکس برای اجرای کد های ناامن استفاده می کنند، بنابراین روی شبکه یا دستگاه های مرتبط تأثیر نمی گذارد. بزرگترین مزیت سندباکس موقتی بودن آن است. پس از اجرای کد و برنامه های مورد نظر خود، می توانید سندباکس را ببندید و وقتی دفعه بعد آن را باز می کنید، نمونه جدیدی ایجاد می شود.

محققان امنیت سایبری از  سندباکس برای اجرای کد مشکوک از پیوست ها و URL های ناشناخته و مشاهده رفتار آن استفاده می کنند. علائم نشان دهنده این است که آیا کد تکرار می شود، سعی می کند با سرور فرمان و کنترل ارتباط بگیرد، نرم افزار های اضافی را دانلود می کند، داده های حساس را رمزگذاری می کند و غیره. از آنجا که سندباکس یک محیط شبیه سازی شده بدون دسترسی به شبکه، داده یا سایر برنامه ها است، تیم های امنیتی می توانند با خیال راحت کد را بررسی کنند تا نحوه عملکرد و مخرب بودن آن را تعیین کنند.

مایکروسافت نسخه خود را با نام Windows Sandbox ارائه کرده است، و این همان چیزی است که ما در این مقاله در مورد آن صحبت خواهیم کرد.

Windows Sandbox چیست؟

Windows Sandbox یک محیط دسکتاپی سبک است که می توانید برنامه ها را به صورت جداگانه اجرا کنید. مهمتر از همه، نرم افزار و کدی که در آن اجرا می شود فقط در این محیط “محفوظ” شده و بر روی سایر برنامه ها یا محیط ها اثر نمی گذارد.

البته، اگر به برنامه ها و ابزارهای خاصی برای آزمایش نیاز دارید، آنها باید در سندباکس نصب شوند، زیرا خود محیط خالی است و بدون تنظیمات قبلی همراه است. شما می توانید آن را به عنوان یک محیط جدید ویندوز تجسم کنید که در آن شما باید برنامه های کاربردی را متناسب با نیاز های اختصاصی خود اضافه کنید. در عین حال، هنگام بستن سندباکس، همه برنامه ها و تنظیمات پاک می شوند.

Windows Sandbox از یک زمانبندی هسته یکپارچه، GPU مجازی، مجازی سازی مبتنی بر سخت افزار و مدیریت حافظه هوشمند برای کارآیی و امنیت استفاده می کند.

قبل از اینکه به نحوه استفاده از Windows Sandbox بپردازیم، بیایید به طور مختصر روند نصب و پیش نیازهای مورد نیاز را بررسی کنیم.

هدف ویندوز سندباکس چیست؟

در یک محیط استاندارد تولیدی و  کسب و کار، سندباکس ممکن است اشتباه درک شود یا هزینه ای غیر ضروری محسوب شود. اما سندباکس ها برای چندین سناریو در توسعه، امنیت سایبری و تحقیقات بسیار مهم است. اطمینان از اینکه سندباکس واقعاً جدا و ایمن است در تحقیقات امنیت سایبری مهمتر از توسعه نرم افزار است؛ زیرا بدافزار ها به طور فعال و پرخاشگرانه شبکه را برای آسیب پذیری های قابل استفاده اسکن می کنند.

در توسعه، سندباکس معمولاً شامل یک سرور توسعه و یک سرور مرحله بندی است. سرور توسعه از محیط تولید جدا شده است اما ممکن است هنوز به دسترسی اولیه به شبکه نیاز داشته باشد. توسعه دهندگان از این سرور برای بارگذاری کد و آزمایش آن با تغییر پایه کد استفاده می کنند.

سرور مرحله بندی یا استیجینگ به گونه ای طراحی شده است که کپی دقیق تولید باشد. این سرور جایی است که تضمین کیفیت (QA) کد را قبل از استقرار در تولید آزمایش می کند. از آنجا که محیط صحنه سازی همان محیط تولید است، کدی که بدون مشکل در مرحله اجرایی، اجرا می شود باید بدون مشکل در مرحله تولیدی هم  اجرا شود. پس از آزمایش کد، در مرحله تولید قرار می گیرد.

محققان و تحلیلگران امنیت سایبری از محیط سندباکس خود به شیوه ای مشابه استفاده می کنند. اما در این مورد، اطمینان از عدم وجود منابع شبکه برای بدافزار ها بسیار مهمتر است. محیط سندباکس شبکه خاص خود را دارد و اغلب هیچ ارتباط فیزیکی با منابع تولید ندارد. هدف سندباکس اجرای کد مخرب و تجزیه و تحلیل آن است. گاهی اوقات، این کد می تواند یک کد پنهانی باشد که در آن اثر و بار بدافزار مشخص نیست؛ به همین دلیل، سندباکس نباید به زیرساخت های حیاتی دسترسی داشته باشد.

با استفاده از سندباکس، محققان و تحلیلگران امنیت سایبری می توانند نحوه عملکرد بدافزار را بفهمند و برای جلوگیری از آن اقدامات لازم را انجام دهند. این اولین قدم در طراحی نرم افزار آنتی ویروس برای جلوگیری از گسترش بدافزار به سایر سیستم ها و حذف آن از سیستم های آلوده است.

برای حملات پیچیده، محیط های سندباکس به آسانی در دسترس هستند تا بدافزار ها را به سرعت تجزیه و تحلیل کرده و قبل از تبدیل شدن به یک مسئله جهانی جلوی آن را بگیرند. به عنوان مثال، باج افزار می تواند در سطح جهان گسترش یابد و سیستم های مهم دولتی را خراب کند. این امر برای محققان مهم است که سندباکس هایی آماده دسترسی داشته باشند تا به حل مسئله کمک کنند.

مزایای ویندوز سندباکس

مانند یک محیط آزمایش توسعه، یک سندباکس می تواند برای اجرای هر برنامه بر روی یک منبع امن قبل از استفاده از آن در تولید یا دسترسی به منابع تولیدی استفاده شود. یک سندباکس به سازمان ها اجازه می دهد برنامه هایی را اجرا کنند که به طور طبیعی می تواند مشکلاتی را ایجاد کند، اعم از بدافزار ها یا نقص های نرم افزاری ناخواسته، بدون آسیب رساندن به منابع حیاتی کسب و کار.

یک سندباکس اغلب به عنوان قرنطینه برای ایمیل ها و پیوست های ناشناخته استفاده می شود. فیلترهای ایمیل پیام ها و پیوست های ایمیل مخرب احتمالی را تشخیص می دهند، اما یک سرپرست برای مشاهده موارد مثبت کاذب به مکانی امن برای مشاهده آنها نیاز دارد. اسناد مخرب ممکن است شامل ماکروهایی باشند که از نقص در برنامه های بهره وری محبوب مانند Microsoft Office استفاده می کنند. فرد می تواند از ماشین مجازی سندباکس برای باز کردن پیوست ها و مشاهده ماکروها برای ایمن بودن آنها استفاده کند.

برای سازمان هایی که کارکنان متخصص امنیت سایبری ندارند، هر کارمند می تواند از یک سندباکس برای جدا کردن برنامه های مشکوک استفاده کند. یک سندباکس می تواند به کارگران اجازه دهد بدون قرار گرفتن در معرض تهدیدهای جدید، کد ناشناخته خود را اجرا کنند.

ویندوز سندباکس چگونه کار می کند؟

نحوه عملکرد سندباکس بستگی به آنچه در حال آزمایش است، دارد. به عنوان مثال، یک محیط سندباکس که برای آزمایش بدافزار استفاده می شود، تنظیم شده و عملکرد متفاوتی از سندباکس برای آزمایش کد برای به روزرسانی برنامه دارد. برای تحقیق در مورد بدافزارهای احتمالی و اجرای کد مخرب، یک سندباکس نیاز به جداسازی از نرم افزارهای تولیدی دارد.

صرف نظر از نحوه استفاده از سندباکس، هر محیط سندباکس دارای چند ویژگی اساسی است :

شبیه سازی یک دستگاه واقعی : این می تواند شبیه سازی یک دسکتاپ یا دستگاه تلفن همراه باشد. در هر صورت، برنامه مورد آزمایش باید به منابع مشابه کد مورد تجزیه و تحلیل، از جمله CPU، حافظه و ذخیره سازی دسترسی داشته باشد.

شبیه سازی سیستم عامل مورد نظر :  با استفاده از ماشین مجازی، برنامه باید به سیستم عامل دسترسی داشته باشد. با یک ماشین مجازی، سندباکس از سخت افزار فیزیکی  جدا شده اما به سیستم عامل نصب شده دسترسی دارد.

محیط مجازی : معمولاً یک سندباکس روی ماشین مجازی است به طوری که به منابع فیزیکی دسترسی ندارد اما می تواند به سخت افزار مجازی دسترسی پیدا کند.

اقدامات تشخیص سندباکس ممکن است شامل جستجوی تعاملات کاربر باشد که با استفاده از دنیای واقعی سازگار نیست. دیگران ممکن است تنظیمات سیستم را بخوانند تا پیکربندی های رایج سیستم ماشین مجازی را جستجو کنند. در این موارد، بدافزار خاموش است به طوری که به عنوان مخرب تشخیص داده نمی شود، تنها پس از رسیدن به یک هدف واقعی فعال می شود.

در برخی موارد، نویسنده بدافزار حتی ممکن است سو استفاده هایی برای آسیب رساندن به یک سندباکس با ایمنی ضعیف ایجاد کند.

پیش نیاز های سندباکس

به گفته مایکروسافت، برای نصب و استفاده از Sandbox ویندوز به موارد زیر نیاز دارید :

ویندوز 10 Pro : توجه داشته باشید که Windows Sandbox در نسخه Home اجرا نمی شود. در حالت ایده آل، اگر نسخه Pro ندارید، به نسخه های Enterprise یا Education با نسخه 18035 یا بالاتر نیاز دارید.

AMD64 : که ساختاری 64 بیتی است.

رم : حداقل 4 گیگابایت رم ، اگرچه 8 گیگابایت توصیه می شود.

دیسک : 1 گیگابایت فضای دیسک خالی. مایکروسافت ذخیره SSD را برای Windows Sandbox توصیه می کند.

CPU : حداقل دو هسته CPU، هرچند چهار هسته با هایپرتیدینگ توصیه می شود.

قابلیت های مجازی سازی

هنگامی که همه این موارد را در اختیار دارید، بیایید نصب را شروع کنیم.

نصب ویندوز سندباکس

در اینجا راهنمای گام به گام نصب ویندوز سندباکس آمده است.

بررسی کنید که آیا دستگاه شما دارای پیش نیاز های ذکر شده هست یا خیر.

مجازی سازی را در دستگاه خود فعال کنید. برای انجام این کار :

مطمئن شوید که مجازی سازی در BIOS فعال شده است.

طبق توصیه مایکروسافت از این cmdlet PowerShell استفاده کنید.

Set -VMProcessor -VMName \ <VMName> -ExposeVirtualizationExtensions $ true

به ابزار Windows Optional Features (ویژگی های اختیاری) بروید. می توانید این کار را با جستجوی گزینه “Turn Windows Features On and Off” در نوار جستجو انجام دهید.

ابزار “Windows Sandbox” را انتخاب کرده و در صورت درخواست کامپیوتر را ری استارت کنید.

پس از راه اندازی مجدد کامپیوتر، در منوی Start خود به دنبال ابزار Windows Sandbox بگردید.

اگر قادر به انجام هیچ یک از مراحل بالا نیستید، ممکن است این به آن معنا باشد که رایانه شما قابلیت های لازم را ندارد.

پیکربندی ویندوز سندباکس

همانطور که قبلاً ذکر شد، Windows Sandbox هیچ تغییری در برنامه خود از جمله برنامه های نصب شده ذخیره نمی کند. گاهی اوقات، این می تواند مشکل ساز باشد زیرا هر زمان که بخواهید یک برنامه را با تغییرات جزئی کد بیشتر اجرا کنید، سفارشی سازی Sandbox می تواند زمان بر باشد.

یکی از راه های غلبه بر این مشکل استفاده از فایل های پیکربندی است، بنابراین می توانید به سادگی این فایل را بارگذاری کنید، و همه ابزار ها و تنظیمات مورد نظر شما به طور خودکار در دسترس شما قرار می گیرد و ذخیره می شود.

این فایل های پیکربندی به صورت فایل XML فرمت شده اند و به طور پیش فرض از پسوند فایل .wsb برای ارتباط با Sandbox استفاده می کنند.

ایجاد این فایل ها نیز آسان است. کافی است یک فایل متنی را باز کنید، نامی بگذارید و آن را با پسوند فایل .wsb ذخیره کنید.

در ادامه نگاهی به مواردی که می توانید در فایل پیکربندی قرار دهید، آورده شده است :

حافظه – مقدار حافظه، بر حسب MB.

دسترسی شبکه.

فولدر های دارای مجوز خواندن یا نوشتن به اشتراک گذاشته شده است.( read or write permissions)

ورودی های صوتی و تصویری برای Sandbox.

هرگونه افزایش تنظیمات امنیتی

جزئیات پرینتر ها و سایر دستگاه ها.

یک فرمان ورود به سیستم، هنگام شروع Sandbox اجرا می شود.

ذکر کنید که GPU مجازی باید فعال یا غیرفعال باشد. در صورت غیرفعال بودن، Sandbox از برنامه پیشرفته تصحیح ویندوز استفاده می کند.

کلیپ بورد برای کپی پیست کردن مطالب.

مطمئن شوید که از عنوان های XML استفاده می کنید و تمام جزئیات فوق را در برچسب های <configuration> </configuration> قرار دهید.

وقتی می خواهید این فایل پیکربندی را بارگیری کنید، روی آن دوبار کلیک کنید، و با توجه به تنظیمات موجود در این پرونده، Sandbox به طور خودکار باز می شود.

در اینجا نمونه ای از یک فایل پیکربندی از Microsoft Docs آورده شده است :

<Configuration>

<VGpu>Disable</VGpu>

<Networking>Disable</Networking>

<MappedFolders>

<MappedFolder>

<HostFolder>C:\Users\Public\Downloads</HostFolder>

<SandboxFolder>C:\Users\WDAGUtilityAccount\Downloads</SandboxFolder>

<ReadOnly>true</ReadOnly>

</MappedFolder>

</MappedFolders>

<LogonCommand>

<Command>explorer.exe C:\users\WDAGUtilityAccount\Downloads</Command>

</LogonCommand>

</Configuration>

پس، چگونه سندباکس ویندوز این محتویات را لود می کند و محیطی را که می خواهید ایجاد می کند؟ بسیار خب، اجازه دهید به طور خلاصه برخی از جنبه های ساختاری آن را بررسی کنیم تا مروری بر نحوه عملکرد آن داشته باشیم.

جنبه های ساختاری سندباکس

تکنولوژی تصویر بر پایه دینامیک بودن

فناوری تصویر پایه پویا از کپی ویندوزی که قبلاً روی هاست نصب شده است به جای بارگیری هر بار یک نسخه جدید از سیستم عامل ویندوز استفاده می کند.

به طور معمول، سیستم عامل ویندوز از دو فایل تغییرپذیر و تغییر ناپذیر تشکیل شده است و فایل های تغییرپذیر با سندباکس ویندوز به اشتراک گذاشته نمی شوند. برای غلبه بر این محدودیت، سندباکس نسخه های اصلی این فایل های تغییرپذیر را ذخیره می کند، بنابراین می تواند با ترکیب این فایل ها با فایل های تغییر ناپذیر مشترک سیستم عامل ویندوز، یک نسخه Windows ایجاد کند.

به این ترتیب، برای لود سندباکس نیازی به دانلود یا کپی اضافی ویندوز نیست.

مدیریت حافظه

یکی از جنبه های کلیدی هر Sandbox مدیریت حافظه است و معمولاً سیستم عامل اصلی مقدار مشخصی از حافظه را اختصاص می دهد. اما وقتی به حافظه کم تر و یا بیشتری نیاز است، ایجاد تغییر و تنظیم منابع بر این اساس دشوار می شود.

اما Windows Sandbox با هاست همکاری می کند تا به طور پویا نیاز های حافظه و منابع خود را تعیین کند. هاست همیشه می تواند در صورت نیاز مقداری حافظه رایگان از Sandbox پس بگیرد.

برنامه ریزی یکپارچه

Windows Sandbox از چیزی به نام برنامه ریزی یکپارچه استفاده می کند، جایی که زمانبند هاست تصمیم می گیرد که Sandbox باید چرخه های CPU خود را دریافت کند. همچنین پردازنده های مجازی Sandbox به عنوان پیام های هاست اداره می شوند و همه اینها به این  معنی است که مهمترین وظایف همیشه در اولویت قرار می گیرند.

اجزای سندباکس

یک سندباکس می تواند دارای اجزای نرم افزاری و سخت افزاری باشد. با محدودیت های سخت افزاری، یک سندباکس می تواند در شبکه مجزای خود باشد. برای ایزوله بسیار محدود و شدید، سندباکس می تواند در روتر Wi-Fi و اتصال ISP مختص خود باشد. این تنظیم دسترسی برنامه های مخرب را به شبکه فیزیکی غیرممکن می کند.

چندین برنامه به طور پیش فرض از sandbox برای محافظت از سیستم عامل محلی استفاده می کنند. مرورگر ها سندباکس های مخصوص خود را دارند تا برنامه های مخرب را که در وب اجرا می شوند، از دسترسی به منابع ماشین محلی جدا کنند. زبان هایی مانند جاوا دارای سندباکس مخصوص خود هستند تا از منابع محلی در برابر کدهای نامعتبر محافظت کنند، مانند یک اپلت جاوا که روی صفحه وب اجرا می شود.

سیستم عامل ویندوز 10 دارای یک سندباکس برای محافظت از دسکتاپ در برابر کد های نامعتبر است. در حالی که این ویژگی نباید به عنوان جایگزین برنامه های آنتی ویروس، فایروال و ضد بدافزار مورد استفاده قرار گیرد، لایه ای از امنیت را که سیستم عامل های قدیمی ویندوز از آن برخوردار نیستند، اضافه می کند.

HTML5 دارای یک سندباکس برای محافظت از ویژگی iframe خود است. سیستم عامل لینوکس چندین سندباکس کاربردی دارد که بر روی Seccomp و cgroup ساخته شده است. Google Sandbox API برای توسعه دهندگانی که کد C ++ می نویسند در دسترس است و باید قبل از قرار دادن کد در محیط تولید، کد خود را در سندباکس قرار دهند.

جمع بندی

ویندوز سندباکس گزینه خوبی برای آزمایش برنامه ها و کد ها بدون تأثیر بر سایر برنامه ها، شبکه ها یا حالت های سیستم است. این نرم افزار دارای ویژگی های بسیار مناسبی است که نصب و اجرای برنامه ها را بر روی آن آسان می کند.

در دنیای امنیت سایبری، محیط سندباکس یک ماشین مجازی مجزا است که در آن کد نرم افزاری به طور بالقوه ناامن می تواند بدون تأثیر بر منابع شبکه یا برنامه های محلی اجرا شود.

خارج از امنیت سایبری ، توسعه دهندگان همچنین از محیط های آزمایش سندباکس برای اجرای کد قبل از استقرار گسترده استفاده می کنند.

منابع: techgenix و proofpoint