۱  مقدمه

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

یکی از مهم‌ترین ابزارهای‌ مورداستفاده در ارزیابی امنیتی و آزمون نفوذ که توسط آزمونگران بسیار مورداستفاده قرار می‌گیرد، پویشگرهای(۲) امنیتی برنامه‌های کاربردی تحت وب هستند. این ابزارها با برقراری ارتباط با برنامه‌ی وب از راه واسط کاربرِ نهایی، تلاش می‌کنند آسیب‌پذیری‌های بالقوه در برنامه‌ی کاربردی وب و ضعف‌های ساختاری آن را شناسایی کند. یک پویشگر امنیتی برنامه‌ی تحت وب، باعث تسهیل بررسی خودکار یک برنامه‌ی وب از منظر کشف آسیب‌پذیری‌های امنیتی موردنیاز، برای تطابق با الزامات قانونی مختلف می‌شود. پویشگرهای برنامه‌های کاربردی تحت وب می‌توانند طیف گسترده‌ای از آسیب‌پذیری‌ها را بررسی کنند که این کاملاً به قدرت پویشگر وابسته است. در ادامه‌ی این نوشتار برخی از مهم‌ترین پویشگرهای مورداستفاده در جامعه‌ی جهانی را تشریح کرده و درنهایت مقایسه‌ای از قابلیت‌های آن‌ها ارائه خواهیم کرد.

۲   ابزارهای برتر برای ارزیابی وب

۱-۲ پویشگر و پروکسی Burp Suite

یکی از مهم‌ترین و پرکاربردترین ابزارهایی که بسیار توسط آزمونگران مورداستفاده قرار می‌گیرد، ابزار Burp Suite است. اگرچه این ابزار به‌صورت پویشگر نیز عمل نموده، اما قدرت این ابزار مربوط به بخش پروکسی آن است. این ابزار با قرار گرفتن بر سر راه درخواست‌های ارسالی برنامه‌ی کاربردی به سرور، امکان مشاهده، تغییر و یا حذف این درخواست‌ها را خواهد داد. علاوه بر این امکانات، این ابزار با دارا بودن بخش‌های بسیاری ازجمله Decoder، Repeater، Comparer و … روند آزمون را برای آزمونگر تسهیل می‌کند. این امکانات موجب تسهیل و تسریع روند آزمون و درنتیجه محبوبیت بیش‌ازاندازه‌ی این ابزار شده است. همچنین در صورت نیاز به افزونه‌های جدید، بسیاری از کتابخانه‌های مربوط به این ابزار موجود بوده و امکان توسعه و ایجاد افزونه‌ی جدید را به کاربر خواهد داد. در آدرس زیر اطلاعات مفیدی در مورد نحوه‌ی استفاده از این ابزار آورده شده است:

https://portswigger.net/burp/help/contents.html

آخرین نسخه‌ی این ابزار ۱٫۶٫۳۹ است که در سوم مارس ۲۰۱۶ منتشرشده است. نمایی از این ابزار در شکل ۱ آورده شده است.

امنیتی

شکل ۱: نمایی از پویشگر و پروکسی Burp Suite

۲-۲ پویشگر Acunetix

یکی از پرکاربردترین اسکنرهای مورداستفاده توسط نفوذگران پویشگر Acunetix است. این پویشگر از محبوبیت زیادی بین کاربران ایرانی برخوردار است. پویشگر Acunetix نرم‌افزاری بسیار قدرتمند برای پویش نقاط ضعف و آسیب‌پذیرهای سامانه‌ها بوده که اسکریپت‌ها و وب‌سایت‌ها را پویش کرده و آسیب‌پذیری‌های مهم مانند SQL Injection, XSS و … را طی گزارشی اطلاع می‌دهد. این پویشگر دارای ابزارهای پیشرفته برای آزمونگران است تا بتوانند هر چه بیشتر آزمون را به سمت خودکار شدن پیش ببرند. به‌عنوان نمونه‌ای از این ابزارها می‌توان از ویرایشگر HTTP، Sniffer، Fuzzer و غیره نام برد. فایل زیر، نحوه‌ی استفاده از این ابزار را به‌صورت کامل تشریح کرده است. آخرین نسخه‌ی این ابزار ۱۰٫۵ است.

http://www.acunetix.com/resources/wvsmanual.pdf

نمایی از این پویشگر در شکل ۲ آورده شده است.

Acunetix شکل ۲: نمایی از پویشگر Acunetix

۳-۲ پویشگر Netsparker

یکی از پویشگرهای برنامه‌های کاربردی تحت وب، Netsparker است که تولیدکنندگان آن ادعا می‌کنند که یک پویشگر بدون هشدار غلط مثبت(۳) است. بدین معنی که تمام آسیب‌پذیری‌های اعلام‌شده بر روی سامانه به‌درستی شناسایی‌شده‌اند. این ابزار به‌راحتی تنظیم‌شده و نقص‌ها و آسیب‌پذیری‌های موجود در سامانه را شناسایی می‌کند. طبق گفته‌ی تولیدکنندگان این محصول، به دلیل راحتی استفاده از آن، کاربران به‌جای تمرکز بر یادگیری نحوه‌ی‌ استفاده از این ابزار می‌توانند بر روی حفره‌های یافته شده و بررسی آن‌ها تمرکز کنند. از مهم‌ترین ویژگی‌های این ابزار راحتی استفاده، پشتیبانی کامل از HTML 5، پویش وب‌سرویس‌ها و بهره‌کشی را می‌توان نام برد. آخرین نسخه‌ی منتشرشده از این ابزار در حال حاضر، ۴٫۵٫۲ است. فایل زیر جهت استفاده از این ابزار مفید خواهد بود:

https://netsparker.zendesk.com/entries/20938312-Download-PDF-Manual

نمایی از این پویشگر در شکل ۳ آورده شده است.

Netsparker

شکل ۳: نمایی از پویشگر Netsparker

۴-۲ پویشگر IBM AppScan

IBM Security AppScan یکی از ابزارهای قدرتمند در حوزه‌ی ارزیابی امنیتی و آزمون نفوذ است که به افزایش امنیت برنامه‌های کاربردی تحت وب و برنامه‌های کاربردی موبایل کمک شایانی می‌کند. این ابزار همچنین مدیریت برنامه‌های امنیتی سازمان و برآورده کردن خط‌مشی‌های امنیتی را تقویت می‌کند. IBM Security AppScan با فراهم کردن آزمون امنیتی در چرخه­‌ی طراحی و توسعه به پیاده‌سازی سیستم‌های امن مبتنی بر وب کمک می‌کند. این نرم‌افزار در هزینه و زمان آزمون امنیتی سیستم‌های مبتنی بر وب کمک به سزایی می‌کند و با به‌روزرسانی خود آخرین تهدیدات این حوزه را پوشش می‌دهد. از ویژگی‌های این ابزار می‌توان به پوشش گسترده‌ی تهدیدات جدید ازجمله آسیب‌‌پذیری‌های Web 2.0، تحلیلگر امنیتی JavaScript برای آزمون و ارزیابی ایستای ضعف‌‌های امنیتی سمت Client، استفاده‌‌ی آسان به‌خصوص هنگام اعمال آزمون خودکار و…اشاره کرد. در لینک زیر امکان دستیابی به راهنماهای استفاده از این ابزار آورده شده است.

http://www-01.ibm.com/support/docview.wss?uid=swg27047557

آخرین نسخه‌ی این ابزار ۹٫۰٫۳٫۱ است.

نمایی از این پویشگر در شکل ۴ آورده شده است.

IBM AppScan

شکل ۴: نمایی از پویشگر AppScan

۵-۲ پویشگر WebInspect

WebInspect ساخت شرکت HP است. این ابزار نیز مشابه دیگر ابزارها سعی می‌کند روش‌ها و تکنیک‌های هک را به‌صورت واقعی شبیه‌سازی کند، سپس آنالیز کاملی از برنامه‌های کاربردی و سرویس‌ها ارائه دهد. همچنین این ابزار، وب‌سرویس‌ها را ازلحاظ پیکربندی درست، موردبررسی قرار می‌دهد. یکی از مشکلات مربوط به این ابزار هزینه‌ی بالا این ابزار است اما بنا به گفته‌ی کاربرانی که از این ابزار استفاده می‌کنند، قابلیت‌های این ابزار بسیار بالا بوده و بنابراین هنوز توسط آن‌ها مورداستفاده قرار می‌گیرد. فایل زیر نحوه‌ی استفاده از این ابزار را شرح می‌دهد.

https://dl.packetstormsecurity.net/papers/attack/WebInspect.pdf

آخرین نسخه‌ی این ابزار ۱۰٫۱٫۱۷۷٫۰ است.

تصویری از این پویشگر در زیر به نمایش در آمده است.

WebInspect

شکل ۵: نمایی از پویشگر WebInspect

۳ مقایسه‌ی ویژگی‌های پویشگرها

در جدول ۱ مقایسه‌ای بین مهم‌ترین ویژگی‌های موجود در پویشگرها انجام شده است. لازم به ذکر است که معیارهای False Positive و Accuracy، میانگین این مقادیر برای تشخیص آسیب‌پذیری‌های SQLi، RXSS، LFI، RFI و پارامترهای Redirect و Backup هستند. همچنین آخرین ویژگی که WIVET است، نشان‌دهنده‌ی قدرت یک پویشگر در توانایی crawl کردن یک دامنه و شناسایی وکتورهای ورودی است.

Capture
جدول ۱: مقایسه ویژگی‌های پویشگرهای وب [۱]

[۱] http://www.sectoolmarket.com/price-and-feature-comparison-of-web-application-scanners-unified-list.html


(۱) Penetration Testing
(۲) Scanner
(۳) False positive