هجوم دفتر الأستاذ: استنزاف محافظ تشفير الأجهزة

هجوم دفتر الأستاذ: استنزاف محافظ تشفير الأجهزة

يحلل هذا المنشور الهجوم على ليدجر كمثال على كيف أدى التصيد الاحتيالي إلى هجوم سلسلة توريد البرامج (SSC) على أداة مجموعة أدوات الاتصال التي تستخدمها محافظ الأجهزة الخاصة بالشركة، مما مكن الممثل من استنزاف أموال بقيمة 600,000 دولار على الأقل. 

جاء هذا الهجوم بحلول نهاية عام مليء بحوادث سلسلة التوريد. في هذا المقال نقوم بتحليل الهجوم وتأثيره وكيفية التعامل معه وما هي الدروس التي يمكن استخلاصها.

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

يحتاج ليدجر إلى أخذ الأمن على محمل الجد (فهو جزء أساسي من أعمالهم)، مع وجود مختبر أبحاث داخلي (احتفظ) معالجة شهادة أمان الجهازأو المعلم علة فضله برنامج النشرات الأمنيةو نمذجة التهديد. حتى الان جيدة جدا …

كيف تم الهجوم

اكتشف Ledger ثغرة استغلالية باستخدام Ledger مجموعة توصيل DApp في يوم الخميس الموافق 14 ديسمبر 2023. أدى هذا الاستغلال إلى إدخال تعليمات برمجية ضارة داخل التطبيقات اللامركزية المستندة إلى Ethereum (DApps) التي كانت تستخدم Ledger Connect Kit، مما يخدع المستخدمين لتوقيع المعاملات التي تستنزف محافظهم. 

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

بدأ الهجوم عندما وقع موظف سابق في Ledger ضحية لهجوم تصيد احتيالي تمكن من الوصول إلى حساب NPM الخاص به عبر رمز الجلسة. قام المهاجمون بنشر إصدارات ضارة من البرنامج  @ledgerhq/connect-kit (1.1.5، 1.1.6 و1.1.7، متقاعد الآن). يمكن للمهاجمين تشغيل تعليمات برمجية عشوائية بنفس مستوى الأذونات مثل تطبيق المحفظة: يمكن للمهاجمين استنزاف أموال المستخدمين على الفور دون تفاعل، أو توزيع العديد من روابط التصيد الاحتيالي لخداع المستخدمين، أو استغلال ذعر المستخدمين من خلال إقناعهم بنقل الأصول إلى عنوان جديد. مما أدى إلى خسارة الأصول بسبب تنزيل محفظة مزيفة.

تستخدم الواجهات الأمامية للمحفظة (dApps) عادةً ربط عدة محمل حزمة من Ledger لتحميل Connect Kit في وقت التشغيل من JavaScript CDN (jsDelivr). لسوء الحظ، عنوان URL https://cdn.jsdelivr.net/npm/@ledgerhq/connect-kit@1 لم يكن تثبيت الإصدار الدقيق (1.1.4 في ذلك الوقت)، لذلك عندما تم تحميل الإصدارات الضارة، تم تقديمها (وتم تخزينها مؤقتًا) بواسطة CDN. ولم يتم استخدام أي مجموع اختباري للتأكد من أن المورد الذي تم تنزيله من CDN هو في الواقع المورد المتوقع (والذي يجب استخدامه عند توزيع التعليمات البرمجية من CDN). تمت تسمية هذا المخطط المستند إلى المجموع الاختباري سلامة المصدر الفرعي (سري).

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

الاكتشاف والتحقيق

بدأ مستخدمون مختلفون في نشر رسائل في X (المعروف أيضًا باسم Twitter) مفادها أن واجهة Zapper الأمامية "تم اختطافها". يعود الفضل في الفضل إلى ماثيو ليلي، مدير التكنولوجيا التنفيذي في شركة تداول العملات المشفرة سوشي، الذي حذر لأول مرة في مشاركة Twitter أن "موصل web3 الشائع الاستخدام" قد تم اختراقه. وأشار فيما بعد إلى LedgerHQ/مجموعة الاتصال باعتبارها المكتبة المخترقة، وقدمت تقييمًا أوليًا، بفظاظة بعض الشيء:

قام المستخدم 0xViva بفتح تذكرة في مستودع مشروع GitHub: [عاجل] يستخدم هذا المستودع نسخة ضارة من حزمة npm @ledgerhq/connect-kit، 1.1.7.

في 15 ديسمبر 2023، نشر نموذج أمان blockchain SlowMost بيانًا وظيفة التحليل إعطاء تفاصيل كاملة عن الإصدارات الضارة. 

