導入文
企業でも個人でも、日常的に使われるPDFファイル。多機能な書類として重宝しますが、一方でマルウェアが仕込まれた「偽装」資料として悪用されるケースも増えています。メール添付やWebサイトからのダウンロード、USBドライブに保存された「安全に見える」PDFを開くだけで、コンピュータにウイルス・ランサムウェア・情報漏洩など深刻な被害が及ぶ可能性があります。
本稿では、PDFマルウェアの代表的な手口や、初心者でも実行できる検査手順、そして防御策を体系的に解説します。知識がなくても「PDFを添付する・受信する前に、何をすれば安全か?」と疑問に思ったときにすぐに役立つ情報をまとめました。
PDFマルウェアの概要
PDF(Portable Document Format)はAdobeが開発した標準的な文書形式ですが、その機能性の高さが逆にセキュリティリスクを増大させます。主な攻撃手口は次のとおりです。
| 攻撃手法 | 仕組み | 典型的なマルウェア |
|---|---|---|
| JavaScript実行 | PDFには組み込みスクリプトが配置でき、Adobe Reader側で解析・実行される | PDF‑JavaScript |
| Java Applet | subprocessでOSコマンド実行 |
JavaApp |
| ActiveX/ActionScript | フォームに埋め込み、イベントを利用 | AcroForm |
| リンク先での埋め込み | URLをクリックすると悪意のあるサイトへ誘導 | URLRedirect |
| 不正埋め込みファイル | PDF自体の中にEXEやVBScriptを隠蔽 | EmbeddedMalware |
典型的な攻撃パターン
-
メール添付
送信者は「請求書・契約書」という正当な文書としてPDFを添付します。ファイルサイズが大きすぎると不正と判断され易いので、比較的小さなサイズに隠蔽するテクニックもあります。 -
ダウンロードサイト
ダウンロードリンクの表示が正規サイトと同一。実際にはファイル名は同じだが、拡張子を.exeに見せかけているケース。 -
USBやクラウドストレージ
USBドライブに保存された「社内資料」を社内で共有。セキュリティが甘く、外部からの検査が行われないまま流通する。
攻撃手法に共通するのは「PDF内に悪意コードを隠し、Adobe Readerを開くだけで実行される」点です。
PDFの脆弱性ポイント
- スクリプト実行モデル:JS、Java、ActionScript を許可。
- 拡張機能:フォームフィールド、ハイパーリンク、外部リソースへの参照。
- 暗号化:暗号化された PDF でも、特定キーが知られれば解読可能。暗号化はセキュリティと悪用の両方を容易にします。
- ソフトウェアの脆弱性:Adobe Reader などの PDF ビューワソフトに存在するバグが悪用されるケース。
PDFを見抜くチェックリスト
初心者でも実施しやすい、簡易的な検査手順です。
| ステップ | 具体的行動 | ツール例 |
|---|---|---|
| 1. ファイルサイズ・拡張子チェック | 異常に大きい/小さい、pdfでない拡張子に注意 |
ファイルプロパティ |
| 2. 送信元の信頼性確認 | メールアドレスドメイン、一貫性、添付ファイルの名前 | SPF, DKIM 認証 |
| 3. パスワード保護の有無 | パスワード付きなら検証前に確認 | qpdf --list |
| 4. ヘッダー解析 | /JavaScript, /OpenAction, /AA などのキーがないか |
pdfinfo |
| 5. 無害化ツールでスキャン | Adobe Reader 以外の閲覧ソフトで開けるか、ウイルススキャン | VirusTotal |
| 6. サンドボックス実行 | 仮想環境で開き、挙動を観察 | VirtualBox + Reader |
① ファイルサイズ・拡張子チェック
PDFはテキストベースの構造を持つため、普通の資料は数百キロバイト〜数メガバイト程度。数十メガバイト以上は余計な埋め込みデータが疑われます。
② 送信元確認
迷惑メールの送信者は偽装メールアドレスを使用するケースがあります。送信ドメインが自社利用予定のドメインと一致するかを確認します。
③ パスワード保護
本物のビジネス資料はパスワード保護されていることが多いです。パスワードが無いかつや密かに設定されているケースは注意。
④ ヘッダー解析
Linux であれば pdfinfo や exiftool を使い、特定のキーが存在しないか確認。
exiftool file.pdf | grep -i "JavaScript\|OpenAction\|AA"
これでスクリプト関連のオブジェクトが含まれているか表示されます。
⑤ 無害化ツールでスキャン
- VirusTotal:URLまたはファイルをアップロードし、複数のアンチウイルスで検査。
- Hybrid Analysis:サンドボックスで実際に動作を観察。
⑥ サンドボックス実行
仮想マシンに最新版のAdobe Readerをインストールし、PDFを開いてみます。ポップアップやインターネット接続を許可するプロンプトが現れたら、即時中断します。
アンチウイルス・マルウェアベンチマーク
| ソフト | 特長 | 価格 |
|---|---|---|
| Avast Free | マルウェア検知率高 | 無料 |
| Bitdefender Antivirus Plus | ハイブリッドスキャンでPDFにも強い | 月額制 |
| Malwarebytes | 高度なファイル解析機能 | スタンダード 1 年無料 |
| ESET NOD32 | PDF 内のJSをリアルタイム検出 | 既存ライセンスで対応 |
| Sophos Central | エンタープライズ向けの PDF 解析 | 企業向け |
アンチウイルスは常に最新版に更新し、自動スキャンを有効にしておくことが重要です。
Adobe Reader のセキュリティ設定
-
JavaScript の無効化
Edit→Preferences→JavaScriptをオフにする。 -
OpenAction の制御
Preferences→Security (Enhanced)でEnable Protected Mode at startupをオン。 -
リンクの自動開放を無効化
Preferences→Security (Enhanced)→Open external links in a separate processを有効化。
また、「セキュリティ設定の自動更新を許可」 を無効にして、Adobe の自動更新を管理することも一考です。
企業向けの対策フレームワーク
| 項目 | 実施内容 | 期待効果 |
|---|---|---|
| ポリシー策定 | 受信PDFの扱いを明文化 | 内部統制の向上 |
| メールフィルタリング | スパム/不正メールをブロック | マルウェアの入口削減 |
| デジタル署名 | 送付PDFに署名を付与 | 読み手は送信者を検証可能 |
| 従業員教育 | ソーシャルエンジニアリングへの対処法を周知 | 人的リスクの低減 |
| 監査ログ | PDF 開封時のログを取得 | 不正アクセスの追跡 |
おすすめツールの比較
| ツール | 主な機能 | 平均検知率 | 使いやすさ |
|---|---|---|---|
| PDF-Analyzer | ヘッダー解析・埋め込みオブジェクト検知 | 85% | ★★★ |
| ExePDF | .exe 埋め込み検知 | 90% | ★★ |
| OpenSpartan | スクリプトとリンク分析 | 88% | ★★★★ |
| VirusTotal | クラウドベースの複数エンジン検索 | 93% | ★★★★★ |
| Hybrid Analysis | サンドボックス実行&挙動解析 | 92% | ★★★ |
注意:ほとんどのツールは無料版でも基本機能は利用可能です。必要に応じて有料版の追加機能を検討してください。
よくある質問(FAQ)
| 質問 | 回答 |
|---|---|
| PDFに埋め込まれたマルウェアはどうやって検出できる? | ヘッダ解析、スクリプト抽出、サンドボックスで実行、アンチウイルスでスキャン。 |
| PDFの署名を確認しただけで安全だと考えられる? | 署名は改ざん防止に有効ですが、内部リンクや埋め込みファイルが悪意であっても署名は残る。複合検査が必要。 |
| 仮想環境で開いた際に起動しないのは正しい? | 正しい。仮想環境は外部への接続をブロックする設定が基本。実際に挙動を確認したい場合は制御された環境でのみ実行。 |
| マルウェアが検出されなかった場合の対策は? | 追加スキャン、再送/送信元に問い合わせ、システム全体のアップデート。 |
まとめ
- PDF は便利である一方、マルウェアの隠れ蓑として悪用されやすい。
- 「サイズ」「送信元」「パスワード」「ヘッダー」「スキャン」など、簡易的ながら確実なチェックリストを習慣化することで、被害のリスクを大幅に低減できる。
- ユーザー自身がセキュリティ設定を管理し、企業ではポリシーと教育を充実させることが鍵。
- 工具は日々アップデートされているため、利用する際は最新版を採用。
安全なPDF利用は継続的な検証と対策の積み重ねです。日常業務において、小さな注意点が大きな被害を防ぐポイントになります。ぜひ本稿で紹介した項目をチェックリストに取り入れ、安心してドキュメントを扱ってください。


コメント