مقالات

OWASP چیست؟ لیست ۱۰ آسیب‌پذیری برتر OWASP در سال ۲۰۲۳

اگر با دنیای امنیت وب اپلیکیشن‌ها آشنا باشید احتمالا می‌دانید OWASP چیست و چه کاربردهای امنیتی دارد. OWASP نام یک انجمن یا سازمان و مخفف عبارت «Open Web Application Security Project» است. این سازمان با معرفی عمده‌ترین آسیب‌های امنیتی در وب، به معرفی راه‌های مقابله با آن‌ها و ایجاد ابزارها و متدهای جلوگیری و کاهش حملات و مخاطرات امنیتی می‌پردازد. کسانی که در حوزه امنیت نرم‌افزاری کار می‌کنند، باید با متدهای OWASP آشنایی داشته و کارها و پروژه‌های آن‌ها را بشناسند. در ادامه این مطلب ابر زس به شکل دقیق‌تر بررسی می‌کنیم که OWASP چیست و با معروف‌ترین متدها و پروژه‌های این مجموعه آشنا می‌شویم.

OWASP چیست و چه کاری انجام می‌دهد؟

پروژه OWASP یک سازمان مستقل است که روی امنیت وب اپلیکیشن‌ها تمرکز دارد. برای پاسخ به این سؤال که وظیفه OWASP چیست تنها کافی است تا راهنمایی‌های این مجموعه درباره نحوه توسعه، خرید و استفاده از اپلیکیشن‌ها را بررسی کنید. یکی از مهم‌ترین دلایل معروفیت این سازمان، ارائه لیستی است که ۱۰ مورد از آسیب‌پذیری‌های امنیتی در وب اپلیکیشن‌ها را معرفی می‌کند. این لیست هر چند سال یکبار به‌روزرسانی شده و مهم‌ترین فاکتورهای آسیب‌پذیری را بررسی می‌کند.

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

لیست ۱۰ آسیب‌پذیری اصلی OWASP

لیست OWASP Top 10 گزارشی است که هر چند سال یکبار توسط OWASP به‌روز شده و نگرانی‌های امنیتی برای برنامه‌های وب را بررسی می‌کند. این لیست روی ۱۰ مورد از جدی‌ترین آسیب‌ها تمرکز داشته و توسط تیمی از کارشناسان امنیتی از سراسر جهان تهیه می‌شود. بیایید ببینیم جدیدترین لیست OWASP در سال ۲۰۲۳ چیست و شامل چه ریسک‌های امنیتی است.

۱۰. مصرف غیر امن APIها

زمانی که یک برنامه نتواند داده‌های دریافت شده از APIهای خارجی را تأیید، فیلتر یا پاک‌سازی کند؛ ریسک مصرف غیر امن APIها را دارد. این روند مخرب می‌تواند باعث شود تا برخی آسیب‌های امنیتی مانند حملات Injection یا نشت داده (data leakage) رخ دهد. می‌دانیم که هر سازمانی برای ارائه عملکردهای حیاتی خود، به APIهای شخص ثالث نیاز دارد. به همین دلیل است که اطمینان از مصرف ایمن این APIها برای جلوگیری از سوءاستفاده توسط افراد سودجو و مهاجمان، بسیار اهمیت دارد.

استراتژی‌های جلوگیری از آسیب:

برای آن که بتوانید با این دسته از تهدیدات و آسیب‌ها مقابله کنید، می‌توانید از روش‌های زیر کمک بگیرید.

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

۹. مدیریت نامناسب inventory

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

روش‌های جلوگیری از آسیب:

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

  • ایجاد یک فهرست کامل از همه APIهای سازمان و هدف آن، نقاط نهایی و کنترل‌های دسترسی برای شناسایی شکاف‌های امنیتی بالقوه و اطمینان از امن بودن همه APIها
  • بررسی و به‌روزرسانی مداوم مستندات APIها برای اطمینان از وضعیت فعلی آن‌ها. اطلاع از مستندات دقیق برای توسعه‌دهندگان و کارشناسان امنیتی ضرورت دارد؛ زیرا به امنیت APIها کمک می‌کند.
  • از بین بردن APIهای بلااستفاده یا منسوخ برای کاهش سطوح حمله و درنتیجه کاهش احتمال دسترسی و سوءاستفاده هکرها و مهاجمان

