WAF چیست؟ و از چه تهدیداتی جلوگیری می کند؟

waf چیست

 WAF چیست؟

یک فایروال برنامه وب یا فایروال وب اپلیکیشن (Web Application Firewall – به اختصار WAF) در لایه 7 در برابر ترافیک مخرب و بدافزاری محافظت می‌کند.
به عبارت دیگر، WAF یکی از ابزارهایی است که مسئول ایمن‌سازی برنامه‌های حیاتی تجاری تحت وب در برابر 10 تهدید اول OWASP، تهدیدات روز صفر، آسیب‌پذیری‌های شناخته شده یا ناشناخته برنامه‌کاربردی و همچنین مجموعه‌ای از دیگر حملاتی است که لایه برنامه را تحت تاثیر قرار می‌دهد.
از آنجایی که سازمان‌ها دستخوش ابتکارات دیجیتالی جدید می‌شوند و سطح حمله را برای فعالسازی کسب‌وکار گسترش می‌دهند، اغلب متوجه می‌شوند که برنامه‌های کاربردی تحت وب و رابط‌های برنامه‌نویسی برنامه‌های کاربردی (Application Programming Interface – به اختصار API) به دلیل آسیب‌پذیری‌های وب سرور، یک پلاگین سرور یا سایر مسائل مورد سوء‌استفاده 10 تهدید اول OWASP قرار می‌گیرند که هدف آنها ایجاد اختلال در کسب‌وکارها می‌باشد.
WAF به ایمن نگه داشتن این برنامه‌های کاربردی تحت وب و محتوایی که به آنها دسترسی دارند، کمک می‌کند.

چرا WAF برای سازمان‌ها حیاتی است؟

تلاش‌ها در حوزه نوآوری‌های دیجیتالی (Digital Innovation – به اختصار DI) که منجر به افزایش استفاده از فناوری‌های کاربردی تحت وب می‌شود، مستلزم تغییری اساسی در شیوه سازمان‌ها در بکارگیری ابزارهای دیجیتالی مربوط به کسب‌وکارها است، به ویژه اگر بخواهند از 10 تهدید اول OWASP جلوگیری کنند.

پیاده‌سازی نوآوری‌های دیجیتالی به صورت موفق چیزی بیش از بکارگیری فناوری شرکت‌هایی نظیر Barracuda و Fortinet است – نیازمند تمرکز بر نیازهای مشتریان و تمایل به پذیرش تغییرات سریع، از جمله پذیرش سریع و اجرای فناوری‌هایی است که به سازمان‌ها کمک می‌کنند تا نیازهای مشتریان را برآورده کنند.

در جریان این حافظت‌ معمولاً از منابع مختلفی همچون Imperva، Nginx، Barracuda و … استفاده می‌شود.

به عنوان مثال، راهکارهای ابر عمومی (Public Cloud) و نرم‌افزار به‌عنوان سرویس (Software-as-a-Service – به اختصار SaaS) می‌توانند تا زمانی که به درستی بکارگرفته می‌شوند و با قواعد امنیتی سخت‌گیرانه نظیر سیستم‌های دفاعی Barracuda یا سایرین در دنیای امنیت سایبری محافظت می‌شوند، به کسب‌وکارها سرعت ‌بخشیده و به سازمان‌ها کمک می‌‌کنند. با این حال، از آنجایی که پذیرش سریع این فناوری‌ها، سرعت عملیات تجاری کسب‌وکارها را افزایش می‌دهند، گاهی اوقات ضعف‌های امنیتی برنامه‌های کاربردی تحت وب و مشکلات OWASP ایجاد می‌شوند و برنامه‌های کاربردی تحت وب را در معرض خطر تهدیدات پنهان موجود در ترافیک اینترنت قرار می‌دهند.

از آنجایی که مشتریان به طور فزاینده‌ای از طریق بکارگیری دستگاه‌های دیجیتالی شخصی خود در سازمان (Bring-Your-Own-Devices – به اختصار BYOD) به برنامه‌های کاربردی تجاری بدون کنترل با VPN دسترسی دارند، سازمان‌ها باید خطرات آن را تشخیص دهند. در این حالت حتی فایروال‌های شبکه نیز می‌توانند آسیب‌پذیر باشند. محصولات امنیتی سنتی برای محافظت از برنامه‌های کاربردی متصل به اینترنت در برابر 10 تهدید اول OWASP و سایر آسیب‌پذیری‌های برنامه موجود در ترافیک شبکه کافی نیستند، حتی چنانچه Barracuda راهکار مناسبی برای برخی از کاربران باشد.

مجموعه قواعد جدیدی مورد نیاز است. سازمان‌هایی که برنامه‌های کاربردی حیاتی را برای کسب‌وکار خود اجرا می‌کنند به ابزارهایی نیاز دارند که لایه 7 شبکه را محافظت کند. WAF راهکاری است که از این برنامه‌ها و داده‌ها محافظت می‌کند.

