JP4995170B2 - 不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システム - Google Patents

不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システム Download PDF

Info

Publication number
JP4995170B2
JP4995170B2 JP2008259983A JP2008259983A JP4995170B2 JP 4995170 B2 JP4995170 B2 JP 4995170B2 JP 2008259983 A JP2008259983 A JP 2008259983A JP 2008259983 A JP2008259983 A JP 2008259983A JP 4995170 B2 JP4995170 B2 JP 4995170B2
Authority
JP
Japan
Prior art keywords
information
module
behavior
intrusion
behavior information
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
JP2008259983A
Other languages
English (en)
Other versions
JP2010092174A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008259983A priority Critical patent/JP4995170B2/ja
Publication of JP2010092174A publication Critical patent/JP2010092174A/ja
Application granted granted Critical
Publication of JP4995170B2 publication Critical patent/JP4995170B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、コンピュータシステムに対する不正な攻撃や侵入を検知する不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システムに関する。
従来より、コンピュータシステムの脆弱性などのセキュリティホールを攻撃して侵入する不正プログラム(ウイルス、ワームなどのマルウェア)が個人・企業を問わず社会的に重要な問題となっている。
この不正プログラムは、コンピュータの制御を奪い、コンピュータに格納されているデータの破壊や外部への不正なデータ送信および侵入したコンピュータを利用して新たに第三者に対する攻撃活動を行う。例えば、コンピュータシステムで実行されるプロセスの内部では、複数のモジュールが動作しており、このモジュールに脆弱性が存在する場合に該当のモジュールを狙った攻撃と侵入が行われる。
このような不正プログラムに対して、システム内部の挙動を監視することで攻撃および侵入を検知する方法としてHIDS(Host Based Intrusion Detection System)があり、プロセス単位での挙動監視による様々な検知手法が提案されている。また、別の手法としては、許可されないファイル入出力イベントやプロセス生成イベントの監視によるアクセスコントロールの検知を行う手法も提案されているが、ファイル入出力やプロセス生成イベントを伴わない攻撃や侵入を検知できない。
最近では、システム内のシステムコールやAPI(Application Programming Interface)の読み出し回数などの統計情報、関数のコールシーケンスを利用する検知手法が提案されている(非特許文献1と2参照)。具体的には、図10に示すように、一つのプロセスは、複数のAPIを実行し、それぞれのAPIは、複数のSystem Callを実行する。この場合、非特許文献1や2では、図11に示すように、プロセスとAPIとの間にAPIモニターを実行し、APIとシステムコール(System Call)との間にシステムコールモニターを実行して、これらのモニターにより攻撃や侵入を検知している。
また、インターネットの普及によって広く一般的に使用されるようになったWebブラウザに特化した攻撃や侵入を検知する手法としては、GPL(GNU Public License)でも配布されているsnortのようなシグネチャベースによる検知をブラウザレベルで実現し、攻撃コードの含まれたコンテンツからブラウザを保護する技術が提案されている(非特許文献3参照)。
"Intrusion detection using sequences of system calls"、Journal of Computer Security 1998、[online]、[平成20年9月22日検索]、インターネット<http://www.cs.unm.edu/~steveah/jcs-accepted.pdf> "Native API Based Windows(登録商標) Anomaly Intrusion Detection Method Using SVM"、IEEE International Conference on Sensor Networks,Ubiquitous,and Trustworthy Computing 2006、[online]、[平成20年9月22日検索]、インターネット<http://ieeexplore.ieee.org/iel5/10902/34301/01636219.pdf?tp=&isnumber=&arnumber=1636219> "Firekeeper"、[online]、[平成20年9月22日検索]、インターネット<http://firekeeper.mozdev.org>
しかしながら、上記した従来の技術は、システムの内部まで詳細に監視することができないという課題があった。具体的には、非特許文献1や2では、システムで実行されるプロセス毎のAPIやシステムコール呼び出しの挙動を監視しているため、ローカル関数の呼び出しやローカル変数などのプロセスの内部状態の挙動を監視することができない。
すなわち、非特許文献1や2で実現されているAPIやシステムコール呼び出しなどの挙動監視では、同一プロセス内部の複数のモジュールからのAPIやシステムコール呼び出しが混同することによって、異常(不正)検知の精度が低下する。同様に、非特許文献3では、Webブラウザ毎の挙動を監視しているため、Webブラウザ内部の各種スクリプト実行環境の挙動を監視することができない。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、システムの内部まで詳細に監視することを可能とする不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、コンピュータシステムに対する不正な攻撃や侵入を検知する不正検知方法であって、前記コンピュータシステムで実行されるプロセスの内部のモジュール毎に、当該モジュールにより発生した各種情報を収集する情報収集工程と、前記情報収集工程により収集された各種情報に基づいて、前記不正な攻撃や侵入を示す挙動を前記モジュール毎に監視する監視工程と、を含んだことを特徴とする。
本発明によれば、システムの内部まで詳細に監視することが可能である。さらには、不正な攻撃や侵入を実行する不正プログラムを素早く正確に検知することができる。
以下に添付図面を参照して、この発明に係る不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システムの実施例を詳細に説明する。なお、以下では、本実施例に係る情報処理装置(情報処理システム)の概要、情報処理装置の構成および処理の流れを順に説明し、最後に本実施例に対する種々の変形例を説明する。
[情報処理装置の概要]
まず、図1を用いて、情報処理装置(情報処理システム)の概要を説明する。図1は、実施例1に係る情報処理装置の概要を説明するための図である。なお、ここで示した情報処理装置とは、本願が開示する特許請求の範囲に記載の「不正検知方法」を実行している装置のことである。
本願が開示する情報処理装置とは、プログラムに従って演算処理を実行するコンピュータシステムであり、例えば、Webサーバ、コンテンツサーバ、DNSサーバなどユーザにサービスを提供するサーバ装置をはじめ、個人的に使用されるパーソナルコンピュータシステム、ルータやL3スイッチなどのネットワーク機器などの装置である。
上記した情報処理装置は、インターネットの普及により見知らす第三者装置と情報のやり取りを行う機会が非常に増えた結果、悪意のある第三者と情報をやり取りする機会も増えた。このような悪意のある第三者により不正なプログラムが実行された情報処理装置は、当該装置が不正な処理を実行するだけでなく、当該装置が接続されるLAN(例えば、社内LANや家庭内LANなど)の他の装置や当該装置を踏み台にした新たな不正行為が実行されるなど、様々な問題が発生する。このような問題は、単に個人的な問題に留まらず、社会的に大きな問題(犯罪)へと繋がっており、非常に大きな問題となっている。このようなことから、各種サーバなどの情報処理装置を抱える企業などでは、不正な攻撃や侵入を実行する不正プログラムを素早く正確に検知する手法が切望されている。
なお、不正な攻撃とは、コンピュータシステムに対して、本来それが実行しようとする処理とは異なる意図しない動作を実行させようとすることを示し、侵入とは、攻撃によって本来意図しない動作をさせることによってシステムの一部もしくは全部の制御を奪うことを示す。
そこで、実施例1に係る情報処理装置は、上記したように、プログラムに従って演算処理を実行する装置であり、システムの内部まで詳細に監視することを可能とし、さらには、不正な攻撃や侵入を実行する不正プログラムを素早く正確に検知することができる。
具体的には、図1に示すように、実施例1に係る情報処理装置は、コンピュータシステムで実行されるプロセスの内部のモジュール毎に、モニター(例えば、監視プログラム)を挿入する。そして、情報処理装置は、このモニターによって、当該モジュールにより発生した各種情報を収集し、不正な攻撃や侵入を示す挙動をモジュール毎に監視する。さらに、実施例1に係る情報処理装置は、モニターにより収集された各種情報に基づいて、不正な攻撃や侵入の発生を検知する。
このようにすることで、実施例1に係る情報処理装置は、「プロセスAのモジュールAがシステムコール1を呼び出し、モジュールBがシステムコール2とシステムコール3を呼び出した」というシステム内部に関する詳細な情報を取得することができる。したがって、実施例1に係る情報処理装置は、コンピュータシステムで実行されるプロセスの内部のモジュール毎に、モジュールにより発生した各種情報を収集することにより、システムの内部まで詳細に監視することを可能とし、さらには、不正な攻撃や侵入を実行する不正プログラムを素早く正確に検知することができる。
[情報処理装置の構成]
次に、図2を用いて、図1に示した情報処理装置の構成を説明する。図2は、実施例1に係る情報処理装置の構成を示すブロック図である。図2に示すように、この情報処理装置1は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、実行される複数のプロセス(プロセス10、プロセス20・・・)と、記憶部30と、検知部33とを有する。なお、プロセス10とプロセス20とは、基本的な構成が同じであるので、ここではプロセス10についてのみ説明する。
かかるプロセス10は、その内部に複数のモジュール(モジュールA11a、モジュールB11b・・・)と、モジュールごとにモニター(モニター15a、モニター15b・・・)とを有し、情報処理装置1が実行する処理である。なお、図示したモジュールやモニターは例示であり、図示した数に限定されるものではなく、また、プロセスごとに数も異なる。
モジュールA11aとモジュールB11bは、プログラム実行時にプロセス10の空間内にロードされるプログラム部品であり、例えば、DLL(Dynamic Link Library)などがこれに該当する。また、モジュールA11aとモジュールB11bは、プロセス10の指示により、APIを呼び出して実行したり、APIは、システムコールを呼び出して実行したりする。
モニター15aは、モジュールに埋め込まれた(挿入された)挙動監視を行うプログラムであり、図3に示すように、監視部16と、制御部17とを内部に有する。なお、モニター15bもモニター15aと同様の構成を有するので、ここでは詳細な説明は省略する。なお、図3は、モニターの内部構成を例示した図である。
監視部16は、コンピュータシステムで実行されるプロセスの内部のモジュール毎に、当該モジュールにより発生した各種情報を収集し、収集した各種情報に基づいて、不正な攻撃や侵入を示す挙動をモジュール毎に監視する。具体的には、監視部16は、情報処理装置1で実行されたプロセス10のモジュールA11aにより発生した情報として、プロセス10のAPI呼び出しやシステムコール呼び出しを収集して、後述する蓄積DB31に格納する。そして、監視部16は、蓄積DB31に蓄積される情報に基づいて、モジュールA11aが動作したときに発生する事象及びCPUやメモリの状態変化を監視する。
情報処理装置1で実行されたプロセス10のモジュールA11aにより発生した情報として、例えば、監視部16は、モジュールの種類、呼び出された関数の種類、引数の値、読み出し元アドレス、タイムスタンプなどを取得して、取得したこれらの情報とこれらの情報を出力したプロセス及びモジュールとを対応付けて、蓄積DB31に格納する。
制御部17は、後述する検知部33により不正な攻撃や侵入が発生したと検知された場合に、当該検知された不正な攻撃や侵入と一致する挙動情報に対応する制御内容をルールDB32から特定し、特定した制御内容を実行する。具体的には、制御部17は、ルールDB32から特定された制御内容が「遮断制御」の場合には、検知部33により不正が検知されたモジュールまたはプロセスの動作を停止させる。
また、制御部17は、ルールDB32から特定された制御内容が「ログ出力」の場合には、所定の領域(例えば、/tempや一時領域など)に実行されるモジュールや関数などのログを出力する。また、制御部17は、ルールDB32から特定された制御内容が「管理者に通知(XXX@AAA.com)」の場合には、メーラーを起動してメールアドレス(XXX@AAA.com)に対して、モジュールまたはプロセスに不正な攻撃や侵入があったことを通知する。なお、ここで管理者に通知する情報としては、検知部33により不正が検知されたモジュールまたはプロセスなどを通知する。
図2に戻り、記憶部30は、ネットワーク通信を行うためのアドレス情報やルーティング情報、各種処理に必要なデータおよびプログラムを格納するとともに、蓄積DB31と、ルールDB32とを有する。
蓄積DB31は、モニター15aやモニター15bの各監視部によりモジュール毎に収集された情報を記憶する。具体的には、蓄積DB31は、図4に示すように、各監視部により収集された情報の収集元(発信元)を示す「プロセス」と「モジュール」とに対応付けて、収集された内容を示す「情報」を記憶する。例えば、蓄積DB31は、「プロセス、モジュール、情報」として「プロセス10、モジュールA、呼び出された関数名(関数A)」や「プロセス20、モジュールB、呼び出された関数名(関数Z)と引数(ZZ)」などを記憶する。
なお、図4は、蓄積DBに記憶される情報の例を示す図である。また、図4では、「プロセス」や「モジュール」に対応付けて記憶することにより、一つのテーブルで収集される情報を管理しているが、各プロセスや各モジュールごとに異なるテーブルを設けて記憶するようにしてもよい。
ルールDB32は、不正な攻撃や侵入を示す挙動を特定する挙動情報と不正な攻撃や侵入が発生した場合に実行する制御内容を記憶する。言い換えれば、ルールDB32は、正常状態では呼び出されるはずのないAPIやシステムコールの種類を予め定義した情報を記憶する。具体的には、ルールDB32は、図5に示すように、「プロセス」と「モジュール」とに対応付けて、不正な攻撃や侵入を示す挙動を特定する「挙動情報」、不正な攻撃や侵入が発生した場合に実行する「制御内容」を記憶する。
例えば、ルールDB32は、「プロセス、モジュール、挙動情報、制御内容」として「プロセス10、モジュールA、呼び出された関数名(関数B)、遮断制御」や「プロセス20、モジュールX、呼び出された関数名(関数Z)と引数(ZZ)、ログ出力」、「プロセス10、モジュールB、関数Bの後に関数ZZが実行、遮断制御・ログ出力」などを記憶する。
このルールDB32は、単に特定の関数が呼び出されたか、関数の引数が間違っていないかなどの情報以外にも、例えば、「関数Aの後に関数Bが呼び出される」などのように、関数の呼び出し列(コールシーケンス)を記憶することもできる。また、ルールDB32は、文字列情報、文字列や文字列長の累積値などの閾値を挙動情報として記憶することもでき、そうすることにより、文字列の動的確保を行うスクリプト実行環境の関数を監視することで、不正な処理を検知することができる。
さらに、ルールDB32は、制御内容として上記した情報以外にも、例えば、「管理者(XXX@AAA.com)へ通知」などを記憶しておくこともでき、この場合、制御部17は、メーラーを起動してメールアドレス(XXX@AAA.com)に対して、モジュールまたはプロセスに不正な攻撃や侵入があったことを通知する。また、ルールDB32は、一つの挙動情報に複数の制御内容(例えば、遮断制御とログ出力など)を対応付けて記憶することもできる。
なお、図5は、ルールDBに記憶される情報の例を示す図である。また、図5では、一つのテーブルで収集される情報を管理しているが、各プロセスや各モジュールごとに異なるテーブルを設けて記憶するようにしてもよい。
検知部33は、監視部16により収集された各種情報が、不正な攻撃や侵入を示す挙動を特定する挙動情報を記憶するルールDB32に記憶される挙動情報と一致する場合に、不正な攻撃や侵入が発生したと検知する。具体的には、検知部33は、蓄積DB31に記憶される各レコードとルールDB32の各レコードを参照して、蓄積DB31に記憶される情報がルールDB32にも記憶されている場合に、不正な攻撃や侵入が発生したと検知する。
図4及び図5を参照しつつ説明すると、図4の蓄積DB31に記憶される「プロセス10、モジュールA、呼び出された関数名(関数A)」は、図5のルールDB32に記憶されていないことから、検知部33は、この情報に関しては、正常な状態であると認識する。また、図4の蓄積DB31に記憶される「プロセス20、モジュールB、呼び出された関数名(関数Z)と引数(ZZ)」は、図5のルールDB32に同じ内容(図5の3行目)が記憶されていることから、検知部33は、不正な攻撃や侵入が発生したと検知する。
不正な攻撃や侵入が発生したと検知した検知部33は、検知した不正な内容「プロセス20、モジュールB、呼び出された関数名(関数Z)と引数(ZZ)」を制御部17に出力する。これを受けた制御部17は、受け付けた情報に基づいて、制御内容(上記した例では「管理者(XXX@AAA.com)に通知」)を特定し、特定した制御内容を実行する。
[情報処理装置による処理]
次に、図6を用いて、情報処理装置による処理を説明する。図6は、実施例1に係る情報処理装置における処理の流れを示すフローチャートである。
図6に示すように、情報処理装置1は、プロセス内部のモジュールが実行される(ステップS101肯定)、実行されたモジュールに組み込まれたモニターにより、モジュール毎に各種情報を取得して蓄積DB31に蓄積格納する(ステップS102)。
続いて、情報処理装置1は、ステップS102により蓄積DB31に蓄積された情報とルールDB32に記憶される挙動情報とを比較し(ステップS103)、挙動情報と一致するか否かを判定する(ステップS104)。
そして、情報処理装置1は、蓄積された情報と挙動情報と一致する場合(ステップS104肯定)、当該挙動情報に対応する制御情報をルールDB32から特定し(ステップS105)、特定した制御情報を実行する(ステップS106)。
一方、蓄積された情報と挙動情報と一致しない場合(ステップS104否定)、情報処理装置1は、処理を終了する。なお、上記したステップS101〜ステップS106の処理は、起動されたモジュールが終了するまで繰り返し実行される。また、繰り返すタイミングとしては、所定の周期(例えば、5分ごと)や新しい情報が収集・蓄積される度ごとなど任意に設定することができる。
[実施例1による効果]
このように、実施例1によれば、コンピュータシステムで実行されるプロセスの内部のモジュール毎に、当該モジュールにより発生した各種情報を収集し、収集された各種情報に基づいて、不正な攻撃や侵入を示す挙動をモジュール毎に監視することができる。その結果、システムの内部まで詳細に監視することが可能である。
また、実施例1によれば、収集された各種情報が、不正な攻撃や侵入を示す挙動を特定する挙動情報を記憶するルールDB32に記憶される挙動情報と一致する場合に、不正な攻撃や侵入が発生したと検知することができる。その結果、不正な攻撃や侵入を素早く正確に検知することができる。
また、実施例1によれば、不正な攻撃や侵入が発生したと検知された場合に、当該検知された不正な攻撃や侵入と一致する挙動情報に対応する制御内容をルールDB32から特定し、特定した制御内容を実行することができる。その結果、適切な対応を迅速に行うことができる結果、不正な処理による第2次被害を防止することができる。
ところで、本実施例で開示する情報処理装置は、Webブラウザを標的とした攻撃及び侵入についても同様の効果を発揮することができる。そこで、実施例2では、情報処理装置1を用いて、Webブラウザを標的とした攻撃及び侵入を検知する場合について説明する。
[情報処理装置の概要(実施例2)]
Webブラウザを標的とした攻撃及び侵入は、Webブラウザのスクリプト実行環境を悪用した手法と組み合わせて行われる。これに対して、スクリプト実行環境の一部もしくは全部に制約を掛ける設定がWebブラウザ自身に備わっているが、Webブラウジングの利便性を著しく低下させる要因になっている。
このようなWebブラウザを標的とした攻撃に対して、本願が開示する情報処理装置は、Webブラウザ内部のjava(登録商標)scriptやVBScriptなどのスクリプト実行環境の挙動を監視することで、攻撃と侵入を検知する。つまり、実施例2に係る情報処理装置は、スクリプト実行環境の挙動の監視と挙動情報を抽出するために、スクリプト実行環境からのAPIやシステムコールもしくはローカル関数の呼び出しを監視する。なお、「ローカル関数の呼び出しを監視する」とは、EIP(命令ポインタ)が特定の関数の先頭アドレスを指した場合、その関数が呼び出されたと判断することを示す。
そうすることにより、実施例2に係る情報処理装置は、例えば、何らかの脆弱性を突く攻撃と組み合わせてスクリプト実行環境を悪用する「ヒープレイアウト操作」や、脆弱性を突いた攻撃ではなく、スクリプト言語の仕様に基づいて悪意のある動作をする「スクリプトマルウェア(java(登録商標)script Malware)」などのWebブラウザを標的とした攻撃及び侵入を検知することができる。
なお、スクリプト実行環境とは、スクリプト言語を処理するモジュールのことであり、例えば、「jscript.dll(java(登録商標)script)」や「vbscript.dll(VBscriptを処理するモジュール)」などが該当する。また、「ヒープレイアウト操作」とは、上記したように、何らかの脆弱性を突く攻撃と組み合わせてスクリプト実行環境を悪用するものであり、例えば、「HeapSpray」という手法が存在する。具体的には、これらの手法は、予めスクリプト実行環境からメモリのヒープレイアウを操作し、脆弱性を突いた後、EIP(命令ポインタ)を操作したメモリ上の場所に移動させ任意の命令を実行させることに利用される。これによって、攻撃の安定性が向上するため、頻繁にこのような組み合わせで実行される。
また、「スクリプトマルウェア」とは、上記したように、脆弱性を突いた攻撃ではなく、スクリプト言語の仕様に基づいて悪意のある動作をするものであるが、例えば、「java(登録商標)scriptポートスキャン」などが存在する。この「java(登録商標)scriptポートスキャン」は、java(登録商標)scriptを実行するとポートスキャンを実行するもので、インターネット側から読み込んだjava(登録商標)scriptがイントラネット側のネットワークに対してポートスキャンを行う。この攻撃によって、イントラネット側のホスト(各種サーバ)の生存状況を外部に把握されてしまう。
実施例2に係る情報処理装置は、上記した「ヒープレイアウト操作」や「スクリプトマルウェア」などのWebブラウザを標的とした攻撃及び侵入を検知することができる。
[情報処理装置の構成]
次に、図7を用いて、実施例2に係る情報処理装置の構成を説明する。図7は、実施例2に係る情報処理装置の構成を示すブロック図である。図7に示すように、この情報処理装置1は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、実行される複数のWebブラウザ(Webブラウザ50、Webブラウザ60・・・)と、記憶部70と、検知部73とを有する。なお、Webブラウザ50とWebブラウザ60とは、基本的な構成が同じであるので、ここではWebブラウザ50についてのみ説明する。
かかるWebブラウザ50は、その内部に複数のスクリプト(スクリプトA51a、スクリプトB51b・・・)と、スクリプトごとにモニター(モニター55a、モニター55b・・・)とを有する。なお、図示したスクリプトやモニターは例示であり、図示した数に限定されるものではなく、また、スクリプトごとに数も異なる。
スクリプトA51aとスクリプトB51bは、Webブラウザ50により実行されるスクリプト環境であり、例えば、jscript.dllやvbscript.dllなどがこれに該当する。モニター55aは、モジュールに埋め込まれた(挿入された)挙動監視を行うプログラムであり、実施例1と同様、監視部56と、制御部57とを内部に有する。なお、モニター55bもモニター55aと同様の構成を有するので、ここでは詳細な説明は省略する。
監視部56は、コンピュータシステムで実行されるWebブラウザの内部のスクリプト毎に、当該スクリプトにより発生した各種情報を収集し、収集した各種情報に基づいて、不正な攻撃や侵入を示す挙動をスクリプト毎に監視する。具体的には、監視部56は、情報処理装置1で実行されたWebブラウザ50のスクリプトA51aにより発生した情報として、「ページフレームのURL、呼び出された関数名、引数情報、タイムスタンプ」などを収集して、後述する蓄積DB31に格納する。そして、監視部56は、蓄積DB71に蓄積される情報に基づいて、スクリプトA51aが動作したときに発生する事象を監視する。
これにより、ページフレームごとの情報取得、呼び出された関数とその引数の値、タイムスタンプでソート(蓄積DB71に記憶される情報をソート)することによって、呼び出された関数のコールシーケンスなどを得ることが可能である。また、例えば、「HeapSpray」などのように確保されている文字列の累積と閾値との比較をして攻撃を検知する必要がある場合などは、常にWebブラウジングを継続しているといつかは閾値を必ず超えてしまうので、攻撃や侵入の検知をページ毎で行うことにより、攻撃や侵入を行う不正なページ(URL)の検出も可能である。
制御部57は、実施例1と同様、後述する検知部73により不正な攻撃や侵入が発生したと検知された場合に、当該検知された不正な攻撃や侵入と一致する挙動情報に対応する制御内容をルールDB72から特定し、特定した制御内容を実行する。具体的には、制御部57は、ルールDB72から特定された制御内容が「遮断制御」の場合には、検知部73により不正が検知されたモジュールまたはプロセスの動作を停止させる。
記憶部70は、実施例1と同様、ネットワーク通信を行うためのアドレス情報やルーティング情報、各種処理に必要なデータおよびプログラムを格納するとともに、蓄積DB71と、ルールDB72とを有する。
蓄積DB71は、モニター55aやモニター55bの各監視部によりスクリプト毎に収集された情報を記憶する。具体的には、蓄積DB71は、図8に示すように、各監視部により収集された情報の収集元(発信元)を示す「Webブラウザ」と「スクリプト」とに対応付けて、収集された内容を示す「情報」を記憶する。例えば、蓄積DB71は、「Webブラウザ、スクリプト、情報」として「Webブラウザ50、スクリプトX、呼び出された関数名(関数X)」や「Webブラウザ60、スクリプトX、呼び出された関数名(関数Y)と引数(ZZ)」などを記憶する。
なお、図8は、蓄積DBに記憶される情報の例を示す図である。また、実施例1と同様、図8では、「Webブラウザ」や「スクリプト」に対応付けて記憶することにより、一つのテーブルで収集される情報を管理しているが、Webブラウザやスクリプトごとに異なるテーブルを設けて記憶するようにしてもよい。
ルールDB72は、実施例1と同様、不正な攻撃や侵入を示す挙動を特定する挙動情報と不正な攻撃や侵入が発生した場合に実行する制御内容を記憶する。具体的には、ルールDB72は、図9に示すように、「Webブラウザ」と「スクリプト」とに対応付けて、不正な攻撃や侵入を示す挙動を特定する「挙動情報」、不正な攻撃や侵入が発生した場合に実行する「制御内容」を記憶する。
例えば、ルールDB72は、「Webブラウザ、スクリプト、挙動情報、制御内容」として「Webブラウザ50、スクリプトX、−、遮断制御」や「Webブラウザ60、スクリプトX、呼び出された関数名(関数Z)、無し」などを記憶する。なお、図9は、ルールDBに記憶される情報の例を示す図である。また、実施例1と同様、図9では、一つのテーブルで収集される情報を管理しているが、各プロセスや各モジュールごとに異なるテーブルを設けて記憶するようにしてもよい。
ここで挙動情報が「−」となっているのは、その処理が正常時には実行されないことを示しており、例えば、上記した「Webブラウザ50、スクリプトX、−、遮断制御」では、「Webブラウザ50」が「スクリプトX」を実行することはない。すなわち、「Webブラウザ50」が「スクリプトX」を実行した場合、詳細な情報を取得する必要も無く、不正な処理であることを示している。
なお、ルールDB72についても実施例1のルールDB32と同様、単に特定の関数が呼び出されたか、関数の引数が間違っていないかなどの情報以外にも、関数の呼び出し列(コールシーケンス)、文字列情報、文字列や文字列長の累積値などの閾値を記憶することもできる。また、ルールDB32は、実施例1のルールDB32と同様、制御内容として上記した情報以外にも、例えば、「管理者(XXX@AAA.com)へ通知」や複数の制御情報の組み合わせなどを記憶しておくこともできる。
検知部73は、監視部56により収集された各種情報が、不正な攻撃や侵入を示す挙動を特定する挙動情報を記憶するルールDB72に記憶される挙動情報と一致する場合に、不正な攻撃や侵入が発生したと検知する。具体的には、検知部73は、蓄積DB71に記憶される各レコードとルールDB72の各レコードを参照して、蓄積DB71に記憶される情報がルールDB72にも記憶されている場合に、不正な攻撃や侵入が発生したと検知する。
図8及び図9を参照しつつ説明すると、図8の蓄積DB71に記憶される「Webブラウザ50、スクリプトX、呼び出された関数名(関数X)」は、図9のルールDB72に「Webブラウザ50、スクリプトX、−、遮断制御」が記憶されていることから、検知部73は、不正な攻撃や侵入が発生したと検知する。上記したように、「Webブラウザ50」が「スクリプトX」を実行することは正常時には起こりえないことから、「スクリプトX」にモニターを組み込んでおけない。このような場合のために、Webブラウザ内のスクリプトだけでなく、Webブラウザに対応付けてモニターを組み込ませておく。そうすることで、上記した実行されないスクリプトが実行された場合であっても、不正な攻撃や侵入が発生したと検知することができる。
また、検知部73は、図8の蓄積DB71に記憶される「Webブラウザ60、スクリプトX、呼び出された関数名(関数Y)と引数(ZZ)」は、図9のルールDB72に同じ内容が記憶されていていないことから、検知部33は、この情報に関しては、正常な処理であると判定する。
[実施例2による効果]
このように、実施例2によれば、システムの詳細な挙動把握が可能になり、正確な異常検知が可能になる。また、Webブラウザにおけるスクリプト実行環境を利用した攻撃やマルウェアへの感染を防ぐことができる。また、このようにWebブラウザへの攻撃及び侵入に利用されるスクリプト実行環境に対象を絞って監視することで、Webブラウザ内部の他のモジュール(例えば、HTML処理エンジンなど)の動作による雑音を少なく対象箇所の情報の抽出と検知が可能であり、攻撃及び侵入の遮断を動的に制御(例えば、プロセスの強制終了)することが可能である。
上記した「雑音を少なく対象箇所の情報の抽出と検知が可能である」とは、従来手法の場合、プロセス内部の複数のモジュールからのAPIやシステムコール呼び出しが混同していたが、本願が開示する情報処置装置ではこのような混同が生じないことので、上記したように、『「雑音を少なく」対象箇所の情報の抽出と検知が可能である』としている。例えば、従来では、特定のモジュールが行う異常な挙動と、他のモジュールの正常な動作について、これらを区別できず、一括りにプロセスの挙動として見ていた。本願では、モジュール毎に挙動が監視できるので、他の正常なモジュールの動作との混同は生じない。
また、スクリプト実行環境を利用した攻撃には、上記したように、「脆弱性に対する攻撃(例えば、ヒープレイアウト操作)」と「スクリプトマルウェア」がある。「脆弱性に対する攻撃」では、Webブラウザの脆弱性を突く攻撃コードが埋め込まれたコンテンツをWebブラウザが読み込み、スクリプト実行環境がそれを実行することで攻撃が発動し侵入を許してしまう。ここでいうWebブラウザの脆弱性とは、Webブラウザ自身の脆弱性だけでなく、plug-inなどのBHO(Browser Helper Object)の脆弱性なども含まれる。脆弱性に対して攻撃を行う際に、スクリプト実行環境を利用してメモリのレイアウトを操作することで安定して攻撃を実行させる方法が併用される。
スクリプト実行環境を利用してメモリのレイアウトを不正に操作することで、Webブラウザへの脆弱性に対する攻撃の成功率を上げる手法(例えば、「HeapSpray」や「Heap風水」など)は、Webブラウザのヒープ領域に不正な命令コードを含む文字列を埋め込むことで、Webブラウザの脆弱性を突いて制御を奪った後に先ほど埋め込んだ不正な命令コードを実行させるものである。
このような攻撃に利用される特異な挙動に対して、文字列の動的確保を行うスクリプト実行環境の関数を監視することで、不正な処理を検知することができる。例えば、「HeapSpray」では、文字列を確保する際に、同じ内容の文字列を大量に確保することから、文字列確保を行う関数の引数として与えられる文字列情報を取得し、確保する文字列の類似や文字列長の累積値が閾値を超えたかどうかを元に検知の判断を行う(例えば、閾値を超えた場合に、異常と検知する)。
なお、上記した「文字列を確保する」とは、具体的には、長さNの文字列を確保するときは、メモリ上に長さNの文字列が格納できるだけの領域を確保し、そこに文字列が格納されることである。例えば、「java(登録商標)script」の「Array()配列」に対して文字列オブジェクト「str」を代入すると、「java(登録商標)script」の処理モジュールから最終的にAPIの「HeapAlloc()」が呼び出されてメモリ上に領域が確保される。
また、「スクリプトマルウェア」は、Webブラウザの脆弱性は突かず、スクリプト探知で動作して攻撃行動をするものである。このような攻撃は、ファイルの作成やプロセスの生成は行わずメモリ上で動作することからファイル入出力やプロセス生成の制御では防ぐことができない一方で、スクリプト実行環境が発行するパケット送信命令について、それを行う関数の引数として与えられる通信先によって不正かどうかを判断することができる。
例えば、「java(登録商標)script Portscan」と呼ばれる手法では、外部のWebサーバに仕掛けられた不正な「java(登録商標)script」をWebブラウザで読み込むことで、イントラネットに対してWebブラウザがポートスキャンを行ってしまう。この際、「java(登録商標)script」から発行されるパケット送信命令の通信先がイントラネットのアドレスであった場合、また複数のイントラネットのアドレス対してパケットを送信しようとする場合、上記の挙動である可能性が高いとして、Webブラウザに対する攻撃や侵入を検知することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、(1)モニター構成、(2)第三者装置、(3)適用例、(4)システム構成等、(5)プログラムにそれぞれ区分けして異なる実施例を説明する。
(1)モニター構成
例えば、実施例1または2で図示したモニターの構成は、これに限定されるものではく、例えば、監視部だけをモニターの内部に構成することもできる。また、モニター自体をプロセスの外部(情報処理装置内)に構成させることもできる。
(2)第三者装置
また、本願が開示する不正検知装置は、必ずしも情報処理装置内に組み込まれている必要はなく、情報処理装置(演算処理装置)と別の筺体であってもよい。
(3)適用例
本願が開示する不正検知装置は、特に具体例で挙げたようなWebブラウザに対する攻撃を検知可能なことにより、危険なWebページかどうかを判別可能なハニーポットとして利用可能である。
(4)システム構成等
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報(例えば、図4、図5、図8、図9など)については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合(例えば、監視部と制御部とを統合するなど)して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(5)プログラム
なお、本実施例で説明した不正検知方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
以上のように、本発明に係る不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システムは、コンピュータシステムに対する不正な攻撃や侵入を検知することに有用であり、特に、システムの内部まで詳細に監視することに適する。
実施例1に係る情報処理装置の概要を説明するための図である。 実施例1に係る情報処理装置の構成を示すブロック図である。 モニターの内部構成を例示した図である。 蓄積DBに記憶される情報の例を示す図である。 ルールDBに記憶される情報の例を示す図である。 実施例1に係る情報処理装置における処理の流れを示すフローチャートである。 実施例2に係る情報処理装置の構成を示すブロック図である。 蓄積DBに記憶される情報の例を示す図である。 ルールDBに記憶される情報の例を示す図である。 従来技術を説明するための図である。 従来技術を説明するための図である。
符号の説明
1 情報処理装置
10 プロセス
11a モジュールA
11b モジュールB
15a、55a モニター
15b、55b モニター
16、56 監視部
17、57 制御部
20 プロセス
30、70 記憶部
31、71 蓄積DB
32、72 ルールDB
33、73 検知部
50、60 Webブラウザ
51a スクリプトA
51b スクリプトB