۸. پیکربندی امنیتی اشتباه

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

راهکارهای کاهش آسیب:

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

  • تنظیم APIها با تنظیمات ایمن در مراحل اولیه توسعه
  • بررسی و به‌روزرسانی منظم پیکربندی‌های API برای اطمینان از اِعمال مداوم بهترین شیوه‌های امنیتی
  • استفاده از ابزارهای خودکار برای شناسایی و اصلاح پیکربندی نادرست امنیتی از طریق بررسی و کنترل‌های مستمر

۷. جعل درخواست سمت سرور

یکی دیگر از انواع آسیب‌پذیری که در لیست «آسیب‌های OWASP چیست؟» می‌توانیم بررسی کنیم، جعل درخواست سمت سرور یا SSRF (مخفف Server-side request forgery) است. زمانی که درخواست‌های سمت سرور جعل شود، مهاجم می‌تواند این درخواست‌ها را دستکاری کرده و به طور بالقوه دسترسی غیرمجاز به منابع داخلی یا اجرای کد از راه دور را فراهم کند. این مسئله می‌تواند باعث شود تا داده‌های حساس آسیب‌پذیر شده، در سیستم‌های حیاتی اختلال ایجاد کرده یا حتی کل سیستم در معرض خطر قرار گیرد.

استراتژی‌های جلوگیری از آسیب:

برای جلوگیری از ریسک‌های ناشی از این حملات، می‌توان از روش‌های زیر کمک گرفت.

  • اعتبارسنجی و پاک‌سازی ورودی‌های ارائه شده توسط کاربر در درخواست‌های سمت سرور
  • محدود کردن انواع درخواست‌ها و منابع در دسترس API برای جلوگیری از اقدامات غیرمجاز و محدود کردن تأثیر بالقوه حملات SSRF
  • اجرای تقسیم‌بندی شبکه و قوانین فایروال برای محدود کردن دسترسی به سیستم‌های داخلی

۶. دسترسی نامحدود به جریان‌های تجاری حساس

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

استراتژی جلوگیری از آسیب:

  • پیاده‌سازی مکانیزم‌های احراز هویت و مجوز قوی برای تمام نقاط پایانی در API
  • استفاده از روش کمترین امتیاز و ایجاد حداقل سطوح دسترسی برای انجام وظایف کاربران
  • بررسی و نظارت روی گزارش‌های دسترسی API برای شناسایی و پاسخگویی به‌موقع به مخاطرات امنیتی احتمالی

۵. مجوز سطح عملکرد آسیب‌دیده

زمانی که یک کاربر معمولی می‌تواند کارهایی را انجام دهد که به دلیل مشکلات مجوز سطح عملکرد خراب یا IDOR (مخفف Insecure Direct Object Reference) توسط سرپرستان و کاربران در سطح بالاتر، باید انجام شود؛ این آسیب رخ می‌دهد. این مسئله زمانی اتفاق می‌افتد که یک سیستمِ مجوزهای سلسله‌مراتبی ناقص یا نادرست عمل کند.

روش‌های کنترل آسیب:

  • اجرای بررسی‌های مجوز قوی در تمام APIها
  • استفاده از کنترل دسترسی مبتنی بر نقش RBAC (مخفف role-based access control) برای مدیریت سطوح دسترسی کاربر
  • بررسی و به‌روزرسانی مداوم سیاست‌های کنترل دسترسی

۴. مصرف نامحدود منابع (Unrestricted resource consumption)

یکی دیگر از آسیب‌هایی که در لیست OWASP Top 10 معرفی شده، مصرف منابع نامحدود یا حملات DoS است. زمانی که یک فرد یا کامپیوتر مهاجم بخواهد از آسیب‌پذیری API برای مصرف حجم بالایی از منابع سیستم مانند حافظه، CPU یا پهنای باند شبکه سوءاستفاده کند، این مسئله رخ می‌دهد. نتیجه این آسیب‌ها، تخریب یا در دسترس نبودن کامل سرویس مورد هدف است.

استراتژی‌های جلوگیری از آسیب:

برای کاهش آسیب ناشی از این مشکل، می‌توانید از روش‌های زیر استفاده کنید.

  • محدود کردن استفاده از منابع و نظارت بر آن
  • ایجاد محدودیت نرخ برای کنترل تعداد درخواست‌های کلاینت‌ها
  • استفاده از کش (caching) برای کاهش بار در سیستم‌های بک‌اند

