This post is also available in: English (英語)
概要
ファイルの転送(つまりアップロードとダウンロード)は、組織や従業員の生産性には欠かせません。たとえばファイルのアップロードは経費精算プラットフォームやコンテンツ管理システム(CMS)、インスタントメッセージ、コラボレーションアプリケーションなどのサービスには不可欠です。従業員は頻繁にファイルをチームメンバーやお客様、パートナーへ転送しており、通常は転送プロセス全体が安全であるものと考えられています。しかし、新型コロナウイルス(COVID-19)の感染拡大にともない従業員がリモートワークへ移行するにつれ、ファイル転送における組織のセキュリティを保証してくれるような、精確な対策を適用することにより、悪意のある攻撃者の攻撃ベクトルを減らすことが重要になってきました。
マルウェアと関連するサイバー脅威は、被害者に特定の悪意のあるコードを配信することから始まります。通常、組織は外部からの脅威を防ぐ目的で設計されたセキュリティソリューションに多額の費用を費やしていますが、内部からの脅威に対しても、自身を脆弱なままにしておくべきではありません。というのも、私たちは職場内で絶えずコミュニケーションをとっている人々に対して、より高いレベルの信頼を与えることが多いからです。
本稿の目的は、ファイル転送セキュリティとアプリケーション許可リストが、内外両方からの脅威をどのように緩和できるかについて評価することにあります。筆者らは本稿で、組織が日夜直面しているファイル転送のセキュリティリスクと脅威について詳しく調べ、パロアルトネットワークスの次世代ファイアウォールにおけるApp-IDの役割について説明していきたいと思います。App-IDは、ファイル転送の脅威に対するサポートを提供し、外部犯によるハッキングや内部犯による漏えいから組織を保護するテクノロジです。以下のセクションでは、さまざまなリスク要因、ファイルアップロードの脅威、App-IDテクノロジによるネットワークトラフィックの可視化について解説します。
ファイル転送脅威のリスク要因とは
エンタープライズネットワークでファイル転送を許可する場合のリスクとしては、インフラストラクチャやユーザー、データ、サービス可用性に対する攻撃が考えられます。ファイルのアップロードに脆弱性があれば重大な影響につながるおそれがあります。コードがサーバーまたはクライアントで実行されてしまうかもしれないからです。アップロードされたファイルは、同一マシン上にあるアプリケーションのべつの脆弱なコンポーネントを悪用する目的で使われたり、不具合のあるライブラリの脆弱性をトリガーする目的で利用されてしまうことがあります。脅威アクターがアップロードして使用することのあるファイルには、次のようなものがあります。
- コマンド&コントロール(C2)サーバーの情報
- 嫌がらせや暴力の指示
- ステガノグラフィ素材
その他の重大リスクとしては、悪用の対象となりやすいストレージサーバー上のファイル共有があげられます。ストレージサーバーは、違法ソフトやマルウェア、アダルトコンテンツなどの有害ファイルをホストする能性があります。Firefox Sendはそうしたファイル共有Webサービスの1つでしたが、ビジネス開始から1年とたたずにシャットダウンされてしまいました。これは、脅威アクターがこのプラットフォームをマルウェアやスピアフィッシングの攻撃拡散に使用したためでした。
一方で、悪意のあるインサイダー攻撃に対応するコストは年々増加しています。そこにデータが絡めばかならずHIPAAやGDPR、PCIデータセキュリティ標準などの規制が、企業をきわめて厳格な法でしばります。
データ転送の主な問題は、いまやほとんどのデータが企業の外部(クラウドなど)に存在していることです。組織がクラウドとのデータ転送に適切な保護境界やポリシー、コントロールを設けていなければ、過度の不正な転送が発生する可能性があります。その結果、悪意のある、または不注意な内部関係者は、承認されないファイル転送によって深刻なリスクをもたらす可能性があります。これらのファイル転送に対するトラフィックの可視性がなければ、インサイダー脅威がデータ損失や漏えいを引き起こす可能性があります。データ窃取リスクやデータ損失リスクを緩和するには、組織が適切と判断する転送を限定的に許可し、データ損失防止(DLP)により不要なデータ転送をチェックする必要があります。
主なファイルアップロードの脅威
ファイル転送機能を備えたアプリケーションは毎日使用されており、ファイルのアップロードはあらゆるアプリケーションにとって不可欠な機能になりつつあります。このようなアプリケーションは、偽ののファイルや悪意のあるファイルをフィルタリングすることで、自身とユーザーを安全に保つ必要があります。安全にファイルを転送するためのベストプラクティスは次のようなものです。
- 攻撃者にスプーフィングされる可能性があるため、Content-Type ヘッダを信頼することなく常にファイルタイプを確認する
- ファイル名の長さとサイズに制限を設け、サーバー上でホスティング中のファイル名は変更する
- 業務上必要な拡張子のファイルのみを許可する。ファイルが公開されている場合は、ハンドラマッピングを使用してアプリケーション内でIDをファイル名にマップする
- サンドボックス上やアンチウイルスでファイルを実行することも推奨
ただしアプリケーションのなかにはその性質上こうした方法をとれないものもあります。たとえばファイルホスティングやクラウドストレージアプリケーションなどがそれにあたります。さらに開発チームのセキュリティ知識不足が原因で、ファイルアップロード脅威の標的となりうるアプリケーションも存在します。
アップロードされたファイルは、エンタープライズネットワークにとって重大なリスクとなりえます。ほとんどのインシデントで、攻撃者は悪意のある攻撃用のコードをシステムに潜り込ませる必要がありますし、それがすめばそのコードを実行する算段をつけねばなりません。攻撃者はファイルアップロードの脆弱性を利用して悪意をもってファイルを配信します。さまざまな種類のファイルアップロードの脅威は以下のようにグループ化できます。
- ファイル送信コンポーネントでの任意のファイルアップロードによるファイルパーサー脆弱性の悪用。これらは検証されていない、ないしサニタイズされていない入力がその原因となる場合がある。たとえばCVE-2021-24144、CVE-2021-24142、CVE-2021-25277がこのタイプの攻撃の3つの例。
- CVE-2017-5638に見られるようなコンテンツタイプ検証における誤り。
- 例外処理、正規表現のバックトラックにおける誤り。たとえばCVE-2021-25292は正規表現のバックトラック攻撃の例。
クロスサイトリクエストフォージェリ(CSRF)、クロスサイトスクリプティング(XSS)、サーバーサイドリクエストフォージェリ(SSRF)などのクライアントサイド・サーバーサイドへの攻撃もまたべつのタイプのファイル転送脅威です。クライアントサイド、サーバーサイドへの攻撃例としては次のものがあげられます。
- クロスサイトリクエストフォージェリ(CSRF)の例: CVE-2020-24984、CVE-2020-36283
- クロスサイトスクリプティング(XSS)の例: CVE-2020-29071、CVE-2020-35852
- サーバーサイドリクエストフォージェリ(SSRF)の例: CVE-2020-11451
ファイルがだれでもアクセス可能になってしまっていると、このような攻撃で他のユーザーが危険にさらされたり、機微情報(プロプラエタリな情報や著作権で保護された情報、個人情報など)が開示されてしまうおそれがあります。また攻撃者により、システム上の既存のファイルが上書きされてしまう可能性もあります。これらの攻撃のほとんどは、アップロードコンポーネントを使って任意の拡張子やデータを含む悪意のあるファイルをアップロードすることで、脆弱性を悪用します。
ネットワークセキュリティレベルでいえば、ユーザーコンテンツの制御や検証について私たちにできることは限られている点に注意が必要です。したがって最善のアプローチは多層防御戦略を実装してアップロードアクションの可視性を高めることでしょう。多層防御戦略には、資産の周囲にさまざまな保護レイヤをめぐらせることによる悪用からの影響緩和が含まれます。またこの戦略をささえるのが、ベストプラクティスの実装による法的・技術的側面やポリシー、オペレーション、ヒトとヒトとの対話などです。かりにいずれかの保護レイヤが侵害されたり、停止させられたり、不十分であることが判明した場合でも、別の保護レイヤがあれば、完全な侵害はくいとめることができるのです。
ファイル転送機能とアプリケーションのネットワークトラフィックの可視性
セキュリティの初手はネットワークトラフィックの可視化です。パロアルトネットワークスでは、App-IDテクノロジによってこれに取り組んでいます。App-IDは、アプリケーションとプロトコルに包括的な可視性を提供することにより、攻撃対象面を克服するうえでの基盤をつくっています。組織はアプリケーション識別やネットワークプロトコル識別に重点を置いたApp-ID機能を使ってポリシーを設定し、ファイル転送機能をもつアプリケーションを許可リストやブロックリストに追加したり、コントロールしたりできるようになります。パロアルトネットワークス次世代ファイアウォール上で実行されているApp-IDは、徹底的な可視性をもたせた上で、ユーザーがファイル転送アプリケーションを使えるようにしてくれます。現在のApp-IDは352種類を超えるファイル共有・ファイルホスティングアプリケーション、アプリ内アップロード機能やアプリ内ダウンロード機能などのファイル転送機能をもつ211種類を超えるアプリケーションをカバーしています。
App-IDチームは対象となるアプリケーションのファイル転送機能の有無を確認してアプリケーションの識別を行っていますが、識別作業はこれだけにはとどまりません。すべてのアプリは、たとえばVBScriptファイルなど悪用されやすいことがわかっている特定ファイルタイプを許可するかどうかについてもチェックされています。このほか、パロアルトネットワークスの次世代ファイアウォールは、拡張子の有無に関係なく、何百ものファイルタイプを検出・分析することができます。これに加え、ファイル転送アプリケーションであることが識別された場合はPAN-OSの転送技術でファイアウォールトラフィックからそれらすべてのファイルをインターセプトして、自動的にWildFireに送信し、さらに分析を行っています。
結論
ほとんどの企業は組織内でファイル転送を行っていますので、それらのファイル転送を可視化することがデータ侵害回避のかなめです。パロアルトネットワークス次世代ファイアウォールのApp-IDは、組織ネットワーク上で実行してもよいアプリケーションの詳細な許可リストを提供します。App-IDで組織はアプリケーションの振る舞いを簡単に監視・制御できるようになり、侵入者やインサイダー脅威からビジネスを保護しやすくなります。
パロアルトネットワークスのお客様は、次の方法でこの種の攻撃から保護されています。