در تاریخ 2 مهر ۱۴۰۰ اتاق “تست نفوذ و تاثیرات آن در توسعه نرم افزار” برگزار شد که به صورت کلی به تعاریف اولیه پرداختیم بخشی از تعاریف عبارتند از:
Penetration Testing چیست ؟
به شبیه سازی حملات شناخته شده (Attack vector) بر روی Attack surface و ارایه گزارش امنیتی تست نفوذ می گوییم.
Penetration Testing Check List چیست ؟
یک لیست شامل آسیب پذیری های شناخته شده یا اشتباهات برنامه نویسی متداول یا اشتباهات configuration شبکه که به آن miss configuration نیز گفته می شود می باشد که توسط این لیست تکنولوژی های مختلف مثل وب موبایل و … را می توان تست نفوذ کرد.
Penetration Testing Methodology چیست؟
یک نقشه راه برای تست نفوذ تکنولوژی می باشد که توسط شرکت های امنیتی به رسمیت شناخته شده اند و از این نقشه راه ها برای تست نفوذ استفاده می کنند در زیر می توانید لیست متدولوژی تست نفوذهای معروف را ببینید هر کدام دارای مستندات می باشند که در سایت های آن ها به صورت رایگان به اشتراک گذاشته شده است. به طور مثال OWASP متدولوژی تست نفوذ وب موبایل اینترنت اشیا را در سایت خود به اشتراک گذاشته و همچنین توضیحات بیشتر در قابل PDF می توانید دانلود و مطالعه کنید همچنین در repository Github owasp نیز ابزارهای تست نفوذ و همچنین متدولوژی ها به صورت کامل شرح داده شده اند.
OSSTMM(open source security testing methodology manual)
OWASP(open web application security project)
NIST(the national institute of standards and technology)
PTES(Penetration Testing Execution standard)
ISSAF(information system security assessment framework)
Penetration Testing Tools and frameworks
به ابزارهایی که بخشی از فرایند تست نفوذ را به صورت اتومات کرده است ابزارهای تست نفوذ گفته می شود اکثر این ابزارها دو صورت commercial پولی و community رایگان دارند که می توان از سایت های این ابزارها دریافت کنید همچنین اگر یک چارچوبی تشکیل شود که امکان اضافه کردن اکسپلویت یا توسعه بیشتر به کاربر داده شود به آن framework تست نفوذ گفته می شود به طور مثال metasploit یکی از پرقدرت ترین framework های تست نفوذ می باشد که به عنوان Penetration Tester می توان آن را توسعه دهید و تغییرات را انجام دهید و همچنین نسخه رایگان و پولی دارد.
Type of Penetration Testing Black white gray بسته به نوع پروژه تست نفوذ و میزان اطلاع شما از شبکه مورد هدف نوع تست نفوذ blackbox بدون دید graybox دید بسیار کم در حد دانستن نوع IDF firewall cms یا … و whitebox دسترسی به سورس کد و بررسی امنیتی سورس کد یا دسترسی کامل به شبکه و تجهیزات برای بررسی کانفیگ ها و کشف مشکلات امنیتی بر روی آن هست.
اما نکاتی که مورد استفاده توسعه دهندگان نرم افزار هست:
توسعه دهندگان نرم افزار باید اشنایی حداقلی با کانفیگ امنیتی سرور را داشته باشند یا از security base line CIS برای سروری که از آن به عنوان ماشین توسعه استفاده می کنند بهره برده باشند.
همچنین می توانید برای بررسی امنیت کدهای خود از sonarqube استفاده کنید یک framework متن باز و رایگان برای بررسی performance evaluation و security auditing می باشد.
همچنین برای vulnerability assessment که یکی از مراحل تست نفوذ می باشد می توان از اسکنرها استفاده کنند باید توجه داشت که false positive یکی از مشکلات این نرم افزار های اسکنر هست ولی تا حدود بسیار زیادی می توانند مشکلات امنیتی حاد مثل SQL injection را توسط اسکنرهای مثل Acunetix یا Netsparker شناسایی کنند.
همچنین مهم ترین بخش توسعه امن نرم افزار و استفاده از استانداردهای موجود می باشد برای توسعه امن نرم افزار یا secure coding می توانید از مستندات OWASP استفاده کنید.
برای دسترسی اسلاید ها می توانید از لینک زیر استفاده کنید.
Penetration Testing Overview
همچنین صوت این جلسه بر روی کانال تلگرام قرار گرفته است.
https://t.me/learnpentest/422