Claims (6)

  1. 情報処理装置によって実行され、コンピュータシステムに対する不正な攻撃や侵入を検知する不正検知方法であって、
    前記情報処理装置にて、前記コンピュータシステムで実行されるプロセスの内部のモジュール毎に備えられたモニターが、当該モジュールにより発生した情報であって当該モジュールから呼び出された関数に関連する情報モジュール毎にそれぞれ収集し、収集した当該情報を蓄積データベースに格納する監視工程と、
    前記情報処理装置にて、各モニターに対して共通に備えられた検知部が、前記蓄積データベースに格納された情報と、前記不正な攻撃や侵入を示す挙動を特定する挙動情報を記憶する挙動情報記憶部に記憶される挙動情報とを参照し、前記蓄積データベースに格納された情報が、前記挙動情報記憶部に記憶される挙動情報と一致する場合に、前記不正な攻撃や侵入が発生したと検知する検知工程とを含んだことを特徴とする不正検知方法
  2. 前記挙動情報記憶部は、前記挙動情報に対応付けて、前記不正な攻撃や侵入が発生した場合に実行する制御内容をさらに記憶するものであって、
    前記モニターが、前記検知工程により不正な攻撃や侵入が発生したと検知された場合に、当該検知された不正な攻撃や侵入と一致する挙動情報に対応する制御内容を前記挙動情報記憶部から特定し、特定した制御内容を実行する制御実施工程をさらに含んだことを特徴とする請求項1に記載の不正検知方法。
  3. 前記モニターを前記モジュール毎に、前記プロセス内部に挿入することを特徴とする請求項に記載の不正検知方法。
  4. コンピュータシステムに対する不正な攻撃や侵入を検知する不正検知装置であって、
    前記不正な攻撃や侵入を示す挙動を特定する挙動情報を記憶する挙動情報記憶手段と、
    前記コンピュータシステムで実行されるプロセスの内部のモジュール毎に備えられ、当該モジュールにより発生した情報であって当該モジュールから呼び出された関数に関連する情報モジュール毎にそれぞれ収集し、収集した当該情報を蓄積データベースに格納する監視手段と、
    各監視手段に対して共通に備えられ、前記蓄積データベースに格納された情報と、前記挙動情報記憶手段に記憶される挙動情報とを参照し、前記蓄積データベースに格納された情報が、前記挙動情報記憶手段に記憶される挙動情報と一致する場合に、前記不正な攻撃や侵入が発生したと検知する検知手段とを備えたことを特徴とする不正検知装置。
  5. コンピュータシステムに対する不正な攻撃や侵入を検知することをコンピュータに実行させる不正検知プログラムであって、
    前記コンピュータにて、前記コンピュータシステムで実行されるプロセスの内部のモジュール毎に備えられたモニターに、当該モジュールにより発生した情報であって当該モジュールから呼び出された関数に関連する情報モジュール毎にそれぞれ収集し、収集した当該情報を蓄積データベースに格納する監視手順を実行させ、
    前記コンピュータにて、各モニターに対して共通に備えられた検知部に、前記蓄積データベースに格納された情報と、前記不正な攻撃や侵入を示す挙動を特定する挙動情報を記憶する挙動情報記憶部に記憶される挙動情報とを参照し、前記蓄積データベースに格納された情報が、前記挙動情報記憶部に記憶される挙動情報と一致する場合に、前記不正な攻撃や侵入が発生したと検知する検知手順を実行させることを特徴とする不正検知プログラム。
  6. コンピュータシステムに対する不正な攻撃や侵入を検知する情報処理システムであって、
    前記不正な攻撃や侵入を示す挙動を特定する挙動情報を記憶する挙動情報記憶手段と、
    前記コンピュータシステムで実行されるプロセスの内部のモジュール毎に備えられ、当該モジュールにより発生した情報であって当該モジュールから呼び出された関数に関連する情報モジュール毎にそれぞれ収集し、収集した当該情報を蓄積データベースに格納する監視手段と、
    各監視手段に対して共通に備えられ、前記蓄積データベースに格納された情報と、前記挙動情報記憶手段に記憶される挙動情報とを参照し、前記蓄積データベースに格納された情報が、前記挙動情報記憶手段に記憶される挙動情報と一致する場合に、前記不正な攻撃や侵入が発生したと検知する検知手段とを備えたことを特徴とする情報処理システム。
