سوال: چگونه سازمانها میتوانند از مقاومت APIهایشان در برابر نفوذ در برابر افزایش حملات مبتنی بر API مطمئن شوند؟
روری بلوندل، بنیانگذار و مدیر عامل Gravitee: کسبوکارها در هر اندازه و در همه صنایع معمولاً به APIهای داخلی برای متحد کردن برنامههای تجاری خود و APIهای خارجی برای به اشتراک گذاشتن دادهها یا خدمات با فروشندگان، مشتریان یا شرکا متکی هستند. از آنجا که یک API واحد ممکن است به چندین برنامه یا سرویس دسترسی داشته باشد، به خطر انداختن API یک راه آسان برای به خطر انداختن مجموعه وسیعی از داراییهای تجاری با حداقل تلاش است.
API ها تبدیل به یک بردار حمله محبوب شده اند و تعداد حملات API به طرز شگفت انگیزی افزایش یافته است ٪۱۰۰، با توجه به اخیر تحقیق از آزمایشگاه نمک. اولین قدم برای ایمن سازی API های خود، پیروی از بهترین شیوه ها، مانند مواردی است که OWASP انجام می دهد توصیه می کند در برابر خطرات امنیتی مشترک API محافظت شود.
با این حال، روشهای امنیتی پایه API برای ایمن نگه داشتن منابع IT کافی نیست. کسب و کارها باید اقدامات اضافی زیر را برای محافظت از API های خود انجام دهند.
1. احراز هویت مبتنی بر ریسک را بپذیرید
کسبوکارها باید سیاستهای احراز هویت مبتنی بر ریسک را اتخاذ کنند، که اجازه میدهد حفاظتهای امنیتی را در مواردی که خطر افزایش مییابد، اعمال کنند. برای مثال، یک کلاینت API با سابقه طولانی در صدور درخواستهای قانونی که از یک الگوی قابل پیشبینی پیروی میکنند، ممکن است نیازی به انجام همان سطح تأیید اعتبار برای هر درخواست نداشته باشد که یک کلاینت جدید که قبلاً هرگز متصل نشده است. اما اگر الگوی دسترسی سرویس گیرنده قدیمی API تغییر کند - برای مثال اگر مشتری به طور ناگهانی شروع به صدور درخواست از یک آدرس IP متفاوت کند - نیاز به احراز هویت دقیقتر راه هوشمندانهای برای اطمینان از اینکه درخواستها از یک کلاینت در معرض خطر نیست، خواهد بود.
2. احراز هویت بیومتریک را اضافه کنید
اگرچه توکن ها به عنوان ابزاری اساسی برای احراز هویت مشتریان و درخواست ها مهم هستند، اما آنها می تواند دزدیده شود. به همین دلیل، جفت کردن احراز هویت مبتنی بر توکن با احراز هویت بیومتریک یک راه هوشمند برای افزایش امنیت API است. توسعهدهندگان بهجای اینکه تصور کنند هر کسی که توکن API دارد یک کاربر معتبر است، باید برنامههایی را طوری طراحی کنند که کاربران نیز مجبور باشند با استفاده از اثر انگشت، اسکن صورت، یا روشهای مشابه احراز هویت کنند، حداقل در زمینههای پرخطر.
3. احراز هویت را به صورت خارجی اجرا کنید
هرچه طرحهای احراز هویت API پیچیدهتر شود، اجرای الزامات امنیتی در خود برنامه دشوارتر میشود. به همین دلیل، توسعه دهندگان باید تلاش کنند تا قوانین امنیتی API را از منطق برنامه جدا کنند و در عوض از ابزارهای خارجی مانند دروازه های API برای اجرای الزامات امنیتی استفاده کنند. این رویکرد سیاستهای امنیتی API را مقیاسپذیرتر و انعطافپذیرتر میکند، زیرا میتوانند به راحتی در دروازههای API پیادهسازی و بهروزرسانی شوند، نه از طریق کد منبع برنامه. و مهمتر از همه، به شما این امکان را می دهد که قوانین متفاوتی را برای کاربران یا درخواست های مختلف بر اساس پروفایل های ریسک متفاوت اعمال کنید.
4. تعادل امنیت API با قابلیت استفاده
مهم است که اجازه ندهید امنیت به دشمن قابلیت استفاده تبدیل شود. اگر اقدامات احراز هویت API را بیش از حد مزاحم یا سنگین کنید، کاربران شما ممکن است API های شما را رها کنند، که برعکس چیزی است که می خواهید اتفاق بیفتد. با اطمینان از اینکه قوانین امنیتی API در صورت وجود دلیلی سختگیرانه هستند، اما بدون تحمیل الزامات غیر ضروری، از این امر اجتناب کنید.
حملاتی که API ها را هدف قرار می دهند، نشانه ای از کاهش سرعت نشان نمی دهند. هنگام طراحی و ایمن سازی API ها، توسعه دهندگان باید فراتر از توصیه های OWASP عمل کنند تا بهره برداری از API را دشوارتر کنند.