جدران حماية تطبيق الويب

جدار حماية تطبيق الويب


تعد جدران الحماية الخاصة بتطبيقات الويب (WAFs) نوعًا من أنظمة الكشف عن الاختراق والوقاية منها وقد تكون حلاً للأجهزة أو البرمجيات. تم تصميمه خصيصًا لفحص HTTP (s) وتحليل طلبات GET و POST باستخدام منطق الكشف المروع الموضح أدناه. يتوفر برنامج جدار حماية تطبيق الويب عمومًا كمكون إضافي لخادم الويب.

أصبح WAF شائعًا للغاية وتقدم العديد من الشركات مجموعة متنوعة من الحلول في فئات أسعار مختلفة ، من الشركات الصغيرة إلى الشركات الكبيرة. يعتبر تطبيق WAF الحديث شائعًا لأنه يحتوي على مجموعة واسعة من المهام المغطاة ، بحيث يمكن لمطوري تطبيقات الويب الاعتماد عليها في العديد من مشكلات الأمان ، ولكن مع افتراض أن هذا الحل لا يمكن أن يضمن الحماية المطلقة. يظهر سير عمل WAF الأساسي أدناه.



وتتمثل مهمتها الرئيسية في الكشف عن الاستعلامات وحجبها ، حيث يوجد ، وفقًا لتحليل WAF ، بعض الحالات الشاذة أو يتم تتبع متجه الهجوم. يجب ألا يجعل هذا التحليل من الصعب على المستخدمين الشرعيين التفاعل مع أحد تطبيقات الويب ، ولكن في الوقت نفسه ، يجب عليه أن يكتشف بدقة وفي الوقت المناسب أي محاولة للهجوم. من أجل تنفيذ هذه الوظيفة ، يستخدم مطورو WAF عادةً التعبيرات والرموز وتحليل السلوكيات وتحليل السمعة والتعلم الآلي ، وغالبًا ما تستخدم كل هذه التقنيات معًا.



بالإضافة إلى ذلك ، يمكن لـ WAF أيضًا توفير وظائف أخرى: الحماية من DDoS أو حظر عناوين IP للمهاجمين أو تتبع عناوين IP المشبوهة أو إضافة إشارة HTTP فقط إلى ملف تعريف الارتباط أو إضافة وظائف رموز CSRF. كل WAF فردي ولديه ترتيب داخلي فريد ، لكن هناك بعض الطرق النموذجية المستخدمة للتحليل.

تعبير منتظم


تستند معظم WAFs الموجودة على قواعد تستند إلى التعبيرات العادية. لإنشائها ، يدرس مطور WAF بعض المجموعات المعروفة من الهجمات ، وبالتالي ، يتم تحديد الإنشاءات النحوية الرئيسية ، والتي يمكن الادعاء بوجودها لتنفيذ الهجوم. بناءً على النتائج التي تم الحصول عليها ، تتم كتابة التعبيرات العادية التي يمكنها العثور على مثل هذه الإنشاءات. على سبيل المثال ، من خلال تحليل رؤوس HTTP مثل Server: Apache Tomcat / 7.0.x ، يمكن لـ WAF حظر استجابة وبالتالي منع تسرب معلومات الخادم أو ، بدلاً من ذلك ، رفع تنبيه.

ومع ذلك ، فإن هذا النهج لديه عدد من العيوب. يقتصر نطاق قابلية تطبيق تعبير عادي على استعلام واحد ، وغالبًا ما يكون معلمة استعلام محددة ، مما يقلل بوضوح من فعالية هذه الطلبات. ثانياً ، يؤدي بناء جملة التعبيرات العادية والمنطق المعقد للبروتوكولات النصية ، والذي يسمح باستبدال التركيبات المكافئة واستخدام تمثيلات مختلفة للرموز ، إلى أخطاء عند إنشاء مثل هذه القواعد. يوضح الجدول أدناه تقنيات التجاوز الأكثر شيوعًا.



التشويش SQL. من الممكن تغيير التعبير بحيث ، باستخدام صيغة اللغة ، يمكنه التخلص من المسافات. على سبيل المثال ، في SQL ، يمكنك استخدام الأقواس والنجوم:
s / * / e / ** // * e * // * / l / * le * c * // * / إلخ ~~ / ** / 1 أو / id = 1 + un / ** / ion + sel / ** / إلخ + 1،2،3--

يعتمد الآخر على استخدام ترميزات مختلفة بحيث لا يقوم WAF بفك تشفير البيانات في أماكن معينة. على سبيل المثال ، بعد استبدال حرف واحد برمز url الخاص به في عملية التطبيع ، لن يتمكن WAF من فهم أنه من الضروري فك تشفير البيانات وتخطي الطلب ، في حين سيتم قبول نفس المعلمة وفك تشفيرها بنجاح بواسطة الويب التطبيق.



البحث عن الانشاءات النحوية المكافئة غير التقليدية. تستخدم هذه الطريقة لإيجاد طريقة للتشغيل لا يمكن لمطوري WAF أخذها في الاعتبار ، أو أن المتجه غائب في عينة الدراسة للتعلم الآلي. أحد هذه التركيبات هو تمثيل رمز جافا سكريبت غير الأبجدي الرقمي ، ومثال على ذلك مبين أدناه.



طريقة بناء النتيجة


هذا النهج لا يكشف عن الهجمات ، لكنه يكمل الطرق الأخرى ، مما يجعلها أكثر دقة ومرونة. سبب إدخال الأداة هو أن التواجد في الاستعلام عن بعض التصميمات المشبوهة لا يكفي للكشف عن أي هجوم ، أو على العكس من ذلك ، يمكن أن يؤدي إلى عدد كبير من الأخطاء الإيجابية الخاطئة. يتم حل هذه المشكلة عن طريق إدخال نظام التسجيل. على سبيل المثال ، تُستكمل كل قاعدة تستند إلى تعبيرات منتظمة بمعلومات حول مدى أهمية تشغيلها ؛ بعد تحديد جميع قواعد العمل ، يتم تلخيص مدى أهميتها. في حالة التغلب على قيمة معينة ، يتم اكتشاف الهجوم ويتم حظر الطلب.

تحليل السلوك


إن اكتشاف محاولات استغلال الثغرات الأمنية في معلمات الاستعلام ليست المهمة الوحيدة لـ WAF. من المهم تحديد إجراء بحث الثغرة الأمنية نفسه ، والذي يمكن أن يعبر عن نفسه في محاولات المسح ، ودليل القوة الغاشمة ، وإعجاب المعلمات ، وغيرها من طرق الكشف عن الثغرات الأمنية التي تستخدمها الأدوات الآلية غالبًا ، وتتفاعل معها وفقًا لذلك. تعرف WAFs الأكثر تقدمًا كيفية إنشاء ملف XML باستخدام سلاسل استعلام نموذجية لسلوك المستخدم العادي ومنع محاولات إرسال الطلبات بترتيب مختلف عن السلوك القياسي. هذه الآلية لا تتصدى للهجمات فحسب ، بل تعقد عملية العثور على ثغرة أمنية أيضًا.

محلل محلل Tokeniser


هذا النهج لاكتشاف الهجمات مفهوم معقد ؛ ومع ذلك ، ليس من السهل تفكيكه على الإصدار C ++ التمهيدي من مكتبة Libinjection ، والذي يسمح باكتشاف هجمات حقن SQL بسرعة وبدقة. في الوقت الحالي ، يوجد في مكتبة Libinjection منافذ للعديد من لغات البرمجة ، بما في ذلك Java و C و Python. يتم تقليل الآلية إلى البحث عن التواقيع ، ممثلة كسلسلة من الرموز. تتم إضافة بعض التواقيع إلى القائمة السوداء المضمنة وتعتبر غير مقبولة أو ضارة. بمعنى آخر ، قبل تحليل أي استعلام ، يؤدي أولاً إلى مجموعة من الرموز. الرموز مقسمة إلى أنواع مختلفة ، سلسلة ، حرف ، عامل تشغيل منتظم ، رقم ، تعليق ، متغير ، إلخ.

أحد عيوب هذه الطريقة الرئيسية أنه من الممكن إنشاء مثل هذا التصميم الذي سيؤدي إلى تكوين الرموز بشكل غير صحيح ؛ وبالتالي ، فإن توقيع الطلب سيكون مختلفا عن المتوقع.

