عدة طرق لتزوير PDF مع التوقيع الرقمي


التين. 1. إجراء الحفظ التدريجي الذي تستند إليه التواقيع الرقمية لـ PDF. وفقا لنتائج الاختبار ، هذه هي الطريقة الأكثر فعالية لتزوير المستندات

من الناحية النظرية ، تقوم التواقيع الرقمية لملفات PDF بتوثيق مؤلف الوثيقة بشكل موثوق. لكن في الممارسة العملية ، تتم معالجة PDF عادةً بواسطة برنامج خاص لا يقوم بالتحقق بشكل صحيح. وصف متخصصون من جامعة الرور في بوخوم (ألمانيا) عدة خيارات لتزوير مستندات PDF الموقعة رقميًا والتي تعمل في معظم برامج قراءة PDF وخدمات التحقق عبر الإنترنت.

يتم توفير الحماية ضد جميع الهجمات فقط في برنامج واحد ، وحتى أنه يعمل تحت Linux.

هيكل PDF



التين. 2. هيكل وثيقة PDF

يظهر هيكل وثيقة PDF في الشكل. 2. عند حفظ التغييرات بشكل تدريجي على وثيقة PDF ، تضاف كائنات جديدة إلى الجسم ، بالإضافة إلى جدول Xref جديد مع وصف لكائنات جديدة ومقطورة جديدة مع روابط إلى الكتالوج (انظر الشكل 1). الدليل هو الكائن الجذر لملف PDF ، فهو يحدد بنية المستند ويمكنه تحديد أذونات الوصول اختياريا.

يبدأ كل كائن برقم الكائن ورقم الإصدار ، والذي يزداد مع كل تحديث للكائن.


التين. 2. هيكل كائن PDF

توقيع الخلق


تعتمد إضافة توقيع رقمي إلى مستند PDF على آلية حفظ تدريجية (انظر الشكل 1). عند إضافة توقيع أثناء الحفظ التدريجي ، تتم إضافة المحتوى التالي إلى المستند:

  • كتالوج جديد مع معلمة Perms جديدة تحدد أذونات تعديل المستند ؛ تشير هذه المعلمة إلى كائن التوقيع ؛
  • كائن التوقيع ( 5 0 obj ) مع معلومات حول خوارزميات التشفير المستخدمة للتجزئة وتوقيع المستند ، مع المعلمة Contents ، والذي يحتوي على blk-hex-encoded سداسي البروتوكولات - يقوم بتخزين الشهادات وقيمة التوقيع الذي تم إنشاؤه باستخدام المفتاح الخاص الذي يتوافق مع المفتاح العمومي في الشهادة. تحدد المعلمة ByteRange وحدات البايت الخاصة بملف PDF التي يتم استخدامها عند إدخال وظيفة التجزئة لحساب التوقيع (أزواج a, b و c, d ) ، أي جزء من الملف موقّع ؛
  • جدول Xref جديد مع ارتباط لكائن جديد
  • مقطورة جديدة.

في التين. يوضح الشكل 3 مخططًا مبسطًا لملف PDF موقع رقميًا.


التين. 3. مبسطة موقعة رقميا تخطيط ملف PDF

وفقًا للمواصفات الحالية ، يُنصح بتوقيع الملف بأكمله ، باستثناء PKCS7 blob.

يتم التحقق من صحة التوقيع من خلال التطبيق الذي يتم فيه فتح مستند PDF. يقوم على الفور باستخراج التوقيع من PDF ويستخدم عمليات التشفير للتحقق من صحته ، ثم التحقق مما إذا كان يمكن الوثوق بشهادة X.509 ، التي استخدمت مفاتيحها للتوقيع.

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

التوقيع الرقمي التزوير


يصف الباحثون ثلاث طرق لتزوير المحتوى في ملفات PDF موقعة.

  • التوقيع العالمي للتزوير (USF) ؛
  • هجوم التوفير الإضافي (ISA)
  • الهجوم على غلاف توقيع (Signature Wrapping Attack، SWA).

التوقيع العالمي وهمية (USF)


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

صاغ الباحثون 18 نواقل هجوم USF ، ثمانية منها مبينة في الشكل. 4.


التين. 4. ثمانية ناقلات الهجوم للتحايل على التحقق من التوقيع الرقمي

تعمل كل هذه الطرق إذا لم يتحقق عارض PDF من التوقيع الرقمي بشكل صحيح.

هجوم الاحتفاظ التزايدي (ISA)


تتكون فئة الهجمات هذه من إعادة تعريف البنية والمحتوى في قسم إضافي من المستند. الفكرة هي أن التوقيع يحسب بناءً على نطاق البايتات المحددة في ByteRange ، ولا يقع القسم الإضافي في هذا النطاق ، كما هو موضح في الشكل. 5.


التين. 5. عند إضافة محتوى إلى القسم الإضافي ، لا ينتهك التوقيع الرقمي

هناك عدة طرق للالتفاف حول تغييرات المستند وحظر إظهار التحذير المقابل في عارض PDF.

توقيع التفاف الهجوم (SWA)


أخيرًا ، تسمح لك الفئة الأخيرة من الهجمات بتجاوز التحقق من التوقيع دون حفظ تدريجي ، ولكن بنقل الجزء الموقّع من PDF إلى نهاية المستند وإعادة استخدام مؤشر xref في المقطورة الموقعة إلى جدول Xref المعدل. في الوقت نفسه ، لتجنب معالجة الجزء المنقول ، يمكن لفه في كائن غريب ، على سبيل المثال ، دفق أو قاموس .


التين. 6. مقارنة مستندات PDF الأصلية والمعدلة

أداء الهجوم


اختبر الباحثون فعالية كل نوع من الهجوم في برامج مختلفة لعرض PDF. غير قادر على خداع Adobe Reader 9 فقط ضمن نظام Linux . في جميع البرامج الأخرى ، يتم تجاوز التحقق من التوقيع بطريقة أو أكثر.



الوضع مع خدمات التحقق من صحة التوقيع الرقمي في PDF على الإنترنت ليس أفضل.

Source: https://habr.com/ru/post/ar442066/


All Articles