
تحليل تشفير البيتكوين: ثغرة CVE-2025-27840 في المتحكمات الدقيقة ESP32 تعرض مليارات أجهزة إنترنت الأشياء للخطر عبر Wi-Fi وBluetooth
تناقش هذه الورقة كيف يمكن للمهاجم إدخال قائمة مخفية من الثغرات الأمنية من خلال تحديثات الوحدات، مما قد يؤدي إلى اختراق أجهزة ESP32 والحصول على وصول غير مصرح به إلى المفاتيح الخاصة، مما يؤثر على مليارات الأجهزة التي تستخدم هذا المتحكم الدقيق. إحدى المشكلات الرئيسية هي ثغرة CVE-2025-27840 التي تم اكتشافها في بنية ESP32. لضمان أمان شبكة Bitcoin، حددنا الثغرات التالية، حيث احتمال استخدام مفاتيح خاصة غير صالحة بسبب عدم وجود فحص للحد الأدنى في الدالة has_invalid_privkey؛ ثغرة في تزوير توقيع المعاملات في الدالة electrum_sig_hashبسبب عدم التوافق مع BIP-137؛ مشكلة ضعف مولد الأرقام العشوائية (PRNG) في دالة توليد المفاتيح random_key، مما يجعل المفاتيح الخاصة الشخصية لمحافظ العملات الرقمية قابلة للتوقع؛ عدم التحقق من النقاط على منحنى ECC في الدالة multiply، مما قد يؤدي إلى هجمات المنحنى غير الصالح؛ ثغرة في الدالة ecdsa_raw_signعند استعادة الإحداثي Y، مما قد يؤدي إلى استبدال المفتاح العام؛ وثغرات متعلقة بواجهات برمجة التجزئة القديمة في bin_ripemd160.
في أوائل مارس 2025، حددت Tarlogic Security ثغرة أمنية في المتحكم الدقيق ESP32، الذي يُستخدم على نطاق واسع لتوصيل الأجهزة عبر WiFi و Bluetooth. تم تسجيل هذه الثغرة تحت الرقم CVE-2025-27840 . يمكن للمهاجمين الوصول غير المصرح به إلى بيانات محفظة Bitcoin باستخدام شريحة ESP32 كنقطة لهجمات التشفير على الأجهزة التي تعمل على شبكات العملات الرقمية الشهيرة مثل Bitcoin و Ethereum. تؤثر هذه المشكلة على ملايين أجهزة إنترنت الأشياء التي تستخدم هذا المتحكم الدقيق. سيسمح استغلال هذه الثغرة للمهاجمين بتنفيذ هجمات متنكرة في هيئة مستخدمين شرعيين وإصابة الأجهزة الضعيفة بشكل دائم. يهدد هذا أمان أجهزة إنترنت الأشياء القائمة على المتحكم الدقيق ESP32 ويمكن أن يؤدي إلى سرقة المفاتيح الخاصة لمحافظ Bitcoin.
ESP32 هو متحكم دقيق يُستخدم على نطاق واسع في أجهزة إنترنت الأشياء لتوفير اتصال Wi-Fi و Bluetooth. يمكن للمهاجمين استخدام طرق متنوعة للوصول إلى بيانات المفتاح الخاص لمحافظ Bitcoin عبر ESP32.
يمكن أن تؤدي التهديدات الأمنية المتعلقة بالمتحكم الدقيق ESP32 إلى سرقة المفاتيح الخاصة لمحافظ Bitcoin. تشمل المشكلات الرئيسية وجود الأبواب الخلفية والثغرات الأمنية. باستخدام هذه الثغرات، يمكنهم التلاعب بالذاكرة، وتزوير عناوين MAC، وحقن كود ضار، مما يخلق مخاطر أمنية خطيرة.
يمكن للمهاجمين مهاجمة أجهزة إنترنت الأشياء المزودة بمتحكم دقيق ESP32 باستخدام ثغرات في اتصالات Bluetooth و Wi-Fi، والتي يمكن أن تصبح أداة لمهاجمة أجهزة أخرى على الشبكة المتعلقة بـ Bitcoin، بالإضافة إلى سرقة المعلومات السرية، بما في ذلك المفاتيح الخاصة لمحافظ Bitcoin.
يمكن للمهاجم تحديث الوحدات وإدخال قائمة من الثغرات المختلفة في الكود، بما في ذلك:
has_invalid_privkeyيمكن استخدامها للحصول على المفتاح الخاص.electrum_sig_hashتسمح بتزوير توقيعات معاملات Bitcoin.random_keyمرتبطة بمولد أرقام عشوائي زائف ضعيف (PRNG غير حتمي).multiplyحيث لا يوجد فحص لنقطة على منحنى ECC.ecdsa_raw_sign و bin_ripemd160.يمكن استخدام هذه الثغرات لحقن تحديثات مزيفة في أجهزة ESP32، مما يمنح المهاجمين وصولاً منخفض المستوى إلى النظام. سيمكنهم هذا من تجاوز ضوابط تدقيق الكود والحصول على المفاتيح الخاصة. حالياً، قد تكون مليارات الأجهزة عرضة للخطر بسبب الميزات المخفية لمكون واحد في بنيتها، والذي يُشار إليه بـ CVE-2025-27840.
has_invalid_privkeyتم العثور على هذه الثغرة في كود التحقق من المفتاح الخاص لـ Bitcoin، مما يسمح باستخدام مفاتيح غير صالحة (أقل من أو تساوي 0) بسبب عدم وجود فحص للحد الأدنى. يمكن أن يؤدي هذا إلى فقدان الأموال. لإصلاح ذلك، يجب إضافة فحص للتأكد من أن المفتاح الخاص أكبر من 0. يتم تقديم الكود لأغراض التوضيح.
https://github.com/primal100/pybitcointools/blob/e7c96bfe1f4be08a9f3c540e598a73dc20ca2462/cryptos/main.py#L305يسمح هذا الخلل باستخدام مفاتيح خاصة سيئة، مما قد يؤدي إلى مشاكل خطيرة، بما في ذلك فقدان المال.
لإصلاح ذلك، تحتاج إلى إضافة فحص للتأكد من أن المفتاح الخاص أكبر من 0.
تخيل أن شخصاً ما يحاول "اختراق" شبكة Bitcoin. يجدون نقطة ضعف في التحقق من المفاتيح الخاصة المستخدمة للوصول إلى العملة الرقمية.
المشكلة هي أن الكود يتحقق فقط مما إذا كان المفتاح الخاص كبيراً جداً. إذا كان المفتاح كبيراً جداً، يتم رفضه. لكن الكود ينسى التحقق مما إذا كان المفتاح صغيراً جداً (أقل من أو يساوي الصفر).
القسم من الكود حيث يحدث هذا: