تکامل فایروال برنامه های وب: از فایروال ها تا سیستم های حفاظتی مبتنی بر ابر با یادگیری ماشین

در مطالب قبلی ما در مورد موضوعات ابر، ما گفت:، چگونه می توان از منابع IT در ابر عمومی محافظت کرد و چرا آنتی ویروس های سنتی کاملاً برای این اهداف مناسب نیستند. در این پست به ادامه مبحث امنیت ابری می پردازیم و در مورد سیر تحول WAF و اینکه چه چیزی بهتر است انتخاب کنیم: سخت افزار، نرم افزار یا ابر صحبت خواهیم کرد. 

تکامل فایروال برنامه های وب: از فایروال ها تا سیستم های حفاظتی مبتنی بر ابر با یادگیری ماشین

WAF چیست

هدف بیش از 75 درصد حملات هکرها، آسیب‌پذیری‌های برنامه‌های کاربردی وب و وب‌سایت‌ها است: چنین حملاتی معمولاً برای زیرساخت‌های امنیت اطلاعات و سرویس‌های امنیت اطلاعات نامرئی هستند. آسیب‌پذیری‌ها در برنامه‌های کاربردی وب، به نوبه خود، خطر به خطر افتادن و کلاهبرداری از حساب‌های کاربری و داده‌های شخصی، رمزهای عبور و شماره کارت اعتباری را به همراه دارند. علاوه بر این، آسیب پذیری های وب سایت به عنوان نقطه ورود مهاجمان به شبکه شرکتی عمل می کند.

فایروال برنامه های وب (WAF) یک صفحه محافظ است که حملات به برنامه های وب را مسدود می کند: تزریق SQL، اسکریپت بین سایتی، اجرای کد از راه دور، نیروی brute force و بای پس مجوز. از جمله حملاتی که از آسیب‌پذیری‌های روز صفر سوء استفاده می‌کنند. فایروال های برنامه با نظارت بر محتوای صفحه وب، از جمله HTML، DHTML، و CSS، و فیلتر کردن درخواست های HTTP/HTTPS مخرب بالقوه، محافظت می کنند.

اولین تصمیمات چه بود؟

اولین تلاش ها برای ایجاد یک فایروال برنامه وب در اوایل دهه 90 انجام شد. حداقل سه مهندس در این زمینه کار کرده اند. اولین نفر، استاد علوم کامپیوتر، جن اسپافورد از دانشگاه پردو است. او معماری یک فایروال برنامه پراکسی را توضیح داد و آن را در سال 1991 در کتاب منتشر کرد "امنیت یونیکس در عمل".

دوم و سوم متخصصان امنیت اطلاعات ویلیام چزویک و مارکوس رانوم از آزمایشگاه های بل بودند. آنها یکی از اولین نمونه های اولیه فایروال کاربردی را توسعه دادند. این محصول توسط DEC توزیع شد - محصول با نام SEAL (پیوند دسترسی خارجی امن) منتشر شد.

اما SEAL یک راه حل تمام عیار WAF نبود. این یک فایروال شبکه کلاسیک با عملکرد پیشرفته بود - توانایی مسدود کردن حملات به FTP و RSH. به همین دلیل، امروزه اولین راه حل WAF را محصول Perfecto Technologies (بعدها Sanctum) می دانند. او در سال 1999 ارایه شده سیستم AppShield. در آن زمان Perfecto Technologies در حال توسعه راه‌حل‌های امنیت اطلاعات برای تجارت الکترونیک بود و فروشگاه‌های آنلاین به مخاطبان محصول جدید خود تبدیل شدند. AppShield قادر به تجزیه و تحلیل درخواست های HTTP و مسدود کردن حملات بر اساس سیاست های امنیت اطلاعات پویا بود.

تقریباً همزمان با AppShield (در سال 2002)، اولین WAF منبع باز ظاهر شد. او شد امنیت مد. با هدف محبوبیت فناوری‌های WAF ایجاد شد و هنوز توسط جامعه فناوری اطلاعات پشتیبانی می‌شود (اینجاست مخزن در GitHub). ModSecurity حملات به برنامه ها را بر اساس مجموعه ای استاندارد از عبارات منظم (امضا) مسدود می کند - ابزارهایی برای بررسی درخواست ها بر اساس الگوها - مجموعه قوانین هسته OWASP.

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

سه نسل در حال حاضر تاریخ هستند

مرسوم است که سه نسل از سیستم های WAF را که با توسعه فناوری تکامل یافته اند، متمایز می کنند.