۳. مجوز مشخصات آبجکت آسیب دیده

آسیب‌های Broken object property level authorization زمانی اتفاق می‌افتد که مهاجم بتواند به مشخصات یک آبجکت دسترسی داشته یا حتی بتواند آن را تغییر دهد. این اتفاق زمانی می‌افتد که یک API به‌درستی مجوزهای کاربر را قبل از ارائه دسترسی به قابلیت‌های مشخصات آبجکت، تأیید نکند.

استراتژی‌های جلوگیری از حملات:

  • اجرای بررسی‌های کنترل دسترسی مناسب روی تمام مشخصات آبجکت
  • بررسی و اعتبارسنجی سطوح دسترسی کاربر قبل از صدور مجوز دسترسی به مشخصات آبجکت
  • استفاده از کنترل دسترسی مبتنی بر صفت یا ABAC (مخفف attribute-based access control) برای تعریف قوانین دسترسی

۲. احراز هویت آسیب‌دیده (Broken authentication)

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

راهکارهای مقابله با آسیب:

  • ایجاد و اِعمال سیاست‌های رمز عبور قوی
  • استفاده از روش‌های امن ذخیره رمز عبور مانند bcrypt یا Argon۲
  • اجرای احراز هویت چندعاملی (MFA) در صورت امکان

۱. مجوز سطح آبجکت آسیب‌ دیده

زمانی که کاربر بتواند به دلیل نقص در کنترل‌های مجوز اعتبارسنجی، به داده‌های کاربران دیگر دسترسی داشته باشند، این نوع از آسیب‌پذیری‌های BOLA (مخفف Broken object-level authorization) بروز می‌دهد. آسیب‌پذیری‌های BOLA اغلب به دلیل شیوه‌های کدگذاری ناامن، مانند عدم تأیید صحیح ورودی کاربر یا عدم بررسی مجوزها قبل از دادن دسترسی، اتفاق می‌افتند.

استراتژی‌های جلوگیری از حملات:

  • استفاده از شناسه‌های تصادفی و منحصربه‌فرد جهانی (UUID)
  • ایجاد پروتکل‌های مجوز قوی
  • پذیرش و پیروی از چارچوب امنیتی zero trust (فریم‌ورک‌های امنیتی برای پذیرش این موضوع که هر کاربر نیاز به تائید هویت قدرتمند دارد)

تا اینجا دیدیم که OWASP چیست و لیست جدی‌ترین آسیب‌هایی که معرفی می‌کند، شامل چه مواردی است. اما تنها کاری که سازمان OWASP انجام می‌دهد، تنها معرفی آسیب‌پذیری‌ها نیست؛ بلکه پروژه‌های دیگری هم دارد.

سایر پروژه‌های OWASP

علاوه بر انتشار لیست OWASP Top 10 که پیش‌ازاین بررسی کردیم، این انجمن پروژه‌های دیگری هم دارد. برای آن که ببینیم که پروژه‌ها و کارهای OWASP چیست می‌توانیم آن‌ها را به سه دسته تقسیم کنیم. این دسته‌بندی پروژه‌ها شامل موارد زیر خواهد بود:

  • پروژه‌های مرتبط با ابزارها و اسناد مورد استفاده برای یافتن نقص‌های موجود در طراحی و پیاده‌‌سازی موارد امنیتی
  • پروژه‌های مربوط به ابزارها و اسناد قابل استفاده جهت محافظت در برابر نقص‌های طراحی و پیاده‌سازی در حوزه امنیت
  • پروژه‌های مرتبط با ابزارها و اسناد مورد استفاده برای افزودن موارد امنیتی به مدیریت چرخه حیات برنامه‌ها

OWASP چیست؟ لیست ۱۰ آسیب‌پذیری برتر OWASP در سال ۲۰۲۳

به‌طورکلی، سازمان OWASP حدود ۲۵۰ پروژه فعال دارد که از این تعداد، ۱۸ پروژه به عنوان موارد اصلی در نظر گرفته می‌شوند. بیایید ببینیم که علاوه بر OWASP Top 10، سایر پروژه‌های شاخص OWASP چیست و چه کاربردی دارد.

