Detecting Vulnerabilities in Encrypted Software Code while Ensuring Code Privacy
تقدم هذه الورقة CoCoA، وهي أداة مبتكرة تجمع بين التحليل الساكن والتشفير المتماثل القابل للبحث لتمكين اكتشاف الثغرات البرمجية في الكود المصدري المشفر مع الحفاظ على خصوصية الكود، محققةً دقة بنسبة 93% مع عبء أداء قدره 42.7% فقط مقارنة بالنماذج المرجعية غير السرية.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أن لديك وصفة سرية لأفضل كعكة في العالم. تريد استئجار ناقد طعام مشهور لتذوقها وإخبارك ما إذا كان هناك أي عيوب (مثل كثرة الملح أو القشرة المحترقة). ومع ذلك، أنت مرعوب من فكرة أنه إذا أعطيته كتاب الوصفات، فقد يسرق الوصفة، أو يصورها، أو يبيعها لمنافسيك.
عادةً، سيكون أمامك خياران سيئان:
- إعطاؤه الكتاب: يمكنه العثور على العيوب، لكنه قد يسرق وصفتك.
- وضع الكتاب في خزنة: لا يمكنه سرقته، لكنه لا يستطيع قراءته للعثور على العيوب.
تقدم هذه الورقة حلاً سحرياً يسمى COCOA يحل هذه المعضلة. فهو يسمح للناقد بالعثور على العيوب في وصفتك دون أن يرى أبداً الكلمات الفعلية للوصفة.
إليك كيف يعمل الأمر، مقسماً إلى خطوات بسيية:
1. المشكلة: معضلة "البيت الزجاجي"
يكتب مطورو البرمجيات الأكواد (الوصفة) للمواقع الإلكترونية. وهم بحاجة إلى خبراء لفحص هذا الكود بحثاً عن الثغرات الأمنية (نقاط الضعف) قبل أن يجدها المخترقون. ولكن لفحص الكود، يحتاج الخبراء عادةً إلى رؤية النص الخام. وإذا رأوه، فقد يسرقون الملكية الفكرية للمطور. وإذا لم يروه، فلن يتمكنوا من أداء عملهم.
2. الحل: "الخريطة المشفرة"
ابتكر المؤلفون نظاماً يسمى COCOA (تحليل الكود السرّي). بدلاً من إرسال الكود الخام إلى الخبير، يقوم المطور بعمل تحويل خاص أولاً.
فكر في الكود ليس كقصة، بل كـ خريطة طريق.
- الكود الخام: الجمل والكلمات الفعلية.
- الخريطة: مخطط يوضح كيفية اتصال الطرق (البيانات) ببعضها البعض وأين توجد إشارات المرور (تدفق التحكم).
يقوم COCOA بأخذ الكود الخام ويحوله إلى هذه "الخريطة"، ثم يشفر هذه الخريطة باستخدام قفل عالي التقنية.
- يستبدل الأسماء المحددة (مثل "إدخال المستخدم" أو "قاعدة البيانات") بتسميات عامة مثل "الطريق أ" أو "إشارة المرور ب".
- ينشئ فهرساً خاصاً (مثل بطاقة فهرسة المكتبة) يكون هو أيضاً مشفراً.
3. الخدعة السحرية: البحث دون القراءة
الآن، يرسل المطور هذه الخريطة المشفرة إلى الخبير (المحلل). يريد الخبير العثور على خطر معين، مثل "انهيار جسر" (ثغرة أمنية).
في العالم الطبيعي، سيتعين على الخبير قراءة الخريطة بأكملة للعثัง على الجسر. ولكن مع COCOఆ، يستخدم الخبير مفتاحاً سحرياً يوفره المطور.
- يقول المطور: "أنا أفوضك للبحث عن 'انهيارات الجسور'".
- يستخدم الخبير هذا المفتاح للاستعلام عن الخريطة المشفرة.
- يقفز النظام فوراً إلى الأجزاء ذات الصلة من الخريطة ويقول: "نعم، يوجد انهيار للجسر هنا"، دون أن يكشف أبداً مما يتكون هذا الجسر، أو من بناه، أو كيف يبدو باقي شكل الخريطة.
يتعلم الخبير فقط أن هناك خللاً موجوداً وأين يقع. إنه لا يتعلم أي شيء عن الكود الفعلي، أو منطق العمل، أو أسرار المطور.
4. كيف يعمل الأمر (الـ "الفهرس المعكوس")
من الناحية التقنية، تستخدم الورقة طريقة تسمى التشفير المتماثل القابل للبحث (SSE).
- تخيل مكتبة حيث كل كتاب موضوع داخل خزنة مغلقة.
- عادةً، لا يمكنك البحث عن كلمة داخل الكتب لأنها مغلقة.
- يقوم COCOA بإنشاء "فهرس" خاص حيث تكون مواقع الكلمات مشفرة.
- عندما يسأل الخبير: "أين توجد كلمة 'خطر'؟"، يتحقق النظام من الفهرس المشفر ويشير إلى الخزنة المحددة التي تحتوي على هذا الخطر، دون فتح الخزنات الأخرى أو الكشف عن محتوى الكتاب.
5. النتائج: سريعة ودقيقة
اختبر الباحثون هذه الأداة (COCOA) على تطبيقات ويب حقيقية بلغة PHP (وهي نوع شائع جداً من أكواد المواقع الإلكترونية).
- الدقة: وجدت الثغرات بشكل جيد تماماً مثل الأدوات القياسية التي تقرأ الكود بالفعل (دقة تقارب 93%).
- السرعة: كانت أبطأ قليلاً فقط من الأدوات القياسية. استغرقت حوالي 209 مللي ثانية لمعالجة 4,000 سطر من الكود. هذا يشبه إضافة تأخير ضئيل جداً لعملية تستغرق عادةً طرفة عين.
- الخصوصية: ظل الكود مخفياً تماماً. النسخة "المشفرة" كانت في الواقع تشغل مساحة أقل على القرص الصلب من الكود الأصلي لأن النظام قام بإزالة التعليقات والتفاصيل غير الضرورية.
6. لماذا يهم هذا الأمر
تحدد هذه الورقة مجالاً جديداً يسمى تحليل الكود السرّي. وهي تثبت أنه ليس عليك الاختيار بين الأمن (حماية الكود الخاص بك) و الجودة (العثور على الأخطاء).
ملخص التشبيه:
- الطريقة القديمة: تعطي وصفتك السرية لناقد. يقوم بإصلاح كمية الملح، لكنه أيضاً يحفظ الوصفة ويبيعها.
- طريقة COCOA: تعطي الناقد خريطة مشفرة ومغلقة للوصفة. يستخدم مفتاحاً خاصاً للعثور على موضع "كثرة الملح" ويخبرك بمكانه بالضبط. إنه لا يرى المكونات، ولا اسم الطباخ، ولا بقية الوصفة.
يسمح هذا للشركات بالاستعانة بمصادر خارجية لإجراء فحوصات الأمان لطرف ثالث دون خوف من السرقة، ويسمح للمطورين بالحفاظ على خصوصية الكود الخاص بهم مع ضمان سلامته للجمهور في نفس الوقت.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.