لم يتم اختراق محفظة أجهزة Ledger، فقط مجموعة Ledger Connect Kit. ومع ذلك، نظرًا لأن العديد من التطبيقات تستخدم تلك المكتبة، مثل SushiSwap، وZapper، وMetalSwap، وHarvest Finance، وRevoc.cash، وما إلى ذلك، فقد كان نطاق التأثير كبيرًا. وفق bittrace.io، حاول بعض الضحايا، بسبب الذعر، تحويل الأصول إلى عنوان جديد، لكنهم قاموا بتنزيل تطبيق محفظة مزيف! 

في نفس اليوم، جيمسون لوب بدقة تويتد عن العيوب التي سمحت للهجوم بالنجاح:

كيف تم التعامل مع الحادثة

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

هيكل الرسالة مثير للاهتمام: لقد تم التعرف على الفور على وجود إصدارات ضارة من المكتبة تستنزف الأموال، وهو أمر جيد (إنكار الواقع هو هراء):

"لقد واجهنا اليوم استغلالًا في Ledger Connect Kit، وهي مكتبة Javascript تقوم بتنفيذ زر يسمح للمستخدمين بتوصيل جهاز Ledger الخاص بهم بتطبيقات DApps التابعة لجهات خارجية (مواقع الويب المتصلة بالمحفظة).

كان هذا الاستغلال نتيجة لوقوع موظف سابق ضحية لهجوم تصيد احتيالي، مما سمح لممثل سيء بتحميل ملف ضار إلى Ledger's NPMJS (مدير حزم كود Javascript المشترك بين التطبيقات).

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

ماذا؟ ألم يتم إلغاء أوراق اعتماد موظف سابق يتمتع بحقوق النشر في NPM؟

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

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

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

وكان هذا حادثا معزولا مؤسفا. إنه تذكير بأن الأمان ليس ثابتًا، ويجب على Ledger تحسين أنظمة وعمليات الأمان لدينا بشكل مستمر. في هذه المنطقة، سيطبق ليدجر ضوابط أمنية أقوى، لربط بنيتنا pipeline التي تنفذ صارمة software supply chain security إلى قناة التوزيع NPM."

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

نهاية الرسالة أكثر standard قسم التعامل مع السلطات، "بيان تحت السيطرة"، والاعتذارات:

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

الوضع الآن تحت السيطرة وانتهى التهديد. نحن نتفهم الذعر الذي سببه هذا للمجتمع والنظام البيئي الأوسع.

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

"هذا الصباح بتوقيت وسط أوروبا، وقع موظف سابق في Ledger ضحية لهجوم تصيد احتيالي تمكن من الوصول إلى حساب NPMJS الخاص به. نشر المهاجم إصدارًا ضارًا من Ledger Connect Kit (يؤثر على الإصدارات 1.1.5 و1.1.6 و1.1.7). استخدمت التعليمات البرمجية الضارة مشروع WalletConnect المارق لإعادة توجيه الأموال إلى محفظة القراصنة. تم تنبيه فرق التكنولوجيا والأمن في Ledger وتم نشر الإصلاح في غضون 40 دقيقة من علم Ledger. كان الملف الضار موجودًا لمدة 5 ساعات تقريبًا، ومع ذلك نعتقد أن الفترة التي تم فيها استنزاف الأموال كانت محدودة بفترة أقل من ساعتين. قام Ledger بالتنسيق مع WalletConnect الذي قام بتعطيل المشروع المارق بسرعة. يتم الآن نشر إصدار Ledger Connect Kit الأصلي والمعتمد 1.1.8 وهو آمن للاستخدام.

بالنسبة للمنشئين الذين يقومون بالتطوير والتفاعل مع كود Ledger Connect Kit: أصبح فريق تطوير أدوات الاتصال في مشروع NPM الآن للقراءة فقط ولا يمكنه دفع حزمة NPM مباشرة لأسباب تتعلق بالسلامة. لقد قمنا بتدوير الأسرار داخليًا للنشر على Ledger's GitHub. المطورين، يرجى التحقق مرة أخرى من أنك تستخدم الإصدار الأحدث، 1.1.8.

دفتر الأستاذ، جنبا إلى جنب مع Wallet Connect لقد أبلغنا وشركاؤنا عن عنوان محفظة الممثل السيئ. العنوان مرئي الآن على Chainalysis. حبل قام بتجميد USDT الخاص بالممثل السيئ."

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

العواقب: كيف كان رد فعل الصناعة

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

تتمتع صناعة الأمن السيبراني بمكانة خاصة في العملات السيبرانية. تعتبر حملات استنزاف المحفظة معروفة جيدًا، والتي تستخدم بشكل أساسي مواقع التصيد الاحتيالي لخداع المستخدمين النهائيين. تتمتع أعمال SaaS المعتادة (Scam-as-a-Service) بجهات فاعلة متخصصة في استنزاف المحفظة، مثل بائع الاحتيال تجفيف الجحيم التي وأعلن وقف العمليات في نوفمبر 2023. يبدو أن هذا علم خاطئ على أي حال، وفقًا للنشاط الأخير الذي شوهد في Dune's @scamsniffer. تم شرح المخطط الذي يتبعونه من خلال منشور Group-IB:

سير عمل Inferno Drainer. المصدر: وداعا جحيم تجفيف؟ (...)، من قبل المجموعة-IB.
هجوم دفتر الأستاذ: استنزاف محافظ تشفير الأجهزة

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

هجوم دفتر الأستاذ: استنزاف محافظ تشفير الأجهزة

A تعليق بواسطة مستخدم آخر، HenryQWوأشار إلى الشيء الثاني الذي جعل الإصدارات الضارة قادرة على الانتشار عبر CDN:

من السابق لأوانه رؤية مبادرات طويلة الأمد لتعزيز واجهات محافظ العملات المشفرة الأمامية ضد هجمات التصيد الاحتيالي. يبدو أن الالتزام بـ standard على غرار ما با-DSS يمكن الترحيب بما يفعله بائعو برامج تطبيقات الدفع في صناعة العملات المشفرة.

والآن، الدروس المستفادة!

إنه لأمر مدهش كيف أن محفظة الأجهزة، وهي مثال لأمن التشفير، تم اختراقها ببساطة عن طريق منع الوصول إلى بيانات اعتماد الآلية الوطنية "موظف سابق" في Ledger (ربما اسم مستخدم/كلمة مرور بدون حماية 2FA، أو رمز وصول). يعد هذا الحادث بمثابة تذكير صارخ بأنه عندما تتعرض للنيران، يجب حماية البنية التحتية لبرامجك بنفس العناية التي تتمتع بها برامجك أو منتجات أجهزتك.

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

مصادقة 2FA، وخاصةً باستخدام عناصر قوية مثل مفاتيح الأمان، مما يحد من المخاطر من خلال العمليات التفاعلية. CI/CD pipelineس، رموز الوصول ذات الوصول المحدود المخزنة كـ CI/CD السر هو الطريقة المعتادة (ولا ينبغي تسريب رمز الوصول). للأسف، يبدو أن الموظف لم يكن لديه نظام مصادقة ثنائية قوي. يسمح NPM المنظمات لفرض 2FA (ولكن هذا اختياري، وليس الافتراضي)، وهو على الأرجح ما يجب أن يمتلكه ليدجر. ولا تنس أن تضيف المناسب إلغاء أوراق الاعتماد إجراءات الموظفين السابقين، خاصة مع إمكانية الوصول إلى الموارد المهمة مثل نطاق الآلية الوقائية الوطنية المملوكة للمنظمة.

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

والباقي قصة.

بالنسبة لحملات التصيد الاحتيالي الأكثر تقليدية الموجهة لمستخدمي المحفظة، فإن السؤال هو: ما الذي يجعل المستخدمين يقعون في الفخاخ التي نصبها المجرمون لتأكيد المعاملات التي لم ينووا تنفيذها أبدًا؟ تم تصميم مواقع التصيد الاحتيالي في هذا المجال بشكل جيد ومقنع، وتقليد العلامات التجارية الشهيرة للعملات المشفرة؛ ويقدمون أيضًا رموزًا مجانية، سك NFTs وغيرها من المكافآت. إن تجنب وقوع المستخدمين في مثل هذه الفخاخ يمثل مشكلة تبحث عن حل.

وحتى لا ننسى وذات الصلة hacking الهجمات، وهي تهديد أكثر عمومية، حيث يستولي الخصوم على البنى التحتية السحابية لتشغيل عمال المناجم للعملات المشفرة، غالبًا لعملات الخصوصية مثل Monero XMR وZcash، مع سجلات معاملات مخفية. تعد Cryptojacking ذات صلة لأنها قد تؤثر على أي مؤسسة، وعلى الرغم من أن ربح المهاجم قد يكون منخفضًا، إلا أن التكلفة التي يتحملها الضحية قد تكون كبيرة (مذكور في Sysdig في هذا التقرير أن تكلفة المنظمة الضحية تبلغ 53 دولارًا مقابل كل دولار يتم تعدينه للمهاجم).

مراجع حسابات

اكتشف ميزات Xygeni!
شاهد عرض الفيديو الخاص بنا
أدوات تحليل التركيبات البرمجية sca
إعطاء الأولوية للمخاطر التي تتعرض لها برامجك، ومعالجتها، وتأمينها
الإصدار التجريبي المجاني من 7 يومًا
لا ضرورة لبطاقة الائتمان

قم بتأمين تطوير البرامج الخاصة بك وتسليمها

مع مجموعة منتجات Xygeni