ما هو Clickjacking وكيف يتم الاختراق من خلاله




Clickjacking 

 

سنشرح في هذا القسم ماهية Clickjacking باللغة العربية  اختطاف النقرات  ، ونصف الأمثلة الشائعة لهجمات الاختراق ونناقش كيفية الحماية من هذه الهجمات.

 

 

ما هو الاختراق ؟

 

Clickjacking هو هجوم قائم على الواجهة يتم فيه خداع المستخدم للنقر على محتوى قابل للتنفيذ على موقع ويب مخفي من خلال النقر على بعض المحتوى الآخر في موقع ويب خادعتأمل المثال التالي:

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

 

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


غالبًا ما يتم توفير الحماية ضد هجمات CSRF من خلال استخدام رمز CSRF المميز : رقم خاص بالجلسة أو للاستخدام الفردي أو رقم nonce. لا يتم التخفيف من هجمات Clickjacking بواسطة رمز CSRF حيث يتم إنشاء جلسة مستهدفة بمحتوى تم تحميله من موقع ويب أصلي ومع حدوث جميع الطلبات في المجاليتم وضع رموز CSRF المميزة في الطلبات وتمريرها إلى الخادم كجزء من جلسة يتم التصرف فيها بشكل طبيعييتمثل الاختلاف مقارنة بجلسة المستخدم العادية في أن العملية تحدث داخل إطار iframe مخفي .     

 

 

 

 

 

 

 

 

 

 

كيفية إنشاء هجوم اختراق النقر الأساسي

تستخدم هجمات Clickjacking CSS لإنشاء الطبقات ومعالجتهايدمج المهاجم موقع الويب المستهدف كطبقة iframe متراكبة على موقع الويب الخادعمثال على استخدام علامة النمط والمعلمات كما يلي:

<head>
  <style>
    #target_website {
      position:relative;
      width:128px;
      height:128px;
      opacity:0.00001;
      z-index:2;
      }
    #decoy_website {
      position:absolute;
      width:300px;
      height:400px;
      z-index:1;
      }
  </style>
</head>
...
<body>
  <div id="decoy_website">
  ...decoy web content here...
  </div>
  <iframe id="target_website" src="https://vulnerable-website.com">
  </iframe>
</body>
 

يتم وضع إطار iframe لموقع الويب الهدف داخل المتصفح بحيث يكون هناك تداخل دقيق للإجراء المستهدف مع موقع الويب الخادع باستخدام قيم موضع العرض والارتفاع المناسبةتُستخدم قيم الموضع المطلقة والنسبية لضمان تداخل موقع الويب المستهدف بدقة مع شرك بغض النظر عن حجم الشاشة ونوع المتصفح والنظام الأساسييحدد الفهرس z ترتيب التكديس لطبقات iframe وموقع الويبيتم تحديد قيمة العتامة على أنها 0.0 (أو قريبة من 0.0) بحيث يكون محتوى iframe شفافًا للمستخدمقد تطبق حماية اختطاف نقرات المتصفح اكتشاف شفافية إطار iframe المستند إلى العتبة (على سبيل المثال ، يتضمن الإصدار 76 من Chrome هذا السلوك بينما لا يتضمن Firefox) يحدد المهاجم قيم العتامة بحيث يتم تحقيق التأثير المطلوب دون تشغيل سلوكيات الحماية.

 

 

 

 

 

 

 

Clickjacking مع إدخال النموذج المعبأ مسبقًا

 

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

 

 

 

 

 

 

 

نصوص خرق الإطار

 

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

·    تحقق وفرض أن نافذة التطبيق الحالية هي النافذة الرئيسية أو العلوية ،

·    اجعل كل الإطارات مرئية ،

·    منع النقر على الإطارات غير المرئية ،

·    اعتراض وإبلاغ المستخدم عن هجمات اختراق النقر المحتملة .

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

< iframe id = " officer_website " src = "https://victim-website.com" sandbox = "allow- Forms "> </ iframe >

تسمح كل من قيم allow-Forms و allow-scripts بالإجراءات المحددة داخل إطار iframe ولكن التنقل في المستوى الأعلى معطلهذا يمنع سلوكيات خرق الإطار مع السماح بالوظائف داخل الموقع المستهدف.    

 

 

 

 

الجمع بين clickjacking وهجوم DOM XSS  

 

حتى الآن ، نظرنا إلى الاختراق على أنه هجوم قائم بذاتهتاريخيًا ، تم استخدام clickjacking لأداء سلوكيات مثل تعزيز "الإعجابات" على صفحة Facebook . ومع ذلك ، يتم الكشف عن الفاعلية الحقيقية لاختراق النقر عند استخدامه كناقل لهجوم آخر مثل هجوم DOM XSS . يعد تنفيذ هذا الهجوم المشترك بسيطًا نسبيًا على افتراض أن المهاجم قد حدد أولاً ثغرة XSS. ثم يتم دمج استغلال XSS مع عنوان URL الهدف iframe بحيث ينقر المستخدم على الزر أو الرابط وبالتالي ينفذ هجوم DOM XSS.  

 

 

متعددة الخطوات clickjacking

 

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

 

 

كيفية منع هجمات الاختراق

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

Clickjacking هو سلوك من جانب المتصفح ويعتمد نجاحه أو بطريقة أخرى على وظائف المتصفح والتوافق مع معايير الويب السائدة وأفضل الممارساتيتم توفير الحماية من جانب الخادم ضد النقر فوق الاختراق من خلال تحديد وتوصيل القيود على استخدام المكونات مثل إطارات iframe . ومع ذلك ، يعتمد تنفيذ الحماية على امتثال المتصفح وتطبيق هذه القيودهناك آليتان لحماية الاختراق من جانب الخادم هما X-Frame-Options و Content Security Policy . 

 

 

X-Frame-Options

 

تم تقديم X-Frame-Options في الأصل كرأس استجابة غير رسمي في Internet Explorer 8 وتم اعتماده بسرعة في المتصفحات الأخرىيوفر الرأس لمالك موقع الويب إمكانية التحكم في استخدام إطارات iframe أو الكائنات بحيث يمكن حظر تضمين صفحة ويب داخل إطار باستخدام توجيه الرفض :  

X-Frame-Options: deny

 بدلا من ذلك، تأطير يمكن تقييد نفس المصدر كما في الموقع باستخدام sameorigin التوجيه  

X-Frame-Options: sameorigin

 أو إلى موقع ويب محدد باستخدام الأمر allow-from :  

 

X-Frame-Options: allow-from https://normal-website.com

 

 

 لا يتم تنفيذ X-Frame-Options باستمرار عبر المتصفحاتالتوجيه allow-from غير مدعوم في Chrome الإصدار 76 أو Safari 12 على سبيل المثال). ومع ذلك ، عند تطبيقها بشكل صحيح بالاقتران مع سياسة أمان المحتوى كجزء من إستراتيجية دفاع متعددة الطبقات ، يمكن أن توفر حماية فعالة ضد هجمات النقر .  

 

 

سياسة أمان المحتوىCSP )

سياسة أمان المحتوى (CSP) هي آلية للكشف والوقاية توفر التخفيف من الهجمات مثل XSS و clickjacking . عادةً ما يتم تنفيذ CSP في خادم الويب كرأس إرجاع للنموذج:

Content-Security-Policy: policy

 حيث السياسة عبارة عن سلسلة من توجيهات السياسة مفصولة بفواصل منقوطةيوفر CSP لمتصفح العميل معلومات حول المصادر المسموح بها لموارد الويب التي يمكن للمتصفح تطبيقها على اكتشاف السلوكيات الضارة واعتراضها.

ولذلك لكي تكون فعالة ضد clickjacking و XSS ، يحتاج CSPs إلى التطوير والتنفيذ والاختبار بعناية ويجب استخدامها كجزء من إستراتيجية دفاع متعددة الطبقات.

 

 

About Toulay

    Blogger Comment
    Facebook Comment

0 Comments:

إرسال تعليق