پروژه‌های شاخص OWASP

  • Amass؛ یک ابزار برای بررسی دقیق DNS، تجزیه‌وتحلیل سطح حملات مخرب و بررسی دارایی‌های خارجی
  • Application Security Verification Standard؛ یک چارچوب تست کنترل‌های امنیتی در وب اپلیکیشن‌ها و مجموعه‌ای از نیازمندی‌های توسعه ایمن
  • Cheat Sheet Series؛ شامل مجموعه راهکارهای امنیتی مناسب جهت توسعه برنامه
  • CSRFGuard؛ کتابخانه‌ای برای پیاده‌سازی الگوهای کاهش خطر جعل درخواست‌های بین ‌سایتی معروف به CSRF
  • CycloneDX؛ استاندارد تأمین امنیت و تجزیه‌وتحلیل مواد و بخش‌های مورد نیاز برای توسعه محصول و نیز زنجیره تأمین
  • Defectdojo؛ ابزار مدیریت آسیب‌پذیری برای تست امنیت
  • پروژه Dependency-Check؛ اجرای بررسی وابستگی‌ها جهت تحلیل آسیب‌پذیری‌ها،‌ به عنوان بحشی از فرایند تجزیه‌وتحلیل ترکیب نرم‌افزار
  • Dependency-Track؛ پلتفرم تجزیه‌وتحلیل مؤلفه برای شناسایی خطرات در زنجیره تأمین نرم‌افزار
  • پروژه Juice Shop؛ یک نمونه وب اپلیکیشن برای گنجاندن تمام آسیب‌پذیری‌های اساسی بررسی‌شده در لیست OWASP Top 10. این ابزار بر مبنای جاوا اسکریپت توسعه یافته و یک هدف هک برای اجرای آزمایش‌هایی از جمله تست نفوذ را فراهم می‌کند.
  • پروژه Mobile Security Testing Guide؛ شامل مجموعه استانداردهای تست امنیت اپلیکیشن موبایل، الزامات امنیتی و تأیید آن‌ها
  • ModSecurity Core Rule Set؛ شامل مجموعه قوانین تشخیص حمله جهت استفاده در فایروال وب اپلیکیشن‌ها
  • Offensive Web Testing Framework؛ فریم‌ورک‌هایی برای تست نفوذ
  • Software Assurance Maturity Model؛ تحلیل و بهبود امنیت نرم‌افزار در طول چرخه حیات توسعه نرم‌افزار
  • Security Knowledge Framework؛ یک اپلیکیشن وب برای توضیح نحوه استفاده از اصول کدنویسی امن در زبان‌های برنامه‌نویسی مختلف
  • Security Shepherd؛ پلتفرم آموزش امنیت برای اپلیکیشن‌های وب و موبایل
  • راهنمای Web Security Testing Guide؛ شامل راهنمای کامل تست امنیت برای وب اپلیکیشن‌ها و سرویس‌های وب
  • Zed Attack Proxy؛ یک اسکنر وب اپلیکیشن برای تست نفوذ و آموزش. این ابزار بر منبای لایسنس اوپن سورس آپاچی توسعه یافته است.

جمع‌بندی

در این مطلب دیدیم که OWASP چیست و لیستی که هر یک تا دو سال یکبار توسط این مجموعه تحت عنوان OWASP Top 10 معرفی می‌شود، شامل چه مواردی است. متد OWASP وابسته به فرد یا شرکت و سازمان خاصی نبوده و به‌صورت یک پروژه متن‌باز یا Open Source، در دسترس افراد مختلف در سراسر دنیا قرار می‌گیرد. این مجموعه فعالیت رسمی خود را از ۲۰۰۱ آغاز کرده و از آن زمان تاکنون توانسته تا کمک بزرگی به افراد فعال در حوزه امنیت وب و نرم‌افزارهای وب داشته باشد. اگر می‌خواهید دقیق‌تر بدانید که روند کار OWASP چیست و چه پروژه‌هایی دارد، مطالعه این مطلب را از دست ندهید.

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

نشانی ایمیل شما منتشر نخواهد شد.

دکمه بازگشت به بالا

دریافت سرویس تست رایگان

ارتباط با ابر زَس

تلفن:        91078149 –  021

ایمیل:       [email protected]