اکثریت مردم قبلاً مراحل اساسی بررسی قبل از باز کردن یک فایل را میدانند. این موارد برای پیدیافها نیز صادق است: اطمینان از معتبر به نظر رسیدن فرستنده، احتیاط قبل از باز کردن یا دانلود پیوستهای غیرمنتظره، و اجتناب از پیدیافهایی که دارای پسوندهای دوبل هستند (مانند .pdf.exe). این عادات خوبی هستند که باعث میشوند برای شما سختتر شود که قربانی حملات فیشینگ کمتلاش شوید.
اکثر افراد از قبل از باز کردن یک فایل، بررسیهای اساسی را میدانند. این نکات همچنین برای PDFها اعمال میشود: تأیید اعتبار فرستنده، احتیاط قبل از باز کردن یا دانلود پیوستهای غیرمنتظره، و اجتناب از PDFهایی که پسوندهای دوگانه دارند (مانند .pdf.exe). این عادات عالی باعث میشود که بهسختی گرفتار حملات فیشینگ کمتلاش شوید.
با این حال، حملات PDF در حال تحول هستند و همیشه مسیر واضح را دنبال نمیکنند. این اسناد بهصورت کانتینرهای ساختاریافته هستند که میتوانند اشیاء مخفی، امضای دیجیتال و متادیتای رمزنگاری را حمل کنند؛ آنها میتوانند اعمالی را اجرا کنند. برخورد با آنها بهعنوان اسناد غیرفعال به معنای اعتماد بدون درک است که میتواند خطرناک باشد. اگرچه خوانندگان PDF مدرن ممکن است در برابر برخی خطرات محافظت کنند، اما بیعیب نیستند. باید بررسیهای عمیقتری برای تعیین خطرات قبل از باز کردن هر PDF انجام دهید.
قابلیت اجرای PDF را پیش از باز کردن آن بررسی کنید
اشیاء فعال، اقدامات خودکار، و بارهای جاسازیشده

PDFها فرمتهای مبتنی بر اشیاء هستند که با لینککردن اشیائی مانند دیکشنریها، استریمها، آرایهها و ارجاعات ساخته میشوند. این اسناد میتوانند اسکریپتنویسی و فایلهای جاسازیشده را پشتیبانی کنند. آنها میتوانند نقطه شروعی برای برخی اقدامات باشند و بهصورت خودکار این اقدامات را فعال کنند. خطر واقعی PDFها فراتر از آنچه سند حمل میکند است؛ اینکه میتوانند چه کاری انجام دهند.
هر زمان یک PDF دریافت کردید، ابتدا تعیین کنید آیا عناصر اجرایی دارد یا نه. بهترین راه این است که پس از نصب پایتون و ابزار خط فرمان مبتنی بر پایتون PDFiD، فرمان زیر را اجرا کنید:
python pdfid.py C:\Users\You\Downloads\suspicious.pdf
از نتایج اسکن، اگر هر یک از اشیای زیر مقدار غیرصفر داشته باشد، ممکن است خطر وجود داشته باشد:
- /JS یا /JavaScript
- /OpenAction
- /Launch
- /AA (اقدامات اضافی)
- /EmbeddedFile
جدول زیر نشان میدهد این اشیا ممکن است چه چیزی را نشان دهند:
|
شیء |
چرا اهمیت دارد |
|---|---|
|
/JS یا /JavaScript |
در مخفیسازی و آمادهسازی بهرهبرداری استفاده میشود |
|
/OpenAction |
میتواند هنگام باز شدن سند بهصورت خودکار کد را اجرا کند |
|
/Launch |
میتواند برنامههای خارجی را اجرا کند |
|
/EmbeddedFile |
میتواند بارهای ثانویه را شامل شود |
|
/AA (اقدامات اضافی) |
بسیار مشابه OpenAction |
اکثر فایلهای معتبر به این اشیا نیاز ندارند. برای مثال، /Launch برای یک فاکتور بیفایده است. انتظاری ندارید که یک گزارش ثابت نیاز به فایلهای جاسازیشده داشته باشد. داشتن تعداد زیاد از هر کدام از این اشیا بهطور خودکار به معنای بدافزار بودن نیست. با این حال، آنها فایل PDF را از یک سند به یک کانتینر تعاملی تبدیل میکنند. باید از ابزار pdf-parser.py برای بررسی بیشتر استفاده کنید اگر نتایج مقادیر غیرصفر برای هر یک از اشیا کلیدی را بازگرداند.
اما قانون کلی برای ایمنی این است که اگر در شک هستید PDF را در یک sandbox یا ماشین مجازی باز کنید. همچنین، اسکریپتنویسی همیشه مشهود نیست و عدم وجود آن به این معنی نیست که اشیای خراب نمیتوانند در خوانندگان PDF آسیبپذیری ایجاد کنند. نمونههای متعددی وجود داشته است که CVEها از ضعفهای پارسر بدون اسکریپت قابل مشاهده ناشی شدهاند. جاوااسکریپت تنها یک عنصر در قابلیت اجرا است؛ عنصر مهم دیگر چگونگی پیچیدگی و احتمال فعال شدن ساختار است. نباید به سادگی هر فایلی که میتواند اجرا، دریافت یا ذخیرهسازی پنلها را داشته باشد باز کنید.
یکپارچگی رمزنگاری سند را پیش از اعتماد به آن تأیید کنید
امضای دیجیتال، زنجیره گواهینامهها، و تغییرات پس از امضا