ترتبط الهجمات الموجهة إلى الرموز الرمزية بمحاولات لكسر المنطق عن طريق تقسيم الطلب إلى الرموز باستخدام الرموز المميزة. هذه هي الرموز التي تسمح لك بالتأثير على اختيار عنصر سلسلة لمطابقة رمز مميز ، وبالتالي ، تجاوز البحث بالتوقيعات. في الوصول المفتوح ، هناك بعض أوراق الغش التي تم الحصول عليها بواسطة Mysql fuzzing والتحقق من الاستعلام اللاحق في Libinjection.

تحليل السمعة


يتم توريث آلية السمعة مباشرة من جدران الحماية ومكافحة الفيروسات. اليوم ، يتضمن أي WAF تقريبًا قوائم بعناوين خدمات VPN ومجهولي الهوية وعقد شبكة Tor ومشاركي الروبوتات والتي يمكن استخدامها لمنع الطلبات الناشئة عن العناوين المشبوهة. أكثر WAFs قادرة على تحديث قواعد البيانات الخاصة بهم تلقائيا وجعل إدخالات إضافية على أساس حركة المرور التي تم تحليلها.

ملخص


بشكل عام ، يعد جدار حماية تطبيق الويب أداة حماية حديثة وجيدة ، ولن يكون ضروريًا أبدًا لتطبيقات الويب. إن الفكرة الرئيسية لإيجاد طرق لتجاوز WAF هي إحضار الاستعلام المطلوب إلى نموذج لا يزال من المفهوم فيه تطبيق الويب الذي تمت مهاجمته ، لكنه غير مفهوم أو يبدو غير ضار لـ WAF.

ومع ذلك ، هناك عدة فئات من الثغرات الأمنية التي يتعذر على WAF اكتشافها. هذا يمكن أن يكون أي ثغرة منطقية ، في هذه الحالة لا توجد أي سلوكيات غير طبيعية في الطلبات. علاوة على ذلك ، تُظهر بعض الدراسات التي أجريت لتحسين قواعد WAF أيضًا طرقًا لاستبعاد الطلبات المشروعة من عملية التفتيش ، والتي قد تكون خطيرة. من المحتمل أيضًا ألا يكون WAF مفيدًا في تحديد المنافسين ، مثل حالة السباق ومصادقة المستخدم غير الآمنة.

إشارة


فلاديمير إيفانوف (2016) جداول الرموز المسموح بها في مدخلات مختلفة من تعبير SQL ، نتيجة تحليل جداول الزغب. متاح في: www.blackhat.com/docs/us-16/materials/us- 16-Ivanov-Web-Application-Firewalls-Analysis-of-Detection-Logic.pdf

Torrano-Gimenez، C.، Perez-Villegas، A. and Alvarez، G. (2009) 'A Firewall Application Web Anomaly-Based Firewall'، Springer، Berlin، Heidelberg. doi: doi.org/10.1007/978-3-642-04091-7_11 .

Ramsingh، C. and Centonze، P. (2017) "تحليل البرنامج لحقن قواعد البيانات" ، المجلة الدولية للحاسوب والتكنولوجيا ، 16 (6) ، ص. 6977–6986. دوي: 10.24297 / ijct.v16i6.6332.

Prokhorenko، V.، Choo، KKR and Ashman، H. (2016) "تقنيات حماية تطبيق الويب: تصنيف" ، مجلة تطبيقات الشبكات والكمبيوتر ، 60 ، ص. 95-112. Doi: 10.1016 / j.jnca.2015.11.11.017.

Prandl، S.، Lazarescu، M. and Pham، D. (2015). دراسة لحلول جدار حماية تطبيقات الويب. أمن نظم المعلومات ، الصفحات 501-510. Doi: 10.1007 / 978-3-319-26961-0_29.

تقنيات إيجابية (2016 أ) "جدران حماية تطبيق الويب: مهاجمة آليات منطق الكشف". متاح في: www.blackhat.com/docs/us-16/materials/us-16-Ivanov- تطبيق ويب-جدران الحماية-تحليل-الكشف-Logic.pdf.

OWASP (2017) SQL Injection Bypassing WAF. متاح في: www.owasp.org/index.php/SQL_Injection_Bypassing_WAF .

Source: https://habr.com/ru/post/ar446518/


All Articles