はじめに

この度、サイバーセキュリティクラウド社(以下、CSC社)から、AWS WAF の新しいマネージドルールとして、「Cyber Security Cloud Managed Rules -Protocol Enforcement by WafCharm-」がリリースされました。

プレスリリース:https://www.wafcharm.com/jp/news/20250218/

CSC社は、クラウドWAFの自動運用サービスである WafCharm や、OWASP Top 10 Web アプリケーションの脅威リストに含まれる脆弱性を軽減させる包括的なマネージドルール「Cyber Security Cloud Managed Rules for AWS WAF -HighSecurity OWASP Set-」なども提供しています。

「Cyber Security Cloud Managed Rules -Protocol Enforcement by WafCharm-」 は、HTTP リクエストとしてのお作法をチェックし、不適切なリクエストを検知するようなルールグループです。

「Cyber Security Cloud Managed Rules -Protocol Enforcement by WafCharm-」について

マネージドルールとは

マネージドルールは、AWS WAF で攻撃を判定するためのルールを事前に定義したルールセットです。

WAF で攻撃を検知するためには、攻撃とみなす条件を定義したルールを適用する必要があります。
このようなルールを利用者側で自力で用意しようと思うと、セキュリティに対する専門知識に加え、新たな攻撃への対応なども必要になるため、利用者側で適切に運用することは困難です。

マネージドルールを利用することにより、利用者側でルールを管理することなく、容易に WAF を運用することが可能となります。

「Cyber Security Cloud Managed Rules -Protocol Enforcement by WafCharm-」とは

「Cyber Security Cloud Managed Rules -Protocol Enforcement by WafCharm-」(以下、Protocol Enforcement マネージドルール)は、HTTP リクエストの Header やクエリ文字列などをチェックし、不適切なリクエストを検知するルールをまとめたルールグループです。
ブラウザなどからアクセスした場合には通常発生しないようなリクエストを検知・遮断します。
料金や詳細は下記ページをご覧ください。
https://aws.amazon.com/marketplace/pp/prodview-g2dp6u5k5w5jo

注意点としては、このマネージドルールには、SQL インジェクションやクロスサイトスクリプティングなどの Web 環境に対する一般的な攻撃のパターンを定義したルールは入っていません。

そのため、Protocol Enforcement マネージドルール単体で利用するのではなく、このような攻撃に対応するためのルールを設定した上で、併用する形で Protocol Enforcement マネージドルールを利用することが推奨となります。

検証に使った環境

WordPress が稼働するEC2インスタンスを用意し、前段にALBを置きます。
Protocol Enforcement マネージドルールを割り当てた Web ACL を ALB に適用します。

上記環境でしばらくの間放置し、その間の WAF ログから Protocol Enforcement マネージドルールで実際に検知された内容を確認しました。

検知状況

下記のようなリクエストが不適切なリクエストとして検知されました。

  • Accept ヘッダーがない
    • リクエストヘッダーの中に、Accept ヘッダーがないリクエストが検知されました。
    • 通常のブラウザからのリクエストでは Accept ヘッダーは自動で付与されますので、意図的に加工された HTTP リクエストであることが想定されます。
  • UserAgent がない
    • リクエストヘッダーの中に、UserAgent ヘッダーがないリクエストが検知されました。
    • 通常のブラウザからのリクエストでは UserAgent ヘッダーは自動で付与されますので、意図的に加工された HTTP リクエストであることが想定されます。
  • クエリ文字列内の無効な文字
    • クエリ文字列を利用して、PHP の pear コマンドを悪用したリモートコード実行を試みるようなリクエストが検知されました。
    • クエリ文字列を利用して、特定のコマンドを実行させようとしていることが想定されます。
  • バックアップや作業ファイルに該当するパスへのアクセス
    • .env などの作業用として使われそうなファイル名へのリクエストが検知されました。
    • クレデンシャルを取得することを目的として、作業用に退避した環境変数を読み取ろうとしていることが想定されます。

所感

WAF での防御は、WafCharm やその他のマネージドルールで提供されている、SQL インジェクション、クロスサイトスクリプティングなどの攻撃パターンのルールによる防御が基本であると考えます。
しかし、新しい攻撃パターンやツールを使った偵察活動などは、これらのルールだけでは検知されない場合があります。

Protocol Enforcement マネージドルールはこの部分を補うような形で、攻撃パターンとして検知されないリクエストであっても、通常の Web アクセスでは発生しないような不審なリクエストを検知することができます。
このルールにより、ゼロデイ攻撃のような、シグネチャマッチングベースでのルールが配信される前の攻撃を防御できる可能性が高まったり、偵察活動のような攻撃に至る前の挙動を知ることで、警戒体制を敷くことができることも考えられます。

WafCharm や、CSC 社が提供しているマネージドルール「Cyber Security Cloud Managed Rules for AWS WAF -HighSecurity OWASP Set-」と併用することにより、Web 環境をより強固に防御することが可能だと感じました。

おわりに

今回は、CSC社から新しく提供されたマネージドルールを試しました。

アイレットでは、WafCharm や、CSC社が提供しているマネージドルール「Cyber Security Cloud Managed Rules for AWS WAF -HighSecurity OWASP Set-」を利用した運用サービスも提供しています。

ぜひお気軽にお問い合わせください。