وجود صرف یک لوگو یا امضای قابل مشاهده در یک PDF تضمینکننده یکپارچگی نیست. یکپارچگی فقط زمانی تأیید میشود که امضای دیجیتال وجود داشته باشد. امضای رمزنگاریشده بر پایه زیرساخت کلید عمومی (PKI) ساخته میشود و میتواند در PDFها سه مورد را تضمین کند: اینکه فایل تغییر نکرده (یکپارچگی)، چه کسی آن را امضا کرده (اعتبارسنجی)، و منبع آن (عدم انکار).
اگر هر PDF ادعای اختیار داشته باشد، میتوانید همان اسکن PDFiD که قبلاً بررسی شد را اجرا کنید و به دنبال مقدار /AcroForm بگردید. هر مقداری بالای صفر نشاندهنده وجود فیلد فرم امضا است. سپس میتوانید فایل را بهصورت ایزوله در Adobe Reader یا هر ابزار پیشرفته دیگری برای PDF باز کنید و پانل امضا را برای موارد زیر بررسی کنید:
- آیا امضا معتبر است؟
- آیا به یک مرجع گواهینامه ریشهای معتبر زنجیر میشود؟
- آیا گواهینامه منقضی یا لغو شده است؟
- آیا سند پس از امضا تغییر کرده است؟
- آیا زمانمستند (timestamp) معتبری وجود دارد؟
این بررسی ضروری است زیرا ممکن است سندی امضا داشته باشد بدون اینکه امضای رمزنگاری داشته باشد. همچنین، چون یک بازنگری میتواند پس از امضا به PDF افزوده شود، باید بهروز رسانیهای افزایشی توجه ویژهای داشته باشید. اگر خواننده به تغییرات پس از امضا اشاره کند، باید محتاط باشید. جدول زیر یک مدل یکپارچگی برای امضاها ارائه میدهد.
|
وضعیت امضا |
معنی |
|---|---|
|
معتبر و مورد اعتماد |
یکپارچگی سالم، امضاکننده تأیید شده |
|
معتبر اما خودامضا |
یکپارچگی سالم، هویت تأیید نشده |
|
خراب یا تغییر یافته |
یکپارچگی مخدوش |
|
بدون امضا |
بدون تضمینهای رمزنگاری |
تعداد بیشماری از PDFهای معتبر بدون امضا هستند و این طبیعی است. اما به محض اینکه فایل ادعای اختیار داشته باشد، که در موارد اطلاعیههای بانکی، فرمهای قانونی و قراردادهای سازمانی رخ میدهد، اگر امضا نداشته باشد، باعث نگرانی میشود. فایلهایی که اعتماد ادعا میکنند باید بتوانند بهصورت ریاضی آن را ثابت کنند.
منشئیت و سازگاری ساختاری فایل را پیش از تعامل با آن تأیید کنید
همسویی متادیتا، اعتبارسنجی زنجیره تحویل، و ناهنجاریهای ساختاری
PDFهای بدون امضا که منبع غیرقابل تأیید دارند حتی در حالت غیرقابل اجرا نیز میتوانند خطرناک باشند. برای ایمن ماندن، باید مسیر تحویل فایل را بررسی کنید. سه مقدار باید صحت داشته باشند: SPF (چارچوب سیاست فرستنده)، DKIM (کلید دامنه شناخته شده ایمیل) و DMARC (تصدیق مبتنی بر دامنه). این پروتکلهای احراز هویت ایمیل تأیید میکنند که آیا ایمیل واقعاً از دامنهای که ادعا میکند آمده است یا نه. برای بررسی این مسیرها، مراحل زیر را دنبال کنید:
- ایمیل حاوی پیوست PDF را باز کنید.
- روی سه نقطه در بالای راست ایمیل کلیک کنید و «See original» را انتخاب کنید.
- مقادیر SPF، DKIM و DMARC را بررسی کنید؛ اگر مقادیر «PASS» باشند، منبع معتبر است.
همچنین میتوانید بهسرعت جزئیات ایمیل را بررسی کنید تا نام نمایش را با دامنه ارسالکننده واقعی مقایسه کنید. اما مهمتر از آن، اگر فایل از طریق یک لینک دانلود شده باشد، زنجیرههای بازگردانی را بررسی کنید. برای این کار، لینک را کپی کرده و در ابزاری مانند URL Scan بچسبانید تا هر گام انتقال فایل، از جمله لینک اصلی، مشاهده شود. میتوانید با استفاده از VirusTotal لینک را اسکن کنید تا بفهمید آیا ایمن است یا نه. سپس فایل واقعی را بررسی کنید. میتوانید ExifTool را نصب کنید و دستور زیر را اجرا کنید تا مقادیر فایل مانند نویسنده، سازنده، تولیدکننده، تاریخ ایجاد و تاریخ تغییر را پیدا کنید.
exiftool suspicious.pdf
پس از بهدست آوردن این مقادیر، آنها را با ادعای PDF مقایسه کنید. برای مثال، اگر PDF ادعا کند یک فاکتور 2026 از بانک چندملیتی شما است، اما اطلاعات تولیدکننده به یک نسخه قدیمی LibreOffice اشاره دارد، نشانگر این است که چیزی ممکن است اشتباه باشد. در نهایت، این دستور qpdf را برای سازگاری ساختاری اجرا کنید.
نکات عملی امنیت PDF را دریافت کنید — در خبرنامه مشترک شوید
qpdf --check suspicious.pdf
تاریخهای افزایشی متعدد، جریانهای اشیاء بیش از حد، لایههای فشردهسازی عجیب، و ناهنجاریهای مراجع متقاطع ممکن است علائمی باشند که چیزی مضر درون آن نهفته است.
PDFها را بهعنوان کانتینرهای اجرایی، نه اسناد غیرفعال، در نظر بگیرید
اگرچه یک PDF ممکن است در چاپ شبیه یک برگه کاغذی عادی به نظر برسد، فایل واقعی شبیه یک کانتینر بستهبندی شده است. میتواند یک واسطه مؤثر برای اجرای اقدامات باشد. برای ایمنی، باید مکانیکهای زیرین فایل را بررسی کنید.
استفاده از برنامههای امنیتی یکی از روشهای ایمن ماندن آنلاین است. با این حال، یک توقف کوتاه و بررسی قبل از باز کردن PDF عادتی است که در صورت نقص برنامهها شما را محافظت میکند.

افزونه یا افزایشی که مورد اعتماد دارید و بیش از ۱۰۰ هزار بازبینی دارد ممکن است شما را جاسوسی کند.