گذشته نگر
مقیاس، ترکیب و ترکیب تهدیدات سایبری برای برنامهها به سرعت در حال تغییر است. سالهاست که کاربران با استفاده از مرورگرهای وب محبوب از طریق اینترنت به برنامههای کاربردی وب دسترسی پیدا کردهاند. پشتیبانی از 2-5 مرورگر وب در هر زمان ضروری بود و مجموعه استانداردها برای توسعه و آزمایش برنامه های کاربردی وب کاملاً محدود بود. به عنوان مثال، تقریباً تمام پایگاه های داده با استفاده از SQL ساخته شده اند. متأسفانه، پس از مدت کوتاهی، هکرها یاد گرفتند که از برنامه های کاربردی وب برای سرقت، حذف یا تغییر داده ها استفاده کنند. آنها با استفاده از تکنیکهای مختلف، از جمله فریب کاربران برنامه، تزریق و اجرای کد از راه دور، به دسترسی غیرقانونی و سوء استفاده از قابلیتهای برنامهها دست یافتند. به زودی، ابزارهای امنیتی برنامه های کاربردی وب تجاری به نام Web Application Firewalls (WAFs) به بازار آمدند و جامعه با ایجاد یک پروژه امنیتی برنامه وب باز، پروژه Open Web Application Security Project (OWASP)، برای تعریف و حفظ استانداردها و متدولوژی های توسعه پاسخ داد. برنامه های کاربردی امن
حفاظت برنامه پایه
علاوه بر این، عملکرد WAF باید سایر حملات متداول روی برنامههای وب، از جمله جعل درخواست بین سایتی (CSRF)، کلیک جک، حذف وب، و گنجاندن فایل (RFI/LFI) را در نظر بگیرد.
تهدیدها و چالش ها برای تضمین امنیت برنامه های کاربردی مدرن
امروزه همه برنامه ها در نسخه شبکه پیاده سازی نمی شوند. برنامههای ابری، برنامههای موبایل، APIها و در جدیدترین معماریها، حتی عملکردهای نرمافزاری سفارشی وجود دارد. همه این نوع برنامهها باید همزمان با ایجاد، تغییر و پردازش دادههای ما هماهنگ و کنترل شوند. با ظهور فناوریها و پارادایمهای جدید، پیچیدگیها و چالشهای جدیدی در تمام مراحل چرخه حیات برنامه به وجود میآیند. این شامل یکپارچه سازی توسعه و عملیات (DevOps)، کانتینرها، اینترنت اشیا (IoT)، ابزارهای منبع باز، API ها و موارد دیگر است.
استقرار توزیع شده برنامهها و تنوع فناوریها، چالشهای پیچیده و پیچیدهای را نه تنها برای متخصصان امنیت اطلاعات، بلکه برای فروشندگان راهحلهای امنیتی که دیگر نمیتوانند به یک رویکرد واحد تکیه کنند، ایجاد میکند. اقدامات امنیتی برنامه باید ویژگیهای تجاری آنها را در نظر بگیرد تا از مثبت کاذب و اختلال در کیفیت خدمات برای کاربران جلوگیری شود.
هدف نهایی هکرها معمولاً یا سرقت داده ها یا ایجاد اختلال در دسترسی به خدمات است. مهاجمان نیز از تکامل تکنولوژیک سود می برند. اول، توسعه فناوری های جدید شکاف ها و آسیب پذیری های بالقوه بیشتری ایجاد می کند. ثانیا، آنها ابزار و دانش بیشتری برای دور زدن اقدامات امنیتی سنتی دارند. این به اصطلاح "سطح حمله" و قرار گرفتن سازمان ها در معرض خطرات جدید را تا حد زیادی افزایش می دهد. سیاست های امنیتی باید به طور مداوم در پاسخ به تغییرات در فناوری و برنامه ها تغییر کند.
بنابراین، برنامههای کاربردی باید در برابر انواع روزافزون روشها و منابع حمله محافظت شوند و حملات خودکار باید در زمان واقعی بر اساس تصمیمات آگاهانه مقابله شوند. نتیجه افزایش هزینه های تراکنش و کار دستی، همراه با وضعیت امنیتی ضعیف است.
وظیفه شماره 1: مدیریت ربات ها
بیش از 60 درصد از ترافیک اینترنت توسط ربات ها تولید می شود که نیمی از آن ترافیک "بد" است.
رباتها این کار را آسان نمیکنند و میتوانند رفتار کاربران واقعی را تقلید کنند، از CAPTCHA و سایر موانع عبور کنند. علاوه بر این، در مورد حملات با استفاده از آدرس های IP پویا، حفاظت مبتنی بر فیلتر آدرس IP بی اثر می شود. اغلب، ابزارهای توسعه منبع باز (به عنوان مثال، Phantom JS) که می توانند جاوا اسکریپت سمت سرویس گیرنده را مدیریت کنند، برای راه اندازی حملات brute-force، حملات پر کردن اعتبار، حملات DDoS و حملات ربات خودکار استفاده می شوند.
برای مدیریت موثر ترافیک ربات، شناسایی منحصر به فرد منبع آن (مانند اثر انگشت) مورد نیاز است. از آنجایی که یک حمله ربات چندین رکورد ایجاد می کند، اثر انگشت آن به آن اجازه می دهد تا فعالیت های مشکوک را شناسایی کند و امتیازاتی را به آن اختصاص دهد، که بر اساس آن، سیستم حفاظت برنامه تصمیمی آگاهانه - بلوک/اجازه - با حداقل نرخ مثبت کاذب می گیرد.
چالش شماره 2: محافظت از API
بسیاری از برنامهها اطلاعات و دادهها را از سرویسهایی که با آنها در تعامل هستند از طریق API جمعآوری میکنند. هنگام انتقال داده های حساس از طریق API ها، بیش از 50 درصد سازمان ها API ها را برای شناسایی حملات سایبری تایید نمی کنند و ایمن نمی کنند.
نمونه هایی از استفاده از API:
- ادغام اینترنت اشیا (IoT).
- ارتباط ماشین با ماشین
- محیط های بدون سرور
- نرم افزار موبایل
- برنامه های کاربردی رویداد محور
آسیبپذیریهای API مشابه آسیبپذیریهای برنامهها هستند و شامل تزریق، حملات پروتکل، دستکاری پارامترها، تغییر مسیرها و حملات ربات میشوند. دروازههای اختصاصی API به اطمینان از سازگاری بین سرویسهای برنامهای که از طریق API در تعامل هستند کمک میکنند. با این حال، آنها مانند یک قوطی WAF امنیت برنامههای کاربردی سرتاسری را با ابزارهای امنیتی ضروری مانند تجزیه هدر HTTP، لیست کنترل دسترسی لایه ۷ (ACL)، تجزیه و بازرسی محموله JSON/XML و محافظت در برابر همه آسیبپذیریها ارائه نمیکنند. لیست 7 برتر OWASP. این با بررسی مقادیر کلیدی API با استفاده از مدل های مثبت و منفی به دست می آید.
چالش شماره 3: انکار خدمات
یک بردار حمله قدیمی، انکار سرویس (DoS)، همچنان به اثبات اثربخشی خود در حمله به برنامهها ادامه میدهد. مهاجمان طیف وسیعی از تکنیکهای موفق را برای ایجاد اختلال در سرویسهای برنامه دارند، از جمله سیلهای HTTP یا HTTPS، حملات کم و آهسته (مانند SlowLoris، LOIC، Torshammer)، حملات با استفاده از آدرسهای IP پویا، سرریز بافر، حملات brute force و بسیاری دیگر. . با توسعه اینترنت اشیا و متعاقب آن ظهور بات نت های اینترنت اشیا، حملات به برنامه ها به کانون اصلی حملات DDoS تبدیل شده است. اکثر WAF های حالت دار فقط می توانند مقدار محدودی بار را تحمل کنند. با این حال، آنها می توانند جریان های ترافیک HTTP/S را بررسی کرده و ترافیک حمله و اتصالات مخرب را حذف کنند. پس از شناسایی یک حمله، عبور مجدد از این ترافیک هیچ فایده ای ندارد. از آنجایی که ظرفیت WAF برای دفع حملات محدود است، یک راه حل اضافی در محیط شبکه برای مسدود کردن خودکار بسته های "بد" بعدی مورد نیاز است. برای این سناریوی امنیتی، هر دو راه حل باید بتوانند با یکدیگر برای تبادل اطلاعات در مورد حملات ارتباط برقرار کنند.
شکل 1. سازماندهی حفاظت جامع شبکه و برنامه با استفاده از مثال راه حل های Radware
چالش شماره 4: حفاظت مستمر
برنامه ها اغلب تغییر می کنند. روشهای توسعه و پیادهسازی مانند بهروزرسانیهای متحرک به این معنی است که تغییرات بدون دخالت یا کنترل انسان رخ میدهند. در چنین محیطهای پویایی، حفظ سیاستهای امنیتی به اندازه کافی بدون تعداد زیادی از موارد مثبت کاذب دشوار است. برنامه های تلفن همراه بسیار بیشتر از برنامه های وب به روز می شوند. برنامه های شخص ثالث ممکن است بدون اطلاع شما تغییر کنند. برخی از سازمانها به دنبال کنترل و دید بیشتر برای حفظ خطرات احتمالی هستند. با این حال، این همیشه قابل دستیابی نیست و حفاظت از برنامه قابل اعتماد باید از قدرت یادگیری ماشین برای محاسبه و تجسم منابع موجود، تجزیه و تحلیل تهدیدهای بالقوه، و ایجاد و بهینه سازی سیاست های امنیتی در صورت تغییرات برنامه استفاده کند.
یافته ها
از آنجایی که برنامه ها نقش مهمی را در زندگی روزمره ایفا می کنند، به هدف اصلی هکرها تبدیل می شوند. جوایز بالقوه برای مجرمان و ضررهای احتمالی برای مشاغل بسیار زیاد است. با توجه به تعداد و تنوع برنامه ها و تهدیدها، نمی توان پیچیدگی کار امنیتی برنامه را اغراق کرد.
خوشبختانه ما در برهه ای از زمان هستیم که هوش مصنوعی می تواند به کمک ما بیاید. الگوریتمهای مبتنی بر یادگیری ماشین، حفاظت تطبیقی و بلادرنگ را در برابر پیشرفتهترین تهدیدات سایبری که برنامههای کاربردی را هدف قرار میدهند، ارائه میکنند. آنها همچنین بهطور خودکار سیاستهای امنیتی را برای محافظت از برنامههای کاربردی وب، موبایل، و ابری - و APIها - بدون موارد مثبت کاذب بهروزرسانی میکنند.
پیشبینی با قطعیت دشوار است که نسل بعدی تهدیدات سایبری برنامههای کاربردی (احتمالاً مبتنی بر یادگیری ماشینی) چه خواهد بود. اما سازمانها مطمئناً میتوانند برای محافظت از دادههای مشتری، حفاظت از مالکیت معنوی، و اطمینان از در دسترس بودن خدمات با مزایای تجاری بزرگ، گامهایی بردارند.
رویکردها و روشهای مؤثر برای تضمین امنیت برنامهها، انواع و بردارهای اصلی حملات، مناطق خطر و شکافها در حفاظت سایبری برنامههای کاربردی وب، و همچنین تجربه جهانی و بهترین شیوهها در مطالعه و گزارش Radware ارائه شده است.
منبع: www.habr.com