. سرویس تست نفوذ API با استفاده از یک رویکرد جامع و مبتنی بر ریسک، و به منظور شناسایی آسیب پذیری های موجود در API در تمامی لایه ها طراحی شده است. این رویکرد شامل 5 بخش کلی بوده که با پیروی از استاندارد OWASP API Security Top 10 (نسخه 2023) و Best Practice های امنیتی در نظر گرفته شده است.
در مورد API هایی که به عنوان زیرساخت سرویس یا محصولات دیگر (از جمله اپلیکیشن موبایل، دسکتاپ، وب و ...) پیاده سازی می شوند، امنیت امری حیاتی باید در نظر گرفته شود.
تیم تست نفوذ API ما بر اساس آخرین استانداردهای روز و با اتکا بر تجربه، امنیت API شما را تضمین خواهد کرد. این رویکرد بر اساس اخرین استاندارد OWASP API Security بوده که در ادامه به تشریح هر یک از اجزای آن می پردازیم.
-
مجوزدهی نادرست در سطح اشیاء
APIها عموما توابع مدیریت کننده شناسههای اشیا را در معرض دید قرار داده و سطح حمله گستردهای را برای نقض کنترل دسترسی ایجاد مینمایند. کنترلهای مجوزدهی در سطح اشیا باید در کلیه توابعی که با گرفتن ورودی از کاربر به منابع داده دسترسی دارند پیاده سازی شود. این مرحله به بررسی صحت مجوزدهی API در سطح اشیا می پردازد.
-
احرازهویت نادرست کاربر
مکانیزم های احرازهویت غالبا به درستی پیاده سازی نشده و سبب دسترسی مهاجمین به توکن های احرازهویت و ربایش موقت یا دائمی هویت سایر کاربران با استفاده از نقایص این مکانیزم ها می شوند. نقض توانایی سیستم در شناسایی کلاینت یا کاربر، منجر به نقض امنیت API خواهد شد.
-
مجوزدهی نادرست در سطح کلاس ها
اشیاهایی که در API ها استفاده می شوند بعضا دارای فیلد ها یا خواص (Properties) هستند که نباید در معرض دید کاربر قرار بگیرند یا قابلیت تغییر توسط کاربر را داشته باشند. بازبینی دسترسی کاربر به این داده ها از اهمیت بالای برخوردار است.
-
نبود محدودیت نرخ در ارسال درخواست
عموما APIها محدودیتی بر اندازه یا تعداد منابع درخواستی توسط کلاینت ها یا کاربر اعمال نمی نمایند. این موضوع نه تنها با تاثیرگذاری منفی بر عملکرد سرور API میتواند منجر به حمله رد سرویس )DoS )شود، بلکه در را برای نقض احرازهویت از طریق حمالتی نظیر Force Brute نیز باز می گذارد.
-
مجوزدهی نادرست در سطح توابع
مکانیزمهای پیچیده کنترل دسترسی با سلسله مراتب، گروهها و نقشهای متفاوت و مرز نامشخص بین توابع عادی و مدیریتی سبب بروز نقایص مجوزدهی میشوند. با بهره برداری از این آسیبپذیریها مهاجمین به منابع سایر کاربران و یا توابع مدیریتی دست خواهند یافت.
-
دسترسی نامحدود به روند تجاری
در برخی موارد دسترسی نامحدود کربران با برخی روند ها می تواند به تجارت شما آسیب بزند. به عنوان نمونه اگر API فروش بلیطی را توسعه داده باشید اما برای ثبت خرید محدودیت در نظر نگرفته باشید، شخصی بدنیت می تواند تعداد زیادی خرید را ثبت کرده و مانع خرید دیگران بشود.
-
تولید درخواست از سمت سرور (SSRF)
آسیب پذیری SSRF زمانی رخ می دهد که یک درخواست از طرف سرور بدون تایید محتوای آن ارسال می شود. چون این درخواست از طرف سرور است، عموما استانداردهای امنیتی کمتری شامل آن می شود که سبب دسترسی شخص بدنیت به منابع یا اجرای دستورات آسیب زا می شود.
-
پیکربندی امنیتی نادرست
پیکربندی امنیتی نادرست پیامدی از بکارگیری پیکربندی ناایمن پیشفرض، پیکربندی ناقص یا غیرمتمرکز است که رخ دادن آن می تواند تبعات جبران ناپذیری در پی داشته باشد. این مرحله از آزمون نفوذپذیری به بررسی پیکربندی امنیتی API مورد استفاده می پردازد.پیکربندی امنیتی نادرست پیامدی از بکارگیری پیکربندی ناایمن پیشفرض، پیکربندی ناقص یا غیرمتمرکز است که رخ دادن آن می تواند تبعات جبران ناپذیری در پی داشته باشد. این مرحله از آزمون نفوذپذیری به بررسی پیکربندی امنیتی API مورد استفاده می پردازد.
-
مدیریت نادرست داراییها
اگر API دارایی هایی از قبیل داده مدیریت می کند، کنترل دسترسی API به داده ها اهمیت بالایی پیدا می کند. دلیل دسترسی به این داده ها، نحوه دسترسی، سطوح دسترسی و موارد دیگر باید صریحا مشخص شده و کنترل شوند تا API دسترسی بی مورد به داده نداشته باشد.
-
استفاده ناامن از API های ثالث
توسعه دهندگان عموما اعتماد زیادی به داده های دریافت شده از API های عمومی دارند. به همین دلیل استاندارد های امنیتی که برای این داده ها اعمال می شوند عموما کمتر از داده های ورودی کاربر است. یک شخص ثالث با سوء استفاده از این اعتماد و استانداردهای امنیتی ضعیف تر، می تواند حملاتی مشابه Injection انجام دهد.