API سایه به هر رابط برنامهنویسی کاربردی (API) اطلاق میشود که توسط سازمانی که از آن استفاده میکند، مدیریت یا ایمن نشده است. اغلب، APIهای سایه توسط توسعهدهندگان و سایر کاربران درون یک سازمان چه در حین فرآیند توسعه برنامه و چه برای انجام سایر عملکردهای تجاری معرفی میشوند.
APIهای سایه لزوماً برای مقاصد مخرب استفاده نمیشوند. با این حال، از آنجایی که آنها تحتکنترل تیمهای فناوری اطلاعات و امنیت سازمان نیستند، ایمنکردن آنها دربرابر آسیبپذیریها و حملات جدید غیرممکن است.
چرا APIهای سایه خطرناک هستند؟
اگرچه APIهای سایه ذاتاً مخرب نیستند، اما میتوانند خطرات قابلتوجهی را بههمراه داشته باشند. تیمهای فناوری اطلاعات و امنیت سازمان مسئول اجرای استانداردهای امنیت API و بهبود آنها هستند، اما آنها تنها میتوانند APIها و اندپوینتهایی (نقاط دسترسی) را که میبینند، محافظت کنند. درهمین راستا، اگر وابستگی وجود داشته باشد که این تیمها از آن بیخبر باشند، نمیتوانند ردیابی کنند که آیا دادهها در معرض خطر قرار دارند، از رعایت قوانین اطمینان حاصل کنند یا حملات را مسدود کنند.
برخی از رایجترین خطرات ناشی از APIهای سایه شامل موارد زیر است:
- افشاء دادهها: APIهای سایه ممکن است به دادههای حساس دسترسی داشته باشند. اگر این APIها موردحمله یا نفوذ قرار گیرند، این میتواند منجر به افشاء دادهها یا سرقت آنها شود.
- حرکت جانبی: APIهای سایه ممکن است نقاط ورود برای حملهکنندگان به سیستمها و حسابهای حساس فراهم کنند. هنگامی که آنها به محیط یک سازمان نفوذ کردند، ممکن است اطلاعات محرمانه را سرقت کرده یا از این دسترسی برای انجام حملات بیشتر استفاده کنند.
- آسیبپذیریهای بدونوصله (Unpatched): سازمانها نمیتوانند آسیبپذیریهای جدید API را در APIهرابطهای برنامهنویسی کاربردی که قبلاً آنها را نظارت و مدیریت نمیکنند، وصله (پچ) کنند. حتی اگر APIهای سایه در برابر حملات و خطرات پایهای مانند آنهایی که در لیست ۱۰ مورد امنیتی رابطهای برنامهنویسی کاربردی از OWASP وجود دارد، ایمن شده باشند، ممکن است بهرهبرداریهای جدید نقاط ورود برای حملهکنندگان ایجاد کنند.
- عدم رعایت قوانین: بسیاری از سازمانها مشمول قوانین حریم خصوصی دادهها مانند GDPR یا CCPA هستند. APIهای سایه ممکن است به توسعهدهندگان یا سایر کاربران اجازه دهند، دادهها را به شیوههایی مدیریت کنند که با این مقررات مغایرت دارد و منجر به جریمهها یا دیگر مجازاتهای جدی شود.
کشف API چیست؟
کشف API فرآیند فهرستبرداری از همه APIهای داخلی و شخص ثالث است که در یک سازمان استفاده میشود. از آنجایی که APIها طیف وسیعی از اهداف از تقویت توسعه برنامهها تا اتصال میکروسرویسها و سایر عملکردهای خارجی را برآورده میکنند، غیرمعمول نیست که سازمانها به دهها، اگر نگوییم صدها (یا هزاران) API تکیه کنند.
با کشف API، سازمانها نه تنها میتوانند توسعه برنامههای خود را ساده کنند، بلکه میتوانند APIهای سایهای را که بهدرستی فهرستبندی یا ایمن نشدهاند، شناسایی کنند. بههمین دلیل، کشف API یک گام اولیه حیاتی در بهبود و پیادهسازی شیوههای امنیتی API است.
APIهای سایه درمقابل APIهای زامبی
یک API سایه یک API بدون مدیریت است که بهطور فعال استفاده میشود. درمقابل، یک API زامبی، رابط برنامهنویسی کاربردی است که منسوخ یا رها شده است. برخلاف APIهای سایه، APIهای زامبی ممکن است قبلاً شناسایی و توسط یک سازمان مدیریت شده باشند، اما بهطور فعال استفاده نمیشوند.
هر دو API سایه و API زامبی خطرات جدی برای سازمانهایی که با آنها تعامل دارند، ایجاد میکنند، زیرا معمولاً بدون ایمنی رها میشوند و ممکن است مورد نفوذ قرار گیرند یا برای انجام حملات استفاده شوند.