JP6039378B2 - 不正メール判定装置、不正メール判定方法、及びプログラム - Google Patents

不正メール判定装置、不正メール判定方法、及びプログラム Download PDF

Info

Publication number
JP6039378B2
JP6039378B2 JP2012254737A JP2012254737A JP6039378B2 JP 6039378 B2 JP6039378 B2 JP 6039378B2 JP 2012254737 A JP2012254737 A JP 2012254737A JP 2012254737 A JP2012254737 A JP 2012254737A JP 6039378 B2 JP6039378 B2 JP 6039378B2
Authority
JP
Japan
Prior art keywords
mail
distance
new
past
header information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012254737A
Other languages
English (en)
Other versions
JP2014102708A (ja
Inventor
孝広 彦坂
孝広 彦坂
亮太 竹本
亮太 竹本
光貴 小倉
光貴 小倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Software Corp
Original Assignee
NTT Software Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Software Corp filed Critical NTT Software Corp
Priority to JP2012254737A priority Critical patent/JP6039378B2/ja
Publication of JP2014102708A publication Critical patent/JP2014102708A/ja
Application granted granted Critical
Publication of JP6039378B2 publication Critical patent/JP6039378B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、電子メール(以下、単にメールと呼ぶ)の不正を検出する技術に関するものであり、特に、受信したメールが不正メールか否かを検出する技術に関するものである。
現在、通信ネットワークを介してメールによる情報の送受信が一般に行われている。メールの利用が普及するのに伴い、メールは各種業務での情報交換手段として活用され、メールにより重要な機密情報がネットワークを経由して授受されるケースも増加している。そのような観点から、送信先メールアドレスの設定誤り等の不適切なメールの送信を防止するために技術として、例えば特許文献1には、送信するメールの安全性解析・評価を行って安全にメールの送信を行うための技術が記載されている。
一方、近年、発信者のなりすましによる不正な攻撃メールも増加している。そのような観点で、例えば特許文献2には、受信メールに対し、鍵を用いて正当な発信者から送られてきたメールであるかどうかを検証する技術が記載されている。
特開2010-198379号公報 特開2005-142719号公報
受信したメールが、不正な発信者から送信されたメールかどうかを検証する技術に関し、例えば特許文献2に記載された技術では、送信側等で鍵を生成して付与するなど、特別な仕組みが必要であり、実現が容易でなく、一般的ではない。
近年、様々なテクニックを使用した攻撃メールが増加していることから、より簡易に実現できる不正メールの判定手法が求められている。
本発明は上記の点に鑑みてなされたものであり、送信側や中継ネットワークにおいて、特別な仕組みを備えることなく、受信側でのチェックのみで受信メールが不正か否かの判定を的確に行うことを可能とした技術を提供することを目的とする。
上記の課題を解決するために、本発明は、受信したメールが不正メールであるかどうかを判定する不正メール判定装置であって、
中継ネットワークを介してメールを受信する受信側メールサーバから新規メールを受信する新規メール受信手段と、
過去に受信した過去メールのヘッダ情報を格納する過去メール情報格納手段と、
前記新規メールからヘッダ情報を抽出し、前記過去メールのヘッダ情報との間の距離を算出し、当該距離と所定の閾値とに基づいて前記新規メールが不正メールか否かを判定する判定手段と、
前記判定手段により、前記新規メールが不正メールであると判定された場合に、受信者に通知を行い、前記新規メールが不正メールでないと判定された場合に、当該新規メールを前記過去メール情報格納手段に格納する手段と、
前記過去メール情報格納手段に格納されたメールのヘッダ情報間の距離に基づいて、前記閾値を算出する閾値算出手段とを備えることを特徴とする不正メール判定装置として構成される。
前記ヘッダ情報は、例えば、Receivedヘッダの情報、User-Agentヘッダの情報、又はX-Mailerヘッダの情報であり、前記距離は編集距離である。なお、ヘッダ情報はこれに限定されるものではなく、本実施例が適用できるヘッダ情報であればいずれのヘッダ情報でもよい。
前記閾値算出手段は、前記過去メール情報格納手段に格納されたメールのヘッダ情報間の距離に基づきクラスタ分析を行い、最大のクラスタ間の距離に基づいて前記閾値を算出するように構成することができる。更に、前記閾値算出手段は、前記最大のクラスタ間の距離を暫定閾値とし、前記ヘッダ情報の中で、受信メール間で変化し得ると推定される文字が全て変化した場合における変化後のヘッダ情報と、変化前のヘッダ情報との間の距離を用いて前記暫定閾値を補正することにより前記閾値を算出するようにしてもよい。
前記判定手段は、前記新規メールと前記過去メールとを含むメールのヘッダ情報間の距離に基づくクラスタ分析を行い、前記新規メールのクラスタへの結合時における当該新規メールと当該クラスタ間のヘッダ情報の距離が、前記閾値を超えた場合に、当該新規メールは不正メールであると判定するように構成することができる。
また、本発明は、前記不正メール判定装置が実行する不正メール判定方法、コンピュータを、前記不正メール判定装置における各手段として機能させるためのプログラムとして構成することもできる。
本発明によれば、送信側や中継ネットワークにおいて、特別な仕組みを備えることなく、受信側でのチェックのみで受信メールが不正か否かの判定を的確に行うことが可能となる。
本発明の実施の形態に係るシステムの全体概要構成図である。 メールの配送経路及びヘッダ情報を説明するための図である。 本発明の実施の形態に係る不正メール判定装置10に機能構成図である。 過去メール管理テーブルの構成例を示す図である。 閾値管理テーブルと隔離メール管理テーブルの構成例を示す図である。 不正メール判定装置10の動作を説明するためのフローチャートである。 不正メール判定装置10の動作を説明するためのフローチャートである。 受信者端末20に表示される不審メール確認画面例を示す図である。 受信者端末20に表示される不審メール一覧画面例を示す図である。 不正メール判定(正常経路時)の例を示す図である。 不正メール判定(不正経路時)の例を示す図である。 クラスタ分析に基づく不正メール判定例を説明するための図である。 クラスタ分析に基づく不正メール判定例を説明するための図である。 クラスタ分析に基づく不正メール判定例を説明するための図である。 閾値の算出方法を説明するための図である。
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
<装置全体構成、動作概要>
図1に、本発明の実施の形態に係るシステムの全体概要構成図を示す。図1に示すように、本実施の形態におけるシステムでは、送信側ネットワーク30と受信側ネットワーク40が、中継ネットワーク50を介して接続されている。送信側ネットワーク30には、送信者端末1と送信側メールサーバ3が備えられ、受信側ネットワーク40には、受信側メールサーバ4、受信者端末20、及び本発明に係る不正メール判定装置10が備えられる。なお、図1には、送信側ネットワークを1つのみ示しているが、本実施の形態では、送信側ネットワークは複数あり、その中に、不正メールの送信元となる送信側ネットワークが含まれることを想定している。
本実施の形態では、不正メール判定装置10が、受信者端末20宛に送られてきたメールのヘッダ情報を蓄積し、蓄積したデータに基づいて、受信メールについて異質な配信経路を経由して送られてきたかどうかを判定し、異質な配信経路を経由して送られてきたと判定された場合に、不正メールであると判定する動作を行う。
なお、本実施の形態では、不正メール判定装置10を、受信者端末20の外部(受信者端末20と受信側メールサーバ4の間)に備えることとしているが、不正メール判定装置10の機能を、受信者端末20の内部に備えることとしてもよい。その場合、受信者端末20を不正メール判定装置と呼ぶことができる。また、この場合、本実施の形態における不正メール判定装置10と受信者端末20との間でのデータの送受信は、受信者端末20内での、不正メール判定装置の機能と、所定のアプリケーション(メーラー等)との間のデータの送受信に相当する。
更に、メーラー等のメールアプリケーション内に不正メール判定装置の機能を備えることとしてもよい。この機能は、例えば、メールアプリケーションに追加して機能拡張するためのアドインプログラムとして実現することも可能である。
図2は、本実施の形態におけるメールの配送経路を含む全体動作の概要を説明するための図である。
図2では、一例として、図1の送信側ネットワーク30、及び受信側ネットワーク40は、それぞれある会社のネットワークであるものとし、それぞれ、送信者の社内環境、及び受信者の社内環境として記述されている。また、図2の例では、送信者の社内環境において複数の送信側中継メールサーバ、及び複数の送信側メールサーバを含む場合を示している。更に、図2の例では、送信側のメール送信環境の1つとして、受信者端末20に不正メールを送信する攻撃者のメール送信環境が示されている。攻撃者のメール送信環境には、攻撃者メール送信端末6、攻撃者利用メールサーバ5が存在する。
まず、図2を参照して、送信者端末1から受信者端末20に向けて送られる本来のメール(以下、メールAとする)の流れについて説明する。
送信者端末1から送信されたメールAは、送信側中継メールサーバ2に届く。100に示されるように、送信側中継メールサーバ2におけるメールAのメールヘッダには、「Received : from (1) by (2) with SMTP」というReceivedヘッダの情報が含まれる。このReceivedヘッダの情報は、送信者端末1から、送信側中継メールサーバ2に、SMTPでメールAが送られたことを意味する。
メールAは、送信側中継メールサーバ2から送信側メールサーバ3に届けられる。送信側メールサーバ3におけるメールAのReceivedヘッダは200に図示するとおりであり、「Received : from (1) by (2) with SMTP」に「Received : from (2) by (3) with SMTP」が送信側メールサーバ3により追加されたものとなる。
そして、メールAは、送信側メールサーバ3から中継ネットワークを経由して受信者の社内環境における受信側メールサーバ4に送信される。受信側メールサーバ4におけるメールAのReceivedヘッダは、300に示されるように、「Received : from (1) by (2) with SMTP」と「Received : from (2) by (3) with SMTP」に、「Received : from (3) by (4) with SMTP」が追加されたものとなる。この追加されたヘッダは、送信者メールサーバ3から、受信側メールサーバ4に、SMTPでメールAが送られたことを意味する。
次に、攻撃者端末6から送信される攻撃のメール(以下、メールBとする)について説明する。攻撃者端末6から送信されたメールBは、攻撃者利用メールサーバ5を経由して、受信側メールサーバ4に届く。受信側メールサーバ4におけるメールBのReceivedヘッダ情報は図2の500に示すとおりであり、攻撃者利用メールサーバ5から、受信側メールサーバ4に、SMTPでメールBが送られたことを示す「Received : from (5) by (4) with SMTP」を含む。
本実施の形態では、受信者端末20が存在する社内ネットワークにおける外部(中継ネットワーク)からの入口の受信側メールサーバ4で付与されるReceivedヘッダ情報におけるFrom部を含む情報を不正メール検出装置10において蓄積し、蓄積したデータを用いて、新たに受信するメールの配信経路が異質なものかどうかを判定することで、新たに受信したメールが不正かどうかを判定する。受信側メールサーバ4で付与されるReceivedヘッダ情報とは、図2の例では、300における「Received : from (3) by (4) with SMTP」、500における「Received : from (5) by (4) with SMTP」であり、From部の情報は、それぞれ、(3)と(5)である。
なお、入口の受信側メールサーバ4で付与されるReceivedヘッダ情報におけるFrom部を含む情報に基づき不正判定を行うことは一例である。配送経路全体に関するヘッダ情報を蓄積し、配送経路全体についてそれが異質かどうかを判定することにより不正判定を行うこととしてもよい。
<不正メール検出装置10の構成>
図3に、不正メール判定装置10の機能構成図を示す。図3に示すように、本実施の形態に係る不正メール判定装置10は、新規メール受信部11、ヘッダ情報抽出部12、不正メール判定部13、メール不正判定時処理部14、メール受信時処理部15、及び管理情報格納部16を備える。
以下、各機能部の概要を説明する。不正メール判定や閾値算出の詳細については、概要説明の後、順に説明される。
新規メール受信部11は、受信側メールサーバ4から新規メールを受信する機能部である。この「受信」は、受信側メールサーバ4から新規メールを取得することであってもよい。ヘッダ情報抽出部12は、新規メール受信部11により受信したメールからヘッダ情報を取得する機能部である。不正メール判定部13は、新規メールが不正メールかどうかを判定する機能部である。
メール不正判定時処理部14は、不正メール判定部13により、新規メールが不正メールであると判定された場合の処理を行う機能部である。メール受信時処理部15は、新規メールが正常であると判定された場合、もしくは、不正と判定されたが、ユーザが新規メールの受信を行う場合の処理を行う機能部である。
管理情報格納部16は、過去メール管理テーブルと、閾値管理テーブルと、隔離メール管理テーブルを格納している。図4に、過去メール管理テーブルの構成例を示す。図4に示す過去メール管理テーブルは、特定の受信者(本実施形態では、受信者端末20のユーザの宛先アドレス)に対するテーブルであり、図示されるように、ID、送信元アドレス、ヘッダ情報(From部)、追加日時を格納する。これらの情報は、新規メールを受信者端末20が受信する度に記録される情報である。
図5に、閾値管理テーブルと隔離メール管理テーブルを示す。図5(a)に示すように、閾値管理テーブルには、送信元アドレス毎に不正メール判定のための閾値が格納される。また、図5(b)に示すように、隔離メール管理テーブルには、不正メールであると判定され、隔離されたメールについてのID、送信元アドレス、格納(隔離)された場所、ステータスが記録される。
上記不正メール判定装置10は、例えば、1つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、不正メール判定装置10の各部が有する機能は、当該不正メール判定装置10を構成するコンピュータに内蔵されるCPUやメモリ、ハードディスクなどのハードウェア資源を用いて、各部で実施される処理に対応するプログラムを実行することによって実現することが可能である。より具体的には、プログラムに従って、処理対象のデータ(ヘッダ情報等)をメモリから読み出し、CPUにより演算を行って、メモリに格納する動作を繰り返しながら処理が実行される。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
また、図3に示した機能区分は一例にすぎない。本実施の形態で説明する動作を実現できれば、機能区分は図3に示したものに限られない。例えば、不正メール判定装置10を、 中継ネットワークを介してメールを受信する受信側メールサーバから新規メールを受信する新規メール受信手段と、過去に受信した過去メールのヘッダ情報を格納する過去メール情報格納手段と、前記新規メールからヘッダ情報を抽出し、前記過去メールのヘッダ情報との間の距離を算出し、当該距離と所定の閾値とに基づいて前記新規メールが不正メールか否かを判定する判定手段と、前記判定手段により、前記新規メールが不正メールであると判定された場合に、受信者に通知を行い、前記新規メールが不正メールでないと判定された場合に、当該新規メールを前記過去メール情報格納手段に格納する手段と、前記過去メール情報格納手段に格納されたメールのヘッダ情報間の距離に基づいて、前記閾値を算出する閾値算出手段とを備える不正メール判定装置として構成することができる。
なお、一例として、上記判定手段は、不正メール判定部13に対応し、上記「前記判定手段により、前記新規メールが不正メールであると判定された場合に、受信者に通知を行い、前記新規メールが不正メールでないと判定された場合に、当該新規メールを前記過去メール情報格納手段に格納する手段」は、メール不正判定時処理部14とメール受信時処理部15に対応し、閾値算出手段は、メール受信時処理部15に対応する。なお、メール受信時処理部15が、閾値算出手段(モジュール)を備えることとしてもよい。
<不正メール検出装置10の動作>
以下、図6、及び図7のフローチャートを参照して、不正メール判定装置10の処理の全体の流れを説明する。以下の説明では、図3に示す各機能部の名称を適宜用いる。また、以下では、特定の送信元アドレスを有し、受信者端末20宛てに送られたメールを対象とするものとし、当該送信元アドレスも新規メールから抽出して、各テーブルに格納するが、以下では、説明を分かり易くするために、送信元アドレスについては述べていない。
まず、新規メール受信部11は、受信者端末20宛に新規に届いたメールを受信する(ステップ1)。
次に、ヘッダ情報抽出部12は、新規メール受信部11により受信した新規メールにおけるヘッダ情報の中から、受信側メールサーバ4により付与されたReceivedヘッダのFrom部の情報(以下、これをヘッダ情報と呼ぶ)を抽出する(ステップ2)。不正メール判定部13は、ヘッダ情報抽出部12により取得されたヘッダ情報と、管理情報格納部16における過去メール管理テーブルに格納された当該送信元アドレスに対応するヘッダ情報とに基づいて、新規メールが不正メールかどうかの判定を行う。
すなわち、不正メール判定部13は、まず、ヘッダ情報について新規メールと過去メールを含めてクラスタ分析を行い、新規メールの他クラスタへの結合時の距離を算出する(ステップ3)。そして、不正メール判定部13は、閾値管理テーブルに格納された閾値のうち、判定対象の新規メールの送信元アドレスに対応する閾値と結合時の距離とを比較し、結合時の距離が閾値を越えるかどうかをチェックする(ステップ4)。超える場合に不正メールであると判定し、超えない場合に、正常メールであると判定する。
不正メール判定部13により不正メールであると判定された場合、メール不正判定時処理部14が、新規メールを隔離する(ステップ5)。具体的には、メール不正判定時処理部14は、新規メールをメモリ等における所定の記憶領域に格納し、当該新規メールに関する情報を隔離メール管理テーブルに格納する。格納した当初の隔離メールの「ステータス」は「確認待ち」である。続いて、メール不正判定時処理部14は、新規メールを隔離した旨を受信者端末20に通知し、受信者にメールを確認させる(図7のステップ6)。
ステップ6において受信者端末20に表示される画面の一例を図8に示す。この画面上で、ヘッダの詳細を確認できる。また、図8に示すように、「受信する」ボタンを選択すれば、新規メールが受信者端末20に配送されるとともに、閾値算出処理に移行し、「削除する」ボタンを選択すれば、新規メールは削除される。なお、受信者端末20では、不正メール判定装置10における隔離メール管理テーブルのデータを用いることにより、図9に示すように不正メール一覧画面を表示することも可能である。
メール不正判定時処理部14は、受信者端末20から確認結果を受け取り、確認結果に応じた処理に進む(ステップ7)。すなわち、受信者が当該新規メールを受信しないことを確認結果が示す場合にステップ8に進み、受信することを示す場合に、ステップ9に進む。
ステップ8では、メール不正判定時処理部14は、隔離していた新規メールを削除するとともに、隔離メール管理テーブルにおける該当メールのステータスを「削除済み」にする。
一方、ステップ4において、新規メールが不正メールではないと判定された場合、もしくは、ステップ7において、受信者が新規メールを受信することが確認結果に示される場合、ステップ9に進む。
ステップ9において、メール受信時処理部15は、新規メールのヘッダ情報を過去メール管理テーブルに保存する。そして、メール受信時処理部15は、新規メールと過去メールを含めたクラスタ分析を行い、クラスタ間の最大距離を暫定閾値として決定する(ステップ10)。なお、ここでのクラスタ分析については、ステップ3で行ったクラスタ分析の結果を用いてもよい。メール受信時処理部15は、更に、メールヘッダの特性を考慮し、暫定閾値を補正し、補正した閾値で、閾値管理テーブルにおける閾値を更新する(ステップ11)。
その後、メール受信時処理部15は、新規メールを受信者端末20に配送する(ステップ12)。
上記の処理では、新規メールを受信する度に、メール受信時処理部15が、閾値算出処理を行うこととしているが、閾値算出処理は新規メールを受信する度に行わなくてもよい。例えば、一定時間毎に行う、もしくは、特定の送信元アドレスのメールのヘッダ情報が、所定数個だけ新たに格納される度に行うこととしてもよい。
以下、上述した処理の中での、不正メール判定、及び閾値算出処理についてより詳細に説明する。
<不正メール判定処理>
本実施の形態では、新規メールと過去メールにおける各メール間において、ヘッダ情報(本実施の形態では、From部の情報)の文字列比較を行うことにより、類似性を判断し、不正判定を行うこととしている。
ここで、単純に文字列が一致するかどうかでヘッダ情報の正常性を判定することが考えられる。しかし、例えば同じ企業の同一場所に設置される複数の送信メールサーバ間でも、ヘッダ情報は全く同じにならず、一部の文字列が異なるのが一般的である。従って、仮に、単純な文字列一致でヘッダ情報の正常性を判定しようとすると、当初の数回だけ同じメールサーバから送信されたメールを、ヘッダ情報が一致するので正当なメールであると判定するが、次に、同じグループ内の異なる正規のメールサーバから送信されたメールを不正であると判定してしまうことが考えられる。
そこで、本実施の形態では、編集距離と閾値の概念を取り入れて、ある程度の幅をもたせた判定を行うこととしている。
すなわち、本実施の形態では、新規メールと過去メールにおける各メール間においてヘッダ情報の文字列比較を行い、各メール間の編集距離(レーベンシュタイン距離)を求め、この編集距離に基づき類似性を判定することしている。なお、編集距離とは、二つの文字列がどの程度異なっているかを示す数値であり、具体的には、文字の挿入や削除、置換によって、一つの文字列を別の文字列に変形するのに必要な手順の最小回数として与えられるものである。なお、以下では、編集距離を単に「距離」と呼ぶ場合がある。また、メール間の距離といった場合、メールのヘッダ情報間の距離を意味する。
上記の距離を用いた不正メール判定の一例として、受信者により受信され、過去メール管理テーブルに格納された過去メール間の全ての組み合わせにおいて距離を算出し、この中の最大の距離に基づき閾値を定めておき、新規メールを受信したときに、新規メールと、各過去メールとの間の距離を求め、これらの距離のうちの最大の距離が、閾値を超えた場合に、不正メールであると判定することとしてもよい。
一例として、例えば、図10に示すように、3つの過去メールのヘッダ情報が蓄積されている状態で、図示する新規メールが受信されたものとする。なお、新規メールにおいて、過去メールと特に異なる文字に下線を引いている。新規メールと過去メールとの距離は図示するとおりいずれも6であり、また、閾値は8である。よって、この場合、新規メールは正常メールと判定される。
他の例として、例えば、図11に示すように、3つの過去メールのヘッダ情報が蓄積されている状態で、図示する新規メールが受信されたものとする。新規メールと過去メールとの距離は図示するとおり最大で16であり、また、閾値は8である。よって、この場合、新規メールは不正メールと判定される。
ただし、本実施の形態においては、送信側において一般に行われているように、例えばサーバ設置場所等に応じてメールサーバがグループ分けされていたりする場合を想定している。その場合、上記のように単純に距離の比較で判定を行うとすると、あるグループのメールサーバから送信されてきたメールと、正規の別のグループのメールサーバから送信されてきたメールとの距離は大きくなり、正規の別のメールサーバから送られたメールを不正であると判定してしまう可能性がある。
そこで、本実施の形態では、受信したメール間について、距離を類似性の測度とするクラスタ分析を行い、最大のクラスタ間の距離を暫定閾値とする。この暫定閾値は、後述する方法で補正され、不正メール判定の際の閾値として用いられる。新規メールを受信したときには、クラスタ分析の中で当該新規メールが結合(併合する)するクラスタと当該新規メールとの距離(結合距離)が閾値を越えた場合に、不正メールであると判断している。言い換えると、クラスタ分析の中で、当該新規メールからなるクラスタが他のクラスタと結合する場合における、当該クラスタと他のクラスタとの間の距離(本実施の形態では、最長距離法を想定しており、クラスタ間要素の組み合わせの中での最大距離)が閾値を越えた場合に、不正メールであると判断している。
クラスタ分析の手法には種々の手法があり、本実施の形態では特定の手法に限定されないが、例えば、本実施の形態では階層的クラスタ分析を用いることを想定している。階層的クラスタ分析では、個々の対象間の距離を全て計算し、その中で距離が近いもの同士でクラスタを形成し、距離が近いクラスタ同士を併合することを繰り返し、最終的に全てのクラスタが統合される。この結果は樹形図によって表される。
また、前述したとおり、本実施の形態では、「クラスタ間の距離」の定義に、最長距離法を用いている。最長距離法は、二つのクラスタのそれぞれから一つのサンプルを取り出すときの全組み合わせの中で、距離が最大のものをクラスタ間の距離とするものである。もちろん、「クラスタ間の距離」は、最長距離法に限定されるわけではなく、ウォード法等の他の手法も適宜使用することが可能である。
本実施の形態における不正メールの判定においては、クラスタ間の距離の最大値を閾値(暫定閾値)とし、新規メールを含めたクラスタ分析において、新規メールが結合するクラスタと、新規メールとの距離(当該クラスタの各要素と新規メール間の距離のうちの最大のもの)が閾値を越えた場合に、不正メールであると判断しているが、判断手法はこれに限られない。なお、暫定閾値として上記クラスタ間の距離の最大値を求める際のクラスタ数(併合の段階に応じてクラスタ数が変わる)は、例えば、過去メール数に応じて予め定めた数とする。
本実施の形態における不正メール判定の概念の一例を図12〜図14を用いて説明する。まず、新規メールを受信する直前の段階で、図12のようにメール間の距離に基づくクラスタ分析がなされているものとする。図中、黒丸が各メールを示す。番号はメールを識別する番号である。図12に示すように、3つのクラスタがあり、クラスタBとクラスタC間の距離が最大の6であり、これを暫定閾値とする。図12〜図14では、便宜上、これを閾値として用いることとする。
第1例)図12の状態において、新規メール10を受信し、新規メール10を含めたクラスタ分析を行ったところ、図13に示すように、新規メール10は、クラスタCに、結合距離2で併合されたものとする。この場合、新規メール10は、閾値未満なので正常メールと判断される。
第2例)図12の状態において、新規メール10を受信し、新規メール10を含めたクラスタ分析を行ったところ、図14に示すように、新規メール10は、クラスタA〜Cと独立したクラスタDを形成し、当該クラスタDは、クラスタA〜Cが併合されたクラスタEと結合されるものとして分析されたとする。このときクラスタDとクラスタE間の距離(結合距離)は12であり、6を越えるので、新規メール10は、不正メールであると判断される。
<閾値の補正について>
本実施の形態において、例えば過去メール数が少なく、過去メールのヘッダ情報がばらばらで、過去メール間の距離が非常に大きくなる場合が考えられる。この場合、閾値も非常に大きくなってしまい、新規メールを不正メールであると判定できない場合が生じ得る。
他方、例えば、全ての過去メールにおけるヘッダ情報が同一であることもあり得る。この場合、上記クラスタ分析に基づく距離は0となり、これをそのまま用いれば閾値は0となる。しかし、閾値が0であるとすると、少しでもヘッダ情報の異なる新規メールを受信した場合に、不正メールと判定してしまう。一般的に、複数のメールサーバが送信側に存在する場合に、複数の受信メール間でヘッダ情報が少し異なる状況は、正常な一般的な状況であり、これを不正メールと判定することは実情にそぐわなくなるという問題がある。
そこで、本実施の形態では、以下のようにして、クラスタ分析におけるクラスタ間最大距離である暫定閾値を補正して、不正メール判定時の閾値としている。
まず、本実施の形態では、ヘッダ情報の中で、送信元のサーバ構成の変更等で変わり得る部分を推定し、変り得る部分が変った場合のヘッダ情報と、変る前のヘッダ情報との間の距離を算出することとしている。
図15に、本実施の形態において、サーバ構成の変更等で、ヘッダ情報の中で変化し得ると考えられる部分の例を示す(点線枠で囲んだ部分)。図15は、セカンドレベル登録ドメインの例を示す。図15に示すように、ホスト名に対応する部分、ネットマスクが適用され得る部分(ホストの相違によりアドレスが変化する部分)は、変化する可能性が高いと考えられる。なお、ホストの相違によりアドレスが変化する部分を「ホストアドレス」と呼んでもよい。これらの総文字数×2として、これらが変った場合における、変る前に対する距離(編集距離)を求める。これを距離1とする。なお、"×2"により、変る前と変った後の間の編集距離が求められる。一方、用途を表すセカンダリドメイン、国を表すトップドメイン等は変る可能性が低く、変化しないものとしている。
上記のように、過去メールのヘッダ情報がばらばらで暫定閾値が非常に大きくなる場合に、変り得る部分の全てを考慮した上記距離1を用いることにより、適切な判定を行い得る。
他方、本実施の形態では、サーバ構成に変更がなくても、通常の状態で起こり得る状況として、ヘッダ情報のうち、ホスト名に含まれる数字部分の文字のみが変る場合を想定し、それらが変った場合における、変る前に対する距離を求める。これを距離2とする。図15の例でいえば、mail01の01の部分で、合計4文字であるから、距離としては4×2の8となる。
例えば、過去メール数件分におけるヘッダ情報が同一であり、暫定閾値が0になってしまう場合でも、ホスト名の数字部分はすぐに変る可能性がある。そのような場合でも、上記の数字部分から得られた閾値を用いることで、新規メールを不正メールと判定しないことができる。
本実施の形態では、上記の各距離の算出にあたっては、過去メールを複数用いた平均値を算出することとしている。
上記の概念をまとめて、本実施の形態では、以下の式を用いて、暫定閾値を補正して、不正メール判定で用いる閾値Tを算出することとしている。
T = max( min( df, E(dm) ) , E(dn) )
上記の式で、T は、不正メール判定で用いる閾値である。dfは、サンプル(正常メールのみ)のクラスタ間の最大距離、すなわち、暫定閾値である。E(dm)は、ホスト名、ホストアドレスの総文字数*2 の平均、すなわち、前述した距離1の平均である。E(dn)は、ホスト名に含まれる数字部分の文字数*2 の平均、すなわち、前述した距離2の平均である。
上記の式は、df,とE(dm) のうちの小さいほうと、E(dn)との中で、大きいほうをTとするものである。
df,とE(dm) のうちの小さいほうを選ぶということは、E(dm)は、正常なときにあり得る最大の変化を想定した距離であり、この距離以下の値を閾値とするという趣旨である。また、df,とE(dm) のうちの小さいほうと、E(dn)との中で、大きいほうを選ぶということは、E(dn)が、頻繁に起こりえる変化を想定した距離であり、この距離以上の値を閾値とするという趣旨である。
一例として、例えば、暫定閾値が6であり、E(dm)が30であり、E(dn)が8であれば、8がTとして用いられる。また、例えば、過去メールが1件しかない状況で新規メール1件を受信した場合、暫定閾値は0であるがT=E(dn)=8が閾値となり、一件の過去メールと新規メール間の距離が8を超えるかどうかで、不正メールか否かを判定することができる。
(他の実施形態について)
これまでに説明した例では、ReceivedヘッダのFrom部を用いて判定を行っているが、with部又はby部、もしくはwith部とby部の両方を加えて判定を行うこととしてもよい。with部やby部を加えた場合は、判定に用いる文字列が増加するが、編集距離に基づきクラスタ分析を行って、クラスタ間の距離に基づき閾値を算出し、当該閾値を用いて新規メールの不正判定を行うという基本的な処理はFrom部のみの場合と同様である。また、必要に応じて、From部のみの場合と同様に、あり得る文字列変化を考慮して閾値を補正することも可能である。
また、対象とするヘッダについてもReceivedヘッダに限らず、他のヘッダを用いてもよい。例えば、User-Agentヘッダの情報、もしくはX-Mailerヘッダの情報を用いて不正判定を行ってもよい。これらの場合も、Receivedヘッダの場合と同様に、ヘッダに記述された文字列のメール間での編集距離に基づきクラスタ分析を行って、クラスタ間の距離に基づき閾値を算出し、当該閾値を用いて新規メールの不正判定を行う。また、必要に応じて、Receivedヘッダの場合と同様に、あり得る文字列変化を考慮して閾値を補正することも可能である。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
1 送信者端末
2 送信側中継メールサーバ
3 送信側メールサーバ
4 受信側メールサーバ
5 攻撃者利用メールサーバ
6 攻撃者メール送信端末
10 不正メール判定装置
11 新規メール受信部
12 ヘッダ情報抽出部
13 不正メール判定部
14 メール不正判定時処理部
15 メール受信時処理部
16 管理情報格納部
20 受信者端末
30 送信側ネットワーク
40 受信側ネットワーク
50 中継ネットワーク

Claims (7)

  1. 受信したメールが不正メールであるかどうかを判定する不正メール判定装置であって、
    中継ネットワークを介してメールを受信する受信側メールサーバから新規メールを受信する新規メール受信手段と、
    過去に受信した過去メールのヘッダ情報を格納する過去メール情報格納手段と、
    前記新規メールからヘッダ情報を抽出し、前記過去メールのヘッダ情報との間の距離を算出し、当該距離と所定の閾値とに基づいて前記新規メールが不正メールか否かを判定する判定手段と、
    前記判定手段により、前記新規メールが不正メールであると判定された場合に、受信者に通知を行い、前記新規メールが不正メールでないと判定された場合に、当該新規メールを前記過去メール情報格納手段に格納する手段と、
    前記過去メール情報格納手段に格納されたメールのヘッダ情報間の距離に基づいて、前記閾値を算出する閾値算出手段と
    を備えることを特徴とする不正メール判定装置。
  2. 前記ヘッダ情報は、Receivedヘッダの情報、User-Agentヘッダの情報、又はX-Mailerヘッダの情報であり、前記距離は編集距離である
    ことを特徴とする請求項1に記載の不正メール判定装置。
  3. 前記閾値算出手段は、前記過去メール情報格納手段に格納されたメールのヘッダ情報間の距離に基づきクラスタ分析を行い、最大のクラスタ間の距離に基づいて前記閾値を算出する
    ことを特徴とする請求項1又は2に記載の不正メール判定装置。
  4. 前記閾値算出手段は、前記最大のクラスタ間の距離を暫定閾値とし、前記ヘッダ情報の中で、受信メール間で変化し得ると推定される文字が全て変化した場合における変化後のヘッダ情報と、変化前のヘッダ情報との間の距離を用いて前記暫定閾値を補正することにより前記閾値を算出する
    ことを特徴とする請求項3に記載の不正メール判定装置。
  5. 前記判定手段は、前記新規メールと前記過去メールとを含むメールのヘッダ情報間の距離に基づくクラスタ分析を行い、前記新規メールのクラスタへの結合時における当該新規メールと当該クラスタ間のヘッダ情報の距離が、前記閾値を超えた場合に、当該新規メールは不正メールであると判定する
    ことを特徴とする請求項1ないし4のうちいずれか1項に記載の不正メール判定装置。
  6. 受信したメールが不正メールであるかどうかを判定する不正メール判定装置が実行する不正メール判定方法であって、
    前記不正メール判定装置は、過去に受信した過去メールのヘッダ情報を格納する過去メール情報格納手段を備えており、
    中継ネットワークを介してメールを受信する受信側メールサーバから新規メールを受信する新規メール受信ステップと、
    前記新規メールからヘッダ情報を抽出し、前記過去メールのヘッダ情報との間の距離を算出し、当該距離と所定の閾値とに基づいて前記新規メールが不正メールか否かを判定する判定ステップと、
    前記判定ステップにより、前記新規メールが不正メールであると判定された場合に、受信者に通知を行い、前記新規メールが不正メールでないと判定された場合に、当該新規メールを前記過去メール情報格納手段に格納するステップと、
    前記過去メール情報格納手段に格納されたメールのヘッダ情報間の距離に基づいて、前記閾値を算出する閾値算出ステップと
    を備えることを特徴とする不正メール判定方法。
  7. コンピュータを、請求項1ないし5のうちのいずれか1項に記載された不正メール判定装置における各手段として機能させるためのプログラム。
JP2012254737A 2012-11-20 2012-11-20 不正メール判定装置、不正メール判定方法、及びプログラム Active JP6039378B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012254737A JP6039378B2 (ja) 2012-11-20 2012-11-20 不正メール判定装置、不正メール判定方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012254737A JP6039378B2 (ja) 2012-11-20 2012-11-20 不正メール判定装置、不正メール判定方法、及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016216424A Division JP6316380B2 (ja) 2016-11-04 2016-11-04 不正メール判定装置、不正メール判定方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014102708A JP2014102708A (ja) 2014-06-05
JP6039378B2 true JP6039378B2 (ja) 2016-12-07

Family

ID=51025157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012254737A Active JP6039378B2 (ja) 2012-11-20 2012-11-20 不正メール判定装置、不正メール判定方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6039378B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6266487B2 (ja) * 2014-09-30 2018-01-24 Kddi株式会社 メール情報抽出装置、メール判定リスト作成装置、メール情報抽出方法、メール判定リスト作成方法およびコンピュータプログラム
JP6631198B2 (ja) * 2015-11-25 2020-01-15 日本電気株式会社 通信装置、中継装置、中継装置の制御方法、中継装置のプログラム及び通信システム
JP6533823B2 (ja) * 2017-05-08 2019-06-19 デジタルア−ツ株式会社 情報処理装置、情報処理システム、プログラム、記録媒体及び情報処理方法
US10447635B2 (en) * 2017-05-17 2019-10-15 Slice Technologies, Inc. Filtering electronic messages
EP3675433A4 (en) 2017-09-14 2020-09-30 Mitsubishi Electric Corporation ELECTRONIC MAIL INSPECTION DEVICE, METHOD AND PROGRAM

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348161A (ja) * 2002-05-23 2003-12-05 Nec Corp メールサーバ,メールシステムおよび迷惑メール削除方法ならびにプログラム
US7627670B2 (en) * 2004-04-29 2009-12-01 International Business Machines Corporation Method and apparatus for scoring unsolicited e-mail
JP4817952B2 (ja) * 2006-04-25 2011-11-16 エヌ・ティ・ティ・コミュニケーションズ株式会社 メール誤送信防止システム、メール誤送信防止方法、およびメール誤送信防止プログラム
JP4963099B2 (ja) * 2007-10-23 2012-06-27 Kddi株式会社 電子メールフィルタリング装置、電子メールのフィルタリング方法およびプログラム
JP5366204B2 (ja) * 2009-07-17 2013-12-11 国立大学法人 和歌山大学 メールフィルタリングシステム、そのコンピュータプログラム、情報生成方法
JP6094056B2 (ja) * 2012-05-10 2017-03-15 富士通株式会社 メールチェック方法、メールチェック装置、及び、メールチェックプログラム

