週間ウェブ攻撃動向
週ごとのウェブ攻撃の傾向により、ウェブ攻撃が最も流行する時期を確認することができます。これにより、ピーク時のウェブ攻撃を防止し、対応するための事前計画を立てることができます。
以下のグラフは、2024年6月時点でAIWAFが検知したウェブ攻撃を示しています。
2024年6月は1日平均20万件以上の攻撃を検知しており、14日が最も多い。
14日に最も攻撃を試行した脆弱性であるSQLインジェクションは、当社のAIWAFで最も検知条件が多い脆弱性です。しかし、SQLインジェクション攻撃は、新しい攻撃タイプや回避手法が多数存在するため、常に監視が必要です。
攻撃タイプ別ウェブ攻撃の傾向
検出ログに基づく攻撃タイプ別のウェブ攻撃の傾向により、その月に最も多く発生した攻撃を確認できます。これに基づいて、基本的なウェブ攻撃対応ガイドラインを策定し、その種の攻撃を防止し、対応することができます。
以下のグラフは、2024年6月時点でAIWAFが検知したWeb攻撃を示しています。
SQLインジェクション(38.61%)が最も一般的な攻撃タイプで、デフォルトページ(20.72%)、アプリの脆弱性(19.56%)、ディレクトリトラバーサル(8.2%)が続いた。
SQLインジェクションは、OWASPによって1位にランク付けされているように、最も多様で危険な攻撃です。これは、ユーザの要求に基づいて動的にデータを生成する SQL 文に悪意のある SQL 文を押し込む攻撃で、脆弱なアプリケーションを認証させたり、異常な SQL 結果を返させたりします。クエリ値に以下のような構文があったら、攻撃を疑ってください。
デフォルトのページが、通常とは異なるパスからファイルへのアクセスを試みたり、認可をバイパスしてファイルへ直接アクセスしようとしています。これらは通常ウェブサービスで使用されるファイルではないので、悪意を疑ってください。
過去3ヶ月のウェブ攻撃傾向グラフのまとめ
3月
4月
5月
攻撃者IPトップ30
脆弱性分析レポート
[PHP-CGI Argument Injection]
1. 概要
Windows上で動作するApacheとPHP-CGIにおける最近の引数インジェクションとリモートコード実行の脆弱性を分析した。
画像ソース : https://portswigger.net/daily-swig/php-package-manager-component-packagist-vulnerable-to-compromise
2. 攻撃タイプ
この脆弱性は、Windows上で動作するPHPベースのサービスの特定のバージョンを使用している場合に発生し、watchTowrがこの脆弱性の解析とエクスプロイト情報を公開したことで大きな話題となった。
PHP-CGI サービスは HTTP リクエストを解析し、それを php スクリプトに渡します。基本的には、https://test.com/test=test のようなクエリー文字列に対して php.exe cgi.php test=test のようになります。
この事実を悪用して任意のコマンドを注入する攻撃を防ぐため、PHP-CGI は攻撃に使用される文字に対してエスケープ処理を行います。 しかし、攻撃者は Win32 API 関数の 「Best-Fit Mapping」 機能を使用することで、ヘッダエスケープ処理を回避できることを発見しました。この機能は、Windows 上で PHP-CGI を実行する際に特定の文字を任意の文字に変換します。
以下の文字列は、リアルハイフン(-)文字とソフトハイフン(0xAD)文字からなるコール文字列で、 一見区別がつかないように見えますが、HxDにより16進数でデータを確認すると、 両者が異なることがわかります。
php.exeのリアルハイフン(-)文字を使用した正規の呼び出しと、ソフトハイフン(0xAD)文字を使用した悪意のある呼び出し。
Hxdによって検証されたコールを比較する。
ソフトハイフン文字は本物のハイフン文字ではないため、CGI ハンドラによってエスケープされませんが、 前述の 「Best-Fit Mapping」 機能により、PHP 内では本物のハイフン文字として解釈され、 任意のコマンド引数を注入できるようになっています。
これにより、RCE 攻撃を行うように設計された引数が注入され、 悪意のある PHP コードが実行されることになります。
3. 何をすべきか
幸いなことに、PHP はこの脆弱性に対するパッチをいち早くリリースしているため、PHP のバージョン 8.1.29、8.2.20、8.3.8 にアップデートすれば、この脆弱性をカバーできるはずです。
私たちの AIWAF 製品は、825.Webshell パターンの悪意のある PHP コードを含むリクエストをネイティブに検出します: そのため、この攻撃も検知されていますが、ソフトハイフン攻撃構文に対する追加パターンが必要であると考え、さらなる分析とパターン開発を進めているところです。
4. 結論
Windows上で動作するPHP-CGIにおけるArgument Injection攻撃は、シンプルかつ容易に悪用できる脆弱性であり、現在もApacheなどPHPベースのサービスを利用している組織が多いことから、その影響は大きく、早急に最新バージョンにアップデートすることが重要です。
当社のAIWAF製品では、PHP-CGIの脆弱性に対応するパターンを開発しており、今後も関連する脆弱性が発見された場合には、迅速に対応していく予定です。
5. 参考文献
https://nvd.nist.gov/vuln/detail/CVE-2024-4577
https://labs.watchtowr.com/no-way-php-strikes-again-cve-2024-4577/
https://github.com/watchtowrlabs/CVE-2024-4577
最新の脆弱性CVEステータス
1. ハイリスク脆弱性ステータス (2024.06)
2. ハイリスク脆弱性の説明