セキュリティ研究者が新たなHTTP DoS攻撃手法を考案――検知しにくい特徴も
「Slow Read DoS」攻撃、サーバ脆弱性のテスト・ツールも公開セキュリティ・ベンダーの米国Qualysの研究者が、HTTPサーバ(Webサーバ)への新たなDoS攻撃(サービス妨害攻撃)手法を考案し、警告している。同氏はこの攻撃手法を「Slow Read DoS」と呼んでいる。
Slow Read Dos攻撃を考案したのはQualysのシニア・ソフトウェア・エンジニア、セルゲイ・シェクヤン(Sergey Shekyan)氏だ。同氏は1月5日、Qualysのセキュリティ・ラボ・ブログにSlow Read DoSについての投稿を行った。
この攻撃は、Webクライアント(ブラウザ)が、Webサーバからのレスポンスを読み取る時間を引き延ばすことで、サーバの正常な動作を妨害するというものである。すでに発見されている攻撃手法「Slowloris」などをベースに考案された手法であり、攻撃者のクライアントがWebサーバの同時接続プールを使い切ることで、正当なクライアントとの接続を妨害する仕組みはSlowlorisと同様だ。
ただし、クライアント側のHTTPリクエスト動作をスローダウンさせるSlowlorisとは対極的に、Slow Read DoSではサーバのレスポンス動作をスローダウンさせる。
「Slow Read DoS攻撃のアイデアはとてもシンプルだ。(クライアントから)正当なHTTPリクエストを送信するが、(サーバからの)レスポンスはゆっくりと読み込む。これにより、できるだけ多くのコネクションをアクティブにする(接続したままの状態にする)ことで、正当なサービスを妨害する」(シェクヤン氏)
このように動作させるためには、レスポンスとしてサーバが送信するデータのサイズが、サーバの送信バッファのサイズよりも大きくなければならないという。送信バッファよりも大きなレスポンス・データは、複数のデータ・チャンク(データの塊)に分割され、個別に送信される。
さらに、クライアント-サーバ間のコネクションをできるだけ長い時間維持するために、サーバの送信バッファを常に送信待ちデータ・チャンクで満たし続けることも必要だ。これは、クライアントが一度に受信できるデータ・サイズ(ウィンドウサイズ)を、サーバの送信バッファ・サイズよりも小さくすることで実現できるという。
「TCPの通信では、サーバの送信バッファ・サイズは(クライアント側に)通知されないが、通常は65~128キロビットのデフォルト値のままで運用されていると仮定すればよい。それよりも大きな送信バッファは、一般的な運用では必要ないからだ」(シェクヤン氏)
攻撃者は、大きなサイズのレスポンス・データを強制的に送信させるため、128キロビットよりも大きなリソース(ファイル)をリクエストする。そうしたファイルはサーバ上でたやすく見つかるだろう。もしもそれに見合ったサイズのファイルがなくとも、大抵のサーバは「HTTPパイプライン」をサポートしているので、小さなファイルを何度もリクエストすることで同じような状態が引き起こせる。
シェクヤン氏は、Qualysが開発するオープンソースのHTTP DoSテスト・ツール「slowhttptest」に、Slow Read DoS攻撃のテスト機能を追加した。slowhttptestは、SlowlorisやSlow POSTなど、「Slow HTTP攻撃」と総称される攻撃のテスト・ツールである。
「(サーバの運用者が)防御メカニズムを検討するうえで、こうしたツールは依然有用であると我々は考えている。発見からすでに3年が経過しているこの脆弱性は、いまだに多くのシステムに存在するからだ。SlowlorisやSlow POSTと比べて、Slow Read DoS攻撃は目立ちにくく、発見が難しいだろう」(シェクヤン氏)
(Lucian Constantin/IDG News Serviceルーマニア支局)



























