OWASP

آشنایی با متدولوژی OWASP

مقدمه

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

بنیاد OWASP

Open web application security project (پروژه امنیت برنامه های تحت وب) یک سازمان یا شاید بهتر باشد بگوییم بنیاد غیردولتی است که در جهت بهبود و ارتقای سطح امنیت نرم افزارها تلاش می کند.این بنیاد در 23 سپتامبر 2001 توسط مارک کارفی بنیان گذاری شد. بنیاد OWASP از طریق پروژه های نرم افزارهای متن باز با مشارکت جامعه و ده ها هزار عضو فعال،تعلیمات پیشتاز و راهبردی و جلسه های تمرینی ارائه می دهد. بنیاد OWASP مطمئن ترین و بهترین منبع برای توسعه دهندگان و تکنولوژیست ها برای امن کردن وب می باشد.

متدولوژی OWASP

متدولوژی OWASP از 9 زیرپروژه تشکیل شده است.OWASP یک متدولوژی یا بهتر بگوییم یک پروژه غیر دولتی است که در آن به شما به عنوان یک کارشناس برنامه نویس تحت وب ، معیارهایی که بایستی برای امن تر شدن نرم افزار خود بکار ببرید تشریح شده است. OWASP یک متدولوژی است ، یعنی راهکار را به ما نشان می دهد ، این متدولوژی منحصر به شرکت یا فرد یا سازمان خاصی نبوده و نیست و یک پروژه کاملا متن باز (Open Source) است که هر کسی در هر جای دنیا می تواند به آن بپیوندد و در آن شرکت کند.جامعه آماری که برای پروژه OWASP فعالیت می کنند در زمینه های مختلفی از جمله تولید مقالات ، شرکت در تالارهای گفتمان ، معرفی و تولید نرم افزارهای امنیتی وب ، تولید مستندات و متدولوژی های امنیتی بصورت کاملا رایگان فعالیت می کنند و نتیجه فعالیت خود را در مستند نهایی این پروژه مشاهده می کنند. پروژه OWASP در ابتدا به عنوان یک استاندارد مطرح نشد،اما امروزه به عنوان معیار یا بهتر بگوییم Baseline امنیتی طراحی و تولید امنیت در نرم افزارهای تحت وب استفاده می شود.متدولوژیOWASP در جهت بهبود نرم افزار برنامه ها تمرکز دارد و تلاش میکند که دنیا تبدیل به مکانی بکند که نرم افزارهای ناامن برای همه بسیار غیرعادی شوندو عملا هیچ برنامه ناامنی وجود نداشته باشد.در قدم اول به تست نفوذ برمیخوریم.این تست نفوذ در بخش های مختلفی انجام می شود که در ادامه آمده است:

  • تست امنیت وب (WSTG)،تیم تست نفوذ پس از طی مراحل منفعل و جمع آوری اطلاعات مورد نیازشان به مرحله active رفته و در 9 حوزه می توانند به کشف آسیب پذیری خطاهای موجود بپردازند.در آخر اگر از WAF یا همان دیواره های آتش وب بنیان در شبکه استفاده شده باشد بایستی بررسی های امنیتی لازم نیز بر روی آن انجام پذیر باشد.آسیب پذیری هایی که بایستی مورد بررسی قرار گیرد فهرست شده و بررسی های امنیتی با استفادده از ابزار و همچنین به روش دستی انجام می شود.
  • تست امنیت موبایل (MSTG)، برنامه‌های کاربردی موبایل نیز همانند برنامه‌های کاربردی وب و دسکتاپ با آسیب‌پذیری‌های شناخته‌شده و ناشناخته‌ای تهدید می‌شوند. این آسیب‌پذیری‌ها می‌توانند از طریق تکنیک آزمون نفوذ برنامه‌های کاربردی موبایل ردیابی و شناسایی شوند. در واقع این تکنیک‌ها، حفره‌های امنیتی و آسیب‌پذیری‌های برنامه‌های کاربردی و زیرساخت‌های موبایلی را تشخیص می‌دهد.

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

زیرپروژه های OWASP

  • ASVS یا  OWASP Application Security Verification Standard:استاندارد تایید امنیت نرم افزارهای کاربردی یا ASVS همانطور که از نام این پروژه پیداست برای دریافت تاییده برای نرم افزارهای وب در خصوص رعایت استاندارد های امنیت بکار گرفته می شود.
  • XSG یا OWASP XML Security Gateway:این استاندارد بصورت پایلوت فعلا ایجاد شده است و بصورت ویژه برای برقراری امنیت برای ساختار XML مورد استفاده قرار می گیرد.
  • OWASP Development Guide:راهنمای توسعه نرم افزار برای برنامه نویسان وب ایجاد شده است و شامل یک سری نمونه کدهای کاربردی و تمثیلی از زبانهای برنامه نویسی مانند J2EE و NET و PHP می باشد. در این راهنمای برنامه نویسی و توسعه نرم افزارهای وب برنامه نویس با انواع و اقسام حملات تحت وب از قبیل SQL Injection و همچنین حملات جدیدتر شامل Phishing و حتی مباحث کارت های اعتباری و امنیت تبادلات الکترونیک،Session Fixation و بسیاری دیگر از مسائل مهم اعم از مشکلات حریم خصوصی در وب سایت ها آشنا می شوند و به آنها در جهت رفع مشکلات احتمالی در خصوص این نرم افزار ها راهنمایی های لازم ارائه می شود.
  • OWASP testing guide:همانطور که از نام این پروژه مشخص است راهنمایی برای تست و آزمون گرفتن از نرم افزارهای کاربری تحت وب است. این پروژه در واقع یک راهنمای مقدماتی برای برنامه نویسان وب می باشد تا بتوانند در پروژه های تست نفوذ سنجی به نرم افزارهای تحت وب از آن استفاده کرده و آن را معیار امنیتی خود قرار بدهند. در این راهنما تکنیک های مقدماتی نفوذ و حمله به نرم افزارهای تحت وب و سرویس های تحت وب تشریح شده است.
  • OWASP code review guide:راهنمایی برای مرور کدهای نوشته شده و مستند سازی کدهای نوشته شده می باشد که برنامه نویس بتواند پس از نوشتن یا توسعه نرم افزار کاربردی وب خود آن را آزمایش کرده و نقاط ضعف در کدهای نوشته شده را برطرف کند.
  • OWASO ZAP project:این پروژه یک نرم افزار تست نفوذ سنجی تقریبا ساده می باشد که برای انجام تست های نفوذ سنجی به نرم افزار های کاربردی تحت وب مورد استفاده قرار می گیرد. این ابزار برای استفاده برنامه نویسان و هکرهای قانومند بسیار مناسب و کاربردی می باشد.
  • OWASP TOP ten:هدف از این پروژه اطلاع رسانی در خصوص مشکلات امنیتی نرم افزارهای تحت وب و هشدار دهی به سازمان ها در خصوص امنیت برنامه های تحت وب می باشد. در این پروژه انواع و اقسام مختلفی از ابزارها ، کد ها ، راهنماها و … معرفی و استفاده می شود.
  • SAM یا OWASP Software Assurance Maturity Model:این پروژه یک راهنما برای سازمان ها است تا بتوانند یک چارچوب درست امنیتی و تحلیل امنیتی برای نرم افزارهای تحت وب خود ایجاد کنند تا بتوانند با مشکلات امنیتی نرم افزارهای کاربردی تحت وب و ریسک های آن بصورت هدفمند و روشمند مقابله و برخورد کنند.
  • Webgoat:این پروژه یک نرم افزار کاربردی تحت وب می باشد که تمامی نقاط ضعفی که تا به حال توسط OWASP شناخته شده اند را بصورت مجازی و در قالب یک محیط برنامه نویسی شده شبیه سازی و در اختیار برنامه نویسان قرار می دهند.افرادی که با انواع حملات آشنایی پیدا کرده اند ولی می خواهند آن را بصورت عملی درک کنند کافیست این نرم افزار را دانلود کرده و آن را نصب و از طریق راهنمای آن تمامی حملات را بصورت شبیه سازی شده انجام دهند.

از نظر این بنیاد اجرای تست امنیت فنی دستورالعمل های OWASP به شدت توصیه می شود و بسته به نوع برنامه(تحت وب یا برنامه های موبایلی android,ios) دستورالعمل ها تغییر می کنند. تنوع رو به‌رشد دستگاه‌های موبایل و سیستم‌عامل‌های متفاوت آنها چالش‌های منحصربفردی را برای انجام آزمون نفوذ برنامه‌های کاربردی موبایلی مطرح می‌سازد.آزمون نفوذ و تحلیل بهینه برنامه‌های کاربردی موبایل به صورت بلادرنگ، شبیه‌سازی انواع مختلف حملات- شامل حملات عمومی و مختص دستگاه‌های موبایل- و نیز تکرار عمل مهاجمان برای بازیابی اطلاعات طبقه‌بندی‌شده تنها برخی از اقداماتی هستند که در آزمون نفوذ برنامه‌های کاربردی موبایلی انجام می‌شوند.

تست نفوذ Penetration test

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

White box: در این حالت تيم تست نفوذ اطلاعات کامل در باره موضوع مورد تست دارد و همچنين دسترس به منابع داخلی شبکه نيز دارد. معمولا از این نوع تست برای ارزیابی آسيب پذیری های داخل شبکه استفاده می شود.

Grey box: در این حالت دسترسی به منابع داخلی محدود می باشد و اطلاعات کاملی دراختيار تيم قرار نمی گيرد.

Black box: در این حالت هيچ گونه دسترسی و اطلاعاتی به تيم تست نفوذ داده نمی شود . معمولا این نوع تست نفوذ برای وب سرور ها و برنامه های کاربردی تحت وب انجام می شود.

استاندارد اجرای تست نفوذ(PTES)

استاندارد اجرای تست نفوذ (PTES) تست نفوذ را در7 فاز تعریف می کند.همچنین دستورالعمل فنی PTES پیشنهادهای عملی در روش های مختلف تست و توصیه هایی برای ابزار تست امنیت ارائه میکند که در زیر آمده اند:

  • شناخت اولیه
  • جمع آوری اطلاعات
  • مدل سازی تهدید
  • تجزیه و تحلیل آسیب پذیری عملیات
  • عملیات نفوذ
  • عملیات پس از نفوذ
  • گزارش دهی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *