في أواخر مارس 2023، كشف باحثون أمنيون عن جهة فاعلة للتهديد هجوم سلسلة التوريد البرمجيات المعقدة على برامج الاتصالات التجارية من 3CX، وبشكل أساسي تطبيق سطح المكتب للاتصالات الصوتية والمرئية الخاص بالشركة. وحذر الباحثون من أن التطبيق تعرض بطريقة ما لفيروس طروادة وأن استخدامه قد يعرض المنظمة لمخطط تسرب محتمل من قبل جهة تهديد. أطلق على الهجوم اسم "Smooth Operator" وهناك بعض الأدلة التي تشير إلى أنه مستمر منذ أشهر.
إذًا ما الذي حدث بالضبط، وكيف أن استخدام هذا الإصدار المصاب بفيروس طروادة يعرضك للخطر، وكيف يمكن منعه من خلال استخدام توقيع البرنامج والتحقق منه؟
أول الأشياء أولاً: ما هو 3CX؟
3CX عبارة عن نظام IP PBX قائم على البرمجيات ومفتوح المعايير (تبادل فرعي خاص) يحل محل نظام PBX التقليدي للأجهزة. وهو مصمم للسماح للشركات بإجراء واستقبال المكالمات باستخدام تقنية VoIP (بروتوكول نقل الصوت عبر الإنترنت)، التي تنقل الاتصالات الصوتية عبر الإنترنت. يتضمن 3CX أيضًا ميزات متقدمة مثل مؤتمرات الفيديو والتواجد والمراسلة الفورية والمزيد، ويمكن نشره محليًا أو في السحابة. تعد أنظمة التشغيل Windows وmacOS وLinux مجرد عدد قليل من أنظمة التشغيل الشائعة التي يتوفر عليها التطبيق. بالإضافة إلى ذلك، يمكن الوصول إلى العميل من خلال المتصفحات بفضل ملحق Chrome، كما أن العميل لديه إصدار PWA، بالإضافة إلى كونه متاحًا كتطبيق جوال لأجهزة Android وiOS.
يمكنك الحصول على فكرة عن التأثيرات المحتملة لهجوم سلسلة توريد البرامج من موقع 3CX، الذي يضم 600,000 شركة تستخدم تطبيقاتها مع أكثر من 12 مليون مستخدم يوميًا.
نظرة خاطفة على الهجوم: ما تحتاج إلى معرفته
هذا الأمر معقد بعض الشيء لذا سنقسمه إلى خطوات:
- تقوم بتحميل أ إصدار حصان طروادة من تطبيق سطح المكتب أو أنك قمت بتثبيته بالفعل وقم ببساطة بتحديثه بإصدار حصان طروادة.
- يقوم الملف القابل للتنفيذ 3CXDesktopApp.exe بتحميل مكتبة ارتباطات ديناميكية ضارة (DLL) تسمى ffmpeg.dll.
- يتم استخدام ffmpeg.dll لاستخراج حمولة مشفرة من d3dcompiler_47.dll وتنفيذها.
- تقوم البرامج الضارة بعد ذلك بتنزيل ملفات أيقونات ذات مظهر بريء مستضافة على GitHub والتي تحتوي على سلاسل Base64 المشفرة والملحقة بنهاية الصور.
- يتم بعد ذلك فك تشفير تلك البيانات المشفرة واستخدامها لتنزيل مرحلة أخرى، تحتوي على خادم القيادة والسيطرة المشفر الذي يتصل به الباب الخلفي من أجل استرداد الحمولة النهائية المحتملة.
- في المرحلة النهائية، يتم وضع وظيفة سرقة المعلومات موضع التنفيذ، بما في ذلك جمع بيانات النظام وبيانات المتصفح من متصفحات Chrome وEdge وBrave وFirefox. يمكن أن يتضمن ذلك الاستعلام عن سجل التصفح والمعلومات من جدول الأماكن بالإضافة إلى إمكانية الاستعلام عن جدول المحفوظات.
في البداية، قللت شركة 3CX من أهمية الهجوم لكنها اعترفت لاحقًا بأنه كان يمثل تهديدًا حقيقيًا واقترحت إلغاء تثبيت التطبيق وإعادة تثبيته بتعليماتها المحددة بالإضافة إلى استخدام إصدار PWA في هذه الأثناء حتى تتمكن الشركة من حل الحادث وتخفيفه.
هناك عامل آخر مهم جدًا يجب أخذه في الاعتبار وهو أن التسوية تتضمن شهادة توقيع التعليمات البرمجية المستخدمة لتوقيع الثنائيات التي تعرضت لفيروس طروادة. حسنًا، ليس بالضبط - إنها في الواقع تستخدم ثغرة أمنية معروفة تسمى CVE-2013-3900 (تم نشره في الأصل عام 2013 ولكن تم تحديثه في عام 2022 ومرة أخرى هذا الأسبوع) للقيام بذلك تظهر وقعت بشكل شرعي.
ديجا فو: لقد حدث هذا من قبل
إذا كانت هذه قصة أ تبدو نسخة طروادة 3CX مألوفة لأنها حدثت من قبل.
في هذه الحالة، هو شتوضيح ما إذا كانت المكتبة الأولية مفتوحة المصدر التي تستخدمها الشركة قد أصيبت بالعدوى أو أن هجومًا فعليًا اخترق بيئة التطوير الخاصة بالشركة.
وفي الهجمات الشهيرة الأخرى، من "Kingslayer" (2016) إلى "CCleaner" (2017)، و"VestaCP" (2018)، و"WIZVERA VeraPort" (2020)، وصولاً إلى "SolarWinds" (2020)، فهي عبارة عن هجوم ممارسة الجهات الفاعلة في مجال التهديد الشائع لمحاولة اختراق خوادم الشركة أو بيئة البناء أو الملف القابل للتنفيذ الفعلي. بعد كل شيء، فإن إخفاء شيء سيء وخطير كشيء يمكنك الوثوق به هو طريقة رائعة لكسب ثقة الأشخاص وتنزيل حمولتك.
وهذا جزء من تعريف أ هجوم سلسلة توريد البرمجيات – قام المهاجمون باختراق سلسلة توريد البرامج لتوزيع البرامج الضارة على عدد كبير من الضحايا. وفي كل من هذه الحالات الشهيرة، تمكن المهاجمون من حقن تعليمات برمجية ضارة في حزم البرامج الشرعية، والتي تم توزيعها بعد ذلك على المستخدمين. غالبًا ما كان المهاجمون قادرين على القيام بذلك عن طريق اختراق بائع أو موفر برامج موثوق به، مثل خادم تحديث البرامج أو شهادة توقيع التعليمات البرمجية.
من خلال جعل العملاء المطمئنين يقومون بتنزيل نسخة معدلة من تطبيق شرعي، يمكن للمهاجمين إخفاء أي شيء تقريبًا بداخله.
وهنا المشكلة الرئيسية – "المطمئنين". بعد كل شيء، الملف القابل للتنفيذ أو الثنائي أو الصورة جاء من الشركة المُنشئة، ويبدو أنه تمت الموافقة عليه من قبلها، بل إنه يحتوي على شهادة موقعة. ما الذي يمكن للعميل أن يفعله أكثر من ذلك؟ هل يجب عليهم الاتصال بالشركة للتحقق من كل تحديث؟ قم بمسح الكود (إن وجد) لمعرفة وجود الأبواب الخلفية؟ وهذا أمر غير معقول وغير واقعي. لكن هناك is شيء يمكن القيام به.
كيف يمكنك إضافة طبقة من الثقة تتجاوز الشهادة؟
النموذج المقترح بسيطة إلى حد ما وتعتمد على نفس فكرة شهادات توقيع التعليمات البرمجية. شهادة توقيع الرمز هي شهادة رقمية صادرة عن جهة خارجية تُستخدم لتوقيع البرنامج أو التعليمات البرمجية رقميًا. عندما يتم توقيع البرنامج باستخدام شهادة توقيع التعليمات البرمجية، فإنه يسمح للمستخدمين بالتحقق من صحة البرنامج وسلامته قبل تثبيته أو تنفيذه.
يتم إصدار شهادات التوقيع من قبل جهة خارجية موثوقة المراجع المصدقة (CA)، الذين يتحققون من هوية ناشر البرنامج وسلامة كود البرنامج. يستخدم المرجع المصدق خوارزميات التشفير لإنشاء توقيع رقمي للبرنامج، والذي يتم بعد ذلك تضمينه في الكود الموقع. عندما يحاول المستخدم تثبيت البرنامج أو تنفيذه، سيقوم نظامه بفحص التوقيع الرقمي للتأكد من مطابقته للتوقيع الذي تم إنشاؤه بواسطة المرجع المصدق. في حالة تطابق التوقيعات، يعتبر البرنامج أصليًا ولم يتم التلاعب به منذ التوقيع عليه.
يعتمد هذا النظام على التشفير بالمفتاح العام، المعروف أيضًا باسم التشفير غير المتماثل - وهي طريقة تشفير تستخدم مفتاحين مختلفين، مفتاح عام ومفتاح خاص، لتشفير البيانات وفك تشفيرها. في سياق توقيع التعليمات البرمجية، يتم استخدام زوج المفاتيح الخاص والعام لتوقيع البرامج والتعليمات البرمجية.
في هذه العملية، يقوم ناشر البرنامج بإنشاء زوج مفاتيح خاص وعام، حيث يتم الاحتفاظ بالمفتاح الخاص سرًا ويكون المفتاح العام متاحًا للآخرين. يستخدم ناشر البرنامج بعد ذلك مفتاحه الخاص لإنشاء توقيع رقمي للبرنامج أو الرمز الذي يرغب في التوقيع عليه. هذا التوقيع الرقمي عبارة عن قيمة تجزئة يتم إنشاؤها عن طريق تشغيل البرنامج أو التعليمات البرمجية من خلال خوارزمية رياضية ثم تشفير قيمة التجزئة الناتجة باستخدام المفتاح الخاص للناشر.
عندما يقوم المستخدم بتنزيل البرنامج أو الكود الموقع، يستخدم نظامه المفتاح العام لناشر البرنامج لفك تشفير التوقيع الرقمي والتحقق من مطابقته لقيمة التجزئة للبرنامج أو الكود الذي تم تنزيله. إذا كان التوقيع الرقمي صالحًا، فيمكن للمستخدم أن يكون واثقًا من أنه لم يتم العبث بالبرنامج أو التعليمات البرمجية منذ توقيعه بواسطة ناشر البرنامج.
استنادًا إلى هذا المفهوم البسيط، يتمثل العلاج المقترح في توقيع كل إصدار جديد وثنائي وصورة مباشرةً باستخدام مفتاح الشركة أو مفتاح خط أنابيب الإنشاء ومطالبة المستخدم فقط بالتحقق من التوقيع عند تنزيل البرنامج أو تحديثه.
وبطبيعة الحال، الأمور ليست دائما بهذه البساطة. إذا تسللت الجهات الفاعلة السيئة إلى خادم البناء، فإن التوقيع على البناء هناك لا معنى له بالفعل. إذا تم اختراق البنية التحتية الرئيسية، فإن العملية برمتها لا معنى لها بالمثل.
ولكن مطالبة المستخدمين بالتحقق من التوقيع، وهو أمر سريع وسهل يمكن إجراؤه تلقائيًا، هو ثمن بسيط يجب دفعه للمساعدة في منع الهجوم التالي على سلسلة توريد البرامج.
لكن مهلا، قد تتساءل، ماذا لو كانت مكتبة مفتوحة المصدر بالفعل هي مصدر التلوث؟ في مثل هذه الحالة، يعد التوقيع على البناء أمرًا لا معنى له مرة أخرى نظرًا لأن كود التسوية "مضمن".
هذا هو المكان الذي نحتاج فيه إلى البدء في النظر في نظام بيئي للثقة يعتمد على التوقيع والتحقق من هذه التوقيعات. إذا تم التوقيع على هذه الحزم مفتوحة المصدر وتم التحقق من التوقيعات عند دمجها في كود الشركة، فقد يقلل ذلك من احتمالية حدوث خرق.
حيث يأتي الكاتب
كاتب نفذت أداة تسمى فالينت التي تمكنك من التوقيع والتحقق الملفات والمجلدات والصور. دون الحاجة إلى صيانة أنظمة PKI معقدة، تطبق الأداة نهجًا جديدًا لاستخدام هويتك التي تم التحقق منها بالفعل (مثل هوية Google أو Microsoft أو GitHub أو AWS على سبيل المثال) للتوقيع على القطعة الأثرية المطلوبة. يمكنك لاحقًا استخدام نفس الأداة للتحقق من توقيع القطعة الأثرية وما هي الهوية المستخدمة للتوقيع عليها.
لنفترض أن خط أنابيب البناء الخاص بك ينتج صورة حاوية كقطعة أثرية نهائية. مباشرة بعد إنشاء تلك الصورة، يجب عليك التوقيع عليها وتحميل النسخة الموقعة إلى المستودع حيث يمكن لعملائك تنزيلها. بمجرد التوقيع، لا يمكن تعديل هذه الصورة - فهي مقفلة. يمكن لأي شخص يريد التحقق من توقيعه ومن تطابق هوية التوقيع مع ما نشرته الشركة.
هذه الأداة ليست سوى جزء من القدرات الممنوحة من خلال تنفيذ حل الكاتب SaaS لمؤسستك. بهدف تحسين أمان سلسلة توريد البرامج لديك والشفافية العامة لديك، هناك كل الأسباب للذهاب والتحقق من ما يمكن أن يقدمه لك Scribe.
يتم تقديم هذا المحتوى إليك بواسطة Scribe Security، وهي شركة رائدة في مجال توفير حلول أمان سلسلة توريد البرامج الشاملة - حيث توفر أحدث الأمان لعناصر التعليمات البرمجية وعمليات تطوير التعليمات البرمجية وتسليمها عبر سلاسل توريد البرامج. تعرف على المزيد.