(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態では、ある会社に着目し、社内から外部(社外)に送られるメール、及び外部から社内に送られるメールを対象としているが、本発明はこのような形態に限られるわけではない。例えば、個人のメールの送受信にも本発明を適用することは可能である。また、本実施の形態では、メール転送のプロトコルとしてSMTPを使用しているが、本発明を適用できるメールのプロトコルはSMTPに限られるわけではない。
【0013】
(システムの全体構成)
図1に、本発明の実施の形態に係るシステム構成例を示す。
図1に示すように、本実施の形態におけるシステムにおいては、ある会社の社内に不正メール判定装置10と宛先履歴DB(データベース)サーバ20が備えられる。本実施の形態では、不正メール判定装置10は社内メールサーバの機能を含んでいるものとする。ただし、不正メール判定装置10と社内メールサーバが別装置であってもよい。また、不正メール判定装置10と宛先履歴DBサーバ20が1つの装置であってもよい。
【0014】
図1には、外部(他の会社等)のメールサーバの例として外部メールサーバ30が示されている。また、
図1には、例として、社内メールサーバに接続される社内の端末A、端末B、端末Cが示され、外部メールサーバ30に接続される端末a、端末b、端末cが示されている。
【0015】
本実施の形態では、説明を分かり易くするために、端末A、端末B、端末C、端末a、端末b、端末cのユーザをそれぞれユーザA、ユーザB、ユーザC、ユーザa、ユーザb、ユーザcとし、メールアドレスをA、B、C、a、b、cとする。
【0016】
本実施の形態では、不正メール判定装置10が、社内から外部に送信されるメールのアドレス情報、及び/又は、外部から社内に送信されるメールのアドレス情報を宛先履歴として宛先履歴DBサーバ20に格納する。そして、不正メール判定装置10が、当該履歴に基づいて、外部から受信したメールが不正メールか否かを判定する。なお、本実施の形態において、「不正メール」とは、例えば、受信者が受信することを望まないメール、受信者が受信すべきでないメール、受信者にとって関係のないメール等である。
【0017】
本実施の形態では、不正メールである可能性があるか否かを判定し、不正メールである可能性がある場合に受信者に確認させることとしている。ただし、不正メール判定装置10の処理上は、"不正メールである可能性がある"ことを、"不正メールである"と表現している。また、本実施の形態では、メールのヘッダにおけるTo、Ccのいずれも「宛先」として扱うこととしている。
【0018】
本実施の形態では、以下の観点で、外部から受信したメールが、不正メールか否かの判定を行っている。
【0019】
業務でのメールのやりとりでメールの返信を行う場合、返信者は、受信したメールの送信元に加えて、Cc:も含めて全員に返信することが多い。つまり、送信メールのヘッダにおける送信元(From:)及び宛先(To:、Cc:)のアドレス群と同じアドレス群が、受信メールのヘッダに付されていることが多い。例えば、Aからb宛にaとCをCc:に入れて送信したメールのヘッダにはA(From)、b(To)、a、C(Cc)のアドレスが付される。そして、このメールをbが受信し、全員へ返信する場合、この返信メールのヘッダには、例えば、b(From)、A(To)、a、C(Cc)のアドレスが付される。
【0020】
そこで、本実施の形態では、後述する第1の方式において、社内の端末から外部に送信されるメールのアドレス情報を宛先履歴として宛先履歴DBサーバ20に格納しておき、外部からメールを受信した場合に、当該メールのアドレス情報と上記宛先履歴とを比較して、当該アドレス情報と一致する又は近い履歴があるか否かで不正メールかどうかを判定している。
【0021】
他方、外部の特定のユーザが社内に向けて送信するメールの宛先は、送信の度に異なることは少なく、例えば、いつでも同じ宛先か、もしくは、宛先となる部署毎に同じ複数の宛先の集合となる場合が多い。そこで、本実施の形態では、後述する第2の方式において、外部から社内に向けて送信されるメールのアドレス情報を宛先履歴として宛先履歴DBサーバ20に格納しておき、外部からメールを受信した場合に、当該メールのアドレス情報と上記宛先履歴とを比較して、当該アドレス情報と一致する又は近い履歴があるか否かで不正メールかどうかを判定している。
【0022】
図2に、本実施の形態における不正メール判定装置10の機能構成図を示す。
図2に示すように、本実施の形態の不正メール判定装置10は、メール転送処理部11、アドレス情報格納処理部12、不正メール判定処理部13、及び不正メール通知制御部14を備える。
【0023】
メール転送処理部11は、社内メールサーバに相当する機能部であり、SMTPのプロトコルに従ったメールの転送・配信処理等を行う。アドレス情報格納処理部12は、メール転送処理部11により送受信されるメールのアドレス情報を宛先履歴DBサーバ20に格納する機能部である。後述するように、第1の方式では、メールメッセージのヘッダのアドレス情報を格納し、第2の方式では、エンベロップのアドレス情報を格納するが、これらは一例に過ぎない。
【0024】
不正メール判定処理部13は、外部から受信したメールのアドレス情報と、宛先履歴DBサーバ20に格納された送信元毎の宛先履歴とに基づいて、外部から受信したメールが不正メールか否かを判定する機能部である。不正メール通知制御部14は、不正メール判定処理部13により受信メールが不正メールであると判定された場合に、不正メールの可能性のあるメールが届いたことを宛先の端末に通知するとともに、確認画面を当該端末に表示させ、確認結果に基づくメール配信制御を行う機能部である。なお、このように不正メールであると判定された場合に、宛先の端末に通知する制御は一例に過ぎず、後述するように、不正メール通知制御部14は、受信メールが不正メールであると判定された場合に不正メールを破棄する制御や、端末からの受信メール有無確認要求に基づいて、不正メール表示を含む受信メールリストを通知する制御等を行うことも可能である。
【0025】
本実施の形態に係る不正メール判定装置10は、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、不正メール判定装置10における各機能部は、コンピュータに内蔵されるCPUやメモリ、ハードディスク等のハードウェア資源を用いて、各部で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0026】
本実施の形態は、アドレス情報格納処理部12、不正メール判定処理部13、及び不正メール通知制御部14に対応するプログラムを、社内メールサーバ上で実行させることで不正メール判定装置10とすることを想定しているが、アドレス情報格納処理部12、不正メール判定処理部13、及び不正メール通知制御部14に対応するプログラムを端末(クライアント)で実行させることにより、端末側で不正メール判定処理を行ってもよい。
【0027】
上記のように、不正メールの判定処理には、2種類(第1の方式、第2の方式)あり、以下、第1の方式と第2の方式についてより詳細に説明する。
【0028】
(第1の方式:社内からの送信メールの履歴に基づく不正メール判定)
<アドレス情報格納処理>
図3を参照して、第1の方式におけるアドレス情報の格納処理について説明する。
図3は、社内の端末Aからメールが送信される例を示している。前述したとおり、第1の方式では、社内からの送信メールに対し、社外から返信を行う際に、全員へ返信を行うことが多いという点に着目していることから、これに関する宛先情報を送信元情報とともに格納するために、メールメッセージのヘッダのFromフィールド、Toフィールド、Ccフィールドのアドレス情報を取得し、格納することとしている。
【0029】
なお、本明細書において、「メールメッセージ」は、ヘッダとメール本文からなる。また、メールメッセージを送受信するためのコマンド(送信元を示すMAIL From、宛先を示すRCPT To等)を「エンベロップ」と呼ぶ。また、特に断らない限り、「メール」は「メールメッセージ」と「エンベロップ」を含む。また、MAIL FromをエンベロップFrom、RCPT ToをエンベロップToと呼ぶ場合がある。
【0030】
図3のステップ101で、不正メール判定装置10におけるメール転送処理部11が、端末Aから送信されたメールを受信する。アドレス情報格納処理部12は、メール転送処理部11の中のバッファにあるメールメッセージのヘッダからFrom、To、Ccのアドレス情報を取得し、それを宛先履歴DBサーバ20に送信する(ステップ102)。宛先履歴DBサーバ20は、アドレス情報を格納する(ステップ103)。メール転送処理部11は、メールの転送処理を行う(ステップ104)。
図3には、一例として、送信されたメールメッセージのヘッダがFrom:A、To:a、Cc:b,c,Bであり、これらの情報を宛先履歴DBサーバ20に格納することが示されている。
【0031】
図3に示す処理は、メールが社内の端末から送信される度に行われる。ただし、本実施の形態では、会社の外部から受信したメールが不正か否かを判定するので、ヘッダの宛先(To又はCc)に外部アドレスが含まれる送信メールについて
図3に示す処理を行って、アドレス情報を格納する。
【0032】
図4に、第1の方式において宛先履歴DBサーバ20に格納されるテーブル(外部向送信メール宛先履歴テーブル)の例を示す。
図4の例では、送信元(Fromフィールドのアドレス)、宛先(To、Ccフィールドのアドレス)のアドレス情報(レコード)が、パターン番号とともに格納されている。当該アドレス情報を「パターン」と呼ぶ場合がある。
【0033】
なお、外部へ送信されるメールのアドレス情報を格納する際に、既に同じアドレス情報が格納されている場合は、新たなレコードに記録することとしてもよいし、パターン毎に件数の欄を設けておき、件数をインクリメントする(1増加させる)こととしてもよい。このように件数の欄を設けることで、パターン毎のメールの数を容易に把握できる。
【0034】
また、アドレス情報毎に1レコードに格納し、同じパターンには同じパターン番号を付し、更に、アドレス情報を格納した時刻(日時)を格納してもよい。時刻を格納することで、パターンの古さを把握でき、古いパターンについては判定対象外とするといった制御を行うことができる。
【0035】
<不正メール判定処理>
まず、不正メール判定の処理の全体の流れについて、
図5のシーケンス図を参照して説明する。処理の全体の流れについては第2の方式も同様である。
図5には、例としてエンベロップFrom、エンベロップTo、及びヘッダのFrom、To、Ccフィールドのアドレスが示されている。これらのアドレスに示されているように、
図5は、外部のaから社内のA、B、及び外部のb,cに向けてメールが送信される例を示している。
【0036】
外部の端末aから、メールが送信される(ステップ201)。メールは外部メールサーバ30から不正メール判定装置10のメール転送処理部11に送信される(ステップ202)。不正メール判定装置10における不正メール判定処理部13は、メール転送処理部11のバッファ(記憶装置)の中のメールから送信元アドレスと宛先アドレスを取得し、当該アドレス情報と、宛先履歴DBサーバ20における宛先履歴とを比較することで、受信したメールが不正メールか否かを判定する(ステップ203〜205)。この判定は、メールの社内の宛先毎に行われる。
図5の例では、宛先であるAとBについて判定が行われている。従って、同じメールでも、ある宛先にとって不正ではなく、別の宛先にとって不正であることがある。
【0037】
不正メール判定処理部13は、ある宛先(
図5の例ではB)について、受信メールが不正メールでないと判定した場合、その旨をメール転送処理部11に通知し、メール転送処理部11は当該宛先(B)にメールを転送する(ステップ206)。
【0038】
不正メール判定処理部13が、ある宛先(
図5の例ではA)について、受信メールが不正メールであると判定した場合、不正メール通知制御部14は、不正メール通知を当該宛先(本例では端末A)に送信する(ステップ207)。不正メール通知は、メール転送処理部11からメールで送信してもよいし、他の手段で送信してもよい。また、不正メール通知には、宛先の端末において確認画面を表示するための確認画面情報(例:URL)が含まれている。
【0039】
不正メール通知を受信した端末Aは、例えばURLをクリックすることで確認画面を表示する(ステップ208)。確認画面の一例を
図6に示す。
図6に示すように、確認画面には、不正メールと判定された理由(本実施の形態では、「いつもと異なる宛先の組み合わせです。)、通知の受信者が対応を選択するためのボタン(「削除する」、「受信する」、「後で確認する」等)が表示されている。
【0040】
不正メール通知制御部14が、端末Aから受信OK(例:「受信する」が選択された場合)を受信すると(ステップ209)、不正メール通知制御部14は受信OKである旨をメール転送処理部11に通知し、通知を受けたメール転送処理部11は、メールの転送を行う(ステップ210)。もしも不正メール通知制御部14が、端末Aから受信NG(例:「削除する」が選択された場合)を受信した場合には、不正メール通知制御部14は受信NGである旨をメール転送処理部210に通知し、通知を受けたメール転送処理部11は、メールの破棄を行う。
【0041】
上記の例では、不正メール判定処理部13が受信メールを不正メールと判定した場合に、不正メール判定装置10(メールサーバ)から受信者の端末に通知を行うこととしているが、このような制御は一例に過ぎない。
【0042】
例えば、不正メール判定装置10から端末への通知を行わず、受信者(端末)側で定期的に不正メール判定装置10における受信メール有無を確認し、不正メール対象をチェックして確認画面を表示するようにしてもよい。
【0043】
この場合、例えば、不正メール判定装置10の不正メール通知制御部14は、受信者の端末から定期的に送信される受信メール確認要求に応じて、受信メールが不正メールかどうかの判定結果の表示を含む受信メールリストを作成し、当該リストを受信者の端末に送信する機能を備える。受信者は、端末に表示された受信メールリスト画面を確認し、不正メールの表示(印)がある場合に、それをクリックする(あるいはチェックする)等の操作を行うことで、確認画面を不正メール通知制御部14に要求する。要求を受けた不正メール通知制御部14は、該当の不正メールに関する確認画面情報を端末に送信する。確認画面情報を受信した端末には、
図6に示したような確認画面が表示される。その後の制御内容は前述した制御と同様である。
【0044】
また、端末が不正メール確認要求を定期的に不正メール判定装置10に送信するようにして、不正メール通知制御部14が、端末から不正メール確認要求を受信したときに、不正メールの有無を確認し、不正メールがある場合に当該不正メールに関する確認画面情報を端末に送信することとしてもよい。
【0045】
また、不正メール通知制御部14は、不正メール判定処理部13がある宛先についての受信メールを不正メールと判定した時点で、当該宛先に対する受信メールを破棄する制御を行ってもよい。
【0046】
外部の端末aから社内の端末に送信されるメール1〜4のヘッダのアドレス情報の一例を
図7に示す。
図7に示す例を用いて、外部の端末aから社内の端末に送信されるメールについての不正メール判定処理の詳細を
図8のフローチャートを参照して説明する。
【0047】
不正メール判定装置10の不正メール判定処理部13は、外部から受信したメールメッセージのヘッダから送信元アドレス、宛先アドレスを抽出する(ステップ301)。例えば、
図7のメール1の場合、送信元アドレスとしてaが抽出され、宛先アドレスとしてA、B、C、a、b、cが抽出される。本例では、宛先アドレスとして抽出された社内のアドレス毎に比較判定を行うので、A、B、Cのそれぞれについて、以下の判定処理を行う。
【0048】
まず、宛先アドレスAについての処理を行う。不正メール判定処理部13は、
図4に示した外部向送信メール宛先履歴テーブルから、判定対象メールの宛先アドレスAを送信元とし、送信元アドレスaを宛先とする履歴を抽出する(ステップ302)。
図4の例では、パターン1、2、3が抽出される。なお、本例では、ステップ302において、履歴が抽出されない場合、不正であると判定される。
【0049】
そして、不正メール判定処理部13は、ステップ302で抽出された履歴の各パターンと、判定対象メールのアドレスとの比較を行い、不正かどうかを判定する(ステップ303)。例えば、判定対象メールにおける送信元アドレス(本例のa)と着目宛先アドレス(本例の現段階ではA)を除いた宛先アドレス群と完全に一致する宛先アドレス群を持つパターンがステップ302で抽出されたパターンの中にある場合に正常であり、完全に一致するパターンがない場合に不正であると判定することができる。例えば、判定対象メールがメール1の場合、送信元:a、宛先:A、B、C、a、b、cであり、送信元aと宛先Aを除いた宛先アドレス群B、C、a、b、cは、
図4のテーブルのパターン1の宛先アドレス群と完全に一致するので、正常であると判定される。また、例えば、メール3は、送信元:a、宛先:A、B、C、Eであり、宛先アドレス群B、C、Eと完全に一致する宛先アドレス群を持つパターンは存在しないからメール3は不正であると判定される。
【0050】
上記のように完全に一致するか否かでなく、各パターンとの間で類似度を計算し、最大となる類似度の大きさによって、不正メールかどうかを判定してもよい。類似度としては、例えば、集合要素の類似度の評価を行うためのTanimoto係数を利用することができる。Tanimoto係数Tは以下の式で表される。
【0051】
T=Nc/(Na+Nb−Nc)
上記の式において、Naは集合aの要素数であり、Nbは集合bの要素数であり、Ncは、集合aと集合bの共通集合c(積集合)の要素数である。Tanimoto係数は0.0〜1.0の間の数として表され、1.0は完全に一致する集合を表し、類似度が下がるにつれ値は小さくなり、0.0で全く一致のない集合を表す。
【0052】
本例では、テーブルのパターンにおけるアドレスの要素の集合を集合a、判定対象メールにおけるアドレス情報の要素の集合を集合bとする。この場合、パターン1の集合の要素はA、a、b、c、B、CでありNa=6である。メール1のアドレス情報の集合の要素は、aを1つと数え、a、A、B、C、b、cでありNb=6である。cは、A、a、b、c、B、Cであり、Nc=6である。よって、T=1となる。
【0053】
また、例えば、パターン3の集合の要素はA、a、EでありNa=3であり、メール3のアドレス情報の集合の要素は、a、A、B、C、EでありNb=5であり、cは、A、a、Eであり、Nc=3である。よって、パターン3とメール3との間では、T=3/5=0.6である。また、メール4のアドレス情報の集合の要素はa、Aであり、Nb=2であり、cは、a、Aであり、Nc=2である。よって、パターン3とメール4との間では、T=2/3≒0.66である。
【0054】
不正メール判定処理部13は、上記のTを、判定対象メールのアドレス情報と、ステップ302で抽出された各パターンとの間で計算し、最大となるTが所定の閾値以上であれば不正でないと判定し、最大のTが所定の閾値未満であれば不正であると判定する。なお、所定の閾値が1である場合、完全一致のときにのみ不正でないと判定される。
【0055】
上記の例では、アドレスの要素の全部を集合に入れているが、ステップ302でパターンを抽出した時点で一致が確認されているaとAを、パターンのアドレス群及び判定対象メールのアドレス群から除いたアドレス群で評価を行ってもよい。
【0056】
また、上記の例では、類似度としてTanimoto係数を用いているが、これは一例に過ぎず、類似度として他の値を用いてもよい。例えば、パターンと判定対象メールとで、一致するアドレスの個数の、判定対象メールにおけるアドレスの要素数に対する割合で類似度を表してもよい。
【0057】
図8のフローのステップ303において、不正であると判定された場合は
図5のステップ207〜210に示したような不正時の処理を行い(ステップ304)、不正でないと判定された場合は、
図5のステップ206で示すような正常時の処理を行う(ステップ305)。
【0058】
ステップ306において、不正メール判定処理部13は、社内の宛先アドレスの全てについて判定処理が終了したかどうかを確認し、終了していなければ、次の宛先アドレスについてステップ302からの処理を繰り返す。例えば、
図7に示したメール1の場合であれば、Aの次に、Bについて同様の処理を行う。終了していれば該当の受信メールについての判定処理を終了する。
【0059】
上記の例において、例えばユーザAは外部へのメール送信を頻繁に行うために、外部向送信メール宛先履歴テーブルにAを送信元とする宛先履歴が残る。
【0060】
一方、社員がある宛先にメールを送信する際に、Cc:に上司(アドレスDとする)を必ず加えるが、上司自身はその宛先へのメール送信を行うことはないという場合がある。このような場合、外部向送信メール宛先履歴テーブルには、送信元をDとする履歴は残らない。従って、例えば、上司のアドレスDをCcに含むメールを外部から受信し、
図8で説明した判定処理を行う場合、上記の処理のステップ302でパターンが抽出されないため、宛先Dについては当該メールは必ず不正と判定されることになる。このようなことを防ぐため、外部向送信メール宛先履歴テーブルにおける「送信元」を「宛先」と区別せずに評価を行うこととしてもよい。
【0061】
具体的には、
図8のフローのステップ302で、判定対象メールの送信元(From)のアドレスが、宛先として存在するパターンを外部向送信メール宛先履歴テーブルから抽出する。この場合、外部向送信メール宛先履歴テーブルにおける「送信元」のアドレスに関わらずに抽出が行われるため、上記の上司のように、該当宛先にメール送信を行わない場合でも、パターン抽出がされる。
【0062】
そして、抽出された各パターンにおける「送信元」を「宛先」と見なして、一致判定、もしくは類似度判定を行う。例えば、メール1は、送信元:a、宛先:A、B、C、a、b、cであるから、これは
図4のテーブルのパターン1と完全に一致するので、宛先A、B、Cのいずれにとっても正常であると判定される。
【0063】
(第2の方式:外部からの受信メールの履歴に基づく不正メール判定)
次に、第2の方式として、外部からの受信メールの履歴に基づく不正メール判定について説明する。以下では、主に第1の方式と異なる点について説明する。
【0064】
<アドレス情報格納処理>
図9を参照して、第2の方式におけるアドレス情報の格納処理について説明する。
図9は、外部の端末aからメールが送信される例を示している。前述したとおり、第2の方式では、外部の特定のユーザが社内に向けて送信するメールの宛先は、送信の度に異なることは少なく、例えば、いつでも同じ宛先か、もしくは、宛先となる部署毎に同じ複数の宛先の集合となる場合が多いという点に着目していることから、社内への宛先アドレス、及び送信元アドレスの情報を正確に取得して格納するために、送信元を示すエンベロップFrom(MAIL From)のアドレスと、宛先を示すエンベロップTo(RCPT To)のアドレスを取得し、格納することとしている。
【0065】
なお、社内メールサーバでもある不正メール判定装置10により取得されるRCPT Toのアドレスは、社内への宛先のアドレスのみを含む。
【0066】
図9のステップ401においてメールが端末aから送信される。ステップ402で、不正メール判定装置10におけるメール転送処理部11が、端末aから送信されたメールを受信する。アドレス情報格納処理部12は、メール転送処理部11の中のバッファから当該メールのエンベロップの送信元アドレス(MAIL Fromのアドレス)、及び宛先アドレス(RCPT Toのアドレス)を取得し、それらを宛先履歴DBサーバ20に送信する(ステップ403)。宛先履歴DBサーバ20は、アドレス情報をテーブルとして格納する(ステップ404)。メール転送処理部11は、メールの転送処理を行う(ステップ405)。
【0067】
図9には、一例として、不正メール判定装置10が受信するメールのエンベロップが、MAIL From:a、RCPT To:A,Bであり、これらの情報を宛先履歴DBサーバ20に格納することが示されている。
図9に示す処理が、メールが外部から社内の端末へ送信される度に行われる。
【0068】
図10に、第2の方式において宛先履歴DBサーバ20に格納される外部受信メール宛先履歴テーブルの例を示す。
図10の例では、送信元(MAIL Fromのアドレス)、宛先(RCPT Toのアドレス)が、パターン番号とともに格納されている。なお、外部から受信するメールのアドレス情報を格納する際に、既に同じアドレス情報が格納されている場合は、新たなレコードに記録することとしてもよいし、パターン毎に件数の欄を設けておき、件数をインクリメントする(1増加させる)こととしてもよい。また、第1の方式と同様に、パターン毎に格納時刻を格納してもよい。
【0069】
<不正メール判定処理>
第2の方式における不正メール判定処理の全体の流れ、端末に表示される確認画面、確認制御等は第1の方式と同じであり、
図5、
図6を参照して説明したとおりである。
【0070】
図10に示した外部受信メール宛先履歴テーブルとの比較の対象となる、外部の端末aから社内の端末に送信されるメール1〜4のアドレス情報の例を
図11に示す。
図11に示すとおり、第2の方式では、エンベロップのアドレス情報(MAIL From、RCPT To)を比較に用いる。
【0071】
第2の方式において、外部の端末aから社内の端末に送信されるメールについての不正メール判定処理を
図12のフローチャートを参照して説明する。
【0072】
不正メール判定装置10の不正メール判定処理部11は、外部から受信したメールのエンベロップから送信元アドレス、宛先アドレスを抽出する(ステップ501)。例えば、
図11のメール1の場合、送信元アドレスとしてaが抽出され、宛先アドレスとしてA、B、C、Dが抽出される。本例では、宛先アドレスとして抽出された社内のアドレス毎に比較判定を行うので、A、B、C、Dのそれぞれについて、以下の判定処理を行う。
【0073】
まず、宛先アドレスAについての処理を行う。不正メール判定処理部13は、
図10に示したテーブルから、判定対象メールの送信元アドレスaを送信元とし、宛先アドレスAを宛先として含むパターンを抽出する(ステップ502)。
図10の例では、パターン1、2が抽出される。本例では、ステップ502において、履歴が抽出されない場合、不正であると判定される。
【0074】
そして、不正メール判定処理部13は、ステップ502で抽出されたパターンと、判定対象メールのアドレスとの比較を行い、不正かどうかを判定する。判定の基準は第1の方式と同様である。すなわち、例えば、判定対象メールにおける送信元アドレス(本例のa)と着目宛先アドレス(本例の現段階ではA)を除いた宛先アドレス群と完全に一致する宛先アドレス群を持つパターンがステップ502で抽出されたパターンの中にある場合に正常であり、完全に一致するパターンがない場合に不正であると判定することができる。例えば、メール1は、送信元:a、宛先:A、B、C、Dであり、アドレス群B、C、Dは、
図10のテーブルのパターン1のアドレス群B、C、Dと完全に一致するので、正常であると判定される。また、例えば、メール3は、送信元:a、宛先:A、B、C、Eであり、アドレス群B、C、Eと完全に一致するアドレス群を持つパターンは存在しないからメール3は不正であると判定される。
【0075】
上記のように完全に一致するか否かでなく、各パターンとの間で類似度を計算し、最大となる類似度の大きさによって、不正メールかどうかを判定してもよい。類似度としては、第1の方式と同様に、例えば、Tanimoto係数を利用することができる。
【0076】
本例でも、パターンにおけるアドレスの要素の集合を集合a、判定対象メールにおけるアドレス情報の要素の集合を集合bとする。この場合、例えば、パターン1の集合の要素はa、A、B、C、DでありNa=5である。メール1のアドレス情報の集合の要素は、a、A、B、C、DでありNb=5である。cは、a、A、B、C、Dであり、Nc=5である。よって、T=1となる。
【0077】
また、例えば、パターン2の集合の要素はa、A、B、CでありNa=4であり、メール3のアドレス情報の集合の要素は、a、A、B、C、EでありNb=5であり、cは、a、A、B、Cであり、Nc=4である。よって、パターン2とメール3との間では、T=4/5=0.8である。
【0078】
不正メール判定処理部13は、上記のTを、判定対象メールのアドレス情報と、ステップ502で抽出された各パターンとの間で計算し、最大のTが所定の閾値以上であれば不正でないと判定し、最大のTが所定の閾値未満であれば不正であると判定する。
【0079】
なお、上記の例では、アドレスの要素の全部を集合に入れているが、ステップ502でパターンを抽出した時点で一致が確認されているa、Aを除いたアドレスで評価を行ってもよい。
【0080】
また、上記の例では、類似度としてTanimoto係数を用いているが、これは一例に過ぎず、類似度として他の値を用いてもよい。例えば、パターンと判定対象メールとで、一致するアドレスの個数の、判定対象メールにおけるアドレスの要素数に対する割合で類似度を表してもよい。
【0081】
図12のフローのステップ503において、不正であると判定された場合は
図5のステップ207〜210に示したような不正時の処理を行い(ステップ504)、不正でないと判定された場合は、
図5のステップ206で示すような正常時の処理を行う(ステップ505)。
【0082】
ステップ506において、不正メール判定処理部13は、宛先アドレスの全てについて判定処理が終了したかどうかを確認し(ステップ506)、終了していなければ、次の宛先アドレスについてステップ502からの処理を繰り返す。例えば、
図11に示したメール1の場合であれば、Aの次に、Bについて同様の処理を行う。終了していれば該当の受信メールについての判定処理を終了する。
【0083】
(閾値の設定方法について)
前述したように、第1の方式と第2の方式における1つの判定手法として、Tanimoto係数を算出し、それを「所定の閾値」と比較することで不正メールかどうかを判定している。この閾値は、例えば、学習期間を設けることで求める。学習期間では、不正メール判定処理部13は、メールを受信する度に、対応する各テーブルに宛先履歴を蓄積するとともに、前述した判定処理と同様にして、各パターンとの間でTanimoto係数を算出し、Tanimoto係数をメモリ等の記憶手段に蓄積する。そして、Tanimoto係数の分布を調べ、Tanimoto係数の例えば中間値を閾値とし、閾値を超える値のうちの最頻値を「所定の閾値」として採用する。所定の閾値は、第1の方式と第2の方式のそれぞれについて求める。
【0084】
また、実際の運用の段階では、受信メールにおいて最大のTanimoto係数が所定の閾値よりも小さければ不正メールとして隔離されるが、当該隔離したメールについてもユーザにより受信が選択されれば、受信メールのアドレス情報を宛先履歴に追加する。また、メールを外部から受信する度に、Tanimoto係数が計算されるので、計算されるTanimoto係数と、これまでに計算したTanimoto係数を用いて上記のようにして所定の閾値を求め、所定の閾値を更新していく。所定の閾値の更新は、メールを受信する度に行ってもよいし、所定数のメールを受信する度に行うこととしてもよい。
【0085】
(アドレス毎判定パターン設定について)
本実施の形態では、不正メール判定装置10には第1の方式と第2の方式の両方の判定を行う機能を備える。ただし、不正メール判定装置10が第1の方式と第2の方式のいずれか一方のみの機能を備えることとしてもよい。
【0086】
両方の機能を備える不正メール判定装置10は、外部からの受信メールの不正判定において、第1の方式の手法、第2の方式の手法のどちらか1つの判定のみを行うこととしてもよいし、両方の判定を行うこととしてもよい。両方の判定を行う場合、例えば、不正メール判定処理部13は、第1の方式での判定と、第2の方式での判定の両方で、判定対象メールが不正メールでないと判定した場合に判定対象メールが不正メールでないと判定し、いずれか一方で不正であると判定された場合に不正メールであると判定してもよいし、いずれか一方で不正でないと判定されれば、判定対象メールは不正でないと判定してもよい。
【0087】
また、不正メール判定処理部13は、宛先となるユーザのメール送受信の特性に応じて、判定対象メールに対し、第1の方式で判定を行うか、第2の方式で判定を行うかを選択することとしてもよい。
【0088】
例えば、受信が多いユーザ(多くの部下のCcに必ず含まれる上司等)、送信が多いユーザ(営業担当者等)、受信専用アドレス(問合せ窓口)等によってメール送受信の特性が異なる。
【0089】
本実施の形態では、特性に応じて「判定パターン」を設定しておき、効果的な判定(判定処理時間短縮等)を行うこととしている。
図13に、当該判定パターンを含む情報を記録したアドレス毎判定情報設定テーブルを示す。このテーブルは、不正メール判定装置10の記憶装置、もしくは外部のDBサーバ(例:宛先履歴DBサーバ20)に格納され、不正メール判定処理部13により、不正メール判定処理時に参照される。また、当該テーブルを用いる実施形態では、
図4、
図10に示した履歴テーブルの各々には、不正メール判定装置10(社内メールサーバ)により、外部との間の全ての送受信メールのアドレス情報と格納日時が記録される。
【0090】
図13の例では、例えば、アドレスAのユーザについては、当該アドレスA宛に外部からメールを受信したときに、第2の方式(外部からの受信履歴)を優先して使用する。「優先して使用」とは、例えば、第2の方式での判定が可能でない場合(パターン数が十分でない等)以外は第2の方式を用いることである。
【0091】
図13における「履歴一致期限判定」は、宛先履歴テーブルにおける所定の期日以内のパターンと一致した(又は類似度が閾値以上の)場合に正常と判定するものである。すなわち、判定対象メールと一致する最新のパターンが、古い時期(例:30日以前)に履歴テーブルに蓄積されたパターンである場合は不正メールと判定する。このような判定手法は、所定の期間だけ行われるプロジェクトについての判定を行う場合に有効である。
【0092】
「履歴一致件数判定」は、判定対象メールと一致した(又は類似度が閾値以上の)最新のパターンが、直近で送受信された所定件数以内のメールに基づくパターンでない場合は不正メールとして判定するものである。例えば、判定パターンが「受信履歴」(第2の方式)であり、「履歴一致件数判定」の件数が100件である場合、判定対象メールと一致した(又は類似度が閾値以上の)最新のパターンが、
図10に示す外部受信メール宛先履歴テーブルにおける最新のメールによるパターンから過去100件以内のパターンである場合に不正でないと判定する。
【0093】
「パターン一致件数判定」は、判定対象メールと一致した(又は閾値以上の)パターンの件数を判定で考慮するものである。例えば、「パターン一致件数」が5件の場合、一致パターン4件以下の場合は不正メールと判定し、5件以上であれば不正メールでないと判定する。
【0094】
以上、説明したように、本実施の形態では、メール送受信を行うユーザ(アドレス)のグループは、ある程度一致するという傾向があることに着目して、履歴として残っているグループ(パターン)と受信メールのアドレスのグループとの間の類似度を測り、受信メールの異質さを検知することとしている。このような手法を採用したことで、送信側や中継ネットワークにおいて、特別な仕組みを備えることなく、受信側でのチェックのみで受信メールが不正か否かの判定を的確に行うことが可能となる。
【0095】
なお、本実施の形態では、不正メール判定装置10の装置構成として
図2に例を示したが、装置構成は
図2に限られるわけではなく、本実施の形態で説明した不正メール判定処理を実施できる構成であればどのような構成でもよい。例えば、不正メール判定装置10を、外部から受信したメールが不正メールか否かを判定する不正メール判定装置であって、前記不正メール判定装置に接続される端末と外部との間で送受信された各メールの送信元アドレス及び宛先アドレスを履歴として格納する履歴データベースを参照し、外部から受信した受信メールの送信元アドレス及び宛先アドレスと、前記履歴データベースにおける各メールの送信元アドレス及び宛先アドレスとを比較することにより、前記受信メールが不正メールか否かを判定する不正メール判定手段と、前記不正メール判定手段により、前記受信メールが不正メールであると判定された場合に、当該受信メールの宛先の端末上に表示された確認画面への入力情報に応じて前記受信メールを前記端末に転送するか否かを決定する不正メール制御手段とを備える不正メール判定装置として構成してもよい。
【0096】
例えば前記不正メール制御手段は、前記受信メールの宛先の端末に不正メール通知を送信することにより、又は、当該端末から受信する確認要求に基づいて、当該端末に確認画面情報を送信する。また、前記不正メール制御手段は、前記不正メール判定手段により、前記受信メールが不正メールであると判定された場合に、当該受信メールを破棄するようにしてもよい。
【0097】
前記不正メール判定装置は、端末から外部に向けて送信された各メールの送信元アドレス及び宛先アドレス、又は、外部から受信した各メールの送信元アドレス及び宛先アドレスを前記履歴データベースに格納するアドレス情報格納処理手段を備える。
【0098】
前記不正メール判定手段は、前記履歴データベースにおける送信元アドレス及び宛先アドレスからなるパターンの中に、前記受信メールの送信元アドレス及び宛先アドレスと一致するパターンが存在するか否かを判定することにより、前記受信メールが不正メールか否かを判定することができる。また、前記不正メール判定手段は、前記履歴データベースにおける送信元アドレス及び宛先アドレスからなる各パターンと、前記受信メールの送信元アドレス及び宛先アドレスとの間の類似度を算出し、最大の類似度が所定の閾値以上となるか否かを判定することにより、前記受信メールが不正メールか否かを判定することができる。
【0099】
明細書には下記の事項が開示されている。
(第1項)
外部から受信したメールが不正メールか否かを判定する不正メール判定装置であって、
前記不正メール判定装置に接続される端末と外部との間で送受信された各メールの送信元アドレス及び宛先アドレスを履歴として格納する履歴データベースを参照し、外部から受信した受信メールの送信元アドレス及び宛先アドレスと、前記履歴データベースにおける各メールの送信元アドレス及び宛先アドレスとを比較することにより、前記受信メールが不正メールか否かを判定する不正メール判定手段と、
前記不正メール判定手段により、前記受信メールが不正メールであると判定された場合に、当該受信メールの宛先の端末上に表示された確認画面への入力情報に応じて前記受信メールを前記端末に転送するか否かを決定する不正メール制御手段と
を備えることを特徴とする不正メール判定装置。
(第2項)
外部から受信したメールが不正メールか否かを判定する不正メール判定装置であって、
前記不正メール判定装置に接続される端末と外部との間で送受信された各メールの送信元アドレス及び宛先アドレスを履歴として格納する履歴データベースを参照し、外部から受信した受信メールの送信元アドレス及び宛先アドレスと、前記履歴データベースにおける各メールの送信元アドレス及び宛先アドレスとを比較することにより、前記受信メールが不正メールか否かを判定する不正メール判定手段と、
前記不正メール判定手段により、前記受信メールが不正メールであると判定された場合に、当該受信メールを破棄する不正メール制御手段と
を備えることを特徴とする不正メール判定装置。
(第3項)
前記不正メール判定装置に接続される端末から外部に向けて送信された各メールの送信元アドレス及び宛先アドレス、又は、外部から受信した各メールの送信元アドレス及び宛先アドレスを前記履歴データベースに格納するアドレス情報格納処理手段
を更に備えることを特徴とする第1項又は第2項に記載の不正メール判定装置。
(第4項)
コンピュータを、第1項ないし第3項のうちいずれか1項に記載の不正メール判定装置における各手段として機能させるためのプログラム。
【0100】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。