以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るシステムの構成例を示す図である。メール処理サーバ10は、ネットワーク1から送られた電子メールを、メールセンサ2を介して受信し、管理する。受信した電子メールは、送信先のユーザごとに設けられたメールボックス13−1〜13−3に格納される。ユーザは、端末装置3a〜3cを用いて、メールボックス13−1〜13−3内の電子メールをダウンロードし、開封することができる。
メールセンサ2は、所定の対処の実施対象である対象電子メール13b−1〜13b−3を検知する。例えばメールセンサ2は、不正処理の原因となる不正メールを、対象電子メール13b−1〜13b−3として検知する。対象電子メール13b−1〜13b−3を検知したメールセンサ2は、演算部12に対して、対象電子メール検知通知4を送信する。
第1の実施の形態に係る端末装置3a〜3cは、受信した電子メールに対するユーザの処理の行動を記録することができる。所定の行動とは、例えば電子メールの添付ファイルを開くことを指示する操作である。端末装置3a〜3cは、ユーザによる所定の行動を検出すると、行動情報を記録する。行動情報には、例えば行動対象の電子メールのID、受信日時、所定の行動を実行した日時、実行したユーザ名などが含まれる。
メール処理サーバ10は、メールボックス13−1〜13−3に格納された不正メール13b−1〜13b−3について、不正メールを削除するなどの対処を施す。その際、メール処理サーバ10は、例えば不正メール13b−1〜13b−3に対して所定の行動をすぐに実行する傾向にあるユーザのメールボックスから順に、対処を施すことができる。不正メール13b−1〜13b−3に対する対処を適切な順番で実行するために、メール処理サーバ10は、以下のような記憶部11、演算部12、および対処実行部14を有する。
記憶部11は、複数のユーザそれぞれが受信した電子メールに対応した操作履歴に関する対応操作情報11aを記憶する。また記憶部11は、対応操作情報に基づいて解析された各ユーザの行動パターンを示す行動パターン情報11bを記憶する。
演算部12は、端末装置3a〜3cが記録した対応操作情報に基づいて、不正メール13b−1〜13b−3に対して、適切な順番で対処を行う。例えば演算部12は、端末装置3a〜3cから、対応操作情報を取得し、記憶部11に格納する(ステップS1)。
また演算部12は、記憶部11に格納した対応操作情報11aに基づいて、ユーザごとの行動パターンを解析する(ステップS2)。例えば演算部12は、1日を複数の時間帯に分け、時間帯ごとに、該当時間帯内で各ユーザが、電子メールの受信から所定時間(例えば5分)以内に、その電子メールに対して所定の行動を実行した割合を計算する。演算部12は、解析の結果得られた行動パターンを示す行動パターン情報11bを、記憶部11に格納する。
また演算部12は、対象電子メール13b−1〜13b−3が検知されると、対応操作情報11aに基づいて、対象電子メール13b−1〜13b−3の送信先である複数の送信先ユーザそれぞれに対処の優先度を設定した、優先度情報12aを生成する(ステップS3)。なお図1の例では、予め対応操作情報11aに基づいて行動パターンが解析されているため、対象電子メール13b−1〜13b−3が検知された際には、行動パターン情報11bに基づいて、優先度を決定することができる。例えば演算部12は、電子メール13a−1〜13a−3の受信から所定の行動の実行までの時間が短い送信先ユーザほど、対処の優先度を高くする。
対処実行部14は、優先度情報12aが生成されると、対処の優先度が高い送信先ユーザから順に、送信先ユーザ宛ての対象電子メール13b−1〜13b−3に関する対処を実行する(ステップS4)。例えば、対処実行部14は、対象電子メール13b−1〜13b−3を、メールボックス13−1〜13−3から順番に削除する。なお、対処実行部14は、対処として、対象電子メール13b−1〜13b−3の検出を示すメッセージを、各ユーザが使用する端末装置3a〜3cに送信することもできる。
また対処実行部14は、送信先ユーザ宛ての対象電子メール13b−1〜13b−3が、送信先ユーザが使用する端末装置3a〜3cにダウンロードされているか否かを調査することもできる。そして対処実行部14は、すでにダウンロードされている場合、対処として、端末装置3a〜3cに対して、ダウンロードした対象電子メールの削除を指示してもよい。
このようなシステムによれば、各ユーザが電子メール13a−1〜13a−3に対して行う行動が、端末装置3a〜3cで、対応操作情報として蓄積される。その対応操作情報は、メール処理サーバ10で収集され、記憶部11に格納される。そして演算部12により、記憶部11に格納された対応操作情報11aに基づいて、各ユーザの、電子メールに対する行動パターンが解析される。例えば時間帯ごとに、各ユーザが、受信した電子メールのうちに、5分以内に所定の行動を実行する割合が計算される。そして解析結果が、行動パターン情報11bとして、記憶部11に格納される。
その後、複数のユーザ宛てに、不正メール13b−1〜13b−3が送られると、その不正メール13b−1〜13b−3がメールボックス13−1〜13−3に格納される。またメールセンサ2において、送られた電子メールが不正メール13b−1〜13b−3であることが検知される。すると、不正メール13b−1〜13b−3を検知したメールセンサ2からメール処理サーバ10へ、対象電子メール検知通知4が送られる。
対象電子メール検知通知4を受信したメール処理サーバ10では、行動パターン情報11bに基づいて、不正メール13b−1〜13b−3に対する対処の優先度が決定される。不正メール13b−1〜13b−3の受信時刻が9時43分の場合、演算部12は、行動パターン情報11bから、該当時刻を含む時間帯「9:00〜10:00」における各ユーザの行動パターンを取得する。図1の例では、ユーザ「A」は、該当時間帯内に、電子メールの受信から5分以内に所定の行動を実行する割合は5割である。ユーザ「B」は、該当時間帯内に、電子メールの受信から5分以内に所定の行動を実行する割合は2割である。ユーザ「C」は、該当時間帯内に、電子メールの受信から5分以内に所定の行動を実行する割合は1割である。
そうすると、ユーザ「A」に対して送られた不正メール13b−1は、対処を実施する緊急性が極めて高い。その次に、ユーザ「B」に対して送られた不正メール13b−2に対して対処を実施する緊急性が高い。ユーザ「C」に対して送られた不正メール13b−3に対しては、対処を実施する緊急性は低い。その結果、対処の実行順が、「A」、「B」、「C」の順に決定される。
そして、まずユーザ「A」のメールボックス13−1から、不正メール13b−1が削除される。次に、ユーザ「B」のメールボックス13−2から、不正メール13b−2が削除される。最後に、ユーザ「C」のメールボックス13−3から、不正メール13b−3が削除される。
このようにして、受信した電子メールに対して短時間のうちに添付ファイルを開くような危険行動を実行する傾向にあるユーザから順に、不正メールに対する対処が実行される。その結果、適切な順番で不正メールが削除され、ユーザが不正メールの添付ファイルを実行することなどが原因で、不正処理が実行される可能性を低減することができる。
なお、対応操作情報11aには、電子メール13a−1〜13a−3の特徴を含めることもできる。特徴は、例えば、電子メールの受信時刻、添付ファイルの種別、送信元が社外なのか社内なのかなどである。対応操作情報11aに電子メールの特徴が含まれる場合、演算部12は、対象電子メール(例えば不正メール13b−1〜13b−3)と共通する特徴を有する電子メールに対する、各ユーザの対応操作情報に基づいて、各ユーザの優先度を決定してもよい。例えば、演算部12は、不正メール13b−1〜13b−3に同じ特徴を有する電子メールに対して、所定の行動を実行するまでの時間が短い傾向にある送信先ユーザほど、対処の優先度を高くする。これにより、緊急性をより正確に判断することができ、不正処理が実行される可能性をさらに低減することができる。
なお、対象電子メールから複数の特徴を抽出できる場合もある。この場合、演算部12は、例えば対応操作情報11aに基づいて、複数の送信先ユーザそれぞれについて、電子メールの複数の特徴ごとに、その電子メールを受信してから所定時間以内に所定の行動を実行する割合を示す実行割合を算出する。そして演算部12は、複数の特徴それぞれについて算出した実行割合に基づいて、該ユーザの優先度を決定する。例えば演算部12は、特徴ごとに求めたユーザの複数の実行割合をすべて掛け合わせた結果を、そのユーザの優先度とする。これにより、電子メールの特徴を用いて、対処の緊急性をより正確に判断することができ、不正処理が実行される可能性をさらに低減することができる。
なお、演算部12および対処実行部14は、例えばメール処理サーバ10が有するプロセッサにより実現することができる。また、記憶部11は、例えばメール処理サーバ10が有するメモリにより実現することができる。また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、不正メールを検知した場合、その不正メールに応じて、不正メールの削除処理を行う利用者の優先度を決定し、優先度の高い利用者のメールボックスから順に、不正メールの削除処理を実施するものである。なお、以下の説明では、電子メールを単に「メール」と呼ぶこととする。
図2は、第2の実施の形態のシステム構成例を示す図である。内部ネットワーク20と外部ネットワーク31とは、ファイアウォール32を介して接続されている。外部ネットワーク31は、例えばインターネットである。内部ネットワーク20は、例えば社内のLAN(Local Area Network)である。ファイアウォール32には、メールセンサ33を介してDMZ(DeMilitarized Zone)メールサーバ34が接続されている。メールセンサ33は、不正メールを検知する機器である。
内部ネットワーク20には、ファイアウォール32に加え、複数の端末装置50,50a,・・・やメール処理サーバ100が接続されている。端末装置50,50a,・・・は、ユーザが使用するコンピュータである。メール処理サーバ100は、複数の端末装置50,50a,・・・を使用するユーザ宛のメールを管理するコンピュータである。メール処理サーバ100は、不正メールが検知された場合には、例えば不正メールの削除を行うことができる。
外部ネットワーク31を介して送られたメールは、ファイアウォール32を経由して、DMZメールサーバ34に送られている。メールは、DMZメールサーバ34から、メール処理サーバ100に転送される。メール処理サーバ100は、受信したメールを、ユーザごとのメールボックスに格納する。ユーザは、例えば端末装置50を用いて、メール処理サーバ100にアクセスし、自身宛てのメールを、使用している端末装置50にダウンロードする。端末装置50には、メールの本文が表示される。
メールの本文にURL(Uniform Resource Locator)へのリンクが含まれている場合、ユーザは、そのリンクを選択することができる。URLが選択されると、端末装置50は、URLのリンク先のウェブサイトにアクセスし、URLに該当するウェブページのデータを取得する。そして端末装置50の画面に、ウェブページが表示される。表示されたウェブページに、プログラムが埋め込まれている場合、ウェブページを表示した際に、端末装置50において、埋め込まれていたプログラムが実行される。
メールに添付ファイルがある場合、端末装置50の画面に、添付ファイルを示すアイコンが表示される。ユーザがそのアイコンを選択すると、添付ファイルが開かれ、端末装置50の画面に、添付ファイルの内容が表示される。添付ファイルにマクロプログラムなどのプログラムが埋め込まれている場合、添付ファイルの内容が表示される際に、端末装置50において、埋め込まれていたプログラムが実行される。
図3は、メール処理サーバのハードウェアの一構成例を示す図である。メール処理サーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、メール処理サーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、メール処理サーバ100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置(SSD:Solid State Drive)を使用することもできる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、メール処理サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、内部ネットワーク20に接続されている。ネットワークインタフェース108は、内部ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、メール処理サーバ100を実現することができる。また図2に示す他の装置も、図3に示したメール処理サーバ100と同様のハードウェアにより実現できる。第1の実施の形態に示したメール処理サーバ10も、図3に示したメール処理サーバ100と同様のハードウェアにより実現できる。
メール処理サーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。メール処理サーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、メール処理サーバ100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またメール処理サーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
次に、不正メールの削除処理について説明する。本システムのユーザ宛に、悪意の第三者が不正メールを送信する場合がある。例えば不正メールには、不正行為を行うためのウェブサイトへのリンクを示すURLが含まれていることがある。また不正メールの添付ファイルに、不正行為を実行するプログラムが組み込まれている場合がある。
外部ネットワーク31から送られた不正メールは、メールセンサ33で検知される。例えばメールセンサ33は、添付ファイルの振る舞いを分析し、内部データを送信する処理のような、情報漏洩の疑いがある処理が実行されるか否かを判断する。そしてメールセンサ33は、予め設定された不正メール判定条件に適合する処理が実行された場合、該当するメールを不正メールと判断する。
ただし、メールセンサ33において、受信したメールが不正であると確定するまでには時間がかかる。そのため、メールセンサ33が受信メールの不正の有無を判断している間に、そのメールは、メール処理サーバ100の宛先となる各ユーザのメールボックスに格納される。ユーザが、例えば端末装置50を用いてそのメールのダウンロードを行えば、メールは、ユーザが使用する端末装置50に格納される。そのため、メールセンサ33において、受信したメールが不正メールであると判断したときは、その不正メールはメール処理サーバ100に格納されているとともに、端末装置50,50a,・・・に格納されている可能性もある。
そこで、メールセンサ33で不正メールを検知すると、不正メールの削除処理が実行される。
図4は、不正メールの削除処理の概略を示す図である。メール処理サーバ100は、メールを処理するために、行動記録部110,メール実行記録データベース(DB)120、行動パターン管理部130、行動パターンDB140、メール削除部150、および内部メールサーバ160を有する。
行動記録部110は、受信したメールに対してユーザが取った危険行動の履歴を、メール実行記録DB120に記録する。危険行動は、例えばユーザによる添付ファイルを開く操作や、メール本文に示されるURLを選択し、他のウェブページを開く操作である。なお、受信したメールをユーザが開き、内容を表示させる操作を、危険行為に含めてもよい。メール実行記録DB120には、各ユーザがメールに対して行った行動の履歴が蓄積される。例えば行動記録部110は、複数の端末装置50,50a,・・・から行動情報が送られるごとに、受信した行動情報を、行動の履歴として行動をメール実行記録DB120に格納する。
行動パターン管理部130は、受信したメールに対するユーザの行動パターンを、行動パターンDB140を用いて管理する。行動パターンDB140には、各ユーザの行動パターンが記録される。例えば行動パターン管理部130は、行動記録部110から取得した行動情報に基づいて、各ユーザの行動パターンを解析する。例えば行動パターン管理部130は、各ユーザが、どのようなメールをどのような時期に受信すると、メールに添付されたファイルを開きやすいかを数値化して記録する。
メール削除部150は、不正メール検知データ72に基づいて、内部メールサーバ160からの不正メールの削除処理を行う。例えば、メール削除部150は、行動パターンDB140を参照し、各ユーザの行動パターンに応じ、緊急性の高いユーザのメールボックスから順に、不正メールを削除する。
内部メールサーバ160は、ユーザのメールを保持・管理する。内部メールサーバ160は、ユーザごとのメールボックス161,162,・・・を有している。各メールボックス161,162,・・・には、対応するユーザ宛のメールが格納される。
端末装置50は、メールボックス51とメーラ52を有している。メールボックス51には、端末装置50を使用するユーザ宛のメールが格納される。メーラ52は、内部メールサーバ160からメールをダウンロードし、そのメールをメールボックス51に格納する。またメーラ52は、メールボックス51内のメールを表示する。さらにメーラ52は、ユーザの操作により添付ファイルが開かれた場合、添付ファイルの開封行動が行われたことを示す行動情報を、行動記録部110に通知する。またメーラ52は、ユーザの操作により、メール本文に示されるリンクのURLが選択された場合、URLの選択行動が行われたことを示す行動情報を、行動記録部110に通知する。
このようなシステムにおいて、外部ネットワーク31を介してDMZメールサーバ34に不正メール71が送られると、メールセンサ33が不正メールを検知する。すると、メールセンサ33からメール削除部150へ、不正メールを検知したことを示す不正メール検知データ72が送信される。不正メール検知データ72を受信したメール削除部150は、行動パターン管理部130から、不正メールの宛先である各ユーザの行動パターン情報を取得する。そして、メール削除部150は、取得した行動パターン情報に基づいて、不正メールの宛先のユーザに対して、不正メールの削除処理の実施順に関する優先度を決定する。例えばメール削除部150は、現在の時刻や不正メールの種別などの特徴に鑑み、不正メールに対して危険行動を早く行う傾向にあるユーザほど、優先度を高くする。そしてメール削除部150は、優先度に従ってユーザを順番に選択し、選択したユーザの内部メールサーバ160内のメールボックスから不正メールを削除する。なお、不正メールが端末装置50,50a,・・・に既にダウンロードされている場合、メール削除部150は、選択したユーザの使用する端末装置に不正メールの検出を通知し、端末装置に対して不正メールを削除させることもできる。
なお、図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、メール処理サーバ100内の各要素は、別々のコンピュータに分散して設けることもできる。さらに、図4に示した各装置の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
次に、図3、図4に示すシステムで用いられる情報について、具体的に説明する。
図5は、メール実行記録DBの一例を示す図である。メール実行記録DB120には、例えば行動管理テーブル121が格納されている。行動管理テーブル121には、端末装置50,50a,・・・から収集した行動情報がエントリとして登録されたデータテーブルである。行動管理テーブル121には、ID、行動者、メール受信日時、メール実行日時、特定キーワード、送信元、送信先、実行タイプ、および行動パターンDBへの反映の欄が設けられている。
IDの欄には、取得した行動情報の識別番号が設定される。行動者の欄には、行動情報を採取したメーラの使用者の名称が設定される。メール受信日時の欄には、行動対象となったメールの、内部メールサーバ160における受信日時が設定される。メール実行日時の欄には、メールに対する危険行動の実行日時が設定される。特定キーワードの欄には、メールのタイトルなどに含まれるキーワードが設定される。特定キーワードとしては、「重大」、「至急」などがある。送信元の欄には、行動対象となったメールの送信元のメールアドレスが設定される。送信先の欄には、行動対象となったメールの送信先のメールアドレスが設定される。実行タイプの欄には、危険行動の種別が設定される。例えばPDF(Portable Document Format)ファイルが開かれた場合、実行タイプの欄に「pdf」と設定される。拡張子が「doc」のファイルが開かれた場合、実行タイプの欄に「doc」と設定される。拡張子が「exe」のファイルが実行された場合、実行タイプの欄に「exe」と設定される。ウェブサイトへのリンクを示すURLが選択された場合、実行タイプの欄に「URL」と設定される。行動パターンDBへの反映の欄には、行動情報の内容を、行動パターンDB140に反映したかどうかを示すフラグが設定される。反映済みであれば、行動パターンDBへの反映の欄に「済」と設定され、未反映であれば、行動パターンDBへの反映の欄に「未」と設定される。
図6は、行動パターンDBの一例を示す図である。行動パターンDB140には、ユーザごとの行動パターン管理情報141,142,・・・が格納されている。行動パターン管理情報141,142,・・・には、例えば対応するユーザのメールアドレスが設定されている。
行動パターン管理情報141,142,・・・は、対応するユーザが、どのようなときに危険行動を実行するのかを示す情報である。例えば行動パターン管理情報141には、時間視点集計情報141−1と時刻視点集計情報141−2とが含まれる。時間視点集計情報141−1は、メールの受信時から危険行動までの経過時間に基づく、行動パターンの集計情報である。時刻視点集計情報141−2は、危険行動が実行された時刻に基づく、行動パターンの集計情報である。
図7は、時間視点集計情報の一例を示す図である。時間視点集計情報141−1には、全体管理テーブル141a、件名キーワード別管理テーブル141b、実行タイプ別管理テーブル141c、送信元アドレス別管理テーブル141d、および送信先アドレス別管理テーブル141eが含まれる。
全体管理テーブル141aは、すべての行動情報を、メール受信から危険行動の実行までの時間で集計した結果が登録されたデータテーブルである。全体管理テーブル141aには、「〜5分」、「5分〜60分」、「60分〜」、および「5分以内の実行割合」の欄が設けられている。「〜5分」の欄には、メール受信から危険行動までの時間が5分以内である行動情報の件数が設定される。「5分〜60分」の欄には、メール受信から危険行動までの時間が5分より長く、60分以内である行動情報の件数が設定される。「60分〜」の欄には、メール受信から危険行動までの時間が60分より長い行動情報の件数が設定される。「5分以内の実行割合」の欄には、ユーザが行った行動情報の全体の件数に対する、メール受信から危険行動までの時間が5分以内である行動情報の件数の割合が設定される。
件名キーワード別管理テーブル141bは、行動情報をキーワードで分類し、メール受信から危険行動の実行までの時間で集計した結果が登録されたデータテーブルである。件名キーワード別管理テーブル141bには、「キーワード」、「〜5分」、「5分〜60分」、「60分〜」、および「5分以内の実行割合」の欄が設けられている。キーワードの欄には、危険行動の対象となったメールの件名に含まれるキーワードが設定される。「〜5分」の欄には、対応するキーワードを件名に有するメールに対する危険行動を示す行動情報のうち、メール受信から危険行動までの時間が5分以内である行動情報の件数が設定される。「5分〜60分」の欄には、対応するキーワードを件名に有するメールに対する危険行動を示す行動情報のうち、メール受信から危険行動までの時間が5分より長く、60分以内である行動情報の件数が設定される。「60分〜」の欄には、対応するキーワードを件名に有するメールに対する危険行動を示す行動情報のうち、メール受信から危険行動までの時間が60分より長い行動情報の件数が設定される。「5分以内の実行割合」の欄には、対応するキーワードを件名に有するメールに対する危険行動を示す行動情報の件数に対する、メール受信から危険行動までの時間が5分以内である行動情報の件数の割合が設定される。
実行タイプ別管理テーブル141cは、行動情報を実行タイプで分類し、メール受信から危険行動の実行までの時間で集計した結果が登録されたデータテーブルである。実行タイプ別管理テーブル141cには、「実行タイプ」、「〜5分」、「5分〜60分」、「60分〜」、および「5分以内の実行割合」の欄が設けられている。実行タイプの欄には、危険行動の対象となったメールの実行タイプが設定される。「〜5分」の欄には、対応する実行タイプの危険行動を示す行動情報のうち、メール受信から危険行動までの時間が5分以内である行動情報の件数が設定される。「5分〜60分」の欄には、対応する実行タイプの危険行動を示す行動情報のうち、メール受信から危険行動までの時間が5分より長く、60分以内である行動情報の件数が設定される。「60分〜」の欄には、対応する実行タイプの危険行動を示す行動情報のうち、メール受信から危険行動までの時間が60分より長い行動情報の件数が設定される。「5分以内の実行割合」の欄には、対応する実行タイプの危険行動を示す行動情報の件数に対する、メール受信から危険行動までの時間が5分以内である行動情報の件数の割合が設定される。
送信元アドレス別管理テーブル141dは、行動情報を送信元アドレスの種別で分類し、メール受信から危険行動の実行までの時間で集計した結果が登録されたデータテーブルである。送信元アドレス別管理テーブル141dには、「送信元アドレス」、「〜5分」、「5分〜60分」、「60分〜」、および「5分以内の実行割合」の欄が設けられている。送信元アドレスの欄には、危険行動の対象となったメールの送信元アドレスの種別が設定される。メールの送信元のアドレスが社内のアドレスであれば、送信元アドレスの欄に「社内」と設定される。メールの送信元のアドレスが社外のアドレスであれば、送信元アドレスの欄に「社外」と設定される。「〜5分」の欄には、対応する送信元アドレスを有するメールに対する危険行動を示す行動情報のうち、メール受信から危険行動までの時間が5分以内である行動情報の件数が設定される。「5分〜60分」の欄には、対応する送信元アドレスを有するメールに対する危険行動を示す行動情報のうち、メール受信から危険行動までの時間が5分より長く、60分以内である行動情報の件数が設定される。「60分〜」の欄には、対応する送信元アドレスを有するメールに対する危険行動を示す行動情報のうち、メール受信から危険行動までの時間が60分より長い行動情報の件数が設定される。「5分以内の実行割合」の欄には、対応する送信元アドレスの危険行動を示す行動情報の件数に対する、メール受信から危険行動までの時間が5分以内である行動情報の件数の割合が設定される。
送信先アドレス別管理テーブル141eは、行動情報を送信先アドレスの種別で分類し、メール受信から危険行動の実行までの時間で集計した結果が登録されたデータテーブルである。送信先アドレス別管理テーブル141eには、「送信先アドレス」、「〜5分」、「5分〜60分」、「60分〜」、および「5分以内の実行割合」の欄が設けられている。送信先アドレスの欄には、危険行動の対象となったメールの送信先アドレスの種別が設定される。メールの送信先のアドレスが個人向けのアドレスであれば、送信先アドレスの欄に「個人」と設定される。メールの送信先のアドレスが、複数のユーザを含むグループ向けのアドレスであれば、送信先アドレスの欄に「リスト」と設定される。「〜5分」の欄には、対応する送信先アドレスを有するメールに対する危険行動を示す行動情報のうち、メール受信から危険行動までの時間が5分以内である行動情報の件数が設定される。「5分〜60分」の欄には、対応する送信先アドレスを有するメールに対する危険行動を示す行動情報のうち、メール受信から危険行動までの時間が5分より長く、60分以内である行動情報の件数が設定される。「60分〜」の欄には、対応する送信先アドレスを有するメールに対する危険行動を示す行動情報のうち、メール受信から危険行動までの時間が60分より長い行動情報の件数が設定される。「5分以内の実行割合」の欄には、対応する送信先アドレスの危険行動を示す行動情報の件数に対する、メール受信から危険行動までの時間が5分以内である行動情報の件数の割合が設定される。
図8は、時刻視点集計情報の一例を示す図である。時刻視点集計情報141−2には、1日視点の実行割合管理テーブル141f、1週間視点の実行割合管理テーブル141g、および1ヶ月視点の実行割合管理テーブル141hが含まれる。
1日視点の実行割合管理テーブル141fは、危険行動の実行時刻に基づいて、危険行動の実行件数を、1日の時間帯ごとに集計した結果が登録されたデータテーブルである。1日視点の実行割合管理テーブル141fには、「実行時間」、「実行件数」、および「実行割合」の欄が設けられている。「実行時間」の欄には、1日を複数の時間帯に分割したときの各時間帯が設定される。「実行件数」の欄には、対応する時間帯内に実行された危険行動が実行された件数が設定される。「実行割合」の欄には、すべての危険行動の実行件数に対する、対応する時間帯内に行われた危険行動の実行件数の割合が設定される。
1週間視点の実行割合管理テーブル141gは、危険行動の実行時刻に基づいて、危険行動の実行件数を、1週間の曜日ごとに集計した結果が登録されたデータテーブルである。1週間視点の実行割合管理テーブル141gには、「実行曜日」、「実行件数」、および「実行割合」の欄が設けられている。「実行曜日」の欄には、曜日が設定される。「実行件数」の欄には、対応する曜日に実行された危険行動が実行された件数が設定される。「実行割合」の欄には、すべての危険行動の実行件数に対する、対応する曜日に行われた危険行動の実行件数の割合が設定される。
1ヶ月視点の実行割合管理テーブル141hは、危険行動の実行時刻に基づいて、危険行動の実行件数を、1ヶ月の日付ごとに集計した結果が登録されたデータテーブルである。1ヶ月視点の実行割合管理テーブル141hには、「実行日」、「実行件数」、および「実行割合」の欄が設けられている。「実行日」の欄には、日付が設定される。「実行件数」の欄には、対応する日に実行された危険行動が実行された件数が設定される。「実行割合」の欄には、すべての危険行動の実行件数に対する、対応する日に行われた危険行動の実行件数の割合が設定される。
図9は、不正メール検知データの一例を示す図である。不正メール検知データ72は、「メッセージID」、「メール受信日」、「メール受信時刻」、「特定キーワード」、「送信元」、「送信先」、および「実行タイプ」のフィールドを有している。「メッセージID」のフィールドには、不正メール検知データ72を通知するメッセージの識別子(メッセージID)が設定される。なお同報送信されたメールには、同じメッセージIDが付与されている。「メール受信日」のフィールドには、不正メールの受信日が設定される。「メール受信時刻」のフィールドには、不正メールの受信時刻が設定される。「特定キーワード」のフィールドには、予め指定された特定のキーワードのうち、不正メールの件名に含まれるキーワードが設定される。「送信元」のフィールドには、不正メールの送信元のメールアドレスが設定される。「送信先」のフィールドには、不正メールの送信先のメールアドレスが設定される。「実行タイプ」のフィールドには、不正メールを用いて実行される不正処理の種別が設定される。
以上のような各種情報を用いて、不正メールの削除を、適切な順番で行うことができる。不正メールの削除順を適切に判断するために、予め各ユーザの行動パターンが解析される。行動パターンの解析のために、まず、受信したメールに対してユーザが実行した危険行動の行動情報が収集される。
図10は、行動情報収集処理の手順を示すシーケンス図である。内部メールサーバ160は、DMZメールサーバ34からメールを受信する(ステップS101)。内部メールサーバ160は、受信したメールを、送信先のメールアドレスに対応するメールボックスに格納する。
その後、端末装置50が、内部メールサーバ160に受信メール取得要求を送信する(ステップS102)。例えば、端末装置50は、メーラ52に予め設定されている時間間隔で、受信メール取得要求を送信する。また端末装置50は、ユーザからの受信メール取得を示す入力に応じて、受信メール取得要求を送信することもできる。
受信メール取得要求を受信した内部メールサーバ160は、端末装置50を使用しているユーザ用のメールボックス内に格納されているメールを、端末装置50に送信する(ステップS103)。この際、内部メールサーバ160は、送信したメールを、メールボックスから削除することもできる。内部メールサーバ160からメールを受信した端末装置50は、そのメールを、メールボックス51内の受信メールのフォルダに格納する(ステップS104)。ステップS102〜S104の処理により、端末装置50にメールがダウンロードされる。
ユーザが端末装置50に対して受信したメールを表示させる入力を行うと、端末装置50は、メールを画面に表示する。メールに添付ファイルがある場合、例えば添付ファイルがあることを示すアイコンも表示される。添付ファイルの存在を示すアイコンがユーザによって選択されると、端末装置50は、添付ファイルを開き、内容を画面に表示する(ステップS105)。
ユーザによる添付ファイルを表示させる操作は、危険行動として、メーラ52によって行動情報が取得される(ステップS106)。取得する行動情報の内容は、図5に示した行動管理テーブル121の各欄に示す情報のうち、「行動パターンDBへの反映」の欄以外の情報である。行動者は、メーラ52を使用しているユーザ名である。メール受信日時、送信元、および送信先は、行動対象のメールのヘッダから取得できる。メール実行日時は、添付ファイルが開かれたときの、端末装置50の内部時計の時刻である。特定キーワードは、行動対象のメールの件名から取得できる。実行タイプは、添付ファイルの拡張子に基づいて判断される。
端末装置50は、取得した行動情報を、行動記録部110に送信する(ステップS107)。行動情報を受信した行動記録部110は、メール実行記録DB120に、その行動情報を追加の行動として記録する(ステップS108)。例えば、行動記録部110は、受信した行動情報を1つのエントリとして、行動管理テーブル121に追加する。その際、行動記録部110は、行動パターンDBへの反映の欄を、未反映を示す値「未」とする。
このようにして、ユーザによるメールの添付ファイルを開く行動に関する情報が、メール実行記録DB120に蓄積される。なお図10の例では、添付ファイルを開く危険行動の例を示しているが、ユーザが外部リンクへのURLを選択し、リンク先のページを表示させた場合にも、同様に行動情報が記録される。
その後、メール実行記録DB120に記録された行動情報を用いて、行動パターン管理部130によってユーザの行動パターンが解析される。
図11は、行動パターン解析処理の概略手順の一例を示すフローチャートである。
[ステップS111]行動パターン管理部130は、定期的に、行動情報を取得する。例えば行動パターン管理部130は、1時間ごとに行動情報を取得する。行動情報の取得では、例えば、行動管理テーブル121から、行動パターンDBへの反映の欄が「未」となっている行動情報が取得される。
[ステップS112]行動パターン管理部130は、取得した行動情報に基づいて統計分析処理を実行する。統計分析処理の詳細は後述する。
[ステップS113]行動パターン管理部130は、統計分析処理の結果に応じて行動パターンDB140内の情報を更新する。
このような手順で行動パターンが解析される。より詳細には、行動パターンDBに反映していない行動情報が1つずつ選択され、選択した行動情報に基づいて、行動パターンDBが順次更新される。
次に、行動パターン解析処理について詳細に説明する。
図12は、行動パターン解析処理の詳細手順の一例を示すフローチャートである。
[ステップS121]行動パターン管理部130は、前回の処理から一定時間が経過したか否かを判断する。一定時間が経過した場合、処理がステップS123に進められる。一定時間が経過していなければ、処理がステップS122に進められる。
[ステップS122]行動パターン管理部130は、処理終了の指示があるか否かを判断する。処理終了の指示があれば、統計分析処理を終了し、指示がなければ、処理がステップS121に進められる。
[ステップS123]行動パターン管理部130は、メール実行記録DB120内に、行動パターンDB140に未反映の行動情報があるか否かを判断する。例えば行動パターン管理部130は、行動管理テーブル121を参照し、行動パターンDBへの反映の欄が「未」である行動情報の有無を判断する。未反映の行動情報があれば、処理がステップS124に進められる。未反映の行動情報がなければ、処理がステップS121に進められる。
[ステップS124]行動パターン管理部130は、メール実行記録DB120から、未反映の行動情報を1つ取得する。取得した行動情報には、行動者、メール受信日時、メール実行日時、特定キーワード、送信元アドレス、送信先アドレス、および実行タイプの情報が含まれる。
以下、ステップS125〜S128において、取得した行動情報の行動者に対応する行動パターン管理情報が更新される。
[ステップS125]行動パターン管理部130は、行動パターンDBの更新処理を行う。この処理の詳細は後述する(図13参照)。
[ステップS126]行動パターン管理部130は、取得した行動情報における受信から実行までの経過時間が、メール受信から5分以内か否かを判断する。経過時間は、メール実行日時からメール受信日時を減算することで得られる。経過時間が5分以内であれば、処理がステップS127に進められる。経過時間が5分より長ければ、処理がステップS128に進められる。
[ステップS127]行動パターン管理部130は、時間視点の実行割合を計算する。この処理の詳細は後述する(図14参照)。
[ステップS128]行動パターン管理部130は、時刻視点の実行割合を計算する。この処理の詳細は後述する(図15参照)。
[ステップS129]行動パターン管理部130は、行動記録部110のメール実行記録DB120にアクセスし、行動管理テーブル121内の取得した行動情報の「行動パターンDBへの反映」の欄の値を「済」に変更する。その後、処理がステップS123に進められる。
次に、行動パターンDB更新処理の詳細について説明する。
図13は、行動パターンDB更新処理の手順の一例を示すフローチャートである。
[ステップS131]行動パターン管理部130は、メール受信から危険行動の実行までの経過時間を計算する。例えば行動パターン管理部130は、メール実行日時からメール受信日時を減算する。
[ステップS132]行動パターン管理部130は、全体管理テーブル141a(図7参照)内の、ステップS131で求めた経過時間に合致する欄の値を、1だけ増やす。例えば実行までの経過時間が45分であれば、「5分〜60分」の欄の件数が、1だけ増やされる。
[ステップS133]行動パターン管理部130は、件名キーワード別管理テーブル141b(図7参照)内の、取得した行動情報の特定キーワードに関する、ステップS131で求めた経過時間に合致する欄の値を、1だけ増やす。例えば、実行までの経過時間が3分で、メールの件名に「至急」を含む場合、至急に関する「〜5分」の欄の件数が、1だけ増やされる。
[ステップS134]行動パターン管理部130は、実行タイプ別管理テーブル141c(図7参照)内の、取得した行動情報の実行タイプに関する、ステップS131で求めた経過時間に合致する欄の値を、1だけ増やす。
[ステップS135]行動パターン管理部130は、送信元アドレス別管理テーブル141d(図7参照)内の、取得した行動情報の送信元アドレスに関する、ステップS131で求めた経過時間に合致する欄の値を、1だけ増やす。
[ステップS136]行動パターン管理部130は、送信先アドレス別管理テーブル141e(図7参照)内の、取得した行動情報の送信先アドレスに関する、ステップS131で求めた経過時間に合致する欄の値を、1だけ増やす。
[ステップS137]行動パターン管理部130は、1日視点の実行割合管理テーブル141f(図8参照)内の、行動情報のメール実行日時における時間に合致する欄の値を、1だけ増やす。例えばメール実行日時における時間が「09:30」の場合、「09:00〜10:00」の件数が、1だけ増やされる。
[ステップS138]行動パターン管理部130は、1週間視点の実行割合管理テーブル141g(図8参照)内の、行動情報のメール実行日時における曜日に合致する欄の値を、1だけ増やす。
[ステップS139]行動パターン管理部130は、1ヶ月視点の実行割合管理テーブル141h(図8参照)内の、行動情報のメール実行日時における日付に合致する欄の値を、1だけ増やす。
次に、時間視点の実行割合計算処理の詳細について説明する。
図14は、時間視点の実行割合計算の手順の一例を示すフローチャートである。
[ステップS151]行動パターン管理部130は、全体管理テーブル141a(図7参照)に基づいて、メールの合計件数を計算する。図7に示した例であれば、100件+200件+120件=420件となる。
[ステップS152]行動パターン管理部130は、すべてのメールのうち、受信から5分以内に危険行動が実行されたメールの割合を計算する。図7の例では、5分以内に実行されたのは100件であるため、5分以内の実行割合は「100/420≒0.24」となる。
[ステップS153]行動パターン管理部130は、件名キーワード別管理テーブル141b(図7参照)に基づいて、件数が更新されたキーワードに関して、5分以内に危険行動が実行されたメールの割合を計算する。例えば行動パターン管理部130は、まず、件数が更新されたキーワードの合計件数を計算する。図7に示した例において、「至急」が更新されたのであれば、5件+3件+0件=8件となる。そして行動パターン管理部130は、該当キーワードについての5分以内に実行された件数を、合計件数で除算し、5分以内の実行割合とする。例えば「至急」が更新されたのであれば、5分以内の実行割合は「5/8≒0.63」となる。
[ステップS154]行動パターン管理部130は、実行タイプ別管理テーブル141c(図7参照)に基づいて、件数が更新された実行タイプに関して、5分以内に危険行動が実行されたメールの割合を計算する。例えば行動パターン管理部130は、まず、件数が更新された実行タイプの合計件数を計算する。そして行動パターン管理部130は、該当実行タイプについての5分以内に実行された件数を、合計件数で除算し、5分以内の実行割合とする。
[ステップS155]行動パターン管理部130は、送信元アドレス別管理テーブル141d(図7参照)に基づいて、件数が更新された送信元アドレスに関して、5分以内に危険行動が実行されたメールの割合を計算する。例えば行動パターン管理部130は、まず、件数が更新された送信元アドレスの合計件数を計算する。そして行動パターン管理部130は、該当送信元アドレスについての5分以内に実行された件数を、合計件数で除算し、5分以内の実行割合とする。
[ステップS156]行動パターン管理部130は、送信先アドレス別管理テーブル141e(図7参照)に基づいて、件数が更新された送信先アドレスに関して、5分以内に危険行動が実行されたメールの割合を計算する。例えば行動パターン管理部130は、まず、件数が更新された送信先アドレスの合計件数を計算する。そして行動パターン管理部130は、該当送信先アドレスについての5分以内に実行された件数を、合計件数で除算し、5分以内の実行割合とする。
次に、時刻視点の実行割合計算処理の詳細について説明する。
図15は、時刻視点の実行割合計算の手順の一例を示すフローチャートである。
[ステップS161]行動パターン管理部130は、1日視点の実行割合管理テーブル141f(図8参照)に基づいて、すべての時間帯に関して、該当時間帯内に危険行動が実行されたメールの割合を計算する。例えば行動パターン管理部130は、まず、1日視点の実行割合管理テーブル141fの時間帯ごとの実行件数の合計件数を計算する。そして行動パターン管理部130は、時間帯ごとに、その時間帯内の実行件数を合計件数で除算し、その時間帯の実行割合とする。
[ステップS162]行動パターン管理部130は、1週間視点の実行割合管理テーブル141g(図8参照)に基づいて、すべての曜日に関して、該当曜日内に危険行動が実行されたメールの割合を計算する。例えば行動パターン管理部130は、まず、1週間視点の実行割合管理テーブル141gの曜日ごとの実行件数の合計件数を計算する。そして行動パターン管理部130は、曜日ごとに、その曜日内の実行件数を合計件数で除算し、その曜日の実行割合とする。
[ステップS163]行動パターン管理部130は、1ヶ月視点の実行割合管理テーブル141h(図8参照)に基づいて、すべての日に関して、該当する日内に危険行動が実行されたメールの割合を計算する。例えば行動パターン管理部130は、まず、1ヶ月視点の実行割合管理テーブル141hの日ごとの実行件数の合計件数を計算する。そして行動パターン管理部130は、日ごとに、その日内の実行件数を合計件数で除算し、その日の実行割合とする。
以上のようにして、行動パターンDB140が更新される。行動パターンDB140が更新されることで、各ユーザの危険行動に関する行動パターンが、行動パターンDB140に保持される。その後、メールセンサ33によって不正メールが検出されると、メール削除部150により、行動パターンDB140を参照することで、不正メールを受信した各ユーザについて、検出された不正メールに対して危険行動をすぐに実行してしまう可能性が判定される。
図16は、不正メール削除処理の手順の一例を示すシーケンス図である。メールセンサ33が、不正メールを検知する(ステップS201)。すると、メールセンサ33は、不正メール検知データをメール削除部150に送信する(ステップS202)。メール削除部150は、不正メールの送信先であるユーザごとに、すぐに危険行動を実行する可能性を示す危険度を計算する(ステップS203)。
メール削除部150は、危険度の高い順に、不正メールの送信先のユーザを選択し、選択したユーザのメールボックスからの不正メールの削除要求を、内部メールサーバ160に送信する(ステップS204)。例えば不正メールの削除要求には、ユーザのメールアドレスと不正メールのメッセージIDとが含められる。
内部メールサーバ160は、不正メールの削除要求に従って、メールボックスから不正メールを削除する(ステップS205)。例えば内部メールサーバ160は、通知されたメッセージIDを有するメールを、通知されたユーザのメールアドレスに対応するメールボックスから削除する。
ユーザごとの危険度は、例えば時間視点での危険レベルや時刻視点での危険レベルに基づいて、総合的に判定される。
図17は、ユーザごとの危険度の判定例を示す図である。図17の例では、18時01分に、件名に「至急」を含み、PDFファイルが添付された不正メール71を受信したものとする。不正メール71は、メールセンサ33によって検知され、メールセンサ33からメール削除部150に、不正メール検知データ72が送られる。
メール削除部150は、行動パターンDB140から、メールの受信者であるユーザの行動パターン管理情報を取得する。そしてメール削除部150は、ユーザごとに、様々な視点で、送信先のユーザが短時間内(例えば5分以内)に不正メール71に添付されたPDFファイルを開く可能性を判定する。
例えば、あるユーザの1日視点の実行割合管理テーブル141fを参照すると、1日内のどの時間帯に、そのユーザが危険行動を実行しやすいのかが分かる。例えば危険行動を非常に実行しやすい時間帯であれば、危険レベルが「高」と判断できる。危険行動を実行することがある程度以上の可能性で認められるのであれば、危険レベルが「中」と判断できる。危険行動を実行する可能性がほとんどないのであれば、危険レベルが「低」と判断できる。
また例えば件名キーワード別管理テーブル141bを参照すると、メールの件名に「至急」を含む場合、そのメールに対して5分以内に危険行動を実行する割合が高いことが分かる。他方、実行タイプ別管理テーブル141cを参照すると、PDFファイルが添付されているときに危険行動が実行される可能性は、あまり高くないことが分かる。この場合、例えば時間視点での危険度として、危険度が高い方の判定結果を採用し、危険レベルを「高」とすることができる。
さらにメール削除部150は、時刻視点の危険レベルと時間視点の危険レベルとの両方を用いて、該当ユーザの総合的な危険レベルを算出する。例えばメール削除部150は、時刻視点の危険レベルと時間視点の危険レベルとを数値化し、それぞれの危険レベルを掛け合わせた結果を、ユーザの総合的な危険レベルとすることができる。
メール削除部150は、このような危険レベルの算出を、不正メール71の送信先のユーザごとに行い、危険レベルの高いユーザから順に、不正メールの削除を実施する。
次に、メール削除部150における不正メールの削除処理について、詳細に説明する。
図18は、不正メール削除処理の手順を示すフローチャートである。
[ステップS211]メール削除部150は、不正メール検知データを取得する。
[ステップS212]メール削除部150は、不正メール受信者全員の行動パターン管理情報を取得する。例えばメール削除部150は、不正メール検知データの送信先フィールドに設定されているメールアドレスを、送信先と判断する。そしてメール削除部150は、送信先のメールアドレスに対応するユーザの行動パターン管理情報を、行動パターンDB140から取得する。
[ステップS213]メール削除部150は、各ユーザの総合的な危険レベルを算出する。危険レベル算出処理の詳細は後述する(図19参照)。
[ステップS214]メール削除部150は、危険レベル順での不正メール削除処理を実行する。この処理の詳細は後述する。
図19は、危険レベル算出処理の手順を示すフローチャートである。
[ステップS221]メール削除部150は、不正メールの送信先のユーザを選択する。例えばメール削除部150は、不正メール検知データ内の送信先のフィールドに設定されているアドレスを1つ選択する。
[ステップS222]メール削除部150は、選択したアドレスが社外アドレスか否かを判断する。メール削除部150は、例えば、選択したアドレスのドメイン名の部分(“@”以降)が、社内のサーバのドメイン名か否かにより、アドレスが社内か否かを判断する。社外アドレスであれば、処理がステップS223に進められる。社内アドレスであれば、処理がステップS224に進められる。
[ステップS223]メール削除部150は、選択したユーザに対する個別連絡をする。例えばメール削除部150は、選択したユーザのメールアドレス宛に、不正メールが送られていることを通知するメールを送信する。その後、処理がステップS230に進められる。
[ステップS224]メール削除部150は、選択したユーザのアドレスが、メーリングリストか否かを判断する。例えばメール削除部150は、予めメーリングリスト用の1以上のアドレスを記憶しており、選択したアドレスが、メーリングリスト用のアドレスの何れかと一致するか否かを判断する。メーリングリストであれば、処理がステップS225に進められる。メーリングリストでなければ、処理がステップS226に進められる。
[ステップS225]メール削除部150は、メーリングリストを、個人アドレスに展開する。例えばメール削除部150は、内部メールサーバ160に、メーリングリストに含まれるユーザのアドレスを問い合わせる。内部メールサーバ160は、問い合わせに応じ、該当するユーザのアドレスを、メール削除部150に応答する。これにより、メール削除部150は、メーリングリストに属する全ユーザの個人アドレスを取得できる。
なお、メーリングリストを個人アドレスに展開した場合、展開後の個人アドレスごとに、ステップS226〜S229の処理が実行される。
[ステップS226]メール削除部150は、選択したユーザの危険レベルを計算する。例えばメール削除部150は、選択したユーザの行動パターン管理情報内のすべてのテーブルにおける、不正メールに該当する実行割合をすべて乗算し、乗算結果をユーザの危険レベルとする。例えば、以下のような不正メール検知データが通知された場合を考える。
メール受信日: 2014/11/1(月)
メール受信時刻: 09:03
特定キーワード: 至急
送信元: 社内
送信先: To個人
実行タイプ: doc
選択したユーザの行動パターン管理情報の内容は、図7、図8に示す通りであるものとする。このとき、全体管理テーブル141aから、5分以内の実行割合「0.24」が抽出される。件名キーワード別管理テーブル141bから、キーワード「至急」の5分以内の実行割合「0.63」が抽出される。実行タイプ別管理テーブル141cから、「doc」の5分以内の実行割合「0.42」が抽出される。送信元アドレス別管理テーブル141dから、「社内」の5分以内の実行割合「0.30」が抽出される。送信先アドレス別管理テーブル141eから、「To個人」の5分以内の実行割合「0.62」が抽出される。1日視点の実行割合管理テーブル141fから、実行時間「09:00〜10:00」の実行割合「0.13」が抽出される。1週間視点の実行割合管理テーブル141gから、実行曜日「月」の実行割合「0.17」が抽出される。1ヶ月視点の実行割合管理テーブル141hから、実行日「1日」の実行割合「0.05」が抽出される。抽出したすべての実行割合の乗算結果「0.24×0.63×0.42×0.30×0.62×0.13×0.17×0.05=0.000013」が、選択したユーザの危険レベルとなる。
[ステップS227]メール削除部150は、危険レベルが所定の閾値を超えているか否かを判断する。危険レベルが閾値を超えている場合、処理がステップS228に進められる。危険レベルが閾値を超えていなければ、処理がステップS229に進められる。
[ステップS228]メール削除部150は、選択したユーザが受信した不正メールの削除処理を行う。不正メール削除処理の詳細は後述する(図21参照)。その後、処理がステップS230に進められる。
[ステップS229]メール削除部150は、ユーザに対応付けて危険レベルをメモリに保存する。
[ステップS230]メール削除部150は、すべての送信先の危険レベルを計算したか否かを判断する。すべての送信先の危険レベルの計算が完了していれば、危険レベル計算処理が終了する。危険レベルを計算していない送信先があれば、処理がステップS221に進められる。
次に危険レベル順不正メール削除処理について詳細に説明する。
図20は、危険レベル順不正メール削除処理の手順の一例を示す図である。
[ステップS241]メール削除部150は、不正メールの送信先のユーザのリストを作成する。不正メールの送信先にメーリングリストが含まれている場合、展開後の個人アドレスがリストに登録される。
[ステップS242]メール削除部150は、図19のステップS228において既に不正メールを削除済みのユーザを、リストから削除する。
[ステップS243]メール削除部150は、危険レベルの高い順にユーザを選択する。例えばメール削除部150は、リスト内のユーザを危険レベルで降順にソートする。そしてメール削除部150は、ソート後の順番の上位から順に、ユーザを選択する。
[ステップS244]メール削除部150は、選択したユーザの不正メール削除処理を行う。この処理の詳細は後述する(図21参照)。
[ステップS245]メール削除部150は、すべてのユーザの不正メールを削除したか否かを判断する。すべてのユーザの不正メールの削除が完了した場合、危険レベル順不正メール削除処理が終了する。不正メールを削除していないユーザがいる場合、処理がステップS243に進められる。
次に、不正メール削除処理について詳細に説明する。
図21は、不正メール削除処理の手順の一例を示す図である。
[ステップS251]メール削除部150は、選択されたユーザが使用する端末装置に、不正メールがあるか否かを問い合わせる。例えばメール削除部150には、予め各ユーザが使用する端末装置の識別情報(IP(Internet Protocol)アドレスなど)が登録されているものとする。そしてメール削除部150は、不正メール検知データ72に含まれる、不正メールのメッセージIDを端末装置に送信し、同じメッセージIDを有するメールの有無を問い合わせる。端末装置は、自己の有するメールボックスから、受け取ったメッセージIDを有するメールを検索する。該当するメールがある場合、端末装置は、不正メールがある旨の応答を、メール削除部150に送信する。
[ステップS252]メール削除部150は、端末装置からの応答に基づいて、不正メールがダウンロードされているか否かを判断する。例えば、端末装置から不正メールがある旨の応答を受信した場合、ダウンロードされていると判断される。ダウンロードされている場合、処理がステップS253に進められる。ダウンロードされていなければ、処理がステップS254に進められる。
[ステップS253]メール削除部150は、端末装置に不正メールの無効化を指示する。無効化の指示を受信した端末装置は、例えば不正メールをメールボックスから削除する。無効化処理として、不正メールの閲覧禁止、添付ファイルの実行禁止などの処理を行ってもよい。なお、端末装置に不正メールの無効化機能がない場合、ユーザ宛に、メールなどで、不正メールが送られた旨のメッセージを通知してもよい。
[ステップS254]メール削除部150は、内部メールサーバ160に、選択したユーザのメールボックス内に不正メールがあるか否かを問い合わせる。例えばメール削除部150は、不正メール検知データに示される不正メールのメッセージIDとユーザのメールアドレスとを内部メールサーバ160に送信し、不正メールと同じメッセージIDを有するメールの有無を問い合わせる。内部メールサーバ160は、指定されたユーザのメールボックスから、受け取った不正メールと同じメッセージIDを有するメールを検索する。該当するメールがある場合、内部メールサーバ160は、不正メールがある旨の応答を、メール削除部150に送信する。
[ステップS255]メール削除部150は、内部メールサーバ160からの応答に基づいて、不正メールが存在するか否かを判断する。存在する場合、処理がステップS256に進められる。存在しなければ、不正メール削除処理が終了する。
[ステップS256]メール削除部150は、端末装置に不正メールの無効化を指示する。無効化の指示を受信した内部メールサーバ160は、不正メールの削除などの無効化処理を行う。無効化処理として、不正メールを、ユーザがアクセスできないフォルダに移動することで、隔離してもよい。
以上のようにして、不正メールに対して危険行動をすぐに実行しそうなユーザから順に、メールボックスからの不正メールの削除を行うことで、不正メールを用いた不正な処理が実行される可能性を低下させることができる。例えば、不正メールを起因としてセキュリティ脅威(例えばマルウェア)に感染する端末装置の数が削減される。
また、ユーザが既にメールをダウンロードしている場合であっても、危険レベルが高い順に、そのユーザの端末装置内の不正メールを削除することで、不正メールを用いた不正な処理が実行されることを抑止できる。なお、ユーザの端末装置が不正メールの削除機能を有さない場合、危険レベルが高い順に、メッセンジャ、メール、電話などにより、ユーザに不正メール検知を連絡することもできる。
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、ユーザごとの危険レベルの計算方法を工夫し、より正確な危険レベルを算出できるようにするものである。
上記の第2の実施の形態では、時間視点や時刻視点などの各種視点で個別に計算した危険レベルをすべて掛け合わせたものを、ユーザの総合的な危険レベルとしている。このような計算方法は、危険レベルを短時間で算出できるという点で有用である。ただし、ある特定の視点において低い危険レベルと判定されると、その危険レベルの値を乗算することで、他の視点による特徴が希釈化されてしまう。
図22は、各視点での危険レベルの総乗を用いることによる欠点を示す図である。図22では、時間帯「00:00〜01:00」に社外から受信した不正メールの件名にキーワード「重要」が含まれている場合を想定している。
受信者「A」が「00:00〜01:00」に受信したメールに対して危険行動を行う実行割合は「0.1」である。受信者「A」が、件名に「重要」を含むメールに対して受信から5分以内に危険行動を行う実行割合は「0.8」である。受信者「A」が、社外からのメールに対して受信から5分以内に危険行動を行う実行割合は「0.1」である。これらをすべて掛け合わせた値を、受信者「A」の危険レベルとする場合、その値は「0.008」である。
受信者「B」が「00:00〜01:00」に受信したメールに対して危険行動を行う実行割合は「0.1」である。受信者「B」が、件名に「重要」を含むメールに対して受信から5分以内に危険行動を行う実行割合は「0.4」である。受信者「B」が、社外からのメールに対して受信から5分以内に危険行動を行う実行割合は「0.2」である。これらをすべて掛け合わせた値を、受信者「B」の危険レベルとする場合、その値は「0.008」である。
受信者「C」が「00:00〜01:00」に受信したメールに対して危険行動を行う実行割合は「0.2」である。受信者「C」が、件名に「重要」を含むメールに対して受信から5分以内に危険行動を行う実行割合は「0.2」である。受信者「C」が、社外からのメールに対して受信から5分以内に危険行動を行う実行割合は「0.2」である。これらをすべて掛け合わせた値を、受信者「C」の危険レベルとする場合、その値は「0.008」である。
この例では、受信者「A」は、件名にキーワード「重要」を含むメールを受信した場合、8割の確率で5分以内に危険行動を実行してしまう。この場合、受信者「A」宛ての件名にキーワード「重要」を含む不正メールは、優先的に削除するのが適切である。しかし、キーワード以外の視点での危険レベルが低いため、受信者「A」の総合的な危険レベルは、他の受信者と同値「0.08」となっている。
また複数の視点を組み合わせて解析すると、異なる結論を得られる可能性がある。例えば、受信者「C」が、いままでに「No.1」から「No.8」の8通のメールを受信しているものとする。「No.1」から「No.5」の5件のメールには、件名にキーワード「重要」が含まれているが、他のメールにはそのキーワードが含まれていない。「No.4」から「No.8」の5件のメールは、送信元が社外であるが、他のメールの送信元は社内である。これらの8通のメールのうち、受信者「C」が5分以内に危険行動を実行したのは、件名にキーワード「重要」を含み、かつ送信元が社外である、「No.4」のメールのみである。
この場合、件名「重要」のメールに関する実行割合が1/5(0.2)、送信元「社外」のメールに関する実行割合が1/5(0.2)であるが、件名「重要」であり、かつ送信元「社外」のメールに関する実行割合は、1/2(0.5)となる。この場合、件名「重要」でありかつ送信元「社外」の不正メールが検知された場合、その不正メールを、受信者「C」のメールボックスから早急に削除するのが適切である。しかし、各視点での危険レベルを掛け合わせただけでは、受信者「C」の危険レベルが他の受信者より高くならない。
以上のような問題を解決するために、第3の実施の形態では、個々の条件において極めて高い危険レベルとなっているユーザについては、その条件を満たす不正メールが検知された場合、他の条件における危険レベルとは関係なく、優先的に不正メールを削除する。
そのために、例えばメール削除部150は、個々の条件について、危険レベルの閾値を設定する。そしてメール削除部150は、条件を満たすメールに対する危険行動の実行割合を、ユーザ間で比較し、メールの内容や時刻ごとにブラックリストを作っておく。例えば行動パターンDB140には、受信したメールが満たす条件ごとに、そのメールが届いたときに5分以内に危険行動が実行される確率(実行割合)が、ユーザごとに登録されている。そこでメール削除部150は、行動パターンDB140を参照し、条件ごとに、危険レベルが閾値を超えるユーザを抽出し、その条件のブラックリスト(特定の条件でメールを実行する時間が早い人のリスト)としてメモリに保持する。
なお危険レベルの閾値ではなく、各ユーザの危険レベルを比較し、相対的に高いユーザをブラックリストに登録することもできる。例えば全ユーザの上位の所定の割合の人数を、ブラックリストに登録してもよい。
図23は、ブラックリストの作成例を示す図である。図23の例では、「メールの件名にキーワード「重要」が含まれる」という条件で、ブラックリストを作成するものである。この場合、メール削除部150は、行動パターンDB140から、条件を満たすメールを受信したときに、各ユーザが5分以内に危険行動を実行する割合を比較する。そして、実行割合が上位のユーザの危険レベル「高」と判断し、「メールの件名にキーワード「重要」が含まれる」という条件に対応するブラックリスト81に登録する。このようにして、件名にキーワード「重要」が含まれるとき、メールを早く開いてしまう可能性の高いユーザに関するブラックリスト81が作成される。
メール削除部150は、他の様々な条件に基づいて、多数のブラックリスト82,83,・・・を作成する。例えばブラックリスト82は、「メールの件名にキーワード「至急」が含まれる」という条件に基づいて作成されたものである。またブラックリスト83は、「危険行動の実行時刻が時間帯「09:00〜10:00」内である」という条件に基づいて作成されたものである。なおブラックリスト83を適用する不正メールの条件は、「受信時刻が時間帯「09:00〜10:00」内である」という条件となる。
このようにあらかじめブラックリスト81,82,83,・・・を作成することで、他の視点での危険レベルが低くても、特定の条件で高い危険レベルとなるユーザについては、不正メール削除の優先度を高くし、即座に対処することができる。
次に、複数条件の組み合わせに着目する場合について説明する。図22の受信者「C」のように、個々の条件では実行割合が高くないが、特定の条件の組み合わせ時に実行割合が高くなる可能性が考えられる。これは複数条件の組み合わせについて閾値を設定し、閾値を超えていた場合は即座に対処することで外れ値の対応をすることができる。
図24は、複数条件を組み合わせたときの実行割合の算出例を示す図である。例えばメール削除部150は、検知した不正メール71aと近い条件の組み合わせに関する行動情報を、行動管理テーブル121から検索する。そして、検索でヒットした行動情報のうち、メール受信から5分以内に危険行動を実行した実行割合を計算する。行動情報の検索では、例えば不正メール71aとの類似度の高い行動情報が、行動管理テーブル121から検索される。
図24の例では、不正メール71aに対して、実行時刻、件名のキーワード、送信元、送信先、実行タイプのうち、3つ以上の項目で一致する行動情報が検索されている。実行時刻については、例えば、不正メール71aの受信時刻「16:48」と同じ時間帯「16:00〜17:00」内のメール実行日時が設定されている行動情報について、実行時刻が一致すると判断される。図24の例では、不正メール71aに類似する行動情報が3件検出されている。このうち、メールの受信から5分以内に危険行動が実行されたのは2件である。その結果、実行割合は0.67となる。メール削除部150は、この実行割合を、行動管理テーブル121に対応するユーザの危険レベルとする。
このようにして各ユーザの危険レベルを計算することで、条件の組み合わせにより実行割合が変わるユーザに対して、優先的に不正メール削除の対象とすることができる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。