در یک تعریف ساده، تست نفوذ شبکه حملهای شبیه سازی شده بر علیه سیستم کامپیوتری مورد نظر است تا بتوان میزان آسیبپذیریها را بررسی نمود. در زمینه امنیت برنامههای وب، معمولا از تست نفوذ جهت بهبود فایروال برنامههای تحت وب (WAF) استفاده میشود. تست نفوذ شبکه
تست نفوذ شبکه شامل تلاشهایی جهت نقض تعدادی سیستم کاربردی مانند رابطهای پروتکل برنامه (API) یا سرورهای frontend/backend به منظور کشف آسیبپذیریهایی مانند ورودیهایی که نسبت به کدهای حملات حساس میباشند، است.
دانش کسب شده توسط تست نفوذ شبکه میتواند جهت تنظیم دقیق سیاستهای امنیتی WAF و شناسایی آسیبپذیریها مورد استفاده قرار گیرد.
مراحل تست نفوذ شبکه (Penetration testing stages)
فرایند تست شبکه شامل پنج مرحله زیر میگردد: تست نفوذ شبکه
- برنامهریزی و بازدید مقدماتی (Planning and reconnaissance)
این مرحله شامل:
-
- تعریف دامنه و اهداف تست، شامل سیستمهایی که مورد ارزیابی قرار میگیرند و همچنین روشهای تست
- جمع آوری اطلاعاتی مانند شبکه، نام دامنه و Mail server جهت درک بهتر عملکرد یک هدف و آسیبپذیریهای احتمالی آن
- اسکن کردن (Scanning)
در این مرحله میبایست متوجه شوید چگونه یک برنامهی هدف به تلاشهای مختلف نفوذ پاسخ میدهد که معمولا با استفاده از مراحل زیر انجام میشود:
-
- تجزیه و تحلیل استاتیک (Static): بازرسی کد برنامه جهت تخمین روشی که هنگام اجرا پیاده می کند. این ابزارها می توانند تمام کدها را در یک مرحله اسکن کنند.
- تجزیه و تحلیل پویا (Dynamic): بازرسی کد برنامه را در حالت اجرای برنامه مورد نظر انجام میدهد. این روش برای اسکن، کاربردیتر میباشد، زیرا به صورت لحظهای عملکرد برنامهها را چک میکند. تست نفوذ شبکه
- دستیابی (Gaining Access)
این مرحله از حملات برنامههای وب مانند cross-site scripting ، SQL injection و backdoors جهت کشف آسیبپذیریهای هدف استفاده میکند. سپس افرادی که تست را انجام میدهند، با استفاده از از این آسیبپذیریها،خسارت وارده احتمالی را بررسی میکنند.
- حفظ دسترسی (Maintaining access)
هدف این مرحله این است که ببینیم آیا میتوان از آسیبپذیریها جهت دستیابی به حضور مداوم در سیستمهای مورد حمله استفاده کرد یا خیر. ایده آن این است که تهدیدات پیشرفته و مداوم که برای مدت طولانی در سیستم باقی میماند تا به اطلاعات مهم دست پیدا کند، را تقلید نمود.
- تحلیل و بررسی (Analysis)
ارائه نتایج تست نفوذ با جزییات زیر:
-
- آسیبپذیریهای خاص که مورد استفاده قرار گرفتهاند.
- دادههای مهم که به آنها دسترسی پیدا شده.
- مدت زمانی که مسئول تست نفوذ، قادر به ماندن در سیستم شناسایی نشده بود.
این اطلاعات جهت کمک به انجام تنظیمات WAF سازمانها و همچنین سایر برنامههای امنیتی، برطرف کردن آسیبپذیریها و ایجاد امنیت در برابر حملات آینده، توسط تیم امنیتی تجزیه و تحلیل میشود.
روشهای تست نفوذ شبکه
- تست خارجی (External testing): تست نفوذ خارجی، دستهای از اطلاعات سازمان را مورد هدف قرار میدهد که بر روی اینترنت قرار میگیرد مانند برنامههای تحت وب، وب سایت یک شرکت و سرورهای نام دامنه و ایمیل (DNS). هدف دستیابی و استخراج دادههای ارزشمند است.
- تست داخلی (Internal testing): در این روش، کسی که تست را انجام میدهد، با امکان دسترسی به برنامههای پشت فایروال، حملات را با یک نیروی داخلی مخرب شبیهسازی میکند. البته لزوما نباید یک کارمند این کار را انجام دهد. بلکه میتواند کارمندی باشد که اعتبارنامه وی به دلیل حملات فیشینگ به سرقت رفته باشد.
- تست Blind: در این روش، به فرد تست کننده فقط نام شرکت هدف داده میشود. قابل ذکر است این روش به تیم امنیتی امکان چگونگی مقابله با یک حمله واقعی و در لحظه را میدهد.
- تست Double-blind: در این روش، تیم امنیتی هیچ اطلاع قبلی در مورد حمله شبیهسازی شده ندارند. همانطور که در دنیای واقعی اتفاق میافتد، آنها زمانی برای فعال کردن دیوار دفاعی خود ندارند.
- تست هدفمند (Targeted testing): در این سناریو، هم کسی که تست میکند و هم تیم امنیتی با هم کار میکنند و یکدیگر را نسبت به حرکات خود ارزیابی میکنند. این یک تمرین آموزشی ارزشمند است که تیم امنیتی میبایست در لحظه بازخورد داشته باشند.
تست نفوذ و فایروالهای برنامههای وب
تست نفوذ و WAFها، اقدامات امنیتی سودمند و متقابل هستند. برای بسیاری از انواع تست نفوذ (به استثنای blind و double blind) فرد تست کننده از دادههای WAF استفاده میکند مانند اطلاعات ورود به سیستم (logs) و نقاط ضعف برنامه
مدیران WAF نیز به نوبه خود میتوانند از مزایای تست نفوذ بهرهمند گردند. بعد از کامل شدن تست، میتوانند تنظیمات WAF را جهت ایجاد امنیت در مقابل نقاط ضعف کشف شده در تست، بهروزرسانی نمایند.
در آخر میتوان گفت، تست نفوذ برخی از الزامات مربوط به ممیزیهایی مانند PCI DSS و SOC2 را بر آورده میکند. برخی از استانداردها مانند PCI-DSS 6.6 تنها از طریق WAF مجاز، رعایت میشوند. با این حال، انجام این کار به دلیل مزایای ذکر شده و توانایی بهبود تنظیمات WAF، چیزی از مزایای تست نفوذ کم نمیکند.