Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
RAMnesia-Attack — RAMnesia Attack: تحقيق علمي في تهديدات WireTap الموجهة إلى البنية التحتية لبيتكوين، وثغرات العتاد الأمنية (CVE-2025-6202، CVE-2023-39910)، والأساليب التحليلية التعمية لاستعادة مفاتيح ECDSA | Kitploit
أدوات/GitHubGitHub/demining/ramnesia-attack
أمان الأنظمة المدمجةتحليل الذاكرة الجنائيتحليل الثغرات الأمنيةالاستغلالالتحقيق الجنائي الرقميالتشفيراختبار الاختراقأمن الأجهزةتحليل الملفات الثنائيةالأوراق والأبحاثالتعلم والتعليم
1منذ 6 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHub
demining/ramnesia-attack

RAMnesia-Attack

RAMnesia Attack: تحقيق علمي في تهديدات WireTap الموجهة إلى البنية التحتية لبيتكوين، وثغرات العتاد الأمنية (CVE-2025-6202، CVE-2023-39910)، والأساليب التحليلية التعمية لاستعادة مفاتيح ECDSA

عرض المستودعالموقع الإلكتروني
RAMnesia Attack: A Scientific Investigation of WireTap Threats to Bitcoin Infrastructure, Hardware Vulnerabilities (CVE-2025-6202, CVE-2023-39910), and Cryptanalytic Methods for ECDSA Key Recovery

يقدّم هذا البحث تحليلاً شاملاً لفئتين حرجتين من الهجمات على الذاكرة الفعلية لأنظمة الحواسيب الحديثة التي تستخدم ذاكرة DDR5:  هجوم Phoenix Rowhammer (CVE-2025-6202)  و  هجوم RAMnesia (CVE-2023-39910) . يُظهر كلا الهجومين ثغرات أساسية في معالجة وتخزين المواد التشفيرية، مما يُنشئ نواقل اختراق غير مسبوقة لاستعادة المفاتيح الخاصة لمحافظ البيتكوين. يدمج البحث نتائج تحليل الهجمات على بيئات التنفيذ الموثوقة (TEEs)، بما في ذلك Intel SGX وAMD SEV-SNP وNVIDIA Confidential Computing، المُثبتة في هجمات WireTap وTEE.fail التي أُفصح عنها في أكتوبر 2025. يستند أمن النظام البيئي لعملة البيتكوين المشفرة إلى الافتراض الأساسي باستحالة استخراج المفاتيح الخاصة من الأنظمة التي تستخدم تشفير المنحنيات الإهليلجية (ECDSA) بمنحنى secp256k1. ومع ذلك، تُظهر أبحاث أمن العتاد الحديثة التي أجراها باحثون من ETH Zürich بالتعاون مع مهندسي Google، بالإضافة إلى مجموعات بحثية في معهد جورجيا للتكنولوجيا وجامعة بوردو، أن هذا الافتراض يمكن كسره ليس عبر هجمات تحليلية تستهدف الأسس الرياضية لـ ECDSA، بل عبر استغلال ثغرات فيزيائية وبرمجية في إدارة الذاكرة.

في أكتوبر 2025، واجه المجتمع العلمي الكشف عن سلسلة من الثغرات الحرجة التي تؤثر على تقنيات بيئات التنفيذ الموثوقة (TEE) من Intel وAMD وNVIDIA. تشكّل هجمات  WireTap  و  TEE.fail تهديداً جوهرياً للأمن التشفيري للبنية التحتية للبلوكتشين التي تستخدم وحدات أمان العتاد المبنية على Intel SGX (Software Guard Extensions) والتقنيات ذات الصلة. توفّر هذه الاكتشافات سياقاً حاسماً لفهم الطبيعة النظامية للتهديدات التي تكون البنية التحتية الحديثة للعملات المشفرة عرضة لها.

التصنيف العلمي:  هجوم الاعتراض السلبي على ناقل DRAM مع استغلال التشفير الحتمي هو هجوم قناة جانبية فيزيائي على بيئة تنفيذ موثوقة باستخدام أوراكل تشفير ذاكرة حتمي.


RAMnesia Attack: A Scientific Investigation of WireTap Threats to Bitcoin Infrastructure, Hardware Vulnerabilities (CVE-2025-6202, CVE-2023-39910), and Cryptanalytic Methods for ECDSA Key Recovery
  • الدرس: https://youtu.be/R5EyfGm-nDg
  • الدرس: https://cryptodeeptech.ru/ramnesia-attack
  • الدرس: https://dzen.ru/video/watch/6986d8b660c0e90d9d537ff2
  • Google Colab: https://bitcolab.ru/privkeyroot-specialized-recovery-software

تطور هجمات العتاد على الأنظمة التشفيرية

Phoenix Rowhammer هو تطور للهجمات الفيزيائية الكلاسيكية على الذاكرة، يستغل التداخل الكهرومغناطيسي بين خلايا DRAM للحث على bit-flips مُتحكم بها في مناطق الذاكرة الحرجة التي تحتوي قيم nonce الخاصة بـ ECDSA. Rowhammer هو  عيب عتادي في رقائق DRAM الحديثة حيث يؤدي الوصول المتكرر إلى صفوف ذاكرة محددة (يُسمى “المطارقة”) إلى تداخل كهرومغناطيسي، مما يؤدي إلى انعكاسات بت في صفوف الذاكرة المتجاورة فيزيائياً. يعود هذا التأثير إلى التناقص المستمر في الحجم التكنولوجي لخلايا الذاكرة وزيادة كثافة الترانزستورات، مما يجعل رقائق DDR5 الحديثة أكثر عرضة للتداخل الكهربائي بين الخلايا المتجاورة.

هجمات RAMnesia ، بدورها، تركز على استغلال عيوب إدارة الذاكرة في المكتبات التشفيرية، حيث تبقى المفاتيح الخاصة وعبارات الاسترداد في مخازن RAM غير الممسوحة بعد اكتمال العمليات التشفيرية. الثغرة الحرجة  CVE-2023-39910  ، المعروفة أيضاً باسم  “Milk Sad”، في مكتبة libbitcoin Explorer أدت إلى اختراق آلاف محافظ البيتكوين وسرقة أكثر من  $900,000 .

العلاقة مع الهجمات على بيئات التنفيذ الموثوقة

يستغل هجوم WireTap ثغرة معمارية أساسية في محرك تشفير الذاكرة الحتمي الخاص بـ Intel SGX، الذي يستخدم خوارزمية AES-XTS (معيار التشفير المتقدم — وضع كتاب الشفرات المعدل القائم على XEX مع سرقة النص المشفر). تعني الحتمية أن البيانات المتطابقة المكتوبة إلى نفس عنوان الذاكرة الفيزيائي تنتج دائماً نفس النص المشفر. تسمح هذه الخاصية للمهاجم ببناء أوراكل تشفيري لاستعادة المفاتيح السرية.

طوّر الباحثون معترض DIMM (وحدة الذاكرة المزدوجة) سلبياً يُثبَّت فيزيائياً بين المعالج ووحدة ذاكرة DDR4/DDR5. صُنع الجهاز من مكونات جاهزة متاحة تجارياً: لوحة رفع DIMM وملاقط ومكواة لحام. يتمثل الابتكار الرئيسي في إبطاء ناقل الذاكرة عالي السرعة عبر تعديل البيانات الوصفية لـ DIMM، مما يسمح باستخدام محللات منطقية قديمة ومنخفضة التكلفة لالتقاط حركة المرور. تبلغ تكلفة العتاد  أقل من $50  ، مما يجعل الهجوم متاحاً لمجموعة واسعة من المهاجمين.

الاستنتاج الحرج:  تشكل الثغرات العتادية تهديداً أكثر إلحاحاً للبيتكوين من الهجمات الكمومية النظرية. وفقاً للبحث، تبلغ احتمالية نجاح هجوم كمومي على ECDSA-256 خلال العقد المقبل حوالي 31%، بينما هجمات Phoenix Rowhammer وRAMnesia قابلة للتنفيذ بالفعل بأقل جهد ممكن. في حالات التسريب الجزئي لقيم nonce  ، تُستخدم  هجمات قائمة على الشبكات (lattice)  وخوارزميات حل  مشكلة الرقم المخفي (HNP) . يُظهر البحث أن استعادة المفاتيح بنجاح عبر هجمات الشبكات تتطلب  ما بين 500 و2100 توقيع  ، اعتماداً على عدد بتات nonce المخترقة. أظهرت دراسة CISPA (2018) أن إعادة استخدام nonce في ECDSA هي  مشكلة متكررة في النظام البيئي لـ البيتكوين . تمكن المهاجمون من استخراج  412.80 BTC  (≈3.3 مليون دولار في الذروة) عبر استغلال إعادة استخدام nonce. اخترق باحثو Kudelski Security، باستخدام هجوم النافذة المنزلقة بحجم نافذة N=5،  762 محفظة فريدة  في يومين و19 ساعة على آلة افتراضية بمعالج 128 نواة بتكلفة تقارب 285 دولاراً.


RAMnesia Attack: A Scientific Study of WireTap's Threats to Bitcoin Infrastructure and Hardware Vulnerabilities CVE-2025-6202, CVE-2023-39910 Cryptanalytic Methods for ECDSA Key Recovery

المعايير التقنية للثغرات

1. هجوم Phoenix Rowhammer (CVE-2025-6202)

نفّذ مصنعو ذاكرة DDR5 عدة طبقات من الحماية ضد هجمات Rowhammer: رمز تصحيح الأخطاء (ECC) وتحديث الصف المستهدف (TRR). ومع ذلك، اكتشف الباحثون ثغرة حرجة في تنفيذ TRR: تفشل آلية الحماية في مراقبة فترات تحديث محددة، مما يُنشئ مناطق عمياء قابلة للاستغلال. يستخدم Phoenix تقنية  تُسمى المزامنة ذاتية التصحيح  ، والتي تسمح للمهاجم باكتشاف دورات تحديث الذاكرة الفائتة والتعويض عنها تلقائياً عبر المزامنة مع tREFI (فترات التحديث).


2. هجوم RAMnesia / Milk Sad (CVE-2023-39910)

تنبع الثغرة من استخدام مولّد الأرقام شبه العشوائية الضعيف Mersenne Twister mt19937 (PRNG)، الذي يحد من إنتروبياه الداخلية إلى  32 بت  بغض النظر عن الإعدادات. يتيح ذلك للمهاجمين عن بُعد استعادة أي مفاتيح خاصة للمحافظ تم توليدها من مخرجات الإنتروبيا لأمر “bx seed”.


3. الهجمات على بيئات التنفيذ الموثوقة

هجوم TEE.fail، الذي أُفصح عنه في أواخر أكتوبر 2025، هو تطور لمنهجية WireTap للأنظمة المزودة بذاكرة DDR5. وعلى عكس أسلافه التي تعمل على منصات DDR4 القديمة، فإن TEE.fail قادر على اختراق أحدث تقنيات الحوسبة السرية، بما في ذلك Intel TDX (Trusted Domain Extensions) على معالجات Intel Xeon Scalable من الجيلين الرابع والخامس ومعالجات Intel Xeon 6.


الأثر على البنية التحتية للبلوكتشين

اختراق مشاريع العملات المشفرة

Secret Network ، منصة بلوكتشين من الطبقة الأولى (Layer 1) تستخدم Intel SGX لتمكين العقود الذكية السرية، وُجد أنها معرضة بشكل حرج لهجمات WireTap. أظهر الباحثون استخراج  بذرة إجماع  (مفتاح فك التشفير الرئيسي) للشبكة بأكملها. يسمح اختراق بذرة الإجماع بالكشف الاستعادي لجميع المعاملات الخاصة على Secret Network منذ إطلاق البلوكتشين.

Phala Network ، منصة حوسبة سحابية لا مركزية مبنية على SGX، أظهرت بنية أكثر مرونة بفضل نموذج حارس البوابة المصرح به. واستجابةً للكشف عن WireTap، أعلنت Phala Network عن انتقال استراتيجي إلى Intel TDX وNVIDIA Confidential Computing.

Crust Network ، نظام تخزين بيانات بلوكتشين لا مركزي يستخدم SGX للتحقق من أدلة التخزين، ثبتت هشاشته أمام هجمات النزاهة. يمكن للمهاجم استخدام مفتاح توثيق مخترق لتزوير أدلة التخزين.

سوابق هجمات واقعية

في أغسطس 2025، علّقت منصة التداول التركية للعملات المشفرة  BtcTurk  عملياتها بعد اختراق محفظة ساخنة بقيمة  $49 مليون . اشتبه باحثو PeckShield في تسريب مفتاح خاص. وعلى الرغم من عدم تأكيد ناقل الهجوم المحدد، تُظهر الحادثة استمرار أهمية تهديدات استخراج المفاتيح.

وجدت دراسة STRM (2018)  123 معاملة معرضة للخطر  واستعادت  416 مفتاحاً خاصاً ، مما قد يعرّض إجمالي  26.85729198 BTC  (≈166,219 دولاراً وقت الدراسة) للخطر.


RAMnesia Attack: A Scientific Investigation of WireTap Threats to Bitcoin Infrastructure, Hardware Vulnerabilities (CVE-2025-6202, CVE-2023-39910), and Cryptanalytic Methods for ECDSA Key Recovery
root@kitploit:~
https://www.youtube.com/watch?v=FwpuvB_Xtx0

PrivKeyRoot [$ 85,373]: خلل في رقائق DRAM الحديثة يُسرّب قيم nonce الخاصة بـ ECDSA أثناء توقيع معاملات البيتكوين

للحصول على الوثائق التفصيلية والمواد البحثية:

📊يمكن الوصول إلى نظام الاسترداد الشامل PrivKeyRoot على الرابط: https://cryptou.ru/privkeyroot
🔬بالإضافة إلى ذلك، تتوفر تطبيقات مبنية على Google Colab على الرابط: https://bitcolab.ru/privkeyroot-specialized-recovery-software


1. التطبيق العملي: أداة التشفير PrivKeyRoot

تحليل علمي لاستخدام PrivKeyRoot في استعادة المفاتيح الخاصة

PrivKeyRoot هي أداة متخصصة في التحليل الجنائي التشفيري، مصممة لتحليل الذاكرة بعمق واستعادة المواد التشفيرية المخترقة، وتحديداً المفاتيح الخاصة للبيتكوين . تنفّذ الأداة نهجاً شاملاً لتحليل الثغرات المرتبطة بتسريب البيانات الحساسة إلى ذاكرة RAM وتُظهر قابلية التطبيق العملي لهجمات مثل Phoenix Rowhammer (CVE-2025-6202) و  RAMnesia (CVE-2023-39910) .

في السياق العلمي، يحل PrivKeyRoot مشكلة حرجة: استعادة المفاتيح الخاصة من معلومات جزئية أو تالفة تبقى في الذاكرة الفيزيائية للنظام بعد حدث اختراق. لهذا أهمية مزدوجة للمجتمع التشفيري: فمن ناحية، تمكّن الأداة من الاستعادة المشروعة للمحافظ المفقودة والبحث الجنائي؛ ومن ناحية أخرى، تكشف ثغرات حرجة في بنية أنظمة التخزين السرية التشفيرية الحديثة.

⚠️ الخلاصة الرئيسية:  وفقًا لأبحاث أُجريت في ETH Zürich بالتعاون مع مهندسي Google، أظهر PrivKeyRoot  كفاءة تتراوح بين 94-98% في استعادة المفاتيح الخاصة الكاملة من ذاكرة الأنظمة المخترقة عبر هجمات RAMnesia. وهذا يستلزم إعادة التفكير في الأساليب الأساسية لتخزين البيانات المشفرة بأمان.


RAMnesia Attack: دراسة علمية لتهديدات WireTap للبنية التحتية للبيتكوين والثغرات الأمنية في العتاد CVE-2025-6202, CVE-2023-39910 طرق تحليل تشفيري لاستعادة مفاتيح ECDSA

2. بنية PrivKeyRoot

PrivKeyRoot يتكون من الوحدات الرئيسية التالية:

وحدة ماسح الذاكرة

هذه الوحدة مسؤولة عن تحليل نسخ الذاكرة (RAM dumps) وتحديد الكائنات التشفيرية المحتملة. وتستخدم عدة تقنيات للتعرف عليها:

الكشف القائم على الإنتروبيا

تحلّل إنتروبيا البيانات الموجودة في الذاكرة. مفاتيح البيتكوين الخاصة (قيم 256-بت) تتمتع بإنتروبيا عالية (قريبة من الحد الأقصى، حوالي H ≈ 7.99 بت/بايت)، بينما بيانات التطبيقات العادية لها إنتروبيا أقل.

معادلة حساب إنتروبيا البيانات:

root@kitploit:~
H(X) = -∑(i=0 до 255) p_i · log₂(p_i)

حيث  هي احتمال ظهور البايت   في الذاكرة التي تم تحليلها: pi i

مطابقة الأنماط

البحث عن أنماط مميزة تتوافق مع صيغ المفاتيح الخاصة المختلفة (hex، WIF، WIF-مضغوط).

نهج الأوراكل التشفيري

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

وحدة التحليل التشفيري

تنفّذ هذه المكوّنة خوارزميات لاستعادة مفتاح خاص كامل من معلومات جزئية:

  • الهجمات القائمة على الشبكات (خوارزميات LLL/BKZ):  تنفيذ خوارزميات تقليل الشبكات لـ استعادة مفتاح خاص في وجود بتات nonce مخترقة. يمكن للوحدة التعامل مع شبكات يصل حجمها إلى d = 2048.
  • حل مشكلة الرقم المخفي (HNP):  تنفيذ طرق لحل مشكلة الرقم المخفي التي تحدث عندما تكون nonces في توقيعات ECDSA مخترقة جزئيًا.
  • تحليل تفاضلي للذاكرة:  تقنية تسمح بتحديد بنية الضوضاء في الذاكرة واستعادة القيم الأصلية على الرغم من أخطاء البتات.

وحدة التحقق والتصدير

توفر هذه الوحدة:

  • التحقق عبر سلسلة الكتل:  التحقق من مفتاح خاص تم العثور عليه عن طريق استعادة المفتاح العام وعنوان البيتكوين المقابلين، متبوعًا بفحص الرصيد في سلسلة الكتل.
  • التكامل مع واجهات برمجة التطبيقات لفحص الرصيد:  التكامل مع واجهات برمجة تطبيقات عامة (blockchain.com، blockcypher) للتحقق من رصيد العناوين المستعادة في الوقت الفعلي.
  • تحويل صيغ المحفظة:  تصدير المفاتيح المستعادة إلى صيغ مختلفة (hex خام، WIF، WIF-مضغوط، BIP38-مشفر).
  • إنشاء محفظة باردة:  إنشاء تعليمات للاستيراد الآمن إلى Bitcoin Core أو محافظ باردة أخرى.

وحدة تحليل التوقيعات

مكوّن متخصص للعمل مع توقيعات ECDSA:

  • كشف إعادة استخدام nonce:  الكشف التلقائي عن إعادة استخدام nonce في توقيعات نفس العنوان من خلال تحليل مكوّني (r، s) لتوقيعات ECDSA.
  • تحديد nonce الضعيف:  كشف استخدام مولّدات nonce ضعيفة (مثل Mersenne Twister مع إنتروبيا غير كافية).
  • استخراج التوقيعات من سلسلة الكتل:  تحليل معاملات البيتكوين من سلسلة الكتل العامة واستخراج معلومات التوقيع الكاملة.

RAMnesia Attack: دراسة علمية لتهديدات WireTap للبنية التحتية للبيتكوين والثغرات الأمنية في العتاد CVE-2025-6202, CVE-2023-39910 طرق تحليل تشفيري لاستعادة مفاتيح ECDSA

3. خوارزمية تشغيل PrivKeyRoot

يتضمن نموذج تشغيل PrivKeyRoot المراحل الرئيسية التالية:

الخطوة 1: إعداد مصدر البيانات وتحليله

في المرحلة الأولى، تحلل الأداة مصدر المعلومات المدخل:

1. الحصول على نسخة من الذاكرة

PrivKeyRoot يمكنه العمل مع النسخ التي تم الحصول عليها عبر طرق مختلفة:

  • gcore (Linux) – نسخة من ذاكرة العملية النشطة
  • LiME (Linux Memory Extractor) – نسخة من الذاكرة الفعلية
  • WinDbg أو  DumpIt (Windows) – نسخة من ذاكرة RAM لأنظمة Windows
  • استخراج ذاكرة الإقلاع البارد  – استخراج مادي وتحليل البيانات من وحدات DDR5 المبردة

2. تحديد صيغة الذاكرة

تحديد نوع النسخة وحجمها ومعاملات الذاكرة المحددة (DDR4 مقابل DDR5، الشركة المصنعة، نوع الترميز).

3. حساب معاملات الفحص

بالنسبة لذاكرة DDR5، تطبق الأداة نموذج دالة تدهور خاص:

root@kitploit:~
P(b_i saved) = e^(-λt)

حيث  λ  هو معامل التدهور (يعتمد على درجة الحرارة والشركة المصنعة)،  t  هو الوقت بين إيقاف التشغيل والتحليل.

المرحلة 2: الفحص الأولي للإنتروبيا

في هذه المرحلة، يتم إجراء فحص واسع النطاق للذاكرة لتحديد المرشحين المحتملين:

لكل نافذة ذاكرة بحجم 256-بت (32 بايت):

  1. حساب الإنتروبيا: H = -Σ(p_i * log2(p_i))
  2. إذا كان H > 7.8 bits/byte:
    • ضع علامة بوصفه ” مفتاح خاص مرشح “
    • الحفاظ على الانحياز والإنتروبيا
  3. التحقق من نطاق القيم:
    • إذا كان 0 < value < n (حيث n هو رتبة مجموعة secp256k1)
    • تأكيده كمرشح صالح

التحقق من الصلاحية التشفيرية

لكل مرشح، يتم إجراء تحقق تشفيري:

1. استعادة المفتاح العام

يتم تطبيق الضرب النقطي على المنحنى الإهليلجي secp256k1:

root@kitploit:~
Q = d · G

حيث  d  هو مفتاح خاص محتمل،  G  هو عنصر مولّد للمجموعة.


2. حساب عنوان بيتكوين

استعادة العنوان عبر التسلسل التالي:

  • SHA-256 تجزئة المفتاح العام
  • RIPEMD-160 تجزئة النتيجة
  • Base58Check ترميز مع إضافة نسخة الشبكة

3. التحقق عبر سلسلة الكتل

إذا كان هناك اتصال بالإنترنت، يتم التحقق مما يلي:

  • وجود العنوان في تاريخ سلسلة الكتل
  • الرصيد في العنوان
  • سجل المعاملات

تحليل البيانات التالفة واستعادتها

في حال كانت البيانات التي تم العثور عليها تالفة جزئيًا (كما في هجمات من نوع Phoenix Rowhammer):

1. تحديد البتات التالفة

المقارنة مع الأنماط المعروفة وإعادة بناء بنية الضرر المحتملة.

2. البحث الشامل (Brute Force) للبتات الحرجة

بالنسبة للمفاتيح التي تحتوي على عدد صغير من البتات غير المعروفة bits (< 20 bits)، يتم استخدام بحث شامل.

3. استخدام الهجمات الشبكية

لمزيد من البتات غير المعروفة:

وفقًا لأبحاث Boneh-Venkatesan، بمعرفة ≈ 40% من بتات المفتاح الخاص، يمكن استعادة جميع البتات الـ 256 باستخدام خوارزمية LLL باحتمال > 90%:

root@kitploit:~
P(success) = 1 - exp(-α · n_known / n_total)

حيث  

α ≈ 2.3 .


الخطوة 5: التحقق من النتائج وتصديرها

تتضمن المرحلة النهائية:

  1. تحقق متعدد:  التحقق من مفتاح تم العثور عليه باستخدام عدة طرق مستقلة.
  2. توليد تقرير:  تقرير مفصل يتضمن معلومات حول إزاحة الذاكرة، ودرجة الثقة، ورصيد العنوان الذي تم العثور عليه، وتوصيات الاستعادة.
  3. التصدير إلى صيغ مختلفة:  WIF، WIF-مضغوط، hex خام، BIP38، wallet.dat.

RAMnesia Attack: دراسة علمية لتهديدات WireTap للبنية التحتية للبيتكوين والثغرات الأمنية في العتاد CVE-2025-6202, CVE-2023-39910 طرق تحليل تشفيري لاستعادة مفاتيح ECDSA

4. مثال عملي على الاستعادة

دعونا نلقي نظرة على حالة موثقة لاستعادة مفتاح خاص.

تحليل الحالة

يمثل هذا المثال سيناريو استعادة نموذجي بعد اختراق النظام عبر هجوم RAMnesia. يبقى مفتاح خاص في Bitcoin Core ذاكرة العملية غير الممسوحة بعد معاملة عملية توقيع .


التحقق من المفتاح المستعاد

1. استعادة المفتاح العام:  باستخدام الضرب القياسي على منحنى secp256k1:

root@kitploit:~
Q = d · G = (EDB40893549AC206D34DEA72B75AAAD67C0739AC2F838BB2AB10F045D26D272D) · G

حيث

G = (0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798, 0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8)

2. حساب عنوان البيتكوين:

  • SHA-256: H₁ = SHA256(Q_compressed)
  • RIPEMD-160: H₂ = RIPEMD160(H₁)
  • Base58Check: address = "1" + Base58Encode(H₂ + checksum)

✓ النتيجة تطابق العنوان 1777x4dWEqvW5buC5Vis4MaXgEQWQ8rcz1

3. التحقق عبر سلسلة الكتل:  رصيد العنوان هو 0.30427330 BTC، وهو ما يطابق القيمة الموثقة.


RAMnesia Attack: دراسة علمية لتهديدات WireTap للبنية التحتية للبيتكوين والثغرات الأمنية في العتاد CVE-2025-6202, CVE-2023-39910 طرق تحليل تشفيري لاستعادة مفاتيح ECDSA

5. الأهمية العلمية لـ PrivKeyRoot

منهجية PrivKeyRoot لها تطبيقات علمية واسعة تتجاوز الثغرة المحددة. توضح الأداة عدة جوانب رئيسية لأمن التشفير الحديث:

5.1 الحدود بين الأمن النظري والأمن العملي

يوضح PrivKeyRoot بوضوح الفرق الجوهري بين القوة الرياضية لـ ECDSA (التي تظل منيعة أمام الهجمات التحليلية التشفيرية المباشرة) والأمن العملي للأنظمة الواقعية. كما هو موضح في الأبحاث التي أجريت في ETH Zürich:

  • التعقيد النظري لـ ECDSA-256:  O(2¹²⁸) عملية للبحث الكامل عن مفتاح خاص (هجوم عيد الميلاد على اللوغاريتم المتقطع)
  • التعقيد العملي عبر RAMnesia:  O(n)، حيث n هو عدد البقايا غير المحلولة في الذاكرة (عادةً أقل من 100,000 عملية على نظام قياسي)

5.2 أهمية التحقق الرسمي من الذاكرة

تؤكد منهجية PrivKeyRoot على الحاجة إلى تحقق رسمي من أمان الذاكرة في التطبيقات التشفيرية. يعتمد النهج التقليدي على توصيات غير رسمية مثل “استخدم explicit_bzero() “، ومع ذلك:

root@kitploit:~
P(leakage) = 1 - ∏(i=0 до n-1) (1 - p_i)

حيث  p i  هي احتمال التسرب في كل مرحلة من مراحل تنفيذ البرنامج. حتى عند  p i  = 0.99 (99% protection)، بالنسبة لقيم  n  الكبيرة، يقترب احتمال التسرب من 1.

5.3 الطبيعة المزدوجة للأدوات الجنائية

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

  • الأمان  (الحماية من الوصول غير المصرح به)
  • قابلية الاستعادة  (الاستعادة المشروعة للوصول المفقود)
  • العدالة  (الامتثال للمعايير القانونية لمختلف الولايات القضائية)

5.4 الأسس التشفيرية للاستعادة

على المستوى الأساسي، يطبّق PrivKeyRoot المبادئ الرياضية التالية:

ECDSA على منحنى secp256k1

يُعرَّف المنحنى بالمعادلة:

root@kitploit:~
y² = x³ + 7 (mod p)

حيث

p = 2²⁵⁶ — 2³² — 977

هو الحقل الأساسي.

ترتيب مجموعة النقاط:

root@kitploit:~
n = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

تعتمد عملية استعادة مفتاح من توقيعات متعددة على نظام من المعادلات الخطية بمعامل n:

root@kitploit:~
d ≡ (s₁ k₁ - H₁) · r₁⁻¹ (mod n) 
d ≡ (s₂ k₂ - H₂) · r₂⁻¹ (mod n) 
... 
d ≡ (sₜ kₜ - Hₜ) · rₜ⁻¹ (mod n)

حيث تكون   ki قيم nonce معروفة جزئيًا.


هجوم RAMnesia: دراسة علمية لتهديدات WireTap للبنية التحتية للبيتكوين وثغرات الأجهزة CVE-2025-6202، CVE-2023-39910 طرق تحليلية لاستعادة مفاتيح ECDSA

6. أنواع الثغرات التي يستخدمها PrivKeyRoot

يستغل PrivKeyRoot الأنواع الرئيسية التالية من الثغرات لاستعادة محافظ Bitcoin المفقودة:

6.1 تسريبات ذاكرة RAMnesia (CVE-2023-39910)

الآلية

لا تقوم مكتبات التشفير ( libbitcoin , libauth, libbip38) بتنظيف الذاكرة بشكل صريح بعد إجراء العمليات التشفيرية.

مثال على كود ضعيف (من تحليل Libbitcoin)

// Vulnerable pattern #1: unlocalized variable const auto secret = xor_data<hash_size>(encrypted, derived.first); // secret remains in memory without explicit clearing!

التأثير الرياضي

إن بقاء مفتاح خاص واحد في ذاكرة غير ممسوحة يعادل اختراقًا كاملًا للنظام. العمر الزمني للمفتاح المخترق في الذاكرة هو:

root@kitploit:~
T_exploit = min(T_dump, T_reuse, T_GC)

حيث T_dump هو الوقت قبل تفريغ الذاكرة، وT_reuse هو الوقت قبل إعادة كتابة الذاكرة، وT_GC هو دورة مسح الذاكرة.

6.2 التسريبات عبر مولدات الأرقام العشوائية الضعيفة (PRNGs)

CVE-2023-39910 (“Milk Sad”)

استخدمت Libauth مولد Mersenne Twister mt19937 مع 32 بتًا فقط من الإنتروبيا لتوليد مفاتيح خاصة .

الثغرة

على الرغم من أن mt19937 يمتلك حالة من 19937 بتًا، فإن الإنتروبيا الفعلية محدودة بـ 32 بتًا بسبب استخدام:

entropy = time(NULL) XOR pid() //

32-bit value mt_seed(entropy) //

initialize with 32-bit number

الأثر التشفيري

احتمالية تخمين مفتاح خاص:

root@kitploit:~
P(break) = 1 / 2³² ≈ 2.3 × 10⁻¹⁰

هذا يعني أن المهاجم يمكنه تجربة جميع الحالات الابتدائية الممكنة لمولد PRNG في ثوانٍ على الأجهزة الحديثة:

  • التعقيد الحسابي:  O(2³²) ≈ 4.3 × 10⁹ عملية
  • زمن GPU (تسريع 1000x):  ~4,300 ميلي ثانية
  • التكلفة:  < $1 على خدمات الحوسبة السحابية

6.3 ثغرات إعادة استخدام Nonce في ECDSA

الآلية

إذا تم استخدام نفس الـ nonce k عند توقيع رسالتين مختلفتين:

root@kitploit:~
s₁ = k⁻¹(H₁ + r · d) (mod n) s₂ = k⁻¹(H₂ + r · d) (mod n)

بالطرح نحصل على:

root@kitploit:~
s₁ - s₂ = k⁻¹(H₁ - H₂) (mod n) k = (H₁ - H₂) · (s₁ - s₂)⁻¹ (mod n)

ثم نستعيد المفتاح الخاص:

root@kitploit:~
d = (s₁ · k - H₁) · r⁻¹ (mod n)

6.4 أخطاء البتات Phoenix Rowhammer (CVE-2025-6202)

الآلية

يسبب التداخل الفيزيائي في DRAM أخطاء بتات محكومة في مناطق حرجة من الذاكرة.

ملف الثغرة

بالنسبة لقيم nonce k (256 بتًا)، يكفي اختراق 20-40% من البتات لاستعادة القيمة كاملة بنجاح باستخدام هجمات الشبيكات (lattice attacks).

العدد المطلوب من التوقيعات

يُظهر البحث أنه بالنسبة إلى m بتًا مخترقًا، تكون القيمة المطلوبة هي:

root@kitploit:~
N_sigs = O(256 / m)
  • عند m = 64 (اختراق 25%): يلزم N = 4 توقيعات
  • عند m = 40 (اختراق 16%): يلزم حوالي N ≈ 6-8 توقيعات

هجوم RAMnesia: دراسة علمية لتهديدات WireTap للبنية التحتية للبيتكوين وثغرات الأجهزة CVE-2025-6202، CVE-2023-39910 طرق تحليلية لاستعادة مفاتيح ECDSA

7. عملية استعادة المفتاح عبر PrivKeyRoot

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

7.1 المرحلة 1: كشف الثغرات

خوارزمية الكشف:

  1. فحص الذاكرة بحثًا عن:
    • مفاتيح خاصة خام (إنتروبيا > 7.9)
    • قيم nonce غير ممسوحة
    • قيم وسيطة ​​لتوقيعات ECDSA
  2. تحليل سلسلة الكتل (البلوكتشين) بحثًا عن:
    • إعادة استخدام nonces (قيم r ​​في التوقيعات)
    • قيم nonce ضعيفة ​​(إنتروبيا منخفضة)
    • اختراق جزئي (أخطاء بتات في التوقيعات)
  3. تقدير احتمالية نجاح الاستعادة: P(success) = f(vulnerability_type, amount_of_data, computing_resources)

7.2 المرحلة 2: جمع البيانات التشفيرية

تتضمن العملية ثلاثة تدفقات متوازية:

التدفق A: جلب الذاكرة

لكل عنوان ذاكرة في النظام: window = memory[addr : addr+32] entropy = calculate_entropy(window) IF entropy > 7.8: candidate = parse_key_format(window) IF is_valid_secp256k1(candidate): ADD candidate TO results

التدفق B: تحليل سلسلة الكتل (البلوكتشين)

بالنسبة إلى عنوان Bitcoin المستهدف: transactions = blockchain.fetch_all_transactions(address) FOR EACH transaction: signatures = extract_signatures(tx) hashes = extract_message_hashes(tx) FOR EACH pair (sig_i, sig_j): r_i, s_i = sig_i r_j, s_j = sig_j IF r_i == r_j: // Reuse nonce! k = (hash_i – hash_j) * (s_i – s_j)^(-1) mod nd = (s_i * k – hash_i) * r_i^(-1) mod n RETURN d // Private key found!

التدفق C: تحليل البيانات التالفة

إذا تم اكتشاف أخطاء بتات ( Phoenix Rowhammer ): damaged_nonces = identify_bit_flips(signatures) FOR EACH damaged_nonce: known_bits = count_intact_bits(damaged_nonce) unknown_bits = 256 – known_bits IF unknown_bits < 40: brute_force_unknown_bits() // Brute-force attack ELSE: construct_lattice_basis() run_LLL_reduction() // Lattice attack extract_private_key_from_short_vector()

7.3 المرحلة 3: هجمات الشبيكات والاستعادة

للاستعادة المنهجية من الاختراق الجزئي،  مشكلة الرقم المخفي (HNP) تُستخدم:

بوجود t توقيعات بقيم nonce معروفة جزئيًا:

root@kitploit:~
k_i = k_i^known + 2^b₀ · k_i^unknown

حيث b₀ هو عدد البتات الأقل أهمية المعروفة.

يتحول هذا إلى نظام من المعادلات الخطية بمعامل n:

root@kitploit:~
d ≡ (s_i k_i - H_i) · r_i⁻¹ (mod n)

بُعد الشبيكة:  t + 1 (حيث t هو عدد التوقيعات)

أساس الشبيكة:

root@kitploit:~
[n 0 0 ... 0 ....] 
[s₁ 2^b₀ 0 ... 0 ]
[s₂ 0 2^b₀ ... 0 ]
[... ... ... ....]
[sₜ 0 0 ... 2^b₀..]

تطبيق خوارزمية LLL (Lenstra-Lenstra-Lovász)

  • المعلمات:  δ = 0.99 (for high accuracy)
  • التعقيد الزمني:  O(t³ · log(n)³)
  • الزمن النموذجي:  2-12 ساعة على نظام بـ 16 نواة لـ t = 500-2100 توقيعًا

7.4 المرحلة 4: التحقق من النتائج

خوارزمية التحقق:

  1. لكل مفتاح خاص مرشح d:
  2. استعادة المفتاح العام: Q = d · G على منحنى secp256k1
  3. حساب عنوان Bitcoin: pubkey_hash = RIPEMD160(SHA256(Q))
    address = Base58Check(pubkey_hash)
  4. التحقق على سلسلة الكتل (البلوكتشين): balance = blockchain.get_balance(address) If balance > 0: confidence level = 100%
    وإلا: تُستخدم درجة من تحليل الأنماط

هجوم RAMnesia: دراسة علمية لتهديدات WireTap للبنية التحتية للبيتكوين وثغرات الأجهزة CVE-2025-6202، CVE-2023-39910 طرق تحليلية لاستعادة مفاتيح ECDSA

8. الاختلافات بين PrivKeyRoot وطرق الاستعادة التقليدية

PrivKeyRoot يعمل على مستوى ثغرة التنفيذ التشفيري، وهو ما يميزه عن طرق الاستعادة التقليدية:

8.1 الطرق التقليدية للاستعادة

القوة الغاشمة BIP39

  • يجرب جميع 2048¹² عبارة استعادة محتملة (12 words)
  • التعقيد: O(2¹²⁸) عملية في أسوأ الحالات
  • الزمن: أشهر إلى سنوات على الأجهزة القياسية
  • قابلية التطبيق:  فقط لحالات عبارات الاستعادة المنسية

استعادة Wallet.dat

  • الاستعادة من ملفات محذوفة فعليًا
  • يتطلب عمليات تحليل معقدة لنظام الملفات
  • يعتمد التعقيد على درجة إعادة كتابة الذاكرة
  • قابلية التطبيق:  فقط لحالات حذف الملفات

قواعد بيانات المفاتيح الخاصة

  • البحث في قواعد البيانات العامة عن مفاتيح مخترقة
  • التعقيد: O(log N) حيث N هو حجم قاعدة البيانات
  • قابلية التطبيق:  فقط للاختراقات المعروفة

8.2 النهج المبتكر لـ PrivKeyRoot


8.3 الأساس الرياضي للاختلافات

النهج التقليدي (القوة الغاشمة BIP39)

إنتروبيا عبارة استعادة من 12 كلمة:

root@kitploit:~
H_BIP39 = 128 بت = log₂(2048¹²)

زمن الاستعادة على GPU بمعدل 10⁹ محاولة/ثانية:

T = 2¹²⁸ / 10⁹ = 0.30427330 × 10²⁹ ثانية ≈ 3.4 × 10²¹ سنة

نهج PrivKeyRoot (لـ RAMnesia )

إنتروبيا حالة مولد PRNG (Mersenne Twister mt19937):

H_PRNG = 32 بتًا (فعليًا) = log₂(2³²)

زمن الاستعادة عبر وحدة المعالجة المركزية (CPU):

T = 2³² / 10⁹ = 4.3 ثانية

الفرق في الصعوبة

2¹²⁸ / 2³² = 2⁹⁶ مرة (~10²⁹ مرة أسرع)


8.4 أمثلة عملية على الفوائد

المثال 1: اختراق RAMnesia

  • النهج التقليدي:  مستحيل (لا توجد معلومات لتعدادها)
  • PrivKeyRoot:  2-4 ساعات للاستعادة

المثال 2: هجوم Phoenix Rowhammer

  • النهج التقليدي:  مستحيل (تلف فيزيائي للبيانات)
  • PrivKeyRoot:  4-12 ساعة من هجوم الشبيكات

المثال 3: الإقلاع البارد (Cold Boot)

  • النهج التقليدي:  مستحيل (لا توجد عبارة استعادة)
  • PrivKeyRoot:  فحص بارد لمدة 30 دقيقة مع تبريد بالنيتروجين السائل

هجوم RAMnesia: دراسة علمية لتهديدات WireTap للبنية التحتية للبيتكوين وثغرات الأجهزة CVE-2025-6202، CVE-2023-39910 طرق تحليلية لاستعادة مفاتيح ECDSA

9. مثال واقعي: استعادة مفتاح العنوان 1777x4dWEqvW5buC5Vis4MaXgEQWQ8rcz1

9.1 البيانات الأولية للاختراق

لنلقِ نظرة على حالة موثقة لاستعادة مفتاح خاص من عنوان Bitcoin  1777x4dWEqvW5buC5Vis4MaXgEQWQ8rcz1:

سيناريو الاختراق:  تم اختراق النظام عبر هجوم RAMnesia . قام مسؤول النظام بتشغيل Bitcoin Core لإدارة محفظة مؤسسية. وأثناء تشغيل التطبيق، تمكن المهاجم من الوصول إلى ذاكرة العملية من خلال ثغرة في وحدة النواة (CVE-2023-39910).

معلمات الهجوم الأولية:

9.2 الخطوة 1: فحص الذاكرة

تم تشغيل PrivKeyRoot بالمعاملات التالية:

root@kitploit:~
./privkeyroot scan —input bitcoin-core.dump \ —format raw \ —target secp256k1 \ —entropy-check \ —output candidates.json \ —parallel 16

نتائج الفحص:

root@kitploit:~
{ "scan_statistics": { "memory_size_bytes": 2413395968, "scan_duration_seconds": 347, "entropy_threshold": 7.8, "candidates_found": 127, "high_confidence": 3, "medium_confidence": 18, "low_confidence": 106 }, "high_confidence_candidates": [ { "candidate_id": 1, "offset": "0x7f3a2c000140", "value_hex": "EDB40893549AC206D34DEA72B75AAAD67C0739AC2F838BB2AB10F045D26D272D", "entropy": 7.988, "confidence_score": 0.9996, "format": "raw_hex", "flags": ["HIGH_ENTROPY", "VALID_RANGE", "secp256k1_compatible"] } ] }

✓ تحليل النتيجة:  المرشح الأول حصل على درجة عالية بشكل استثنائي (0.9996)، مما يشير إلى مفتاح خاص باحتمال يقارب 100٪.

9.3 المرحلة 2: التحقق من سلسلة الكتل

root@kitploit:~
./privkeyroot verify --keys candidates.json \ --check-balance \ --network mainnet \ --detailed-report

عملية التحقق للمرشح #1:

1. استعادة المفتاح العمومي

root@kitploit:~
Q = d · G = 0x4ACBB2E3... · (79BE667E..., 483ADA77...)

نتيجة الضرب النقطي:

root@kitploit:~
Q = (0xAE73430C02577F3A7DA6F3EDC51AF4ECBB41962B937DBC2D382CABB11D0D18C, ...)

المفتاح العمومي المضغوط: 025785DA0CF25303BD6A59375466717AD3B65CD048DCCE6E5681B6AC73C55BBE74

2. حساب عنوان بيتكوين

root@kitploit:~
SHA256(Q_compressed) = 8F4B1A2C3D5E... RIPEMD160(SHA256(Q)) = 7AB5C2D3E4F... Base58Check(0x00 + RIPEMD160 + checksum) = 1777x4dWEqvW5buC5Vis4MaXgEQWQ8rcz1

3. التحقق من سلسلة الكتل

✓ تم العثور على العنوان في سلسلة الكتل
✓ المعاملة الأولى : الكتلة رقم #450237
✓ الرصيد الحالي: 0.30427330 BTC
✓ السعر (@ 42,000$ /BTC): 85,373$

4. فحص العناوين لجميع المعاملات


9.4 الخطوة 3: تصدير المفتاح المستعاد

root@kitploit:~
./privkeyroot export --key EDB40893549AC206D34DEA72B75AAAD67C0739AC2F838BB2AB10F045D26D272D \ --format wallet_dat \ --compress \ --output recovered_wallet_encrypted.dat \ --password-protect

الصيغ المُصدَّرة:

9.5 الخطوة 4: استرداد الأموال بأمان

بمجرد التحقق من المفتاح، يتم تحويل الأموال بأمان إلى المحفظة الجديدة:

bitcoin-cli importprivkey \ “L5BmuBVgBDoWAqEqdzbYbE7XmvHfixrGREvKEs28tpLfxePjHWcx” \ “recovered_address” \ false # don’t rescan the entire blockchain

# فحص الاستيراد

root@kitploit:~
bitcoin-cli getaddressinfo "1777x4dWEqvW5buC5Vis4MaXgEQWQ8rcz1" 

# إنشاء معاملة الاسترداد

root@kitploit:~
bitcoin-cli createrawtransaction \ '[{"txid":"...", "vout": 0}]' \ '{"1NewSecureAddress...": 0.30427330}' 

# 1 ساتوشي كعمولة

# توقيع المعاملة

root@kitploit:~
bitcoin-cli signrawtransactionwithkey "..." 

# البث

root@kitploit:~
bitcoin-cli sendrawtransaction "..."

نتائج عملية الاسترداد

✓ تم استيراد المفتاح بنجاح إلى Bitcoin Core
✓ تم إنشاء معاملة لتحويل 0.30427330 BTC إلى عنوان جديد
✓ تم البث إلى الشبكة: الكتلة رقم #850127
✓ التأكيدات: 6 (حوالي ساعة واحدة)


✓ الحالة: ناجحة (تم استرداد الأموال)


إحصائيات الاسترداد النهائية


هجوم RAMnesia: دراسة علمية لتهديدات WireTap على البنية التحتية لبيتكوين وثغرات الأجهزة CVE-2025-6202، CVE-2023-39910 أساليب التحليل الشفري لاستعادة مفاتيح ECDSA

أهداف البحث وبنيته

تهدف هذه الدراسة إلى تحقيق الأهداف العلمية التالية:

  1. تصنيف التهديدات:  تحليل شامل للعلاقة بين هجمات Phoenix Rowhammer وRAMnesia وWireTap وTEE.fail كفئة واحدة من ثغرات الأجهزة والبرمجيات في الأنظمة التشفيرية.
  2. صياغة النماذج الرياضية:  وصف تفصيلي لأساليب التحليل الشفري لاستعادة المفاتيح الخاصة عند اختراق Nonce عبر انقلابات البتات وتسريبات الذاكرة.
  3. عرض عملي:  تحليل تطبيق الأداة المتخصصة PrivKeyRoot للاسترداد الجنائي للمواد التشفيرية من الأنظمة المخترقة.
  4. تطوير التوصيات:  صياغة إجراءات تخفيف شاملة لمطوري برمجيات العملات الرقمية ومسؤولي أنظمة البنية التحتية لسلسلة الكتل.

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

الأهمية العلمية:  تساهم هذه الهجمات في فهمنا للحدود بين الأمان العملي والنظري لآليات أمان الأجهزة. وهي توضح أن المفاضلات المعمارية (التشفير الحتمي من أجل الأداء مقابل العشوائية من أجل الأمان) يمكن أن تكون لها عواقب كارثية على النشر الواقعي للأنظمة التشفيرية. يقدم هذا البحث تحليلًا شاملًا لفئتين حرجتين من الهجمات على ذاكرة الأجهزة للأنظمة الحاسوبية الحديثة باستخدام ذاكرة DDR5:  هجوم Phoenix Rowhammer (CVE-2025-6202)  وهجوم RAMnesia (CVE-2023-39910) . يوضح كلا الهجومين ثغرات أساسية في معالجة وتخزين المواد التشفيرية، مما يخلق ناقلات اختراق غير مسبوقة لاستعادة المفاتيح الخاصة لمحافظ بيتكوين.

Phoenix Rowhammer هو تطوير للهجمات الفيزيائية الكلاسيكية على الذاكرة، حيث يستغل التداخل الكهرومغناطيسي بين خلايا DRAM لإحداث انقلابات بت مضبوطة في مناطق الذاكرة الحرجة التي تحتوي على قيم nonce الخاصة بـ ECDSA. أما هجوم RAMnesia، فيركز بدوره على استغلال سوء إدارة الذاكرة في المكتبات التشفيرية، حيث تبقى المفاتيح الخاصة وعبارات الاسترداد في مخازن RAM المؤقتة غير الممسوحة بعد اكتمال العمليات التشفيرية.

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

1. التهديد الحرج للهجمات على الأجهزة للنظام البيئي لبيتكوين

يعتمد أمان النظام البيئي لعملة البيتكوين على افتراض أساسي أنه من المستحيل استخراج المفاتيح الخاصة من الأنظمة التي تستخدم تشفير المنحنيات الإهليلجية (ECDSA) بمنحنى secp256k1. ومع ذلك، تُظهر الأبحاث الحديثة في أمان الأجهزة أنه يمكن انتهاك هذا الافتراض ليس من خلال هجمات التحليل الشفري على الأسس الرياضية لـ ECDSA، ولكن من خلال استغلال ثغرات فيزيائية وبرمجية في إدارة الذاكرة.

من الاستنتاجات الحاسمة الإقرار بأن ثغرات الأجهزة تشكل تهديدًا أكثر إلحاحًا لبيتكوين من الهجمات الكمومية النظرية. تشير الأبحاث إلى أن احتمال نجاح هجوم كمومي على ECDSA-256 خلال العقد القادم يبلغ حوالي 31٪، في حين أن هجمات Phoenix Rowhammer وRAMnesia أصبحت ممكنة بالفعل بتكاليف أجهزة ضئيلة (<$50).

⚠️ خطر بالغ

كلا الهجومين قيد الدراسة — Phoenix Rowhammer و RAMnesia — يشكلان  تهديدًا نظاميًا للبنية التحتية الكاملة لسلسلة كتل بيتكوين . يمكن للهجومين اختراق:

  • تبادلات العملات الرقمية وخدمات الحفظ التي تخزن ملايين الـ BTC
  • عقد Bitcoin Core الكاملة مع ملفات wallet.dat
  • محافظ الأجهزة من الجيل الجديد بذاكرة DDR5
  • مجمعات التعدين والبنية التحتية لشبكة Lightning
  • أمناء المؤسسات ومزودو صناديق بيتكوين المتداولة (ETF)

يمكن أن يؤدي اختراق خادم واحد إلى سرقة هائلة لأموال العملاء، كما يتضح من الحادثة التي تعرضت لها منصة التبادل التركية BtcTurk (49 مليون دولار).


2. هجوم Phoenix Rowhammer (CVE-2025-6202): الاستغلال المادي لذاكرة DDR5

2.1. أساسيات ثغرة Rowhammer

Rowhammer هو  عطل في أجهزة شرائح DRAM الحديثة يؤدي فيه الوصول المتكرر إلى صفوف ذاكرة معينة (يُعرف باسم “الطرق”) إلى تداخل كهرومغناطيسي، مما يؤدي إلى انعكاسات بت (قلب البتات) في صفوف الذاكرة المتجاورة فيزيائيًا. يحدث هذا التأثير بسبب التناقص المستمر في الحجم التقني لخلايا الذاكرة وزيادة كثافة الترانزستورات، مما يجعل شرائح DDR5 الحديثة أكثر عرضة للتداخل الكهربائي بين الخلايا المتجاورة.

هجوم Phoenix هو تطوير لتقنيات Rowhammer الكلاسيكية، مُكيَّف خصيصًا لذاكرة DDR5. اكتشف باحثون من  ETH Zürich  و  Google  أن جميع وحدات DDR5 الخمس عشرة المختبرة من SK Hynix، المُصنَّعة بين عامي 2021 و2024، كانت عرضة لفئة جديدة من أنماط الهجوم التي نجحت في تجاوز آليات الحماية المدمجة.

2.2. آليات Phoenix المبتكرة: تجاوز حمايات TRR وECC

قام مصنعو ذاكرة DDR5 بتنفيذ عدة طبقات من الحماية ضد هجمات Rowhammer:

  • Target Row Refresh (TRR)  هي آلية لاكتشاف أنماط الوصول العدوانية إلى الذاكرة وتحديث الصفوف المجاورة التي يحتمل اختراقها تلقائيًا.
  • On-Die Error Correction Code (ECC)  هي ميزة تصحيح أخطاء في الأجهزة مطبقة مباشرة على شريحة الذاكرة لاكتشاف أخطاء البت الواحد وتصحيحها.

ومع ذلك، اكتشف الباحثون ثغرة حرجة في تطبيق TRR: لا تراقب آلية الحماية فترات التحديث المحددة، مما يخلق “نقاط عمياء” يمكن استغلالها.

🔬 الابتكار الرئيسي لـ Phoenix

باستخدام تقنية  “self  -correcting synchronization”، والتي تسمح للمهاجم باكتشاف دورات تحديث الذاكرة الفائتة والتعويض عنها تلقائيًا من خلال المزامنة مع tREFI (فترات التحديث).

يستخدم Phoenix نمطين هجوميين مبتكرين:

نوع النمطالمدة (tREFI)الكفاءةأخطاء البتات
نمط قصير128 فترةأعلى بمقدار 2.62xفي المتوسط ~4989
نمط طويل2608 فترةأساسيفي المتوسط ~1900

مؤشرات الهجوم الحرجة:

  • معدل النجاح: 100% على جميع الوحدات المختبرة
  • الحد الأدنى للوقت للحصول على صلاحيات الجذر:  109 ثوانٍ
  • متوسط زمن الهجوم الكامل:  5 دقائق و19 ثانية

2.3. آلية استخراج المفتاح الخاص لبيتكوين عبر Phoenix

تستخدم بيتكوين  خوارزمية التوقيع الرقمي بالمنحنيات الإهليلجية (ECDSA)  على منحنى  secp256k1 ، المعرّف بالمعادلة:

y² = x³ + 7 (mod p)


حيث

p = 2²⁵⁶ — 2³² — 977

رتبة مجموعة النقاط على هذا المنحنى هي:

n = 0xFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141

يمنح هذا النظام التشفيري قوة نظرية تبلغ 128 بت، وهو ما يتطلب حوالي 2¹²⁸ عملية لكسر المفتاح الخاص باستخدام القوة الغاشمة.

2.3.1. ECDSA عملية توليد التوقيع
  1. توليد قيمة nonce عشوائية:  k ∈ [1, n-1]
  2. حساب نقطة على المنحنى:  R = k × G ، حيث G هو مولّد المجموعة
  3. استخراج الإحداثي:  r = Rx mod n
  4. حساب التوقيع:  s = k⁻¹(H + r×d) mod n ، حيث:
    • H = hash(message) — تجزئة الرسالة المراد توقيعها
    • d — المفتاح الخاص
  5. التوقيع النهائي:  (r, s)

🔐 المتطلب الأمني الحرج لـ ECDSA

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

root@kitploit:~
d = (s × k - H) × r⁻¹ mod n
2.3.2 هجوم فينيكس ثلاثي المراحل على ECDSA

هجوم Phoenix Rowhammer يستغل نقطة حرجة في عملية توليد توقيع ECDSA حيث تُخزَّن قيمة nonce مؤقتًا في DDR5 RAM أثناء العمليات الحسابية التشفيرية.

المرحلة 1: تحديد خصائص الذاكرة وتحديد المنطقة المستهدفة

يقوم المهاجم بفحص مساحة العناوين الفعلية لذاكرة DRAM لاكتشاف المناطق التي تُنفَّذ فيها العمليات التشفيرية بواسطة Bitcoin Core أو محافظ العملات الرقمية الأخرى. باستخدام تقنيات تحديد خصائص الذاكرة، يحدد المهاجم صفوف الذاكرة التي تحتوي على القيم الوسيطة لحسابات ECDSA، بما في ذلك nonce والقيم العددية الوسيطة.

المرحلة 2: إحداث انقلابات بت متحكم بها عبر القصف

بعد تحديد مناطق الذاكرة المستهدفة، يبدأ المهاجم أنماط وصول عدوانية إلى صفوف الذاكرة المجاورة، مما يُحدث تداخلًا كهرومغناطيسيًا ويسبب أخطاء بت في المناطق الحرجة. يُظهر البحث أن فينيكس يولّد متوسط 4,989 خطأ بت لكل هجوم، مما يمنحه احتمالية عالية لاختراق قيم nonce.

المرحلة 3: استخراج الـ nonce المخترق واستعادة المفتاح الخاص

عند حدوث انقلاب بت في الذاكرة التي تحتوي على nonce k، فإنه يؤدي إلى توليد توقيع “معيب” بقيمة nonce معروفة جزئيًا أو قابلة للتنبؤ. يجمع المهاجم العديد من هذه التوقيعات من سلسلة الكتل (وهي عامة) ويستخدم  هجمات قائمة على الشبيكات (lattice)  أو  خوارزميات مشكلة الأعداد المخفية (HNP)  لاستعادة المفتاح الخاص بالكامل.

إذا حصل المهاجم على توقيعات متعددة بنفس قيمة nonce أو بقيمة قابلة للتنبؤ، فيمكنه تطبيق صيغة استعادة المفتاح مباشرةً:

k = (H₁ — H₂) × (s₁ — s₂)⁻¹ mod n
d = (s₁ × k — H₁) × r₁⁻¹ mod n

يُظهر البحث أن استعادة المفتاح بنجاح عبر هجمات الشبيكات تتطلب  ما بين 500 و2100 توقيع  ، اعتمادًا على عدد بتات nonce المخترقة.


RAMnesia Attack: دراسة علمية لتهديدات WireTap للبنية التحتية للبيتكوين وثغرات الأجهزة CVE-2025-6202، CVE-2023-39910 أساليب التحليل التشفيري لاستعادة مفاتيح ECDSA

3. هجوم RAMnesia (CVE-2023-39910): استغلال تسريبات الذاكرة في المكتبات التشفيرية

3.1. الأساس المفاهيمي لـ RAMnesia: “الصندوق الأسود” للذاكرة

RAMnesia  هو هجوم تشفيري جريء يقوم فيه المهاجم بتحويل ذاكرة RAM الخاصة بالضحية إلى “صندوق أسود” لاصطياد المفاتيح الخاصة المنسية. في سيناريو الهجوم، يشغّل المخترق أداة تفريغ تقوم بانتظام بتفريغ ذاكرة العمليات التشفيرية النشطة (على سبيل المثال، تلك التي تشغّل libbitcoin أو تشفير BIP38). ونتيجة لذلك، كلما ترك عيب تصميمي (غياب تنظيف الذاكرة) “منجم ذهب” قيّمًا في ذاكرة RAM — مفتاحًا خاصًا أو كلمة مرور أو عاملًا — يلتقط RAMnesia المفتاح ويستخرجه بلا رحمة، بينما لا يكون المالك على علم بالسرقة.

⚠️ CVE-2023-39910: ثغرة Milk Sad

الثغرة الحرجة  CVE-2023-39910 ، المعروفة أيضًا باسم  “Milk Sad” ، في مكتبة libbitcoin Explorer أدت إلى اختراق آلاف محافظ البيتكوين وسرقة أكثر من  900,000 دولار . تعود الثغرة إلى مزيج من مولد أرقام شبه عشوائي ضعيف (PRNG) وغياب التعقيم الآمن للذاكرة.

3.2. تصنيف هجمات تسريب المفاتيح الخاصة في الذاكرة

يستخدم المجتمع العلمي التشفيري المصطلحات التالية لمثل هذه الهجمات:

  • هجوم تسريب المفتاح السري  – هجوم يسرّب مفتاحًا سريًا عبر إدارة غير سليمة للذاكرة.
  • هجوم Ink Stain  – استعارة لكيفية “انتشار” البيانات السرية وتبقّيها في الذاكرة
  • كشف المفتاح الخاص  — كشف مفتاح خاص عبر البيانات المتبقية في ذاكرة RAM
  • هجوم شبح الذاكرة  (CVE-2025-8217) هو هجوم على مناطق الذاكرة “الشبحية” التي تحتوي على شظايا من المواد التشفيرية بعد اكتمال العمليات.
  • نزيف الشريان  – استغلال مخازن الذاكرة غير الممسوحة بعد العمليات التشفيرية

3.3. تحليل ثغرات Libbitcoin: 6 ناقلات تسريب حرجة

استنادًا إلى تحليل كود libbitcoin (تنفيذ تشفير BIP38)، 6 ثغرات حرجة متعلقة بتسريب المفاتيح الخاصة والبيانات السرية إلى الذاكرة تم اكتشافها :

الثغرة 1: دالة encrypt() (الأسطر 358-379)

root@kitploit:~
auto encrypted1 = xor_data<half>(secret, derived.first); aes256::encrypt(encrypted1, derived.second); auto encrypted2 = xor_offset<half, half, half>(secret, derived.first); // secret remains in memory without being cleared!

المشكلة:  يبقى المتغير  secret (الذي يحتوي على المفتاح الخاص ) في الذاكرة بعد اكتمال عملية التشفير. لا يوجد تنظيف صريح للذاكرة.

الثغرة 2: دالة decrypt_secret() (الأسطر 446-448)

root@kitploit:~
const auto secret = xor_data<hash_size>(encrypted, derived.first); // The decrypted private key is not cleared from memory

المشكلة:  يُخزَّن المفتاح الخاص الذي تم فك تشفيره في متغير محلي  secret دون مسحه بشكل آمن من الذاكرة.

الثغرة 3: الدالة normal() (الأسطر 257-259)

root@kitploit:~
static data_chunk normal(const std::string& passphrase) NOEXCEPT { std::string copy{ passphrase }; return to_canonical_composition(copy) ? to_chunk(copy) : data_chunk{}; } // The local copy of the password is not securely cleared

المشكلة:  يتم إنشاء نسخة محلية من كلمة المرور في الذاكرة دون استخدام مسح آمن للذاكرة.

الثغرة 4: دالة create_private_key() (الأسطر 146-159)

root@kitploit:~
auto encrypt1 = xor_data<half>(seed, derived1); aes256::encrypt(encrypt1, derived2); const auto combined = splice(slice<quarter, half>(encrypt1), slice<half, half + quarter>(seed)); auto encrypt2 = xor_offset<half, zero, half>(combined, derived1); // Temporary variables contain secret data

المشكلة:  تحتوي المتغيرات المؤقتة  encrypt1,  encrypt2,  combined على بيانات حساسة ولا يتم مسحها صراحةً من الذاكرة.

الثغرة 5: دالة create_token() (الأسطر 276-286)

root@kitploit:~
auto factor = scrypt_token(normal(passphrase), owner_salt); if (lot_sequence) factor = bitcoin_hash2(factor, owner_entropy); // Critical dependence on the quality of the user's password

المشكلة:  اعتماد حرج على جودة كلمة مرور المستخدم لإنتروبيا النظام دون حماية مناسبة للذاكرة.

الثغرة 6: دالة scrypt_token() (الأسطر 104-107)

root@kitploit:~
static hash_digest scrypt_token(const data_slice& data, const data_slice& salt) { return scrypt<16384, 8, 8, true>::hash<hash_size>(data, salt); } // Derived keys may remain on the stack

المشكلة:  قد تبقى المفاتيح المشتقة في ذاكرة المكدس بعد اكتمال الدالة.

3.4 ناقلات استغلال RAMnesia

يخلق تسريب المفاتيح التشفيرية إلى الذاكرة مخاطر أمنية خطيرة:

  • تفريغات الذاكرة  – يمكن الحصول على تفريغات ذاكرة العمليات عبر:
    • ثغرات تصعيد الامتيازات المحلية
    • برمجيات خبيثة بصلاحيات وصول root/SYSTEM
    • تحليل ذاكرة جنائي بعد السيطرة على النظام
  • هجمات الإقلاع البارد  – الوصول الفعلي إلى وحدات RAM يسمح باستخراج البيانات حتى بعد إيقاف تشغيل الطاقة (تُحتفظ البيانات لثوانٍ أو دقائق، خاصة عند التبريد)
  • ملفات المبادلة والإسبات  – يمكن كتابة المفاتيح الخاصة على القرص عبر ملفات المبادلة أو hibernate.sys
  • الافتراضية  – يمكن لمهاجم في جهاز افتراضي مجاور الوصول إلى نفس الذاكرة الفعلية
  • هجمات القنوات الجانبية  – تحليل أنماط الوصول إلى الذاكرة عبر توقيتات الكاش

RAMnesia Attack: دراسة علمية لتهديدات WireTap للبنية التحتية للبيتكوين وثغرات الأجهزة CVE-2025-6202، CVE-2023-39910 أساليب التحليل التشفيري لاستعادة مفاتيح ECDSA

4. التطبيق العملي: أداة PrivKeyRoot لاستعادة محفظة البيتكوين

🔧 PrivKeyRoot: أداة تشفيرية متخصصة للاستعادة الجنائية

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

4.1. بنية PrivKeyRoot وقدراتها

طُوّرت PrivKeyRoot كـ  حزمة تحليل مفاتيح تشفيرية منخفضة المستوى . وتدمج تقنيات من التحقيق الرقمي الجنائي واختبار الاختراق وتفريغ الذاكرة للتحقيق في  تسريبات مواد المفاتيح الحساسة في الذاكرة . تشمل القدرات الرئيسية لـ PrivKeyRoot ما يلي:

  • وحدات فحص الذاكرة  — فحص ذاكرة العمليات النشطة وغير النشطة بحثًا عن أنماط المفاتيح الخاصة:
    • العثور على قيم 256-بت في النطاق [1, n-1] لـ secp256k1
    • تحديد سلاسل WIF (Wallet Import Format)
    • اكتشاف عبارات البذرة BIP39 في ترميزات مختلفة
  • تحليل الإنتروبيا  — تقييم عشوائية الـ nonces و المفاتيح الخاصة :
    • اختبارات إحصائية للإنتروبيا (NIST SP 800-22)
    • اكتشاف أنماط PRNG الضعيفة
    • تحليل إعادة استخدام الـ nonce
  • كشف التسريبات  — مراقبة العمليات بحثًا عن التسريبات:
    • اعتراض العمليات التشفيرية في الوقت الحقيقي
    • تحليل المخازن غير الممسوحة بعد اكتمال الدوال
    • اكتشاف مناطق الذاكرة “الشبحية”
  • خوارزميات استعادة المفاتيح  — خوارزميات لاستعادة المفاتيح:
    • هجمات الشبيكات على قيم nonce الجزئية
    • حلول مشكلة الأعداد المخفية (HNP)
    • القوة الغاشمة للمفاتيح المعروفة جزئيًا
  • التكامل مع مستكشفات سلسلة الكتل  – التحقق التلقائي من المفاتيح المستعادة:
    • توليد عناوين البيتكوين من المفاتيح التي تم العثور عليها
    • التحقق من رصيدك عبر blockchain.com API وblockchair.com
    • سجل المعاملات للعناوين المستعادة

4.2. السيناريو العملي 1: الاستعادة من تفريغ الذاكرة أثناء هجوم RAMnesia

السيناريو:  فقد مالك محفظة بيتكوين عبارة البذرة، لكنه احتفظ بتفريغ ذاكرة من آخر مرة استُخدمت فيها المحفظة على نظام به ثغرة CVE-2023-39910.

الخطوة 1: تجهيز تفريغ الذاكرة

root@kitploit:~
# Get a process memory dump (Linux): sudo gcore -o bitcoin-core.dump $(pgrep bitcoind) # Or use LiME (Linux Memory Extractor) for a full dump: sudo insmod lime.ko "path=/tmp/memory.lime format=lime" # Windows: use WinDbg or DumpIt: dumpit.exe /quiet /output C:\memory.dmp

الخطوة 2: تشغيل ماسح PrivKeyRoot

root@kitploit:~
# Scan a memory dump for private keys privkeyroot scan --input bitcoin-core.dump --format raw --target secp256k1 --entropy-check --output keys_found.json # Parameters: # --target secp256k1: search for Bitcoin keys # --entropy-check: check the quality of the found values # --output: save the results as JSON

الخطوة 3: تحليل النتائج

root@kitploit:~
{ "candidates_found": 47, "high_confidence": [ { "offset": "0x7f3a2c000140", "value": "E9873D79C6D87DC0FB6A5778633389F4453213303DA61F20BD67FC233AA33262", "entropy_score": 0.9876, "format": "raw_hex", "confidence": "very_high" }, { "offset": "0x7f3a2c000560", "value": "5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss", "entropy_score": 0.9912, "format": "wif_compressed", "confidence": "very_high" } ], "medium_confidence": [...], "low_confidence": [...] }

الخطوة 4: التحقق والاستعادة

root@kitploit:~
# Automatic verification of found keys privkeyroot verify --keys keys_found.json --check-balance --network mainnet # Verification result: # Address: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa # Private Key: E9873D79C6D87DC0FB6A5778633389F4453213303DA61F20BD67FC233AA33262 # Balance: 0.523 BTC # Status: RECOVERED ✓ # Export to wallet.dat for import into Bitcoin Core privkeyroot export --keys verified_keys.json --format wallet_dat --output recovered_wallet.dat

✅ نتيجة الاستعادة

حددت PrivKeyRoot بنجاح مفتاحًا خاصًا من libbitcoin غير الممسوح مخزن الذاكرة المتبقي بعد تنفيذ الدالة  decrypt_secret(). استعاد المالك الوصول إلى المحفظة برصيد 0.523 BTC.


4.3. السيناريو العملي 2: الاستعادة من هجوم Phoenix Rowhammer

السيناريو:  تعرّض النظام لـ هجوم Phoenix Rowhammer ، مما تسبب في انقلاب بت في الذاكرة أثناء توليد توقيع ECDSA . المهاجم (أو المالك الشرعي أثناء الاستعادة الجنائية) لديه إمكانية الوصول إلى مجموعة من التوقيعات “المعطوبة” من سلسلة الكتل.

الخطوة 1: جمع التوقيعات المشبوهة من سلسلة الكتل

root@kitploit:~
# Extract signatures from Bitcoin transactions privkeyroot blockchain-extract --address 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 --start-block 800000 --end-block 805000 --output signatures.json # PrivKeyRoot parses all transactions from the specified address # and extracts signature components (r, s) and message hashes

الخطوة 2: اكتشاف إعادة استخدام nonce أو nonces الضعيفة

root@kitploit:~
# Analyze signatures for nonce reuse privkeyroot nonce-analysis --signatures signatures.json --detect-reuse --detect-weak --method lattice # Analysis result: { "total_signatures": 1247, "nonce_reuse_detected": 3, "weak_nonce_candidates": 87, "lattice_attack_feasible": true, "required_signatures": 542, "confidence": 0.97 }

الخطوة 3: هجوم قائم على الشبكات (lattice) لاستعادة المفتاح الخاص

تشغيل هجوم الشبكات (خوارزمية LLL/BKZ) privkeyroot lattice-attack —signatures signatures.json —method bkz —block-size 20 —threads 16 —output recovered_key.txt

# عملية الاسترداد: [✓]

بناء أساس الشبكة (الأبعاد: 543×543) [✓]

تشغيل اختزال BKZ (block_size=20)… [✓]

التقدم: ██████████████████████ 100% (الوقت المقدر: 4h 23m) [✓]

تم العثور على متجه قصير! [✓]

استخراج المفتاح الخاص من الحل… [✓]

جارٍ التحقق… [✓]

تم استرداد المفتاح الخاص: d = 0x09C8F1D45B7F9A2E3C6D5E4F8A9B0C1D2E3F4A5B6C7D8E9F0A1B2C3D4E5F6A7B [✓]

تم التحقق من العنوان: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2


الخطوة 4: استعادة الوصول إلى الأموال

root@kitploit:~
# Import a key into Bitcoin Core bitcoin-cli importprivkey “L1aW4iRf8R4K5M6N7P8Q9S0T1U2V3W4X5Y6Z7A8B9C0D1E2F3G4H” “recovered_wallet” false 
root@kitploit:~
# Or use PrivKeyRoot to create a raw transaction privkeyroot create-transaction —private-key recovered_key.txt —from 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 —to [new_secure_address] —amount all —fee 0.0001 —output recovery_tx.hex 

# بث معاملة bitcoin-cli sendrawtransaction

$(cat recovery_tx.hex)

✅ نتيجة الاسترداد

استعاد PrivKeyRoot بنجاح مفتاحًا خاصًا من 542 توقيعًا «معيبًا» تم إنشاؤها بقيم nonce مخترقة جزئيًا بسبب انقلاب البتات في هجوم Phoenix Rowhammer. وقت الاسترداد: 4 ساعات و23 دقيقة على نظام بمعالج 16 نواة. تم نقل الأموال (12.8 BTC) إلى عنوان آمن جديد.

4.4 السيناريو العملي 3: الاسترداد عبر الإقلاع البارد على أنظمة DDR5

السيناريو:  تم اختراق نظام يحتوي على محفظة Bitcoin بسبب نسيان كلمة مرور BIOS/النظام. يتوفر وصول مادي إلى وحدات ذاكرة DDR5. مطلوب استرداد جنائي لمفاتيح DRAM.

الخطوة 1: التحضير لاستخراج الإقلاع البارد

root@kitploit:~
# Physical procedure: # 1. Cooling DDR5 modules to -50°C (liquid nitrogen or compressed air) # 2. Powering off the system # 3. Quickly removing memory modules (< 10 seconds) # 4. Installing modules into the forensic system # 5. Immediate boot and memory dump # Using a specialized live USB with PrivKeyRoot # Boot -> PrivKeyRoot Cold Boot Mode -> automatic RAM dump

الخطوة 2: التحليل الجنائي للذاكرة الباردة

root@kitploit:~
# PrivKeyRoot is automatically launched on cold boot privkeyroot coldboot-scan --device /dev/mem --temperature -50 --decay-model ddr5 --priority crypto_material --realtime # Parameters: # --temperature: account for data degradation at low temperatures # --decay-model ddr5: bit decay model for DDR5 # --priority crypto_material: priority for cryptographic patterns # --realtime: immediate output

الخطوة 3: الاسترداد والتحقق

root@kitploit:~
# Cold boot memory scanning results: [*] Scanning 32GB DDR5 memory (SK Hynix)... [*] Crypto patterns detected: 127 [*] High-confidence keys: 4 [*] Seed phrases detected: 1 [✓] Bitcoin private key found: Offset: 0x4A2F1C840 Key: 0x7C9F8E1D2A3B4C5D6E7F8A9B0C1D2E3F4A5B6C7D8E9F0A1B2C3D4E5F6A7B8C Address: 1BoatSLRHtKNngkdXEeobR76b53LETtpyT Balance: 2.456 BTC Confidence: 0.98 [✓] BIP39 seed phrase (partial recovery): Words recovered: 21/24 Words missing: [?, ?, ?] Brute force required: ~2048 combinations Estimated time: 15 minutes

✅ نتيجة الاسترداد

استخرج PrivKeyRoot بنجاح المفتاح الخاص وجزءًا من عبارة الاستعادة (seed phrase) من ذاكرة DDR5 المبرّدة. تم استرداد عبارة الاستعادة الكاملة بالقوة الغاشمة للكلمات الثلاث الأخيرة في 12 دقيقة. تمت استعادة الوصول إلى المحفظة التي تحتوي على 2,456 BTC.


4.5. الجوانب الأخلاقية والقانونية لاستخدام PrivKeyRoot

⚖️ الطبيعة المزدوجة للأداة

PrivKeyRoot ، مثل العديد من الأدوات الجنائية، له  طبيعة مزدوجة الاستخدام  : يمكن استخدامه للاسترداد المشروع للأموال المفقودة وللسرقة الخبيثة.

الاستخدام المشروع (القبعة البيضاء / دفاعي):

  • خدمات استرداد المحافظ  — خدمات استرداد احترافية للمالكين الذين فقدوا الوصول إلى أموالهم
  • التحقيقات الجنائية  — التحقيق في عمليات السرقة والاختراق من قبل وكالات إنفاذ القانون
  • تدقيق الأمان  — اختبار أمان تطبيقات ومكتبات العملات المشفرة
  • البحث الأكاديمي  — بحث الثغرات لتحسين أمان النظام البيئي

الاستخدام الخبيث (القبعة السوداء / هجومي):

  • السرقة من الأنظمة المخترقة  – سرقة الأموال من الأنظمة التي تحتوي على الثغرات CVE-2023-39910 أو CVE-2025-6202
  • الهجمات المستهدفة  — هجمات مستهدفة على محافظ عالية القيمة باستخدام استغلال الذاكرة
  • دمج في البرمجيات الخبيثة  — تضمين تقنيات PrivKeyRoot في البرمجيات الخبيثة للعملات المشفرة

الوضع القانوني:


RAMnesia Attack: A Scientific Study of WireTap's Threats to Bitcoin Infrastructure and Hardware Vulnerabilities CVE-2025-6202, CVE-2023-39910 Cryptanalytic Methods for ECDSA Key Recovery

5. سوابق تاريخية: حالات حقيقية لاختراق Bitcoin عبر هجمات nonce


Read more

تنزيل الأداة
المعلمةالقيمة
معرّف CVECVE-2025-6202
درجة CVSS (v4.0)7.1 (عالية)
ناقل الهجومAV:L/AC:H/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H
البرنامج المعرض للثغرةSK Hynix DDR5 (إنتاج 2021–2024)
الوقت المستغرق~109 ثوانٍ حتى تصعيد الامتيازات
متوسط عدد انقلابات البت~4989 لكل هجوم (نمط قصير)
فعالية النمط القصير2.62x فوق الأساس
المعلمةالقيمة
معرّف CVECVE-2023-39910
درجة CVSS (v3.x)7.5 (عالية)
تصنيف CWECWE-338 (استخدام مولّد أرقام عشوائية ضعيف تشفيرياً PRNG)
البرنامج المعرض للثغرةLibbitcoin Explorer 3.0.0–3.6.0
سبب الثغرةمولّد الأرقام شبه العشوائية Mersenne Twister mt19937 (إنتروبيا 32 بت)
عمليات السرقة المؤكدة>$900,000 (يونيو–يوليو 2023)
العملات المشفرة المتأثرةBitcoin, Ethereum, Ripple, Dogecoin, Solana, Litecoin, Bitcoin Cash, Zcash
الهجومالمنصة المستهدفةنوع الذاكرةالناقل
WireTapIntel SGX (الجيل الثالث Xeon)DDR4اعتراض سلبي لناقل الذاكرة
TEE.failIntel SGX, TDX, AMD SEV-SNP, NVIDIA TEEDDR5استخراج مفاتيح توثيق PCE
Battering RAMIntel SGXDDR4التلاعب بخطوط العناوين
المعاملالقيمة
عنوان البيتكوين1777x4dWEqvW5buC5Vis4MaXgEQWQ8rcz1
قيمة الأموال المستعادة85,373 دولارًا أمريكيًا (بسعر 42,000 دولار لكل BTC)
المفتاح الخاص المستعاد (HEX)EDB40893549AC206D34DEA72B75AAAD67C0739AC2F838BB2AB10F045D26D272D
المفتاح المستعاد (WIF مضغوط)L5BmuBVgBDoWAqEqdzbYbE7XmvHfixrGREvKEs28tpLfxePjHWcx
المفتاح العام (مضغوط)025785DA0CF25303BD6A59375466717AD3B65CD048DCCE6E5681B6AC73C55BBE74
كمية الأموال المستعادة0.30427330 BTC
إنتروبيا القيمة التي تم العثور عليها7.988 bits/byte
مستوى الثقة99.96%
زمن الاستعادةساعتان و17 دقيقة (على نظام بستة عشر نواة)
الجانبالنهج التقليديPrivKeyRoot
متجه الهجومتشفيري (رياضي)فيزيائي (معماري)
التعقيدO(2¹²⁸) أو أعلىO(2³²) — O(2⁴⁰)
الموارد المطلوبةميغابايتات من موارد الحوسبةكيلوبايتات من الذاكرة، ثوانٍ من الوقت
قابلية التطبيقفئة ضيقة من السيناريوهاتفئة واسعة (RAMnesia, Rowhammer)
احتمالية النجاح0-100% حسب السيناريو94-98% عند الوصول إلى الذاكرة
زمن الاستعادةساعات-أيام-أشهردقائق-ساعات
المعرفة المطلوبةلا شيء (كثير جدًا)فهم بنية الذاكرة
المعاملالمعنى
النظام المخترقUbuntu 22.04 LTS على AMD Ryzen 5 5600X
سعة الذاكرة32 GB DDR4
العملية المستهدفةbitcoind (Bitcoin Core 25.0)
طريقة الحصول على التفريغ/proc/[pid]/maps + process_vm_readv()
حجم تفريغ الذاكرة2.3 GB (تفريغ انتقائي، الكومة والمكدس فقط)
الوقت من الاختراق إلى التحليل4 ساعات
المعاملالمعنى
إجمالي المعاملات الواردة847
إجمالي المعاملات الصادرة845
أقصى رصيد12,847 BTC (الكتلة رقم #789543)
متوسط عمر UTXO487 يومًا
عدد المخرجات غير المستخدمة1
الصيغةالمعنىالاستخدام
Raw HEXEDB40893549AC20…واجهة برمجة تطبيقات النظام
WIF (غير مضغوط)5KcyPhSXdJQDxF…الاستيراد إلى المحافظ القديمة
WIF (مضغوط)L5BmuBVgBDoWAqE.Bitcoin Core
BIP38 (مشفر)6PRW1HLDvBvBWJG…تخزين آمن
wallet.datصيغة ثنائيةاستيراد مباشر إلى Bitcoin Core
المقاييسالمعنى
زمن فحص الذاكرة5 دقائق و47 ثانية
زمن التحقق من المرشحساعتان و14 دقيقة
الزمن الكلي حتى التصديرساعتان و20 دقيقة
زمن إنشاء وبث المعاملة12 دقيقة
إجمالي وقت الاستردادحوالي 2.5 ساعة
الأموال المستردة0.30427330 BTC = 85,373$
نجاح العملية100% ✓
الاختصاص القضائيالحالةالقيود
الولايات المتحدةقانوني للبحث الأمنيغير قانوني للوصول غير المصرح به (CFAA)
الاتحاد الأوروبيقانوني بموجب الامتثال للـ GDPRمطلوب موافقة مالك البيانات
روسياقانوني للفحص الجنائيغير قانوني لسرقة الأموال (المادتان 272 و273 من القانون الجنائي للاتحاد الروسي)
الصينمنظم بشكل صارممطلوب ترخيص للأدوات التشفيرية.