WAF از چه نوع تهدیداتی جلوگیری می‌کند؟

10 تهدید اول OWASP چیست؟

owaspبرنامه‌های کاربردی تحت وب مدرن به یک فایروال برنامه کاربردی وب (WAF) جامع نیاز دارند تا از برنامه‌های کاربردی مهم در برابر چندین نوع حملات وب و سایر تهدیدات نهفته در ترافیک شبکه نظیر 10 تهدید اول Web Application Security Project – به اختصار OWASP ، که نشان‌دهنده خطرات مهم امنیتی در برنامه‌های کاربردی تحت وب هستند، محافظت کند. 10 تهدید اول OWASP اغلب برای هدف قرار دادن یک برنامه‌های حیاتی مورد استفاده قرار می‌گیرند. 10 تهدید اول OWASP عبارتند از:

حملات از نوع تزریق هنگامی که داده‌های نامعتبر به مفسر (Interpreter) ارسال می‌شود، مهاجم می‌تواند کد مخرب را تزریق کند.
نقض اطلاعات اصالت‌سنجی اگر مکانیسم‌های احراز هویت به درستی پیاده‌سازی نشوند، مهاجمان می‌توانند با بهره‌جویی از  آسیب‌پذیری‌های آنها، به اطلاعات اصالت‌سنجی دست یابند.
افشاء داده‌های حساس و حیاتی از آنجایی که بسیاری از برنامه‌های کاربردی تحت وب و واسط‌های API فاقد امنیت لازم می‌باشند، مهاجمان می‌توانند از اطلاعات حساس حوزه‌های مالی، سلامت و داده‌های شخصی سوءاستفاده کنند.
موجودیت‌های خارجی XML (XXE) بسیاری از پردازنده‌های قدیمی XML موجودیت‌های خارجی را ارزیابی می‌کنند که می‌توان از آنها برای افشای فایل‌های داخلی استفاده کرد.
نقض محدودیت‌های کنترلی و دسترسی هنگامی که محدودیت‌های دسترسی و کنترلی برای کاربران اعمال نمی‌شود، کاربران غیرمجاز می‌توانند به طور بالقوه به فایل‌های محرمانه دسترسی داشته باشند.
پیکربندی نادرست امنیتی پیکربندی پیش‌فرض یا تنظیمات نادرست ad-hoc می‌تواند منجر به آسیب‌پذیری‌هایی ‌شود.
تزریق کد از طریق سایت هنگامی که برنامه‌ای شامل داده‌های غیرقابل اعتماد و بدون اصالت‌سنجی است، نقص‌هایی از نوع XSS رخ می‌دهد که  در هنگام اجرای حملات توسط مهاجمان مورد سوءاستفاده قرار می‌گیرند.
deserialization ناامن منجر به اجرای کد از راه دور شده که می‌تواند برای اجرای حملات استفاده شود.
بکارگیری مؤلفه‌هایی با آسیب‌پذیری‌های شناخته شده مولفه‌ها اغلب با همان امتیازات برنامه‌کاربردی اجرا می‌شوند. در صورت وجود یک آسیب‌پذیری، همه اجزا و برنامه‌های کاربردی ممکن است آلوده شوند.
عدم نظارت و رصد ناکافی لاگ‌ها نظارت و رصد ناکافی لاگ‌ها چنانچه با فناوری واکنش به رویداد ادغام نشود، پروسه‌های ناکافی ایجاد می‌کند.

با این حال، در نظر گرفتن 10 تهدید اول OWASP تنها آغاز راه است. این تهدیدات را به عنوان فهرستی از فراگیرترین خطراتی که سازمان‌ها با آن مواجه می‌شوند، توصیف می‎نمایند.

WAF بایستی ضمن حفظ امنیت در برابر 10 تهدید اول OWASP، مقابله با تهدیدات زیر را نیز فراهم کند:

بات‌ها

برنامه‌هایی که با برنامه‌های کاربردی ما تعامل دارند، اغلب از رفتار انسان تقلید می‌کنند. البته بات‌های غیرمخرب نیز می‌توانند با یک برنامه‌کاربردی جهت بکارگیری در موتورهای جستجو، دستیارهای مجازی و جمع‌آوری محتوا (به عنوان مثال، سایت‌های مقایسه قیمت) تعامل داشته باشند. بات‌های مخرب نیز می‌توانند عملیاتی نظیر وب اسکریپینگ (Web Scraping)، داده کاوی رقابتی، جمع آوری داده‌های شخصی و مالی، تصاحب حساب‌کاربری، کلاهبرداری‌ اینترنتی، تبلیغات دیجیتالی و تراکنش‌های جعلی را انجام دهند.

