説明

電子メール分類装置及び電子メール分類方法及び電子メール分類プログラム

【課題】ヘッダ情報を多用した学習に基づいてスパムメールか否かの判定を行うことができる電子メール分類装置及び電子メール分類方法及び電子メール分類プログラムを提供すること。
【解決手段】収集部11により収集されたメールログデータ又は電子メールのヘッダ情報から特徴ベクトルを生成する特徴ベクトル生成部12と、所定の判定ルールに基づいてメールログデータ又は電子メールが迷惑メールであるか否かを判定する判定部13と、判定結果に基づいて特徴ベクトルごとに迷惑メールと判定された数と正常メールであると判定された数を比較する比較部14と、比較結果に基づいて特徴ベクトルに対してラベルを付与するラベル付与部15と、付与されたラベルに基づいて、受信したメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールであるか又は正常メールであるかを分類する分類器を作成する分類器作成部16とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、受信した電子メールが迷惑メールであるか又は正常メールであるかを判定する電子メール分類装置及び電子メール分類方法及び電子メール分類プログラムに関する。
【背景技術】
【0002】
近年、ネットワークの発展により、気軽に電子メール(以下、メールという)を送受信できるようになったことに伴い、スパムメール(spammail)の数も増大している。ここで、「スパムメール」とは、受信者の意図を無視して事前の要請や同意なしに、無差別かつ大量発信されるメールを意味するものである。なお、このスパムメールの同義語として、「迷惑メール」、「ジャンクメール」、「UCE(UnsolicitedCommercialEmail)」、「UBE(UnsolicitedBulkEmail)」等がある。
【0003】
このようなスパムメールは、添付ファイル等によるウイルス感染や、不要なメールの増加による受信者の業務生産性及び効率の低下や、トラフィックの増加によるサーバ及びネットワークへの負荷増大や、詐欺サイトへの誘導等によるプライバシーや機密情報の漏洩等の点において、個人及び団体を問わずに脅威となり得るものである。
【0004】
上記のようなスパムメールによる問題は、既に社会問題の域にまで達している。メールアドレスが安価に入手可能であることや、定額料金の高速通信が安価で提供されていること等を鑑みると、今後、スパムメールは減少することなくますます増加していくと考えられ、スパムメールに対する有効な対策が早急に要求されている。
【0005】
ここで、メール本文を受信する前に得られる情報(ヘッダ情報)からスパムメールかどうかを判断し、メール本文を受信することを拒否する技術が提案されている(非特許文献1を参照。)。この技術によると、スパムメールやスパムメール送信サーバに頻繁に出現する性質(文字列の特徴)を画一的なルールにしている。また、ユーザの報告に基づき作成されたIPアドレスのブラックリスト等を利用してヘッダ情報からスパムメールかどうかを判定して、メール本文を受信することを拒否する技術が提案されている(非特許文献2を参照。)。なお、「ヘッダ情報」とは、SMTPセッション中のコマンドやIPアドレスも含めた概念である。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】スパムメール判定方法(S25R)、[平成21年7月15日]、インターネット<http://www.gabacho−net.jp/anti−spam/paper.html>
【非特許文献2】スパムメール判定方法(spamhaus)、[平成21年7月15日]、インターネット<http://www.spamhaus.org/>
【非特許文献3】スパムメール判定方法(SpamAssassin)、[平成21年7月15日]、インターネット<http://spamassassin.apache.org/index.html>
【非特許文献4】スパムメール判定方法(transware)、[平成21年7月15日]、インターネット<http://www.transware.co.jp/product/ah/svm.html>
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、非特許文献1は、発明者等の研究によると、スパムメールを見逃す割合(false negative:FN)は3%程度と少ないが、正常なメールをスパムメールと判断してしまう割合(false positive:FP)は10%以上も存在することが分かった。一方、非特許文献2に記載のspamhausのDNSBLは、発明者等の研究によると、ユーザからの報告をもとにするため、FNが20%程度存在することが分かった。さらに、ISP等のIPアドレスの中にスパムメール送信者が存在する場合には、誤って広範囲の正しいIPアドレスレンジが登録されてしまうことも分かった。なお、DNSBLとは、迷惑メールを送信するホストのIPアドレスを収集したデータベースであって、DNSのプロトコルを用いてIPアドレスを調査するものである。
【0008】
また、メール本文を受信した後にメール本文に基づいてスパムメールの判定を行う場合には、ベイズ推定や、サポートベクターマシン等を利用する技術が提案されている(非特許文献3、4を参照)。これらの技術においては、予めスパムメールと分かっているメールと正常なものとわかっているメールを学習データとして利用し、この学習データをもとに分類器を作成し、作成した分類器によって受信したメールがスパムメールか否かを分類する。
【0009】
この技術においては、分類器は、学習データに依存して作成されるため、学習データ自体が誤っている場合、精度の低いものになってしまう。よって、学習データに対してスパムメールか否かを示す正しいラベル付けを行う必要があり、現在は、人手を介して行っている。また、一から全ての学習を行う分類器ではなく、いわゆる半教師学習を行う分類器もあるが、いずれの分類器であっても確実なラベルが必要となり、人手が必要となっている。
【0010】
本発明は、非特許文献1、2に示す既存のルールに基づいてヘッダ情報から単にスパムメールか否かを判定せず、かつ、学習におけるラベル付けについて人手を介することなく、ヘッダ情報を多用した学習に基づいて効率的にスパムメールか否かの判定を行うことができる電子メール分類装置及び電子メール分類方法及び電子メール分類プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明では、以下のような解決手段を提供する。
【0012】
(1)本発明に係る電子メール分類装置は、上記課題を解決するために、教師データとして複数のメールログデータ又は電子メールを収集する収集部と、前記収集部により収集されたメールログデータ又は電子メールのヘッダ情報を解析し、当該解析の結果に基づいて、メールログデータ又は電子メールの特徴を示す特徴ベクトルを生成する特徴ベクトル生成部と、所定の判定ルールに基づいて、前記収集部により収集されたメールログデータ又は電子メールのヘッダ情報を参照し、当該メールログデータ又は電子メールが迷惑メールであるか又は正常メールであるかを判定する判定部と、前記判定部によって判定された結果に基づいて、前記特徴ベクトルごとに迷惑メールと判定された数と正常メールであると判定された数を比較する比較部と、前記比較部の比較結果に基づいて、前記特徴ベクトルに対して迷惑メールであることを示すラベル又は正常メールであることを示すラベルを付与するラベル付与部と、前記ラベル付与部により前記特徴ベクトルに対して付与されたラベルに基づいて、受信したメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールであるか又は正常メールであるかを分類する分類器を作成する分類器作成部とを備える。
【0013】
このような構成によれば、電子メール分類装置は、予め教師データとして複数のメールログデータ又は電子メールを収集し、各メールログデータ又は電子メールのヘッダ情報から特徴ベクトルを生成し、既存の判定ルール(例えば、S25Rや、DNSBL等)によりメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールか否かの判定を行い、当該判定結果に基づいて特徴ベクトルにラベルを付与し、この付与されたラベルに基づいて分類器を作成する。
【0014】
よって、電子メール分類装置は、既存のルールに基づいてヘッダ情報から単にスパムメールか否かを判定せず、かつ、学習におけるラベル付けについて人手を介することなくヘッダ情報を多用した学習に基づくスパムメールの分類器を作成することができる。また、電子メール分類装置は、受信するメールログデータ又は電子メールのヘッダ情報に基づいて特徴ベクトルを生成し、生成した特徴ベクトルを作成した分類器に入力することにより、メールログデータ又は電子メールがスパムメールか否かを判定するので、単純に既存のルールを使用することによる誤検知、すなわち正常なメールをスパムメールであると誤検知する割合(false positive:FP)を低減することができる。
【0015】
また、電子メール分類装置は、ヘッダ情報の解析結果から生成される特徴ベクトルに基づいてメールログデータ又は電子メールがスパムメールであるか否かを判定できるので、電子メールの本文(Body)を受信して、その本文を解析するまでもなく、ヘッダ情報の解析結果から生成される特徴ベクトルに基づいて高精度にスパムメールであるか否かの判定を行うことができる。また、電子メール分類装置は、人手によらず分類器を作成することができるので、分類器の作成過程において、人為的な要素を排除してコールドスタート的な動作ができる。
【0016】
(2)また、上記電子メール分類装置では、前記特徴ベクトル生成部は、前記収集部により収集されたメールログデータ又は電子メールのヘッダ情報を解析し、少なくとも、メールログデータ又は電子メールを受信するセッション中の所定のコマンドに含まれているメールアドレスのドメインに関する情報と、IPアドレスのDNS逆引きの情報に基づいて前記特徴ベクトルを生成することが好ましい。
【0017】
このような構成によれば、電子メール分類装置は、人手を介することなくメールログデータ又は電子メールのヘッダ情報を多用して特徴ベクトルを生成することができる。
【0018】
(3)また、上記電子メール分類装置では、前記ラベル付与部は、第1の条件のみを満たす場合には、特徴ベクトルriに対して迷惑メールであることを示すラベルSを付与し、第2の条件を満たす場合には、特徴ベクトルriに対して正常メールであることを示すラベルHを付与することが好ましい。
【数1】

