ارزیابی امنیت REST API، رابطهای برنامهنویسی مبتنی بر REST را در برابر فهرست OWASP API Security Top 10 میسنجد؛ همان جایی که بخش بزرگی از رخنههای امروزی رخ میدهد، چون منطق و دادهی برنامه تا حد زیادی از راه API در دسترس است. تمرکز ما بر خطاهایی است که ابزارهای خودکار بهتنهایی پیدا نمیکنند: دسترسی به دادهی کاربران دیگر با تغییر یک شناسه (BOLA)، دور زدن احراز هویت و مجوزدهی سطح عملیات، افشای بیش از حد داده، مصرف نامحدود منابع و پیکربندی نادرست. کار را با رفتار واقعی API میسنجیم، نه فقط با مستندات آن؛ هر یافته را تا اثبات عملی بهرهبرداری دنبال میکنیم و شدت آن را با CVSS در کنار اثر واقعی بر کسبوکار تعیین میکنیم.
چه چیزی شامل میشود
مجوزدهی سطح شیء (BOLA): دسترسی به دادهی دیگران با دستکاری شناسه
احراز هویت شکسته: توکن، نشست، جریان ورود و بازیابی رمز
مجوزدهی سطح ویژگی (BOPLA): افشای بیش از حد داده و mass assignment
مصرف نامحدود منابع: نبود rate limiting و کنترل هزینه
مجوزدهی سطح عملیات (BFLA): دسترسی به عملیات مدیریتی از نقش عادی
دسترسی نامحدود به جریانهای حساس کسبوکار
جعل درخواست سمت سرور (SSRF)
پیکربندی نادرست امنیتی: هدرها، CORS، مدیریت خطا و روشهای HTTP
مدیریت نادرست موجودی: نسخهها و endpointهای قدیمی یا افشاشده
مصرف ناایمن APIهای بالادست و شخص ثالث
تزریق و اعتبارسنجی ورودی در بدنه، پارامتر و هدر
بازبینی اسکیمای API (OpenAPI) در برابر رفتار واقعی
چگونه کار میکند
- خلاصهی اجرایی با نمای کلی ریسک برای تصمیمگیرندگان
- گزارش فنی تفصیلی، هر یافته با اثبات مفهوم تکرارپذیر
- نگاشت یافتهها به OWASP API Security Top 10
- شدت CVSS و اثر کسبوکار برای هر یافته
- نقشهی راه رفع با اولویت و گامهای مشخص
- راهنمای سختسازی امنیت API
- تست مجدد پس از رفع
چرا وادی ایمن حافظ
سوالات متداول
ارزیابی امنیت REST API، رابطهای RESTful را برای آسیبپذیریهای امنیتی میسنجد: مجوزدهی شکستهی سطح شیء و عملیات، احراز هویت شکسته، افشای بیش از حد داده، مصرف نامحدود منابع، SSRF، تزریق و پیکربندی نادرست؛ همه در برابر OWASP API Security Top 10، و هر یافته اثبات و رتبهبندی میشود.
BOLA یا «مجوزدهی شکستهی سطح شیء» یعنی API فقط بر اساس شناسهی درون درخواست یک شیء را برمیگرداند یا تغییر میدهد، بیآنکه بررسی کند فراخواننده مالک آن است؛ پس با تغییر یک شناسه میتوان به دادهی کاربر دیگر رسید. این مورد صدر فهرست OWASP است چون رایج، ساده برای بهرهبرداری و مستقیماً افشاکنندهی داده است؛ اسکنرها بهندرت آن را میگیرند، چون درک اینکه چه کسی باید به چه چیزی دسترسی داشته باشد لازم است، و به همین دلیل آن را با حسابهایی از نقشهای مختلف تست میکنیم.
نشانی پایه و محیط API، مستندات یا اسکیمای OpenAPI در صورت وجود، و حسابهای آزمایشی برای هر نقش (دستکم دو کاربر در هر نقش تا دسترسی میانکاربری را بسنجیم). یک محیط staging که آینهی تولید باشد بهترین حالت است. پیش از شروع، دامنه و هر endpointی را که باید کنار گذاشته شود توافق میکنیم.
جعبهسیاه یعنی بدون دانش درونی، مانند یک مهاجم بیرونی، تست میکنیم؛ جعبهسفید یعنی مستندات، اسکیما و گاه کد منبع را هم داریم؛ جعبهخاکستری میان این دو است و معمولاً با اعتبارنامه و مستندات API انجام میشود. برای API معمولاً جعبهخاکستری را پیشنهاد میکنیم: با در دست داشتن نقشها و مستندات، ضعفهای کنترل دسترسی و منطق کسبوکار را بسیار کاملتر و در زمان کمتری نسبت به تست کور جعبهسیاه پوشش میدهیم.
هر یافته یک امتیاز CVSS برای یک مبنای مشترک میگیرد که با اثر واقعی کسبوکار در بافت شما تعدیل میشود: چه داده یا عملیاتی را افشا میکند، چقدر آسان به آن میرسند و مهاجم چه به دست میآورد. به همین دلیل دو مسئله با CVSS یکسان ممکن است اولویت متفاوت بگیرند.
ترجیح ما محیط staging است که آینهی تولید باشد. اگر تست ناچار روی تولید انجام شود، محدودیتها را از پیش توافق میکنیم: بدون اقدام مخرب، احتیاط در آزمونهای حجیم و پرنرخ، و یک نقطهی تماس در سمت شما برای توقف فوری اگر چیزی نادرست به نظر رسید.
بله. پس از رفع، یافتههای گزارششده را دوباره تست میکنیم تا مطمئن شویم هر رفع پابرجاست و مسئلهی تازهای ایجاد نکرده، و وضعیت آنها را در گزارش بهروز میکنیم.
تست وب، اپلیکیشن رو به مرورگر را میآزماید؛ تست API مستقیماً و بدون رابط کاربری خودِ رابط را هدف میگیرد. API شناسهی اشیا، نقشها و عملیات را مستقیمتر در معرض میگذارد، پس ضعفهای مجوزدهی و منطق کسبوکار غالباند و استاندارد مرجع، OWASP API Security Top 10 است نه WSTGِ متمرکز بر وب.
به تعداد endpointها، تعداد نقشها و پیچیدگی منطق کسبوکار بستگی دارد؛ یک ارزیابی معمول حدود دو تا چهار هفته طول میکشد. پس از دامنهگذاری و روشنشدن تعداد endpoint و نقش، برآورد دقیق میدهیم.
سرویسهای مرتبط
خدمات تکمیلی که ممکن است برای شما مفید باشند