همانطور که می دانید حملات علیه برنامه های وب همواره وجود داشته و یک بحث انکار نشدنی است. امروزه مشاغل به طور چشمگیری در تلاش اند تا زمان برنامه های خود را برای بازاریابی کاهش دهند و با ایجاد امنیت از وقوع آسیب به کسب و کار خود جلوگیری کنند. یکی از لایه های امنیتی بسیار مهم که در لایه هفتم شبکه بین فایروال اصلی و وب سرور قرار می گیرد، WAF نام دارد.همین امر باعث می شود تا WAF به ابزاری حیاتی در کمک به مشاغل برای حفظ امنیت اطلاعات محرمانه و حساس تبدیل شود. در این مقاله به توضیحاتی پیرامون WAF خواهیم پرداخت و خواهیم دید که WAF چیست و چگونه عمل می کند
فهرست عناوین
- ۱ WAF چیست
- ۲ تاریخچه WAF چیست
- ۳ ساختار اصلی کارکرد WAF چیست
- ۴ انواع مختلف WAF چیست
- ۵ کاربردهای WAF چیست
- ۶ پروفایل برنامه (application profiling) در WAF چیست
- ۷ امضای لیست سیاه یا Signing a blacklist در WAF چیست
- ۸ موتور همبستگی یا Correlation engine در WAF چیست
- ۹ روش حفاظت ازDDOS در WAF چیست
- ۱۰ مزیت اصلی استفاده از WAF چیست
- ۱۱ سخن پایانی
WAF چیست
WAF یک سرواژه و مخفف عبارت web application firewall است که به اینصورت خلاصه شده ات و معنای آن فایروال برنامه های وب است.
اگر بخواهیم به این سوال پاسخ دهیم که کار اصلی WAF چیست میتوانیم بگوییم: «از برنامههای وب، رابطهای برنامهنویسی برنامه (API) و سرورها در برابر ترافیک اینترنتی مخرب محافظت میکند تا از نقض داده جلوگیری کند.»
این قابلیت ترافیک ورودی و خروجی را که به سرورهای وب سایت ضربه می زند فیلتر می کند و نظارت می کند تا از برنامه های وب در برابر بازدیدکنندگان مخرب محافظت شود.
سازمان های بسیار فراوانی به برنامه های وب متصل می شوند تا با شرکای خود ارتباط برقرار کنند و کارمندان را قادر به کار با حداکثر بازدهی ممکن کنند. با این حال، نرم افزارها و برنامه های مورد استفاده آنها یکی از بزرگ ترین تهدیدات این سازمان ها به شمار می آیند، زیرا مجرمان اینترنتی از تکنیک های پیچیده و فراوانی برای هدف قرار دادن نقاط ضعف و همینطور آسیب پذیری های آنها استفاده می کنند. این امر باعث می شود که کاربرد اینگونه برنامه ها به شدت افزایش یابد.
WAF در واقع نوعی فایروال است که با ورود و خروج از شبکه تجاری، ترافیک را بازرسی می کند تا تلاش کند از حملاتی که کد آسیب پذیر را هدف قرار می دهد جلوگیری و محافظت کند. استفاده از WAF در مواجهه با حملات مجازی پیچیده که آسیب پذیری های کد را قبل از اینکه سازمان ها حتی از وجود آنها مطلع شوند رفع نماید، یک گزینه ایده آل و بسیار سودمند تلقی می گردد.
بعلاوه، هر چه برنامه های وب پیچیده تر می شوند، ترافیکی که از طریق پروتکل های HTTP و HTTPS از سطح شبکه منتقل می شود بیشتر شده و کنترل آنها دشوار تر می شود. پس نیاز به برنامه ای که از کار کنترل این ترافیک را انجام داده و از ایجاد ترافیک مخرب جلوگیری کند بیشتر خواهد شد. اجازه دهید با هم به بررسی این موضوع بپردازیم که فایروال برنامه های وب اولین بار از کجا ایجاد شد و تاریخچه شکل گیری WAF چیست
تاریخچه WAF چیست
یک فایروال محیطی سنتی، فقط درگاه های مشترک (مانند 80 و 443) را باز می کند تا دسترسی کاربر و تعامل با برنامه وب را امکانپ ذیر کند، اما به عنوان مثال توانایی جلوگیری از حملاتی مانند نفوذ با وارد کردن کد های SQL یا همان SQL Injection را ندارد. همین نیاز باعث شد تا برنامه هایی مانند WAP ها ایجاد شوند و وارد عرصه حفاظت و امنیت کردند.
در دهه ۹۰، WAF ها به عنوان یک فیلتر در مقابل یک برنامه وب برای تفسیر، بازرسی و نظارت بر ترافیک ورودی HTTP برای حملات احتمالی و فعالیت های مخرب که ممکن بود باعث آسیب رساندن، پایین بردن یا سرقت اطلاعات حساس شوند، تولید شدند. هدف آنها محافظت در برابر حملات متقابل سایت، برنامهنویسی متقابل سایت (XSS)، درج پرونده و تزریق SQL و سایر حملات است.
WAF می تواند برای محافظت از یک برنامه وب خاص یا چندین برنامه طراحی شود و بر اساس مجموعه قوانینی که به آنها سیاست نیز گفته می شود، عمل می کند که برای فیلتر کردن حملات معمول استفاده می شود.
بسیاری از سرویس های WAF خارجی یک مجموعه قوانین پیش فرض ارائه می دهند که آنها را به صورت دوره ای به روزرسانی می کنند، اما کاربران باید مجموعه قوانین خود را متناسب با نیاز های تجارت خود اصلاح کنند.
ساختار اصلی کارکرد WAF چیست
WAF درخواست های پروتکل انتقال متن (HTTP) را تجزیه و تحلیل می کند و مجموعه ای از قوانین را اعمال می کند که مشخص می کند چه قسمت هایی از آن مکالمه سالم هستند و چه قسمت هایی مخرب!
بخش های اصلی مکالمات HTTP را که WAF تجزیه و تحلیل می کند درخواست های GET و POST تشکیل می دهند. درخواست های GET برای بازیابی داده ها از سرور و درخواست های POST برای ارسال داده ها به یک سرور برای تغییر وضعیت آن استفاده می شود. در واقع WAF با مسدود کردن، فیلتر کردن و نظارت بر ترافیک مخرب بین برنامه وب و اینترنت، از برنامه های وب محافظت می کند. همچنین از خروج داده های غیر مجاز از برنامه وب جلوگیری می کند.
WAF Security به عنوان یک پروکسی معکوس عمل می کند که در بالای برنامه قرار دارد تا عملکرد آن را افزایش دهد و از آن در برابر ترافیک بد محافظت کند. انواع مختلفی از WAF وجود دارد که بسته به نیاز شبکه سازمان، به عنوان سرویس ابری، در یک دستگاه سختافزاری یا به صورت قالب نرمافزاری در دسترس قرار گرفته اند و از آنها استفاده می شود.
WAF انواع خاصی از ترافیک و حملات را هدف قرار می دهد و این کار را با سیاست هایی انجام میدهد که انواع ترافیک و رفتار، خلأهای احتمالی، مشکلات تعادل دهنده بار و آسیب پذیری های شناخته شده را برای مراقبت از شبکه شناسایی کرده و از آن ها مراقبت کند. اما وقتی که رفتار مخربی شناسایی شد رفتار WAF چیست و چه کاری را انجام خواهد داد!؟
وقتی فعالیت یا رفتار مخرب شناسایی شد، WAF مجموعهای از اقدامات بعدی را تعیین می کند که برای مقابله یا جلوگیری از حمله انجام میشود. یک WAF همچنین شبکه هایی را برای درخواست های HTTP ورودی که غیرمعمول هستند اسکن می کند. WAF های پیشرفته می توانند یک درخواست را به چالش بکشند و اثبات کنند که این درخواست توسط شخص قانونی به جای ربات ارسال شده است. WAF بلافاصله پس از ورود ترافیکی که تصور می شود جعلی است، مانع انتشار آن شده و از آن جلوگیری میکند تا از پیشرفت ربات ها یا بدافزار های احتمالی مضر جلوگیری کند.
اجازه دهید تا به این موضوع بپردازیم که انواع مختلف WAF چیست و چه نوع WAF هایی در دسترس ما قرار دارند که می توانیم از آنها استفاده کنیم.
انواع مختلف WAF چیست
WAF ها می توانند بر روی یک مدل امنیتی منفی (یک لیست سیاه) یا یک مدل امنیتی مثبت (یک لیست سفید) کار کنند. وقتی WAF در لیست سیاه فعالیت می کند، از حملات شناخته شده محافظت می کند و دسترسی به محتوای مخرب را رد میکند. هنگامی که در لیست سفید کار می کند، فقط ترافیک از پیش تأیید شده را می پذیرد و به جای یافتن ایرادات به دنبال بررسی ترافیک مثبت است و هر چیزی غیر از آن رد خواهد شد.
بسیاری از WAF ها یک مدل امنیتی ترکیبی را برای استفاده از مزایای هر دو مدل و کاهش اشکالات آنها ارائه میدهند. تا آنجا که به پیاده سازی مربوط می شود، فایروال های برنامه وب می توانند یکی از اشکال زیر باشند:
مبتنی بر شبکه
این مورد که تأخیر را از زمان نصب محلی آن به حداقل می رساند، اما یک گزینه گران قیمت است زیرا مبتنی بر سختافزار است که مستلزم ذخیره سازی و نگهداری است و نیاز به همه تخصص های امنیتی داخلی دارد.
مبتنی بر سرور
هنگامی که یک WAF در سرور ادغام می شود که می تواند باعث افزایش مصرف منابع سرور محلی، پیچیدگی پیاده سازی و همینطور هزینه های نگهداری شود. این نوع از WAF به عنوان WAF های نسل بعدی نیز شناخته می شوند.
مبتنی بر اَبر
این نوع از WAF با کمترین هزینه در ابتدا قابل اجرا است. WAF های مبتنی بر ابر بهعنوان پروکسی معکوس عمل می کنند. ارائه دهندگان مراقبت از به روزرسانی های لازم را برای محافظت در برابر جدیدترین تهدید ها بدون کار اضافی یا هزینه برای صاحب برنامه وب انجام می دهند. با این حال، اگر مالک برنامه بخواهد هر قانون خاص و سفارشی یا محافظت خاصی داشته باشد، WAF می تواند این کار را برای او انجام دهد و شخصی سازی امکان پذیر خواهد بود.
درون برنامه (in Schedule)
این نوع از WAF درون برنامه قرار دارد و متن کامل برنامه را دارد. این امر نیاز به پیکربندی و نگهداری را برطرف می کند و مانند سایر انواع WAF مثبت کاذب ایجاد نمی کند.
WAF ها را می توان برای برنامه های خاص سفارشی کرد؛ البته باید در نظر داشته باشید که با هر اصلاح برنامه ای که انجام می دهید، به تعمیر و نگهداری نیاز خواهید داشت.
کاربردهای WAF چیست
WAF نقاط ضعف موجود در برنامههای وب را که ممکن است یک هکر بتواند از آنها استفاده کند، بررسی خواهد کرد. هنگامی که یکی از این موارد را کشف می کند، به طور خودکار راه های یافتن آنها را که هکر های احتمالی ممکن است به آنها دسترسی پیداکنند، مسدود می نماید و از این دسترسی ها جلوگیری میکند و بلافاصله کار ترمیم آن را شروع می کند.
در نتیجه، WAF ها باید همیشه به روز باشند تا اطمینان حاصل شود که می توانند آسیب پذیری های کد جدید را شناسایی کرده و از تهدیدات ناشناخته قبلی جلوگیری کنند. خودکار سازی برای موفقیت WAF هایی که از مشاغل محافظت می کنند بسیار مهم است زیرا فضای تهدید پیچیده تر و پیچیده تر می شود.
از آنجا که WAF می تواند ترافیک قانونی را تشخیص دهد، می تواند از آن برای کشف نقاط ضعف در دفاعی امنیتی سازمان نیز استفاده شود. این قابلیت امکان را فراهم می کند که WAF آسیب پذیری های موجود را کشف و ترمیم کرده و آزمایش های امنیتی را روی برنامه های وب سازمان انجام دهد.
WAF همچنین به محافظت از مشاغل در برابر طیف گستردهای از تهدیدات امنیتی پیشرفته، مانند موارد زیر کمک میکند:
حملات برنامهنویسی متقابل سایت (XSS)
یک حمله XSS به یان صورت خواهد بود که مهاجم مخرب با شکاف ها و خلا های موجود در امنیت یک برنامه وب از آنها برای نفوذ بهره می برد. آنها کد ها و اسکریپت های مخربی را وارد می کنند که با بارگیری کاربر وب سایت آسیب دیده فعال می شوند.
حملات بدافزار
یکی از رایج ترین انواع حمله از طریق بدافزار است. مهاجمان از آسیب پذیری های یک برنامه وب استفاده می کنند یا از طریق روش هایی مانند فیشینگ برای آلوده کردن وب سایت ها به باج افزار و جاسوس افزار از حملات خود استفاده میکنند.
حملات Man-in-the-middle (MITM)
مهاجمان خود را به عنوان مرد میانی بین دو طرف قرار می دهند، اما این یعنی چه!؟
در این نوع از حملات یک مهاجم خود را در بین یک گفت و گو قرار داده و به هر یک از طرفین گفت و گو یا Session خود را طرف دیگر معرفی میکند. با این کار کل ترافیک عبوری از این مهاجم رد شده و تمام آنچه که رد و بدل می شود اطلاع پیدا می کند.
اجازه دهید کار را با یک مثال دنبال کنیم، فرض کنید که یک فروشنده و خریدار در حال صحبت در مورد یک معامله هستند، شما به عنوان یک مرد میانی وارد شده و خود را به خریدار یک فروشنده معرفی می کنید. این در حالی است که به فروشنده نیز خواهید گفت که خریدار هستید. وقتی خریدار کالا یا خدمتی را درخواست کند، شما به عنوان خریدار آن را از فروشنده می پرسید، و آنچه که فروشنده می گوید را در نقش یک فروشنده برای خریدار بازگو خواهید کرد. اینکار باعث می شود تا شما از تمامی دیالوگ های این مکالمه آگاهی داشته باشید.
این حملات می توانند از طریق تاکتیک هایی مانند جعل پروتکل اینترنت (IP)، مسموم کردن سرور نام دامنه (DNS) و ربودن لایه سوکتهای امن (SSL) انجام شوند.
حملات تزریق SQL
این حملات در برابر فرم های وب سایت مانند فرم های تماس و ارسال اجرا می شوند. مهاجم کد های SQL مخربی را در قسمت هایی که کاربر پر می کند درج می کند و به آنها کمک می کند تا به اطلاعات پایگاه داده وب سایت دسترسی پیدا کنند و دادهها را بدزدند. در مقاله ” پایگاه داده چیست ” می توانید به اطلاعات تکمیلی در مورد ساختار پایگاه داده ها و اطلاعاتی که در آنها قرار دارد دسترسی داشته باشید.
حملات صفر روزه
حملات صفر روزه حملاتی هستند که کاملا جدید بوده و تا کنون از آنها استفاده نشده است. این حملات که عموما توسط هکر های حرفه ای و خلاق مورد استفاده قرار می گیرند روش ها و تکنیک هایی دارند که پیش از این کسی از آن ها استفاده نکرده است و یک ایده ناب دارند پس تشخیص آنها برای سیستم های امنیتی عملا ممکن نیست و با موفقیت هایی نیز همراه هستند.
این حملات همچنین کد آسیب پذیر یک برنامه را هدف قرار می دهند. با این حال، آنها به سرعت رخ می دهند به طوری که یک سازمان نمی داند موضوع از چه قرار است. بازیگران مخرب آسیب پذیری های احتمالی را جستجو می کنند، سپس حملاتی را برای سوء استفاده از شکاف و دسترسی به داده ها و منابع شرکت ایجاد می کنند. پتانسیل ایجاد حملات صفر روزه اغلب ممکن است ماه ها و حتی سال ها در دستگاه های شرکتی شناسایی نشود.
پروفایل برنامه (application profiling) در WAF چیست
برنامه ها ازنظر ساختار و نحوه کار تفاوت چشمگیری دارند. این امر می تواند برای سازمان ها در تشخیص اینکه آیا یک برنامه به طور کار آمد کار می کند و یا اینکه تهدید های آن صرفا به موراد شناسایی شده حتم می شود، مشکل ساز باشد. WAF با درک ویژگی های منحصر به فرد یک برنامه و شناسایی علائم آشکار تهدید به این امر کمک می کند.
از آنجا، یک سازمان می تواند از پروفایل های WAF از پیش تعریف شده استفاده کند، پروفایل های سفارشی بر اساس ویژگی های تعریف شده ایجاد کند یا پروفایل های منحصر به فردی را بر اساس تنظیمات تعریف شده توسط کاربر ایجاد نماید.
امضای لیست سیاه یا Signing a blacklist در WAF چیست
WAF قادر است امضای منحصر به فرد یک حمله مخرب، مانند یک رشته بدافزار را به لیست سیاه اضافه کند. اینکار این اطمینان را به شما می دهد که یک تهدید شناخته شده میتواند قبل از رسیدن به سامانه ها و منابع یک سازمان مسدود شود.
موتور همبستگی یا Correlation engine در WAF چیست
یک موتور همبستگی به یک سازمان امکان می دهد تهدیدات احتمالی مخرب یا مضر را تشخیص دهد و این کار را با یادگیری رفتار طبیعی یک برنامه انجام می دهد. سپس، اگر اتفاق غیرعادی رخ دهد، میتواند به سرعت آن را نشانه گذاری کند.
روش حفاظت ازDDOS در WAF چیست
حمله DDoS هنگامی رخ می دهد که یک هکر کنترل چندین برنامه وب را برای تشکیل یک شبکه یا بات نت در دست گیرد. مهاجم از botnet برای ارسال مقدار زیادی ترافیک و درخواست های متعدد به هدف خود استفاده می کند که تمام منابع یک سازمان را می خورد و دفاع امنیتی آنها را آسیب پذیر می کند. WAF با شناسایی علائم botnet و جلوگیری از درخواست های آن، امکان اجرای نرمافزار وب را به صورت عادی فراهم کرده و به جلوگیری از حملات DDoS کمک می کند.
مزیت اصلی استفاده از WAF چیست
از مزایای قابل توجه استفاده از WAF این است که مجموعه قوانینی که WAF روی آن کار می کند می تواند توسط متخصصان امنیت داخلی با بیشترین اطلاعات در مورد حمله ای که برای مشخصات برنامه ایجاد می کند، اصلاح و تنظیم شود. این گروه امنیتی معمولا با آگاهی و تجربه آسیب های کشف شده را مورد بررسی قرار می دهند و توجه می کنند که با انواع بسیار خاص ترافیک مطابقت داشته باشد و آسیب پذیری های کشف شده را قبل از استفاده و برای نصب کد اصلاح شده، ترمیم کنند و به طور کامل برطرف نمایند.
سخن پایانی
در پایان سوالی که ممکن است پیش بیاید این است که:
آیا WAF تا به تنهایی برای اطمینان از امنیت برنامه های وب کافی هستند؟
با توه به بررسی هایی که در مورد سوال WAF چیست و چه کاربرد هایی دارد و چه کارایی هایی قابلیت هایی میتواند داشته باشند در مورد پاسخ این سوال می توانیم بگوییم که WAF ها یک عنصر هستند که امنیت برنامه را فراهم می کنند، اما به تنهایی برای محافظت از برنامه های وب کافی نیستند. با نسبت ضعیف سیگنال به نویز، تعمیر و نگهداری پیچیده و عدم دید در معرض آسیب پذیری ها و برنامه ها، نمی توان به WAF برای تمام نیاز های امنیتی برنامه اعتماد کرد.
اما با این وجود، WAF ها به خوبی برای محافظت در برابر انواع اساسی تهدیدات کاربردی مناسب هستند و اگر به عنوان یک لایه در یک رویکرد عمیق دفاعی در کنار عناصری مانند RASP و CSP ها قرار بگیرند، می توانند امنیت قابل توجه و خوبی را برای سیستم مورد نظر فراهم کنند.