JP2008259983A 2008-10-06 2008-10-06 不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システム Active JP4995170B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008259983A JP4995170B2 (ja) 2008-10-06 2008-10-06 不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008259983A JP4995170B2 (ja) 2008-10-06 2008-10-06 不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システム

Publications (2)

Publication Number Publication Date
JP2010092174A JP2010092174A (ja) 2010-04-22
JP4995170B2 true JP4995170B2 (ja) 2012-08-08

Family

ID=42254840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008259983A Active JP4995170B2 (ja) 2008-10-06 2008-10-06 不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システム

Country Status (1)

Country Link
JP (1) JP4995170B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462158B2 (en) 2014-03-19 2019-10-29 Nippon Telegraph And Telephone Corporation URL selection method, URL selection system, URL selection device, and URL selection program

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5156663B2 (ja) * 2009-02-13 2013-03-06 Kddi株式会社 情報処理装置およびプログラム
KR101429452B1 (ko) * 2012-04-18 2014-08-13 라온시큐어(주) 무선 단말기 상에서 침입 차단 방법
CN103150512B (zh) * 2013-03-18 2015-10-21 珠海市君天电子科技有限公司 一种蜜罐系统和运用该系统检测木马的方法
CN105793864A (zh) 2013-12-27 2016-07-20 迈克菲股份有限公司 检测恶意多媒体文件的系统和方法
JP6025125B2 (ja) * 2014-08-07 2016-11-16 パナソニックIpマネジメント株式会社 決済処理装置
US9553882B2 (en) * 2014-09-08 2017-01-24 Empire Technology Development Llc Correlation of advertising content to malicious software
EP3234791A4 (en) 2014-12-16 2018-07-11 Entit Software LLC Determining permissible activity based on permissible activity rules
US20170142156A1 (en) * 2015-11-12 2017-05-18 Toyota Infotechnology Center Usa, Inc. Application Assurance for Open Platform In-Vehicle Infotainment System
KR20180120157A (ko) * 2016-01-22 2018-11-05 버섹 시스템즈, 인코포레이션 데이터세트 추출 기반 패턴 매칭
DE112021007689T5 (de) * 2021-05-20 2024-03-07 Mitsubishi Electric Corporation Steuervorrichtung

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003233521A (ja) * 2002-02-13 2003-08-22 Hitachi Ltd ファイル保護システム
JPWO2004075060A1 (ja) * 2003-02-21 2006-06-01 田部井 光 コンピュータウィルス判断方法
JP2006330864A (ja) * 2005-05-24 2006-12-07 Hitachi Ltd サーバ計算機システムの制御方法
JP4303741B2 (ja) * 2006-09-28 2009-07-29 富士通株式会社 通信遮断装置、通信遮断プログラムおよび通信遮断方法
JP4923925B2 (ja) * 2006-09-29 2012-04-25 富士通株式会社 チェックプログラム、監視装置および監視方法
JP2008176352A (ja) * 2007-01-16 2008-07-31 Lac Co Ltd コンピュータプログラム、コンピュータ装置、及び動作制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462158B2 (en) 2014-03-19 2019-10-29 Nippon Telegraph And Telephone Corporation URL selection method, URL selection system, URL selection device, and URL selection program

Also Published As

Publication number Publication date
JP2010092174A (ja) 2010-04-22

Similar Documents

Publication Publication Date Title
JP4995170B2 (ja) 不正検知方法、不正検知装置、不正検知プログラムおよび情報処理システム
JP4961153B2 (ja) コンピュータシステムからナレッジベースをアグリゲートし、コンピュータをマルウェアから事前に保護すること
US8239944B1 (en) Reducing malware signature set size through server-side processing
US8572740B2 (en) Method and system for detection of previously unknown malware
US7934261B1 (en) On-demand cleanup system
AU2018202323A1 (en) Automated runtime detection of malware
JP4938576B2 (ja) 情報収集システムおよび情報収集方法
US10033761B2 (en) System and method for monitoring falsification of content after detection of unauthorized access
JP6001781B2 (ja) 不正アクセス検知システム及び不正アクセス検知方法
JP6774881B2 (ja) 業務処理システム監視装置および監視方法
US11252167B2 (en) System and method for detecting and classifying malware
CN108369541B (zh) 用于安全威胁的威胁风险评分的系统和方法
JP2010182019A (ja) 異常検知装置およびプログラム
CN108345795B (zh) 用于检测和分类恶意软件的系统和方法
Lin et al. Reuse-oriented camouflaging trojan: Vulnerability detection and attack construction
JP2013152497A (ja) ブラックリスト抽出装置、抽出方法および抽出プログラム
JP2010182020A (ja) 不正検知装置およびプログラム
Hatada et al. Finding new varieties of malware with the classification of network behavior
CN111767540A (zh) Jart恶意软件自动化分析方法、装置和计算机可读存储介质
Anand et al. Comparative study of ransomwares
CN114697057B (zh) 获取编排剧本信息的方法、装置及存储介质
Wu et al. Detection of Android Malware Behavior in Browser Downloads
Jagadish et al. A novel prototype to secure network using malware detection framework against malware attack in wireless network
JP6296915B2 (ja) 解析装置及び解析方法及びプログラム
Reddy et al. Analysing the Malware by using Checksum and Signature-Based Detection Techniques.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100203

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110520

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120410

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: 20120508

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120509

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4995170

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350