近日公開予定の「State of Application Delivery 2018」レポートでは、Webアプリケーションファイアウォール(WAF)の利用が長年にわたり着実に増加していることを指摘しています。これは望ましい傾向です。今日のアプリは顧客データや企業データへの入り口となっており、ネットワーク層でアクセスを制御する従来の手法だけでは十分ではありません。悪意のある攻撃者が、その貴重なデジタル資産を狙い、アイデンティティやアプリケーション自体を標的にするケースが増えているためです。
では、庭の雑草のように次々と現れる脆弱性を、WAFは具体的にどのように緩和するのでしょうか。WAFがWeb攻撃を検知して防止する主な方法は3つあります。リクエストの拒否/許可、検査と拒否、シグネチャです。
それぞれ詳しく見ていきましょう。
リクエストの拒否/許可
リクエストの拒否/許可方式は、ネットワークファイアウォールで従来から使用されているゲートウェイモデルによく似ています。利用可能な情報に基づいて、リクエストを拒否または許可します。その情報は、IPアドレスのように単純な場合もあれば、OPTIONSやMETHODSのように、より複雑でHTTPに固有の情報である場合もあります。
- 拒否/許可リスト
悪意のある攻撃者が特定のIPアドレスまたはIPアドレス範囲からアクセスしていることがわかっている場合は、そのアクセスをブロックします。アプリケーションが特定のIPアドレスまたはIPアドレス範囲からのリクエストのみを受信するよう許可されている場合は、それらのリクエストだけを許可します。これは最もシンプルな保護方法であり、リクエストの送信元として許可または禁止するIPアドレス/範囲という、比較的固定的な情報に基づきます。
それなら、ネットワークファイアウォールを使えばよいのではないかと思われるかもしれません。実際、それがネットワークファイアウォールの役割です。オンプレミスでは非常に有効ですが、パブリッククラウド上で保護する必要があるアプリケーションの場合は、利用できないことがあります。また、F5の「State of Application Delivery 2018」調査で、すでに2~6社の異なるクラウドプロバイダーに投資している59%に該当する場合、ネットワークファイアウォールのポリシーがプロバイダー間で同一であるとは限りません。複数のクラウドに同じルールを実装することは可能ですが、WAFでルールを適用すれば、複数の環境で同じWAFの同じポリシーを使用できます。セキュリティを効果的に拡張するには、一貫性が重要です。 - OPTIONSの制限
HTTPでは、一連のヘッダーを使用して、ユーザーが実行しようとしている操作をアプリプラットフォーム(およびアプリ)に指示します。たとえば、HTTPメソッドのGET、PUT、POST、DELETEを使用して、リソースを操作できます。OPTIONSフィールドにもRFCで規定された値のセットがあり、WAFで容易に制御できます。Optionsbleedなど、一部の脆弱性はこれらのフィールドを悪用します。このような脆弱性が悪用される可能性を排除するため、WAFを使用して、指定可能な値をアプリケーションの正常な実行に必要なものだけに制限できます。WAFによっては、デフォルトでこれらの値が制限されています。たとえば、BIG-IP ASM(F5 WAF)では、デフォルトでHTTP OPTIONSメソッドが一切許可されていません。
シグネチャ
シグネチャは、さまざまなセキュリティソリューションで広く使用されている、もう1つの保護手法です。アンチウイルスサービスやアンチマルウェアサービスでは、シグネチャを使用してウイルスやマルウェアの痕跡を迅速にスキャンし、検出対象として識別します。IPS/IDSやWAFも、この手法に大きく依存しています。シグネチャには、ユーザー定義とベンダー管理の2種類があります。
- ベンダー管理
ベンダー管理のシグネチャは通常、ベンダーが自動的に保守する「データベース」に保存されます。これには、一意のデジタルシグネチャによって新たな脆弱性を識別できるようになった場合のデータベース更新も含まれます。WAFは受信リクエストをデータベースと照合し、データベース内のシグネチャとの一致を検出した場合は、それに応じて処理します。シグネチャは単純なプレーンテキストの場合もありますが、多くの場合、リモート実行機能を作動させる、アプリプラットフォームを破損させてアクセスを可能にする、またはサービスを妨害する悪意のあるコードを表す、判読しにくい文字列の複雑な組み合わせです。 - ユーザー定義
ユーザー定義シグネチャを使用すると、オペレーターはデータベースにシグネチャを迅速に追加できます。この機能は、新たな脆弱性に迅速に対応するうえで(多くの場合はゼロデイ対応)、またベンダー管理シグネチャがまだ提供されていない脆弱性を緩和するうえで重要です。
検査
最後に、リクエスト(およびレスポンス)を完全に制御できるよう、検査機能が組み込まれています。リクエスト検査では、WAFがリクエスト内の情報を既知の正常または不正な文字列や値と比較し、そのリクエストが悪意のあるものか正当なものかを判定できます。HTTPアプリケーション(現在インターネット上にあるアプリケーションの大半)にとって、これはWAFが備えるべき最も重要な機能です。プログラム可能な検査機能を備えていないWAFについては、選択を再検討することをお勧めします。HTTPはテキストベースで拡張可能なため、リクエストの検査に使用できるオプションや方法を網羅した「チェックボックス」形式のリストを用意することは、事実上不可能です。指定できる値が制限されているHTTPヘッダーはごくわずかであり、ヘッダーに含められる内容を制限するのは非常に困難です。そのため、ヘッダーやペイロード自体に埋め込まれた悪意のあるコードを検出するには、多くの場合、検査が必要です。検査には、既知のヘッダーとペイロードという2つの方法があります。
- 既知のヘッダー
すべてのHTTPリクエストには、明確に定義された一連のヘッダーが含まれています。Host、User-Agent、Content-Typeなどは、ほぼすべてのリクエストで使用されます。各ヘッダーは単なるテキスト文字列にすぎませんが、その組み合わせは多岐にわたるため、値を許可リストに登録するのは困難です。そのため、不正と思われる値がないか個別にスキャンする必要があります。一般に、WAFはHTTPヘッダーを非常に迅速に解析し、検査できます。ヘッダーはすべてのリクエストの先頭にあり、アプリケーションプラットフォームに対するさまざまな攻撃に悪用されてきました。よく知られている脆弱性としては、ApacheKiller、Optionsbleed、Apache Strutsなどがあります。 - ペイロード検査
ペイロード検査とは、その名のとおり、最初のバイトから最後のバイトまでペイロード全体を検査し、脆弱性を悪用しようとする試みを示す既知の英数字データの組み合わせを検出することです。ペイロード検査により、運用担当者はカスタムHTTPヘッダーとリクエスト本文を調べ、悪意のあるアクティビティを示す特定の兆候を確認できます。そのためには、WAFがまずリクエストの内容全体を保持する必要があります。これは、1つのパケットに格納できるデータ量には限りがあり、悪意のあるデータが2つのパケットにまたがる場合、パケット単位でしか検査しないサービスでは見逃される可能性があるためです。WAFはペイロード全体を検査することで、悪意のあるデータがどこに含まれていても検出し、標的に到達するのを防ぎます。
WAFは、脆弱性を緩和してアプリケーションを保護するだけでなく、さまざまな機能を提供できます。多くのWAFには、ボット検知、レート制限、DDoS防御などの機能も搭載されています。しかし、WAFの中核的な目的は、脆弱性を緩和してアプリケーションを保護することです。SQLi、XSS、CSRFがよく挙げられますが、今ではほぼ「目新しくない」ものとなっています。悪意のある攻撃者は、明らかなアプリケーションの脆弱性だけでなく、プラットフォームも標的にし始めています。プラットフォームには、攻撃対象となり得る被害者がはるかに多く存在するためです。HTTPとそのフレームワークに存在するプラットフォームの脆弱性は、侵害の原因として増加しており、エンタープライズクラスのWAFによる保護が有効です。
従来の拒否/許可制御とシグネチャベースのスキャンに加え、リクエスト(およびレスポンス)全体を検査する機能を活用することで、WAFは企業とその顧客を保護するために今日必要とされる防御を提供します。
著者について

Lori MacVittieは、F5のOffice of the CTOに所属するDistinguished Engineer兼Chief Evangelistであり、アプリケーションデリバリ、自動化戦略、インフラストラクチャに関する深い専門知識を有しています。AIエージェントのガードレール策定、脆弱なマルチクラウドアーキテクチャの分析、スケーラブルなシステムの限界の検証など、複雑な事柄を明快にすることで知られています。アプリケーション開発、ITアーキテクチャ、ネットワークおよびシステム運用の分野で、30年以上にわたる業界経験を有しています。F5入社前は、受賞歴のあるテクノロジー編集者として活躍していました。 MacVittieはコンピューターサイエンスの修士号を取得しており、セキュリティ、クラウド、エンタープライズアーキテクチャにわたる分野で多数の著作を発表しています。また、テーブルトークゲームとビデオゲームをこよなく愛し、チーズについては遠慮なく強いこだわりを語ります。
Lori Mac Vittieのその他のブログ記事関連するブログ記事

F5 Application Study Tool:OpenTelemetryによるF5 BIG-IP環境の監視
F5の新しいオープンソースツールは、BIG-IP環境を詳細に可視化し、データを追跡するとともに、強力でカスタマイズ可能なインサイトを得るための基盤を提供します。
F5 BIG-IPでAI防御を実現
F5 BIG-IP Advanced WAF、BIG-IP APM、BIG-IP SSL Orchestratorが、生成AIアプリ向けに包括的なセキュリティソリューションを提供する仕組みをご覧ください。
F5 Advanced WAFによるGraphQL APIの保護
ここ数年、多くの組織がデジタルトランスフォーメーションを進めており、COVID-19のパンデミックによってその動きは加速しています。
アプリケーションサービスの現状 通信業界版:リーダーとしての台頭
通信ネットワークが進化し、さまざまな業界の幅広いユースケースに対応するなか、通信業界の回答者がテクノロジーリーダーとしての存在感を高めていることがわかります。
デジタルトランスフォーメーションは、単なるペーパーレス化ではない
デジタルトランスフォーメーションは、単なるペーパーレス化ではありません。真のモダナイゼーションにアプリケーションアーキテクチャとセキュリティの再構築が必要な理由を、F5ブログでご覧ください。
やめましょう。もう本当にやめましょう。HTTPSはHTTPより高速ではありません。
もうやめましょう。HTTPSはHTTPより高速ではありません。プロトコルのパフォーマンスに関する微妙な違いと、暗号化トラフィックを適切に最適化する方法については、F5ブログをご覧ください。