HTTPヘッダインジェクション攻撃の危険性とは?仕組み・被害・対策を徹底解説
HTTPヘッダインジェクション攻撃は、Webアプリケーションの「脆弱性」を利用した攻撃手法のひとつ。
具体的にいうと、「Webサイトやサービスを提供するWebサーバ」と「利用者のパソコン」との間の通信を悪用する攻撃です。
HTTPヘッダインジェクション攻撃の対策をしなければ、セッションハイジャックやフィッシングサイトへの誘導、キャッシュ汚染によるWebページの差し替えなど、様々な攻撃を受ける危険性があります。
そこで今回は、Webサービス提供者へ向けてHTTPヘッダインジェクション攻撃の仕組みや実際の被害事例、効果的な対策をわかりやすく解説します。
HTTPヘッダインジェクション攻撃とは?
まずはじめに「HTTP」とは、WebサーバとWebブラウザの間で、Web情報をやりとりするためのプロトコル(通信規則)。
私たちが普段利用しているWebサイトでは、このHTTPを使ってサーバーとクライアント(ユーザー)の通信のやり取りを実現しています。
そして「HTTPヘッダインジェクション攻撃」は、動的にヘッダを生成するWebページに対し、改行コードをヘッダ内に挿入することで、任意の文字列を生成させて不正な動作を引き起こさせる攻撃手法です。
改行コード以降にテキストやスクリプトを仕込み、意図しない動作をさせる事で、Webページの所有者及び閲覧するユーザーへ攻撃を仕掛けます。
「ヘッダ」とは?
ファイルやパケットなどの先頭にあるデータ。
コンピュータはデータを処理する際に、まずヘッダの情報を読み取り、そのデータを処理する方法を判断する。
攻撃を受けるとどうなる?
HTTPヘッダインジェクション攻撃は、主に以下の被害をもたらします。
- ✔ 利用者が偽サイトへ誘導される
- ✔ Cookieを任意の値にし情報漏洩が起きる
- ✔ サイトが改ざんされる
- ✔ DoS攻撃を受ける
利用者が偽サイトへ誘導される
本来訪れたかったページとは別の、悪質なページにリダイレクトされる可能性があります。
またリダイレクト先のページを本物のページに似せることで、詐欺などの被害を及ぼす恐れも。
Cookieを任意の値にし情報漏洩が起きる
Cookieを任意の値にし、セッション固定攻撃が可能になると「セッションハイジャック」などの恐れも。
セッションが乗っ取られると、パスワードなどの情報を盗み取られ、不正アクセスや金銭被害などのリスクが高まります。
サイトが改ざんされる
任意の文字列を生成させるということは、「サイトの改ざん」の被害を受ける恐れがあります。
訪問者のブラウザ上で偽の情報を表示させたり、マルウェアに感染させてしまうなどのトラブルに発展する可能性もあります。
DoS攻撃を受ける
さらに、Webサービスを稼働しているサーバやネットワークなどに過剰な負荷をかけたり、脆弱性を突いたりすることでサービスを妨害する「DoS攻撃」を受ける危険性があります。
パソコンとWEBサーバとの通信の仕組み
HTTPヘッダインジェクション攻撃の仕組みを知る前に、まず「Webサイトを提供するWebサーバ」と「利用者」間の通信について理解しましょう。
私たちがWebサイトを閲覧するとき、Webサイトを提供するWebサーバと通信が行われます。
- 1.パソコンでURLを打ち込み「あなたのWEBサイトが見たい」とリクエストを送る
- 2.対象のWEBサーバがリクエストを受け取る
- 3.「どうぞご覧ください」とWEBサイトが表示される
HTTPヘッダインジェクション攻撃の原因と仕組み
HTTPヘッダインジェクション攻撃では、攻撃者がWebサーバへのリクエスト内に悪意のあるコードを仕掛けます。
悪意のあるコードとは、具体的には「空白コード」や「改行コード」です。
リクエストを受け取ったWebサーバは、知らずに改ざんされた偽サイトを用意。
他の利用者が「Webサイトを見たい」とリクエストを出すと、WEBサーバは悪意のある偽サイトを利用者へ渡します。
そうすると利用者は偽サイトへ誘導され、ウイルス感染などの被害に遭うのです。
攻撃を受ける可能性が報告された事例
次に、HTTPヘッダインジェクション攻撃を受ける可能性があると報告されたWebサービスを3つご紹介します。
Pebble | 悪意のあるプログラムをHTTPヘッダに仕掛けられる可能性のある脆弱性が、オープンソースのウェブログシステムに見つかる。 利用者がWEBサイトに訪れた際、偽サイトへ誘導されたりウイルスに感染したりする危険性があったため、対策としてソフトウェアのバージョン更新を提案。 |
---|---|
Cogent DataHub | データの連携や管理を補助するためのソフト。 「Pebble」と同様にHTTPヘッダインジェクション攻撃される可能性のある脆弱性が発見されたため、ソフトウェアのバージョン更新を呼びかけた。 |
Active! mail 6 | 多くの企業で採用されるメールソフト。 HTTPヘッダインジェクション攻撃の他にも、フィッシングメールや情報漏洩の可能性がある脆弱性が複数報告された。 ソフトウェアを利用する際は、常に脆弱性情報とバージョンの更新情報に気をつけましょう。 |
HTTPヘッダインジェクション攻撃に効果的な対策
攻撃の仕組みを理解したところで、HTTPヘッダインジェクション攻撃に効果的な対策を3つご紹介します。
対策①エンティティ・ボディの内容を設定しない
利用者のパソコンからWEBサーバへ送るリクエストの中には、「エンティティ・ボディ」があります。
サイバー犯罪者はエンティティ・ボディの中に、悪意のあるプログラムを仕掛けます。
「エンティティ・ボディ」とは?
「エンティティ」とは、リクエストやレスポンスのペイロード(付属物)として転送される情報。
また「エンティティ・ボディ(メッセージ・ボディ)」は、サーバーにデータを送るために使う領域で、具体的には、Webページの入力欄などに記入したテキストなどを、サーバーに送る時に使う。
「空白コード」と「改行コード」をリクエスト内に入力すると、エンティティ・ボディのスペースができます。
そのスペースに悪意のあるプログラムを仕掛け、リクエストを受け取ったWEBサーバがそのプログラム通りの手順を実行する、という鷲見です。
つまり、エンティティ・ボディの内容をリクエスト内に含まなければいいのです。
対策②APIを使用する
Webサイトの構築環境が古いと、HTTPヘッダインジェクション含む攻撃を仕掛けやすい状態。
最新のバージョンに更新できればいいのですが、更新するとWebサイトに不具合が生じることがあります。
そのような理由から、Webアプリケーションの実行環境や言語に用意されているヘッダ出力用のAPIを利用しましょう。
「API」とは?
ソフトウェアやプログラム、Webサービスの間をつなぐインターフェース。
API連携すると、自らのソフトウェアに他のソフトウェアの機能を埋め込むことができるため、ゼロからプログラムを組まずに機能を拡張できる。
APIを利用すれば、正しい方法でアクセスした場合はあらかじめ決められた結果のみ返されるため、予期しないリクエストが来ても安心です。
対策③適切な改行コードに設定する
使用できるAPIが無い場合は、リクエスト内に「空白コード」や「改行コード」を入れられた際の設定をしましょう。
悪意のあるプログラムが仕掛けられるエンティティ・ボディは、空白コードや改行コードによって生成されます。
そのため、これらのコードがリクエスト内に入れられた際にエンティティ・ボディが生成されないよう、あらかじめ設定します。
例えば、改行コードが入力されたら「エラー画面を出す」「改行コード以降の文字列を削除する」などです。
不正アクセスに備える!おすすめのセキュリティ対策商品
HTTPヘッダインジェクション攻撃を防ぐためには、誰でも自由にリクエストを送ることができないように対策することが重要。
しかし、自社で利用しているツール自体に脆弱性がある場合には、あらゆるサイバー攻撃を防ぎようがありません。
そこでおすすめするのが、「セキュリティ対策商品」の導入です。
人間では監視できないところまで監視できるため、攻撃を受けるリスクを大幅に減らせます。
ウイルス対策ソフトにお悩みなら「ESET」
まずはじめにご紹介するのが、最高水準のウイルス対策が実現する法人向けセキュリティソフト「ESET」です。
ESETは高い検出力を誇り、既存ウイルスはもちろん新種のウイルスも高確率で検出可能。
さらに低負荷設計によりPCなどの使用端末に影響もなく、スキャン中の作業も軽快なので、業務に支障が出ることもありません。
「ESET」の特徴
- PCなどのデバイスへの負荷が少なく軽快に動く
- 設定画面がシンプルなのでセキュリティ初心者にもおすすめ
- 不正なプログラムを検知し警告
- 攻撃の踏み台や不正アクセスをしっかり防止
- 新発見のウイルスでも即座にブロック
- アカウントのログイン情報を一元管理し漏洩させない
>ウイルスソフト人気No.1!法人向けセキュリティソフト「ESET」の詳細はこちら<
セキュリティのオールインワン「Cyber Box Pro」
現代では、サイバー攻撃の脅威はHTTPヘッダインジェクション攻撃だけではなく、あらゆる攻撃が企業を脅かしています。
攻撃を受けた場合、情報漏えいや不正アクセス、金銭被害などに遭う恐れもあり、最悪の場合企業の存続にも大きく関わるかもしれません。
そういった全ての攻撃から企業を守るためには、総合的なセキュリティ対策が必要不可欠です。
そこでおすすめするのが、中小企業に必要なセキュリティ機能をパッケージ化した最高峰システム「Cyber Box Pro」です。
セキュリティソフトを一つひとつ入れると高額になりますが、Cyber Box Proはあらゆる機能をパッケージ化しながら月額9,800円~と安価に抑え、導入のしやすさも実現しています。
「CYBER BOX PRO」の基本機能紹介
- 1.タフで高機能、大容量のNAS
大容量7.3TBのBOX型オリジナルデスクトップサーバ。
SSD搭載で高速起動を実現、障害時の切り分けも簡単です。 - 2.リアルタイムバックアップで安心
ファイルやメールのデータ変化をリアルタイムに検知・バックアップ。
99世代までのデータを戻すことができます。 - 3.ファイル共有・アクセス権限の変更が可能
ファイルごとにアクセス権限を変更し、閲覧・編集が可能。
社内外からのデータのやり取りも安心かつ簡単です。 - 4.全ての機器のログ解析も
リアルタイムで、様々なログを手間なく確実に記録。
不正操作を防止し、原因の調査も簡単です。 - 5.セキュリティソフトでサイバー攻撃を防ぐ
PCウイルスや不正侵入などから、PCやサーバを防御。
未知の脅威に対しても効果を発揮します。 - 6.トラブル時にも安心の遠隔サポートも
トラブル時には、サポートチームが遠隔でサポート。
余計な手間もコストもかけず、簡単に問題を解決できます。
「ネットワークセキュリティ」は目に見えない分、ついつい危機感が薄れがち。
しかしネットワークのセキュリティ対策をしないということは、玄関に鍵をかけないのと同様で、「犯罪者の侵入を許している状態」といっても過言ではありません。
企業の存続のためには、総合的なセキュリティ対策が必要不可欠です。
OFFICE110では通常は10万円以上のセキュリティ診断を無料で実施しておりますので、「何から対策を始めたら良いか分からない」「自社にどんな対策が必要なのか分からない」という方もぜひお気軽にお問合せください。
まとめ
HTTPヘッダインジェクション攻撃は、WEBサイトを提供するWEBサーバと利用者のパソコンとのやりとりルールを悪用する攻撃です。
そのため攻撃の仕組みを理解するには、WEBサーバとパソコンがやりとりするルールについての理解が必要になります。
対策のコツを掴み、WEBサイトの開発側がルールを悪用されない環境を設定すれば良いのです。
しかし人間の手だけではミスも起き、隙のないWEBサイトを作るのはほぼ不可能。
そのため、総合的なセキュリティ対策が実現する、「Cyber Box Pro」のような高性能なセキュリティ対策ツールの導入をおすすめします。
セキュリティにしっかり投資し、リスクが少ないWEBサイトを運営しましょう。