(57)【要約】  メール検査装置（１０）において、学習部（２０）は、複数のメールに含まれる各メールの特徴と、各メールに付随するリソースの特徴との間の関係性を学習する。各メールに付随するリソースには、各メールに添付されたファイルと、各メールの本文中のＵＲＬによって特定されるリソースとの少なくともいずれかが含まれる。判定部（３０）は、検査対象のメールの特徴と、検査対象のメールに付随するリソースの特徴とを抽出し、抽出した特徴間に、学習部（２０）により学習された関係性があるかどうかによって、検査対象のメールが不審なメールであるかどうかを判定する。
2019053844.tif 000002
【特許請求の範囲】
【請求項１】
複数のメールに含まれる各メールの特徴と、各メールに添付されたファイルと各メールの本文中のＵＲＬによって特定されるリソースとの少なくともいずれかを含む、各メールに付随するリソースの特徴との間の関係性を学習する学習部と、
検査対象のメールの特徴と、前記検査対象のメールに付随するリソースの特徴とを抽出し、抽出した特徴間に、前記学習部により学習された関係性があるかどうかによって、前記検査対象のメールが不審なメールであるかどうかを判定する判定部と
を備えるメール検査装置。
【請求項２】
前記学習部は、各メールの宛先および題名の少なくともいずれかを含む、各メールのキー情報によって前記複数のメールを２つ以上のメール集合に分類し、メール集合ごとに、前記関係性を学習し、前記関係性を示すデータを、対応するキー情報とともにデータベースに登録し、
前記判定部は、前記検査対象のメールのキー情報を用いて前記データベースを検索し、抽出した特徴間に、検索結果として得られたデータに示されている関係性があるかどうかによって、前記検査対象のメールが不審なメールであるかどうかを判定する請求項１に記載のメール検査装置。
【請求項３】
前記学習部は、前記関係性を表す関数を求め、
前記判定部は、抽出した特徴のうち一方の特徴を示すデータを、前記学習部により求められた関数に入力し、当該関数からの出力として得られたデータに示されている特徴が、抽出した特徴のうち他方の特徴に類似するかどうかによって、前記検査対象のメールが不審なメールであるかどうかを判定する請求項１または２に記載のメール検査装置。
【請求項４】
前記学習部は、一連のメールのやり取りについて、前記やり取りに含まれる１通目のメールの特徴を示す第１データと、前記やり取りに含まれる２通目以降のメールそれぞれの特徴を示すデータであり、前記やり取りにおいて先行するメールの特徴を継承する第２データと、前記やり取りに含まれる各メールに付随するリソースの特徴を示す第３データとを生成し、生成した第１データ、第２データおよび第３データを用いて前記関係性を学習する請求項１から３のいずれか１項に記載のメール検査装置。
【請求項５】
前記学習部は、Ｊを整数、ＫをＪよりも小さい整数として、前記１通目のメールの特徴を表すＪ次元のベクトルを算出し、算出したＪ次元のベクトルを前記第１データとして設定し、前記２通目以降のメールそれぞれの特徴を表すＪ−Ｋ次元のベクトルを算出し、算出したＪ−Ｋ次元のベクトルと、前記やり取りにおいて１つ先行するメールの特徴を示すデータに相当するＪ次元のベクトルに対して次元削減を行うことで得られるＫ次元のベクトルとを連結し、連結後のＪ次元のベクトルを前記第２データとして設定する請求項４に記載のメール検査装置。
【請求項６】
学習部は、複数のメールに含まれる各メールの特徴と、各メールに添付されたファイルと各メールの本文中のＵＲＬによって特定されるリソースとの少なくともいずれかを含む、各メールに付随するリソースの特徴との間の関係性を学習し、
判定部は、検査対象のメールの特徴と、前記検査対象のメールに付随するリソースの特徴とを抽出し、抽出した特徴間に、前記学習部により学習された関係性があるかどうかによって、前記検査対象のメールが不審なメールであるかどうかを判定するメール検査方法。
【請求項７】
コンピュータに、
複数のメールに含まれる各メールの特徴と、各メールに添付されたファイルと各メールの本文中のＵＲＬによって特定されるリソースとの少なくともいずれかを含む、各メールに付随するリソースの特徴との間の関係性を学習する学習処理と、
検査対象のメールの特徴と、前記検査対象のメールに付随するリソースの特徴とを抽出し、抽出した特徴間に、前記学習処理により学習された関係性があるかどうかによって、前記検査対象のメールが不審なメールであるかどうかを判定する判定処理と
を実行させるメール検査プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メール検査装置、メール検査方法およびメール検査プログラムに関するものである。
【背景技術】
【０００２】
特定の組織または人を対象として、機密情報の窃取等の攻撃を行う標的型攻撃は深刻な脅威となっている。標的型攻撃の中でも、メールをベースにした標的型攻撃メールによる攻撃は依然として重大な脅威の１つである。トレンドマイクロの調査（ｈｔｔｐｓ：／／ｗｗｗ．ｔｒｅｎｄｍｉｃｒｏ．ｔｗ／ｃｌｏｕｄ−ｃｏｎｔｅｎｔ／ｕｓ／ｐｄｆｓ／ｂｕｓｉｎｅｓｓ／ｄａｔａｓｈｅｅｔｓ／ｄｓ＿ｓｏｃｉａｌ−ｅｎｇｉｎｅｅｒｉｎｇ−ａｔｔａｃｋ−ｐｒｏｔｅｃｔｉｏｎ．ｐｄｆ）では、標的型攻撃メールによるマルウェア感染が企業に対する攻撃全体の７６％にも上るとの結果が出ている。そのため、標的型攻撃メールを防ぐことは、被害が増加し、巧妙となってきているサイバー攻撃を防ぐ観点から重要である。【０００３】
特許文献１には、正規メールヘッダと受信メールのヘッダとを比較し、受信メールが不審なメールであるかどうかを判定する技術が開示されている。【０００４】
特許文献２には、メールの誤送信防止のために、メールの本文に含まれる名詞等の情報をもとに、メールが宛先アドレスから判定される宛先に普段送信しているメールに類似しているかどうかを判定および通知する技術が開示されている。【０００５】
特許文献３には、メールに添付されるファイルが不審なファイルであるかどうかを判定するために、ファイルのフォーマットを特定し、特定したフォーマットが許可されるフォーマットであるかどうかを判定する技術が開示されている。【０００６】
特許文献４には、新規受信メールのヘッダ情報と過去メールのヘッダ情報との間の距離から、新規受信メールが不審なメールであるかどうかを判定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−２３６３０８号公報
【特許文献２】特開２０１７−４１２６号公報
【特許文献３】特表２００８−５４６１１１号公報
【特許文献４】特開２０１４−１０２７０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の技術では、巧妙な標的型攻撃メールを検知することができない。具体例として、すでに標的組織内の踏み台がマルウェアに感染しているとする。攻撃者が、組織の機密情報にアクセスする権限を有する者の端末等、最終目標の感染を目的とする場合に、踏み台のメールアドレスおよび情報を利用して最終目標にメールを送ることが考えられる。この場合には、攻撃者が、踏み台の特徴を踏まえたうえで攻撃のメールを送るため、従来の技術では検知が困難である。【０００９】
本発明は、巧妙な攻撃メールの検知を目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様に係るメール検査装置は、
複数のメールに含まれる各メールの特徴と、各メールに添付されたファイルと各メールの本文中のＵＲＬによって特定されるリソースとの少なくともいずれかを含む、各メールに付随するリソースの特徴との間の関係性を学習する学習部と、
検査対象のメールの特徴と、前記検査対象のメールに付随するリソースの特徴とを抽出し、抽出した特徴間に、前記学習部により学習された関係性があるかどうかによって、前記検査対象のメールが不審なメールであるかどうかを判定する判定部とを備える。
「ＵＲＬ」は、Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒの略語である。
【発明の効果】
【００１１】
本発明では、検査対象のメールの特徴と、検査対象のメールに付随するリソースの特徴との間に、あらかじめ学習された関係性があるかどうかによって、検査対象のメールが不審なメールであるかどうかを判定することで、巧妙な攻撃メールを検知できる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係るメール検査装置の構成を示すブロック図。
【図２】実施の形態１に係るメール検査装置の学習部の構成を示すブロック図。
【図３】実施の形態１に係るメール検査装置の判定部の構成を示すブロック図。
【図４】実施の形態１に係るメール検査装置の動作を示すフローチャート。
【図５】実施の形態１に係るメール検査装置の学習部の動作を示すフローチャート。
【図６】実施の形態１に係るメール検査装置の判定部の動作を示すフローチャート。
【図７】実施の形態２に係るメール検査装置の学習部の動作を示すフローチャート。
【図８】実施の形態２に係るメール検査装置の学習部の動作を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、２つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、１つの実施の形態または２つ以上の実施の形態の組み合わせが部分的に実施されても構わない。
【００１４】
実施の形態１．
本実施の形態について、図１から図６を用いて説明する。
【００１５】
本実施の形態では、巧妙な攻撃を検知するために、メールのコンテキストと、添付ファイルまたはＵＲＬの参照先といったコンテンツのコンテキストとの組み合わせが用いられる。
【００１６】
メールのコンテンツとは、メールに付随するリソースのことである。メールに付随するリソースには、メールに添付されたファイルと、メールの本文中のＵＲＬによって特定されるリソースとの少なくともいずれかが含まれる。すなわち、コンテンツは、例えば、メールの添付ファイル、または、メールの本文中に記載されたＵＲＬのリンク先Ｗｅｂページである。
【００１７】
メールまたはコンテンツのコンテキストとは、メールまたはコンテンツが含む、意味および脈絡のことである。コンテキストは、メールまたはコンテンツから、メールまたはコンテンツの特徴として抽出される。
【００１８】
＊＊＊構成の説明＊＊＊
図１を参照して、本実施の形態に係るメール検査装置１０の構成を説明する。
【００１９】
メール検査装置１０は、コンピュータである。メール検査装置１０は、プロセッサ１１を備えるとともに、メモリ１２、補助記憶装置１３、入力インタフェース１４、出力インタフェース１５および通信装置１６といった他のハードウェアを備える。プロセッサ１１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２０】
メール検査装置１０は、機能要素として、学習部２０と、判定部３０と、データベース４０とを備える。学習部２０および判定部３０の機能は、ソフトウェアにより実現される。
【００２１】
プロセッサ１１は、メール検査プログラムを実行する装置である。メール検査プログラムは、学習部２０および判定部３０の機能を実現するプログラムである。プロセッサ１１は、例えば、ＣＰＵである。「ＣＰＵ」は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略語である。
【００２２】
メモリ１２は、メール検査プログラムを記憶する装置である。メモリ１２は、例えば、フラッシュメモリまたはＲＡＭである。「ＲＡＭ」は、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略語である。
【００２３】
補助記憶装置１３は、データベース４０が配置される装置である。補助記憶装置１３は、例えば、フラッシュメモリまたはＨＤＤである。「ＨＤＤ」は、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略語である。データベース４０は、適宜メモリ１２に展開される。
【００２４】
入力インタフェース１４は、図示していない入力装置に接続されるインタフェースである。入力装置は、メール検査プログラムへのデータの入力のためにユーザにより操作される装置である。入力装置は、例えば、マウス、キーボードまたはタッチパネルである。
【００２５】
出力インタフェース１５は、図示していないディスプレイに接続されるインタフェースである。ディスプレイは、メール検査プログラムから出力されるデータを画面に表示する装置である。ディスプレイは、例えば、ＬＣＤである。「ＬＣＤ」は、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略語である。
【００２６】
通信装置１６は、メール検査プログラムに入力されるデータを受信するレシーバと、メール検査プログラムから出力されるデータを送信するトランスミッタとを含む。通信装置１６は、例えば、通信チップまたはＮＩＣである。「ＮＩＣ」は、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄの略語である。
【００２７】
メール検査プログラムは、プロセッサ１１に読み込まれ、プロセッサ１１によって実行される。メモリ１２には、メール検査プログラムだけでなく、ＯＳも記憶されている。「ＯＳ」は、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略語である。プロセッサ１１は、ＯＳを実行しながら、メール検査プログラムを実行する。
【００２８】
メール検査プログラムおよびＯＳは、補助記憶装置１３に記憶されていてもよい。メール検査プログラムおよびＯＳは、補助記憶装置１３に記憶されている場合、メモリ１２にロードされ、プロセッサ１１によって実行される。
【００２９】
なお、メール検査プログラムの一部または全部がＯＳに組み込まれていてもよい。
【００３０】
メール検査装置１０は、プロセッサ１１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、メール検査プログラムの実行を分担する。それぞれのプロセッサは、例えば、ＣＰＵである。
【００３１】
メール検査プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ１２、補助記憶装置１３、または、プロセッサ１１内のレジスタまたはキャッシュメモリに記憶される。
【００３２】
メール検査プログラムは、学習部２０および判定部３０により行われる処理をそれぞれ学習処理および判定処理としてコンピュータに実行させるプログラムである。あるいは、メール検査プログラムは、学習部２０および判定部３０により行われる手順をそれぞれ学習手順および判定手順としてコンピュータに実行させるプログラムである。メール検査プログラムは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
【００３３】
メール検査装置１０は、１台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。メール検査装置１０が複数台のコンピュータで構成されている場合は、学習部２０および判定部３０の機能が、各コンピュータに分散されて実現されてもよい。
【００３４】
図２を参照して、学習部２０の構成を説明する。
【００３５】
学習部２０は、ラベル付与部２１、コンテンツ分離部２２、メールフィルタ部２３、メールコンテキスト抽出部２４、コンテンツコンテキスト抽出部２５および関係性学習部２６を備える。
【００３６】
図３を参照して、判定部３０の構成を説明する。
【００３７】
判定部３０は、コンテンツ分離部３１、メールフィルタ部３２、メールコンテキスト抽出部３３、コンテンツコンテキスト抽出部３４およびコンテキスト比較部３５を備える。
【００３８】
＊＊＊動作の説明＊＊＊
図１とともに図４を参照して、本実施の形態に係るメール検査装置１０の動作を説明する。メール検査装置１０の動作は、本実施の形態に係るメール検査方法に相当する。
【００３９】
メール検査装置１０の動作には、大きく分けて準備フェーズＳ１００と、運用フェーズＳ２００との２つのフェーズがある。
【００４０】
準備フェーズＳ１００では、学習部２０が、複数のメールに含まれる各メールの特徴と、各メールに付随するリソースの特徴との間の関係性を学習する。各メールに付随するリソースには、各メールに添付されたファイルと、各メールの本文中のＵＲＬによって特定されるリソースとの少なくともいずれかが含まれる。
【００４１】
具体的には、準備フェーズＳ１００では、解析対象のメールが学習部２０に入力される。学習部２０は、解析対象のメールのコンテキストと、解析対象のメールのコンテンツのコンテキストとの関係性を学習する。学習部２０は、学習結果をデータベース４０に登録する。
【００４２】
運用フェーズＳ２００では、判定部３０が、検査対象のメールの特徴と、検査対象のメールに付随するリソースの特徴とを抽出し、抽出した特徴間に、学習部２０により学習された関係性があるかどうかによって、検査対象のメールが不審なメールであるかどうかを判定する。
【００４３】
具体的には、運用フェーズＳ２００では、検査対象のメールが判定部３０に入力される。判定部３０は、データベース４０を参照し、検査対象のメールに対応する関係性を特定することで、検査対象のメールが不審なメールであるかどうかを判定する。すなわち、判定部３０は、データベース４０に登録された情報をもとに、コンテンツを直接または間接的に含むメールが不自然であるかどうかを判定する。
【００４４】
各フェーズの説明を行う。
【００４５】
図２とともに図５を参照して、準備フェーズＳ１００の説明を行う。
【００４６】
ステップＳ１１０では、解析対象となる１つ以上のメール集合が用意される。これらのメール集合はすべてコンテンツを含んでいるものとする。解析対象のメール集合は、ラベル付与部２１に入力される。ラベル付与部２１は、キー情報によって解析対象のメール集合に含まれるメールにラベルを付していく。すなわち、ラベル付与部２１は、キー情報をもとに、解析対象のメールをいくつかのメール集合に分類する。キー情報は、本実施の形態では宛先情報であるが、題名等、メールの分類に用いることのできる情報であれば、任意の情報でよい。題名が用いられる場合は、題名に特定のキーワードが含まれるかどうかによってラベルが判定される。ラベル付は、解析対象のメール集合が空になるまで行われる。キー情報は、データベースに登録される要素の索引として用いられる。
【００４７】
ステップＳ１２０では、ステップＳ１１０で得られた各メール集合がコンテンツ分離部２２に入力される。コンテンツ分離部２２は、各メール集合からメールを取り出す。コンテンツ分離部２２は、取り出したメールからコンテンツを抽出する。すなわち、コンテンツ分離部２２は、ラベル付与部２１により分類された各メールから、コンテンツを分離する。コンテンツ分離部２２は、コンテンツと、コンテンツ分離後のメールとの２種類のデータを出力する。
【００４８】
コンテンツが添付ファイルである場合、コンテンツ分離部２２は、例えば、Ｐｙｔｈｏｎのｅｍａｉｌパッケージ（ｈｔｔｐ：／／ｄｏｃｓ．ｐｙｔｈｏｎ．ｊｐ／２／ｌｉｂｒａｒｙ／ｅｍａｉｌ．ｐａｒｓｅｒ．ｈｔｍｌ）を用いて、解析対象のメールをパースすることで、添付ファイルを抽出することができる。
【００４９】
ステップＳ１３０では、ステップＳ１２０によるコンテンツ分離後のメールがメールフィルタ部２３に入力される。メールフィルタ部２３は、コンテンツ分離後のメールの題名、Ｔｏ、Ｃｃおよび本文をもとに、コンテンツ分離後のメールをコンテキストが抽出できる形に整形し、整形後メールデータを得る。すなわち、メールフィルタ部２３は、コンテンツ分離後のメールから、コンテキスト抽出で利用されるデータだけを抽出し、抽出したデータを整形後メールデータとして出力する。整形後メールデータは、本実施の形態では題名、宛先情報および本文の３つの要素からなるが、これら３つの要素のうち１つまたは２つの要素が省かれてもよい。本文は、元の文章から引用文および署名等が取り除かれ、解析しやすい状態に修正されていてもよい。
【００５０】
ステップＳ１４０では、ステップＳ１３０で得られた整形後メールデータが学習データとしてメールコンテキスト抽出部２４に入力される。メールコンテキスト抽出部２４は、整形後メールデータから、コンテキストを抽出する。メールコンテキスト抽出部２４により抽出されたコンテキストをメールコンテキストと呼ぶ。メールコンテキストは、本実施の形態ではベクトルの形式で表現されるが、キーワード群の形式で表現されてもよい。
【００５１】
メールコンテキストは、メールから抽出可能な特徴ベクトルの連結によって表現される。整形後メールデータが題名、宛先情報および本文の３つの要素からなる場合、各要素が特徴ベクトルに置き換えられて３つの特徴ベクトルが得られる。その後、それらの特徴ベクトルが連結されてメールコンテキストが得られる。
【００５２】
各要素から特徴ベクトルを抽出する方法を、宛先情報と、題名および本文のような文章とのそれぞれについて示す。前述したように、ここでは、キー情報に宛先情報が利用されているとする。
【００５３】
宛先情報の特徴ベクトルへの変換は、キー情報の候補群に含まれる宛先の１つ１つを、宛先情報が含むかどうかによって行われる。例えば、キー情報の候補群が「ｘｘｘ＠ａｂ．ｃｏｍ」、「ｙｙｙ＠ａｂ．ｃｏｍ」、「ｚｚｚ＠ａｂ．ｃｏｍ」および「ａｂｃ＠ｘｘ．ｃｏｍ」の４つであるとする。宛先情報の宛先群が「ｘｘｘ＠ａｂ．ｃｏｍ」、「ｚｚｚ＠ａｂ．ｃｏｍ」、「ｅｆｇ＠ｘｙ．ｃｏｍ」の３つであるとする。この場合、宛先情報は、式（１）のような特徴ベクトルに変換される。
【数１】
2019053844.tif 000003
【００５４】
題名および本文のような文章の特徴ベクトルへの変換は、ｄｏｃ２ｖｅｃ（ｈｔｔｐｓ：／／ｒａｄｉｍｒｅｈｕｒｅｋ．ｃｏｍ／ｇｅｎｓｉｍ／ｍｏｄｅｌｓ／ｄｏｃ２ｖｅｃ．ｈｔｍｌ）のような自然言語処理技術を用いて行われる。なお、文章の特徴ベクトルへの変換は、ＴＦ−ＩＤＦのようなキーワード抽出技術により抽出したキーワードをＢｏＷによりベクトル化することによって行われてもよい。「ＴＦ」は、Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙの略語である。「ＩＤＦ」は、Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙの略語である。「ＢｏＷ」は、Ｂａｇ  ｏｆ  Ｗｏｒｄｓの略語である。
【００５５】
以上の手続きにより、式（２）のような特徴ベクトルがメールから得られる。
【数２】
2019053844.tif 000004
演算子・はベクトルの要素を結合する演算子、ベクトルｖａは宛先情報の特徴ベクトル、ベクトルｖｂは題名の特徴ベクトル、ベクトルｖｃは本文の特徴ベクトルである。
【００５６】
ステップＳ１５０では、ステップＳ１２０で抽出されたコンテンツがコンテンツコンテキスト抽出部２５に入力される。コンテンツコンテキスト抽出部２５は、メールから分離されたコンテンツの種類に応じて、コンテンツから、コンテキストを抽出する。コンテンツコンテキスト抽出部２５により抽出されたコンテキストをコンテンツコンテキストと呼ぶ。コンテンツコンテキストは、メールコンテキストと同じように、本実施の形態ではベクトルの形式で表現されるが、キーワード群の形式で表現されてもよい。
【００５７】
コンテンツがＰＤＦ形式の文書ファイルである場合、例えば、ＰＤＦＭｉｎｅｒ（ｈｔｔｐ：／／ｗｗｗ．ｕｎｉｘｕｓｅｒ．ｏｒｇ／〜ｅｕｓｋｅ／ｐｙｔｈｏｎ／ｐｄｆｍｉｎｅｒ／）のようなツールを用いることで、ＰＤＦに記載されている文章およびファイル名を抽出することが可能である。「ＰＤＦ」は、Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔの略語である。
【００５８】
抽出された文章の特徴ベクトルへの変換は、メールの題名および本文と同様に、ｄｏｃ２ｖｅｃのような自然言語処理技術を用いて行われる。
【００５９】
ステップＳ１６０では、ステップＳ１４０で得られたメールコンテキストと、ステップＳ１５０で得られたコンテンツコンテキストとが関係性学習部２６に入力される。関係性学習部２６は、メールコンテキストからコンテンツコンテキストが導かれる関数を求める。すなわち、関係性学習部２６は、メールコンテキストとコンテンツコンテキストとの間の関係性を表す関数を求める。関係性学習部２６は、求めた関数をデータベース４０に、キー情報とともに登録する。
【００６０】
関数の具体的な求め方を説明する。
【００６１】
あるメール集合から得られたメールコンテキストの集合をＣｍとし、Ｃｍの要素をｃｍｉとする。同じメール集合から得られたコンテンツコンテキストの集合をＣｃとし、Ｃｃの要素をｃｃｉとする。これを式（３）、（４）、（５）および（６）で表す。
ｃｍｉ∈Ｃｍ  （０≦ｉ≦Ｎ）  （３）
ｃｃｉ∈Ｃｃ  （０≦ｉ≦Ｎ）  （４）
ｃｍｉ＝（ｘｉ１，ｘｉ２，・・・，ｘｉＬ）  （５）
ｃｃｉ＝（ｔｉ１，ｔｉ２，・・・，ｔｉＭ）  （６）
Ｎはメール集合の要素数、ｃｍｉはＬ次元のベクトル、ｃｃｉはＭ次元のベクトルとする。
【００６２】
ｃｍｉから最終的にｃｃｉが導かれる関数ｆの要素を式（７）に示す。
ｆ（ｃｍｉ）＝ｃｙｉ＝（ｙｉ１，ｙｉ２，・・・，ｙｉＭ）  （７）
【００６３】
関数ｆを確率的勾配降下法により学習するための損失関数Ｅの例を式（８）に示す。
【数３】
2019053844.tif 000005
Ｂはメール集合内から学習で用いるために選択されたバッチ数である。
【００６４】
関係性学習部２６は、以上の式をもとに学習した関数ｆを、メールコンテキストとコンテンツコンテキストとの間の関係性を示すデータとして、データベース４０に登録する。
【００６５】
以上説明したように、準備フェーズＳ１００において、学習部２０は、複数のメールに含まれる各メールのキー情報によって複数のメールを２つ以上のメール集合に分類する。各メールのキー情報には、各メールの宛先および題名の少なくともいずれかが含まれる。学習部２０は、メール集合ごとに、各メールの特徴と各メールに付随するリソースの特徴との間の関係性を学習する。学習部２０は、メール集合ごとに、関係性を示すデータを、対応するキー情報とともにデータベース４０に登録する。
【００６６】
図３とともに図６を参照して、運用フェーズＳ２００の説明を行う。
【００６７】
ステップＳ２１０では、コンテンツ分離部２２と同等の機能を有するコンテンツ分離部３１が、ステップＳ１２０と同様の処理により、検査対象のメールから、コンテンツを分離する。
【００６８】
ステップＳ２２０では、メールフィルタ部２３と同等の機能を有するメールフィルタ部３２が、ステップＳ１３０と同様の処理により、コンテンツ分離後のメールから、整形後メールデータを得る。同時に、メールフィルタ部３２は、キー情報も得る。
【００６９】
ステップＳ２３０では、メールコンテキスト抽出部２４と同等の機能を有するメールコンテキスト抽出部３３が、ステップＳ１４０と同様の処理により、整形後メールデータから、メールコンテキストを抽出する。
【００７０】
ステップＳ２４０では、コンテンツコンテキスト抽出部２５と同等の機能を有するコンテンツコンテキスト抽出部３４が、ステップＳ１５０と同様の処理により、コンテンツから、コンテンツコンテキストを抽出する。
【００７１】
ステップＳ２５０では、ステップＳ２３０で得られたメールコンテキストと、ステップＳ２４０で得られたコンテンツコンテキストとがコンテキスト比較部３５に入力される。コンテキスト比較部３５は、データベース４０に登録されている関数により、メールコンテキストとコンテンツコンテキストとが類似するかどうかを判定することによって、検査対象のメールが不審なメールであるかどうかを判定する。すなわち、コンテキスト比較部３５は、メールコンテキストとコンテンツコンテキストとのうち一方のコンテキストを示すデータを、関係性学習部２６により求められた関数に入力する。そして、コンテキスト比較部３５は、当該関数からの出力として得られたデータに示されているコンテキストが、メールコンテキストとコンテンツコンテキストとのうち他方のコンテキストに類似するかどうかによって、検査対象のメールが不審なメールであるかどうかを判定する。
【００７２】
不審なメールの具体的な判定方法を説明する。
【００７３】
検査対象のメールから得られたメールコンテキストをｃ’ｍとする。同じメールから得られたコンテンツコンテキストをｃ’ｃとする。
【００７４】
コンテキスト比較部３５は、ステップＳ２２０で得られたキー情報により、データベース４０を参照し、準備フェーズＳ１００で登録された関数ｆを引き出す。コンテキスト比較部３５は、引き出した関数ｆに、ステップＳ２３０で得られたメールコンテキストｃ’ｍを代入し、関数ｆによる写像ｃ’ｙを得る。これを式（９）で表す。
ｆ（ｃ’ｍ）＝ｃ’ｙ＝（ｙ’１，ｙ’２，・・・，ｙ’Ｍ）  （９）
【００７５】
コンテキスト比較部３５は、得られたｃ’ｙと、ステップＳ２２０で得られたコンテンツコンテキストｃ’ｃとを、２つのベクトルの類似度を評価する評価関数ｇに代入する。コンテキスト比較部３５は、得られた類似度の評価値を閾値ｔｈと比較して、ｃ’ｙとｃ’ｃとが類似しているかどうかを判定する。評価関数ｇの例として、コサイン類似度を用いた評価関数ｇを式（１０）に示す。
ｇ（ｃ’ｃ，ｃ’ｙ）＝（ｃ’ｃ・ｃ’ｙ）／（｜ｃ’ｃ｜｜ｃ’ｙ｜）  （１０）
【００７６】
コンテキスト比較部３５は、類似度の評価値が閾値ｔｈよりも低い場合、コンテンツコンテキストがメールコンテキストから離れているため、検査対象のメールは不審なメールであると判定する。
【００７７】
以上説明したように、運用フェーズＳ２００において、判定部３０は、検査対象のメールの特徴と、検査対象のメールに付随するリソースの特徴とを抽出する。判定部３０は、検査対象のメールのキー情報を用いてデータベース４０を検索する。判定部３０は、抽出した特徴間に、検索結果として得られたデータに示されている関係性があるかどうかによって、検査対象のメールが不審なメールであるかどうかを判定する。
【００７８】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、検査対象のメールの特徴と、検査対象のメールに付随するリソースの特徴との間に、あらかじめ学習された関係性があるかどうかによって、検査対象のメールが不審なメールであるかどうかを判定することで、巧妙な攻撃メールを検知できる。
【００７９】
本実施の形態によれば、受け取ったメールのコンテキストとコンテンツのコンテキストとが異なる不審なメールを検知することができる。よって、巧妙な攻撃による、メール経由でのマルウェア感染を防ぐことが可能となる。
【００８０】
標的型攻撃メールを防ぐことは、巧妙となっているサイバー攻撃を防ぐために重要である。具体例として、すでに標的組織内の踏み台がマルウェアに感染しているとする。攻撃者が、最終目標の感染を目的として、踏み台のメールアドレスおよび情報を利用して最終目標にメールを送ったとする。この場合でも、本実施の形態では、メールコンテキストとコンテンツコンテキストとの間の関係性から、コンテンツの不自然さを検知し、巧妙な標的型攻撃メールを検知することができる。
【００８１】
＊＊＊他の構成＊＊＊
本実施の形態では、学習部２０および判定部３０の機能がソフトウェアにより実現されるが、変形例として、学習部２０および判定部３０の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、学習部２０および判定部３０の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
【００８２】
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＦＰＧＡまたはＡＳＩＣである。「ＩＣ」は、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。「ＧＡ」は、Ｇａｔｅ  Ａｒｒａｙの略語である。「ＦＰＧＡ」は、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。「ＡＳＩＣ」は、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。
【００８３】
プロセッサ１１および専用のハードウェアは、いずれも処理回路である。すなわち、メール検査装置１０の構成が図１および図３のいずれに示した構成であっても、学習部２０および判定部３０の動作は、処理回路により行われる。
【００８４】
実施の形態２．
本実施の形態について、主に実施の形態１との差異を、図７および図８を用いて説明する。
【００８５】
＊＊＊構成の説明＊＊＊
本実施の形態に係るメール検査装置１０の構成については、図１から図３に示した実施の形態１のものと同じであるため、説明を省略する。
【００８６】
＊＊＊動作の説明＊＊＊
本実施の形態に係るメール検査装置１０の動作を説明する。メール検査装置１０の動作は、本実施の形態に係るメール検査方法に相当する。
【００８７】
実施の形態１では、１通のメールが持つコンテキストを抽出することはできるが、一連のメールのやり取りに含まれるコンテキストを抽出することができない。一連のメールのやり取りに含まれるコンテキストとは、そのやり取りに含まれる２通以上のメール間に跨って形成される意味および脈略のことである。一連のメールのやり取りには、例えば、１通目のメールとして企業等の組織への質問のメール、２通目以降のメールとして組織からの回答のメール、および、組織への再質問または回答催促のメールが含まれる。
【００８８】
本実施の形態では、準備フェーズＳ１００が実施の形態１と異なる。具体的には、学習時に入力されるメール集合とメールコンテキストの算出方法とが実施の形態１と異なる。本実施の形態では、この差異により、一連のメールのやり取りに含まれるコンテキストを抽出することができる。
【００８９】
図２とともに図７を参照して、準備フェーズＳ１００の説明を行う。
【００９０】
ステップＳ３１０では、ラベル付与部２１が、ステップＳ１１０と同様の処理により、キー情報をもとに、解析対象のメールをいくつかのメール集合に分類するだけでなく、解析対象のメールの中から一連のメールのやり取りを識別する。
【００９１】
ステップＳ３２０では、コンテンツ分離部２２が、ステップＳ１２０と同様の処理により、ステップＳ３１０で分類された各メールから、コンテンツを分離する。
【００９２】
ステップＳ３３０では、メールフィルタ部２３が、ステップＳ１３０と同様の処理により、ステップＳ３２０によるコンテンツ分離後のメールから、コンテキスト抽出で利用されるデータだけを抽出し、抽出したデータを整形後メールデータとして出力する。
【００９３】
ステップＳ３４０では、ステップＳ３３０で得られた整形後メールデータが学習データとしてメールコンテキスト抽出部２４に入力される。この学習データには、ステップＳ３１０で識別されたやり取りに含まれるすべてのメールの整形後メールデータが含まれている。メールコンテキスト抽出部２４は、後述する手順で、メールコンテキストを抽出する。
【００９４】
ステップＳ３５０では、コンテンツコンテキスト抽出部２５が、ステップＳ１５０と同様の処理により、ステップＳ３２０で抽出されたコンテンツから、コンテンツコンテキストを抽出する。
【００９５】
ステップＳ３６０では、関係性学習部２６が、ステップＳ１６０と同様の処理により、ステップＳ３４０で得られたメールコンテキストと、ステップＳ３５０で得られたコンテンツコンテキストとの間の関係性を表す関数を求める。関係性学習部２６は、求めた関数をデータベース４０に、キー情報とともに登録する。
【００９６】
図８を参照して、ステップＳ３４０の手順を説明する。
【００９７】
ステップＳ３４１では、メールコンテキスト抽出部２４が、やり取りの初めのメールを選択する。
【００９８】
ステップＳ３４２では、メールコンテキスト抽出部２４が、現在選択中のメールの整形後メールデータから、コンテキストを抽出する。具体的には、メールコンテキスト抽出部２４は、１通目のメールの特徴を表すＪ次元のベクトルを算出する。なお、１通目のメールの実コンテキストは、Ｌ次元のベクトルｃｍ１であるが、本実施の形態では、Ｌ次元のベクトルｃｍ１にＫ個の空の要素が追加されたＪ次元のベクトルが、１通目のメールのコンテキストとして用いられる。Ｊは整数、ＫはＪよりも小さい整数、具体的にはＬ＝Ｊ−Ｋを満たす整数である。Ｌ次元のベクトルｃｍ１の計算方法は、実施の形態１と同様である。メールコンテキスト抽出部２４は、算出したＪ次元のベクトルを、１通目のメールの特徴を示す第１データとして設定する。本実施の形態では、この第１データが、１通目のメールのメールコンテキストである。
【００９９】
ステップＳ３４３では、メールコンテキスト抽出部２４が、現在選択中のメールのコンテキストに対して次元削減を行うことで、現在選択中のメールのコンテキストを一定の長さのベクトルに圧縮する。具体的には、メールコンテキスト抽出部２４は、現在選択中のメールについて得られたＪ次元のベクトルに対して次元削減を行うことでＫ次元のベクトルを得る。現在選択中のメールが１通目のメールであれば、第１データに相当するＪ次元のベクトルがＫ次元のベクトルに圧縮される。現在選択中のメールが、やり取りに含まれる２通目以降のメールであれば、後述する第２データに相当するＪ次元のベクトルがＫ次元のベクトルに圧縮される。その後、メールコンテキスト抽出部２４は、やり取りの次のメールを選択する。
【０１００】
ステップＳ３４４では、メールコンテキスト抽出部２４が、現在選択中のメールの整形後メールデータから、コンテキストを抽出する。具体的には、メールコンテキスト抽出部２４は、２通目以降のメールそれぞれの特徴を表すＬ次元のベクトルｃｍｉを算出する。Ｌ次元のベクトルｃｍｉの計算方法は、実施の形態１と同様である。
【０１０１】
ステップＳ３４５では、メールコンテキスト抽出部２４が、１つ前のメールの次元圧縮後のベクトルを、ステップＳ３４４で抽出したコンテキストに連結する。すなわち、メールコンテキスト抽出部２４は、ステップＳ３４４で算出したＬ次元のベクトルｃｍｉと、ステップＳ３４３で得られたＫ次元のベクトルとを連結する。メールコンテキスト抽出部２４は、連結後のＪ次元のベクトルを、２通目以降のメールそれぞれの特徴を示す第２データとして設定する。本実施の形態では、この第２データが、２通目以降のメールそれぞれのメールコンテキストである。ステップＳ３４３で得られたＫ次元のベクトルは、現在選択中のメールに比して、やり取りにおいて１つ先行するメールの特徴を示すデータに相当するＪ次元のベクトルに対して次元削減を行うことで得られたベクトルである。１つ先行するメールの特徴を示すデータは、１つ先行するメールが１通目のメールであれば第１データ、１つ先行するメールが２通目以降のいずれかのメールであれば第２データである。
【０１０２】
ステップＳ３４６では、メールコンテキスト抽出部２４が、やり取りに含まれるすべてのメールを選択済かどうかを判定する。未選択のメールが残っていれば、ステップＳ３４３の処理が行われる。未選択のメールが残っていなければ、ステップＳ３４０の手順が終了する。
【０１０３】
以上説明したように、準備フェーズＳ１００において、学習部２０は、第１データ、第２データおよび第３データを生成する。第１データは、一連のメールのやり取りについて、そのやり取りに含まれる１通目のメールの特徴を示すデータである。第２データは、そのやり取りに含まれる２通目以降のメールそれぞれの特徴を示すデータであり、また、そのやり取りにおいて先行するメールの特徴を継承するデータである。第３データは、そのやり取りに含まれる各メールに付随するリソースの特徴を示すデータである。本実施の形態では、この第３データが、コンテンツコンテキストである。学習部２０は、生成した第１データ、第２データおよび第３データを用いて、各メールの特徴と各メールに付随するリソースの特徴との間の関係性を学習する。
【０１０４】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態によれば、一連のメールのやり取りに含まれるコンテキストを、次々に継承することが可能となる。よって、やり取りのコンテキストも考慮することが可能となる。
【０１０５】
＊＊＊他の構成＊＊＊
本実施の形態では、実施の形態１と同じように、学習部２０および判定部３０の機能がソフトウェアにより実現されるが、実施の形態１の変形例と同じように、学習部２０および判定部３０の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。
【符号の説明】
【０１０６】
１０  メール検査装置、１１  プロセッサ、１２  メモリ、１３  補助記憶装置、１４  入力インタフェース、１５  出力インタフェース、１６  通信装置、２０  学習部、２１  ラベル付与部、２２  コンテンツ分離部、２３  メールフィルタ部、２４  メールコンテキスト抽出部、２５  コンテンツコンテキスト抽出部、２６  関係性学習部、３０  判定部、３１  コンテンツ分離部、３２  メールフィルタ部、３３  メールコンテキスト抽出部、３４  コンテンツコンテキスト抽出部、３５  コンテキスト比較部、４０  データベース。
【図１】
2019053844.tif 000006
【図２】
2019053844.tif 000007
【図３】
2019053844.tif 000008
【図４】
2019053844.tif 000009
【図５】
2019053844.tif 000010
【図６】
2019053844.tif 000011
【図７】
2019053844.tif 000012
【図８】
2019053844.tif 000013
【手続補正書】
【提出日】令和1年10月10日(2019.10.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のメールに含まれる各メールの特徴と、各メールに添付されたファイルと各メールの本文中のＵＲＬによって特定されるリソースとの少なくともいずれかを含む、各メールに付随するリソースの特徴との間の関係性を学習する学習部と、
検査対象のメールの特徴と、前記検査対象のメールに付随するリソースの特徴とを抽出し、抽出した特徴間に、前記学習部により学習された関係性があるかどうかによって、前記検査対象のメールが不審なメールであるかどうかを判定する判定部と
を備え、
前記学習部は、一連のメールのやり取りについて、前記やり取りに含まれる１通目のメールの特徴を示す第１データと、前記やり取りに含まれる２通目以降のメールそれぞれの特徴を示すデータであり、前記やり取りにおいて先行するメールの特徴を継承する第２データと、前記やり取りに含まれる各メールに付随するリソースの特徴を示す第３データとを生成し、生成した第１データ、第２データおよび第３データを用いて前記関係性を学習するメール検査装置。
【請求項２】
前記学習部は、各メールの宛先および題名の少なくともいずれかを含む、各メールのキー情報によって前記複数のメールを２つ以上のメール集合に分類し、メール集合ごとに、前記関係性を学習し、前記関係性を示すデータを、対応するキー情報とともにデータベースに登録し、
前記判定部は、前記検査対象のメールのキー情報を用いて前記データベースを検索し、抽出した特徴間に、検索結果として得られたデータに示されている関係性があるかどうかによって、前記検査対象のメールが不審なメールであるかどうかを判定する請求項１に記載のメール検査装置。
【請求項３】
前記学習部は、前記関係性を表す関数を求め、
前記判定部は、抽出した特徴のうち一方の特徴を示すデータを、前記学習部により求められた関数に入力し、当該関数からの出力として得られたデータに示されている特徴が、抽出した特徴のうち他方の特徴に類似するかどうかによって、前記検査対象のメールが不審なメールであるかどうかを判定する請求項１または２に記載のメール検査装置。
【請求項４】
前記学習部は、Ｊを整数、ＫをＪよりも小さい整数として、前記１通目のメールの特徴を表すＪ次元のベクトルを算出し、算出したＪ次元のベクトルを前記第１データとして設定し、前記２通目以降のメールそれぞれの特徴を表すＪ−Ｋ次元のベクトルを算出し、算出したＪ−Ｋ次元のベクトルと、前記やり取りにおいて１つ先行するメールの特徴を示すデータに相当するＪ次元のベクトルに対して次元削減を行うことで得られるＫ次元のベクトルとを連結し、連結後のＪ次元のベクトルを前記第２データとして設定する請求項１から３のいずれか１項に記載のメール検査装置。
【請求項５】
学習部は、複数のメールに含まれる各メールの特徴と、各メールに添付されたファイルと各メールの本文中のＵＲＬによって特定されるリソースとの少なくともいずれかを含む、各メールに付随するリソースの特徴との間の関係性を学習し、
判定部は、検査対象のメールの特徴と、前記検査対象のメールに付随するリソースの特徴とを抽出し、抽出した特徴間に、前記学習部により学習された関係性があるかどうかによって、前記検査対象のメールが不審なメールであるかどうかを判定し、
前記学習部は、一連のメールのやり取りについて、前記やり取りに含まれる１通目のメールの特徴を示す第１データと、前記やり取りに含まれる２通目以降のメールそれぞれの特徴を示すデータであり、前記やり取りにおいて先行するメールの特徴を継承する第２データと、前記やり取りに含まれる各メールに付随するリソースの特徴を示す第３データとを生成し、生成した第１データ、第２データおよび第３データを用いて前記関係性を学習するメール検査方法。
【請求項６】
コンピュータに、
複数のメールに含まれる各メールの特徴と、各メールに添付されたファイルと各メールの本文中のＵＲＬによって特定されるリソースとの少なくともいずれかを含む、各メールに付随するリソースの特徴との間の関係性を学習する学習処理と、
検査対象のメールの特徴と、前記検査対象のメールに付随するリソースの特徴とを抽出し、抽出した特徴間に、前記学習処理により学習された関係性があるかどうかによって、前記検査対象のメールが不審なメールであるかどうかを判定する判定処理と
を実行させ、
前記学習処理は、一連のメールのやり取りについて、前記やり取りに含まれる１通目のメールの特徴を示す第１データと、前記やり取りに含まれる２通目以降のメールそれぞれの特徴を示すデータであり、前記やり取りにおいて先行するメールの特徴を継承する第２データと、前記やり取りに含まれる各メールに付随するリソースの特徴を示す第３データとを生成し、生成した第１データ、第２データおよび第３データを用いて前記関係性を学習するメール検査プログラム。
【国際調査報告】
2019053844.tif 000014
2019053844.tif 000015
2019053844.tif 000016