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

كن حذرا من يأخذ القمامة

لفهم عرض القيمة الخاص بـ Zaraz ، عليك أن تفهم أحد أكبر المخاطر التي تتعرض لها معظم مواقع الويب والتي لا يوليها الأشخاص اهتمامًا كافيًا. ولفهم ذلك ، دعوني أستخدم القياس.

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

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

الغريب يقول "اه". "بالتأكيد؟!"

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

ولفترة من الوقت. الغريب يتأرجح كل يوم. يزيل القمامة. يتصرف بالضبط كما هو مأمول. ولا أحد يفكر كثيرًا في القمامة مرة أخرى.

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

ولن تقوم أبدًا بتعقب الشخص الذي استخدم الوصول المميز لانتهاك ثقتك.

مفاتيح المملكة

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

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

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

لكن يمكن أن يكون أسوأ. أسوأ بكثير. في Cloudflare ، رأينا هذا مباشرة. مرة أخرى في عام 2019 ، اخترق أحد المتسللين خدمة تابعة لجهة خارجية استخدمتها Cloudflare وعدلت JavaScript التابع لجهة خارجية والذي تم تحميله في صفحة على cloudflare.com. كان هدفهم هو سرقة ملفات تعريف الارتباط وأسماء المستخدمين وكلمات المرور لتسجيل الدخول. لقد ذهبوا إلى حد إنشاء حقول اسم المستخدم وكلمة المرور تلقائيًا والتي من شأنها الإكمال التلقائي.

إليك مقتطف من الشفرة الفعلية التي تم إدخالها:

        var cf_form = document.createElement("form");
        cf_form.style.display = "none";
        document.body.appendChild(cf_form);
        var cf_email = document.createElement("input");
        cf_email.setAttribute("type", "text");
        cf_email.setAttribute("name", "email");
        cf_email.setAttribute("autocomplete", "username");
        cf_email.setAttribute("id", "_email_");
        cf_email.style.display = "none";
        cf_form.appendChild(cf_email);
        var cf_password = document.createElement("input");
        cf_password.setAttribute("type", "password");
        cf_password.setAttribute("name", "password");
        cf_password.setAttribute("autocomplete", "current-password");
        cf_password.setAttribute("id", "_password_");
        cf_password.style.display = "none";
        cf_form.appendChild(cf_password);

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

ببساطة ، يعد JavaScript من جهة خارجية كابوسًا أمنيًا للويب. ما يبدو أنه تغيير بسيط من سطر واحد ("أضف جافا سكريبت هذا للحصول على تتبع مجاني لعرض الصفحة!") يفتح الباب أمام تعليمات برمجية ضارة لا يمكنك التحكم فيها.

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

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

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

وضع الحماية للغرباء

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

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

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

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

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

إذا كنت مطور برامج نصية تابعًا لجهة خارجية ، فاحذر من أنك إذا لم تقم بتأمين البرامج النصية بشكل صحيح ، فعندئذٍ ستتوقف البرامج النصية عن العمل مع انتشار Zaraz عبر المزيد من الويب. اليوم ، يقع Cloudflare أمام ما يقرب من 20 ٪ من جميع مواقع الويب ، وقبل وقت طويل ، نتوقع أن تساعد تقنية Zaraz في حمايتها جميعًا. نريد التأكد من أن جميع البرامج النصية التي يتم تشغيلها على مواقع عملائنا تلبي معايير الأمان والموثوقية والأداء الحديثة. إذا كنت بحاجة إلى مساعدة للوصول إلى هناك ، فيرجى التواصل معنا ، وسنكون على أهبة الاستعداد للمساعدة: zaraz@cloudflare.com.

في غضون ذلك ، نشجعك على قراءة كيفية عمل تقنية Zaraz وكيف يستخدمها العملاء مثل Instacart لبناء تواجد أفضل على شبكة الإنترنت.

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