Also Published As

Publication number Publication date
JP2014102708A (ja) 2014-06-05

Similar Documents

Publication Publication Date Title
US11516248B2 (en) Security system for detection and mitigation of malicious communications
US11019079B2 (en) Detection of email spoofing and spear phishing attacks
US7836133B2 (en) Detecting unwanted electronic mail messages based on probabilistic analysis of referenced resources
US9154514B1 (en) Systems and methods for electronic message analysis
US9143476B2 (en) Real-time classification of email message traffic
US7950047B2 (en) Reporting on spoofed e-mail
US7849146B2 (en) Identifying IP addresses for spammers
US20140325007A1 (en) System for reclassification of electronic messages in a spam filtering system
CN113812130A (zh) 网络钓鱼活动的检测
US20100161734A1 (en) Determining spam based on primary and secondary email addresses of a user
JP6039378B2 (ja) 不正メール判定装置、不正メール判定方法、及びプログラム
CN102567873A (zh) 使用关系和名誉数据的电子邮件过滤
US7890588B2 (en) Unwanted mail discriminating apparatus and unwanted mail discriminating method
US8381262B2 (en) Blocking of spoofed E-mail
CN111752973A (zh) 生成用于识别垃圾电子邮件的启发式规则的系统和方法
US8473556B2 (en) Apparatus, a method, a program and a system for processing an e-mail
US10069775B2 (en) Systems and methods for detecting spam in outbound transactional emails
JP4670049B2 (ja) 電子メールフィルタリングプログラム、電子メールフィルタリング方法、電子メールフィルタリングシステム
US20060031325A1 (en) Method for managing email with analyzing mail behavior
JP6316380B2 (ja) 不正メール判定装置、不正メール判定方法、及びプログラム
JP6247490B2 (ja) 不正メール判定装置、及びプログラム
JP6480541B2 (ja) 不正メール判定装置、及びプログラム
Morovati et al. Detection of Phishing Emails with Email Forensic Analysis and Machine Learning Techniques.
WO2011153582A1 (en) Electronic messaging recovery engine
JP2008252252A (ja) 異経路警告装置、異経路警告プログラム及び異経路警告方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151113

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160930

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161104

R150 Certificate of patent or registration of utility model

Ref document number: 6039378

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250