سرویس آزمون نفوذ پذیری نرم افزارهای تحت وب با استفاده از یک رویکرد جامع و مبتنی بر ریسک، و به منظور شناسایی آسیب پذیری های نرم افزار در تمامی لایه ها برنامه ریزی شده است. این رویکرد شامل 12 بخش کلی و 105 بخش جزئی بوده که با پیروی از انواع استانداردها و Best Practiceها از جمله WSTG (نسخه 4.2) و ASVS (نسخه 4.0.3) طراحی شده است.
تجربیات به ما نشان داده است ابزارهای ارزیابی اتوماتیک برای انجام مراحل اولیه تست نفوذ موثر می باشند، درحالیکه انجام یک ارزیابی امنیتی جامع، کامل و دقیق تنها با استفاده از هوش انسانی و ارزیابی های دستی قابل انجام می باشد.
بر همین اساس حدود 60 درصد از ارزیابی ها به صورت دستی و 40 درصد از ارزیابی ها توسط ابزارهای تجاری و اتوماتیک انجام می شود.
در این رویکرد تمرکز بر ارزیابی های دستی به منظور شناسایی آسیب پذیری های منطقی و پیچیده و همچنین استفاده از ابزارهای خودکار برای رسیدن به بهترین نتایج در کوتاه ترین زمان می باشد.
در ادامه به تشریح هریک از اجزای رویکرد در نظر گرفته شده می پردازیم.
-
تعیین محدوده پروژه
پیش از اجرای پروژه در جلسه ای با حضور افراد مطلع از سوی کارفرما تلاش میکنیم تا محدوده ی مورد نظر کارفرما جهت اجرای پروژه تست نفوذ را تعیین کرده و موارد زیر را مشخص نماییم.
1. آدرس نرم افزارهایی که برای اجرای پروژه تست نفوذ آماده بوده و میتوان آنها مورد ارزیابی امنیتی و تست نفوذ قرارداد.
2. توافق بر روی بخش هایی از نرم افزار که در محدوده پروژه تست نفوذ و ارزیابی امنیتی مورد بررسی قرار نخواهند گرفت.
3. توافق بر روی مدت زمان و محل اجرای پروژه.
-
جمع آوری اطلاعات
در این مرحله تلاش میکنیم تا حداکثر میزان اطلاعات از نرم افزار را با استفاده از روش ها و منابع اطلاعاتی مختلف استخراج نماییم. شناسایی بخش های مختلف نرم افزار، پارامترهای مورد استفاده، تعداد سطوح دسترسی تعریف شده، تکنولوژی های به کار رفته و .... از جمله مواردی است که در این بخش به شناسایی آنها خواهیم پرداخت. برخی از انواع تکنیک های مورد استفاده شامل موارد زیر میباشد.
• شناسایی مستندات مرتبط با نرم افزار و استخراج Metadata های موجود در آنها
• جمع آوری اطلاعات افشا شده در گذشته مانند حساب های کاربری پیش فرض در نرم افزار
• خزش هوشمند و خودکار در نرم افزار
• شناسایی SubDomainها و پوشه های مختلف نرم افزار
-
اعتبار سنجی اطلاعات
ارزیابی و اعتبار سنجی اطلاعات بدست آمده از جمله مواردی است که در کیفیت اجرای پروژه بسیار تاثیرگذار میباشد. از همین رو پس از اجرای بخش جمع آوری اطلاعات به اعتبار سنجی اطلاعات بدست آمده میپردازیم.
در این مرحله هر جزئی از اطلاعات را که در نادرستی آن به یقین برسیم با جمع آوری شواهد مرتبط با آن به عنوان False Positive در نظر میگیریم.
-
مدل سازی تهدیدات و تهیه نقشه حملات
مدل سازی تهدیدات به معنی استفاده از اطلاعات بدست آمده در مرحله قبل و ترکیب آن با نیاز ها، نگرانی ها و اولویت های هر سازمان و تهیه نقشه راهی به منظور شناسایی آسیب پذیری ها بر اساس ریسک بالاتر میباشد. در این مرحله تیم تست نفوذ سناریو انجام حملات مختلف را طراحی کرده و با هماهنگی و موافقت نماینده کارفرما، فرایند شناسایی آسیب پذیری ها و برنامه ریزی برای برطرف کردن هریک از آنها را آغاز میکند.
-
شناسایی و تحلیل آسیب پذیری ها
در این بخش تلاش میکنیم تا با استفاده از اطلاعات بدست آمده در مراحل قبل و اجرای نقشه حملات، آسیب پذیری های موجود در نرم افزارهای شناسایی کرده تا در گام بعد به بهره برداری از آنها بپردازیم. از جمله حملات قابل اجرا در این بخش میتوان به موارد زیر اشاره کرد.
• ترزیق عبارات SQL جهت نقض محرمانگی اطلاعات موجود در پایگاه داده
• ارسال درخواست هایی حاوی کد های مخرب Javascript
• ارسال درخواست های مخرب جهت نقض در دسترسی پذیری اطلاعات موجود بر روی سامانه
• بارگذاری فایل های مخرب جهت اجرای کد های دستوری دلخواه در لایه سیستم عامل
• بررسی امنیت ارتباطات در بخش های مختلف نرم افزار
-
بهره برداری از آسیب پذیری ها
بر خلاف سرویس ارزیابی امنیتی، در آزمون نفوذ پذیری نتایج بدست آمده از آسیب پذیری های کشف شده در مراحل قبل، برای بهره برداری هر چه بیشتر مورد استفاده قرار می گیرند. هدف از انجام این بخش تمرکز بر آسیب پذیری های شناسایی شده و بهره برداری حداکثری از آن ها به منظور نشان دادن خطر و ریسک هر آسیب پذیری می باشد.
-
جمع بندی و گزارش نویسی
در راسپینا نت پارس، این بخش بسیار جدی و با اهمیت در نظر گرفته می شود تا بتوانیم تمامی مراحل انجام کار به همراه تجربیات بدست آمده توسط تیم فنی و همچنین نتایج و یافته های حاصل از انجام سرویس آزمون نفوذ پذیری را در یک گزارش علمی به همراه بیان دلایل و نمایش شواهد عملی به صورت درست و دقیق و در در قالب گزارش هایی بر اساس استاندارد OWASP و با فرمت مورد توافق در اختیار مشتری هایمان قرار دهیم.
-
ارائه نتایج حاصل از اجرای پروژه
در صورت تمایل کارفرمای محترم، پیشنهاد می شود تا پس از تحویل گزارش نهایی، در جلسه ای با حضور تمامی افراد مورد نظر کارفرما، نتایج حاصل از اجرای پروژه برای حضار محترم ارائه و در مورد جزئیات آن بحث و تبادل نظر صورت گیرد.
-
بررسی مجدد (اختیاری)
هدف راسپینا نت پارس از ارائه سرویس آزمون نفوذ پذیری نرم افزارهای کاربردی کمک به حل ضعف های امنیتی می باشد. به همین منظور فرایند ارزیابی و تست نفوذ دوباره پس از ارائه گزارشات و رفع آن ها تا 90 روز پس از تحویل گزارش نهایی بدون پرداخت هیچ گونه هزینه اضافی انجام می شود.