ファイルアップロードの保護 – 10 のベストプラクティスで サイバー攻撃を防御

2018 年 6 月 20 日 に最初に公開

ファイルのアップロードは、組織の生産性向上と、多くのビジネスサービスやアプリケーションにとって不可欠な機能です。たとえば、コンテンツ管理システム、ヘルスケアポータル、保険サイト、メッセージングアプリケーション等にとって、ファイルのアップロードは重要な機能です。一方で、リモートワークが増加している現在、セキュリティ対策のないファイルアップロードは、悪意のある攻撃者の攻撃ベクトルになるため、ファイルアップロードのセキュリティ確保がますます重要になります。

ファイルアップロードのリスクとは?

組織へファイルをアップロードする際の 3 つのリスク

  • インフラ攻撃:
    • 既存ファイルの上書き – サーバー上にある既存のファイルと、同じ名前と拡張子でファイルをアップロードすると、既存のファイルが上書きされる可能性があります。上書きされたファイルが重要なファイルである場合(たとえば、 htaccess ファイル)、新しいファイルを悪用して、サーバー側の攻撃を開始する可能性があります。これにより、 Web サイトが機能しなくなったり、セキュリティ設定が危険にさらされ、攻撃者が更に悪意のあるファイルをアップロードし、身代金を要求する可能性があります。
    • 悪意のあるコンテンツ – アップロードされたファイルに、サーバー上のファイル操作の脆弱性を悪用するエクスプロイトや、マルウェアが含まれている場合、そのファイルを利用してサーバーを制御し、ビジネスに深刻な影響を及ぼし、社会的信用を損なう可能性があります。
  • ユーザー攻撃:
    • 悪意のあるコンテンツ – アップロードされたファイルにエクスプロイト、マルウェア、悪意のあるスクリプト、またはマクロが含まれている場合、そのファイルを利用して、感染したユーザーの端末が制御される可能性があります。
  • サービスの中断 – 非常に大きなファイルがアップロードされると、サーバーのリソースが大量に消費され、ユーザーサービスが中断する可能性があります。

ファイルアップロードの攻撃を防ぐ方法

このようなファイルアップロード攻撃を回避するには、次の 10のベストプラクティスをお勧めします。

1. 特定のファイルタイプのみを許可 – アップロードを許可するファイルタイプを制限することで、実行可能ファイル、スクリプト等、潜在的に悪意のあるコンテンツが、アプリケーションにアップロードされるのを防止します。

2. ファイルタイプ検証 – ファイルタイプを制限することに加え、許可されたファイルタイプに「偽装」しているファイルがないことを検証することも重要です。たとえば、利用中のシステムが、ファイルの拡張子のみで判断する場合、攻撃者がファイル名を .exe から .docx に変更すると、 Word 文書としてファイルタイプのチェックを回避できます。そのために、ファイルのアップロードを許可する前に、ファイルタイプを検証することが重要です。

3. マルウェアのスキャン – リスクを最小限に抑えるために、アップロードされたすべてのファイルに対して、マルウェアスキャンをする必要があります。マルウェアの検知率を最大限に高め、マルウェアのアウトブレイク時の露出時間を短縮するために、複数のマルウェア対策エンジン(シグネチャ、ヒューリスティック、機械学習を活用)によるファイルのマルチスキャンをお勧めします。

4. 埋め込まれている潜在的な脅威を削除 – Microsoft Office 、 PDF 、画像ファイルなどには、マルウェア対策エンジンによって常に検知されるとは限らない脅威が、スクリプトやマクロに埋め込まれている可能性があります。危険因子を取り除き、ファイルに潜伏する脅威がないことを確認するには、コンテンツの非武装化と再構築( CDR )を使用して、埋め込まれている可能性のあるオブジェクトを、すべて削除・無効化することをお勧めします。

5. ユーザー認証 – セキュリティを強化するために、ファイルをアップロードする前にユーザーに自身の認証を要求することをお勧めします。ただし、これはユーザーのマシン自体が侵害されていないことを保証するものではありません。

6. ファイル名の長さとファイルサイズの最大値の設定 - 潜在的なサービス停止を防ぐために、ファイル名(可能な場合は許可する文字を制限)と、ファイルサイズの最大値を設定します。

7. アップロードされたファイル名のランダム化 – アップロードされたファイル名をランダムに変更して、攻撃者がアップロードしたファイル名で、ファイルにアクセスできないようにします。 Deep CDR では、無害化したファイルをランダムな識別子(分析用 data_id など)に設定できます。

8. アップロードされたファイルを Web ルートフォルダの外に保存 - ファイルがアップロードされるディレクトリは、攻撃者が割り当てられたパスを介してファイルを実行できないよう、 Web サイトのパブリックディレクトリの外にします。

9. ファイルの脆弱性を確認 – アップロードする前に、ソフトウェア、ファームウェアファイルの脆弱性を確認します。

10. 単純なエラーメッセージを使用 – ファイルアップロードのエラーを表示するときは、ディレクトリパス、サーバー構成情報、または攻撃者がシステムにさらに侵入するために利用する可能性のある情報等を含めないようにします。

OPSWAT のファイルアップロードセキュリティ

OPSWAT は、高度な脅威防止プラットフォーム MetaDefender によるファイルアップロード セキュリティ ソリューションを提供します。 MetaDefender には、悪意のあるファイルアップロード攻撃を防止する複数のマルウェア対策エンジン、コンテンツの非武装化と再構築( Deep CDR )、脆弱性評価等が含まれています。 MetaDefender は、 API を介して、もしくは WAF ( Web Application Firewall ) 、ロードバランサー、 ADC (Application Delivery Controller ) 等、 ICAP 対応ネットワークデバイスを使用して展開できます。

悪意のあるファイルのアップロードのブロック方法を記載したホワイトペーパー「 How to Block Malicious File Uploads with OPSWAT APIs 」 もご参照ください。

Sign up for Blog updates
Get information and insight from the leaders in advanced threat prevention.