امنیت API چیست؟

در این مطلب به بررسی جوانب مختلف امنیت API می‌پردازیم. با ما همراه باشید

0 427

امنیت API به شیوه ها و محصولاتی اشاره دارد که از حملات مخرب به رابط های برنامه نویسی اپلیکشن (API) و سوءاستفاده از آن جلوگیری میکند. از آنجا که APIها برای تعاملات برنامه نویسی مبتنی بر وب کلیدی شده اند، هکرها آن ها را مورد هدف قرار داده اند. در نتیجه، احراز هویت اساسی که فقط به نام کاربری و رمز عبور نیاز داشت با اشکال مختلف توکن های امنیتی (مانند موارد استفاده شده توسط احراز هویت چندعامله) جایگزین شد.

APIها را میتوان با استفاده از REST و SOAP ساخت. (Representational state transfor (REST، یک سبک معماری برای توسعه ی خدمات وب میباشد که به دلیل سادگی از محبوبیت خاصی برخوردار است. روش دوم (Simple object access protocol (SOAP، یک پروتکل برای ارسال پیام میباشد که به عناصر توزیع شده ی یک اپلیکیشن اجازه ی برقراری ارتباط میدهد. اطلاعات در SOAP از طریق پروتکل های موجود در اینترنت مانند HTTP منتقل میشوند. REST APIها از HTTP و امنیت لایه ی انتقال (TLS) استفاده میکنند. در REST همچنین (Javascript Object Notation (JSON که یک فرمت فایلی میباشد و انتقال داده ها را در سرتاسر مرورگرهای وب آسان میکند، مورد استفاده قرار میگیرد.

 

اهمیت امنیت API

 

بسیاری از کارشناسان امنیتی معتقدند که موج بعدی حملات سایبری بهره برداری از APIها خواهد بود. برخی روش های رایج این حمله عبارتند از: حملات مرد میانی، دستکاری پارامتر و حملات هویتی.

در نتیجه، بسیاری از بزرگترین ارائه دهندگان خدمات وب برای افزایش اقدامات امنیتی نیاز به شرکایی دارند. یکی از این اقدامات استفاده از MFA میباشد که در ادامه به توضیح آن میپردازیم.

پیاده سازی امنیت API برای جلوگیری از حملاتی مانند XSS و تزریق SQL بسیار اهمیت دارد. در حالت کلی، امنیت ای پی ای برای عملکرد ایمن و موفق APIها و برنامه هایی که از آنها پشتیبانی میکنند، بسیار حیاتی است.

 

انواع امنیت ای پی ای و ابزارهای آن

 

مدیران API: مدیران API در محیطی امن و مقیاس پذیر بر APIها نظارت میکنند. هدف مدیریت API این است که به سازمانهای منتشر کننده و استفاده کننده ی API اجازه ی نظارت بر چرخه عمر رابط را بدهد و همچنین اطمینان حاصل کند که نیازهای توسعه دهندگان و اپلیکیشن هایی که از API استفاده میکنند تامین شود.

مجوز باز (OAuth): یک استاندارد باز برای تایید اعتبار و مجوز مبتنی بر توکن است. Oauth این امکان را میدهد که اطلاعات اکانت کاربر نهایی توسط سرویس شخص ثالثی مانند فیسبوک بدون افشای رمز ورود، مورد استفاده قرار گیرد. Oauth مانند یک واسطه از طرف کاربر نهایی با استفاده از توکن دسترسی، خدماتی ارائه میدهد که اشتراک گذاری اطلاعات خاصی از اکانت را مجاز میسازد. فرایند گرفتن توکن را یک جریان می نامند.

MFA: احراز هویت چندعامله(MFA) یک سیستم امنیتی است که در آن کاربران باید از حداقل دو عامل که از مبنای واحد نباشند، برای ورود یا سایر تعاملات استفاده کنند.

امنیت لایه انتقال (TLS) یک پروتکل امنیت API است که وظیفه ی آن فراهم آوردن تایید اعتبار، حریم خصوصی و یکپارچگی داده ها بین دو اپلیکیشن در محیط شبکه میباشد. امنیت لایه انتقال گسترده ترین پروتکل امنیتی است که امروزه برای مرورگرهای وب و سایر اپلیکیشن هایی که نیاز به تبادل ایمن داده ها در بستر شبکه دارند، مورد استفاده قرار میگیرد. مانند ارتباطات FTP، VPN، VOIP و …

SAML : SAML یک استاندارد باز برای به اشتراک گذاری اطلاعات ایمنی درمورد هویت، تایید اعتبار و مجوز ها در سیستم های مختلف میباشد. این استاندارد با استفاده از XML برای به اشتراک گذاری داده ها پیاده سازی شده است و چارچوبی را برای اجرای ورود یک باره به سیستم (SSO) و سایر سیستم های وابسته فراهم میکند.

مقاله ای بسیار مفید در مورد تفاوت های SOAP و REST

 

تفاوت های امنیت REST API با امنیت SOAP API ؟

 

همانطور که قبلا گفته شد دو نوع اصلی API عبارتند از: SOAP API و REST API یا RESTful API.

REST APIها نسبت به SOAP APIها مدرنتر هستند درحالیکه SOAP APIها به علت قدیمیتر بودن به طور گسترده تری بکارگرفته شده اند. هر دو نوع APIها داده ها را با استفاده از درخواستها و پاسخهای HTTP نمایش میدهند؛ با اینحال بین فرمتها و ترکیبی که آنها برای انجام این کار استفاده میکنند، تفاوتهای عمده ای وجود دارد. همچنین هر دو API از لایه ی سوکت امنیت (SSL) برای حفاظت از داده ها در طی فرایند انتقال پشتیبانی مینمایند، اما ویژگی های فرعی بین این دو مدل، متفاوت است. بنابراین امنیت در SOAP در مقابل REST  به فرمت و معناشناسی مورد استفاده در هر یک بستگی دارد.

از آنجا که SOAP APIها سابقه ی طولانی تری نسبت به REST API ها دارند، در زمینه ی پیامهای تعاملی برای ملاحظات امنیتی مخصوص، بیشتر توسعه یافته اند. استفاده از SOAP در شرکتهای بزرگ به API اجازه ی بهره برداری از توصیه های W3C و OASIS، به خصوص رمزگذاری و امضای XML و توکن های SAML را میدهد.

SOAP APIها از پروتکل های ساخت داخلی تحت عنوان امنیت API (WS Security) استفاده میکنند. این پروتکل ها مجموعه قوانینی را تعریف میکنند که با محرمانه بودن و احراز هویت هدایت میشوند.

از طرف دیگر REST APIها هیچ الگو یا ویژگی امنیتی خاصی را شامل نمیشوند. علت این امر بیشتر به این خاطر است که API به جای تمرکز بر چگونگی ساخت امنیت و سلامت در پردازش ارتباطات، بر نحوه ی تحویل و مصرف داده ها تمرکز میکند. نباید تصور کرد که اقدامات امنیتی آنها از باکس خارج میشود. بنابراین توسعه دهندگانی که از استقرار، انتقال و الگوهای معماری REST استفاده میکنند باید به پیاده سازی امنیت در کد توجه داشته باشند.

علاوه بر این، در حالیکه WS-ReliableMessaging بررسی خطای داخلی را برای SOAP APIها فراهم میکند، REST APIها هرجا که خطایی اتفاق افتاد باید داده ها را مجدد ارسال کنند.

به هنگام مدیریت داده های حساس مانند حساب های بانکی یا سوابق اعتباری، SOAP میتواند در انتخاب یک مدل API دقت بیشتری داشته باشد. با این حال، قدرت واقعی امنیت ای پی ای به چگونگی اجرای API بستگی دارد. یک REST API که به صورت ایمن ساخته و پیاده سازی شده باشد، از یک SOAP API با طراحی و اجرای ضعیف، ایمنتر خواهد بود.

 

منبع: https://searchapparchitecture.techtarget.com/definition/API-security

منبع منبع

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.