2009-08-12 15 views
2

ユーザーがPDFドキュメント(およびPDFのみ)をアップロードできるようにすると、悪意のあるユーザーがドキュメント内に実行可能なスクリプトを含めることができますか?標準的な単語文書はどうですか?これが要件である場合のベストプラクティスは何ですか? (申し訳ありませんが、私が知っている3つの質問はすべてですが、それらはすべて適用されます!))PDFドキュメントと実行可能なスクリプトを受け入れる

私はthoughtbotのpaperclipプラグインを使用しています。

答えて

2

"実行可能"であるかどうかは、あなたがかどうかにかかわらず、を実行してください。ファイルは単なる一連のバイトです。コードは実際に実行された場合にのみ危険です。ファイルの転送先が安全である限り、ファイルを転送するという単純な動作は、実際に害を及ぼすものではありません。害を及ぼす原因は、アップロードされたファイルを何らかの形でコマンドとして呼び出すか、ファイルから命令を受け取りアクションを実行する何らかのレンダリングエンジンの形式を渡す場合です。

+0

言うまでもなく、PDFファイルには、ダウンロードしてPDFビューアで開くと、クライアントのOS、ブラウザ、ハードドライブなどに損傷を与える種類のトリガが含まれていると、ドキュメントをPDF化することはあまりありません。もっと私の質問。これらの潜在的なケースを支援するベストプラクティス私は完全にbtwに同意する - 転送の行為は、実際の実行よりも懸念の少ないです。思考? – drpepper

+0

PDFで配信できるAcrobat Readerなどを利用しています(http://blog.security4all.be/2009/07/0-day-in-adobe-flash-also-executable.htmlを参照)。例)。 1つのオプション(必ずしも最も効率的ではないが)は、ライブラリを介してPDFファイルを処理し、含まれる「動的な」PDF要素ではなく、コンテンツのグラフィカルなレンディションのみを含む新しいPDFファイルにそれらを印刷することである。もちろん、そのような動的要素を正当な理由で利用することはできませんが、主にビジュアルコンテンツのアップロードを希望しているようです。 – Amber

+0

また、MS Word文書にはセキュリティホールがあり、そのほとんどはマクロなどを扱っています。あなたがあなたのアップロードを実行するウイルススキャンサービスのいくつかの形式を持つことは悪い考えではありません。 – Amber

0

あなたは誰を保護しようとしていますか?

もしあなたがそれならば、あなたはDavの答えに従ってうまくいくでしょう。危険は、サーバー上でコードを実行または開こうとすることによってもたらされます。あなたのサーバーがAdobeでファイルを開くのを自動化しない限り、あなたはすごいです。

あなたがユーザーの場合は、になります。 Adobe Acrobatは、0日のpdf攻撃のハイブ(Davの答えに関するコメントで説明されているとおり)です。 Most to Allは、Foxitのような代替のpdfビューアを使用することで緩和できますが、それを制御することはできません。あなたがPDFの悪用やWordマクロからあなたのユーザーを保護したい場合は、深刻な課題があります。ウイルススキャナはWordマクロを検出できます。 Adobeの悪用ではありません(すべてではありません)。