Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 95 additions & 0 deletions 2025/docs/fa/A01-2025 Broken Access Control.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# A01:2025 نقض کنترل دسترسی (Broken Access Control)

این دسته به دلیل تأثیر شدید و شایع بودن آسیب‌پذیری‌های مرتبط با کنترل دسترسی، همچنان در جایگاه شماره ۱ در Top Ten قرار دارد. تمامی برنامه‌های آزمایش‌شده حداقل یک نوع از مشکلات مرتبط با کنترل دسترسی را داشتند و از نظر تعداد CVEهای مرتبط، این دسته رتبه دوم را بین سایر دسته‌ها دارد.

CWEهای مهم در این دسته عبارتند از:
- [CWE-200](https://cwe.mitre.org/data/definitions/200.html): افشای اطلاعات حساس به کاربران یا نقش‌های غیرمجاز
- [CWE-201](https://cwe.mitre.org/data/definitions/201.html): افشای اطلاعات حساس از طریق داده‌های ارسال‌شده (مثل فرم یا API)
- [CWE-918](https://cwe.mitre.org/data/definitions/918.html): جعل درخواست سمت سرور (SSRF)
- [CWE-352](https://cwe.mitre.org/data/definitions/352.html): جعل درخواست بین‌سایتی (CSRF)

## جدول امتیازدهی

| تعداد CWEها | بیشینه نرخ وقوع | میانگین نرخ وقوع | بیشینه پوشش | میانگین پوشش | میانگین امتیاز Exploit | میانگین امتیاز Impact | کل وقوع‌ها |
|-------------|----------------|-----------------|-------------|---------------|------------------------|----------------------|-------------|
| 40 | 20.15% | 3.74% | 100% | 42.93% | 7.04 | 3.84 | 1,839,701 |

## توضیحات

کنترل دسترسی سیاست‌ها را اجرا می‌کند تا کاربران تنها به منابع و عملکردهایی دسترسی داشته باشند که مجاز هستند. شکست در این کنترل‌ها معمولاً منجر به افشای غیرمجاز اطلاعات، تغییر یا حذف داده‌ها، یا اجرای عملکرد کسب‌وکار خارج از مجوز کاربر می‌شود.

### آسیب‌پذیری‌های رایج
- نقض اصل حداقل دسترسی (Deny by Default)
- دور زدن کنترل‌ها با تغییر URL، پارامترها، صفحات HTML یا درخواست‌های API
- اجازه دسترسی یا ویرایش حساب دیگران (IDOR)
- API بدون کنترل دسترسی برای متدهای POST، PUT و DELETE
- افزایش سطح دسترسی بدون مجوز
- دستکاری Metadata (JWT، کوکی‌ها، hidden field)
- تنظیم نادرست CORS
- Force Browsing: حدس URL صفحات احراز هویت‌شده یا صفحات با دسترسی بالا

### روش‌های پیشگیری
- اعمال Deny by default برای تمام منابع به جز بخش‌های عمومی
- پیاده‌سازی کنترل دسترسی متمرکز و قابل استفاده مجدد
- مدل‌سازی دسترسی بر اساس مالکیت رکورد
- اعمال محدودیت‌های منطقی کسب‌وکار از طریق Domain Models
- غیرفعال کردن Directory Listing و حذف فایل‌های متادیتا و پشتیبان
- ثبت Log شکست‌های دسترسی و ارسال هشدار
- اعمال Rate Limit روی APIها
- ابطال شناسه‌های جلسه و تعیین زمان انقضای کوتاه برای JWTهای Stateless
- استفاده از toolkitها یا الگوهای معتبر برای کنترل دسترسی Declarative
- افزودن تست‌های کنترل دسترسی در Unit و Integration Tests

### نمونه سناریوهای حمله
**سناریو ۱:** مهاجم پارامتر acct را تغییر داده و به حساب هر کاربری دسترسی پیدا می‌کند.
**سناریو ۲:** مهاجم URLهای مدیریتی را هدف قرار می‌دهد. اگر یک کاربر معمولی بتواند صفحات ادمین را ببیند یا بدون احراز هویت وارد شود، نقص امنیتی ایجاد می‌شود.
**سناریو ۳:** تمام کنترل‌ها در فرانت‌اند پیاده شده‌اند. مهاجم می‌تواند مستقیماً درخواست‌ها را به سرور ارسال کند و کنترل‌های دسترسی را دور بزند.

### لیست CWEهای مرتبط

- [CWE-22](https://cwe.mitre.org/data/definitions/22.html) محدودیت نادرست مسیر به دایرکتوری مجاز (Path Traversal)
- [CWE-23](https://cwe.mitre.org/data/definitions/23.html) مسیر نسبی نادرست (Relative Path Traversal)
- [CWE-36](https://cwe.mitre.org/data/definitions/36.html) مسیر مطلق نادرست (Absolute Path Traversal)
- [CWE-59](https://cwe.mitre.org/data/definitions/59.html) حل لینک نادرست قبل از دسترسی به فایل (Link Following)
- [CWE-61](https://cwe.mitre.org/data/definitions/61.html) دنبال کردن لینک نمادین UNIX (Symlink)
- [CWE-65](https://cwe.mitre.org/data/definitions/65.html) لینک سخت Windows
- [CWE-200](https://cwe.mitre.org/data/definitions/200.html) افشای اطلاعات حساس به کاربران یا نقش‌های غیرمجاز
- [CWE-201](https://cwe.mitre.org/data/definitions/201.html) افشای اطلاعات حساس از طریق داده‌های ارسال‌شده
- [CWE-219](https://cwe.mitre.org/data/definitions/219.html) ذخیره فایل با داده حساس زیر Web Root
- [CWE-276](https://cwe.mitre.org/data/definitions/276.html) مجوزهای پیش‌فرض نادرست
- [CWE-281](https://cwe.mitre.org/data/definitions/281.html) نگهداری نادرست مجوزها
- [CWE-282](https://cwe.mitre.org/data/definitions/282.html) مدیریت مالکیت نادرست
- [CWE-283](https://cwe.mitre.org/data/definitions/283.html) مالکیت تأییدنشده
- [CWE-284](https://cwe.mitre.org/data/definitions/284.html) کنترل دسترسی نادرست
- [CWE-285](https://cwe.mitre.org/data/definitions/285.html) مجوزدهی نادرست
- [CWE-352](https://cwe.mitre.org/data/definitions/352.html) جعل درخواست بین‌سایتی (CSRF)
- [CWE-359](https://cwe.mitre.org/data/definitions/359.html) افشای اطلاعات شخصی خصوصی به کاربران غیرمجاز
- [CWE-377](https://cwe.mitre.org/data/definitions/377.html) فایل موقت ناامن
- [CWE-379](https://cwe.mitre.org/data/definitions/379.html) ایجاد فایل موقت در دایرکتوری با مجوزهای ناامن
- [CWE-402](https://cwe.mitre.org/data/definitions/402.html) انتقال منابع خصوصی به حوزه جدید (Resource Leak)
- [CWE-424](https://cwe.mitre.org/data/definitions/424.html) محافظت نادرست مسیر جایگزین
- [CWE-425](https://cwe.mitre.org/data/definitions/425.html) درخواست مستقیم (Forced Browsing)
- [CWE-441](https://cwe.mitre.org/data/definitions/441.html) پراکسی یا واسطه ناخواسته (Confused Deputy)
- [CWE-497](https://cwe.mitre.org/data/definitions/497.html) افشای اطلاعات حساس سیستم به حوزه کنترل غیرمجاز
- [CWE-538](https://cwe.mitre.org/data/definitions/538.html) وارد کردن اطلاعات حساس به فایل یا دایرکتوری قابل دسترس خارجی
- [CWE-540](https://cwe.mitre.org/data/definitions/540.html) گنجاندن اطلاعات حساس در کد منبع
- [CWE-548](https://cwe.mitre.org/data/definitions/548.html) افشای اطلاعات از طریق فهرست‌گذاری دایرکتوری
- [CWE-552](https://cwe.mitre.org/data/definitions/552.html) فایل‌ها یا دایرکتوری‌های قابل دسترسی به طرف‌های خارجی
- [CWE-566](https://cwe.mitre.org/data/definitions/566.html) دورزدن مجوز از طریق کلید اولیه SQL کنترل‌شده توسط کاربر
- [CWE-601](https://cwe.mitre.org/data/definitions/601.html) هدایت URL به سایت غیرقابل اعتماد (Open Redirect)
- [CWE-615](https://cwe.mitre.org/data/definitions/615.html) گنجاندن اطلاعات حساس در نظرات کد منبع
- [CWE-639](https://cwe.mitre.org/data/definitions/639.html) دورزدن مجوز از طریق کلید کنترل‌شده توسط کاربر
- [CWE-668](https://cwe.mitre.org/data/definitions/668.html) افشای منابع به حوزه نادرست
- [CWE-732](https://cwe.mitre.org/data/definitions/732.html) تخصیص مجوز نادرست برای منابع حیاتی
- [CWE-749](https://cwe.mitre.org/data/definitions/749.html) متد یا تابع خطرناک افشا شده
- [CWE-862](https://cwe.mitre.org/data/definitions/862.html) مجوزدهی گم‌شده
- [CWE-863](https://cwe.mitre.org/data/definitions/863.html) مجوزدهی نادرست
- [CWE-918](https://cwe.mitre.org/data/definitions/918.html) جعل درخواست سمت سرور (SSRF)
- [CWE-922](https://cwe.mitre.org/data/definitions/922.html) ذخیره نادرست اطلاعات حساس
- [CWE-1275](https://cwe.mitre.org/data/definitions/1275.html) کوکی حساس با ویژگی SameSite نادرست

### منابع
- [OWASP Top 10:2025 - A01 Broken Access Control](https://owasp.org/Top10/2025/A01_2025-Broken_Access_Control/)
- [OWASP Proactive Controls: C1: Implement Access Control](https://top10proactive.owasp.org)
- [OWASP Application Security Verification Standard: V8 Authorization](https://github.com/OWASP/ASVS)
- [CWE List](https://cwe.mitre.org/data/index.html)
69 changes: 69 additions & 0 deletions 2025/docs/fa/A02-2025 Security Misconfiguration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# A02:2025 خطا در پیکربندی امنیتی (Security Misconfiguration)

این ریسک در نسخه جدید از رتبه ۵ به رتبه ۲ صعود کرده است، چرا که در بررسی‌ها مشخص شد ۱۰۰٪ برنامه‌های آزمایش‌شده حداقل یک نوع پیکربندی نادرست داشته‌اند. میانگین نرخ بروز این ضعف ۳٪ بوده و بیش از ۷۱۹,۰۰۰ مورد از ضعف‌های مرتبط با CWE در این دسته شناسایی شده است.

مهم‌ترین CWEهای مرتبط شامل [CWE-16](https://cwe.mitre.org/data/definitions/16.html) (Configuration) و [CWE-611](https://cwe.mitre.org/data/definitions/611.html) (Improper Restriction of XML External Entity Reference – XXE) هستند.

## جدول امتیازدهی

| تعداد CWEهای نگاشت‌شده | بیشترین نرخ بروز | میانگین نرخ بروز | بیشترین پوشش | میانگین پوشش | میانگین امتیاز بهره‌برداری | میانگین امتیاز تأثیر | تعداد کل رخدادها |
|------------------------|----------------|-----------------|---------------|---------------|----------------------------|----------------------|-----------------|
| 16 | 27.70% | 3.00% | 100% | 52.35% | 7.96 | 3.97 | 719,084 |

## توضیحات

پیکربندی نادرست امنیتی زمانی رخ می‌دهد که سیستم، برنامه یا سرویس ابری از نظر امنیتی به‌درستی تنظیم نشده باشد و این مسئله باعث ایجاد آسیب‌پذیری شود.

### موارد شایع
- فقدان تقویت امنیتی مناسب (Security Hardening) در بخش‌های مختلف یا مجوزهای نادرست سرویس‌های ابری
- فعال یا نصب بودن ویژگی‌ها و قابلیت‌های غیرضروری (پورت‌ها، سرویس‌ها، حساب‌ها، ابزارهای تست و…)
- استفاده از حساب‌ها و رمزهای عبور پیش‌فرض بدون تغییر
- عدم وجود پیکربندی مرکزی برای جلوگیری از نمایش پیام‌های خطای بیش از حد (Stack Trace یا پیام‌های اطلاعاتی)
- غیرفعال بودن یا پیکربندی نادرست ویژگی‌های امنیتی جدید در سیستم‌های ارتقا یافته
- اولویت بیش از حد به سازگاری با نسخه‌های قدیمی، ایجاد پیکربندی‌های ناامن
- سرور و فریم‌ورک‌ها، کتابخانه‌ها و دیتابیس‌ها روی مقادیر امن تنظیم نشده باشند
- عدم ارسال هدرها یا دستورات امنیتی یا پیکربندی نادرست آن‌ها

### روش‌های پیشگیری
- پیاده‌سازی فرآیند سخت‌سازی تکرارپذیر برای محیط‌های Development، QA و Production با اعتبارنامه‌های متفاوت و ترجیحاً خودکار
- استفاده از پلتفرم حداقلی بدون ویژگی‌ها یا نمونه‌های غیرضروری
- بازبینی و به‌روزرسانی پیکربندی‌ها مطابق با security notes، patchها و به‌روزرسانی‌ها
- بررسی سطح دسترسی ذخیره‌سازهای ابری (مثل S3 Bucket)
- طراحی معماری بخش‌بندی‌شده (segmented) شامل segmentation، containerization و cloud security groups
- ارسال security directives به سمت کلاینت‌ها، مانند Security Headers
- پیاده‌سازی فرآیند خودکار یا حداقل سالی یک‌بار بررسی دستی اثربخشی تنظیمات امنیتی
- افزودن پیکربندی مرکزی برای جلوگیری از نمایش پیام‌های خطای بیش‌ازحد

### مثال سناریوهای حمله
1. نمونه‌اپلیکیشن‌های حذف‌نشده از محیط تولید با ضعف‌های امنیتی شناخته‌شده. مهاجم می‌تواند از حساب‌ها و رمزهای پیش‌فرض برای کنترل سیستم استفاده کند.
2. Directory Listing غیرفعال نشده، مهاجم می‌تواند فایل‌ها را دانلود و با مهندسی معکوس کد را مشاهده کند.
3. پیام‌های خطای دقیق مانند stack trace به کاربر نمایش داده شود که اطلاعات حساس فاش شود.
4. ارائه‌دهنده خدمات ابری (CSP) سطح دسترسی پیش‌فرض را روی اینترنت باز گذاشته باشد، داده‌های حساس بدون محدودیت قابل دسترسی باشند.

### لیست CWEهای مرتبط
- [CWE-5](https://cwe.mitre.org/data/definitions/5.html) J2EE Misconfiguration: Data Transmission Without Encryption
- [CWE-11](https://cwe.mitre.org/data/definitions/11.html) ASP.NET Misconfiguration: Creating Debug Binary
- [CWE-13](https://cwe.mitre.org/data/definitions/13.html) ASP.NET Misconfiguration: Password in Configuration File
- [CWE-15](https://cwe.mitre.org/data/definitions/15.html) External Control of System or Configuration Setting
- [CWE-16](https://cwe.mitre.org/data/definitions/16.html) Configuration
- [CWE-260](https://cwe.mitre.org/data/definitions/260.html) Password in Configuration File
- [CWE-315](https://cwe.mitre.org/data/definitions/315.html) Cleartext Storage of Sensitive Information in a Cookie
- [CWE-489](https://cwe.mitre.org/data/definitions/489.html) Active Debug Code
- [CWE-526](https://cwe.mitre.org/data/definitions/526.html) Exposure of Sensitive Information Through Environmental Variables
- [CWE-547](https://cwe.mitre.org/data/definitions/547.html) Use of Hard-coded, Security-relevant Constants
- [CWE-611](https://cwe.mitre.org/data/definitions/611.html) Improper Restriction of XML External Entity Reference
- [CWE-614](https://cwe.mitre.org/data/definitions/614.html) Sensitive Cookie in HTTPS Session Without 'Secure' Attribute
- [CWE-776](https://cwe.mitre.org/data/definitions/776.html) Improper Restriction of Recursive Entity References in DTDs (XML Entity Expansion)
- [CWE-942](https://cwe.mitre.org/data/definitions/942.html) Permissive Cross-domain Policy with Untrusted Domains
- [CWE-1004](https://cwe.mitre.org/data/definitions/1004.html) Sensitive Cookie Without 'HttpOnly' Flag
- [CWE-1174](https://cwe.mitre.org/data/definitions/1174.html) ASP.NET Misconfiguration: Improper Model Validation

### منابع
- [OWASP Top 10:2025 - A02 Security Misconfiguration](https://owasp.org/Top10/2025/A02_2025-Security_Misconfiguration/)
- [OWASP Testing Guide: Configuration Management](https://owasp.org/www-project-web-security-testing-guide/)
- [OWASP Testing Guide: Testing for Error Codes](https://owasp.org/www-project-web-security-testing-guide/)
- [Application Security Verification Standard 5.0.0](https://owasp.org/www-project-application-security-verification-standard/)
- [NIST Guide to General Server Hardening](https://nvlpubs.nist.gov/)
- [CIS Security Configuration Guides / Benchmarks](https://www.cisecurity.org/cis-benchmarks/)
- [Amazon S3 Bucket Discovery and Enumeration](https://aws.amazon.com/)
- [ScienceDirect: Security Misconfiguration](https://www.sciencedirect.com/)
Loading