آپلودهای مخرب

بسیاری از برنامه‌های کاربردی تحت وب به کاربران اجازه می‌دهند محتوای خود را آپلود کنند؛ این محتوا می‌تواند شامل انواع کدهای مخرب باشد.

آسیب‌پذیری‌های ناشناخته

راهکارهای مبتنی بر امضاء (Signature-based Solutions) نمی‌توانند در برابر آسیب‌پذیری‌هایی که به تازگی کشف شده‌اند، محافظت کنند. یک راهکار قوی WAF باید بتواند در برابر تهدیداتی که هیچ امضایی برای آنها وجود ندارد نیز دفاع کند.

 

حملات روز صفر

حملات روز-صفر (Zero-day Attacks)، حملاتی هستند که ضعف‌های امنیتی ناشناخته قبلی یک برنامه را مورد هدف قرار می‌دهند. هنگامی که مهاجم یک آسیب‌پذیری از نوع روز-صفر را کشف می‌کند، می‌تواند از آن جهت بهره‌جویی از سیستم‌هایی استفاده کند که راهکارهای دفاعی مضاعف در آنجا وجود ندارد.

آسیب‌پذیری روز صفر چیست

 

حملات از کاراندازی سرویس

اغلب شبکه‌ای مخرب از کامپیوترها با ارسال درخواست‌های متعدد به تعداد زیادی سیستم به گونه‌ای که قادر به پاسخ‌دهی به کاربران نباشند، سعی در از کاراندازی یک سرویس یا یک برنامه دارند. حملات توزیع‌شده از کاراندازی سرویس (Distributed Denial of Service – به اختصار DDoS) سعی می‌کنند به سادگی سیستم را با ترافیک جعلی مشغول کنند یا ممکن است از ضعف موجود در منطق برنامه‌کاربردی جهت رسیدن به نتیجه مشابه سوءاستفاده کنند.

پیشگیری از حملات ddos

WAF چگوه از API محافظت می‌کند؟

امروزه دیگر همانند گذشته سایت‌ها و صفحات وب تنها با بکارگیری Hypertext Markup Language – به اختصار HTML – طراحی نشده‌اند بلکه صفحات وب بسیار پیچیده‌تر شده است. برنامه‌های کاربردی تحت وب امروزه سرویس‌های حیاتی را با بکارگیری رابط‌های API به جای HTML ساده ارائه داده‌اند که این امکان پردازش داده‌های خام را برای مشتریان فراهم می‌کند و تجاربی غنی‌تر و پاسخگوتری را ارائه می‌دهند. این رابط‌های API همچنین از برنامه‌های کاربردی موبایل که کاربران به آن‌ها نیاز دارند، پشتیبانی می‌کنند. بنابراین به یک WAF معتبر که توسط شرکت‌هایی نظیر Fortinet ،Barracuda یا سایر سازندگان، ساخته شده جهت محافظت، نیاز دارند تا از آنها در برابر 10 تهدید اول OWASP نظیر آسیب‌پذیری‌های ناشناخته و سایر مواردی که به دنبال استفاده از ترافیک اینترنت، افزونه سرور یا سایر آسیب‌پذیری‌ها هستند، محافظت کنند.

با در اختیار قرار دادن حجم زیادی از داده‌های برنامه‌های کاربردی به Client، مهاجم راهی برای سوءاستفاده از قواعد API می‌یابد، اگر شرکت‌های ارائه دهنده WAF مانند Barracuda، AWS یا Cloudflare وجود نداشته باشند، امکان این بهره‌جویی قطعاً افزایش می‌یابد.

برنامه‌های کاربردی تحت وب سنتی

برنامه‌های کاربردی مبتنی بر API بکارگیری WAF جهت انطباق و سازگاری

در دسترس قرار دادن داده‌های مربوط به برنامه‌های کاربردی تحت وب به برنامه‌ها، اغلب با الزاماتی جهت برقراری سازگاری و انطباق همراه است. راهکارهای WAF به سازمان‌ها کمک می‌کنند تا قواعد انطباق و سازگاری را نیز رعایت کنند، صرف‌نظر از اینکه ارائه‌دهنده این خدمات  AWS، Barracuda، Imperva یا هر سازنده دیگری باشد، برقراری انطباق و سازگاری باید در اولویت باشد.

به عنوان مثال، Payment Card Industry Data Security Standard – به اختصار PCI DSS، مجموعه ای از استانداردهای امنیتی را برای سازمان‌هایی که کارت‌های اعتباری را مدیریت می‌کنند، تعریف می‌کند که باید از آنها پیروی کنند. PCI 6.6 به طور خاص اغلب هنگام بحث درباره فناوری‌های WAF طراحی شده و برای حفظ امنیت در ترافیک وب و تجهیزات مربوطه مورد استفاده قرار می‌گیرد.

