تست نفوذ جعبه خاکستری چیست و چرا باید از آن استفاده کرد؟
تست جعبه خاکستری یکی از راههای سازمانهایی است که در حال افزایش توان دفاعی خود در برابر حملات سایبری هستند. آیا وقت آن رسیده است که تیم شما نیز همین کار را انجام دهد؟ با توجه به افزایش گسترده حملات سایبری، سازمانها برای جلوگیری از حملات باج خواهی به سیستمهای خود، به دنبال بدست آوردن آمادگی بیشتری هستند. از انجام آزمایشهای هک شبیهسازیشده عظیم، تا محدود کردن دسترسی به افراد خارجی با استفاده از مدلهای ارزیابی، چیزهای زیادی در این حوزه در حال انجام است.
تست نفوذ ، که تحت عنوان «PenTest» یا «هک اخلاقی» نیز شناخته میشود، یک ارزیابی امنیتی است که از ابزارهای امنیتی شبکه برای شبیه سازی حمله به یک سیستم یا شبکه کامپیوتری استفاده میکند.
برخی از تکنیکهای استاندارد پن تست شامل تست جعبه سیاه، سفید و خاکستری است. آیا در مورد تست جعبه خاکستری شنیده اید؟ بیایید درباره این نوع Pen test چیزهای بیشتری بدانیم.

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

تکنیک های تست جعبه خاکستری
کسب و کارها از چندین نوع تست نفوذ جعبه خاکستری استفاده میکنند. برای تشریح، به چند مورد اشاره میکنیم:
تست عقبگرد
تست رگرسیون یا عقبگرد(Regression) نوعی تست نفوذ جعبه خاکستری است که عیوب نرم افزاری شناسایی و رفع شده را آزمایش میکند. این نوع آزمایش تضمین میکند که نرمافزار به سمت وضعیت «کمتر ایمن» نرفته است.
تسترها از رایجترین ابزارها و تکنیکهای پنتست برای انجام تست رگرسیون استفاده میکنند. این کار را میتوان با اجرای مجدد و تأیید خروجی های اجراهای قبلی با نتایج جدید حاصل از تغییرات اخیر کد انجام داد. تست رگرسیون عملی ضروری است، زیرا تضمین میکند که تغییرات کد ذاتی آسیب پذیری های جدیدی ایجاد نکرده است.
تکنیک ماتریس
تکنیک ماتریس شامل تجزیه سیستم هدف به مناطق یا متغیرهای مختلف و آزمایش آسیب پذیری هر متغیر است. به عنوان مثال، اولین متغیر ممکن است زیرساخت شبکه و به دنبال آن سیستم عامل، بعد برنامهها و سپس داده ها باشد. هر متغیر برای نقاط ضعفی که یک هکر میتواند برای دسترسی به متغیر بعدی از آنها سوء استفاده کند، آزمایش میشود. ثابت شده است که این یک راه بسیار موثر برای یافتن آسیبپذیریها است، زیرا به شما امکان میدهد در یک زمان روی متغیرهای خاص تمرکز کنید و نحوه عملکرد آن را درک کنید.
علاوه بر این، تکنیک ماتریس میتواند به شما کمک کند مسیرهای حمله احتمالی را که ممکن است در نظر نگرفته بوده باشید را شناسایی کنید. تصویر واضحی از وضعیت امنیتی سیستم ارائه میدهد.
تست ساختار عمودی
تست ساختار عمودی (Orthogonal array ) یک تکنیک قدرتمند تست جعبه خاکستری است که پتانسیل کشف طیف گسترده ای از نقص های نرم افزاری را دارد.
این تکنیک ساختارها را پوشش میدهد، که تضمین میکند تمام جفتهای مقادیر ورودی حداقل یکبار اعمال میشوند. OATS به آزمایش همه ترکیبهای ممکن از مقادیر ورودی کمک میکند و آن را به ابزاری قدرتمند برای کشف ایراد ها تبدیل میکند.
این نوع تست یک تکنیک پنست خاکستری است که موارد تست را بدون پوشش کاهش میدهد. در تئوری، میتوانید تعداد تستهایی را که باید اجرا کنید، در حالی که هنوز عملکرد کامل نرمافزار خود را آزمایش میکنید، کاهش دهید.
تکنیک الگو
تکنیک الگو یک ابزار قدرتمند برای هکرهای اخلاقی است که میخواهند آسیب پذیریهای سیستم را شناسایی کنند. استفاده از این تکنیک در ارتباط با سایر تکنیکهای تست جعبه خاکستری، دید جامعی از امنیت سیستم به شما میدهد. در حالی که آزمایش یک سیستم برای همه آسیبپذیریهای بالقوه میتواند چالش برانگیز باشد، تکنیک الگو برای آزمایش آسیبپذیریهای رایج و غیر رایج بسیار ارزشمند است.

معایب تست نفوذ جعبه خاکستری
مانند دو روی یک سکه، چند محدودیت برای تست نفوذ جعبه خاکستری وجود دارد که باید هنگام انجام این نوع ارزیابی در نظر بگیرید. برخی از محدودیت ها در زیر بیان شده است:
1. از آنجایی که تست جعبه خاکستری مستلزم داشتن دانش قبلی از سیستم مورد نظر است، ممکن است نتوان اقدامات یک حمله واقعی را از ابتدا تا به انتها شبیه سازی کرد.
2. تست جعبه خاکستری ممکن است نتواند همه آسیبپذیریهای امنیتی بالقوه را شناسایی کند، زیرا آزمایشکننده ممکن است دید کاملی از سیستم نداشته باشد.
3. با توجه به فرآیند نقشه برداری و تحلیل برنامه و دسترسی محدود به کد منبع، سرعت تست به طور قابل توجهی کندتر از تست جعبه سفید است.
آیا تست جعبه خاکستری انتخاب درستی است؟
قبل از تصمیمگیری در مورد اینکه آیا تست جعبه خاکستری را انتخاب کنید یا خیر، باید چندین فاکتور را در نظر بگیرید. برخی از این عوامل شامل موارد زیر است، اما تنها به آنها محدود نمیشود:
1. اولین عامل سطح دسترسی به پایگاه کد تیم آزمایش شما است. اگر تیم دسترسی محدودی داشته باشد، ممکن است نتوانند کد را به طور کامل درک کنند و در نهایت باگ های مهم را از دست بدهند.
2. عامل دوم اندازه و پیچیدگی پایه کد است. یک پایگاه با کد بزرگ و پیچیده بیشتر از یک پایه کد کوچک و ساده دارای اشکالات پنهان است.
3. آخرین اما نه کم اهمیتترین عامل این است که شما باید به محدودیتهای زمانی و بودجه پروژه توجه کنید. اگر در یک مهلت و بودجه محدود کار میکنید، ممکن است انجام یک رویکرد تست جعبه سفید جامع امکان پذیر نباشد.
به طور کلی، تست جعبه خاکستری سازش خوبی بین تست جعبه سفید و سیاه است. این میتواند در حالی که پوشش خاصی را ارائه میدهد، کارآمدتر و مؤثرتر از آزمایش جعبه سیاه باشد.
تست جعبه خاکستری به عنوان ابزاری برای تست نفوذ
تست نفوذ یکی از راههای پیشرو برای تایید امنیت یک سیستم است. تست نفوذ (Pentest) بخشی جدایی ناپذیر از چرخه عمر توسعه نرم افزار یک سازمان است.
به عنوان یک روش تست نفوذ، تست جعبه خاکستری مزایای تست جعبه سفید و جعبه سیاه را ترکیب میکند. با این حال، به زبان ساده، حتی برنامههای تست نفوذ نیز از یک سلسله مراتب پیروی میکنند و تست جعبه سیاه جایگاه بالایی را در بین انواع دیگر دارد.
قبل از پرداختن به هر روش آزمایشی، باید منابع امنیتی را به دقت بسنجید و یک طرح مناسب را انتخاب کنید. اطمینان حاصل کنید که اصول اولیه هر نوع تست را پوشش داده اید تا یک تصمیم محتاطانه بگیرید.