اوسپ ۱۰ تای برتر
فهرستی که بهطور منظم بهروزرسانی میشود از ده خطر بحرانی امنیتی برنامههای وب که توسط پروژه Open Web Application Security منتشر میشود.
تعریف کوتاه
OWASP Top 10 مثل فهرست "تحت تعقیبترین" آسیبپذیریهای وب است. کارشناسان امنیتی در سراسر جهان روی بزرگترین تهدیدها رأی میدهند و هر چند سال یکبار بهروزرسانی میشود. اگر امنیت یاد میگیری، از اینجا شروع کن — ۹۰٪ حملات واقعی را پوشش میدهد.
تعریف کامل
OWASP Top 10 یک سند آگاهیبخشی استاندارد برای امنیت برنامههای وب است که نشاندهنده اجماع گسترده درباره بحرانیترین ریسکهای امنیتی است.
نسخه ۲۰۲۱:
A01 - کنترل دسترسی شکسته
- کاربران به دادههایی که نباید دسترسی دارند
- IDOR، افزایش امتیاز
- شایعترین دسته (از #۵ جابجا شد)
A02 - شکستهای رمزنگاری
- افشای دادههای حساس
- رمزنگاری ضعیف
- قبلاً "افشای دادههای حساس"
A03 - تزریق
- تزریق SQL، NoSQL، دستور
- XSS به دسته جداگانه منتقل شد
- هنوز بسیار خطرناک
A04 - طراحی ناامن
- جدید در ۲۰۲۱
- نقص در معماری/طراحی
- فقدان کنترلهای امنیتی
A05 - پیکربندی نادرست امنیتی
- رمزهای پیشفرض، ویژگیهای غیرضروری
- خطاهای مفصل، هدرهای نامناسب
A06 - مؤلفههای آسیبپذیر و قدیمی
- استفاده از کتابخانههای دارای آسیبپذیری شناخته شده
- عدم بهروزرسانی
A07 - شکستهای شناسایی و احراز هویت
- مکانیسمهای ورود شکسته
- مشکلات مدیریت نشست
A08 - شکستهای یکپارچگی نرمافزار و داده
- جدید در ۲۰۲۱
- بهروزرسانیهای امضا نشده، CI/CD ناامن
A09 - شکستهای ثبت و نظارت امنیتی
- عدم توانایی در تشخیص یا پاسخ به نقضها
- ثبت ناکافی
A10 - جعل درخواست سمت سرور (SSRF)
- جدید در ۲۰۲۱
- فریب سرور برای ارسال درخواستهای مخرب
چرا مهم است
- مرجع استاندارد صنعتی
- تمرکز آموزش و آگاهی
- الزامات انطباق به آن ارجاع میدهند
- برنامههای باگ بانتی از آن برای شدت استفاده میکنند
- اولویتهای تست امنیتی را راهنمایی میکند
چگونه مهاجمان از آن استفاده میکنند
مهاجمان OWASP Top 10 را مطالعه میکنند تا بدانند به دنبال چه چیزی بگردند:
رویکرد تست سیستماتیک:
1۱. تست A01: تلاش تغییر IDها، دسترسی به داده سایر کاربران2۲. تست A03: تلاش تزریق SQL در همه ورودیها3۳. تست A10: جستجوی ورودیهای URL، تست SSRF4... و به همین ترتیب
اسکنرهای خودکار بر اساس Top 10 ساخته شدهاند:
- OWASP ZAP
- Burp Suite Pro
- Nikto
- SQLmap (برای A03)
هدفگیری واقعی: اکثر نقضها شامل آسیبپذیریهای Top 10 هستند:
- Capital One: A10 (SSRF)
- Equifax: A06 (مؤلفههای قدیمی)
- Yahoo: A02 (شکستهای رمزنگاری)
چگونه تشخیص یا پیشگیری کنیم
پیشگیری (بر اساس دسته):
A01 (کنترل دسترسی):
- پیادهسازی بررسی مجوز مناسب
- رد پیشفرض
- تست با نقشهای مختلف کاربر
A03 (تزریق):
- استفاده از پرسوجوهای پارامتری
- اعتبارسنجی ورودی
- استقرار WAF
A10 (SSRF):
- اعتبارسنجی URLها
- مسدود کردن IPهای خصوصی
- استفاده از لیست سفید
رویکرد کلی: ۱. آموزش امنیتی برای توسعهدهندگان ۲. دستورالعملهای کدنویسی امن ۳. تست امنیتی در CI/CD ۴. ممیزیهای امنیتی منظم ۵. تست نفوذ
تشخیص:
- استفاده از اسکنرهای امنیتی (OWASP ZAP)
- ابزارهای تحلیل کد (SonarQube)
- محافظت زمان اجرا (RASP)
- نظارت امنیتی
باورهای غلط رایج
- "پوشش Top 10 = امن" - این یک نقطه شروع است، نه کامل
- "Top 10 هرگز تغییر نمیکند" - هر ۳-۴ سال بهروزرسانی میشود
- "فقط برای برنامههای وب" - اصول به طور گسترده اعمال میشود
- "بر اساس شدت رتبهبندی شده" - بر اساس شیوع + تأثیر
- "اگر در Top 10 نیست، مهم نیست" - آسیبپذیریهای جدی زیادی فهرست نشدهاند
مثال واقعی
چگونگی راهنمایی Top 10 در نقض Capital One
A10 - SSRF (جدید در ۲۰۲۱):
- آسیبپذیری پیدا شد: ورودی URL در WAF
- حمله: درخواست سرویس متادیتا
- نتیجه: اعتبارنامه دزدیده شد
A01 - کنترل دسترسی شکسته:
- نقش WAF مجوزهای S3 بیش از حد داشت
- باید کمترین دسترسی را داشت
- امکان دسترسی به همه باکتها را فراهم کرد
A09 - شکستهای ثبت:
- الگوهای API غیرعادی تشخیص داده نشد
- کشف نقض ۴ ماه طول کشید
- نظارت ناکافی
ترکیب چندین مشکل Top 10 = نقض بزرگ.
تأثیر بهروزرسانی ۲۰۲۱:
SSRF به دلیل موارد زیر به A10 تبدیل شد:
- افزایش پذیرش ابر
- افزایش حملات به سرویس متادیتا
- SSRF در ۵۰٪ برنامههای باگ بانتی
- تأثیر نقض Capital One
این نشان میدهد که Top 10 با تهدیدات واقعی تکامل مییابد.
اصطلاحات مرتبط
Vulnerability, Injection, Broken Access Control, SSRF, CVE