-
ده آسیب پذیری بحرانی امنیت API از منظر OWASP
APIهامعمولا توابع مدیریت کننده شناسه های اشیا را در معرض دید قرار داده و سطح حمله 1گسترده ای را برای نقض کنترل دسترسی ایجاد می نمایند.کنترل های مجوزدهی در سطح اشیا بایستی در کلیه توابعی که با گرفتن ورودی از کاربر به منابع داده دسترسی دارند پیاده سازی شود. مکانیزم هایاحرازهویت غالبا به درستی پیاده سازی نشده و سبب دسترسی مهاجمین به توکن هایاحرازهویت و ربایش موقت یا دائمی هویت سایر کاربران با استفاده از نقایص این مکانیزم هامی شوند. نقض توانایی سیستم در شناسایی کلاینت یا کاربر، منجر به نقض امنیت API خواهد شد . بابکارگیری سرویس های عمومی API ،توسعه دهندگان عمال تمامی ویژگی های اشیا را بدون درنظر گرفتن حساسیت تک تک آنها و صرفا با تکیه بر فیلترینگ داده پیش از نمایش به کاربر، توسط کالینت، در معرض دید عموم قرار می دهند. معمولا API هاهیچ محد ودیتی بر اندازه یا تعداد منابع درخواستی توسط کلاینت یا کاربر اعمال نمی نمایند.این موضوع نه تنها با تاثیرگذاری منفی بر عملکرد سرور API می تواندمنجر به حمله رد سرویس ( DoS)شود، بلکه دررا برای نقض احرازهویت از طریق حمالتی نظیر Force Brute نیز باز می گذارد. مکانیزمهای پیچیده کنترل دسترسی با سلسله مراتب، گروه هاو نقش های متفاوت و مرز نامشخص بین توابع عادی و مدیریتی سبب بروز نقایص مجوزدهی می شوند.با بهره برداری از این آسیب پذیریهامهاجمین به منابع سایرکاربران و یا توابع مدیریتی دست خواهند یافت. پیونددادن داده ارائه شده توسط کلاینت (نظیر اشیا JSON )با مدل هایداده بدون فیلترکردن مناسب آنها بر مبنای یک لیست سفید می تواندمنجر به تخصیص جمعی شود. با تشخیص ویژگی هایاشیا، کاوش سایر توابع، خواندن مستندات یا ارائه ویژگی هایاضافی بر ایاشیا در بدنه درخواست ها،مهاجم می تواندویژگی هایی از اشیا که برای وی مجاز نیست را دستکاری نماید. پیکربندیامنیتی نادرست پیامدی از بکارگیری پیکربندی ناایمن پیشفرض، پیکربندی ناقص یا غیرمتمرکز، فضای ذخیره سازی ابری باز و م حفاظت نشده، سرایندهای HTTP با پیکربندی نادرست، متدهای غیرضروری HTTP ، خط مشی های سهل انگارانه برای اشتراک گذاری منابع متقابل ( CORS)و پیامهای خطای تفصیلی و مشروح میباشد. آسیب پذیریهای مبتنی بر تزریق نظیر SQL ،NoSQL ،تزریق دستور و ... زمانی رخ می دهندکه داده ی نامطمئن بعنوان بخشی از یک دستور یا پرس و جو به مفسر تحویل داده شود. این داده مخرب می تواندمفسر را وادار به اجرای دستوری ناخواسته یا دسترسی غیرمجاز به داده هانما ید. APIهامعموال توابع بیشتری را نسبت به وب اپلیکیشن های سنتی در معرض دید قرار می دهندکه این موضوع اهمیت مستندسازی مناسب و بروز را دوچندان می نماید.داشتن فهرستی از میزبان هاو نسخه های بکارگرفته شده APIنقش مهمی در رفع آسیب پذیریهایمرتبط با نسخ قدیمی API و توابع مرتبط با debugging ایفا می کند پایشو نظارت ناکافی در کنار عدم وجود فرایند پاسخ دهی به وقایع 2یا پیاده سازی ناقص آن به مهاجم امکان تثبیت دسترسی، حمله به سایر سیستم هاو استخراج/نابودسازی داده هارا می دهد.مطالعات انجام شده بیانگر آن است که زمان آگاهی یافتن از نفوذ انجام شده به طور میانگین بیش از 200 روز پس از انجام نفوذ بوده و تشخیص آن نیز بجای آنکه توسط فرایندهای درونی پایش و نظارت باشد توسط شرکت های ثالث صورت می پذیرد.