ثغرات في برنامج التوقيع الإلكتروني البلجيكي Connective سمحت لأي موقع بمخاطبته
في منظومات الهوية الرقمية لا تكمن النقطة الحرجة في التشفير ولا في البطاقة، بل في شرط واحد: أن يتأكد البرنامج المحلي من هوية من يخاطبه.
كشف الباحث James Arnott عن ثغرات حرجة، أُصلحت لاحقًا، في منظومة الهوية الرقمية Connective التابعة لشركة Nitro Software Belgium. ويستخدم هذه المنظومة أكثر من 2 مليون شخص، و8 من أكبر 10 بنوك في بلجيكا، وأكثر من 60 جهة حكومية، للمصادقة والتوقيع الإلكتروني الملزم قانونًا.
ويحتاج التوقيع بالبطاقة إلى برنامج مثبّت على الجهاز، ويصل إليه المتصفح محليًا عبر extension. والمتصفح نفسه يعزل المواقع بعضها عن بعض بقاعدة الـ origin، فلا يستطيع موقع أن يقرأ بيانات موقع آخر. لكن البرنامج المحلي لا يرث هذه الحماية تلقائيًا، وعليه هو أن يتحقق من الجهة التي تخاطبه.
وبحسب الباحث، لم يكن البرنامج يجري هذا التحقق. فكان أي موقع مفتوح، بل حتى إعلان مضمّن داخل صفحة، يُعامَل كطرف شرعي، ويستطيع قراءة بيانات الهوية الإلكترونية (eID) وبيانات البطاقة دون أن يظهر للمستخدم أي شيء.
وإلى جانب ذلك، وُجدت ثغرة ثانية من نوع تنفيذ الكود عن بُعد (RCE)، ناتجة عن خلل في معالجة الملفات المحلية، وتعمل حتى دون توصيل البطاقة بالجهاز.
وتتجاوز أهمية الحادثة بلجيكا. فمنظومات الهوية الرقمية والتوقيع الإلكتروني التي تُبنى في مصر ودول الخليج تعتمد الشكل نفسه تقريبًا: برنامج محلي وextension إلى جواره. وتُظهر الحالة البلجيكية أن متانة التشفير وأمان البطاقة لا يعوّضان غياب فحص بسيط لمصدر الطلب، وأن هذا الفحص يقع على عاتق البرنامج المحلي لا المتصفح.
المصادر
من عدد الثلاثاء 28 صفر - 11 أغسطس