با تکیه بیشتر سازمان ها به اتوماسیون و مقیاسی که برنامه های کاربردی وب و خدمات متصل ارائه می کنند، امنیت رابط برنامه نویسی کاربردی (API) ضروری شده است. تنها در سال گذشته، مهاجمانی که APIهای مشتری را هدف قرار داده اند، ۴۰۰ درصد رشد داشته اند. بنابراین سازمانها باید رویکردی فعال برای ایمن سازی این خدمات اتخاذ کنند.

به گزارش سرویس بین الملل پایگاه خبری عدل البرز به نقل از securityintelligence ، با توجه به ماهیت به سرعت در حال تکامل فناوری API و تعداد فزاینده تهدیدها، دانستن اینکه از کجا و چگونه می توان ایمن سازی API ها را شروع کرد می تواند بسیار دشوار باشد. سازمانهایی مانند Open Web Application Security Project (OWASP) سخت تلاش کردهاند تا رایجترین خطرات امنیتی API را که کسبوکارها باید در اولویت قرار دهند را شناسایی کنند.
لیست به روزرسانی شده از ۱۰ خطر امنیتی حیاتی در برنامههای وب به عنوان یک منبع مهم برای سازمانها جهت درک و رفع آسیبپذیریهای مشترکی که ممکن است در برنامههای وب مورد بهرهبرداری قرار گیرند، مورد استفاده قرار میگیرد. OWASP یک انجمن غیرانتفاعی از هزاران کارمند متعهد می باشد که از طریق تدابیر مختلفی مانند ایجاد چارچوبها، ابزارها و برنامههای آموزشی، امنیت نرمافزار را ترویج میدهند.
هر سال، تهدیدات دیجیتال به طور مداوم در حال تغییر هستند. در نتیجه، فهرست OWASP بهروزرسانیهای بهموقع را بر اساس روند دادههای خاص امنیت API دریافت میکند که به اولویتبندی اقدامات متقابل توسط توسعهدهندگان و متخصصان امنیتی کمک میکند. اخیراً، در سال ۲۰۲۳، OWASP لیست به روز شده خود را از ۱۰ خطر امنیتی برتر API منتشر کرد.
با شروع از پایین لیست، اینها ۱۰ خطر امنیتی اصلی مرتبط با رابطهای برنامهنویسی برنامهها (API) هستند که سازمانها باید در سال ۲۰۲۳ نسبت به آنها آگاهی داشته باشند و اقدامات خاصی را برای کاهش آنها انجام دهند:
۱۰٫ مصرف غیرامن APIها
مصرف غیر امن APIها زمانی اتفاق میافتد که برنامهای نتواند دادههایی را که از APIهای خارجی دریافت میکند تأیید، فیلتر یا پاکسازی کند. این امر می تواند منجر به آسیب پذیری های امنیتی مانند حملات تزریق یا نشت داده شود. از آنجایی که سازمان ها به طور فزاینده ای به API های شخص ثالث برای ارائه عملکردهای حیاتی متکی هستند، اطمینان از مصرف ایمن برای جلوگیری از سوء استفاده مهاجمان از این ادغام ها بسیار مهم تلقی می شود.
استراتژی های کاهش خطر:
تمام داده های دریافتی از API های خارجی را قبل از پردازش یا ذخیره آن ها اعتبارسنجی کنید. این اقدام کمک می کند تا مطمئن شوید که فقط داده های معتبر و ایمن در برنامه شما استفاده می شود.
اعتبار سنجی ورودی را با استفاده از لیستهای مجاز و محدودیتهای نوع داده اجرا کنید تا از پردازش دادههای مضر برنامهتان جلوگیری کنید.
از یک دروازه API ایمن برای فیلتر کردن و نظارت بر درخواستهای API ورودی استفاده کنید و یک لایه محافظتی در برابر ترافیک مخربی که APIهای شما را هدف قرار میدهد، اضافه کنید.
۹٫ مدیریت نامناسب موجودی
مدیریت نامناسب موجودی به فقدان کنترل کافی بر APIهای مورد استفاده یک سازمان مربوط می شود. این امر ممکن است منجر به دسترسی غیرمجاز و افزایش سطوح حمله شود و داده های حساس را در معرض گروه های مخرب قرار دهد. از آنجایی که حجم APIهایی که سازمانها استفاده میکنند، همچنان در حال افزایش می باشد، پیگیری عملکرد، نقاط پایانی و دستورالعملهای دسترسی آنها برای حفاظت کلی از اکوسیستم API شما بسیار مهم می باشد.
استراتژی های کاهش خطر:
فهرستی بهروز از همه APIها در سازمان خود، از جمله هدف، نقاط پایانی و کنترلهای دسترسی، نگهداری کنید. این امر به شما کمک می کند تا شکاف های امنیتی بالقوه را شناسایی کنید و اطمینان حاصل کنید که همه API ها به اندازه کافی ایمن هستند.
به طور مرتب اسناد API را بررسی و به روز کنید تا مطمئن شوید که وضعیت فعلی API های شما را به درستی منعکس می کند. مستندات واضح و دقیق برای توسعه دهندگان و متخصصان امنیتی ضروری می باشد تا API های شما را به طور موثر درک و ایمن کنند.
برای به حداقل رساندن سطح حمله، APIهای استفاده نشده یا منسوخ را غیر فعال کنید. حذف API های غیر ضروری، احتمال کشف و سوء استفاده مهاجمان از نقاط پایانی آسیب پذیر را کاهش می دهد.
۸٫ پیکربندی اشتباه امنیتی
پیکربندی نادرست امنیتی زمانی رخ می دهد که یک API به طور ایمن پیکربندی نشده باشد و آن را در معرض خطرات امنیتی مختلف قرار دهد. نمونههایی از پیکربندیهای نادرست امنیتی شامل استفاده از اعتبارنامههای پیشفرض، عدم توانایی در خاموش کردن ویژگیهای غیر ضروری یا نادیده گرفتن اجرای سریع وصلههای امنیتی می باشد.
استراتژی های کاهش خطر:
پیکربندی ایمن در مراحل اولیه توسعه API های خود را تنظیم کنید.
به طور منظم پیکربندی های API را بررسی و به روز کنید تا مطمئن شوید که آنها به طور مداوم بهترین شیوه های امنیتی را اعمال می کنند.
از ابزارهای خودکار برای شناسایی و اصلاح پیکربندی نادرست امنیتی از طریق نظارت مستمر استفاده کنید.
۷٫ جعل درخواست سمت سرور (SSRF)
جعل درخواست سمت سرور (SSRF) آسیبپذیری می باشد که به مهاجم اجازه میدهد تا درخواستهای سمت سرور را دستکاری کند و به طور بالقوه منجر به دسترسی غیرمجاز به منابع داخلی یا اجرای کد از راه دور شود. این امر می تواند منجر به قرار گرفتن در معرض داده های حساس، اختلال در سیستم های حیاتی یا حتی به خطر افتادن کامل سیستم شود.
استراتژی های کاهش خطر:
ورودی های ارائه شده توسط کاربر در درخواست های سمت سرور را اعتبارسنجی کنید. این امر کمک می کند تا اطمینان حاصل شود که فقط درخواست های قانونی توسط برنامه شما پردازش می شوند و خطر حملات SSRF را کاهش می دهد.
انواع درخواست ها و منابعی را که API می تواند به آنها دسترسی داشته باشد محدود کنید. اجرای کنترل های دسترسی دقیق می تواند به جلوگیری از اقدامات غیرمجاز کمک کند و تأثیر بالقوه حملات SSRF را محدود کند.
اجرای قوانین تقسیم بندی شبکه و فایروال برای محدود کردن دسترسی به سیستم های داخلی. شما میتوانید با جداسازی منابع حساس از APIهای عمومی، احتمال حملات موفق SSRF را کاهش دهید.
۶٫ دسترسی نامحدود به جریان های تجاری حساس
دسترسی نامحدود به جریانهای تجاری حساس زمانی اتفاق میافتد که یک API کنترلهای دسترسی مناسب را پیادهسازی نکند و به کاربران غیرمجاز اجازه انجام عملیات حساس یا دسترسی به دادههای محرمانه را بدهد.
استراتژی های کاهش خطر:
مکانیزم های احراز هویت و مجوز قوی را برای تمام نقاط پایانی API پیاده سازی کنید.
اصل حداقل امتیاز (Principle of Least Privilege) را به کار بگیرید و به کاربران فقط حداقل سطح دسترسی مورد نیاز برای انجام وظایفشان را اعطا کنید.
برای شناسایی و پاسخگویی به حوادث احتمالی امنیتی، به طور منظم گزارش های دسترسی API را بررسی و نظارت کنید.
۵٫ احراز هویت سطح عملکرد نادرست
“احراز هویت سطح عملکرد نادرست” به وضعیتی اشاره دارد که یک کاربر عادی بدون داشتن سطح دسترسی مرتبط میتواند وظایف و عملکردهایی را انجام دهد که باید فقط به مدیران واگذار شود. یعنی یک کاربر عادی به طرز نادرستی توانایی دسترسی و انجام عملیاتهایی را دارد که باید فقط به کاربران با سطح دسترسی مرتبط با آن عملکرد اجازه داده شود. این مشکل معمولاً ناشی از عدم تنظیم صحیح و کامل سیستم احراز هویت و سطح دسترسی کاربران می باشد و میتواند به طور جدی از نظر امنیتی تهدیدی برای سیستم باشد.
استراتژی های کاهش:
از اجرای بررسیهای احراز هویت قوی بر روی همه نقاط پایانی اطمینان حاصل کنید.
از کنترل دسترسی مبتنی بر نقش (RBAC) برای مدیریت مجوزهای کاربر استفاده کنید.
به طور منظم سیاست های کنترل دسترسی را بررسی و به روز کنید.
۴٫ مصرف نامحدود منابع
مصرف منابع نامحدود یا حملات انکار سرویس (DoS) زمانی اتفاق میافتد که مهاجم از یک آسیبپذیری API برای مصرف مقادیر زیادی از منابع سیستم مانند حافظه، CPU یا پهنای باند شبکه سوء استفاده کند. این امر می تواند منجر به تخریب یا در دسترس نبودن کامل سرویس آسیب دیده شود.
استراتژی های کاهش خطر:
نظارت و محدود کردن استفاده از منابع
اجرای محدودیت سرعت برای کنترل تعداد درخواست های مشتریان.
استفاده از حافظه نهان جهت کاهش مصرف منابع و بهبود عملکرد سیستم.
۳٫ احراز هویت سطح ویژگی شیء نقض شده
احراز هویت سطح ویژگی شی نقض شده یک خطر امنیتی می باشد. زمانی رخ می دهد که مهاجم بتواند به ویژگی های یک شی دسترسی داشته باشد یا آن را تغییر دهد که نباید به آن دسترسی داشته باشد. اگر یک API به درستی مجوزهای کاربر را قبل از اعطای دسترسی به ویژگیهای شی تأیید نکند، این اتفاق میافتد.
استراتژی های کاهش خطر:
بررسی های کنترل دسترسی مناسب را برای تمام ویژگی های شی اجرا کنید.
قبل از اعطای دسترسی به خصوصیات شی، مجوزهای کاربر را اعتبارسنجی کنید.
۲٫ احراز هویت نقض شده
مشکلات امنیتی زمانی به وجود می آیند که پروتکل های احراز هویت به اندازه کافی قوی نیستند یا به درستی اجرا نمی شوند. این امر منجر به هموار شدن مسیر برای مهاجمان می شود تا یک API شناسایی نشده را نقض کنند. ضعفهای احراز هویت میتوانند به روشهای مختلفی ظاهر شوند، از جمله شیوههای ایجاد رمز عبور ضعیف، سیستمهای ذخیرهسازی رمز عبور به خطر افتاده و آسیبپذیریها در چارچوب احراز هویت مبتنی بر توکن.
استراتژی های کاهش خطر:
سیاست های رمز عبور قوی را اعمال کنید.
از روش های ذخیره رمز عبور ایمن مانند bcrypt یا Argon2 استفاده کنید.
در صورت امکان، احراز هویت چند عاملی (MFA) را اجرا کنید.
۱. شکستن مجوز در سطح شی (BOLA):
آسیبپذیریهای BOLA معمولاً ناشی از روشهای کدنویسی ناامن هستند، مانند عدم اعتبارسنجی صحیح ورودی کاربر یا بررسی مجوزها قبل از اعطای دسترسی به یک شی. این اتفاق زمانی میافتد که یک API از کنترلهای دسترسی بیش از حد استفاده کند یا منابع API به طور کافی محافظت نشده باشند.
استراتژیهای کاهش خطر:
استفاده از شناسههای تصادفی و یکتا (UUID).
تعیین پروتکلهای قوی احراز هویت.
اعتماد صفر (Zero Trust) به چارچوب امنیتی.
API های خود را ایمن نگه دارید
ایمن سازی API ها نیازمند رویکردی جامع است که همه چیز از احراز هویت و مجوز گرفته تا کنترل دسترسی و مدیریت منابع را پوشش می دهد. با انجام اقدامات لازم برای اطمینان از API خود و اتخاذ بهترین شیوه های امنیتی، می توانید از برنامه ها و داده های خود در برابر حملات احتمالی محافظت کنید و در عین حال از مزایای معماری مبتنی بر API قوی بهره مند شوید.
پایان پیام/





















