معرفی سندباکس
در جهان امنیت سایبری، سندباکس نوعی ماشین مجازی است که در آن نرمافزارهای بالقوه ناایمن میتوانند بدون تاثیر بر منابع شبکه یا برنامههای محلی اجرا شوند. در واقع این ماشین مجازی را باید به عنوان یک زمین بازی کنترل شده در نظر بگیرید که در آن میتوان برنامهها، کدها و فایلها را آزمایش یا اجرا کرد. sandboxبه معنای جعبه شنی میباشد و دقیقاً از مفهوم جعبه شنی که کودکان برای بازی از آن استفاده میکنند گرفته شده است. جعبه شنی کودکان منطقه بازی است که بچهها میتوانند بدون ایجاد آسیب در دنیای واقعی ساختن، خراب کردن و آزمایش کردن را در آن یاد بگیرند. به همین ترتیب در فضای جعبه شنی دیجیتال شما میتوانید آزمایشهایی که در فضای واقعی خسارت به همراه دارند را بدون هزینه انجام دهید. محققان امنیت سایبری از این فضا برای اجرای کدهای مشکوک از پیوستها و urlهای ناشناخته استفاده میکنند.
هدف از استفاده Sandbox چیست؟
طبیعتاً افرادی که وارد محیط سندباکس میشوند، اهدافی را دنبال میکنند. مهمترین اهدافی که در این محیط دنبال میشوند را با هم مورد بررسی قرار میدهیم:
- امنیت: کار بر روی پروژههای آزمایشی میتواند خطرات بالقوهای را برای محیطهای سطح بالاتر داشته باشد. وقتی شما این کدها را ابتدا در جعبه شنی امتحان کنید احتمال به خطر انداختن اطلاعات خودتان را به حداقل میرسانید. در این محیط تمام اطلاعات در یک محیط ایزوله قرار میگیرند و از هرگونه آسیب احتمالی دور هستند.
- توسعه: یکی دیگر از ویژگیهای مهم Sandbox این مورد میباشد که شما میتوانید تست نرمافزار خودتان را هم در آن به راحتی انجام دهید. در واقع آزمایش کنندگان میتوانند نرمافزار جدید یا کد را در یک محیط کنترل شده بدون خطر امتحان کنند. از طریق فرصت به وجود آمده آنها امکان اشکال زدایی، رفع خطاها، بهینه سازی عملکرد و اعتبارسنجی عملکرد یک سیستم را قبل از آنکه بخواهند آن را در محیطهای حیاتی استفاده کنند دارند.
- تحلیل: Sandboxابزاری ارزشمند برای محققان و تحلیلگران امنیتی است. در این فضا آنها میتوانند مطالعه و تجزیه و تحلیل خوبی روی بدافزارها یا هر رفتار مشکوک سیستم مورد نظر خودشان داشته باشند. جعبه شنی فضایی را برای آنها فراهم میکند که بدون به خطر انداختن امنیت سیستم، عملکرد، اقدامات و تهدیدات آن را مشاهده و درک کنند.
- نوآوری: سندباکس محیطی انعطاف پذیر و قابل تنظیم برای آزمایشها ارائه میکند. توسعه دهندگان با کمک این سیستم میتوانند سناریوهای مورد نظر خودشان را ایجاد کنند و پیکربندیهای مختلف را آزمایش نمایند. در این محیط امکان این وجود دارد که اطلاعات جدید کشف شوند، فناوریها و رویکردهای جدید برای توسعه نرمافزار به وجود بیایند و نهایتاً نوآوری اتفاق افتد.
چند نوع سندباکس وجود دارد؟
در حال حاضر دو نوع سندباکس وجود دارد که کاربران دنیای دیجیتال میتوانند از آنها استفاده کنند. با دو نوع متفاوت این محیط بیشتر آشنا خواهیم شد:
- نرم افزاری: در مدل نرمافزاری شما با محیطهای مجازی مواجه میشوید که با استفاده از ابزارهای نرمافزاری راهاندازی شدهاند. مثالهای متعددی هستند که برای این فضاها میتوانیم عنوان کنیم اما شاید محبوبترین آنهاVirtualBox، VMware، Docker و Kubernetes باشند. برخی از این محیطها را در بخشهای بعدی مفصلتر معرفی خواهیم کرد و اینجا صرفاً جهت آشنایی نام آنها را عنوان کردیم.
- سخت افزاری: نوع دیگری از سیستمهای سندباکس به صورت سختافزاری قابل استفاده هستند. این محیطها در حقیقت دستگاهها یا سیستمهای فیزیکی میباشند که به sandboxing اختصاص داده شدهاند.این محیطها کمک میکنند تا شما جداسازی را دقیقتر انجام دهید. البته معمولاً منابع موجود در آنها فشردهتر هستند.
چرا از Sandbox استفاده کنیم؟
استفاده از سندباکس مزایای زیادی میتواند داشته باشد. برخی از مهمترین مزایای این محیط را با هم بررسی میکنیم:
- امنیت پیشرفته:جعبههای شنی معمولاً لایه امنیتی قدرتمندی را برای کاربران خود فراهم میآورند. نگه داشتن نرمافزارها در یک محیط کنترل شده sandboxing کمک میکند که سیستمهای بزرگتر و دادههای حیاتیتر دست نخورده و بدون خطر باقی میمانند.
- قرنطینه ایمیل:Sandbox ها معمولا به عنوان منطقه قرنطینه جهت بررسی ایمیلهای مشکوک و پیوستهای آنها شناخته میشوند. معمولا فیلترهایی که در این محیط برای بررسی ایمیلها طراحی شدهاند تهدیدات بالقوه را علامت گذاری میکنند و به مدیران این امکان را میدهند که آنها را بدون خطر فعالسازی مورد بررسی قرار دهند. همچنین در نظر داشته باشید که در این جعبهها پیوست یا ماکروهای مخرب مخصوصاً آنهایی که نرمافزارهای آفیس را مورد هدف قرار میدهند از نظر ایمنی بررسی میگردند.
- کاربرپسند: درست است که سندباکسها ابزارهای ارزشمندی برای پرسنل تخصصی امنیت سایبری هستند اما کارمندانی که هیچ آشنایی با فناوریهای دیجیتالی ندارند هم میتوانند از این فضا استفاده کنند.در واقع طراحی بصری این محیطها به گونهای است که هر نوع کاربری میتواند وارد آن شود و برای نیاز خود از آن بهره ببرد.
- هزینه: طبیعتاً اینکه یک سیستم درگیر نقضهای امنیتی یا اشکالات نرمافزاری شود میتواند هزینههای زیادی برای آن داشته باشد.Sandboxing رویکرد پیشگیرانهای ارائه میکند که هرگونه هزینه مالی و اعتباری را که سازمانها امکان دارد با آن مواجه شوند کاهش میدهد.
- پیشرفت مداوم: با توجه به اینکه اطلاعات و نرمافزارهای متنوعی درsandboxing مورد بررسی قرار میگیرند این شبکه مدام خود را به روز رسانی میکند. در واقع تهدیدات و رفتارهای نرمافزاری مختلفی در این شبکه مورد بررسی قرار میگیرند و همین موضوع کمک میکند تا جدیدترین مشکلات موجود در پروتکلهای امنیتی به وسیله جعبههای شنی شناسایی گردند. با کمک این جعبهها شما میتوانید پروتکلهای امنیتی خودتان را سریعاً به روز رسانی کنید.
سندباکس چگونه عمل میکند؟
فرایند عملکرد سندباکس به محیطی بستگی دارد که قرار است در آن مورد استفاده قرار بگیرد. با توجه به این موضوع بهتر است کاربردهای مختلف این محیط را مورد بررسی قرار دهیم تا فرایند عملکرد آن را درک کنیم. مهمترین کاربردهای جعبه شنی عبارتند از:
- شبیه سازی: جعبه شنی توانایی کم نظیری در شبیهسازی دستگاههای گوناگون مانند کامپیوتر و موبایل دارد. از طرفی این محیط میتواند سیستم عامل مورد نظر شما را هم شبیه سازی کند. با کمک این ماشین مجازی شما میتوانید سیستم عامل مورد نظرتان را شبیه سازی کرده و تست نرمافزار را در آن انجام دهید.
- نظارت: تمام فعالیتها و تعاملات برنامههایی که آزمایش کنندهها آنها را در sandbox اجرا میکنند ردیابی میشود. در این فرایند تمام اصلاحات سیستم، فایل ارتباطات شبکه و تماسهای سیستمی که رفتار واقعی را نشان میدهند مورد نظارت قرار میگیرند.
- دسترسی محدود: یکی از ویژگیهای مهم دیگری که سندباکس دارد این است که دسترسی به شبکه را محدود میکند. در واقع جعبه شنی تضمین میکند که نرمافزار آزادانه نمیتواند با سرورها یا سیستمهای خارجی ارتباط داشته باشد. در کنار آن این محیط امکان دسترسی به فایلهای غیر مجاز یا تغییرات در فایلها را نمیدهد.
- دقت: اگر بخواهیم به طور خلاصه کاربردSandboxing را بیان کنیم باید بگوییم که مانند یک میکروسکوپ نرمافزارها را با دقت بررسی میکند و مشکلات یا خطرات آنها را اعلام مینماید. پویایی موجود در این محیط کمک میکند تا تهدیدات بالقوه قبل از وارد کردن آسیب به دنیای واقعی درک شده و با آنها مقابله شود.
آشنایی با چند نمونه از محیطهای Sandbox
محیطهای سندباکس مختلفی هستند که در جهان مورد استفاده قرار میگیرند. برای اینکه بیشتر با این فضاها آشنا شویم بد نیست چند نمونه از این محیطها را با هم بررسی کنیم. مهمترین محیطهایی که میتوانید از آنها استفاده کنید عبارتند از:
- ماشین مجازی: راه اندازی یک ماشین مجازی به عنوان جعبه شنی، کامپیوتر میزبان را تبدیل به محیط مجازی و ایزولهای میکند. با شبیهسازی اجزای سختافزاری کامپیوتر همچون Cpu و فضای ذخیره سازی، محیطی امن جهت اجرای فایلهای مخرب یا برنامهها و دادههای نامعتبر ایجاد میشود. مثلاً یک سندباکس VM ممکن است پیوستهای ایمیل فیشینگ را باز کند. توجه داشته باشید که برنامه sandboxed مستقل از سیستم میزبان در ماشین مجازی اجرا میشود به همین دلیل حتی اگر اطلاعات مخرب باشند هیچ آسیبی به سیستم میزبان وارد نمیشود.
- آنتی ویروس: سندباکس آنتی ویروس جهت ارزیابی فایلهای مشکوک از نظر تهدیدات احتمالی مورد استفاده قرار میگیرد. این برنامه یک فایل را زمانی که کاربر دانلود میکند از سیستم اصلی جدا کرده و در جعبه شنی قرار میدهد.در این محیط ایزوله شده فایل در حالی اجرا میشود که نرمافزار آنتی ویروس آن را نظارت کرده و رفتارهای مخرب را جستجو میکند. از جمله این رفتارهای مخرب میتوانیم به تغییر فایلهای سیستم یا ایجاد اتصالات شبکه ناخواسته اشاره کنیم. علاوه بر آن جعبه شنی امضای فایل را در برابر پایگاه داده مخرب شناسایی کرده و از دستگاه در برابر هرگونه خرابی محافظت به عمل میآورد.
- تایید پیوند: Link verification کلاهبرداریهایQR را که میتوانند به آدرسهای اینترنتی آسیب وارد کنند شناسایی مینماید. به این ترتیب آنها با کمک جعبه شنی برای تایید یکپارچگی وب سایت مقصد اقدام مینمایند. در واقع شما میتوانید ارزیابی کنید که آیا وب سایتهای پیوند داده شده شاخصهای فیشینگ یا کلاهبرداری را دارند یا خیر. به عبارت بهتر تایید پیوند کمک میکند تا کاربران از تعامل با سایتهای مخرب اجتناب نمایند.
چگونه یک محیط سندباکس ایجاد کنیم؟
موضوع دیگری که در مورد سندباکس باید به آن بپردازیم مربوط به نحوه انتخاب این محیطها میشود. انتخاب یک محیط به پارامترهای مختلفی بستگی دارد و نمیتوانیم آن را فقط در یک جمله خلاصه کنیم. پارامترهایی که بهتر است در انتخاب یک محیط جعبه شنی به آنها توجه داشته باشید را در ادامه بیان مینماییم:
- هدف: در اولین گام شما باید هدف خودتان را از ورود به این محیطها مشخص کنید. هر کسی هدف خاصی برای استفاده از Sandbox دارد و نمیتوانیم همه را مشابه هم بدانیم.برخی افراد به دنبال این هستند که در این محیطها بدافزارها را تحلیل نمایند. دسته دیگری به دنبال آزمایش یا مرور برنامههای خود هستند تا ایرادات موجود در آنها را کشف کنند.
- سازگاری: محیطی که انتخاب میکنید باید با سیستم عامل شما سازگاری داشته باشد.طبیعتاً زمانی که این سازگاری وجود نداشته باشد نمیتوانید از خدمات آن محیط به خوبی بهره ببرید و نرمافزارهای خودتان را امتحان کنید. همچنین بهتر است به سطح ایزوله، سهولت استفاده و تاثیر عملکرد محیط هم دقت داشته باشید.
- ویژگیها: محیطی که انتخاب میکنید باید دارای ابزار متنوعی باشد. این محیط باید عوامل مورد نیاز، منابع، هزینهها، گزینههای سفارشی سازی، به روز رسانی و بازخوردهای کاربران را برای شما به نمایش بگذارد.البته هر کدام از این محیطها ویژگیهای خاص خود را هم دارند که میتوانید بر اساس آنها بهترین گزینه را انتخاب کنید. تنوع ویژگیهای اضافی مجدداً با هدف گذاری شما ارتباط پیدا میکند.
- آزمایش:برای اینکه بهترین جعبه شنی را انتخاب کنید سعی کنید چند نمونه را مدنظر قرار دهید و آنها را آزمایش نمایید. آزمایش کردن بهترین راه برای انتخاب یک محیط است چرا که تمام امکانات و شرایط آن را برای شما مشخص میکند. در آزمایش متوجه میشوید که آیا اصلاً سیستم مورد نظر میتواند جوابگوی نیاز شما باشد یا خیر.
چگونه از Sandbox استفاده کنیم؟
نحوه استفاده از محیط سندباکس بستگی به این دارد که قرار است از کدام محیط بهره ببرید. بسیاری از پلتفرمهای ابری شنی محیط مخصوص به خود را برای کار با برنامهها و به روز رسانیهای جدید پیشنهاد میکنند. مثلاً اگر قصد دارید از پیپال جهت انجام پرداختهای خودتان استفاده کنید باید بدانید که sandbox آن در محیط خود پی پال قرار گرفته است. با کمک این محیط شما میتوانید نحوه پرداخت از طریق پی پال را آزمایش کنید. با این حال اگر قرار است کد یا بدافزار بالقوهای را آزمایش نمایید باید یک ماشین مجازی بر روی سیستم خودتان نصب کنید. بسیاری از کاربران معمولا در این شرایط از VirtualBox کمک میگیرند. ضمناً توجه داشته باشید که قبل از نصب سیستم عامل بهتر است ویژگیهای سختافزاری آن از قبیل حافظه، cpu، ظرفیت ذخیرهسازی و آداپتور شبکه را مطالعه نمایید و آنها را با سیستم خودتان تطبیق دهید.
در کدام دوره آموزشی سندباکس شرکت کنیم؟
برای اینکه در محیطهای سندباکس فعالیت داشته باشید، بهتر است در یک دوره آموزشی مربوط به آنها شرکت نمایید. شرکت کردن در این دورهها کمک میکند تا به صورت تخصصی با آن محیطها آشنا شوید و بتوانید بازدهی بهتری از آنها به دست آورید. درست است که در این مطلب با ابعاد مختلف محیطهای Sandbox آشنا شدید اما قطعاً برای اینکه بتوانید حرفهایتر از آنها استفاده کنید راه درازی در پیش خواهید داشت. دورههای متعددی در این زمینه برگزار میشود و موسسات مالی مختلف همچون آرادفین آماده هستند تا بهترین آموزشها را به شما ارائه نمایند. در این موسسات دورههای مختلفی در حوزههای مالی و ارزهای دیجیتال برگزار میشود که کیفیت کم نظیری نسبت به دورههای دیگر دارند.