این استاندارد مستلزم بازرسی ترافیک برنامه‌های کاربردی تحت وب است که با داده‌های کارت تعامل دارند و به دو روش قابل پیاده‌سازی است: بررسی کد برنامه تحت وب (که می‌تواند منجر به کاهش سرعت شود) یا استقرار WAF بین مشتری و برنامه تحت وب. این خدمات توسط چندین ارائه دهنده بزرگ مانند Fortinet، Cloudflare و Barracuda ارائه می‌شود.

در دنیایی که انتظار می‌رود سازمان‌ها به‌طور مکرر و سریع تغییرات اعمال شده در کدها را در حین پذیرش متدولوژی‌های DevOps اعمال کنند، اغلب یک فایروال وب اپلیکیشن قوی (WAF) راهکار بهتری برای رعایت این نوع قواعد انطباقی خواهد بود و در عین حال از سازمان‌ها در برابر 10 تهدید اول OWASP محافظت می‌کند.

قابلیت‌های پیشرفته WAF

سازمان‌ها همچنین باید با بگارگیری WAF مربوط به برندهایی نظیر Fortinet، Barracuda یا Cloudflare از داده‌ها در برابر تهدیدات OWASP مدرن محافظت کنند و در عین حال هرگونه ناسازگاری را با آنچه کاربر نهایی هنگام ارتباط با یک برنامه کاربردی و ترافیک داده آن تجربه می‌کند به حداقل ‌رسانند.

تجارب ناامیدکننده تهدیدات OWASP که معمولاً مشتریان با آن سروکار دارند شامل مسدودسازی مواردی است که به غلط مخرب تشخیص داده شده (False Positive) یا پیمایش بیش از حد درخواست‌های CAPTCHA برای اثبات احراز هویت کاربران است. البته قابلیت‌های پیشرفته فایروال برنامه‌های تحت وب که در ادامه شرح می‌دهیم، می‌توانند تجربیات خوبی را برای مشتریان فراهم کنند:

یادگیری ماشین

فناوری‌های سنتی بکارگرفته شده در برنامه‌های کاربردی تحت وب نیاز به تنظیم پارامترها به صورت دستی دارند و مستعد تشخیص نادرست (False Positive) در نتایج هستند. تنظیم مداوم برنامه‌های کاربردی در زمان اعمال تغییرات و اصلاح موارد نادرست تشخیص داده شده، حجم کاری ادمین (Admin) و سایر اعضاء را در تیم‌های امنیتی افزایش می‌دهد.

این در حالی است که بکارگیری الگوریتم‌های یادگیری ماشین در فایروال برنامه‌های تحت وب که کوکی‌ها را بررسی می‌کنند، می‌تواند با مدل‌سازی خودکار رفتار واقعی برنامه‌های تحت وب، این سناریو را تغییر دهد. رفتار کاربران را می‌توان با تحلیل کوکی‌های آنها تقریب زد. علاوه بر این، با به‌روزرسانی خودکار آن مدل با تکامل برنامه تحت وب، تیم‌های امنیتی و سایر افراد در بخش فناوری اطلاعات زمان کمتری را صرف تنظیم دستی WAF بر اساس ترافیک و ایجاد استثنائات بر اساس موارد نادرست تشخیص داده شده، می‌کنند.

قابلیت گزارش‌گیری پیشرفته

صرفاً مسدودسازی یک سایت یا برنامه جهت افزایش امنیت برنامه و بی‌اثرسازی تاثیرات مخرب تهدیدات OWASP کافی نیست – سازمان‌ها به جزئیات رویدادهایی که فایروال برنامه‌های تحت وب (WAF) رصد نموده و می‌تواند ارائه دهد، نیاز دارند. گزارش‌های حمله باید شامل اطلاعات مهم و مورد نیاز تحلیل‌گران مرکز عملیات امنیتی (Security Operation Center – به اختصار SOC) باشند؛ اطلاعاتی نظیر کدهای بدنه HTTP (Body)، هرگونه کوکی قابل‌اجرا و نشانه‌های واضحی در خصوص اینکه بر چه مبنایی برخی قواعد امنیتی درخواست برنامه را مسدود نموده‌ است.

قابلیت گزارش‌گیری پیشرفته

رابط API برای سازگاری با WAF

یک راهکار پیشرفته WAF علاوه بر محافظت از رابط‌های API مربوط به برنامه‌های کاربردی تجاری متصل به اینترنت، باید رابط‌های API اختصاصی برای مدیریت خود WAF را نیز در اختیار داشته باشد.

برای مطالعه بیشتر در رابطه با WAF و آشنایی با انواع آن پیشنهاد می شود که مقاله تفاوت انواع WAF در چیست؟ را مطالعه نمایید.