تست نفوذپذیری برنامه های تحت وب

امروزه خدمات مبتنی بر وب بصورت گسترده‌ای توسط کاربران در حال استفاده است و بصورت فزاینده‌ای، بر محبوبیت آن افزوده می‌شود. مراجعات حضوری برای دریافت خدمات متنوع (اعم از مالی، صنعتی، بهداشتی، آموزشی و …) در حال کاهش است و سازمان‌ها به استفاده از درگاه‌های اینترنتی بعنوان یک مزیت رقابتی نگاه می‌کنند.

وب‌سایت‌ها، درگاه‌های پرداخت، درگاه‌های اینترنت بانک، ارائه‌دهندگان پست‌های الکترونیک و سایر سیستم‌هایی که از طریق وب خدمات ارائه می‌دهند و با اطلاعات مهم و حساس سر و کار دارند، نمونه‌ای از سیستم‌هایی هستند که برای نفوذگران دارای جذابیت‌های بالایی می‌باشند. هر روز آمار نگران کننده‌ای از نشت اطلاعات سازمان‌ها و شرکت‌ها، منتشر می‌شود که نشان می‌دهد علیرغم توجه سازمان‌ها به مقوله امنیت اطلاعات، نفوذگران یک گام از متخصصین امنیت سایبری جلوتر بوده و هنوز می‌توانند با نفوذ به این سامانه‌ها، اطلاعات کاربران را استخراج و از آن‌ها باجگیری نمایند. نمونه ای از برخی از این آسیب پذیری ها را می توانید در وبلاگ تخصصی ما مطالعه نمائید. لذا تمامی سازمان‌هایی که همه یا بخشی از خدمات خود را بر بستر وب ارائه می‌کنند، لازم است جهت اطمینان بخشی به مشتریان خود از بابت امنیت اطلاعاتشان، توجه ویژه‌ای به یافتن رخنه‌های امنیتی و سعی در برطرف کردن آن‌ها داشته باشند. برگزاری تست‌های نفوذ موردی حتی پرداخت پاداش به کسانیکه بتوانند رخنه‌های امنیتی را کشف و اعلام نمایند از سوی سازمان‌ها و شرکت‌های بزرگ، نشان دهنده اهمیت این موضوع است.

تست نفوذپذیری یک وب سایت یا به‌عبارت بهتر یک برنامه تحت وب (Web Application) براساس استانداردها و متدولوژی‌های امنیتی همچون OWASP انجام می‌شود. به این ترتیب که اگر این برنامه بر روی بستر اینترنت در دسترس باشد (مانند اینترنت بانک‌ها یا پرتال‌های اطلاع رسانی سازمان‌ها و درگاه‌های پرداخت)، IP معتبر پیمانکار که تست نفوذ از آن انجام می‌شود، به کارفرما اعلام می‌شود تا در صورت لزوم (بسته به نوع تست نفوذ)، دسترسی لازم بر روی این IP بر روی تجهیزات امنیتی (مانند فایروال) ایجاد گردد. در این حالت تست‌ها از خارج سازمان و بصورت External انجام می‌شود. چنانچه دسترسی به برنامه صرفاً محدود به شبکه داخلی کارفرما باشد، آنگاه کارشناسان تست نفوذ در محل کارفرما حاضر شده و با اتصال به شبکه کارفرما، عملیات تست نفوذ را انجام می‌دهند که به آن تست نفوذ Internal گفته می‌شود.

در تست نفوذ از خارج سازمان ممکن است هیچگونه دسترسی خاصی بر روی فایروال برای IP معتبر اعلام شده از سوی پیمانکار ایجاد نشود. در واقع از نفوذگر خواسته می‌شود که ابتدا از سد تجهیزات امنیتی عبور کند و سپس به بررسی آسیب پذیری‌های برنامه بپردازد. این کار به ویژه در مواقعی که بررسی پیکربندی‌های فایروال مد نظر باشد، بسیار مورد توجه خواهد بود. ( تست Black Box )

آزمون‌ها به دو صورت مکانیزه (با استفاده از ابزارهای تجاری) و خلاقانه (با تکنیک‌های شخصی و تخصصی نفوذگر) انجام می‌شود. در متدولوژی تست نفوذ آشنا ایمن (ASPTM)، تنها بخش کوچکی از عملیات تست نفوذ با استفاده از ابزارهای پویشگر متداول انجام می‌شود که ممکن است ضریب خطای بالایی داشته باشد (False- Positive) و نتایج آن صرفاً بعنوان خطوط راهنما مورد استفاده کارشناسان تست نفوذ قرار می‌گیرد. بخش عمده آزمون‌ها، بصورت دستی و با تکیه بر تجربیات تیم تست نفوذ انجام می‌شود و تمامی آسیب پذیری‌ها، بر مبنای نتایج حاصل از تکنیک‌های خلاقانه فنی کارشناسان، گزارش می‌شود.

در آزمون‌های نفوذپذیری مجموعه حملاتی از جمله موارد زیر مورد شبیه سازی قرار می‌گیرد:

  • Information Gathering
  • Configuration and Deployment Management
  • Identity Management and Authentication
  • Authorization and Boundary Test
  • Cookie and Session Management
  • Accessibility
  • Input/Output Validation
  • Cryptography
  • Workflow/Dataflow

که نتایج آن بصورت کامل گزارش می‌شود. این گزارش برای هر یک از آسیب پذیری‌های شناسایی شده، شامل بخش‌های مختلفی است که از جمله آن‌ها می‌توان به موارد زیر اشاره کرد:

  • توصیفی از آسیب پذیری و نحوه سوء استفاده احتمالی از آن
  • امتیاز دهی به آسیب پذیری بر اساس استانداردهای جهانی
  • رتبه بندی آسیب پذیری
  • شواهد وجود آسیب پذیری
  • علت وجود آسیب پذیری
  • راهکار رفع آسیب پذیری

تیم امن سازی با تکیه بر راهکارهای پیشنهادی برای رفع آسیب پذیری، قادر خواهد بود رخنه‌های امنیتی را مرتفع نموده و سامانه را در برابر حملات سایبری، محافظت نماید.

باید توجه داشت که ارزیابی جامع امنیتی شامل مجموعه ای از ارزیابی ها در حوزه زیرساختهای فیزیکی، شبکه و سرویسها، اپلیکیشنهای دسکتاپی و تحت وب، اپلیکیشنهای موبایلی و در صورت وجود، شبکه های کنترل صنعتی است که باید بصورت دوره ای انجام شده و نتایج آن در جهت امن سازی مجموعه به هم پیوسته این دارائیها، مورد استفاده قرار گیرد.