アナログ
RSS  

PDFの表示あれこれ2009/12/26 05:16

このところ、Adobe Reader 0-dayが酷いと嘆いてる人も多いかと思います。
JISの規格票 [jisc.go.jp]がAdobe ReaderかつJavaScript有効でないと読めません。[slashdot.jp]な人は御愁傷様と言う他ありませんが、Adobeに関わらず、基本JavaScriptは切って使いましょう。
例1.Adobe Reader - INTERNET Watch 例2.Foxit Reader

また、危険なのはJavaScriptだけではありませんので、止められるオプションは可能な限り止めておきましょう。
Adobe Reader 「信頼管理マネージャー」「マルチメディアの信頼性」
Foxit Reader 「Trust Manager」

参考動画:lac - 「Adobe Readerの脆弱性は修正されたけど、設定はこうしておこう!」

ユーザ毎の設定になりますので、複数ユーザで利用されてるパソコンでは、一々各ユーザにログインしてこの作業をしなくてはいけません。

一方でAdobeでなくてもいい(たまに表示がくずれたり表示されなかったりしてもいい)という人だと、これだけウイルスのターゲットにされるAdobeに拘る必要はないわけで、PDFを表示するにあたってのあれこれをまとめておこうと思った次第。

GoogleにPDFを把握されても困らない人向け

Google Docs Viewerを利用してPDFを表示すれば、アプリをインストールしなくて済む=(これだけで完結できるなら)管理するものが一つ減るというメリットがあります。

ただし、Google Docs Viewerに脆弱性があった場合、どのようにアナウンスされるのか、Googleはサービスを停止して対応するのか等は不明です。

Google Docs Viewer経由で見るには「http://docs.google.com/viewer?url=」+PDFのURLとすればいいですが

Firefox
 Google Docs Viewer (PDF, PPT, TIFF) :: Add-ons for Firefox
 gPDF :: Add-ons for Firefox

Google Chrome
 GoogleDocsPDFViewer « Google Chrome Extensions
 gPDF « Google Chrome Extensions

などの拡張を使うと簡単になります。
gPDFはURLを置き換えるので、ダウンロードする場合もGoogleを経由する必要があります。

また、Firefoxでは次のように
Greasemonkey」あるいは「userChromeJSサブスクリプトローダーuserContent.js」の環境でPDFをGoogle docs経由で開くをAutoPagerizeに対応のユーザースクリプトを導入する方法もあります(ユーザースクリプトはどちらかというと邪道なので詳しい解説はなしですw)。

もっとも、インターネット上のPDFはこれでいいとしてもローカル(パソコンに入れてる)PDFを見るには、Google Docs Viewerだけでは解決しないわけで(どこかにアップロードして見ます?)、何かアプリを入れるしかない場合がほとんどだと思います。

それでも、インターネット上のPDFはGoogle、ローカルのPDFはアプリと分けるだけで0-day攻撃(を知らなくても)の回避には役立つだろうと思います。

Adobe以外のフリーのPDFビューアーを利用する

Adobeでなくても差しつかえない場合、(0-dayの間だけでも)乗り換えるのも一つの手です。

デメリットとして、きちんと表示できない場合があるのと、脆弱性があっても大きな話題にならないために気がつかない危険があります。
(アプリ起動時のアップデートチェックは解決策としては不十分です。タスクスケジューラーで定期的にチェックならまだいいのですけれど)

窓の杜 - PDFには比較的人気の高いPDF-XChange ViewerFoxit Readerが登録されています。

実際に使用して気に入った方を使えばいいと思います。私はずいぶん前からFoxit Reader(Ver.1xxから)だったのでPDF-XChange Viewerを使った事はありませんが、某掲示板ではかなり評判が高いようです。

ところで、ZD NetがよくFoxit Readerを安全とかすすめていますが、私の知る限りZD NetでFoxit Readerの脆弱性の情報を提供したことはなく、自力でアンテナを張っておく必要があります(PDF-XChange Viewerもその点は同じです)。

脆弱性の情報はセキュリティホール memoSANS Internet Storm CenterなどのRSSを登録して自分に関係ありそうなものをチェックしてますが、やってられないと思うのが普通でしょう。

そういった方は、Secunia PSI - 窓の杜インストールしている全ソフトの脆弱性をチェックする「Secunia PSI」:ITpro)のようなツールを使うことをおすすめします。
(私は英語版の頃に一時使った事があるのですが、このツールに警告されるより先にバージョンアップに気がついてしまうのと、HDDを定期的にガリガリされてしまうので、利用をやめてしまいました)

私の場合インストールしたソフトは、WWWCに登録してバージョンアップ情報をチェックしてるので、大げさに言えば簡易Secunia PSIを自前で運用してるようなものです。たまにフィルターを書かないとチェックにならないサイトもありますので、WWWCはあまりおすすめしませんが一つの手ではあります。

それでもFoxit Readerには手を焼かされます(情報が更新されてもダウンロードできないとか)。

手慣れた方にはなんでもない事ですが、あまり詳しくない方にマイナーなソフトはよくないかもしれません。

<追記>

私はFoxit ReaderにブチキレSumatra PDFに乗り換えています。

</追記>


欄外:ブラウザの設定で安全性を高める

結局、Adobeしかないという人もいるでしょうが、わずかですが安全性を高める方法があります。

他のブラウザを使ってないので、Firefoxの場合しか分かりませんが、オプションでPDFを強制的に保存に設定することで、意図せずPDFを開いてしまうというのを避けることができます。
ウイルスだからって、開かなければどうということはないwというわけです。
(もちろん意図せずダウンロードしたのを開いてはいけない

オプション

開くつもりでクリックした場合、開くために一手間増えてしまいますが、ウイルスを開いてしまうよりましかと。

(たぶんJavaScriptでダウンロードさせられる場合にも有効だと思いますが、試したことはありませんので気休め程度に考えて下さい)