Shadow API ها و Zombie API ها، متأسفانه، بسیار رایج هستند. اگرچه نامهای جذابی دارند، اما تأثیر آنها بر سازمانها، امنیت داده و حریم خصوصی کاربران اصلاً جذاب نیست و بهترین شیوههای امنیتی را تهدید میکند. در این مطلب، تفاوت این دو نوع API را بررسی میکنیم و راههایی برای کاهش اثرات منفی آنها پیشنهاد میدهیم.
Shadow API چیست؟
ابتدا بیایید یک Shadow API را تعریف کنیم. هنگامی که APIها توسعه داده میشوند، مجموعهای از وظایف مرتبط نیز با آنها همراه است. مهمترین این وظایف، مستندسازی API و اطمینان از ثبت آن همراه با توضیح کاربرد آن است.
Shadow API زمانی ایجاد میشود که رویههای مستندسازی به خوبی رعایت نشوند. در حالی که مستندسازی یک بهترینعمل در توسعهٔ API است، اما از نظر فنی یک الزام برای کار کردن API نیست. در نتیجه، گاهی APIها بدون هیچ مستندی، بدون هیچ اشارهای به وجود آنها و بدون اضافه شدن به کاتالوگ یا مجموعهٔ APIهای دیگر ساخته میشوند.
این APIها در سایههای سازمان وجود دارند و در بسیاری از موارد، آگاهی از آنها به دلیل دانش سیلویی، تغییرات سازمانی یا صرفاً فراموشی از بین میرود. این میتواند باعث شود APIهایی با دسترسی سطح بالا یا قابلیتهای حیاتی بدون آگاهی سازمان وجود داشته باشند و مشکلات جدی در وضعیت امنیتی ایجاد کنند.
Shadow APIها، APIهایی هستند که بدون آگاهی سازمان یا بدون مستندسازی وجود دارند.
Zombie API چیست؟
تصور کنید API شما توسعه یافته، امنیت مناسبی دارد و به خوبی مستند شده است. اما مستندسازی تنها زمانی مفید است که بهروز و نگهداریشده باشد. نگهداری و ممیزی منظم برای حفظ ارزش آن ضروری است.
پس چه اتفاقی رخ میدهد وقتی API رها شده، منقضی شده یا دیگر موردنیاز نیست، اما همچنان در دسترس و قابل استفاده باقی مانده است؟ در این حالت، یک API تبدیل به Zombie API میشود.
Zombie APIها همچنان در دسترس و قابل استفاده هستند، حتی اگر دیگر بخشی از محصول یا سرویس فعال نباشند. درست مانند زامبیها در داستانهای تخیلی، این APIها در قبرستان API پرسه میزنند: نه کاملاً مرده و نه کاملاً زنده، و تنها با حضور خود، دردسر ایجاد میکنند. این یک مشکل بزرگ است؛ زیرا API هنوز قابل استفاده است، دادهها را دسترسی میدهد و در شبکه فعالیت میکند، اما هیچیک از رسیدگیها یا نگهداریهای معمول را دریافت نمیکند.
Zombie APIها، APIهایی هستند که منقضی یا رها شدهاند اما همچنان قابل استفادهاند.
شباهت Shadow API و Zombie API
در وهلهٔ اول، باید توجه داشت که هر دو نوع API نتیجهٔ بیتوجهی هستند. رویههای ضعیف مستندسازی و مدیریت چرخهٔ عمر باعث ایجاد Shadow API میشوند، در حالی که استانداردهای ضعیف خروج و منقضیسازی بههمراه ارتباطات ناقص و سیاستهای سست منجر به شکلگیری Zombie APIها میشود.
در هر دو حالت، این بیتوجهی میتواند ناشی از غفلت یا اتفاقی باشد. با این حال، نتیجه یکی است: کاهش دیدپذیری و آسیب جدی به وضعیت امنیتی.
تفاوت Shadow API و Zombie API
با این حال، این دو نوع API تفاوتهای قابلتوجهی دارند.
Shadow API نتیجهٔ مشکلات سازمانی است که میتوان با ایجاد و حفظ فرهنگ مناسب مستندسازی و ابزارهای قوی برای پیگیری نسخهها و توسعه آن را اصلاح کرد. هیچ محصولی نباید بدون توجه و در سایه طراحی شود، و وجود Shadow APIها نیاز به کشف داخلی و بازنگری سازمانی را نشان میدهد.
در مورد Zombie APIها، مشکل عمیقتر است. علاوه بر مسائل سازمانی مشابه Shadow APIها، وجود Zombie API نشاندهندهٔ نبود همسویی فرهنگی است. در یک فرهنگ API-first، API خود محصول است؛ بنابراین رها کردن یک Zombie API مثل رها کردن یک کیسه طلا روی زمین است. این رفتار با یک کسبوکار سالم سازگار نیست و نشاندهندهٔ عدم همسویی جدی فرهنگی است.
کاهش ریسک Shadow API و Zombie API
خوشبختانه میتوان اقداماتی برای بهبود همسویی سازمانی و کاهش احتمال ایجاد این APIها انجام داد. در ادامه به برخی مشکلات رایج و نحوه رفع آنها اشاره میکنیم.
مشکلات امنیتی
Shadow APIها ممکن است به منابع حساس متصل باشند. مشکل اصلی، نبود مستندسازی است. پس نخستین گام:
-
بررسی ضرورت API
-
مستندسازی کامل
-
ارزیابی تطابق با شرایط امنیتی فعلی
برای Zombie API تنها یک راه وجود دارد:
پیدا کنید و دسترسی آن را فوراً قطع کنید.
مشکلات انطباق (Compliance)
Shadow API ممکن است مسیر دسترسی ناسازگار داشته باشد، و Zombie API ممکن است در زمان توسعه مطابقت داشته اما اکنون دیگر مطابق استاندارد نباشد یا آسیبپذیر شده باشد.
مراحل کلی:
-
ایجاد یا بازیابی مستندسازی
-
ممیزی همه پیکربندیها
-
بررسی تاریخچه تراکنشها برای اطمینان از عدم نشت داده
مشکلات حریم خصوصی
برای Shadow API، باید بررسی شود آیا استانداردهای حریم خصوصی رعایت شدهاند یا خیر.
برای Zombie API، ممکن است استانداردهای حریم خصوصی قدیمی شده باشند و بررسی مفصل لازم باشد.
این بررسیها باید به صورت کامل ثبت و گزارش شوند، هم از نظر اخلاقی و هم از نظر الزامهای قانونی.
جمعبندی
Shadow API و Zombie API مشکلات مهمی هستند که باید بلافاصله پس از شناسایی رسیدگی شوند. شناخت ریشهٔ مشکلات و اصلاح سریع آنها حیاتی است.
سازمانها معمولاً امنیت خود را مجموع اجزای آن میدانند: فایروال، دروازه، ابزارهای امنیتی و غیره. اما حقیقت این است: امنیت شما فقط به اندازهٔ آگاهی شما از سیستمتان خوب است.
شما نمیتوانید چیزی را محافظت کنید که از وجودش خبر ندارید.
Shadow APIها و Zombie APIها دیدپذیری را کاهش میدهند و ضعف بزرگی ایجاد میکنند. بنابراین، تمرکز بر شفافیت، کشف، مستندسازی و مدیریت چرخهٔ عمر برای ارتقای امنیت ضروری است.
