Web Server のスキャン・ツールが登場:HTTP Header-Smuggling 攻撃を止めろ

Free Tool Scans Web Servers for Vulnerability to HTTP Header-Smuggling Attacks

2021/11/02 DarkReading — エンド・サーバーに悪意のコードを忍び込ませるために、HTTP/HTTPS ヘッダーを悪用する手口をテストし、特定するための方法を、ある研究者が作成した。Intruder の Researcher and Penetration Tester である Daniel Thatcher は、来週にロンドンで開催される Black Hat Europe で、いわゆる HTTP ヘッダー・スマグリングについて、新しい研究成果を発表する。また、Web サーバーをテストするための無料ツールも発表し、この Web 攻撃と弱点の明らかにする予定だ。

HTTP (HTTPS) ヘッダーには、クライアントのブラウザ/クッキー/IP アドレスなどの情報と、リクエストされた Web ページが含まれている。ヘッダー・スマグリングについて研究している Daniel Thatcher は、HTTP リクエスト・スマグリング攻撃と同じものではないが、関連していると説明している。

HTTP リクエスト・スマグリングの攻撃手法は、Portswigger の James Kettle と Amit Klein により研究され、十分に文書化されている。この攻撃手法では、フロントエンドとバックエンドのWebサーバーの処理方法を、意図的に非同期化した Web リクエストを送信することで、クロスサイト・スクリプティングなどの攻撃機会を得ることができまる。

Thatcher は、「ヘッダー偽装とリクエスト偽装は別物だが、ヘッダー偽装により悪意のリクエストが取り込まれる」と説明している。ヘッダー・スマグリングとは、たとえば、フロントエンド・サーバーが HTTP ヘッダー内で、バックエンド・サーバーにとって悪意/偽の情報を忍び込ませる手法である。

Thatcher によると、ヘッダー・スマグリングは、Web アプリケーションの他の弱点を突くためにも使用できるという。彼は、ヘッダー・スマグリングを利用して、AWS API Gateway の IP アドレス制限を迂回し、キャッシュ・ポイズニングを利用したデモを行う予定である。AWS の研究については、まだ詳細が明らかにされていないが、AWS API Gateway における「特定の問題」であると、彼は述べている。

Thatcher は研究の中で、HTTP ヘッダの盗聴により、キャッシュ・ポイズニングが通常よりも容易になることを発見している。これにより、攻撃者はキャッシュされたページを、自分のコンテンツで上書きできる可能性があるという。

Thatcher は、「私が開発した手法は、”Content-Length” ヘッダーに不正な値が指定されたときに、HTTP サーバーが返すエラーを利用するものであり、通常は整数値であるはずのものだ。そして、この変異を利用して他のヘッダーを調べ、ヘッダーをバックエンド・サーバーに潜り込ませて、異常な動作が生じるかどうかを調べられる」と述べている。

では、このような HTTP/HTTPS の悪用を修正/防止する責任者は、誰なのだろうか?Thatcher は、「それは実に興味深い質問だ。この状況では、2つの異なる組織の2つの異なる Web サーバーが組み合わされて問題を引き起こしている。それぞれの組織が、何か悪いことをしたとか、台無しにしたという問題ではない。すべての Web サーバーが協力しなければならない」と述べている。

HTTP 規格は、リクエストの在るべきかたちを、かなり厳密なルールで定めている。しかし、すべての Web サーバー開発者が、そのルールを忠実に守っているわけではない。多くの Web サーバーは、リクエストの受け渡し方法について極めて寛大だ」と付け加えている。

グッド・ニュースは、Thatcher 研究が、攻撃者に先んじていることだ。彼は、
「私の知る限りでは、このようなことがワイルドに行われているという話を聞いたことがない。今のところは」と述べている。

HTTP リクエスト・スマグリングについては qiita に説明記事がありましたが、HTTP ヘッダー・スマグリングについては何も見つかりませんでした。なお、前者に関する関連記事に関しては、9月8日の「HAProxy の深刻な脆弱性により HTTP リクエスト・スマグリングが生じる?」と、10月15日の「Juniper Networks がセキュリティ・アドバイザリを発表:70件以上の脆弱性に対応」をポストしています。よろしければ ご参照ください。

%d bloggers like this: