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