تست نفوذ (Penetration Testing)
تست نفوذ (Penetration Testing) که به عنوان Pen Test نیز شناخته می شود، یک حمله سایبری شبیه سازی شده علیه سیستم کامپیوتری شما برای بررسی آسیب پذیری های قابل بهره برداری است. در زمینه امنیت برنامه های کاربردی وب، تست نفوذ معمولا برای تقویت فایروال وب (WAF) استفاده می شود.
تست نفوذ میتواند شامل تلاش برای نقض هر تعداد از سیستمهای کاربردی، به عنوان مثال، رابطهای پروتکل برنامه (API)، سرورهای (frontend/backend) برای کشف آسیبپذیریها، مانند ورودیهای ضدعفونیشده که مستعد حملات code injection هستند، باشد.
بینش های ارائه شده توسط تست نفوذ را می توان برای تنظیم دقیق خط مشی های امنیتی WAF و اصلاح آسیب پذیری های شناسایی شده استفاده کرد.
مراحل تست نفوذ
فرآیند تست نفوذ را می توان به پنج مرحله تقسیم کرد.
- برنامه ریزی و شناسایی
مرحله اول شامل:
تعریف دامنه و اهداف یک آزمون، از جمله سیستم هایی که باید مورد بررسی قرار گیرند و روش های آزمایشی که باید استفاده شود.
جمع آوری اطلاعات (به عنوان مثال، نام های شبکه و دامنه، سرور ایمیل) برای درک بهتر نحوه عملکرد یک هدف و آسیب پذیری های احتمالی آن.
- اسکن
گام بعدی این است که بفهمیم برنامه هدف چگونه به تلاش های مختلف نفوذ پاسخ می دهد. این معمولاً با استفاده از موارد زیر انجام می شود:
تجزیه و تحلیل استاتیک – بازرسی کد برنامه برای تخمین نحوه عملکرد آن در حین اجرا. این ابزارها می توانند کل کد را در یک پاس اسکن کنند.
تجزیه و تحلیل پویا – بازرسی کد برنامه در حالت در حال اجرا. این یک روش عملیتر برای اسکن است، زیرا نمایشی در زمان واقعی از عملکرد یک برنامه ارائه میکند.
- به دست آوردن دسترسی
این مرحله از حملات برنامه های وب cross-site scripting, SQL injection and backdoors برای کشف آسیب پذیری های هدف استفاده می کند. سپس آزمایشکنندهها سعی میکنند از این آسیبپذیریها سوءاستفاده کنند، معمولاً با افزایش امتیازات، سرقت دادهها، رهگیری ترافیک و غیره برای درک آسیبهایی که میتوانند ایجاد کنند.
- حفظ دسترسی
هدف این مرحله این است که ببینیم آیا میتوان از آسیبپذیری برای دستیابی به حضور دائمی در سیستم بهرهبرداریشده استفاده کرد یا نه به دسترسی عمیق دست پیدا کند. ایده تقلید از تهدیدات مداوم پیشرفته است که اغلب ماه ها در یک سیستم باقی می مانند تا حساس ترین داده های سازمان را بدزدند.
- آنالیز
سپس نتایج تست نفوذ در گزارشی با جزئیات جمعآوری میشود:
آسیب پذیری های خاصی که مورد سوء استفاده قرار گرفتند
داده های حساسی که به آنها دسترسی پیدا شد
مدت زمانی که پنتستر توانست در سیستم بدون شناسایی بماند
این اطلاعات توسط پرسنل امنیتی تجزیه و تحلیل می شود تا به config تنظیمات WAF شرکت و سایر راه حل های امنیتی برنامه برای اصلاح آسیب پذیری ها و محافظت در برابر حملات آینده کمک کند.
روش های تست نفوذ
تست خارجی
تستهای نفوذ خارجی داراییهای یک شرکت را هدف قرار میدهند که در اینترنت قابل مشاهده هستند، به عنوان مثال، خود برنامه وب، وبسایت شرکت، و سرورهای ایمیل و نام دامنه (DNS). هدف دستیابی به داده های ارزشمند و استخراج آن است.
تست داخلی
در یک تست داخلی، یک پنتستر با دسترسی به برنامهای در پشت فایروال خود، حمله یک خودی مخرب را شبیهسازی میکند. این لزوما شبیه سازی یک کارمند سرکش نیست. یک سناریوی شروع معمول می تواند کارمندی باشد که اعتبار او به دلیل حمله فیشینگ به سرقت رفته است.
تست Blind
در یک آزمایش Blind ، یک پنتستر فقط نام شرکتی را که هدف قرار می گیرد، داده می شود. این به پرسنل امنیتی امکان می دهد در زمان واقعی نگاهی به نحوه انجام حمله واقعی به برنامه داشته باشند.
تست Double-blind
در یک تست double-blind ، پرسنل امنیتی هیچ اطلاع قبلی از حمله شبیه سازی شده ندارند. همانطور که در دنیای واقعی، آنها هیچ زمانی برای تقویت دفاعی خود قبل از تلاش برای رخنه نخواهند داشت.
تست هدفمند
در این سناریو، هم تستر و هم پرسنل امنیتی با هم کار می کنند و یکدیگر را از حرکاتشان ارزیابی می کنند. این یک تمرین آموزشی ارزشمند است که به تیم امنیتی بازخورد بلادرنگ از دیدگاه هکرها ارائه می دهد.
گروه تکتاکام یکی از معدود شرکت هایی است که خدمات تست نفوذ (Penetration Testing) را ارائه می نماید و تمامی مراحل کار را به صورت مستند شده در اختیار کار فرما قرار می دهد.