نسل اول. با عبارات منظم (یا گرامرها) کار می کند. این شامل ModSecurity نیز می شود. ارائه‌دهنده سیستم انواع حملات به برنامه‌ها را مطالعه می‌کند و الگوهایی تولید می‌کند که درخواست‌های مشروع و بالقوه مخرب را توصیف می‌کنند. WAF این لیست ها را بررسی می کند و تصمیم می گیرد که در یک موقعیت خاص چه کاری انجام دهد - برای مسدود کردن ترافیک یا نه.

نمونه ای از تشخیص بر اساس عبارات منظم پروژه ای است که قبلا ذکر شد مجموعه قوانین اصلی متن باز. مثالی دیگر - نکسیکه متن باز نیز هست. سیستم‌هایی با عبارات منظم دارای معایبی هستند، به‌ویژه وقتی آسیب‌پذیری جدیدی کشف می‌شود، مدیر باید قوانین اضافی را به صورت دستی ایجاد کند. در مورد یک زیرساخت فناوری اطلاعات در مقیاس بزرگ، ممکن است چندین هزار قانون وجود داشته باشد. مدیریت بسیاری از عبارات منظم بسیار دشوار است، ناگفته نماند که بررسی آنها می تواند عملکرد شبکه را کاهش دهد.

عبارات منظم همچنین دارای نرخ مثبت کاذب نسبتاً بالایی هستند. زبان شناس معروف نوام چامسکی طبقه بندی گرامرها را پیشنهاد کرد که در آن آنها را به چهار سطح مشروط پیچیدگی تقسیم کرد. بر اساس این طبقه بندی، عبارات منظم فقط می توانند قوانین دیوار آتش را توصیف کنند که شامل انحراف از الگو نیستند. این بدان معنی است که مهاجمان می توانند به راحتی نسل اول WAF را "گول بزنند". یکی از روش‌های مبارزه با این موضوع، افزودن کاراکترهای ویژه به درخواست‌های برنامه است که بر منطق داده‌های مخرب تأثیر نمی‌گذارند، اما قانون امضا را نقض می‌کنند.

تکامل فایروال برنامه های وب: از فایروال ها تا سیستم های حفاظتی مبتنی بر ابر با یادگیری ماشین

نسل دوم. برای دور زدن مسائل مربوط به عملکرد و دقت WAF ها، فایروال های کاربردی نسل دوم توسعه داده شدند. آنها اکنون تجزیه کننده هایی دارند که مسئول شناسایی انواع حملات کاملاً تعریف شده (در HTML، JS و غیره) هستند. این تجزیه کننده ها با توکن های خاصی کار می کنند که کوئری ها را توصیف می کنند (مثلاً متغیر، رشته، ناشناخته، عدد). دنباله های توکن بالقوه مخرب در یک لیست جداگانه قرار می گیرند که سیستم WAF مرتباً آنها را بررسی می کند. این رویکرد برای اولین بار در کنفرانس Black Hat 2012 در قالب C/C++ نشان داده شد کتابخانه های libinjection، که به شما امکان می دهد تزریق SQL را شناسایی کنید.

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

تکامل فایروال برنامه های وب: از فایروال ها تا سیستم های حفاظتی مبتنی بر ابر با یادگیری ماشین

نسل سوم. تکامل در منطق تشخیص نسل سوم شامل استفاده از روش‌های یادگیری ماشینی است که امکان نزدیک‌کردن گرامر تشخیص را تا حد امکان به دستور زبان واقعی SQL/HTML/JS سیستم‌های محافظت‌شده ممکن می‌سازد. این منطق تشخیص قادر است ماشین تورینگ را برای پوشش گرامرهای برگشتی و شمارش تطبیق دهد. علاوه بر این، قبلاً کار ایجاد یک ماشین تورینگ سازگار غیرقابل حل بود تا اینکه اولین مطالعات ماشین‌های تورینگ عصبی منتشر شد.

یادگیری ماشینی توانایی منحصربه‌فردی را برای تطبیق هر دستور زبان برای پوشش هر نوع حمله بدون ایجاد فهرست‌های امضا به صورت دستی در تشخیص نسل اول و بدون توسعه نشانه‌سازها/تجزیه‌کننده‌های جدید برای انواع حملات جدید مانند Memcached، Redis، Cassandra، تزریق‌های SSRF فراهم می‌کند. ، همانطور که توسط روش نسل دوم مورد نیاز است.

با ترکیب هر سه نسل منطق تشخیص، می‌توانیم یک نمودار جدید ترسیم کنیم که در آن نسل سوم تشخیص با طرح قرمز نشان داده شده است (شکل 3). این نسل شامل یکی از راه‌حل‌هایی است که به همراه Onsek، توسعه‌دهنده پلتفرم حفاظت تطبیقی ​​از برنامه‌های کاربردی وب و Wallarm API، در فضای ابری پیاده‌سازی می‌کنیم.

منطق تشخیص اکنون از بازخورد برنامه برای تنظیم خود استفاده می کند. در یادگیری ماشین، این حلقه بازخورد "تقویت" نامیده می شود. به طور معمول، یک یا چند نوع از این تقویت کننده ها وجود دارد:

  • تجزیه و تحلیل رفتار پاسخ برنامه (غیرفعال)
  • اسکن/فاززر (فعال)
  • گزارش فایل‌ها/روش‌های رهگیر/تله‌ها (بعد از واقعیت)
  • کتابچه راهنمای (تعریف شده توسط سرپرست)

در نتیجه، منطق تشخیص نسل سوم به موضوع مهم دقت نیز می پردازد. اکنون نه تنها می‌توان از مثبت‌ها و منفی‌های کاذب اجتناب کرد، بلکه می‌توان نگاتیوهای معتبر معتبر مانند تشخیص استفاده از عنصر دستور SQL در کنترل پنل، بارگذاری قالب صفحه وب، درخواست‌های AJAX مربوط به خطاهای جاوا اسکریپت و موارد دیگر را شناسایی کرد.

تکامل فایروال برنامه های وب: از فایروال ها تا سیستم های حفاظتی مبتنی بر ابر با یادگیری ماشین

تکامل فایروال برنامه های وب: از فایروال ها تا سیستم های حفاظتی مبتنی بر ابر با یادگیری ماشین

تکامل فایروال برنامه های وب: از فایروال ها تا سیستم های حفاظتی مبتنی بر ابر با یادگیری ماشین

در مرحله بعد، ما قابلیت های تکنولوژیکی گزینه های مختلف پیاده سازی WAF را در نظر خواهیم گرفت.

سخت افزار، نرم افزار یا ابر - چه چیزی را انتخاب کنیم؟

یکی از گزینه های پیاده سازی فایروال برنامه ها، راه حل سخت افزاری است. چنین سیستم هایی دستگاه های محاسباتی تخصصی هستند که یک شرکت به صورت محلی در مرکز داده خود نصب می کند. اما در این مورد، شما باید تجهیزات خود را خریداری کنید و برای راه اندازی و رفع اشکال آن (اگر شرکت بخش فناوری اطلاعات خود را نداشته باشد) به یکپارچه سازان پول پرداخت کنید. در عین حال، هر تجهیزاتی قدیمی می شود و غیرقابل استفاده می شود، بنابراین مشتریان مجبور می شوند بودجه ای برای ارتقاء سخت افزار اختصاص دهند.

گزینه دیگر برای استقرار WAF پیاده سازی نرم افزاری است. راه حل به عنوان یک افزونه برای برخی از نرم افزارها نصب می شود (به عنوان مثال، ModSecurity در بالای آپاچی پیکربندی شده است) و روی همان سرور با آن اجرا می شود. به عنوان یک قاعده، چنین راه حل هایی می توانند هم بر روی یک سرور فیزیکی و هم در فضای ابری مستقر شوند. نقطه ضعف آنها مقیاس پذیری محدود و پشتیبانی فروشنده است.

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

ما بیشتر توضیح خواهیم داد که چرا مردم اکنون به طور فزاینده ای به سمت WAF ابری نگاه می کنند.

آنچه WAF می تواند در فضای ابری انجام دهد

از نظر قابلیت های تکنولوژیکی:

  • ارائه دهنده مسئول به روز رسانی است. WAF با اشتراک ارائه می شود، بنابراین ارائه دهنده خدمات ارتباط به روز رسانی ها و مجوزها را نظارت می کند. به روز رسانی ها نه تنها مربوط به نرم افزار، بلکه سخت افزار نیز می شود. ارائه دهنده پارک سرور را ارتقا داده و از آن نگهداری می کند. همچنین مسئول تعادل بار و افزونگی است. اگر سرور WAF از کار بیفتد، ترافیک بلافاصله به دستگاه دیگری هدایت می شود. توزیع منطقی ترافیک به شما امکان می دهد از موقعیت هایی که دیوار آتش وارد حالت باز شکست خورده می شود اجتناب کنید - نمی تواند با بار مقابله کند و درخواست های فیلتر را متوقف می کند.
  • پچ مجازی. وصله‌های مجازی دسترسی به بخش‌های در معرض خطر برنامه را محدود می‌کنند تا زمانی که توسعه‌دهنده آسیب‌پذیری را ببندد. در نتیجه، مشتری ارائه دهنده ابر این فرصت را پیدا می کند که با آرامش منتظر بماند تا تامین کننده این یا آن نرم افزار "وصله های" رسمی را منتشر کند. انجام این کار در سریع ترین زمان ممکن از اولویت های تامین کننده نرم افزار است. به عنوان مثال، در پلتفرم Wallarm، یک ماژول نرم افزار مجزا وظیفه وصله مجازی را بر عهده دارد. مدیر می تواند عبارات منظم سفارشی را برای مسدود کردن درخواست های مخرب اضافه کند. این سیستم امکان علامت گذاری برخی از درخواست ها را با پرچم "داده های محرمانه" فراهم می کند. سپس پارامترهای آنها ماسک می شوند و تحت هیچ شرایطی به خارج از منطقه کار فایروال منتقل نمی شوند.
  • محیط داخلی و اسکنر آسیب پذیری. این به شما این امکان را می دهد که به طور مستقل مرزهای شبکه زیرساخت فناوری اطلاعات را با استفاده از داده های پرس و جوهای DNS و پروتکل WHOIS تعیین کنید. پس از آن، WAF به طور خودکار خدمات در حال اجرا در داخل محیط را تجزیه و تحلیل می کند (اسکن پورت را انجام می دهد). فایروال قادر است انواع آسیب پذیری های رایج - SQLi، XSS، XXE و غیره را شناسایی کند و خطاها را در پیکربندی نرم افزار شناسایی کند، به عنوان مثال، دسترسی غیرمجاز به مخازن Git و BitBucket و تماس های ناشناس به Elasticsearch، Redis، MongoDB.
  • حملات توسط منابع ابری نظارت می شوند. به عنوان یک قاعده، ارائه دهندگان ابری مقادیر زیادی از قدرت محاسباتی دارند. این به شما امکان می دهد تهدیدات را با دقت و سرعت بالا تجزیه و تحلیل کنید. دسته ای از گره های فیلتر در فضای ابری مستقر شده اند که تمام ترافیک از آن عبور می کند. این گره ها حملات به برنامه های وب را مسدود می کنند و آمار را به مرکز تجزیه و تحلیل ارسال می کنند. از الگوریتم های یادگیری ماشین برای به روز رسانی قوانین مسدودسازی برای همه برنامه های محافظت شده استفاده می کند. اجرای چنین طرحی در شکل نشان داده شده است. 4. چنین قوانین امنیتی مناسب تعداد هشدارهای فایروال کاذب را به حداقل می رساند.

تکامل فایروال برنامه های وب: از فایروال ها تا سیستم های حفاظتی مبتنی بر ابر با یادگیری ماشین

اکنون کمی در مورد ویژگی های WAF های ابری از نظر مسائل سازمانی و مدیریتی:

  • انتقال به OpEx. در مورد WAF های ابری، هزینه پیاده سازی صفر خواهد بود، زیرا تمام سخت افزارها و مجوزها قبلاً توسط ارائه دهنده پرداخت شده است؛ پرداخت خدمات با اشتراک انجام می شود.
  • طرح های تعرفه های مختلف. کاربر سرویس ابری می تواند به سرعت گزینه های اضافی را فعال یا غیرفعال کند. عملکردها از یک کنترل پنل واحد مدیریت می شوند که ایمن نیز هست. از طریق HTTPS قابل دسترسی است، بعلاوه یک مکانیسم احراز هویت دو عاملی بر اساس پروتکل TOTP (الگوریتم رمز عبور یک بار مبتنی بر زمان) وجود دارد.
  • اتصال از طریق DNS. شما می توانید DNS را خودتان تغییر دهید و مسیریابی شبکه را پیکربندی کنید. برای حل این مشکلات نیازی به جذب و آموزش متخصصان فردی نیست. به عنوان یک قاعده، پشتیبانی فنی ارائه دهنده می تواند به راه اندازی کمک کند.

فناوری‌های WAF از فایروال‌های ساده با قوانین سرانگشتی به سیستم‌های حفاظتی پیچیده با الگوریتم‌های یادگیری ماشین تکامل یافته‌اند. فایروال های برنامه اکنون طیف گسترده ای از ویژگی ها را ارائه می دهند که در دهه 90 پیاده سازی آنها دشوار بود. از بسیاری جهات، ظهور قابلیت های جدید به لطف فناوری های ابری امکان پذیر شد. راه حل های WAF و اجزای آنها همچنان در حال تکامل هستند. درست مانند سایر حوزه های امنیت اطلاعات.

متن توسط الکساندر کارپوزیکوف، مدیر توسعه محصول امنیت اطلاعات در ارائه دهنده ابر #CloudMTS تهیه شده است.

منبع: www.habr.com

اضافه کردن نظر