【技術者向け】WAFで防げるランサムウェア関連攻撃|Web経由の侵入を阻止
ランサムウェアの侵入経路としてVPNやリモートデスクトップが注目されがちですが、Webアプリケーションの脆弱性を悪用した侵入も無視できないリスクです。SQLインジェクションによる認証情報の窃取、悪意あるファイルアップロードによるWebシェルの設置、コマンドインジェクションによるマルウェアのダウンロードなど、Web経由の侵入パターンは多岐にわたります。
WAF(Web Application Firewall)は、これらのWeb攻撃を防御する重要なセキュリティレイヤーです。本記事では、Webアプリ開発者やインフラエンジニア向けに、WAFで防御可能な攻撃パターン、ルール設計のベストプラクティス、WAFの限界と補完対策を解説します。
ランサムウェア攻撃におけるWeb経由の侵入
Webアプリケーションがランサムウェア攻撃の起点となるケースを理解します。
Webアプリケーションが侵入口になるケース
- 脆弱性を悪用した初期侵入
- Webアプリケーションの脆弱性(SQLインジェクション、コマンドインジェクション等)を悪用して、サーバーへの初期侵入を行います。公開されているWebアプリケーションは攻撃者から容易に発見できるため、格好の標的となります。
- Webシェルの設置
- 危険なファイルアップロード機能を悪用し、Webシェル(サーバー上で任意のコマンドを実行できる不正スクリプト)を設置します。Webシェルを経由して、攻撃者はサーバーを遠隔操作し、ランサムウェアをダウンロード・実行できます。
- リバースシェルによるC2接続
- 脆弱性の悪用により、サーバーから攻撃者のC2(Command & Control)サーバーへのリバースシェル接続を確立します。これにより、ファイアウォールの内側からの接続として通信が行われ、検知が困難になります。
Web経由侵入の割合と傾向
- VPN/RDPに比べると少ないが無視できない
- 警察庁の統計では、ランサムウェアの侵入経路としてVPN機器やリモートデスクトップが大半を占めますが、Web経由の侵入も一定の割合で報告されています。特に、公開Webサーバーを持つ組織では、Web経由のリスクを軽視できません。
- 標的型攻撃での悪用
- 標的型攻撃(APT)では、ターゲット組織のWebアプリケーションを事前に調査し、脆弱性を発見してから攻撃を仕掛けるケースがあります。ゼロデイ脆弱性を悪用した攻撃も報告されています。
WAFで防御可能な攻撃パターン
WAFが効果的に防御できる、ランサムウェア関連のWeb攻撃パターンを解説します。
SQLインジェクション
- 攻撃の流れ
- SQLインジェクションにより、データベースから管理者アカウントの認証情報を窃取→窃取した認証情報で管理画面に不正ログイン→管理権限を悪用してサーバーに侵入→ランサムウェアをダウンロード・実行という流れで攻撃が進行します。
- WAFでの防御
- WAFは、SQLインジェクションの典型的なパターン(シングルクォート、UNIONキーワード、コメント記号等)を含むリクエストを検知・ブロックします。シグネチャベースの検知に加え、SQL構文の異常を検知する高度な機能を持つ製品もあります。
ファイルアップロード攻撃
- 攻撃の流れ
- 脆弱なファイルアップロード機能を悪用し、PHPやASP等の実行可能なWebシェルをアップロード→Webシェルにアクセスしてサーバー上でコマンドを実行→マルウェアをダウンロード・実行という流れです。
- WAFでの防御
- WAFは、アップロードされるファイルの拡張子、MIMEタイプ、ファイル内容を検査し、実行可能ファイルのアップロードをブロックします。ファイルヘッダーの検証により、拡張子偽装も検知可能です。詳細は危険なファイルアップロード対策をご参照ください。
コマンドインジェクション
- 攻撃の流れ
- OSコマンドインジェクションにより、Webサーバー上で任意のコマンドを実行→wgetやcurl等でマルウェアをダウンロード→ダウンロードしたマルウェアを実行という流れです。
- WAFでの防御
- WAFは、コマンド実行に使用される危険な文字列(パイプ、セミコロン、バッククォート等)やコマンド名(wget、curl、powershell等)を含むリクエストを検知・ブロックします。
攻撃パターンと防御効果
| 攻撃パターン | WAFでの防御 | 補完対策 |
|---|---|---|
| SQLインジェクション | 高(シグネチャ検知) | パラメータ化クエリ、入力検証 |
| ファイルアップロード | 中〜高(拡張子・内容検査) | サーバー側検証、隔離保存 |
| コマンドインジェクション | 高(危険文字検知) | 入力検証、サンドボックス実行 |
| XSS | 高(スクリプト検知) | 出力エスケープ、CSP |
| パストラバーサル | 高(パターン検知) | 入力検証、パス正規化 |
| SSRF | 中(URLパターン検知) | サーバー側検証、許可リスト |
SQLインジェクション・ファイルアップロード攻撃対策
WAFでの具体的な防御設定について解説します。
WAFルールの設計
- シグネチャベースの検知
- 既知の攻撃パターン(SQLキーワード、コマンド文字列、Webシェルのパターン等)をシグネチャとして定義し、一致するリクエストをブロックします。WAFベンダーが提供するシグネチャセットを基本とし、環境に応じてカスタマイズします。
- 正規表現パターン
- より柔軟な検知のために、正規表現を使用したパターンマッチングを行います。例えば、ファイルアップロードで拡張子が.php、.asp、.jspなどの実行可能形式であることを検知するルールなどです。
- ホワイトリスト/ブラックリスト
- 許可する値のホワイトリスト、または禁止する値のブラックリストを定義します。パラメータの形式が明確な場合(数値のみ、特定の文字種のみ等)は、ホワイトリストアプローチが効果的です。
誤検知対策
- アプリケーション特性の考慮
- アプリケーションによっては、正規のリクエストにSQLキーワード等が含まれる場合があります(例:ブログ記事にSQL文の説明を含む場合)。業務に必要なリクエストが誤ってブロックされないよう、例外ルールを設定します。
- 学習モードの活用
- WAFを最初に学習モード(検知のみ、ブロックなし)で運用し、正規トラフィックのパターンを学習させます。誤検知が発生しないことを確認してから、ブロックモードに移行します。
WAFルールの設定ベストプラクティス
効果的なWAFルール設定のためのベストプラクティスを解説します。
推奨ルールセット
- OWASP Core Rule Set(CRS)
- OWASPが提供するオープンソースのWAFルールセットで、多くのWAF製品でサポートされています。SQLインジェクション、XSS、コマンドインジェクション等の一般的な攻撃に対する包括的なルールが含まれています。
- マネージドルールの活用
- AWS WAF、Azure WAF、Cloudflare等のクラウドWAFでは、マネージドルールセットが提供されています。これらは継続的に更新されるため、最新の攻撃パターンにも対応できます。
カスタムルールの追加
- アプリケーション固有の脆弱性対策
- アプリケーション固有の脆弱性や、脆弱性スキャンで発見された問題に対するカスタムルールを追加します。例えば、特定のAPIエンドポイントへの入力値制限などです。
- 攻撃トレンドへの対応
- 新たに発見された脆弱性(CVE)や、観測された攻撃パターンに対応するルールを追加します。セキュリティ情報を定期的に収集し、ルールを更新します。
WAFルール設定チェックリスト
| カテゴリ | チェック項目 | 推奨設定 |
|---|---|---|
| 基本ルール | SQLインジェクション | 有効 |
| 基本ルール | XSS | 有効 |
| 基本ルール | コマンドインジェクション | 有効 |
| 基本ルール | パストラバーサル | 有効 |
| ファイル | 実行可能ファイルアップロード | ブロック |
| ファイル | ファイルサイズ制限 | 環境に応じて設定 |
| レート制限 | リクエストレート | 閾値設定 |
| ボット対策 | 既知の悪性ボット | ブロック |
| 例外設定 | 誤検知ホワイトリスト | 最小限に設定 |
WAFだけでは防げない攻撃と補完対策
WAFは万能ではなく、防御に限界があることを理解し、補完対策を講じることが重要です。
WAFの限界
- 暗号化通信の内容検査
- SSL/TLS通信を検査するには、WAFでSSL終端を行うか、SSL復号機能が必要です。復号せずにWAFを配置すると、暗号化されたペイロードを検査できません。
- ゼロデイ攻撃
- シグネチャベースのWAFは、既知の攻撃パターンのみを検知します。新たに発見されたゼロデイ脆弱性を悪用する攻撃は、シグネチャが作成されるまで検知できない可能性があります。
- 正規機能の悪用
- Webアプリケーションの正規の機能を悪用した攻撃(ビジネスロジックの脆弱性、過剰なAPI呼び出し等)は、WAFでは検知が困難です。
- 認証後の攻撃
- 正規の認証を経てログインした後の攻撃は、WAFでは防御できません。認証情報がフィッシング等で窃取された場合の不正アクセスは、WAFの検知対象外です。
補完対策
- RASP(Runtime Application Self-Protection)
- アプリケーション内部で動作する保護機能で、実行時の振る舞いを監視します。WAFでは検知できない攻撃パターンも、アプリケーション内部から検知できます。
- コードレビュー・脆弱性診断
- アプリケーションのソースコードレビューや、定期的な脆弱性診断を実施し、脆弱性を根本的に修正します。WAFは脆弱性が修正されるまでの一時的な緩和策として位置づけます。
- エンドポイント保護(EDR)
- WAFを突破して侵入された場合に備え、サーバー上での不審な活動を検知・対応するEDRを導入します。詳細はランサムウェア対策ソフト比較をご参照ください。
主要WAF製品の比較
クラウドWAFとオンプレミスWAFの特徴を比較します。
クラウドWAF vs オンプレミスWAF
| 比較項目 | クラウドWAF | オンプレミスWAF |
|---|---|---|
| 初期導入コスト | 低(サービス利用) | 高(機器購入) |
| 運用負荷 | 低(マネージド) | 高(自社運用) |
| スケーラビリティ | 高(自動スケール) | 限定的 |
| カスタマイズ性 | 中(制限あり) | 高 |
| レイテンシ | エッジ配置で低減 | 構成による |
| データ主権 | 確認が必要 | 自社管理 |
主要クラウドWAF
- AWS WAF
- AWSのネイティブWAFサービスで、CloudFront、ALB、API Gatewayと統合できます。マネージドルールとカスタムルールの組み合わせが可能です。
- Azure WAF
- Azure Application GatewayまたはAzure Front Doorと統合して使用します。OWASP CRSベースのルールセットが提供されています。
- Cloudflare WAF
- グローバルエッジネットワークで動作し、低レイテンシで保護を提供します。マネージドルールセットが定期的に更新されます。
選定時の考慮点
| 要件 | 推奨選択肢 |
|---|---|
| AWS環境で運用 | AWS WAF |
| Azure環境で運用 | Azure WAF |
| マルチクラウド/オンプレミス | Cloudflare、Akamai等 |
| 高度なカスタマイズが必要 | オンプレミスWAF |
| 導入・運用を簡素化したい | マネージドWAFサービス |
よくある質問(FAQ)
- Q: WAFを導入すればWebアプリケーションの脆弱性は放置してよいですか?
- A: いいえ、WAFは脆弱性の根本的な解決策ではなく、一時的な緩和策として位置づけるべきです。WAFはすべての攻撃を防げるわけではなく、ゼロデイ攻撃やWAFバイパス手法により突破される可能性があります。脆弱性はアプリケーションレベルで修正し、WAFは多層防御の一部として活用してください。
- Q: WAFを導入するとWebサイトのパフォーマンスに影響がありますか?
- A: WAFによるリクエスト検査にはわずかなレイテンシが発生しますが、現代のWAF製品では通常、実用上問題にならないレベルです。クラウドWAFの場合、エッジロケーションでの処理により、むしろパフォーマンスが向上するケースもあります。ただし、ルール数が非常に多い場合や、複雑な正規表現を使用する場合は、パフォーマンスへの影響を検証することを推奨します。
- Q: WAFの誤検知で正規のリクエストがブロックされた場合はどうすればよいですか?
- A: まず、ブロックされたリクエストのログを確認し、どのルールが発動したかを特定します。正規のリクエストであることが確認できたら、以下のいずれかの対応を行います。該当ルールに対する例外(ホワイトリスト)を設定する、ルールの閾値を調整する、ルールを検知モード(ブロックせずログのみ)に変更する。例外設定はセキュリティを弱める可能性があるため、最小限にとどめてください。
- Q: WAFとファイアウォールの違いは何ですか?
- A: 従来のファイアウォール(ネットワークファイアウォール)は、IPアドレスやポート番号に基づいて通信を制御します。一方、WAFはHTTP/HTTPSのリクエスト内容(パラメータ、ヘッダー、ボディ等)を検査し、アプリケーションレベルの攻撃を検知・ブロックします。両者は補完関係にあり、ネットワークファイアウォールで不要なポートをブロックし、許可されたHTTP/HTTPS通信をWAFで検査する構成が一般的です。
- Q: APIもWAFで保護できますか?
- A: はい、WAFはAPIの保護にも使用できます。ただし、従来のWebアプリケーション向けのルールセットでは、APIに最適化されていない場合があります。REST API、GraphQL等に対応したAPIセキュリティ機能を持つWAFや、専用のAPIセキュリティゲートウェイの導入も検討してください。APIの不適切な認可(BOLA)等の脆弱性には、WAF以外の対策も必要です。
まとめ:多層防御の一部としてのWAF
WAFは、Web経由のランサムウェア侵入を防ぐ重要なセキュリティレイヤーですが、単独では完全な保護を提供できません。
- WAFの役割を正しく理解
- WAFは既知の攻撃パターンを効果的にブロックしますが、ゼロデイ攻撃やWAFバイパス手法には限界があります。脆弱性の根本的な修正と併用することが重要です。
- 多層防御の構築
- WAFに加えて、EDRによるエンドポイント保護、SIEMによる統合監視、定期的な脆弱性診断、セキュアコーディングなど、多層的な防御を構築してください。
- 継続的な改善
- 攻撃手法は常に進化しているため、WAFルールの定期的な更新、誤検知のチューニング、新たな脅威情報への対応を継続的に行ってください。
関連記事
- ランサムウェアとは?仕組み・感染経路・対策を解説
- ランサムウェア対策ソフト比較(EDR・XDR・MDR)
- SIEMでランサムウェアを検知する
- SQLインジェクション対策
- 危険なファイルアップロード対策
- OSコマンドインジェクション対策
ランサムウェア総合対策ナビ
更新履歴
- 初稿公開