JP6403647B2 - 検出装置、検出方法および検出プログラム - Google Patents

検出装置、検出方法および検出プログラム Download PDF

Info

Publication number
JP6403647B2
JP6403647B2 JP2015184626A JP2015184626A JP6403647B2 JP 6403647 B2 JP6403647 B2 JP 6403647B2 JP 2015184626 A JP2015184626 A JP 2015184626A JP 2015184626 A JP2015184626 A JP 2015184626A JP 6403647 B2 JP6403647 B2 JP 6403647B2
Authority
JP
Japan
Prior art keywords
virus
definition data
virus definition
state
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015184626A
Other languages
English (en)
Other versions
JP2017059074A (ja
Inventor
佑輔 渡邊
佑輔 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2015184626A priority Critical patent/JP6403647B2/ja
Publication of JP2017059074A publication Critical patent/JP2017059074A/ja
Application granted granted Critical
Publication of JP6403647B2 publication Critical patent/JP6403647B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、検出装置、検出方法および検出プログラムに関する。
従来、メールやウェブページ等、配信されたコンテンツに含まれるウイルスを検出するウイルス検出技術が知られている。このようなウイルス検出技術の一例として、ウイルスを検出するためのパターンデータを予め保持し、コンテンツのデータとパターンデータとのマッチング結果に基づいて、ウイルスの検出を行う技術が知られている。しかしながら、コンテンツのデータとパターンデータとをマッチングした場合には、検索対象となるウイルスの数が増大するに従って、処理に要する時間が増大してしまう。
一方で、量子力学的な状態の重ね合わせを用いることで、従来の計算装置では実現できない規模の並列性を実現する量子計算の技術が研究されている。例えば、このような量子計算の技術として、複数の入力を重ね合わせ状態とすることで、所定の条件に対する最適解や入力された情報が有する周期等を従来の計算装置よりも高速に求める技術が提案されている。
特許第5354233号公報
「量子力学を使った情報処理」、加藤 豪、人工知能 2014年 05月号
しかしながら、ウイルス検出技術を再現する量子計算の手法については、これまで提案されていなかった。このため、コンテンツからウイルスを検出する場合は、多くの時間や計算資源が必要となる。
本願は、上記に鑑みてなされたものであって、検索対象となるウイルスの数が増大した場合にも、処理に要する時間や計算資源の増大を軽減する検出装置、検出方法および検出プログラムを提供することを目的とする。
本願に係る検出装置は、複数の値の重ね合わせ状態を保持することができる量子ビットを操作して、コンテンツに含まれるウイルスのデータに対応する複数の固有状態を重ね合わせ状態で保持し、端末装置からコンテンツを受信した場合は、前記重ね合わせ状態の固有状態のうち、前記コンテンツに含まれるウイルスのデータに対応する固有状態の確率振幅を反転させるユニタリ演算子を生成し、前記生成したユニタリ演算子と、各固有状態の確率振幅の平均値を基準として各固有状態の確率振幅を反転させる拡散変換とを、前記重ね合わせ状態の固有状態に対して繰り返し適用し、前記生成したユニタリ演算子と拡散変換とを繰り返し適用した前記重ね合わせ状態の固有状態を観測し、前記観測した結果得られた固有状態と対応するデータのウイルスを、前記コンテンツに含まれるデータとして前記端末装置に通知することを特徴とする。
実施形態の一態様によれば、検索対象となるウイルスの数やコンテンツのデータサイズが増大した場合にも、処理に要する時間や計算資源の増大を軽減できるという効果を奏する。
図1は、実施形態に係る検出処理の一例を示す図である。 図2は、実施形態に係る検出装置が有する機能構成の一例を示す図である。 図3は、実施形態に係るウイルス定義データデータベースの一例を示す図である。 図4は、実施形態に係る検出装置が実行する量子計算の一例を説明する図である。 図5は、実施形態に係る検出装置が実行する検出処理の流れを説明するフローチャートである。
以下に、本願に係る検出装置、検出方法および検出プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る検出装置、検出方法および検出プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔実施形態〕
〔1.検出処理〕
まず、図1を用いて、実施形態に係る検出処理の一例について説明する。図1は、実施形態に係る検出処理の一例を示す図である。なお、以下の説明では、検出処理の一例として、端末装置100から受信したメールやメールに添付された添付ファイルにコンピュータウイルス(以下、ウイルスと記載する。)が含まれているか否かを判定する処理について説明するが、実施形態は、これに限定されるものではない。例えば、検出装置10は、動画像、画像、実行データ等の任意のコンテンツにウイルスが含まれているか否かを判定してもよい。また、以下の説明では、メールやメールに添付された添付ファイルを単にメールと総称する場合がある。
図1に示すように、検出装置10は、図示しないネットワーク(例えば、インターネット)を介して、端末装置100と通信可能に接続されており、端末装置100からメールのデータであるメールデータを受信すると、受信したメールのデータ(以下、メールデータと記載する)からウイルスの検出を行い、検出結果を端末装置100へと返送する。
端末装置100は、検出装置10と通信可能な情報処理装置であり、例えば、利用者が使用するスマートデバイス等の端末装置であり、図示を省略した移動通信網等を介してメールを取得する。このような場合、端末装置100は、取得したメールを検出装置10に送信し、送信したメールにウイルスが含まれている場合は、メールを破棄し、メールにウイルスが含まれていない場合は、メールの表示や添付ファイルの展開等を実行する。
一方、検出装置10は、端末装置100からメールを受信すると、受信したメールからウイルスの検出を行い、検出結果を端末装置100へと送信する。例えば、検出装置10は、検出対象となるウイルスのデータに含まれるビット列をウイルス定義データとして記憶している。そして、検出装置10は、メールデータにウイルス定義データが含まれているか否かを判定し、含まれている場合には、ウイルスが検出された旨を端末装置100に通知する。一方、検出装置10は、メールデータにウイルス定義データが含まれていない場合は、ウイルスが検出されなかった旨を端末装置100に通知する。
ここで、検出装置10は、検出対象となるウイルスごとにウイルス定義データを記憶しており、各ウイルス定義データがメールデータに含まれているか否かを判定する。このため、検出装置10は、検出対象となるウイルスの数が増加するに従って、ウイルスの検出に要する時間を増大させてしまう。
そこで、検出装置10は、以下の検出処理を実行する。まず、検出装置10は、複数の値の重ね合わせ状態を保持することができる量子ビットを操作して、検出対象であるウイルス定義データのそれぞれに対応する固有状態を重ね合わせ状態で保持する。また、検出装置10は、端末装置100からメール等のコンテンツを受信した場合は、重ね合わせ状態の固有状態のうち、コンテンツに含まれる固有状態の確率振幅を反転させるユニタリ演算子を生成する。また、検出装置10は、生成したユニタリ演算子と、各固有状態の確率振幅の平均値を基準として各固有状態の確率振幅を反転させる拡散変換とを、重ね合わせ状態の固有状態に対して繰り返し適用する。すなわち、検出装置10は、いわゆるGrover Iterationを繰り返し適用する。
そして、検出装置10は、Grover Iterationを繰り返し適用した重ね合わせ状態の固有状態を観測することで、メール等のコンテンツに含まれる可能性が最も高いウイルス定義データと対応する固有状態を観測値として取得する。その後、検出装置10は、取得した観測値と対応するウイルス定義データにより検出されるウイルスを端末装置100に通知する。
以下、図1を用いて、検出処理の一例を流れに沿って説明する。まず、図1に示した例において、検出装置10は、量子ビットを操作して、j個(j≧2)のウイルス定義データ1〜jの重ね合わせ状態を保持する(ステップS1)。より具体的には、検出装置10は、各ウイルス定義データに1〜jまでの番号を付与し、各番号を示す固有状態の重ね合わせ状態を生成する。
このような処理を実行した場合、固有状態の重ね合わせ状態は、以下に示す式(1)により示される。ここで、式(1)に示す「|ψ>」は、ブラケット表記で表した固有状態の重ね合わせ状態である。また、式(1)に示す「|j>」は、ブラケット表記で表した各固有状態である。
Figure 0006403647
続いて、検出装置10は、端末装置100からメールデータを受信する(ステップS2)。かかる場合、検出装置10は、グローバーの検索アルゴリズムを利用して、重ね合わせ状態にした複数の固有状態のうち、メールデータに含まれるウイルス定義データと対応する固有状態の確率振幅を増大させる(ステップS3)。
以下ステップS3に含まれる処理について具体的に説明する。まず、検出装置10は、メールデータに含まれるウイルス定義データの確率振幅を反転させるオラクルを生成する(ステップS4)。具体的には、検出装置10は、以下の式(2)により示させるオラクルを生成する。ここで、式(2)に示す「IX0」は、生成するオラクルを示し、「|x>」は、ブラケット表記で表した各固有状態を示し、「|x>」は、メールデータに含まれるウイルス定義データを示す固有状態である。
Figure 0006403647
すなわち、式(2)に示すオラクルは、メールデータにウイルス定義データを示す固有状態の確率振幅の正負を反転させ、他の固有状態の確率振幅をそのままに保持する演算子である。ここで、オラクルは、検索条件に基づいて各固有状態を評価するサブルーチンとして働くユニタリ演算子により実現される。より具体的には、オラクルは、固有状態の重ね合わせ状態を収束させずに、メールデータに含まれるウイルス定義データと対応する固有状態の確率振幅のみを反転させるユニタリ行列である。
例えば、式(2)に示すオラクルは、以下の式(3)の右辺に示すユニタリ行列により実現される。
Figure 0006403647
続いて、検出装置10は、重ね合わせ状態の固有状態に拡散変換を適用する(ステップS5)。具体的には、検出装置10は、以下の式(4)で示される拡散変換「D」を重ね合わせ状態の固有状態に適用する。なお、以下の説明では、拡散変換「D」を実現する行列、すなわち、以下の式(4)で示される行列Dを拡散行列と記載する場合がある。
Figure 0006403647
また、検出装置10は、ステップS4、S5からなる変換「G」を十分な回数繰り返す(ステップS6)。例えば、式(3)で示されるオラクルと、式(4)で示される拡散変換「D」とを順番に適用する変換「G」は、以下の式(5)で表される。
Figure 0006403647
ここで、式(5)に示させる拡散変換は、各固有状態の確率振幅の平均値を基準として、各確率振幅の向きを揃える演算を実現する。この結果、式(4)によって正負が反転されていた固有状態の確率振幅の値が増加し、他の固有状態の確率振幅の値が減少する。そこで、検出装置10は、式(1)で示す重ね合わせ状態の固有状態に、式(5)に示す変換「G」を所定の回数だけ適用することで、メールデータに含まれるウイルス定義データを示す固有状態の確率振幅の値を増大させる。
上述した処理の結果、メールデータに含まれるウイルス定義データを示す固有状態の確率振幅の値が他の確率振幅の値よりも大きい値となる。ここで、重ね合わせ状態の固有状態を所定の観測関数に従って観測すると、各固有状態が、確率振幅の絶対値の二乗で示させる確率で観測される。このため、メールデータにウイルスが含まれる場合は、そのウイルスと対応するウイルス定義データを示す固有状態が観測値として観測される可能性が高い。そこで、検出装置10は、重ね合わせ状態の固有状態の系を観測し、メールデータに含まれる可能性が高いウイルス定義データを検出する(ステップS7)。
より具体的には、検出装置10は、観測の結果得られた観測値と対応するウイルス定義データを特定する。そして、検出装置10は、特定したウイルス定義データにより検出されるウイルスを検出結果として端末装置100に通知する(ステップS8)。
ここで、式(5)に示す変換「G」を多く適用しすぎると、メールデータに含まれるウイルス定義データを示す固有状態の確率振幅の値が徐々に低下してしまう。そこで、検出装置10は、ウイルス定義データの数「j」の平方根と円周率との積を4で除算した値に最も近い整数の値を算出し、算出した値と同じ回数だけ、変換「G」を適用する。
なお、かかる繰り返しの回数は、メールデータに含まれるウイルスの数が1つである場合の回数であるが、例えば、メールデータにk個のウイルスが含まれる場合は、ウイルス定義データの数「j」をkで除算した値の平方根と円周率との積を4で除算した値に最も近い整数の値を算出し、算出した値と同じ回数だけ、変換「G」を適用すればよい。また、メールデータに含まれるウイルスの数が不明である場合は、変換「G」を適用する回数を変更しながら、ステップS1〜S7を繰り返し実行すればよい。
また、保持する各ウイルス定義データがメールデータに含まれない場合、各固有状態の確率振幅の値に差が生じない。そこで、検出装置10は、ステップS1〜S7に示す処理を複数回実行し、観測する度に得られる観測値にばらつきが存在する場合は、ウイルスが検出されなかった旨を端末装置100に通知し、一定の観測値が得られた場合は、その観測値に対応するウイルス定義データにより検出されるウイルスを通知してもよい。
例えば、検出装置10は、ステップS1〜S7に示す処理を10回実行し、ウイルス定義データjを示す固有状態「j」が観測値として10回観測された場合は、ウイルス定義データjにより検出されるウイルスを端末装置100に通知する。一方、検出装置10は、ステップS1〜S7に示す処理を10回実行し、10回とも異なる観測値が観測された場合は、ウイルスが検出されなかった旨を端末装置100に通知する。
上述した処理の結果、検出装置10は、検出対象となるウイルスが増加した場合にも、処理に要する時間や計算資源の増大を防ぐことができる。すなわち、検出装置10は、ウイルス定義データを重ね合わせ状態で保持し、メールデータに含まれるウイルス定義データの確率振幅を増大させることで、メールデータに含まれるウイルス定義データの観測確率を増大させる。そして、検出装置10は、重ね合わせ状態のウイルス定義データを観測することで、メールデータに含まれる可能性が最も大きいウイルス定義データを検出する。このため、検出装置10は、例えば、グローバーの検索アルゴリズムと同様に、計算時間を削減することができる。
〔2.検出装置の構成〕
次に、図2を用いて、実施形態に係る検出装置10の構成について説明する。図2は、実施形態に係る検出装置が有する機能構成の一例を示す図である。図2に示すように、検出装置10は、記憶部11、受付部13、生成部14、出力部15、量子計算装置16を有する。また、量子計算装置16は、操作部17、観測部18、状態保持部19を有する。また、状態保持部19は、複数の量子ビット19a〜19dを有する。
記憶部11は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図2に示すように、記憶部11には、ウイルス定義データデータベース12が記憶されている。
ウイルス定義データデータベース12には、ウイルス定義データが格納される。例えば、図3は、実施形態に係るウイルス定義データデータベースの一例を示す図である。図3に示すように、ウイルス定義データデータベース12には、データ番号とウイルス定義データとが対応付けて登録されている。ここで、データ番号とは、各ウイルス定義データを識別するための番号であり、式(1)に示す「j」の値と対応する。また、ウイルス定義データは、各ウイルスを検出する際に用いるビット列である。なお、図3に示す例では、各ウイルス定義データを「パターン1」、「パターン2」といった概念的な値で示したが、実際には「01001・・・」等といったビット列がウイルス定義データとして格納されるものとする。これらのパターンは、量子的に重ねあった状態で保持され、さらに新たなパターンが発見されたときは、重ね合わせ状態に新たなパターンを追加更新できる。
図2に戻り、説明を続ける。受付部13は、端末装置100からメールデータを受け付ける。そして、受付部13は、受け付けたメールデータを生成部14に出力する。
生成部14は、重ね合わせ状態の固有状態のうち、メールデータに含まれるウイルス定義データと対応する固有状態の確率振幅を反転させるユニタリ演算子を生成する。より具体的には、生成部14は、式(3)で示されるオラクルを生成する。そして、生成部14は、生成したオラクルを量子計算装置16が有する操作部17に出力する。
出力部15は、ウイルスの検出結果を端末装置100に通知する。例えば、出力部15は、量子計算装置16が後述する量子計算の結果観測した観測値の通知を複数回受付ける。かかる場合、出力部15は、通知された観測値の値が一定である場合は、その観測値が示すウイルス定義データをウイルス定義データをウイルス定義データデータベース12から特定する。そして、出力部15は、特定したウイルス定義データにより検出されるウイルスを端末装置100に通知する。一方、出力部15は、通知された観測値の値にばらつきが存在する場合は、ウイルスが検出されなかった旨を端末装置100に通知する。
量子計算装置16は、量子状態を利用して複数の値を同時に保持することができる量子ビット19a〜19dを用いて、量子計算を実行する。より具体的には、量子計算装置16は、状態保持部19が有する量子ビット19a〜19dを用いて、ウイルス定義データを示す固有状態の重ね合わせ状態を保持する。そして、量子計算装置16は、各量子ビット19a〜19dに対して、上述した式(5)で示される変換「G」を複数回適用し、その後、状態保持部19の状態を観測することで、メールデータに含まれる可能性が高いウイルス定義データと対応する固有状態を特定する。
例えば、量子計算装置16が有する状態保持部19は、複数の量子ビット19a〜19dを有し、任意の量子状態を保持することができる。なお、各量子ビット19a〜19dは、電子準位、電子スピン、イオン準位、各スピン、若しくは光子等、複数の値の重ね合わせ状態を保持することができるのであれば、任意の物理状態を利用した量子ビットを採用することができる。
操作部17は、生成部14からユニタリ演算子を受付けると、状態保持部19が保持する状態を操作することで、量子計算を実現する。例えば、操作部17は、ウイルス定義データと同じ数の固有状態を準備し、アダマール変換を各量子ビット19a〜19dに対して適用することで、式(1)に示すように、ウイルス定義データを示す固有状態の重ね合わせ状態を、状態保持部19に保持させる。
続いて、操作部17は、生成部14から受付けたユニタリ演算子を用いて、式(5)に示す変換「G」を生成する。そして、操作部17は、状態保持部19が保持する状態に変換「G」を複数回適用する。なお、操作部17は、量子ゲート等の量子回路を用いて状態保持部19が保持する状態を操作してもよく、磁気や光子の経路を操作することにより状態保持部19が保持する状態を操作してもよい。
観測部18は、変換「G」を繰り返し適用した重ね合わせ状態の固有状態を観測し、観測値を取得する。そして、観測部18は、観測の結果得られた観測値を出力部15に通知する。なお、操作部17および観測部18は、上述した処理を複数回実行し、実行する度に観測した観測値を出力部15に通知する。この結果、出力部15は、メールデータにウイルスが含まれていない場合には、ウイルスが検出されなかった旨を端末装置100に通知することができる。
〔3.量子計算の一例〕
次に、図4を用いて、上述した量子計算が行われた際に生じる各固有状態の確率振幅の変化の一例を説明する。図4は、実施形態に係る検出装置が実行する量子計算の一例を説明する図である。なお、図4に示す例では、j=1〜Nで示されるN個の固有状態のうち、j=iが示される固有状態が示すウイルス定義パターンが、受信したメールデータに含まれているものとする。
まず、検出装置10は、図4中(A)に示すように、式(1)で示す状態を状態保持部19に保持させる。この結果、状態保持部19は、j=1〜Nが示す各固有状態の確率振幅の値を同じにする。続いて、検出装置10は、図4中(B)に示すように、式(3)で示されるオラクルを状態保持部19が保持する状態に適用する。この結果、受信したメールデータに含まれるウイルス定義パターンを示す固有状態、すなわち、j=iで示される固有状態の確率振幅の値が反転する。
続いて、検出装置10は、図4中(C)に示すように、式(4)で示される拡散変換「D」を状態保持部19が保持する状態に適用する。かかる場合、各固有状態の確率振幅は、各固有状態の確率振幅の平均値を基準として反転される。ここで、オラクルによりj=iで示される固有状態の確率振幅の値は、負の値となっているため、各固有状態の確率振幅の平均値は、図4中(D)に示すように、j=iで示される固有状態以外の固有状態の確率振幅の値よりも低くなる。このため、図4中(E)に示すように、各固有状態の確率振幅の平均値で各固有状態の確率振幅を反転した場合は、オラクルにより確率振幅の値が反転された固有状態、すなわち、j=iが示す固有状態の確率振幅の値が増加し、他の固有状態の確率振幅の値が低下する。
このように、オラクルを用いて、メールデータに含まれるウイルス定義データを示す固有状態の確率振幅を反転させ、拡散変換を用いて、各固有状態の確率振幅を平均値を基準として反転させた場合には、メールデータに含まれるウイルス定義データを示す固有状態の確率振幅を増大させることができる。このため、検出装置10は、上述したオラクルと拡散変換とを繰り返し適用することで、すなわち、変換「G」を繰り返し適用することで、メールデータに含まれるウイルス定義データを示す固有状態の確率振幅を増大させ、かかる固有状態が観測される確率を増大させることができる。
〔4.検出装置が実行する処理の流れ〕
次に、図5を用いて、実施形態に係る検出装置10が実行する処理の流れについて説明する。図5は、実施形態に係る検出装置が実行する検出処理の流れを説明するフローチャートである。
図5に示すように、検出装置10は、ウイルス定義データを示す固有状態の重ね合わせ状態を準備する(ステップS101)。続いて、検出装置10は、メールデータを受信したか否かを判定し(ステップS102)、メールデータを受信していない場合は(ステップS102:No)、メールデータを受信するまで待機する。また、検出装置10は、メールデータを受信した場合は(ステップS102:Yes)、メールデータに含まれるウイルス定義データを示す固有状態の確率振幅を反転させるオラクルを生成する(ステップS103)。
続いて、検出装置10は、生成したオラクルと、拡散変換を実現するための拡散行列とからなるグローバーの反復、すなわち、変換「G」を重ね合わせ状態の固有状態に繰り返し適用する(ステップS104)。そして、検出装置10は、重ね合わせ状態の固有状態を観測し(ステップS105)、観測結果、すなわち、観測された固有状態が示すウイルス定義データにより検出されるウイルスの通知を出力し(ステップS106)、処理を終了する。
〔5.変形例〕
上述した実施形態に係る検出装置10は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の検出装置10の他の実施形態について説明する。
〔5−1.抽出するウイルス定義データについて〕
上述した検出装置10は、ウイルスを検出するためのウイルス定義データを示す固有状態を重ね合わせた。しかしながら、実施形態は、これに限定されるものではない。例えば、検出装置10は、ウイルスを検出するためのウイルス定義データと、かかるウイルス定義データを類似する他のデータとを重ね合わせ状態で保持し、重ね合わせたデータのうち、メールデータに含まれるデータをグローバーの検索アルゴリズムにより検索してもよい。
このような処理を実行した場合、検出装置10は、ウイルス以外にも、ウイルスに類似するデータがメールデータに含まれるか否かを判定することができる。この結果、検出装置10は、例えば、ウイルス定義データが無い未発見のウイルスや、変種のウイルス等がメールデータに含まれる可能性を端末装置100に通知することができる。また、検出装置10は、ウイルス定義データと類似する複数のデータを重ね合わせ状態にし、観測された固有状態と対応するデータとウイルス定義データとがどれくらい類似しているかを端末装置100に通知してもよい。
〔5−2.固有状態の重ね合わせについて〕
上述した説明では、検出装置10は、式(1)に示すように、ウイルス定義データを示す固有状態の総和を固有状態の重ね合わせ状態とした。しかしながら、実施形態は、これに限定されるものではない。例えば、検出装置10は、全てのウイルス定義データのテンソル積を用いて、メールデータに含まれるウイルスを検出してもよい。
例えば、検出装置10は、全てのウイルス定義データのテンソル積を量子ビット19a〜19dに保持させる。また、検出装置10は、テンソルデータからメールデータに含まれるウイルス定義データを抽出するユニタリ行列を生成する。例えば、検出装置10は、メールデータに含まれるビット列をテンソルデータから検索するための1つ以上のユニタリ行列(ユニタリ作用素)を生成する。また、検出装置10は、生成したユニタリ作用素を量子ビット19a〜19dに作用させることで、条件を満たすデータを抽出する。そして、検出装置10は、抽出したデータ、すなわち、ウイルス定義データにより検出されるウイルスを端末装置100に通知してもよい。
また例えば、検出装置10は、全てのウイルス定義データのテンソル積を量子ビット19a〜19dに保持させ、グローバーのアルゴリズムを用いて、メールデータに含まれるビット列をテンソルデータから検索し、検索の結果得られるウイルス定義データにより検出されるウイルスを端末装置100に通知してもよい。
〔5−3.未知状態の重ね合わせについて〕
例えば、グローバーのアルゴリズムでは、重ね合わせたデータの中から複数の正解データを検索することができる。(例えば、「量子コンピュータの基礎 [第2版]」、細谷暁夫、臨時別冊・数理科学2009年9月、78ページ参照)。そこで、検出装置10は、ワイルドカードを用いたグローバーのアルゴリズムを用いて、未知のウイルスを検出してもよい。また、検出装置10は、観測の結果得られた観測値の値に応じて、各ウイルスがメールデータに含まれる可能性を算出し、算出した可能性を端末装置100に通知してもよい。
例えば、検出装置10は、同種のウイルスのデータ中に含まれる特徴的なビット列をウイルス定義データとする。ここで、同種ウイルスのデータ中に含まれる特徴的なビット列とは、同種のウイルスが有するであろうビット列である。そして、検出装置10は、例えば、ウイルスのデータ中に含まれる特徴的なビット列が「101110000」といったビット列である場合は、かかるビット列にワイルドカードのビット「*」を付加した「*****101110000****」といった所定長のビット列を生成する。なお、ワイルドカードのビット「*」は、「1」および「0」の重ね合わせ状態を示す。また、検出装置10は、「1」または「0」が連続するビット列の途中にワイルドカードのビット「*」を挿入したビット列を生成してもよい。
上述した処理により生成されるビット列は、同じ種別の複数のウイルスを検出するためのウイルス定義データ、すなわち、既知のウイルスと類似する新種のウイルスをメールデータから検出するウイルス定義データとなりうる。そこで、検出装置10は、上述した処理により生成されたビット列をウイルス定義データとして他のウイルス定義データと共に重ね合わせ状態とし、メールデータに含まれるウイルス定義データをグローバーのアルゴリズムで検索する。
そして、検出装置10は、ワイルドカードのビットを含むウイルス定義データと対応する観測値を取得した場合は、既知のウイルスと類似する新種のウイルスがメールデータに含まれていると判定し、かかる旨を端末装置100に通知する。このため、検出装置10は、既知のウイルスと類似する未知のウイルスをメールデータから検出することができる。
また、検出装置10は、上述したワイルドカードのビットの数や、同種のウイルスが有するビット列のうち、ウイルス定義データに含めるビット列の長さに応じて、メールデータに未知のウイルスが含まれる可能性を検出してもよい。例えば、検出装置10は、同種のウイルスが有するビット列とワイルドカードのビット列との比率をそれぞれ変更した複数のウイルス定義データを生成して重ね合わせ状態にする。そして、検出装置10は、メールデータに含まれるウイルス定義データを検索する。
そして、検出装置10は、同種のウイルスが有するビット列とワイルドカードのビット列との比率が半々となるウイルス定義データと対応する観測値を取得した場合は、未知のウイルスが50パーセントの確率でメールデータに含まれていると判定し、かかる旨を端末装置100に通知する。このため、検出装置100は、メールデータに未知のウイルスが含まれる可能性を検出することができる。
〔5−4.ハードウェア構成について〕
上述した検出装置10は、ウイルス定義データを示す固有状態を重ね合わせ状態で保持する量子計算装置16を有していた。しかしながら、実施形態は、これに限定されるものではない。例えば、検出装置10は、記憶部11、受付部13、生成部14、出力部15のみを有し、外部に設置された量子計算装置16にオラクルやウイルス定義データの数を通知することで、上述した量子計算を実行させてもよい。
また、検出装置10が有する各機能構成のうち、受付部13、生成部14、出力部15が発揮する処理は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。また、受付部13、生成部14、出力部15が発揮する処理は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等のプロセッサによって、検出装置10内部の記憶装置に記憶されている検出プログラムがRAM(Random Access Memory)を作業領域として実行されることにより実現されてもよい。
〔6.効果〕
このように、検出装置10は、複数の値の重ね合わせ状態を保持することができる量子ビット19a〜19dを操作して、ウイルス定義データのそれぞれに対応する固有状態を重ね合わせ状態で保持する。また、検出装置10は、メールデータを受信した場合は、重ね合わせ状態の固有状態のうち、メールデータに含まれる固有状態の確率振幅を反転させるユニタリ演算子を生成する。また、検出装置10は、生成したユニタリ演算子と拡散変換とを重ね合わせ状態の固有状態に対して繰り返し適用する。そして、検出装置10は、ユニタリ演算子と拡散変換とを繰り返し適用した重ね合わせ状態の固有状態を観測し、観測した結果得られた固有状態と対応するウイルス定義データによって検出されるウイルスを端末装置100に通知する。
このため、検出装置10は、検出対象となるウイルスが増加した場合にも、処理に要する時間や計算資源の増大を防ぐことができる。また、検出装置10は、ウイルス定義データとウイルス定義データに類似する他のデータとを重ね合わせ状態にし、ユニタリ演算子と拡散変換とを繰り返し適用することで、変形ウイルスや未検出のウイルス等にも対応することができる。
また、検出装置10は、重ね合わせ状態の固有状態を保持する処理、保持した固有状態にユニタリ演算子と拡散変換とを繰り返し適用する処理、およびユニタリ演算子と拡散変換とを繰り返し適用した重ね合わせ状態の固有状態を観測する処理を複数回実行する。そして、検出装置10は、観測する度に得られた観測値にばらつきが存在する場合は、データが検出されなかった旨を端末装置100に通知し、観測する度に得られた観測値が一定である場合は、観測値に対応する固有状態と対応したデータのウイルスを端末装置100に通知する。このため、検出装置10は、メールデータにウイルスが検出されなかった旨の検出や通知を実現することができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
10 検出装置
11 記憶部
12 ウイルス定義データデータベース
13 受付部
14 生成部
15 出力部
16 量子計算装置
17 操作部
18 観測部
19 状態保持部
19a〜19d 量子ビット
100 端末装置

Claims (4)

  1. グローバーの検索アルゴリズムを用いて、複数のウイルス定義データの中からコンテンツに含まれるウイルス定義データを検索する検索処理を繰り返し実行し、
    前記検索処理の結果に偏りが存在する場合は、最も多く検索されたウイルス定義データと対応するウイルスを前記コンテンツに含まれるウイルスとして端末装置に通知し、前記検索処理の結果に偏りが存在しない場合は、前記コンテンツのデータにウイルスが含まれていない旨を前記端末装置に通知する
    ことを特徴とする検出装置。
  2. 予めウイルス定義データに対応する複数の固有状態を重ね合わせ状態で保持し、
    前記重ね合わせ状態の固有状態の中に端末装置から受信したコンテンツに含まれるデータに対応する前記ウイルス定義データの固有状態が存在する場合は、前記重ね合わせ状態の中からコンテンツデータに対応する固有状態の確率振幅を反転させるユニタリ演算子を生成し、
    前記生成したユニタリ演算子と、各固有状態の確率振幅の平均値を基準として各固有状
    態の確率振幅を反転させる拡散変換とを、前記重ね合わせ状態の固有状態に対して繰り返
    し適用し、
    前記生成したユニタリ演算子と拡散変換とを繰り返し適用した前記重ね合わせ状態の固
    有状態を観測し、
    前記観測した結果得られた固有状態と対応するウイルス定義データと対応するウイルスを、前記コンテンツに含まれるウイルスとして前記端末に通知する
    ことを特徴とする検出装置。
  3. 検出装置が実行する検出方法であって、
    検出装置が有する制御部が、
    グローバーの検索アルゴリズムを用いて、所定の記憶装置から読み出した複数のウイルス定義データの中からコンテンツに含まれるウイルス定義データを検索する検索処理を繰り返し実行し、
    前記検索処理により検索されたウイルス定義データを示す情報を前記所定の記憶装置に登録し、
    前記所定の記憶装置に登録された情報が示すウイルス定義データに偏りが存在する場合は、最も多く検索されたウイルス定義データと対応するウイルスを前記コンテンツに含まれるウイルスとして端末装置に通知し、前記所定の記憶装置に登録された情報が示すウイルス定義データに偏りが存在しない場合は、前記コンテンツのデータにウイルスが含まれていない旨を前記端末装置に通知する
    処理を実行することを特徴とする検出方法。
  4. 検出装置が有するコンピュータに、
    グローバーの検索アルゴリズムを用いて、所定の記憶装置から読み出した複数のウイルス定義データの中からコンテンツに含まれるウイルス定義データを検索する検索処理を繰り返し実行し、
    前記検索処理により検索されたウイルス定義データを示す情報を前記所定の記憶装置に登録し、
    前記所定の記憶装置に登録された情報が示すウイルス定義データに偏りが存在する場合は、最も多く検索されたウイルス定義データと対応するウイルスを前記コンテンツに含まれるウイルスとして端末装置に通知し、前記所定の記憶装置に登録された情報が示すウイルス定義データに偏りが存在しない場合は、前記コンテンツのデータにウイルスが含まれていない旨を前記端末装置に通知する
    処理を実行させるための検出プログラム。
JP2015184626A 2015-09-18 2015-09-18 検出装置、検出方法および検出プログラム Active JP6403647B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015184626A JP6403647B2 (ja) 2015-09-18 2015-09-18 検出装置、検出方法および検出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015184626A JP6403647B2 (ja) 2015-09-18 2015-09-18 検出装置、検出方法および検出プログラム

Publications (2)

Publication Number Publication Date
JP2017059074A JP2017059074A (ja) 2017-03-23
JP6403647B2 true JP6403647B2 (ja) 2018-10-10

Family

ID=58391601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015184626A Active JP6403647B2 (ja) 2015-09-18 2015-09-18 検出装置、検出方法および検出プログラム

Country Status (1)

Country Link
JP (1) JP6403647B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4567275B2 (ja) * 2002-02-28 2010-10-20 株式会社エヌ・ティ・ティ・ドコモ 移動通信端末、情報処理装置、中継サーバ装置、情報処理システム及び情報処理方法
JP2005078407A (ja) * 2003-09-01 2005-03-24 Nippon Telegr & Teleph Corp <Ntt> データ探索方法、データ探索装置、データ探索プログラム及びそのプログラムを記録した記録媒体

Also Published As

Publication number Publication date
JP2017059074A (ja) 2017-03-23

Similar Documents

Publication Publication Date Title
AU2017281232B2 (en) Methods and apparatus for detecting whether a string of characters represents malicious activity using machine learning
Martín-Martínez et al. Spacetime structure and vacuum entanglement
US8694979B2 (en) Efficient egonet computation in a weighted directed graph
US20160156652A1 (en) Pattern detection in sensor networks
JP2019079226A (ja) 変換装置、判定装置、および計算装置
JP2018055580A (ja) 機械学習プログラム、機械学習方法、および機械学習装置
Bertoni et al. Shallow shadows: Expectation estimation using low-depth random clifford circuits
Liu et al. Error prevalence in nids datasets: A case study on cic-ids-2017 and cse-cic-ids-2018
Biswas et al. Botnet traffic identification using neural networks
Kalinin et al. Security intrusion detection using quantum machine learning techniques
JP2022068327A (ja) ノードグループ化方法、装置及び電子機器
JP2022543698A (ja) ランダム量子回路の出力によるノイズ分類
JP2019125319A (ja) 学習プログラム、学習方法および学習装置
WO2020031960A1 (ja) 誤り判定装置、誤り判定方法、及びプログラム
JP2021051589A5 (ja)
JP2018055551A (ja) データ変換プログラム、データ変換方法、およびデータ変換装置
Wang et al. Stealthy inference attack on dnn via cache-based side-channel attacks
US20210406954A1 (en) Quantum walk for community clique detection
JP6403647B2 (ja) 検出装置、検出方法および検出プログラム
Billings et al. Identifying almost invariant sets in stochastic dynamical systems
Sudevan et al. Multipartite entanglement and quantum error identification in d-dimensional cluster states
Kiwit et al. Benchmarking Quantum Generative Learning: A Study on Scalability and Noise Resilience using QUARK
JP2022171190A (ja) 経路検出装置およびプログラム
Bóta et al. The inverse infection problem
Vasundara et al. Implementation of hybrid RS-ANN for spatial image classification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180315

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180814

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180911

R150 Certificate of patent or registration of utility model

Ref document number: 6403647

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350