サイバー攻撃

メールヘッダインジェクションとは?仕組みや対策をわかりやすく解説

Written by Aimee

メールヘッダインジェクションとは?仕組みや対策をわかりやすく解説

失敗しないための脆弱性診断実施のコツ

セキュアな開発・サービス提供に必須!はじめての脆弱性診断に関する、正しい進め方ガイド

資料をダウンロードする


メールヘッダインジェクションとは、悪意のあるユーザーがメールのヘッダ情報に不正なデータを挿入する攻撃手法です。攻撃者は、メールヘッダに改行文字や追加のヘッダフィールドを挿入することで、メールの送信先や内容を変更したり、スパムメールを送信したりすることができます。

例えば、攻撃者が「To:」や「Cc:」フィールドに不正なアドレスを追加することで、メールが意図しない送信先に送られる可能性があります。

これにより、企業・組織が運営しているWebサイトがスパムメールやフィッシングメールの送信に悪用されてしまう危険性があります。

こうしたリスクを回避するためにも、以下のような対策の実施が重要です。

  • ・ メールヘッダを固定値にする
  • ・ 改行コードを許可しない
  • ・ メールヘッダインジェクション対策済みのメール送信APIを使用する
  • ・ 定期的に脆弱性診断を行い、対策が機能しているか確認する

この記事では、メールヘッダインジェクションの概要から仕組み、対策について詳しく解説します。

▼この記事を要約すると

  • メールヘッダインジェクションとは、Webサイトの脆弱性を利用したサイバー攻撃の一種で、特にWebフォームやメール送信機能に関連したアプリケーションで発生する
  • メールヘッダインジェクション攻撃を受けた場合、「メールの内容が改ざんされる」「スパムメールの送信に悪用される」「フィッシング詐欺に悪用される」といった被害が発生する
  • メールヘッダインジェクション攻撃への対策としては「メールヘッダを固定値にする」「改行コードを許可しない」「メールヘッダインジェクション対策済みのメール送信APIを使用する」「脆弱性診断を行う」などが挙げられる

メールヘッダインジェクションとは


メールヘッダインジェクションとは、Webサイトの脆弱性を利用したサイバー攻撃の一種で、特にWebフォームやメール送信機能に関連したアプリケーションで発生します。

この攻撃手法では、お問い合わせフォームのような、特定のメールアドレスにメールを送信するメールフォームに、改行コードや特殊文字を注入することで、メールヘッダの構造を崩し、メールの送信先や本文を改ざんします。

メールヘッダインジェクション攻撃を受けた場合、第三者へのスパムメール・フィッシングメールのばらまきに悪用される危険性があります。

特に、フィッシング攻撃が成功すると、受信者は個人情報を盗まれたり、マルウェアに感染したりする危険性が高まります。

メールヘッダとは

メールヘッダとは、電子メールの構成要素の一つで、メールの本文とともにメールの基本的な情報を伝える役割を果たし、メールクライアントやメールサーバがメールを適切に処理するために使用されます。

ヘッダには、主に以下のような情報が含まれています。

  • ・ 差出人 (From)
  • ・ 宛先 (To)
  • ・ 件名 (Subject)
  • ・ その他(CC、BCCなど)

攻撃者は、ヘッダ部分に改行コードや、特定コマンドなどを挿入することで、メールの構造を壊し、新しいヘッダや本文を追加したり、既存の内容を改ざんしたりします。

失敗しないための脆弱性診断実施のコツ

セキュアな開発・サービス提供に必須!はじめての脆弱性診断に関する、正しい進め方ガイド

資料をダウンロードする

メールヘッダインジェクションの仕組み


メールヘッダインジェクション攻撃の流れ・仕組みを簡単に説明します。

1.攻撃者がターゲットであるWebサイトの問い合わせフォームに不正な値を入力する

例:問い合わせタイトル%0d%0aBcc%3a%20○○○○@○○.○○

※「%0d%0a」は改行コード(CRLF)、「%3a」は、:(コロン)、「%20」はスペース(空白)

2.メールヘッダを改ざんされる

1の不正な値が入力されたことで、以下のようにメールヘッダが改ざんされ、BCCに新たな送信先が追加されています。

MIME-Version: 1.0
Message-ID:<△△△@△△.△△>
Subject: 問い合わせタイトル
Bcc:<○○○○@○○.○○>
To:<support@□□.□□>

3.意図しないユーザーに改ざんされたメールが届く

本来ならサイトの管理者(support@□□.□□)にしか届かないはずのメールが、BCCに追加された「○○○○@○○.○○」にも届いてしまいます。

このような方法で、攻撃者は企業・組織のWebサイトを踏み台に、大量のスパムメールやフィッシングメールを配信することができます。

メールヘッダインジェクション攻撃を受けた場合のリスク


メールヘッダインジェクション攻撃を受けると、さまざまなリスクが発生する可能性があります。主なリスクは以下の通りです。

  • ・ メールの内容が改ざんされる
  • ・ スパムメールの送信に悪用される
  • ・ フィッシング詐欺に悪用される

メールヘッダインジェクション攻撃では、不正なコードを挿入することで、メールの送信先を操作することができてしまいます。

そのため、先述の通りWebサイトのお問い合わせフォームに入力して送信すると、本来であればサイトの管理者にしか届かないメールが、攻撃者によって追加されたアドレスにも届いてしまいます。

これにより、企業・組織が運営しているWebサイトがスパムメールやフィッシングメールの送信に悪用されてしまう可能性があります。中でもフィッシングメールは、受信したメール内のリンクをクリックしてしまうと、フィッシングサイトに誘導され、個人情報を窃取されてしまう場合があります。

ユーザーがこのような被害にあった場合、メールの送付元となっているWebサイトを運営している企業・組織の信頼性が低下し、顧客や取引先からの信頼を失う可能性があります。

メールヘッダインジェクション攻撃への対策


メールヘッダインジェクション攻撃に対しては、以下の対策を講じることでリスクを軽減できます。

1.メールヘッダを固定値にする

メールヘッダや本文の改ざんを防ぐためには、そもそもメールヘッダに外部からの入力値を含めないようにすることが有効です。

具体的には、「From(送信元)」「To(宛先)」「件名(Subject)」などをアプリケーション側であらかじめ設定し、ユーザー入力を直接使用しないようにします。

これにより、攻撃者がヘッダ情報を変更できなくなります。

2.改行コードを許可しない

外部から入力された改行コードを許可してしまうと、メールの送信先を勝手に追加するといった不正な操作が可能になってしまいます。

そのため、外部から改行コードが入力された場合は削除するか、処理を実行しない仕様にしましょう。

3.メールヘッダインジェクション対策済みのメール送信用APIを使用する

信頼性の高いメール送信用API(例えば、PHPMailer、SendGrid、Mailgunなど)を使用すれば、メールヘッダインジェクションを引き起こすような不正なコードが含まれていないかをチェックすることができます。

4.Webサイトの脆弱性診断を行う

Webサイトを公開する前に脆弱性診断を実施することで、メールヘッダインジェクションをはじめとするセキュリティリスクを事前に把握し、攻撃者に悪用される前に修正することができます。

メールヘッダインジェクション攻撃への対策なら「LANSCOPE プロフェッショナルサービス」の脆弱性診断


メールヘッダインジェクション攻撃への対策であれば、LANSCOPEプロフェッショナルサービスWebアプリケーション脆弱性診断にお任せください。

LANSCOPEプロフェッショナルサービスの「Webアプリケーション脆弱性診断」は、過去12,000件以上の診断実績と90%以上のリピート率を誇り、多くのお客様に評価いただいています。

セキュリティの専門家がきめ細かい診断を行い、メールヘッダインジェクション攻撃の発生要因となる、Webアプリケーションの脆弱性(課題)を暴き、有効な対策を提案します。

お客様のサイトが抱える脆弱性リスクは、報告書にて「点数」で把握することができ、発見された脆弱性に有効なセキュリティ対策・修正内容を、具体的に知ることが可能です。

関連ページ

LANSCOPE プロフェッショナルサービス の「Webアプリケーション脆弱性診断」はこちら

また、診断内容を重要項目に絞り、より低価格でWebアプリケーションの脆弱性診断を受けていただける「セキュリティ健康診断パッケージ」も提供しております。

関連ページ

低コスト・短期で診断を行う『セキュリティ健康診断パッケージ』の詳細はこちら

まとめ


本記事では「メールヘッダインジェクション」をテーマに、その概要や対策について解説しました。

本記事のまとめ

  • メールヘッダインジェクションとは、Webサイトの脆弱性を利用したサイバー攻撃の一種で、特にWebフォームやメール送信機能に関連したアプリケーションで発生する
  • メールヘッダインジェクション攻撃を受けた場合、「メールの内容が改ざんされる」「スパムメールの送信に悪用される」「フィッシング詐欺に悪用される」といった被害が発生する
  • メールヘッダインジェクション攻撃への対策としては「メールヘッダを固定値にする」「改行コードを許可しない」「メールヘッダインジェクション対策済みのメール送信APIを使用する」「脆弱性診断を行う」などが挙げられる

メールヘッダインジェクション攻撃によって、運営するWebサイトがスパムメールやフィッシングメールの送信に悪用された場合、企業や組織が信頼を失ってしまう可能性があります。そのため、Webフォームを設置する際はサイト公開前に脆弱性診断などを行い、セキュリティ対策を徹底するようにしましょう。

失敗しないための脆弱性診断実施のコツ

セキュアな開発・サービス提供に必須!はじめての脆弱性診断に関する、正しい進め方ガイド

資料をダウンロードする