【0019】
このような構成によれば、電子メール分類装置は、k1とk2を任意に設定することにより(例えば、k1=0.001、k2=0)、正常なメールをスパムメールであると誤って判定されることがなくなる。
【0020】
(4)また、上記電子メール分類装置では、前記ラベル付与部は、前記特徴ベクトル生成部により生成された特徴ベクトルriをメールログデータ又は電子メールのヘッダ情報を解析した結果に含まれている情報に基づいて、第1の特徴ベクトルsiと第2の特徴ベクトルtiに分割し、第3の条件を満たす場合には、前記特徴ベクトルriに対して迷惑メールであることを示すラベルSを付与し、前記第3の条件を満たさないが、第4の条件を満たす場合には、前記特徴ベクトルriに対して正常メールであることを示すラベルHを付与し、前記第3の条件及び前記第4の条件を満たさない場合であって、第5の条件を満たす場合には、前記第1の特徴ベクトルsiに対して第1のラベルs1を付与し、前記第5の条件を満たさないが第6の条件を満たす場合には、前記第1の特徴ベクトルsiに対して第2のラベルh1を付与し、前記第5の条件及び前記第6の条件を満たさない場合には、前記第1の特徴ベクトルsiに対して第3のラベルn1を付与し、第7の条件を満たす場合には、前記第2の特徴ベクトルtiに対して第4のラベルs2を付与し、前記第7の条件を満たさないが第8の条件を満たす場合には、前記第2の特徴ベクトルtiに対して第5のラベルh2を付与し、前記第7の条件及び前記第8の条件を満たさない場合には、前記第2の特徴ベクトルtiに対して第6のラベルn2を付与し、前記第1の特徴ベクトルsiと前記第2の特徴ベクトルtiに付与されているラベルの組み合わせが、前記第1のラベルs1と前記第4のラベルs2の組み合わせ、前記第1のラベルs1と前記第6のラベルn2の組み合わせ、又は前記第3のラベルn1と前記第4のラベルs2の組み合わせの場合には、前記特徴ベクトルriに対して迷惑メールであることを示すラベルSを付与し、前記第1の特徴ベクトルsiと前記第2の特徴ベクトルtiに付与されているラベルの組み合わせが、上記の組み合わせ以外の組み合わせの場合には、前記特徴ベクトルriに対して正常メールであることを示すラベルHを付与することが好ましい。
【数2】

但し、kr1,ks1,kt1、kr2,ks2,kt2は、0≦kr1<1、0≦ks1<1、0≦kt1<1、0≦kr2<1、0≦ks2<1、0≦kt2<1を満たす任意の値である。
【0021】
このような構成によれば、電子メール分類装置は、kr1、kr2、ks1、ks2、kt1及びkt2を任意に設定することにより(例えば、kr1=ks1=kt1=0.001、kr2=ks2=kt2=0)、受信する全てのメールログデータ又は電子メールについて、スパムメールであるか又は正常なメールであるかの判定を行い、正常なメールをスパムメールであると誤って判定することがない。
【0022】
(5)本発明に係る電子メール分類方法は、上記課題を解決するために、教師データとして複数のメールログデータ又は電子メールを収集する収集工程と、前記収集工程により収集されたメールログデータ又は電子メールのヘッダ情報を解析し、当該解析の結果に基づいて、メールログデータ又は電子メールの特徴を示す特徴ベクトルを生成する特徴ベクトル生成工程と、所定の判定ルールに基づいて、前記収集工程により収集されたメールログデータ又は電子メールのヘッダ情報を参照し、当該メールログデータ又は電子メールが迷惑メールであるか又は正常メールであるかを判定する判定工程と、前記判定工程によって判定された結果に基づいて、前記特徴ベクトルごとに迷惑メールと判定された数と正常メールであると判定された数を比較する比較工程と、前記比較工程の比較結果に基づいて、前記特徴ベクトルに対して迷惑メールであることを示すラベル又は正常メールであることを示すラベルを付与するラベル付与工程と、前記ラベル付与工程により前記特徴ベクトルに対して付与されたラベルに基づいて、受信したメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールであるか又は正常メールであるかを分類する分類器を作成する分類器作成工程とを備える。
【0023】
このような構成によれば、電子メール分類方法は、予め教師データとして複数のメールログデータ又は電子メールを収集し、各メールログデータ又は電子メールのヘッダ情報から特徴ベクトルを生成し、既存の判定ルール(例えば、S25Rや、DNSBL等)によりメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールか否かの判定を行い、当該判定結果に基づいて特徴ベクトルにラベルを付与し、この付与されたラベルに基づいて分類器を作成する。
【0024】
よって、電子メール分類方法は、既存のルールに基づいてヘッダ情報から単にスパムメールか否かを判定せず、かつ、学習におけるラベル付けについて人手を介することなくヘッダ情報を多用した学習に基づくスパムメールの分類器を作成することができる。また、電子メール分類方法は、受信するメールログデータ又は電子メールのヘッダ情報に基づいて特徴ベクトルを生成し、生成した特徴ベクトルを作成した分類器に入力することにより、メールログデータ又は電子メールがスパムメールか否かを判定するので、単純に既存のルールを使用することによる誤検知、すなわち正常なメールをスパムメールであると誤検知する割合(false positive:FP)を低減することができる。
【0025】
また、電子メール分類方法は、ヘッダ情報の解析結果から生成される特徴ベクトルに基づいてメールログデータ又は電子メールがスパムメールであるか否かを判定できるので、電子メールの本文(Body)を受信して、その本文を解析するまでもなく、ヘッダ情報の解析結果から生成される特徴ベクトルに基づいて高精度にスパムメールであるか否かの判定を行うことができる。また、電子メール分類方法は、人手によらず分類器を作成することができるので、分類器の作成過程において、人為的な要素を排除してコールドスタート的な動作ができる。
【0026】
(6)本発明に係る電子メール分類プログラムは、上記課題を解決するために、迷惑メールであるか又は正常メールであるかを判定する方法をコンピュータによって実現するための電子メール分類プログラムであって、教師データとして複数のメールログデータ又は電子メールを収集する収集工程と、前記収集工程により収集されたメールログデータ又は電子メールのヘッダ情報を解析し、当該解析の結果に基づいて、メールログデータ又は電子メールの特徴を示す特徴ベクトルを生成する特徴ベクトル生成工程と、所定の判定ルールに基づいて、前記収集工程により収集されたメールログデータ又は電子メールのヘッダ情報を参照し、当該メールログデータ又は電子メールが迷惑メールであるか又は正常メールであるかを判定する判定工程と、前記判定工程によって判定された結果に基づいて、前記特徴ベクトルごとに迷惑メールと判定された数と正常メールであると判定された数を比較する比較工程と、前記比較工程の比較結果に基づいて、前記特徴ベクトルに対して迷惑メールであることを示すラベル又は正常メールであることを示すラベルを付与するラベル付与工程と、前記ラベル付与工程により前記特徴ベクトルに対して付与されたラベルに基づいて、受信したメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールであるか又は正常メールであるかを分類する分類器を作成する分類器作成工程とをコンピュータによって実現することを特徴とする。
【0027】
このような構成によれば、電子メール分類プログラムは、予め教師データとして複数のメールログデータ又は電子メールを収集し、各メールログデータ又は電子メールのヘッダ情報から特徴ベクトルを生成し、既存の判定ルール(例えば、S25Rや、DNSBL等)によりメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールか否かの判定を行い、当該判定結果に基づいて特徴ベクトルにラベルを付与し、この付与されたラベルに基づいて分類器を作成する。
【0028】
よって、電子メール分類プログラムは、既存のルールに基づいてヘッダ情報から単にスパムメールか否かを判定せず、かつ、学習におけるラベル付けについて人手を介することなくヘッダ情報を多用した学習に基づくスパムメールの分類器を作成することができる。また、電子メール分類プログラムは、受信するメールログデータ又は電子メールのヘッダ情報に基づいて特徴ベクトルを生成し、生成した特徴ベクトルを作成した分類器に入力することにより、メールログデータ又は電子メールがスパムメールか否かを判定するので、単純に既存のルールを使用することによる誤検知、すなわち正常なメールをスパムメールであると誤検知する割合(false positive:FP)を低減することができる。
【0029】
また、電子メール分類プログラムは、ヘッダ情報の解析結果から生成される特徴ベクトルに基づいてメールログデータ又は電子メールがスパムメールであるか否かを判定できるので、電子メールの本文(Body)を受信して、その本文を解析するまでもなく、ヘッダ情報の解析結果から生成される特徴ベクトルに基づいて高精度にスパムメールであるか否かの判定を行うことができる。また、電子メール分類プログラムは、人手によらず分類器を作成することができるので、分類器の作成過程において、人為的な要素を排除してコールドスタート的な動作ができる。
【発明の効果】
【0030】
本発明によれば、ヘッダ情報から単にスパムメールか否かを判定せず、かつ、学習におけるラベル付けについて人手を介することなく、ヘッダ情報を多用した学習に基づいて効率的にスパムメールか否かの判定を行うことができる。
【図面の簡単な説明】
【0031】
【図1】本実施形態に係る電子メール分類装置の概要を示す図である。
【図2】本実施形態に係る電子メール分類装置の構成を示すブロック図である。
【図3】スパムメールか否かを判定する分類器の作成方法についての説明に供するフローチャートである。
【図4】電子メールの送受信を行う際のセッションについての説明に供する図である。
【発明を実施するための形態】
【0032】
以下、本発明の実施形態の一例について図1及び図2を参照しながら説明する。本発明の実施形態に係る電子メール分類装置1は、電子メールの送受信を行う一連のセッションにおいて、ヘッダ情報を受信した状態、すなわち本文を受信する前の状態において、電子メールが迷惑メール(以下、スパムメールという。)であるか否かを判定する装置である。なお、「ヘッダ情報」とは、SMTP(Simple Mail Transfer Protocol)セッション中のコマンドやIPアドレスも含めた概念である。
【0033】
ここで、電子メール分類装置1の概略について図1を用いて説明する。電子メール分類装置1では、既存の判定装置とは異なり、ラベルが付与されていない状態から始まる(図1(a))。
【0034】
電子メール分類装置1は、ヘッダ情報に基づいて特徴ベクトルを生成し、既存のルール(例えば、S25RやDNSBL等)を用いてヘッダ情報に基づいてスパムメールか否かを判定し、スパムメールであれば(y)を特徴ベクトルに付与し、正常なメールであれば特徴ベクトルに(n)を付与する(図1(b))。本実施例においては、S25RとDNSBLの双方においてスパムメールであると判定された場合には、(y)を付与するが、これに限られない。
【0035】
つぎに、電子メール分類装置1は、特徴ベクトルごとに(y)の数と(n)の数を算出する。電子メール分類装置1は、所定の閾値に基づいて特徴ベクトルごとの(y)と(n)の算出値から各特徴ベクトルに対するラベルを付与する。例えば、電子メール分類装置1は、(y)>(n)であれば、特徴ベクトルに対してスパムメールであることを示すラベルSを付与し、(y)≦(n)であれば、特徴ベクトルに対して正常なメールであることを示すラベルHを付与する(図1(c))。
【0036】
そして、電子メール分類装置1は、付与したレベルに基づいて分類器を作成する(図1(d))。
電子メール分類装置1は、新たに受信するメールログデータ又は電子メールnのヘッダ情報を取得して解析し、解析結果から特徴ベクトルを生成し、当該特徴ベクトルを分類器に入力することにより、当該メールログデータ又は電子メールnがスパムメールか否かを判定する。また、この判定した結果をラベル付与の工程にフィードバックして、分類器を更新することによって、メールログデータ又は電子メールの受信数の増加に応じた学習効果が期待できる。なお、メールログデータとは、SMTPサーバ上に残される記録データのことである。また、以下に、電子メール分類装置1の構成と動作の詳細な説明を行う。
【0037】
電子メール分類装置1は、図2に示すように、収集部11と、特徴ベクトル生成部12と、判定部13と、比較部14と、ラベル付与部15と、分類器作成部16とを備える。収集部11は、教師データとして複数のメールログデータ又は電子メールを収集する。具体的には、収集部11は、過去に受信したメールログデータ又は電子メールや、ネットワークを介して他のサーバに蓄積されているメールログデータ又は電子メールを教師データとして収集する。なお、収集したメールログデータ又は電子メールには、スパムメールと判定されたメールや、正常なメールであると判定されたメールが含まれている。
【0038】
特徴ベクトル生成部12は、収集部11により収集されたメールログデータ又は電子メールのヘッダ情報を解析し、当該解析の結果に基づいて、メールログデータ又は電子メールの特徴を示す特徴ベクトルを生成する。なお、特徴ベクトルの生成方法については後述する。
【0039】
判定部13は、所定の判定ルール(例えば、S25Rや、DNSBL等)に基づいて、収集部11により収集されたメールログデータ又は電子メールのヘッダ情報を参照し、メールログデータ又は電子メールが迷惑メールであるか又は正常メールであるかを判定する。
【0040】
比較部14は、判定部13によって判定された結果に基づいて、特徴ベクトルごとに迷惑メールと判定された数と正常メールであると判定された数を比較する。ラベル付与部15は、比較部14の比較結果に基づいて、特徴ベクトルに対して迷惑メールであることを示すラベル又は正常メールであることを示すラベルを付与する。
【0041】
分類器作成部16は、ラベル付与部15により特徴ベクトルに対して付与されたラベルに基づいて、受信したメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールであるか又は正常メールであるかを分類する分類器を作成する。
【0042】
このような構成によれば、電子メール分類装置1は、予め教師データとして複数のメールログデータ又は電子メールを収集し、各メールログデータ又は電子メールのヘッダ情報から特徴ベクトルを生成し、既存の判定ルール(例えば、S25Rや、DNSBL等)によりメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールか否かの判定を行い、当該判定結果に基づいて特徴ベクトルにラベルを付与し、この付与されたラベルに基づいて分類器を作成する。
【0043】
よって、電子メール分類装置1は、既存のルールに基づいてヘッダ情報から単にスパムメールか否かを判定せず、かつ、学習におけるラベル付けについて人手を介することなくヘッダ情報を多用した学習に基づくスパムメールの分類器を作成することができる。また、電子メール分類装置1は、受信するメールログデータ又は電子メールのヘッダ情報に基づいて特徴ベクトルを生成し、生成した特徴ベクトルを作成した分類器に入力することにより、メールログデータ又は電子メールがスパムメールか否かを判定するので、単純に既存のルールを使用することによる誤検知、すなわち正常なメールをスパムメールであると誤検知する割合(false positive:FP)を低減することができる。
【0044】
また、電子メール分類装置1は、図2に示すように、メールログデータ又は電子メールを受信する受信部21と、受信部21によって受信したメールログデータ又は電子メールのヘッダ情報に基づいて特徴ベクトルを生成する特徴ベクトル生成部22と、特徴ベクトル生成部22により生成された特徴ベクトルを分類器作成部16によって作成された分類器に入力することによって、メールログデータ又は電子メールがスパムメールであるか否かを判定するスパムメール判定部23とを備える。なお、特徴ベクトル生成部22は、特徴ベクトル生成部12と同一の機能を有するので、特徴ベクトル生成部12を兼用する構成であっても良い。
【0045】
このようにして、電子メール分類装置1は、ヘッダ情報の解析結果から生成される特徴ベクトルに基づいてメールログデータ又は電子メールがスパムメールであるか否かを判定できるので、メールログデータ又は電子メールの本文(Body)を受信して、その本文を解析するまでもなく、ヘッダ情報の解析結果から生成される特徴ベクトルに基づいて高精度にスパムメールであるか否かの判定を行うことができる。また、電子メール分類装置1は、人手によらず分類器を作成することができるので、分類器の作成過程において、人為的な要素を排除してコールドスタート的な動作ができる。
【0046】
また、電子メール分類装置1では、特徴ベクトル生成部12は、収集部11により収集されたメールログデータ又は電子メールのヘッダ情報を解析し、少なくとも、メールログデータ又は電子メールを受信するセッション中の所定のコマンドに含まれているメールアドレスのドメインに関する情報と、IP(Internet Protcol)アドレスのDNS(Domain Name System)逆引きの情報に基づいて特徴ベクトルを生成する。
【0047】
このような構成によれば、電子メール分類装置1は、人手を介することなくメールログデータ又は電子メールのヘッダ情報を多用して特徴ベクトルを生成することができる。
【0048】
ここで、特徴ベクトル生成部12において、教師データから特徴ベクトルを生成する方法について説明する。教師データに含まれるメールログデータ又は電子メールのそれぞれに関して、特徴ベクトルriを以下のように定義する。
=(xi1,xi2,xi3,xi4,xi5,xi6,xi7,xi8,xi9,xi10,xi11,xi12
【0049】
また、特徴ベクトルriの各要素(xi1,xi2,xi3,xi4,xi5,xi6,xi7,xi8,xi9,xi10,xi11及びxi12)を以下のように定義する。
i1:SMTPセッション中のMAIL FROMコマンド中のメールアドレスのドメインが、IPアドレスのDNS逆引きホスト名のドメインと一致する場合を「1」とし、それ以外を「0」とする。
i2:SMTPセッション中のMAIL FROMコマンド中のメールアドレスのドメインがIPアドレスのDNS逆引きした際のAuthority section中のホスト名のドメインの中の少なくとも1つ以上と一致する場合を「1」とし、それ以外を「0」とする。
i3:SMTPセッション中のMAIL FROMコマンド中のメールアドレスのドメインがHELO/EHLOコマンド内のホスト名のドメインと一致する場合を「1」とし、それ以外を「0」とする。
i4:IPアドレスのDNS逆引きホスト名のドメインがIPアドレスのDNS逆引きした際のAuthority section中のホスト名のドメインの中の少なくとも1つ以上と一致する場合を「1」とし、それ以外を「0」とする。
i5:IPアドレスのDNS逆引きホスト名のドメインがHELO/EHLOコマンド内のホスト名のドメインと一致する場合を「1」とし、それ以外を「0」とする。
【0050】
i6:IPアドレスのDNS逆引きした際のAuthority section中のホスト名のドメインの中の少なくとも1つ以上がHELO/EHLOコマンド内のホスト名のドメインと一致する場合を「1」とし、それ以外を「0」とする。
i7:IPアドレスのDNS逆引きホスト名が存在する場合は「1」とし、それ以外「0」とする。
i8:(HELO/EHLOコマンド内のホスト名の中の数字の数)≧(IPアドレスに使われている数字の数)(e.g.HELO/EHLOコマンド内のホスト名:10.5.5.1,log−helo:10−5−5−1.example.com)の場合を「1」とし、それ以外を「0」とする。
i9:(IPアドレスのDNS逆引きホスト名の中の数字の数)≧(IPアドレスに使われている数字の数)の場合を「1」とし、それ以外を「0」とする。
i10:log−heloがトップレベルドメインで終わっていない場合を「1」とし、それ以外を「0」とする。
i11:自国から来ている場合を「1」とし、それ以外を「0」とする。また、IPアドレスと国との関係は、マッピングテーブルを参照することにより取得が可能である。電子メール分類装置1は、マッピングテーブルを自身が保有していても良いし、また、ネットワークを介してマッピングテーブルを保有している他の装置にアクセスして国情報を取得しても良い。
i12:HELO/EHLOコマンド内のホスト名にドットが含まれていない、又は、HELO/EHLOコマンド内のホスト名がIPアドレス形式でかつ実際のIPアドレスと一致しない、又は、HELO/EHLOコマンド内のホスト名のドメインが、RCPT TOコマンド内のメールアドレス(宛先メールアドレス)のドメインと一致した場合を「1」とし、それ以外を「0」とする。
【0051】
なお、本実施例では、「ドメイン」は、WHOISサーバ等に登録されている第2レベルドメイン又は第3レベルドメインまでと定義する。
【0052】
特徴ベクトル生成部12は、例えば、電子メールaのヘッダ情報を解析し、解析結果に基づいて各要素を決定し、以下のように特徴ベクトルraを生成する。
ra=(xa1,xa2,xa3,xa4,xa5,xa6,xa7,xa8,xa9,xa10,xa11,xa12)=(1,1,1,1,1,1,1,1,1,1,0,0)
特徴ベクトル生成部12は、このような特徴ベクトルriを教師データとして収集された全てのメールログデータ又は電子メールについて生成する。また、特徴ベクトルriは、本実施例においては、要素が12種類ある。したがって、理論的には、メールログデータ又は電子メールを4096種類に分類することができる。なお、上述した特徴ベクトルriの各定義は、例示であって、これ以外の要素が追加されても良く、要素を増加することにより4096種類以上にメールログデータ又は電子メールを分類することができ、要素の数に応じてメールログデータ又は電子メールを仔細に分類することができる。
【0053】
<ラベル付与(1)>
また、ラベル付与部15は、特徴ベクトル生成部12により生成した特徴ベクトルriに対して、以下に示す第1の条件のみを満たす場合には、迷惑メールであることを示すラベルS(Spam)を付与し、以下に示す第2の条件を満たす場合には、正常メールであることを示すラベルH(Ham)を付与する。
【数3】

【0054】
このような構成によれば、電子メール分類装置1は、k1とk2を任意に設定することにより(例えば、k1=0.001、k2=0)、正常なメールをスパムメールであると誤って判定されることがなくなる。
【0055】
<ラベル付与(2)>
また、ラベル付与部15は、特徴ベクトル生成部12により生成された特徴ベクトルriをメールログデータ又は電子メールのヘッダ情報を解析した結果に含まれている情報に基づいて第1の特徴ベクトルsiと第2の特徴ベクトルtiに分割し、以下の手順によって特徴ベクトルriに対してラベルS又はラベルHを付与しても良い。
=(xi1,xi2,xi3,xi4,xi5,xi6,xi7,xi8,xi9,xi10,xi11,xi12
si=(xi1,xi2,xi3,xi4,xi5,xi6
ti=(xi7,xi8,xi9,xi10,xi11,xi12
【0056】
ラベル付与部15は、以下に示す第3の条件を満たす場合には、特徴ベクトルriに対して迷惑メールであることを示すラベルSを付与し、第3の条件を満たさないが、以下に示す第4の条件を満たす場合には、特徴ベクトルriに対して正常メールであることを示すラベルHを付与する。
【0057】
また、ラベル付与部15は、第3の条件及び第4の条件を満たさない場合には、以下の手順によって特徴ベクトルriに対して第1のラベルs1から第6のラベルn2のいずれかを付与する。
ラベル付与部15は、以下に示す第5の条件を満たす場合には、第1の特徴ベクトルsiに対して第1のラベルs1を付与し、第5の条件を満たさないが、以下に示す第6の条件を満たす場合には、第1の特徴ベクトルsiに対して第2のラベルh1を付与し、第5の条件及び第6の条件を満たさない場合には、第1の特徴ベクトルsiに対して第3のラベルn1を付与する。また、ラベル付与部15は、以下に示す第7の条件を満たす場合には、第2の特徴ベクトルtiに対して第4のラベルs2を付与し、第7の条件を満たさないが、以下に示す第8の条件を満たす場合には、第2の特徴ベクトルtiに対して第5のラベルh2を付与し、第7の条件及び第8の条件を満たさない場合には、第2の特徴ベクトルtiに対して第6のラベルn2を付与する。
【0058】
そして、ラベル付与部15は、第1の特徴ベクトルsiと第2の特徴ベクトルtiに付与されているラベルの組み合わせが、第1のラベルs1と第4のラベルs2の組み合わせ、第1のラベルs1と第6のラベルn2の組み合わせ、又は第3のラベルn1と第4のラベルs2の組み合わせの場合には、特徴ベクトルriに対して迷惑メールであることを示すラベルSを付与する。また、ラベル付与部15は、第1の特徴ベクトルsiと第2の特徴ベクトルtiに付与されているラベルの組み合わせが、上記の組み合わせ以外の組み合わせの場合には、特徴ベクトルriに対して正常メールであることを示すラベルHを付与する。
【数4】

但し、kr1,ks1,kt1、kr2,ks2,kt2は、0≦kr1<1、0≦ks1<1、0≦kt1<1、0≦kr2<1、0≦ks2<1、0≦kt2<1を満たす任意の値である。また、所定のルールとは、例えば、S25RやDNSBL等である。
【0059】
このような構成によれば、電子メール分類装置1は、kr1、kr2、ks1、ks2、kt1及びkt2を任意に設定することにより(例えば、kr1=ks1=kt1=0.001、kr2=ks2=kt2=0)、受信する全てのメールについて、スパムメールであるか又は正常なメールであるかの判定を行い、正常なメールをスパムメールであると誤って判定することがない。
【0060】
また、分類器作成部16は、ラベル付与部15により特徴ベクトルに対して付与されたラベルに基づいて、分類器を作成する。電子メール分類装置1は、このように作成された分類器を用いて、受信したメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールであるか又は正常メールであるかの判定を行うことができる。また、電子メール分類装置1は、判定した結果をラベル付与部15にフィードバックして、分類器を更新することによって、メールログデータ又は電子メールの受信数の増加に応じた学習効果が期待できる。
【0061】
つぎに、受信したメールログデータ又は電子メールがスパムメールか否かを判定する方法について図3に示すフローチャートを参照しながら説明する。
収集工程ST1において、収集部11は、教師データとして複数のメールログデータ又は電子メールを収集する。
【0062】
特徴ベクトル生成工程ST2において、特徴ベクトル生成部12は、収集工程ST1により収集されたメールログデータ又は電子メールのヘッダ情報を解析し、当該解析の結果に基づいて、メールログデータ又は電子メールの特徴を示す特徴ベクトルを生成する。
判定工程ST3において、判定部13は、所定の判定ルール(S25Rや、DNSBL等)に基づいて、収集工程ST1により収集されたメールログデータ又は電子メールのヘッダ情報を参照し、メールログデータ又は電子メールが迷惑メールであるか又は正常メールであるかを判定する。
【0063】
比較工程ST4において、比較部14は、判定工程ST3によって判定された結果に基づいて、特徴ベクトルごとに迷惑メールと判定された数と正常メールであると判定された数を比較する。
ラベル付与工程ST5において、ラベル付与部15は、比較工程ST4の比較結果に基づいて、特徴ベクトルに対して迷惑メールであることを示すラベル又は正常メールであることを示すラベルを付与する。
【0064】
分類器作成工程ST6において、分類器作成部16は、ラベル付与工程ST5により特徴ベクトルに対して付与されたラベルに基づいて、受信したメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールであるか又は正常メールであるかを分類する分類器を作成する。
【0065】
このような構成によれば、電子メール分類方法は、予め教師データとして複数のメールログデータ又は電子メールを収集し、各メールログデータ又は電子メールのヘッダ情報から特徴ベクトルを生成し、既存の判定ルール(例えば、S25Rや、DNSBL等)によりメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールか否かの判定を行い、当該判定結果に基づいて特徴ベクトルにラベルを付与し、この付与されたラベルに基づいて分類器を作成する。
【0066】
よって、電子メール分類方法は、既存のルールに基づいてヘッダ情報から単にスパムメールか否かを判定せず、かつ、学習におけるラベル付けについて人手を介することなくヘッダ情報を多用した学習に基づくスパムメールの分類器を作成することができる。また、電子メール分類方法は、受信するメールログデータ又は電子メールのヘッダ情報に基づいて特徴ベクトルを生成し、生成した特徴ベクトルを作成した分類器に入力することにより、メールログデータ又は電子メールがスパムメールか否かを判定するので、単純に既存のルールを使用することによる誤検知、すなわち正常なメールをスパムメールであると誤検知する割合(false positive:FP)を低減することができる。
【0067】
また、電子メール分類方法は、ヘッダ情報の解析結果から生成される特徴ベクトルに基づいてメールログデータ又は電子メールがスパムメールであるか否かを判定できるので、メールログデータ又は電子メールの本文(Body)を受信して、その本文を解析するまでもなく、ヘッダ情報の解析結果から生成される特徴ベクトルに基づいて高精度にスパムメールであるか否かの判定を行うことができる。また、電子メール分類方法は、人手によらず分類器を作成することができるので、分類器の作成過程において、人為的な要素を排除してコールドスタート的な動作ができる。
【0068】
つぎに、電子メールを送信するSMTPクライアント101(以下、クライアント101という。)と、電子メールを受信するSMTPサーバ102(以下、サーバ102という。)との間で、電子メールの送受信を行う際のセッションについて図4を用いて説明する。また、クライアント101のドメイン名を「aaa.examle.co.jp」とし、IPアドレスを「XXX.XXX.XXX.XXX」とする。また、サーバ102のドメイン名を「bbb.examle.co.jp」とし、IPアドレスを「YYY.YYY.YYY.YYY」とする。また、SMTPサーバ202は、本実施例に係る電子メール分類装置1の機能を実装しているものとし、予め、教師データに基づいて分類器が作成されているものとする。
【0069】
ステップST11において、クライアント101は、接続確立要求を行いサーバ102との間で接続が確立した後、HELO SMTPセッションの要求を行う。クライアント101は、この要求の際に自身のドメイン名を送信する。
ステップST12において、サーバ102は、クライアント101を識別し、所定の応答コード(250)により自身のドメイン名を返信する。以降は、メールトランザクションが開始される。
ステップST13において、クライアント101は、MAIL FROMコマンドをサーバ102に送信する。
ステップST14において、サーバ102は、所定の応答コード(250)により返信する。
ステップST15において、クライアント101は、RCPT TOコマンドをサーバ102に送信する。
【0070】
ステップST16において、サーバ102は、クライアント101から受信した情報(電子メールのヘッダ情報)を解析し、解析結果から特徴ベクトルを生成し、分類器に入力してスパムメールであるか否かを判定する。サーバ102は、スパムメールであると判定した場合には、失敗を示すコード(550等)をクライアント101に送信する。クライアント101は、失敗を示すコードの受信によって、サーバ102に対して電子メールの本文(Body)の送信を行わない。以降は、クライアント101とサーバ102間において、所定の手順にしたがってセッションを閉じる処理を行う。
【0071】
また、ステップST17において、サーバ102は、正常のメールであると判定した場合には、成功を示すコード(250等)をクライアント101に送信する。以降は、クライアント101とサーバ102との間において、電子メールの本文(Body)の送受信を行い、その後、所定の手順にしたがってセッションを閉じる処理を行う(ステップST18からステップST23)。
【0072】
このようにして、電子メール分類装置1は、ヘッダ情報の解析結果から生成される特徴ベクトルに基づいてメールログデータ又は電子メールがスパムメールであるか否かを判定することができ、メールログデータ又は電子メールの本文(Body)を受信して、その本文を解析するまでもなく、ヘッダ情報の解析結果から生成される特徴ベクトルに基づいて高精度にスパムメールであるか否かの判定を行うことができる。
【0073】
また、上述で説明した電子メール分類装置1による一連の処理は、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。また、当該プログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されても良いし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されても良い。
【符号の説明】
【0074】
1 電子メール分類装置
11 収集部
12、22 特徴ベクトル生成部
13 判定部
14 比較部
15 ラベル付与部
16 分類器作成部
21 受信部
23 スパムメール判定部

【特許請求の範囲】
【請求項1】
教師データとして複数のメールログデータ又は電子メールを収集する収集部と、
前記収集部により収集されたメールログデータ又は電子メールのヘッダ情報を解析し、当該解析の結果に基づいて、メールログデータ又は電子メールの特徴を示す特徴ベクトルを生成する特徴ベクトル生成部と、
所定の判定ルールに基づいて、前記収集部により収集されたメールログデータ又は電子メールのヘッダ情報を参照し、当該メールログデータ又は電子メールが迷惑メールであるか又は正常メールであるかを判定する判定部と、
前記判定部によって判定された結果に基づいて、前記特徴ベクトルごとに迷惑メールと判定された数と正常メールであると判定された数を比較する比較部と、
前記比較部の比較結果に基づいて、前記特徴ベクトルに対して迷惑メールであることを示すラベル又は正常メールであることを示すラベルを付与するラベル付与部と、
前記ラベル付与部により前記特徴ベクトルに対して付与されたラベルに基づいて、受信したメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールであるか又は正常メールであるかを分類する分類器を作成する分類器作成部とを備えることを特徴とする電子メール分類装置。
【請求項2】
前記特徴ベクトル生成部は、前記収集部により収集されたメールログデータ又は電子メールのヘッダ情報を解析し、少なくとも、メールログデータ又は電子メールを受信するセッション中の所定のコマンドに含まれているメールアドレスのドメインに関する情報と、IPアドレスのDNS逆引きの情報に基づいて前記特徴ベクトルを生成することを特徴とする請求項1記載の電子メール分類装置。
【請求項3】
前記ラベル付与部は、第1の条件のみを満たす場合には、特徴ベクトルriに対して迷惑メールであることを示すラベルSを付与し、第2の条件を満たす場合には、特徴ベクトルriに対して正常メールであることを示すラベルHを付与することを特徴とする請求項1記載の電子メール分類装置。
【数1】

【請求項4】
前記ラベル付与部は、前記特徴ベクトル生成部により生成された特徴ベクトルriをメールログデータ又は電子メールのヘッダ情報を解析した結果に含まれている情報に基づいて、第1の特徴ベクトルsiと第2の特徴ベクトルtiに分割し、
第3の条件を満たす場合には、前記特徴ベクトルriに対して迷惑メールであることを示すラベルSを付与し、
前記第3の条件を満たさないが、第4の条件を満たす場合には、前記特徴ベクトルriに対して正常メールであることを示すラベルHを付与し、
前記第3の条件及び前記第4の条件を満たさない場合であって、
第5の条件を満たす場合には、前記第1の特徴ベクトルsiに対して第1のラベルs1を付与し、
前記第5の条件を満たさないが第6の条件を満たす場合には、前記第1の特徴ベクトルsiに対して第2のラベルh1を付与し、
前記第5の条件及び前記第6の条件を満たさない場合には、前記第1の特徴ベクトルsiに対して第3のラベルn1を付与し、
第7の条件を満たす場合には、前記第2の特徴ベクトルtiに対して第4のラベルs2を付与し、
前記第7の条件を満たさないが第8の条件を満たす場合には、前記第2の特徴ベクトルtiに対して第5のラベルh2を付与し、
前記第7の条件及び前記第8の条件を満たさない場合には、前記第2の特徴ベクトルtiに対して第6のラベルn2を付与し、
前記第1の特徴ベクトルsiと前記第2の特徴ベクトルtiに付与されているラベルの組み合わせが、前記第1のラベルs1と前記第4のラベルs2の組み合わせ、前記第1のラベルs1と前記第6のラベルn2の組み合わせ、又は前記第3のラベルn1と前記第4のラベルs2の組み合わせの場合には、前記特徴ベクトルriに対して迷惑メールであることを示すラベルSを付与し、
前記第1の特徴ベクトルsiと前記第2の特徴ベクトルtiに付与されているラベルの組み合わせが、上記の組み合わせ以外の組み合わせの場合には、前記特徴ベクトルriに対して正常メールであることを示すラベルHを付与することを特徴とする請求項1記載の電子メール分類装置。
【数2】

但し、kr1,ks1,kt1、kr2,ks2,kt2は、0≦kr1<1、0≦ks1<1、0≦kt1<1、0≦kr2<1、0≦ks2<1、0≦kt2<1を満たす任意の値である。
【請求項5】
教師データとして複数のメールログデータ又は電子メールを収集する収集工程と、
前記収集工程により収集されたメールログデータ又は電子メールのヘッダ情報を解析し、当該解析の結果に基づいて、メールログデータ又は電子メールの特徴を示す特徴ベクトルを生成する特徴ベクトル生成工程と、
所定の判定ルールに基づいて、前記収集工程により収集されたメールログデータ又は電子メールのヘッダ情報を参照し、当該メールログデータ又は電子メールが迷惑メールであるか又は正常メールであるかを判定する判定工程と、
前記判定工程によって判定された結果に基づいて、前記特徴ベクトルごとに迷惑メールと判定された数と正常メールであると判定された数を比較する比較工程と、
前記比較工程の比較結果に基づいて、前記特徴ベクトルに対して迷惑メールであることを示すラベル又は正常メールであることを示すラベルを付与するラベル付与工程と、
前記ラベル付与工程により前記特徴ベクトルに対して付与されたラベルに基づいて、受信したメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールであるか又は正常メールであるかを分類する分類器を作成する分類器作成工程とを備えることを特徴とする電子メール分類方法。
【請求項6】
迷惑メールであるか又は正常メールであるかを判定する方法をコンピュータによって実現するための電子メール分類プログラムであって、
教師データとして複数のメールログデータ又は電子メールを収集する収集工程と、
前記収集工程により収集されたメールログデータ又は電子メールのヘッダ情報を解析し、当該解析の結果に基づいて、メールログデータ又は電子メールの特徴を示す特徴ベクトルを生成する特徴ベクトル生成工程と、
所定の判定ルールに基づいて、前記収集工程により収集されたメールログデータ又は電子メールのヘッダ情報を参照し、当該メールログデータ又は電子メールが迷惑メールであるか又は正常メールであるかを判定する判定工程と、
前記判定工程によって判定された結果に基づいて、前記特徴ベクトルごとに迷惑メールと判定された数と正常メールであると判定された数を比較する比較工程と、
前記比較工程の比較結果に基づいて、前記特徴ベクトルに対して迷惑メールであることを示すラベル又は正常メールであることを示すラベルを付与するラベル付与工程と、
前記ラベル付与工程により前記特徴ベクトルに対して付与されたラベルに基づいて、受信したメールログデータ又は電子メールのヘッダ情報に基づいて迷惑メールであるか又は正常メールであるかを分類する分類器を作成する分類器作成工程とをコンピュータによって実現するための電子メール分類プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate