2025-11-15T18:46:12.059559

A Toolchain for Assisting Migration of Software Executables Towards Post-Quantum Cryptography

Rattanavipanon, Suaboot, Werapun
Quantum computing poses a significant global threat to today's security mechanisms. As a result, security experts and public sectors have issued guidelines to help organizations migrate their software to post-quantum cryptography (PQC). Despite these efforts, there is a lack of (semi-)automatic tools to support this transition especially when software is used and deployed as binary executables. To address this gap, in this work, we first propose a set of requirements necessary for a tool to detect quantum-vulnerable software executables. Following these requirements, we introduce QED: a toolchain for Quantum-vulnerable Executable Detection. QED uses a three-phase approach to identify quantum-vulnerable dependencies in a given set of executables, from file-level to API-level, and finally, precise identification of a static trace that triggers a quantum-vulnerable API. We evaluate QED on both a synthetic dataset with four cryptography libraries and a real-world dataset with over 200 software executables. The results demonstrate that: (1) QED discerns quantum-vulnerable from quantum-safe executables with 100% accuracy in the synthetic dataset; (2) QED is practical and scalable, completing analyses on average in less than 4 seconds per real-world executable; and (3) QED reduces the manual workload required by analysts to identify quantum-vulnerable executables in the real-world dataset by more than 90%. We hope that QED can become a crucial tool to facilitate the transition to PQC, particularly for small and medium-sized businesses with limited resources.
academic

سلسلة أدوات لمساعدة هجرة الملفات التنفيذية للبرامج نحو التشفير ما بعد الكمي

المعلومات الأساسية

  • معرّف الورقة: 2409.07852
  • العنوان: A Toolchain for Assisting Migration of Software Executables Towards Post-Quantum Cryptography
  • المؤلفون: Norrathep Rattanavipanon, Jakapan Suaboot, Warodom Werapun (جامعة أمير سونغخلا)
  • التصنيف: cs.CR (التشفير والأمان)
  • حالة النشر: مُرسلة إلى مجلة IEEE ACCESS
  • رابط الورقة: https://arxiv.org/abs/2409.07852

الملخص

يشكل الحوسبة الكمية تهديداً عالمياً كبيراً لآليات الأمان الحالية. على الرغم من نشر الخبراء الأمنيين والقطاع العام لإرشادات تساعد المؤسسات على هجرة البرامج إلى التشفير ما بعد الكمي (PQC)، إلا أن هناك نقصاً في الأدوات (شبه) المؤتمتة التي تدعم هذا التحويل، خاصة عندما يتم نشر البرامج في شكل ملفات تنفيذية ثنائية. لمعالجة هذه المشكلة، تقدم هذه الورقة أولاً المتطلبات الضرورية لأدوات كشف الملفات التنفيذية الضعيفة كمياً. بناءً على هذه المتطلبات، يتم تقديم QED: سلسلة أدوات كشف الملفات التنفيذية الضعيفة كمياً. تعتمد QED على نهج ثلاثي المراحل لتحديد العلاقات الضعيفة كمياً في مجموعة معينة من الملفات التنفيذية، من مستوى الملف إلى مستوى واجهة البرمجة (API)، وأخيراً تحديد المسارات الثابتة التي تشغل واجهات البرمجة الضعيفة كمياً بدقة. تُظهر نتائج التقييم: (1) تميز QED بين الملفات التنفيذية الضعيفة كمياً والآمنة كمياً بدقة 100% على مجموعة البيانات الاصطناعية؛ (2) QED عملية وقابلة للتوسع، حيث تكمل تحليل الملفات التنفيذية الحقيقية في أقل من 4 ثوان في المتوسط؛ (3) تقلل QED من العمل اليدوي المطلوب من المحللين لتحديد الملفات التنفيذية الضعيفة كمياً بأكثر من 90%.

خلفية البحث والدافع

تعريف المشكلة

مع التطور السريع لتكنولوجيا الحوسبة الكمية، من كيوبت واحد في عام 1998 إلى أكثر من 1000 كيوبت حالياً، يتنبأ الخبراء بأن أجهزة الحوسبة الكمية الوظيفية الكبيرة الحجم ستصبح متاحة تجارياً في غضون العشرين سنة القادمة. يمكن لأجهزة الحوسبة الكمية كسر أنظمة التشفير بالمفتاح العام المستخدمة على نطاق واسع حالياً، مثل RSA (يتطلب 4098 كيوبت منطقي) والتشفير بالمنحنى الإهليلجي (يتطلب 2330 كيوبت منطقي).

الأهمية

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

  1. إنشاء قوائم جرد تشفيرية لتقييم استخدام التشفير داخل المنظمة
  2. إجراء تقييمات المخاطر بناءً على هذه القوائم

قيود الطرق الموجودة

  1. نقص الأدوات المتخصصة: لا توجد حالياً أدوات (شبه) مؤتمتة مصممة خصيصاً لمساعدة مهام هجرة PQC
  2. عبء التحليل اليدوي: يجب على المحللين الاعتماد على أدوات متفرقة مختلفة والتحليل اليدوي لتحديد أنظمة البرامج الضعيفة كمياً
  3. تحديات تحليل البرامج الثنائية: غالباً ما لا يتمكن المحللون من الوصول إلى الكود المصدري، ويجب عليهم إجراء هجرة PQC بناءً على ملفات البرنامج الثنائية
  4. مشاكل التكلفة: يتطلب معرفة متقدمة بتحليل البرامج الثنائية، مما يزيد من تكاليف الميزانية والوقت والموارد البشرية

دافع البحث

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

المساهمات الأساسية

  1. صياغة المتطلبات: صياغة منهجية وشاملة لأول مرة لمتطلبات أدوات مساعدة هجرة الملفات التنفيذية للبرامج نحو PQC
  2. سلسلة أدوات QED: تصميم وتنفيذ سلسلة أدوات QED التي تفي بالمتطلبات المقترحة، مع إطلاق الكود مفتوح المصدر
  3. التحقق التجريبي: التحقق من دقة وكفاءة QED على مجموعات البيانات الاصطناعية والحقيقية، مع تحقيق معدل إيجابي حقيقي بنسبة 100% وتقليل العمل اليدوي بأكثر من 90%
  4. القيمة العملية: توفير أداة مساعدة حاسمة لهجرة PQC للشركات الصغيرة والمتوسطة ذات الموارد المحدودة

شرح الطريقة

تعريف المهمة

بالنظر إلى مجموعة من الملفات التنفيذية للبرامج، الهدف من QED هو تحديد الملفات التنفيذية الضعيفة كمياً (QV). يتم تعريف ملف تنفيذي للبرنامج على أنه QV إذا وفقط إذا كان هناك مسار تنفيذ محتمل واحد على الأقل من نقطة الدخول (الدالة الرئيسية) إلى واجهة برمجة تطبيقات مكتبة التشفير التي تنفذ خوارزمية QV (مثل RSA و Diffie-Hellman وتوقيع المنحنى الإهليلجي الرقمي).

متطلبات الأداة (R1-R5)

  • R1 الربط الديناميكي: يجب أن تكون قادرة على تحديد الملفات التنفيذية التي تستخدم واجهات برمجة QV من خلال الربط الديناميكي
  • R2 تحليل على مستوى البرنامج الثنائي: لا تعتمد على توفر الكود المصدري
  • R3 الميزات الثابتة: استخدام الميزات الثابتة فقط، بدون الحاجة إلى تتبع التنفيذ في وقت التشغيل
  • R4 قابلية التوسع: دعم تحليل عدد كبير من الملفات التنفيذية للبرامج، مع الانتهاء في وقت معقول
  • R5 الفعالية: عدم إنتاج نتائج سلبية كاذبة، مع تحمل عدد قليل من النتائج الإيجابية الكاذبة

معمارية النموذج

تعتمد QED على معمارية تحليل تدريجية ثلاثية المراحل:

المرحلة الأولى: تحليل الاعتماديات على مستوى الملف (P1)

الهدف: تحديد الملفات التنفيذية التي لها علاقات اعتماد على مكتبات التشفير الضعيفة كمياً

الطريقة:

  1. بناء رسم بياني لاعتماديات البرامج G₁ = (V₁, E₁)، حيث V₁ هي مجموعة الملفات و E₁ هي علاقات الاعتماد المباشرة
  2. اكتشاف جميع علاقات الاعتماد من خلال البحث بالعمق أولاً
  3. تحديد موقع مكتبات التشفير الضعيفة كمياً في V₁
  4. قص العقد التي لا تملك علاقات اعتماد مع المكتبات التشفيرية

المخرجات: مسارات الاعتماد على مستوى الملف EV₁

المرحلة الثانية: تحليل الاعتماديات على مستوى واجهة البرمجة (P2)

الهدف: تقليل النتائج الإيجابية الكاذبة من P1، وتحليل علاقات الاعتماد على مستوى واجهة البرمجة

الطريقة:

  1. بناء رسم بياني لاعتماديات واجهة البرمجة G₂ = (V₂, E₂)، حيث E₂ تحتوي على ثلاثيات (n₁, n₂, apis)
  2. التحقق مما إذا كانت العقد السابقة تحتوي على استدعاءات دالة لواجهات برمجة QV
  3. إزالة الحواف التي لا تحتوي على استدعاءات واجهات برمجة QV
  4. دمج معلومات الاعتماد على مستوى واجهة البرمجة لكل حافة

المخرجات: مسارات الاعتماد التي تحتوي على معلومات واجهات برمجة QV EV₂

المرحلة الثالثة: تحليل المسار الثابت (P3)

الهدف: تحديد دقيق للملفات التنفيذية التي تتوافق مع تعريف QV

الطريقة:

  1. بناء رسم بياني للاستدعاءات الثابتة لإجراء تحليل القابلية للوصول
  2. التحقق من مسارات التنفيذ من نقطة دخول الملف التنفيذي إلى واجهات برمجة QV
  3. دعم النمط العادي والنمط المحافظ
    • النمط العادي: غياب تتبع التنفيذ يشير مباشرة إلى عدم QV
    • النمط المحافظ: معاملة تتبع التنفيذ المفقود كنتيجة سلبية كاذبة محتملة

المخرجات: تتبع التنفيذ الثابت EV₃

نقاط الابتكار التقني

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

إعداد التجارب

مجموعات البيانات

مجموعة البيانات الاصطناعية

  • مكتبات التشفير: OpenSSL v1.1.1, OpenSSL v3.3.1, MbedTLS v2.28.8, wolfSSL v5.7.2
  • البدائيات التشفيرية: SHA-512, AES-256, Diffie-Hellman, RSA, ECDSA (الثلاثة الأخيرة هي QV)
  • مجموعة الاعتماديات المباشرة: 20 ملف تنفيذي (12 QV، 8 غير QV)
  • مجموعة الاعتماديات غير المباشرة: 20 ملف تنفيذي (12 QV، 8 غير QV)
  • الإجمالي: 40 ملف تنفيذي (24 QV، 16 غير QV)

مجموعة البيانات الحقيقية

  • Coreutils: 109 برامج غير تشفيرية (غير QV)
  • UnixBench: 18 أداة اختبار أداء (غير QV)
  • Network: 13 برنامج أدوات شبكة (7 QV، 6 غير QV)
  • tpm2-tools: 86 أداة تنفيذ وظائف TPM
  • الإجمالي: 226 ملف تنفيذي، بمتوسط حجم 248KB

مقاييس التقييم

  • معدل الإيجابي الحقيقي (TPR): نسبة الملفات التنفيذية QV المحددة بشكل صحيح
  • معدل السلبي الحقيقي (TNR): نسبة الملفات التنفيذية غير QV المحددة بشكل صحيح
  • وقت التشغيل: الوقت المطلوب لتحليل كل مرحلة
  • استخدام الذاكرة: استخدام ذاكرة الوصول العشوائي ذروة
  • تقليل العمل اليدوي: عدد الملفات التي تتطلب مراجعة يدوية إضافية

تفاصيل التنفيذ

  • لغة البرمجة: Python3 (حوالي 800 سطر من الكود)
  • مكتبات الاعتماد: pyelftools (معالجة ملفات ELF)، NetworkX (عمليات الرسم البياني)، angr (بناء رسم بياني الاستدعاءات الثابتة)
  • بيئة التجربة: Ubuntu 20.04, Intel i5-8520U @ 1.6GHz, 24GB RAM

نتائج التجارب

النتائج الرئيسية

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

المرحلةالاعتماديات المباشرةالاعتماديات غير المباشرةالإجمالي
P1TPR: 100%, TNR: 0%TPR: 100%, TNR: 0%TPR: 100%, TNR: 0%
P1+P2TPR: 100%, TNR: 100%TPR: 100%, TNR: 0%TPR: 100%, TNR: 50%
P1+P2+P3TPR: 100%, TNR: 100%TPR: 100%, TNR: 100%TPR: 100%, TNR: 100%

أداء مجموعة البيانات الحقيقية

  • متوسط وقت المعالجة: حوالي 4 ثوان لكل ملف تنفيذي
  • إجمالي وقت المعالجة: حوالي 15 دقيقة لـ 226 ملف تنفيذي
  • استخدام الذاكرة: حوالي 180MB لـ P1 و P2، حوالي 3-5GB لـ P3
  • تقليل العمل اليدوي: من 226 إلى 20 (تقليل بنسبة 91.15%)

التجارب الاستئصالية

  • مرحلة P1: فحص أولي سريع، لكن معدل إيجابي كاذب مرتفع
  • مرحلة P2: تقليل كبير للنتائج الإيجابية الكاذبة، خاصة لسيناريوهات الاعتماديات المباشرة
  • مرحلة P3: تحسين إضافي للدقة، لكن مع تكاليف حسابية أكبر

تحليل الحالات

  • حالات النتائج السلبية الكاذبة: برنامج curl يفشل في تحليل رسم بياني الاستدعاءات الثابتة بسبب استخدام استدعاءات غير مباشرة (مؤشرات الدوال)
  • القضاء على النتائج الإيجابية الكاذبة: برامج sftp و scp على الرغم من ربطها بـ OpenSSL إلا أنها تستخدم فقط واجهات برمجة غير QV

النتائج التجريبية

  1. فعالية التحليل التدريجي: يوازن التصميم ثلاثي المراحل بنجاح بين السرعة والدقة
  2. قيود التحليل الثابت: الاستدعاءات غير المباشرة لا تزال تشكل تحدياً للتحليل الثابت
  3. التحقق من العملية: تعمل الأداة بشكل جيد في البيئات الحقيقية، مما يقلل بشكل كبير من العمل اليدوي

الأعمال ذات الصلة

أدوات اكتشاف التشفير

تنقسم الأدوات الموجودة إلى فئتين ثابتة وديناميكية:

  • الطرق الثابتة: بناءً على ميزات ثابتة مثل متجهات التهيئة وجداول البحث وتسلسلات التعليمات البرمجية
  • الطرق الديناميكية: بناءً على معلومات وقت التشغيل مثل هياكل الحلقات وعلاقات الإدخال والإخراج

أبحاث هجرة PQC

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

مزايا هذه الورقة

  • موجهة خصيصاً لكشف الضعف الكمي
  • دعم سيناريوهات الربط الديناميكي
  • لا تتطلب تنفيذ وقت التشغيل أو تحليل الرموز الثقيلة
  • توفير أداة عملية شاملة

الخلاصة والمناقشة

الاستنتاجات الرئيسية

  1. نجحت QED في تلبية جميع المتطلبات الخمسة للتصميم (R1-R5)
  2. تحقيق دقة 100% على مجموعة البيانات الاصطناعية
  3. تقليل كبير للعمل اليدوي على مجموعة البيانات الحقيقية
  4. تتمتع الأداة بقابلية توسع وعملية جيدة

القيود

  1. كشف الاستدعاءات غير المباشرة: لا يمكن للتحليل الثابت كشف استخدام واجهات برمجة QV من خلال مؤشرات الدوال
  2. قيود طريقة الربط: يفترض أن الملفات التنفيذية تستخدم مكتبات التشفير من خلال الربط الديناميكي
  3. مشكلة الكود الميت: قد يتم وضع علامة على استدعاءات واجهات برمجة QV التي لا تُنفذ أبداً كإيجابية

الاتجاهات المستقبلية

  1. التحليل الديناميكي الخفيف: دمج التحليل الديناميكي لكشف الاستدعاءات غير المباشرة
  2. دعم الربط الثابت: توسيع الكشف عن الوظائف المشفرة المباشرة أو المرتبطة بشكل ثابت
  3. الإصلاح المؤتمت: التوسع من الكشف إلى الإصلاح (شبه) المؤتمت لاستخدام الضعف الكمي

التقييم المتعمق

المزايا

  1. أهمية المشكلة: حل نقطة ألم فعلية في هجرة PQC
  2. النهج المنهجي: عملية كاملة من تحليل المتطلبات إلى تنفيذ الأداة
  3. الابتكار التقني: استراتيجية التحليل التدريجي ثلاثية المراحل مصممة بشكل منطقي
  4. القيمة العملية: أداة مفتوحة المصدر ذات قيمة مهمة للشركات الصغيرة والمتوسطة
  5. التجارب الشاملة: التحقق الشامل على مجموعات البيانات الاصطناعية والحقيقية

أوجه القصور

  1. قيود المنصة: يدعم حالياً فقط تنسيق Linux ELF، مع قابلية توسع محدودة
  2. قيود اللغة: موجه بشكل أساسي نحو برامج C/C++
  3. قيود التحليل الثابت: تحليل غير كافٍ للاستدعاءات غير المباشرة والكود الميت
  4. نطاق التقييم: بعض البرامج في مجموعة البيانات الحقيقية تفتقد الحقيقة الأساسية

التأثير

  1. المساهمة الأكاديمية: ملء الفراغ في أبحاث أدوات هجرة PQC
  2. القيمة العملية: توفير أداة عملية لهجرة PQC للمنظمات
  3. قابلية التكرار: الكود مفتوح المصدر ومجموعات البيانات تدعم تكرار النتائج
  4. إمكانية الترويج: الطريقة قابلة للتوسع إلى منصات ولغات أخرى

حالات الاستخدام المناسبة

  • تقييم مخاطر هجرة PQC للمؤسسات
  • تدقيق أمان سلسلة التوريد البرمجية
  • تحليل الاعتماديات التشفيرية
  • فحوصات الامتثال الأمني

المراجع

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


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