آیا می‌توان به امضاهای دیجیتال در فایل‌های پی‌دی‌اف اعتماد کرد؟

25 دی 1398 آیا می‌توان به امضاهای دیجیتال در فایل‌های پی‌دی‌اف اعتماد کرد؟

روابط عمومی شرکت ایدکو (توزیع کننده محصولات کسپرسکی در ایران)؛ به ندرت پیش می‌آید شرکت‌ها یا آژانس‌های دولتی‌ از فایل‌های پی‌دی‌اف استفاده نکنند. آن‌ها اغلب از امضاهای دیجیتال برای تضمین اعتبار این داکیومنت‌ها استفاده می‌کنند. وقتی در هر پی‌دی‌اف‌خوانی یک فایل امضاشده را باز می‌کنید، این برنامه پرچمی را نمایش خواهد داد که نشان از امضا شدنِ داکیومنت دارد. حتی در این پرچم قید می‌شود که این امضا توسط چه کسی صورت گرفته است. در حقیقت شما توسط آن می‌توانید به منوی اعتبارسنجیِ امضا دسترسی داشته باشید.

بنابراین، تیمی از محققین از چندین دانشگاه آلمانی بر آن شدند تا اعتبار و استحکام امضاهای پی‌دی‌افی را مورد بررسی و آزمایش قرار دهند. ولادیسلاو ملادنوو از دانشگاه رور بوخوم، یافته‌های این تیم را در کنگره‌ی ارتباطات آشوب (36C3) به اشتراک گذاشتند.

کار محققین آسان بود: دستکاریِ محتواهای یک داکیومنت پی‌دی‌افیِ امضاشده بدون باطل کردنِ امضا در طی این فرآیند. به طور نظری، مجرمان سایبری می‌توانستند همین کار را برای ابلاغ اطلاعات غلط و یا افزودن محتوای آلوده به فایل امضاشده انجام دهند. از اینها گذشته، کلاینت‌هایی که از بانک، داکیومنت امضاشده دریافت می‌کنند احتمالاً به آن اعتماد نموده و روی هر لینکی که داخل آن باشد کلیک می‌کنند. این تیم برای پلت‌فرم‌های مختلف 22 پی‌دی‌اف‌خوانِ محبوب انتخاب کردند و به شکل نظام‌مندی نتایج آزمایشات خود را بدان‌ها خوراندند.

ساختار فایل پی‌دی‌اف

بگذارید ابتدا برایتان از فرمت پی‌دی‌اف بگوییم. هر فایلی شامل چهار بخش می‌شود: هدر که نشان‌دهنده‌ی نسخه‌ی پی‌دی‌اف است؛ بدنه که نشان‌دهنده‌ی محتوای اصلیِ دیده‌شده توسط کاربر است؛ بخش Xref که در واقع یک دایرکتوری است که آیتم‌های داخل بدنه و لوکیشن‌هایشان را فهرست می‌کند (برای نمایش محتوا)؛ و در نهایت تریلر که با آن، پی‌دی‌اف‌خوان‌ها شروع می‌کنند به خوانشِ داکیومنت. تریلر شامل دو پارامتر مهم است که به برنامه‌ می‌گویند پردازش فایل کجا شروع شود و کجا بخش Xref باید آغاز گردد.

یک تابع بروزرسانی افزایشی[1] داخل فرمت یکپارچه‌سازی شده است که به کاربر اجازه می‌دهد (بعنوان مثال) بخشی از متن را هایلایت کرده و یا کامنت بگذارد. اگر بخواهیم از نگاه فنی به ماجرا نگاه کنیم، این تابع سه بخش را اضافه می‌کند: بروزرسانی‌هایی برای بدنه، یک دایرکتوری‌ِ جدید Xref و یک تریلر جدید. این می‌تواند به طور مؤثری تغییر نحوه‌ی دیده‌شدن آیتم‌ها توسط کاربر و نیز افزودن محتوای جدید را در پی داشته باشد. در اصل، یک امضای دیجیتال همچنین یک بروزرسانی افزایشی نیز می‌باشد که کارش افزودن یک المان دیگر و شاید بخش‌های مکاتبه‌ای به فایل است.

 

 

حمله‌ی ISA[2]

نخست، این تیم سعی کرد با استفاده از یک ویرایشگر متنی بخش‌های بیشتری را به همراه بروزرسانی افزایشیِ دیگر اضافه کند. اگر بخواهیم دقیق‌تر بگوییم، این در حقیقت یک حمله نیست- این تیم صرفاً از تابعِ اجراشده توسط سازندگان آن فرمت استفاده کرد. وقتی یک کاربر فایلی را که بدین‌طریق دستکاری می‌شود باز می‌کند، پی‌دی‌اف‌خوان معمولاً پیامی را نشان می‌دهد که می‌گوید امضای دیجیتال معتبر است اما داکیومنت دستکاری شده است. بدتر اینکه یکی از پی‌دی‌اف‌خوان‌ها (LibreOffice) حتی پیام را هم نشان نداده بود.

آزمایش جدید، شامل حذف دو بخش نهایی -یعنی افزودن یک آپدیت به بدنه و نه Xref و تریلر جدید- می‌شود. برخی اپلیکیشن‌ها کار با چنین فایلی را قبول نکردند. دو پی‌دی‌اف‌خوان متوجهِ نبودِ این دو بخش شدند و به طور خودکار آن‌ها را بدون اینکه خواننده در مورد این تغییر محتوایی مطلع شود اضافه کردند. سه تای دیگر هم بدون هیچ اعتراضی، مجوزِ این عمل را روی فایل صادر کردند. 

سپس، محققین این سوال برایشان پیش آمد که اگر فقط امضای دیجیتال را در آپدیت «دستیِ» خود کپی کنند چه؟ دو پی‌دی‌اف‌خوانِ دیگر هم فریب خوردند-  Foxit و MasterPDF. به طور کلی، از این 22 پی‌دی‌اف‌خوان 11 پی‌دی‌اف‌خوان ثابت کردند که در برابر چنین دستکاری‌های ساده‌ای آسیب‌پذیری هستند. افزون بر اینها، شش تای این پی‌دی‌اف‌خوان‌ها هم هیچ علامتی مبنی بر دستکاری شدن داکیومنت از خود نشان ندادند. در پنج مورد دیگر هم کاربر برای افشا و ابلاغ هر نشانه‌ای از دستکاری باید منو را وارد می‌کرد و البته اعتبار امضای دیجیتال را نیز به صورت دستی مورد بررسی قرار می‌داد (صِرفِ باز کردن فایل کافی نبود).

 

 

حمله‌ی SWA[3]

امضای یک داکیومنت دو فیلد مهم را به عنوان بروزرسانیِ افزایشی به بدنه/محتوا اضافه می‌کند. این دو فیلدشامل امضا و ByteRange می‌شود که به دقت آنچه امضا شده است را تشریح می‌کند. در مورد دوم که اشاره کردیم چهار پارامتر وجود دارد- تعریف آغاز فایل، تعداد بایت‌های قبل از کد امضا، بایتی که تعیین می‌کند کد امضا کجا تمام می‌شود و تعداد بایت‌های بعد از امضا- زیرا امضای دیجیتال در حقیقت توالی کاراکترهای تولیدشده توسط ابزارهای رمزنگاری (از کدِ داکیومنت پی‌دی‌اف) است. طبیعتاً امضا نمی‌تواند خودش را امضا کند، بنابراین آن بخشی که درش ذخیره می‌شود از فرآیند محاسبات امضایی خارج می‌شود.

محققین تلاش داشتند بلافاصله بعد از امضا، فیلد ByteRange دیگری را اضافه کنند. دو ارزش اولِ داخل آن دست‌نخورده باقی ماندند؛ تنها آدرس آخر کد امضاها عوض شد. نتیجه این بود که فضای بیشتری در فایل ایجاد شد و همین به آیتم‌های آلوده اجازه داد تا بتوانند اضافه شوند و بخش Xref نیز آن‌ها را تشریح کند. به لحاظ تئوری، اگر این فایل به درستی خوانده می‌شود، پی‌دی‌اف‌خوان نمی‌توانست براحتی مسیر خود را تا این بخش طی کند. با این حال، از این 22 اپلیکیشن، 17 اپ در مقابل چنین حمله‌ای آسیب‌پذیری نشان دادند.

 

 

USF[4] (جعل جهانی امضا)

این تیم تحقیقاتی برای دقت بیشتر و سنجش بهتر همچنین تصمیم گرفت این اپ‌ها را در برابر یک ترفند استاندارد تست نفوذ مورد آزمایش قرار دهند؛ به موجب این تست نفوذ در واقع تلاش می‌شود جای فیلدهای عدد با فیلدهای عدد ناصحیح عوض شود و یا اصلاً براحتی این فیلدها توسط محققین حذف شوند. بخش آزمایش روی محتوا که رسید، کاشف به عمل آمد که امضای واقعی جایش با ارزش x00 0 عوض شده بود و این درحالیست که همچنان دو پی‌دی‌اف‌خوان آن را معتبر تلقی کرده بودند.

و اگر این امضا آنجا جا می‌ماند ولی بخش ByteRange (یعنی اطلاعات در مورد اینکه دقیقاً چه چیزی امضا شده است) حذف می‌شد چه؟ یا اگر مقدار  null به جای ارزش‌های واقعی گذاشته می‌شد چه؟ در هر دو مورد برخی پی‌دی‌اف‌خوان‌ها روی اعتبار چنین امضایی صحّه گذاشتند. به طور کلی، از این 22 برنامه 4 برنامه حاوی خطاهای پیاده‌سازی بودند که امکان اکسپلویت‌شدن در آن‌ها وجود داشت. خلاصه‌ی نتایج نشان می‌دهد که از این 22 پی‌دی‌اف‌خوان 21 عددِ آن‌ها آسیب‌پذیر بودند. از این روست که می‌گوییم امکان دارد فایل پی‌دی‌افی با محتوای آلوده و یا اطلاعات غلط ساخته شود که به چشم کاربر بسیار معتبر بیاید.

 

 

جالب اینجاست که آن یک اپلیکیشن باقیمانده که فریب هیچ‌یک از ترفندهای تیم تحقیقاتی را نخورد Adobe Reader 9 بود. مشکل این است که این پی‌دی‌اف‌خوان خودش در معرض آسیب‌پذیری RCE است و توسط کاربران لینوکسی مورد استفاده قرار می‌گیرد (صرفاً به این دلیل که آخرین نسخه‌اش در دسترس ایشان است).

نتیجه‌گیریِ عملی

نتیجه‌گیری عملی‌ای که می‌شود از کل این تحقیق گرفت بدین‌ شرح است: ابتدا، هیچ‌کس نباید چشم و گوش بسته به امضاهای دیجیتالی پی‌دی‌اف اعتماد کند. اگر جایی چک‌مارک سبز دیدید این لزوماً بدین معنا نیست که امضا معتبر است. دوم اینکه، حتی یک داکیومنت امضاشده هم می‌تواند در معرض خطر قرار گیرد. بنابراین پیش از باز کردن هر نوع فایل دریافتی به صورت آنلاین و یا کلیک روی هر لینکی داخلشان مطمئن شوید روی کامپیوترتان یک راهکار امنیتی قابل‌اطمینان نصب است. 

 

[1]  incremental update

[2] Incremental saving attack

[3] Signature wrapping attack

[4] Universal signature forgery

 

منبع: کسپرسکی آنلاین (ایدکو)

کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز می‌شناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکي نام دارد.

محصولات مرتبط

  • Kaspersky Internet Security for Android

    امنیت پیشرفته‌ای که همیشه همراه شماست بخش مهمی از زندگی اکثر ما اکنون روی گوشی‌ها و تبلت‌هاست- پس به امنیت موبایلی نیاز دارید که شما را همیشه امن نگه ...

    7,080,750 ریال
    خرید
  • Kaspersky Cloud Password Manager

    Kaspersky Cloud Password Manager ابزار مدیریت کلمه عبور ابری کسپرسکی (KCPM) ضمن ذخیره ایمن تمامی کلمات عبور مورد استفاده شما برای وبسایت‌ها، اپلیکیشن‌ها، و شبکه‌های اجتماعی آنها را در تمامی ...

    10,624,500 ریال
    خرید
  • Kaspersky Safe Kids

    شما می توانید بر ارتباطات اینترنتی کودکان از قبیل فعالیتهای عمومی در فیسبوک، کنترل تماسها و پیامها از طریق دستگاههای اندرویدی نظارت داشته باشید. کمک شما به کودکان بهترین راهنمایی برای آنها ...

    10,624,500 ریال
    خرید
  • Kaspersky Small Office Security

    محافظت در حین کار Kaspersky Small Office Security به طور خاص برای سازمان‌هایی طراحی شده است که 5 تا 50 دستگاه کامپیوتر در خود جای داده‌اند. نصب آن بسیار آسان است؛ مدیریت آن ...

    25,515,000 ریال
    خرید
  • Kaspersky Security Cloud Personal

    تمام اپ‌های امنیتیِ ما در دستانتان. به کل خانواده‌ی اپ‌های ما برای دسکتاپ و موبایل دسترسی پیدا کنید. از آنتی‌ویروس گرفته تا ابزارهای حریم خصوصی و اجرایی، هر کدام را به میل ...

    70,868,250 ریال
    خرید
  • Kaspersky Standard

    سیستم امنیتی بهبودیافته به همراه تقویت‌کننده عمکرد دستگاه طرح امنیتی استاندارد ما، نه تنها سیستم امنیتی قدرتمندی را برای انواع ویروس‌ها، بدفزارها و باج‌افزارها ارائه می‌دهد ...

    20,047,500 ریال
    خرید
  • Kaspersky Plus

    امنیت. کارایی. حریم خصوصی. همه در یک برنامه با کاربری آسان کسپرسکی پلاس با ارائه امنیت سایبری نسل بعد، شما در برابر ویروس‌ها، باج‌افزارها و بدافزارهای جدید محافظت کند - بدون ...

    28,748,250 ریال
    خرید
  • Kaspersky Premium

    حفاظت کامل از دستگاه ها، حریم خصوصی و هویت شما با محصول Kaspersky Premium تمام نیازهای امنیتی خود و خانواده‌تان را پوشش دهید. حفاظت پیشرفته ...

    30,753,000 ریال
    خرید

نظر خودتان را ارسال کنید


کاربر گرامی چنانچه تمایل دارید، نقد یا نظر شما به نام خودتان در سایت ثبت شود، لطفاً وارد سایت شوید.
*نظر
کلیه حقوق مادی و معنوی این سایت محفوظ و متعلق به شرکت گسترش خدمات تجارت الکترونیک ایرانیان است و هر گونه کپی برداری از آن پیگرد قانونی دارد