Simple Science

最先端の科学をわかりやすく解説

# コンピューターサイエンス# 暗号とセキュリティ# ネットワーキングとインターネット・アーキテクチャ

HTTP Gardenを使ってHTTP/1.1の脆弱性を特定する

HTTPガーデンは、ウェブサーバーのHTTP/1.1リクエスト処理における重大な問題を明らかにしてるよ。

― 1 分で読む


HTTP/1.1の脆弱性がHTTP/1.1の脆弱性が暴露された重大な欠陥を見つけた。HTTPガーデンが古いウェブプロトコルの
目次

HTTPガーデンは、ウェブサーバーがHTTP/1.1リクエストを理解して処理する際の問題を見つけるためのツールだよ。これらの問題は攻撃者によって悪用されてウェブのセキュリティを脅かす可能性があるんだ。HTTP/1.1は古いウェブプロトコルだけど、多くのサーバーがまだサポートしているから、その脆弱性を調べることが重要なんだ。

HTTP/1.1の重要性

HTTP/2やHTTP/3のような新しいプロトコルが出てきたけど、それでもHTTP/1.1は多くのウェブサーバーで人気だよ。その広範な使用は、このプロトコルの脆弱性がまだ大きなリスクをもたらすことを意味してるんだ。ほとんどのウェブサービスは基本的なリクエストをやり取りするためにHTTP/1.1を使ってるよ。

HTTP/1.1のパースの問題

問題の核心は、異なるサーバーがHTTPメッセージをどう解釈するかにあるんだ。標準ではメッセージを構築する方法が指定されてるけど、どう解釈するかには柔軟性があるんだ。これがサーバー間の違いを生んで、脆弱性を作り出すんだ。

たとえば、ウェブサーバーがフォーマットが悪いリクエストを受け取った場合、それを別のサーバーとは違う方法で処理することがあるんだ。この不整合は攻撃者がその状況を利用して、セキュリティ対策を回避したり、サーバーを予期しない動作させたりすることができるんだ。

トランスデューサーの役割

トランスデューサーという特定のタイプのサーバーがHTTPリクエストを処理する上で重要な役割を果たすんだ。トランスデューサーは、受信したリクエストを最終的な宛先に送る前に変更するサーバーなんだ。キャッシュサーバーやゲートウェイがこれに当たるよ。

トランスデューサーは通常、受け取ったリクエストを理解する必要があるんだ。もしリクエストを誤解釈したら、その後の処理で問題が起こる可能性があるよ。たとえば、キャッシュサーバーがリクエストを正しく処理しないと、間違ったデータを保存したり、レスポンスをキャッシュできなかったりすることがあるんだ。これにより攻撃者が悪意のあるデータを供給することができて、意図しない結果を招くこともある。

HTTPガーデンツール

HTTP/1.1のパースの問題を明らかにするために、HTTPガーデンは差分ファジングという方法を使ってるんだ。このアプローチは、さまざまなリクエストを複数のサーバーに送信し、そのレスポンスを比較するんだ。目的は、異なるサーバーが同じ入力をどう扱うかの不一致を見つけることなんだ。

システムは、セキュリティ脆弱性につながる「意味のある」不一致を探すんだ。意味のある不一致としてフラグを立てるためには、特定の標準的な調整を考慮しても持続する必要があるんだ。つまり、ツールは悪用される可能性のある不一致に焦点を当てているってわけ。

脆弱性の発見

HTTPガーデンを使って、研究者たちは人気のウェブサーバーにたくさんの脆弱性を見つけたんだ。これらの問題は、新しいシステムでテストされるまで気づかれなかったものが多いんだ。発見された脆弱性のかなりの数はすでに修正されていて、ツールが実際のセキュリティ脅威を特定するのに効果的であることを示してるよ。

コネクション再利用

HTTP/1.1の特徴の一つはコネクション再利用で、サーバーが同じコネクションを使って複数のリクエストを処理できるんだ。このプロセスはコミュニケーションを速めることができるけど、リクエストのパースや管理が複雑になることもあるよ。サーバーがコネクション再利用によってリクエストを誤って処理すると、レスポンスが間違ったクライアントに行かれるような問題が起きることがあるんだ。

さまざまなメッセージタイプ

すべてのHTTPメッセージは、スタートライン、ヘッダー、オプションのボディから成り立ってるよ。スタートラインはリクエストやレスポンスについての詳細を指定して、ヘッダーはメッセージの特性についての情報を含んでるんだ。ボディは追加データを運ぶオプションの部分だよ。

異なるサーバーは、これらのコンポーネントを少し異なる方法で実装することがあって、それが誤解を生む可能性があるんだ。たとえば、あるサーバーがチャンク化されたデータを違う扱いをすることがあって、これがサーバー間の誤解を利用した攻撃の入り口になることがあるんだ。

リクエストスマグリング

リクエストスマグリングという深刻なセキュリティリスクがあるんだ。これはトランスデューサーが複数のリクエストの境界を誤解する時に起こるんだ。リクエストを正しく識別できないと、一つのリクエストが別のリクエストの一部として送信されることになるんだ。

この手法はセキュリティ対策を回避するために使われて、攻撃者が有害なリクエストを合法的なトラフィックに偽装して送信することを可能にするんだ。これが無許可のアクセスやデータの漏洩を引き起こすことがあるよ。

HTTPガーデンの発見

HTTPガーデンは研究者たちが異なるサーバーがHTTP/1.1を扱う際の100以上のユニークな不一致を見つける手助けをしてきたんだ。これらの脆弱性のいくつかは、メッセージの読み取り方やパース方法の単純な違いから生じてるんだ。たとえば、すべてのサーバーが空のフィールドを同じようには扱わないので、それが悪用できる不整合を生むことがあるんだ。

このツールは、通常は無害なはずのリクエストが異なるサーバーが連携すると危険になることも強調してるんだ。サーバーの解釈が一致しないことがあるからね。これらの発見は、標準へのより良い準拠とサーバー実装の徹底的なテストの必要性を強調してるよ。

現在の標準に関する課題

HTTP/1.1の標準は基本的なフレームワークを提供するけど、解釈の余地があるんだ。この柔軟性は有益だけど、リスクも伴うんだ。サーバーは、標準をどう実装するかが異なることがあって、脆弱性を生むことがあるよ。より明確で詳細な仕様の必要性が明らかで、厳しいガイドラインによって多くの不整合が軽減できる可能性があるんだ。

HTTPプロトコルの未来

HTTP/2やHTTP/3の採用が進む中で、HTTP/1.1の脆弱性が解決されることが望まれてるんだ。これらの新しいプロトコルはより効率的で安全に設計されていて、HTTP/1.1で見られた問題のリスクを減少させる可能性があるんだ。でも、HTTP/1.1が使われ続ける限り、脆弱性はウェブアプリケーションのセキュリティに対する懸念であり続けるよ。

結論

HTTPガーデンは、HTTP/1.1の実装における脆弱性を特定し対処するための重要なツールとして機能してるんだ。この取り組みは、特に古いプロトコルをサポートし続けるサーバーの徹底的なテストと監視の重要性を強調してるよ。HTTPガーデンのような継続的な努力を通じて、ウェブはユーザーやアプリケーションにとってより安全な場所になることができるんだ。

オリジナルソース

タイトル: The HTTP Garden: Discovering Parsing Vulnerabilities in HTTP/1.1 Implementations by Differential Fuzzing of Request Streams

概要: HTTP/1.1 parsing discrepancies have been the basis for numerous classes of attacks against web servers. Previous techniques for discovering HTTP parsing discrepancies have focused on blackbox differential testing of HTTP gateway servers, despite evidence that the most significant parsing anomalies occur within origin servers. While these techniques can detect some vulnerabilities, not all parsing discrepancy-related vulnerabilities are detectable by examining a gateway server's output alone. Our system, the HTTP Garden, examines both origin servers' interpretations and gateway servers' transformations of HTTP requests. It also includes a coverage-guided differential fuzzer for HTTP/1.1 origin servers that is capable of mutating all components of a request stream, paired with an interactive REPL that facilitates the automatic discovery of meaningful HTTP parsing discrepancies and the rapid development of those discrepancies into attack payloads. Using our tool, we have discovered and reported over 100 HTTP parsing bugs in popular web servers, of which 68 have been fixed following our reports. We designate 39 of these to be exploitable. We release the HTTP Garden to the public on GitHub under a free software license to allow researchers to further explore new parser discrepancy-based attacks against HTTP/1.1 servers.

著者: Ben Kallus, Prashant Anantharaman, Michael Locasto, Sean W. Smith

最終更新: 2024-05-27 00:00:00

言語: English

ソースURL: https://arxiv.org/abs/2405.17737

ソースPDF: https://arxiv.org/pdf/2405.17737

ライセンス: https://creativecommons.org/licenses/by-sa/4.0/

変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。

オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。

類似の記事

機械学習メタ強化学習における再帰ネットワークとハイパーネットワーク

研究によると、シンプルなモデルがメタ強化学習タスクで複雑な手法よりも優れていることがわかったよ。

― 1 分で読む

コンピュータビジョンとパターン認識光コンピューティングによる画像セグメンテーションの進展

フォトニック技術が重要なアプリケーションのための画像セグメンテーションをどう強化するかを発見しよう。

― 1 分で読む