🔓🔓 مرور ۱۰ ریسک مهم امنیتی API طبق OWASP 2023 (بخش دوم)

🔓🔓 مرور ۱۰ ریسک مهم امنیتی API طبق OWASP 2023 (بخش دوم)


» در ادامه بخش اول


6️⃣تهدید API6: Unrestricted Access to Sensitive Business Flows

دسترسی بدون کنترل به فرآیندهای حیاتی


زمانی که API بدون احراز هویت یا محدودیت خاصی به عملیات مهم مثل ثبت‌نام، پرداخت یا بازیابی رمز عبور اجازه می‌ده.


مثال:

بات‌ها بتونن میلیون‌ها ثبت‌نام جعلی انجام بدن، یا فراموشی رمز عبور رو بارها صدا بزنن.


روش‌های جلوگیری:

- نرخ‌گذاری (rate limiting) و CAPTCHA.

- احراز هویت برای عملیات حساس.

- مانیتور کردن رفتارهای غیرعادی.


7️⃣تهدید API7: Server Side Request Forgery (SSRF)

جعل درخواست از سمت سرور


زمانی که کاربر مجاز است تا URLهایی رو به API بفرسته تا در نهایت سرور آن‌ها را بخواند (مثلاً برای preview یا دانلود)، اینجاست که ممکنه مهاجم از این امکان سوءاستفاده کنه.


مثال:


POST /api/fetch?url=http://internal.service.local/admin


روش‌های جلوگیری:


- اعتبارسنجی URLهای ورودی و لیست سیاه / سفید کردن مقصدها.

- جلوگیری از دسترسی به IPهای داخلی (مثلاً 127.0.0.1).

- محدود کردن دامنه‌ی درخواست‌های سرور.


8️⃣تهدید API8: Security Misconfiguration

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


تنظیمات اشتباه مثل فعال بودن دیباگ، خطایاب‌ها، یا endpointهای داخلی در محیط تولید، باعث آسیب‌پذیری می‌شه.


مثال:

- فعال بودن Swagger UI یا StackTrace در محیط production.


روش‌های جلوگیری:

- استفاده از DevSecOps و اسکن مداوم پیکربندی‌ها.

- حذف یا غیرفعال کردن endpointهای غیرضروری در production.

- اعمال هدرهای امنیتی.


9️⃣تهدید API9: Improper Inventory Management

مدیریت نادرست موجودی API


نبود فهرست دقیق از APIها، نسخه‌ها، محیط‌ها و وضعیت‌های هر endpoint ممکن است باعث شه تا برخی از APIهای قدیمی یا ناامن در دسترس باقی بمونن.


مثال:

- وجود API نسخه‌ی v1 که هنوز فعالن ولی دیگه نگهداری و تو توسعه و نظارت ندارن.


روش‌های جلوگیری:

- مستندسازی و نسخه‌بندی دقیق APIها.

- استفاده از ابزارهایی برای کشف خودکار APIها مثل API gateways.

- اسکن دوره‌ای برای یافتن APIهای ناشناخته.


0️⃣1️⃣تهدید API10: Unsafe Consumption of APIs

مصرف ناامن APIهای خارجی


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


مثال:

- اتکا به داده‌ی مالی از API خارجی بدون بررسی امضا یا صحت داده.


روش‌های جلوگیری:

- بررسی دقیق پاسخ API خارجی قبل از استفاده.

- محدود کردن منابع مورد اعتماد.

- قرار دادن تایم‌اوت و بررسی JSON schema.


💬 نظر؟ سوال؟ تجربه؟



اگر تمایل داشتید بیشتر در مورد مفاهیم تولید امن نرم‌افزار، و نرم‌افزار امن بدونید، این دو قسمت پادکست رو قبلا ضبط کردم:


بخش اول:

- معرفی SSDLC

- معرفی SDL

- مفهوم Shift-left testing

- مدلس‌ازی تهدیدات امنیتی (Threat Modeling) با استفاده از STRIDE


بخش دوم:

- معرفی Static Application Security Testing (SAST)

- معرفی Dynamic Application Security Testing (DAST)

- معرفی Interactive Application Security Testing (IAST)

- معرفی Runtime Application Self-Protection (RASP)

- معرفی Software Composition Analysis (SCA)

- مفهوم Safe Codingو Security by Design و Secure Coding

- مفهوم Defensive Programming, Defensive Design, Offensive Programming

- سرفصل‌های دوره CSSLP