شعار زيفيرنت

هذا الأسبوع في مجال الأمان: Forksquatting وRustDesk وM&Ms

التاريخ:

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

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

RustDesk والشهادات الفردية

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

وكانت هناك أحداث جديدة منذ ذلك الحين. أولا، كان هناك موضوع أخبار الهاكر حول هذه القضية في وقت سابق من هذا الشهر. اليوم المقبل، CVE-2024-25140 تم تسجيله في NIST، حيث حصل على تصنيف مجنون CVE 9.8 CVSS. دعونا نقطع بعض FUD ونتحدث عما يحدث بالفعل.

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

بعد ذلك، لدى RustDesk شهادة صالحة وموقعة للملفات التنفيذية. شهادة الجذر الموقعة ذاتيًا مخصصة فقط لتوقيع برنامج تشغيل kernel، الأمر الذي يتطلب شهادة التحقق من الصحة الموسعة (EV). من المقلق بعض الشيء أن هذا المطلب يمكن تجاوزه بسهولة عن طريق تثبيت شهادة جذر أثناء تثبيت التطبيق، ولكن هذا موجود على Microsoft، وليس على RustDesk.

الشاغل الأخير هنا هو أنه يتم تثبيت هذه الشهادة كمرجع مصدق (CA) على مستوى النظام. هذا هو العنصر الأكثر إثارة للقلق في هذه الملحمة، لكن الشهادات تحتوي على حقل يحدد استخدام المفتاح (KU) والاستخدام الموسع للمفتاح (EKU). إن RustDesk CA مخصص فقط لتوقيع التعليمات البرمجية. وهذا لا يسمح لـ RustDesk أو أي شخص يمتلك هذا المفتاح باختراق TLS أو مواقع الويب المزيفة. إنه يسمح بتوقيع التعليمات البرمجية، وهو ما قد يكون مصدر قلق حقيقي، ولكنه ليس الوضع الصعب الذي يظهر لأول مرة.

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

حقن SQL للعضو النهائي

تم تحديث البرنامج الإضافي Ultimate Member WordPress إلى الإصدار 2.8.3، إصلاح خطأ حقن SQL الذي كان يمكن الوصول إليه كمستخدم غير مصادق عليه. استنادا إلى فرق التحديث، ربما تكون المشكلة الرئيسية مفقودة prepare() على السطر 704. أوه، ومن الواضح أنه قد تم فحصه ومن المحتمل استغلاله في البرية، لذا قم بالتصحيح.

ربما يكون هذا هو الوقت المناسب لإجراء محادثة حول سبب وجود الكثير من هجمات حقن SQL في WordPress. أولاً، يتم إدخال SQL عندما يتم تفسير البيانات المقدمة من المستخدم كجزء من أمر SQL المطلوب تنفيذه. ويتم ذلك عن طريق تضمين شخصية غير متوقعة. على سبيل المثال، تشير الفاصلة المنقوطة إلى نهاية العبارة، ويمكن استخدامها لبدء العبارة التالية. إذن حيث يتوقع برنامج ساذج رقمًا أو مدخلاً 15; DROP TABLE Students سوف يلبي عبارة SQL واحدة ويدخل عبارة ثانية ليتم تنفيذها في قاعدة البيانات.

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

النهج الثاني هو استخدام البيانات المعدة. يؤدي هذا إلى فصل أمر SQL عن البيانات بطريقة أساسية. إنه شيء من هذا القبيل $database->prepare("INSERT INTO Students (name, age) VALUES (?, ?)"); لإرسال أوامر SQL. ثم يليه $database->bind_param("si", $name, $age); لتعيين القيم التي سيتم استخدامها. وأخيرا أ $database->execute(); في الواقع يقوم بتشغيل الاستعلام. لا يوجد إمكانية للحقن بسبب الفصل الصارم بين الكود والقيم.

نأتي الآن إلى WordPress، الذي له موقعه الخاص wpdb فئة لمكالمات قاعدة البيانات. يتضمن وظيفة مفيدة، wpdb::prepare() يبدو تقريبًا مثل بيان معد كما هو موضح أعلاه.

$wpdb->prepare( "u.user_registered BETWEEN %s AND %s", $from_date, $to_date );

إلا أنه ليس على الإطلاق. ال prepare() تقوم الوظيفة بشكل صارم بتمرير التعقيم، و sprintf() استبدال القيمة. ال prepare() لا تنتج الوظيفة في الواقع بيان قاعدة بيانات معدًا. لا يوفر WordPress طريقة لاستخدام البيانات المعدة فعليًا. أحد النماذج الأساسية لإبعاد المطورين عن مشاكل حقن SQL مفقود.

M&Ms يراقبون

لدي شيء من هواية. أجد أنه من الممتع اكتشاف الأجهزة التي تسيء التصرف، ومحاولة معرفة نظام التشغيل الذي يعمل أسفل واجهة المستخدم الرسومية اللامعة. أغرب جهاز مضمن وجدته هو ماسح ضوئي للصفحات يقوم بتشغيل نسخة كاملة من Windows. قد تعمل ماسحات الأسعار الموجودة في متجرك المحلي الكبير على تشغيل نظام التشغيل Windows CE. تعمل مراكز المعلومات والترفيه الموجودة في ظهر مقعد الطائرة على تشغيل نظام Linux قديم جدًا. ومن الواضح أن آلات بيع M&M في جامعة واترلو تعمل Windows مع تطبيق Invenda.Vending.FacialRecognition.App.exe.

نحن نعلم ذلك لأن [SquidKid47] اكتشف استثناءً غير معروف للبرنامج على شاشة عرض آلة البيع، وقام بمشاركته على reddit. أ التقطت صحيفة المدرسة القصة (pdf) وقررت أن آلة البيع تستخدم الكاميرا واكتشاف الوجه كمزيج من مستشعر الحركة الذكي وكاشف التركيبة السكانية للإعلانات المستهدفة. نعم، تخدم آلات البيع هذه الإعلانات المستهدفة. على الأقل فعلوا. آلات البيع هذه لديها التقى واترلو في جامعة واترلو، حيث تطلب المدرسة الآن رسميًا إزالتها.

بت وبايت

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

إن انعدام أمان الطابعة ليس بالأمر الجديد، لكن أمان الطابعة ثلاثية الأبعاد لا يزال فكرة متخصصة إلى حد ما. ربما يتغير هذا الآن لقد تم إسقاط ما يعادل ملف "greetings.txt". على مجموعة من الطابعات Anycubic. يبدو أن Anycubic يستخدم خادم MQTT الذي لا يحتوي حقًا على عناصر تحكم كافية في الوصول.

لقد حان ذلك الوقت مرة أخرى، عندما تم إصدار إصلاح للثغرة الأمنية لـ GitLab، وحان الوقت للذهاب للتحديث. أبرز هذه المرة هو وجود خلل في البرمجة النصية للمواقع المشتركة (XSS) عند زيارة صفحة الملف الشخصي للمستخدم. أترك الأمر كتمرين للقارئ، لإنتاج نموذج التعليمات البرمجية الذي ينسخ "samy is my Hero" إلى صفحة الملف الشخصي لكل زائر.

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

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة