Team82の研究者は、業界をリードするWebアプリケーションファイアウォールにJSON構文を付加したSQLインジェクションペイロードによって回避する攻撃手法を公表した。
「WAFのトラフィック検査・ブロック機能を回避できる攻撃者は、機密性の高い企業情報や顧客情報に直接アクセスできることが多い」と、脆弱性研究者のNoam Moshe氏はブログ記事で脅威を詳述した。「幸い、このような回避手法が使われることはまれで、特定ベンダーの実装を狙った一回限りのものだった」
しかし、Team82が明らかにした手法は、単一ベンダーを狙った一回限りのものではない。Palo Alto Networks、F5、Amazon Web Services、Cloudflare、ImpervaのWAFに対して有効だ。Moshe氏によると、Check PointのWAFは影響を受けない。
「Team82は、主要WAFベンダー5社に調査結果を開示し、5社すべてが自社製品にJSON構文のサポートを追加した」とMoshe氏は記している。「他のベンダーの製品も影響を受ける可能性があり、JSONサポートの有無を確認すべきだと考えている」
関連記事:SQLインジェクション攻撃を防ぐ方法
JSONに盲点
研究者は、ネイティブJSON構文をサポートしていないというWAFの弱点を突いた。
「私たちの手法はまず、WAFがSQL構文を悪意のあるものとして識別・検知する仕組みを理解し、次にWAFが見逃すSQL構文を見つけることに基づいている」とMoshe氏は記している。「その構文がJSONだった」
Moshe氏によると、主要なデータベースエンジンはすべてネイティブJSON構文をサポートしているが、大半のWAFはそうではない。
「ベンダーによるJSONサポートの追加は遅れており、そのため、WAFが提供するセキュリティを回避する、JSONを含む新たなSQLインジェクションのペイロードを作成できた」と同氏は記している。
攻撃者はこの手法を利用して、データベースから情報を抜き出したり、OTおよびIoTプラットフォーム向けのクラウドベースの管理システムにアクセスしたりする可能性がある。
「これは危険な回避手法だ。特に、より多くの組織が業務や機能をクラウドへ移行し続けている現状ではなおさらだ」とMoshe氏は記している。「クラウドから監視・管理されるIoTやOTのプロセスも、この問題の影響を受ける可能性がある。組織は、こうした回避の試みを阻止できるよう、セキュリティツールの最新バージョンを実行していることを確認すべきだ」
WallarmのCEOであるIvan Wallarm氏は、Twitterでこの情報開示に反応し、同様の点を指摘した。2017年に、同氏は確認していたのは、攻撃者が「ペイロードを、JSONのような適切にフォーマットされたデータでありながら、同時にSQLインジェクションの有効なペイロードでもあるように構築する」ことでWAFを回避できるということだった。当時、同氏はXMLでも同じことが可能だと示唆していた。
WAFの開発は遅れている
Approovの副社長George McGregor氏は、eSecurity Planetにメールで、今回のようなエクスプロイトは、主要プレーヤーがWAFの中核機能への投資を怠っていることを示しているようだと語った。
「そうだとしても驚きではない。WAFというアプローチは、アプリケーションコードとデータがバックエンドサーバーにあり、少なくとも理論上はそこでリクエストをブロックできた以前の時代の名残だからだ」と同氏は語った。
「本当の問題は、アプリケーションのロジックとデータがモバイルアプリに移行したことで、WAFやバックエンドのセキュリティソリューションがクライアント端末で何が起きているかを把握しにくくなり、アプリが武器化されてAPI攻撃に利用される可能性があることだ」とMcGregor氏は付け加えた。





