با ادامه رشد کسبوکارها، نیاز فزایندهای به APIها برای برآورده ساختن نیازهای مشتریان داخلی و خارجی وجود دارد. افزایش رایانش ابری و پذیرش گسترده معماری مایکروسرویسها، پیچیدگی را بیشتر کرده و منجر به افزایش قابل توجه تقاضا شده است. در نتیجه، APIها با سرعت زیادی گسترش یافتهاند و پدیدهای به نام پراکندگی ایپیآی (API Sprawl) ایجاد شده است. این افزایش، اغلب باعث توسعه تعداد زیادی API تکراری و مشابه میشود و چالشهایی در مدیریت و حفظ سیاستهای امنیتی یکپارچه در سراسر سازمان ایجاد میکند، که در نهایت بر وضعیت امنیتی کلی تأثیر میگذارد.
احتمال رخداد نفوذ امنیتی یک نگرانی جدی است، بهویژه زمانی که دسترسی غیرمجاز به دادههای حساس از طریق APIهای سرکش صورت گیرد. این نوع افشاگری میتواند به نقض دادهها و خسارات مالی منجر شود و به شهرت شرکت آسیب وارد کند. هم APIهای سرکش و هم APIهای تأییدشده را میتوان از طریق کشف شبکه خارج از مسیر (Out-of-band) با استفاده از درگاه API که بهعنوان نقطه ورودی متمرکز APIها عمل میکند، یا از طریق یک سیستم مدیریت API متمرکز که از راهحل کاتالوگسازی استفاده میکند، شناسایی کرد.
با این حال، مسائلی مانند ناسازگاری در طراحی API، استانداردهای مستندسازی، کیفیت داده و قراردادهای طرفسوم همچنان میتوانند آسیبپذیریهای امنیتی ایجاد کنند. این ناسازگاریها در APIها، انحراف ایپیآی (API Drift) نامیده میشوند.
تشخیص انحراف API چیست؟
تشخیص انحراف، فرآیند شناسایی هرگونه انحراف در وضعیت عملیاتی فعلی نسبت به وضعیت مورد انتظار است. این مغایرتها میتوانند به دلایل مختلفی رخ دهند و بهطور عمده مسئولیت تولیدکنندگان API است که مطابق با مشخصاتی که در مرحله طراحی تعیین شدهاند عمل کنند تا وقوع چنین انحرافاتی را به حداقل برسانند.
انواع انحراف API
انحراف مشخصات OpenAPI
مشخصات OpenAPI یک چارچوب ساختاری برای تعریف APIها ارائه میدهند که به مهندسان امکان میدهد بینش جامعی از عملکرد API کسب کنند. زمانی که توسط مدیریت API پشتیبانی شوند، APIها چرخه تولید شامل برنامهریزی، طراحی، بررسی، توسعه، آزمایش و استقرار را طی میکنند. با وجود وجود فرآیندهایی برای همتراز کردن پیادهسازی API با مشخصات OpenAPI و بررسیهای جامع، توسعهدهندگان ممکن است به دلایل مختلف ناخواسته از استانداردهای مشخصشده منحرف شوند. برخی از این دلایل عبارتند از –
-
تأخیر بین مستندسازی مشخصات و پیادهسازی API که باعث ایجاد شکاف میشود.
-
توسعهدهندهای که مشخصات را ایجاد میکند ممکن است با توسعهدهندهای که آن را پیادهسازی میکند متفاوت باشد.
-
ممکن است تغییرات محصول یا فنی پس از ثبت مشخصات ایجاد شود.
انحراف در طراحی و زمان اجرا بهطور اجتنابناپذیر منجر به دسترسی غیرمجاز به دادههای حساس فراتر از مرزهای سازمانی میشود.
انحراف ویژگیهای داده
پراکندگی API میتواند به افزایش استانداردهای متناقض در سراسر یک سازمان منجر شود. در یک شرکت بزرگ با تعداد زیاد API و نسخههای متعدد، مصرفکنندگان و تولیدکنندگان ممکن است از استانداردهای داده تعیینشده سازمانی منحرف شوند. این مسئله میتواند منجر به عدم انطباق با استانداردهای داده و سیاستهای امنیتی سازمان شده و احتمال افشای دادههای حساس را افزایش دهد.
عدم وجود الگوهای نامگذاری ثابت برای ویژگیهای داده در میان APIها میتواند منجر به استانداردهای متضاد برای یک ویژگی واحد شود. این ناهماهنگی، اجرای اقدامات حاکمیت و امنیت مانند رمزگذاری یا توکنیسازی را در سطح سازمان دشوار میکند. در نتیجه، مشکلات حریم خصوصی دادهها ممکن است بهدلیل چالشهای حاکمیت این ویژگیها ایجاد شود.
انحراف ویژگیهای داده، با کیفیت داده ارتباط نزدیکی دارد اما به اندازهای مهم است که بهعنوان نوعی انحراف مستقل در نظر گرفته شود.
انحراف کیفیت داده
یک API شامل چندین نقطه پایانی است که هرکدام ویژگیهای داده مختلفی را که مصرفکنندگان میتوانند به آن دسترسی داشته باشند، افشا میکنند. این ویژگیها ممکن است اعتبارسنجیها و انواع داده متفاوتی داشته باشند و انحراف API از مشخصات اولیه طراحی امری رایج است.
یکی از مشکلات متداول، انحراف نوع داده است که در آن عدد صحیح به اشتباه بهعنوان رشته تفسیر میشود، که میتواند هنگام مصرف داده توسط سیستمهای پشتیبان بدون اعتبارسنجی صحیح، مشکلاتی ایجاد کند.
مشکل رایج دیگر زمانی رخ میدهد که برای یک ویژگی، اعتبارسنجی کافی مانند عبارات منظم یا بررسی بازه وجود نداشته باشد. هنگامی که مصرفکنندگان و تولیدکنندگان براساس مشخصات ثبتنشده عمل میکنند، این امر میتواند منجر به دسترسی غیرمجاز به داده شود.
انحراف قرارداد داده
سازمانهای بزرگ APIها را نهتنها برای استفاده داخلی بلکه برای یکپارچهسازی با طرفهای سوم نیز ایجاد میکنند. از آنجا که دادههای مشتری خارج از مرزهای شرکت به اشتراک گذاشته میشود، ضروری است که قراردادهای داده با مشتریان خارجی ایجاد شود. این قراردادها ویژگیهای دادهای را که با مشتریان به اشتراک گذاشته میشود تعریف کرده و سیاستهای حاکمیت داده مرتبط با دادههای اشتراکی را مشخص میکنند.
مانند هر یک از انحرافات ذکرشده، تولیدکنندگان API ممکن است ناخواسته شروع به انتقال اطلاعات اضافی به مشتریان کنند که منجر به نشت داده شود.
تشخیص
حتی با پیروی از رویکرد شیفت به چپ برای اطمینان از ثبت مشخصات در مرحله طراحی و داشتن حاکمیت و استانداردسازی، انحرافات ذکرشده همچنان رخ میدهند.
روشها
با افزایش تقاضای کسبوکار، تراکنشهای API نیز افزایش یافته و تشخیص و اسکن انحراف در این مقیاس چالشبرانگیزتر میشود. استفاده از تکنیکهایی که کممزاحمت، جدا از مسیر و مقیاسپذیر باشند بسیار ضروری است، مانند:
-
اسکن شبکه خارج از مسیر، مشابه کشف API
-
گسترش واسط API (درگاه API) برای اسکن ترافیک
-
فراخوانی سرویسهای متمرکز تشخیص انحراف توسط تولیدکننده API
هر روش تشخیص انحراف میتواند یک مایکروسرویس کماتصال باشد که تشخیص و رفع انحراف را ارائه میدهد.
یادگیری ماشین
برخی از انحرافات ذکرشده قبلاً، با استفاده از روشهای صحیح بهراحتی قابل شناساییاند. با این حال، بهرهبردن از یادگیری ماشین برای شناسایی ویژگیهای داده غیر استاندارد میتواند بسیار سودمند باشد. با وارد کردن یک کتابخانه جامع و رو به گسترش از ویژگیهای داده و خصوصیات آنها، بههمراه اطلاعات دامنه و زیردامنه، مدلهای یادگیری ماشین میتوانند تشخیص دهند که آیا ویژگی مناسبتری برای استفاده وجود دارد یا خیر، و سپس سیاست امنیتی و حاکمیت مناسب را براساس پروفایل ریسک اعمال کنند.
رفع مشکل
رسیدگی به مشکلات انحراف میتواند به اندازه تشخیص آنها چالشبرانگیز باشد. رفع مشکل شامل شناسایی ریسک بالقوه ناشی از انحراف، ارزیابی شدت موضوع، شناسایی تولیدکنندگان و مصرفکنندگان API، ردیابی رخدادها و معیارها برای شناسایی الگوها، و ایجاد فرآیندی برای رسیدگی و رفع آسیبپذیری است. یک راهکار متمرکز میتواند رویکرد مؤثری برای حل این چالشها ارائه دهد.
