BLACK HAT ASIA 2022 での発表:SQL クエリーの変換により WAF バイパスが可能になる

Transforming SQL Queries Bypasses WAF Security

2022/05/13 DarkReading — BLACK HAT ASIA 2022 – ある大学研究者のチームが基本的な機械学習を用いて、一般的な WAF には悪意のものとして検出されずに、攻撃者のペイロードを配信するパターンを特定したと、シンガポールで開催中の Black Hat Asia で発表した。中国浙江大学の研究者は、一般的な SQL を用いて、Web アプリケーションのデータベースを標的とした、インジェクション攻撃を変換する一般的な方法に着手した。

このツールは、重み付け変異戦略 (weighted mutation strategy) により組み合わせが可能なバイパス候補のプールを使用し、WAF-as-a-Service のセキュリティを回避するためのバイパスの有効性をテストするものだ。

AutoSpear チームのメンバーである浙江大学の大学院生 Zhenqing Qu は、「このツールは、偽陰性率で測定すると、テストした7つのクラウド・ベース WAF の全てにおいて、バイパスに成功している。その成功率は、最も低い ModSecurity 3% から、最も高い Amazon Web Services および Cloudflare の 63% まである。このケース・スタディにより、ツールの能力が示されたのは、検出シグネチャが堅牢さに欠けるからだ。コメントや空白を追加するだけで、一部の WAF はバイパスが可能だが、最も効果的な変異は、それぞれの WAF に依存する」と語っている。

WAF (Web Application Firewalls) とは、重要なクラウド・ソフトウェアや Web サービスを、サイバー攻撃から守るための一般的な方法であり、アプリケーションに対する一般的な攻撃や、SQL インジェクション (SQLi) と呼ばれるデータベース・コマンド注入をフィルタリングする。

たとえば、2020年の調査では、セキュリティ専門家の 10人に4人が、自社のクラウド・アプリケーション層を標的とした攻撃の 50% が、WAF をバイパスしていると考えていることが分かった。また、WAF がトラフィックを検査するため、その WAF を侵害する攻撃も存在する。

浙江大学のチームは、一般的な4つのリクエスト・メソッドに対して、10種類のテクニックを用いてリクエストを変換する方法にフォーカスするプレゼンテーションを行った。JSON エンコードを使用した POST/GET リクエストおよび、JSON エンコードを使用しない POST/GET リクエストである。研究者たちは、4つの異なるタイプのリクエストは、4つの異なる WAF ベンダーにより同じように扱われ、他のベンダーは異なる方法で入力に対処していることを発見した。

インラインコメント/空白文字の置換、一般的なトートロジー (tautologies) の置換など、10種類のテクニックの異なる組み合わせにより、リクエストを系統的に変更することで、7種類の WAF のそれぞれに対して、最も上手く機能する変換のセットを発見した。

研究者たちは、「AutoSpear は、複数の変異手法を組み合わせてみたが、意味的マッチングと正規表現マッチングにおける検出シグネチャが脆弱なため、主流の WAF-as-a-Service ソリューションをバイパスするのに、きわめて有効という結論に至った」と述べている。

SQL インジェクション攻撃は、数多くの企業にとって、大きなリスクとなり続けている。OWASP Top-10 Web Security Risks では、2013年と2017年に Injection クラスの脆弱性がリスク・リストの No.1 に、また、2021年にはリスク・リストの No.3 として評価されている。この、4年間隔で発表されるリストは、400以上の幅広いクラスの弱点を用いて、Web アプリケーションにとって最も重要な脅威を決定している。

この研究チームは、まず特定の脆弱性を持つ Web アプリケーションを作成し、そのアプローチで既知のエクスプロイトを WAF が捕捉できないような、独自のリクエストに変換している。

WAF を回避するために、通常では、3つの大まかなアプローチに焦点を当てる。アーキテクチャ・レベルでは、攻撃者は WAF を回避し、オリジン・サーバに直接アクセスする方法を見つけ出せる。プロトコル・レベルでは、HTTP リクエスト・スマグリングのようなエンコーディングにおけるエラーやミスマッチを利用して、WAF を回避する多様なテクニックが存在する。最後の、ペイロード・レベルでは、攻撃者は各種のエンコーディング変換を用いて、データベース・サーバーの立場からは有効なリクエストを生成しながら、WAF を欺き攻撃を検出されないようにできる。

この研究チームは、「こうした変換により、WAF とリクエストの形式に応じて、9%〜100% の確率で攻撃を成功させることができたと。あるケースでは、改行文字 “/n” を追加するだけで、主要な WAF-as-a-Service がバイパスされることも分かった」と述べている。

AWS と Cloudflare も影響を受ける

研究チームは、7社の WAF プロバイダーである、AWS/Cloudflare/CSC/F5/Fortinet/ModSecurity/Wallarm に対して、テストの結果を報告した。Cloudflare/F5/Wallarm は問題を修正したと、Zhenqing は述べている。また、最も一般的なタイプの変換を検出するために使用できる、バイパス・パターンを各ベンダーに提供した。彼らは、「他の4社は、簡単に欠陥を修正できないため、現在も協力している」と述べている。

BLACK HAT ASIA 2022 からのレポートです。この記事のキーワードである、Weighted Mutation Strategy については、重み付け変異戦略と訳してみましたが、何らかのルールで SQL クエリーを変換すると、WAF-as-a-Service のセキュリティを、かなりの確率でバイパスできるという研究成果が発表されたようです。AWS/CSC/Fortinet/Wallarm での修正が完了したら、より詳細な情報が提供されるかもしれません。楽しみですね。

%d bloggers like this: