JP6631118B2 - ネットワーク保護装置、ネットワーク保護方法、ネットワーク保護プログラム及び情報処理システム - Google Patents

ネットワーク保護装置、ネットワーク保護方法、ネットワーク保護プログラム及び情報処理システム Download PDF

Info

Publication number
JP6631118B2
JP6631118B2 JP2015184676A JP2015184676A JP6631118B2 JP 6631118 B2 JP6631118 B2 JP 6631118B2 JP 2015184676 A JP2015184676 A JP 2015184676A JP 2015184676 A JP2015184676 A JP 2015184676A JP 6631118 B2 JP6631118 B2 JP 6631118B2
Authority
JP
Japan
Prior art keywords
network protection
malware
information
operating system
hardware
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
JP2015184676A
Other languages
English (en)
Other versions
JP2017059083A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015184676A priority Critical patent/JP6631118B2/ja
Priority to US15/246,878 priority patent/US10339314B2/en
Publication of JP2017059083A publication Critical patent/JP2017059083A/ja
Application granted granted Critical
Publication of JP6631118B2 publication Critical patent/JP6631118B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Description

本発明は、ネットワーク保護装置、ネットワーク保護方法ネットワーク保護プログラム及び情報処理システムに関する。
企業や組織におけるセキュリティ管理者(以下、単に管理者とも呼ぶ)は、例えば、マルウエアによる情報の不正取得や破壊等(以下、悪性動作とも呼ぶ)を防ぐ必要がある。マルウエアは、コンピュータウィルスを含む有害動作を行うソフトウエアの総称である。
具体的に、マルウエアは、例えば、悪意のある者が外部の端末装置(以下、単に外部端末とも呼ぶ)から送信したメールに添付される形で送信され、メールを受信した端末装置において実行されることで、その端末装置に感染する。これにより、悪意のある者は、マルウエアに感染した端末装置を踏み台にすることによって、端末装置と接続した他の端末装置(例えば、機密情報を記憶する端末装置等)に不正アクセスし、情報の不正取得等を行うことが可能になる。
そのため、管理者は、例えば、外部端末から端末装置に送信されたメールにソフトウエアが添付されている場合に、そのソフトウエアを実行する検証装置(例えば、仮想マシンによって実現される仮想環境を有する装置)を設ける。
具体的に、検証装置は、外部端末から端末装置に送信されたメールにソフトウエアが添付されている場合、端末装置に送信される前にそのメールを取得する。そして、検証装置は、取得したメールに添付されているソフトウエアを、検証装置のデバッガ上(仮想環境)において実行して解析する。その結果、ソフトウエアがマルウエアでないと判定された場合、検証装置は、そのソフトウエアが添付されたメールを端末装置に送信する。一方、ソフトウエアがマルウエアであると判定した場合、検証装置は、例えば、そのソフトウエアが添付されたメールを端末装置に送信することなく破棄する。これにより、管理者は、端末装置においてマルウエアの感染を防止することが可能になる(例えば、特許文献1及び2参照)。
特開2011−233125号公報 特開2004−126854号公報
上記のようなマルウエアには、例えば、何らかのプログラム上において実行されたことを検知した場合、自身の動作を終了するマルウエア(悪性動作を行わないマルウエア)が存在する。具体的に、このようなマルウエアは、何らかのプログラム上において実行されたことを検知した場合、自身の動作の解析を行うためのプログラム(デバッガ)上で実行されている可能性があると判定し、自身の動作の解析が行われることを防止するために動作を終了する(以下、このような機能を耐解析機能とも呼ぶ)。
そのため、検証装置は、耐解析機能を有するマルウエアを検証装置のデバッガ上で実行した場合、実行したマルウエアをマルウエアとして検知できない場合がある。したがって、この場合、検証装置は、マルウエアが添付されたメールを端末装置に送信し、端末装置は、検証装置から送信されたメールに添付されたマルウエアに感染する。
そこで、一つの側面では、マルウエアの動作を抑制するネットワーク保護装置、ネットワーク保護方法ネットワーク保護プログラム及び情報処理システムを提供することを目的とする。
実施の形態の一つの態様によれば、マルウエアからオペレーティングシステム(OS:Operating System)を介してハードウエアに対して送信される命令を記憶する記憶部と、前記オペレーティングシステムから前記ハードウエアに対して送信された第1命令をフックし、フックした前記第1命令が前記記憶部に記憶された命令に含まれる場合、前記マルウエアに動作を終了する旨の判定をさせるための情報を前記オペレーティングシステムに送信する処理部と、を有する。
一つの側面によれば、マルウエアの動作を抑制する。
情報処理システム10の全体構成を説明する図である。 マルウエアが添付されたメールを受信した場合における検証装置2の処理の具体例を説明する図である。 マルウエアが添付されたメールを受信した場合における検証装置2の処理の具体例を説明する図である。 マルウエアが添付されたメールを受信した場合における検証装置2の処理の具体例を説明する図である。 マルウエアが添付されたメールを受信した場合における検証装置2の処理の具体例を説明する図である。 マルウエアが添付されたメールを受信した場合における検証装置2の処理の具体例を説明する図である。 耐解析機能を有するマルウエアを受信した場合における検証装置2の処理の具体例を説明する図である。 耐解析機能を有するマルウエアを受信した場合における端末装置1の処理の具体例を説明する図である。 マルウエア31aに誤った判定をさせる場合の処理の具体例を説明する図である。 マルウエア31aに誤った判定をさせる場合の処理の具体例を説明する図である。 端末装置1のハードウエア構成を説明する図である。 図11の端末装置1の機能ブロック図である。 第1の実施の形態におけるネットワーク保護処理の概略を説明するフローチャート図である。 第1の実施の形態におけるネットワーク保護処理の概略を説明するフローチャート図である。 第1の実施の形態におけるネットワーク保護処理の概略を説明する図である。 第1の実施の形態におけるネットワーク保護処理の概略を説明する図である。 第1の実施の形態におけるネットワーク保護処理の概略を説明する図である。 第1の実施の形態におけるネットワーク保護処理の詳細を説明するフローチャート図である。 第1の実施の形態におけるネットワーク保護処理の詳細を説明するフローチャート図である。 第1の実施の形態におけるネットワーク保護処理の詳細を説明するフローチャート図である。 ポリシー情報131の具体例である。 ポリシー情報131の具体例である。 ポリシー情報131の具体例である。
[情報処理システムの構成]
図1は、情報処理システム10の全体構成を説明する図である。図1に示す情報処理システム10は、端末装置1a、1b及び1c(以下、これらを総称して端末装置1またはネットワーク保護装置1とも呼ぶ)と、検証装置2と、ファイアーウォール装置3とを有する。
端末装置1は、企業や組織における業務システムの開発者や管理者が使用する端末である。具体的に、端末装置1は、例えば、デスクトップPC(Personal Computer)やノート型PCである。
ファイアーウォール装置3は、ネットワークNWと接続した外部端末31と、端末装置1との間の通信を制御する。すなわち、ファイアーウォール装置3は、例えば、外部端末31による端末装置1への不正アクセス等を防御する。なお、ネットワークNWは、例えば、インターネット網である。
検証装置2は、例えば、外部端末31から端末装置1に対してメールが送信された場合に、送信されたメールを取得し、そのメールにソフトウエアが添付されているか否かを判定する。そして、外部端末31から送信されたメールにソフトウエアが添付されている場合、検証装置2は、例えば、検証装置2内に構築された検証環境のデバッガ上において、そのメールに添付されているソフトウエアを実行する。
すなわち、ファイアーウォール装置3は、メールに添付されたソフトウエアがマルウエアであることを検知することができず、通信を許可する可能性がある。そのため、検証装置2は、ファイアーウォール装置3が通過させたメールに添付されたソフトウエアが、マルウエアであるか否かについての判定を行う。なお、検証装置2内に構築された検証環境は、例えば、検証装置2の物理リソースが割り当てられて生成された仮想マシン(以下、VMとも呼ぶ)からなる仮想環境である。
そして、検証装置2は、外部端末31から送信されたメールに添付されたソフトウエアを実行した結果、そのソフトウエアがマルウエアでないと判定した場合、外部端末31から送信されたメールを端末装置1に送信する。一方、検証装置2は、外部端末31から送信されたメールに添付されたソフトウエアがマルウエアであると判定した場合、外部端末31から送信されたメールを端末装置1に送信することなく破棄する。これにより、検証装置2は、外部端末31からマルウエアを添付したメールが送信された場合であっても、端末装置1が外部端末31から送信されたマルウエアに感染することを防止することが可能になる。
[検証装置の処理の具体例]
次に、検証装置2の処理の具体例について説明を行う。図2から図6は、マルウエアが添付されたメールを受信した場合における検証装置2の処理の具体例を説明する図である。
図2に示す例において、検証装置2は、仮想マシンを生成するための物理リソース(CPUやメモリ)を有する物理マシンである。具体的に、図2に示す検証装置2では、検証装置2における仮想マシンの生成または削除を行うための仮想化ソフトウエア24(以下、ハイパーバイザ24とも呼ぶ)が動作する。そして、図2に示す検証装置2には、検証装置2の物理リソースが割り当てられた仮想マシン21、22及び23が配備されている。
また、図2に示す端末装置1では、検証装置2と同様に、端末装置1における仮想マシンの生成または削除を管理するための仮想化ソフトウエア14(以下、ハイパーバイザ14とも呼ぶ)が動作する。そして、図1に示す端末装置1では、端末装置1の物理リソースが割り当てられた仮想マシン11が配備されている。
具体的に、外部端末31が端末装置1に対してメールを送信した場合、検証装置2は、図2に示すように、外部端末31から送信されたメールが端末装置1に送信される前に取得する。そして、検証装置2は、例えば、送信されたメールにソフトウエアが添付されているか否かを判定する。その結果、ソフトウエアが添付されている場合、検証装置2は、例えば、仮想マシン21のデバッガ上においてソフトウエアを実行し、解析を行う。すなわち、検証装置2は、メールに添付されたソフトウエアがマルウエアであるか否かを判定する。
そして、外部端末31から送信されたメールに添付されたソフトウエアがマルウエアでないと判定した場合、仮想マシン21は、図3に示すように、外部端末31から送信されたメールを端末装置1に送信する。また、仮想マシン21は、例えば、外部端末31から送信されたメールにソフトウエアが添付されていない場合においても、送信されたメールを端末装置1に送信する。
一方、送信されたメールに添付されたソフトウエアがマルウエアであった場合、仮想マシン21は、外部端末から送信されたメールを、端末装置1に送信することなく破棄する。これにより、送信されたメールに添付されたソフトウエアがマルウエアであった場合であっても、端末装置1がマルウエアに感染することを防ぐことが可能になる。
なお、送信されたメールに添付されたソフトウエアがマルウエアであった場合、仮想マシン21は、図4に示すように、マルウエアに感染する可能性がある。この場合、検証装置2は、図5に示すように、マルウエアに感染した仮想マシン21を削除する。これにより、検証装置2は、マルウエアに感染した環境を検証装置2から削除することが可能になる。
ここで、上記のようなマルウエアには、図6に示すように、デバッガ上において実行されたことを検知した場合に、自身の動作を終了する判定(悪性動作を行わない判定)を行う耐解析機能を有するマルウエアが存在する。そのため、耐解析機能を有するマルウエアをデバッガ上で実行した場合、検証装置2は、実行したマルウエアをマルウエアとして検知できない場合がある。したがって、検証装置2は、この場合、図6に示すように、マルウエアが添付されたメールを端末装置1に送信し、端末装置1をマルウエアに感染させる可能性がある。以下、耐解析機能を有するマルウエアに対処するための検証装置2及び端末装置1の処理の具体例について説明を行う。
[耐解析機能を有するマルウエアに対する検証装置の処理の具体例]
図7は、耐解析機能を有するマルウエアを受信した場合における検証装置2の処理の具体例を説明する図である。図7に示す検証装置2において、ハイパーバイザ24は、検証装置2のハードウエア25(物理リソース)上で動作し、仮想マシン21の生成または削除を行う。具体的に、ハイパーバイザ24は、仮想マシン21を生成する場合、ハイパーバイザ24上に仮想OS21c(以下、ゲストOS21cとも呼ぶ)を生成し、ハードウエア25の一部を仮想マシン21のハードウエア(以下、仮想ハードウエアとも呼ぶ)として割り当てる。一方、ハイパーバイザ24は、仮想マシン21を削除する場合、ハイパーバイザ24上に生成された仮想OS21cを削除し、仮想マシン21の仮想ハードウエアを解放する。
また、図7に示す検証装置2において、仮想マシンOS21c上では、受信したメールに添付されたソフトウエア31a(マルウエアである可能性があるソフトウエア)等を実行して解析するためのデバッガ21bが動作している。
なお、図7に示す例において、ハイパーバイザ24は、ハードウエア25上において直接動作しているが、ハードウエア25上で動作するホストOS(図示しない)上において動作するハイパーバイザであってもよい。
具体的に、図7に示す例において、検証装置2で実行されたソフトウエア31aがマルウエアである場合、そのマルウエア(以下、マルウエア31aとも呼ぶ)は、実行された現在の環境が動作を継続すべき環境(悪性動作を開始すべき環境)であるか否かの判定を行う。この場合、マルウエア31aは、例えば、実行された環境が何らかのプログラム上であるか否かの判定を行う。その結果、実行された環境が何らかのプログラム上であると判定した場合、マルウエア31aは、実行された環境がメールの宛先である端末装置1ではなく、他の装置の検証環境であると判定する。そして、マルウエア31aは、この場合、実行された環境が動作を継続すべき環境ではないと判定し、動作を終了する。これにより、マルウエア31aは、自身の動作を解析されることを防止することが可能になる。
さらに具体的に、マルウエア31aは、図7に示す例において、実行された環境がプログラム上であるか否かの問い合わせを仮想OS21cに対して送信する。そして、実行された環境がプログラム上である旨の情報を仮想OS21cから受信した場合、マルウエア31aは、動作を終了する。すなわち、マルウエア31aは、この場合、実行された現在の環境が動作を継続すべき環境ではないと判定し、悪性動作を行うための動作を行わない。
これにより、マルウエア31aは、検証装置2に対し、自身がマルウエアでないと誤って判定させることが可能になる。そのため、マルウエア31aは、この場合、検証装置2によって排除されることを防止し、端末装置1まで到達することが可能になる。
[耐解析機能を有するマルウエアに対する端末装置の処理の具体例]
次に、図8は、耐解析機能を有するマルウエアを受信した場合における端末装置1の処理の具体例を説明する図である。図8に示す端末装置1において、ハイパーバイザ14は、端末装置1のハードウエア15(物理リソース)上で動作し、仮想マシン11の生成または削除を行う。具体的に、ハイパーバイザ14は、仮想マシン11を生成する場合、ハイパーバイザ14上に仮想OS11c(以下、ゲストOS11cとも呼ぶ)を生成し、ハードウエア15の一部を仮想マシン11の仮想ハードウエアとして割り当てる。一方、ハイパーバイザ14は、仮想マシン11を削除する場合、ハイパーバイザ14上に生成された仮想OS11cを削除し、仮想マシン11の仮想ハードウエアを解放する。
なお、図8に示す端末装置1は、メールに添付されたソフトウエアを実行して解析を行うための装置ではないため、図7に示す検証装置2と異なり、デバッガを有していない。また、図8に示すハイパーバイザ14は、ハードウエア15上において直接動作しているが、ハードウエア15上で動作するホストOS(図示しない)上において動作するハイパーバイザであってもよい。
図8に示す例において、端末装置1で実行されたマルウエア31aは、実行された現在の環境が動作を継続すべき環境(悪性動作を行うべき環境)であるか否かの判定を行うために、実行された環境が何らかのプログラム上であるか否かの判定を行う。
具体的に、マルウエア31aは、図8に示す例において、実行された環境がプログラム上であるか否かの問い合わせを仮想OS11cに対して送信する。ここで、図8の例におけるマルウエア31aは、図7で説明した場合と異なり、デバッガ等のプログラム上ではなく、仮想OS11c上において直接実行されている。そのため、マルウエア31aは、実行された環境がプログラム上でない旨の情報を仮想OS11cから受信する。したがって、マルウエア31aは、図8に示す例において、実行された現在の環境が動作を継続すべき環境であると判定し、悪性動作を開始する。これにより、マルウエア31aは、検証装置2において事前に実行される場合であっても、端末装置1を感染させることが可能になる。
これに対し、端末装置1は、マルウエア31aに対して、端末装置1が動作すべきでない端末であると誤って判定させ、動作を終了させる(悪性動作を開始させない)場合がある。これにより、端末装置1は、マルウエア31aによる感染を防止することが可能になる。以下、マルウエア31aに誤った判定をさせる場合における処理の具体例について説明を行う。
[マルウエア31aに誤った判定をさせる場合における処理の具体例]
図9及び図10は、マルウエア31aに誤った判定をさせる場合の処理の具体例を説明する図である。ソフトウエア31a(マルウエア31aである可能性あり)から仮想OS11cに対して、実行された現在の環境が何らかのプログラム上であるか否かの問い合わせが送信された場合、フック装置4は、図9に示すように、送信された問い合わせが仮想OS11cに到達する前に取得する。そして、フック装置4は、取得した問い合わせの内容が記憶部4aに記憶された情報と一致する場合、その問い合わせを仮想OS11cに送信しない。さらに、フック装置4は、この場合、ソフトウエア31aに対して、実行された現在の環境が何らかのプログラム上である旨の情報(悪性動作を開始すべきでない旨の情報)を送信する。
すなわち、管理者は、種々のマルウエアが動作を継続すべきか否かの判定を行うために送信する各情報を、予め記憶部4aに記憶する。そして、フック装置4は、ソフトウエア31aから仮想OS11cに対して送信された情報が、記憶部4aに記憶された情報と同じ情報である場合、仮想OS11cに対して問い合わせを送信したソフトウエア31aがマルウエア(マルウエア31a)であると判定する。その後、フック装置4は、マルウエア31aが仮想OS11cに送信した問い合わせに対する応答として、マルウエア31aが動作を継続すべきでない旨の情報をマルウエア31aに送信する。
これにより、フック装置4は、マルウエア31aに対し、実行された現在の環境が動作を継続すべきでない環境であると判定させ、端末装置1における動作を終了させる(悪性動作を開始させない)ことが可能になる。そのため、フック装置4は、端末装置1がマルウエア31aに感染することを防止することが可能になる。
しかしながら、マルウエア31aは、図10に示すように、動作を継続すべきか否かを判定するための問い合わせを、仮想OS11cを介してハードウエア15に送信する可能性がある。そのため、フック装置4がソフトウエア31a(マルウエア31a)と仮想OS11cとの間における情報のフックのみ行うものである場合、マルウエア31aがハードウエア15に対して送信した情報をフックすることができない。したがって、フック装置4は、この場合、端末装置1におけるマルウエア31aの動作を終了させることができず、マルウエア31aによる端末装置1の感染することを防止することができない。
そこで、本実施の形態では、端末装置1のハイパーバイザ14は、マルウエア31aから仮想OS11cを介してハードウエア15に対して送信される可能性がある命令を記憶する記憶部を有する。また、端末装置1のハイパーバイザ14は、仮想OS11cからハードウエア15に対して送信された命令(以下、第1命令とも呼ぶ)をフックする。そして、端末装置1のハイパーバイザ14は、フックした第1命令と同じ内容の命令が記憶部に記憶されている場合、マルウエア31aに動作を終了する旨を判定させるための情報を仮想OS11cに送信する。
すなわち、本実施の形態における端末装置1は、仮想OS11cとハードウエア15との間に位置するハイパーバイザ14において、仮想OS11cからハードウエア15に対して送信された第1命令をフックする。これにより、端末装置1は、仮想OS11cからハードウエア15に対して送信された命令をフックすることが可能になる。
また、本実施の形態におけるハイパーバイザ14の記憶部(実体としてはハードウエア15の一部)には、例えば、他の装置(例えば、検証装置2)において過去にマルウエア31aが送信した命令であって、その命令に対する応答をマルウエア31aに送信した結果、マルウエア31aが悪性動作を開始しなかった命令が記憶されている。そのため、ハイパーバイザ14は、マルウエア31aが仮想OS11cを介してハードウエア15に対して第1命令を送信した場合、ハイパーバイザ14の記憶部を参照する。そして、第1命令がハイパーバイザ14の記憶部に記憶された命令に含まれている場合、ハイパーバイザ14は、マルウエア31aが他の装置において第1命令と同じ命令を送信した際に、他の装置のハードウエアがマルウエア31aに対して応答した情報と同じ情報をマルウエア31aに送信する。これにより、ハイパーバイザ14は、マルウエア31aに、現在実行されている環境(端末装置1)が過去に動作を終了した環境(例えば、検証装置2)と同じ環境であると判定させることが可能になる。そのため、ハイパーバイザ14は、端末装置1において、マルウエア31aによる悪性動作の開始を防止することが可能になる。
さらに、この場合、管理者は、マルウエア31aがハードウエア15に対して送信する可能性がある全ての情報を事前に取得し、予めハイパーバイザ14の記憶部に記憶しておく必要がなくなる。
[端末装置のハードウエア構成]
次に、端末装置1のハードウエア構成について説明する。図11は、端末装置1のハードウエア構成を説明する図である。
端末装置1は、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、例えば、記憶媒体104内のプログラム格納領域(図示しない)に、端末装置1においてマルウエア31aの動作を終了させることにより、ネットワークを保護する処理(以下、ネットワーク保護処理とも呼ぶ)等を行うためのプログラム110を記憶する。
CPU101は、図11に示すように、プログラム110の実行時に、プログラム110を記憶媒体104からメモリ102にロードし、プログラム110と協働してネットワーク保護処理等を行う。
記憶媒体104は、例えば、ネットワーク保護処理等を行う際に用いられる情報を記憶する情報格納領域130(以下、記憶部130とも呼ぶ)を有する。なお、記憶部130は、例えば、ハイパーバイザ14が制御する記憶部として機能する。
また、外部インターフェース103は、検証装置2と通信を行う。また、外部インターフェース103は、検証装置2及びファイアーウォール装置3を介してネットワークNWと通信を行う。
[端末装置のソフトウエア構成]
次に、端末装置1のソフトウエア構成について説明する。図12は、図11の端末装置1の機能ブロック図である。CPU101は、プログラム110と協働することにより、端末装置1のハイパーバイザ14の機能である命令フック部111と、命令判定部112と、命令変換部113と、返り値送信部114と、ポリシー受信部115と、ポリシー管理部116として機能する。また、情報格納領域130には、ポリシー情報131が記憶されている。なお、以下、命令フック部111、命令判定部112、命令変換部113及び返り値送信部114をまとめて処理部120とも呼ぶ。
命令フック部111は、端末装置1の仮想OS11cからハードウエア15に対して送信された第1命令をフックする。具体的に、命令フック部111は、仮想OS11c上で動作するソフトウエア31a(マルウエア31aである可能性があり)が仮想OS11cを介してハードウエア15に送信した第1命令を、ハードウエア15に送信される前にフックする。
命令判定部112は、命令フック部111がフックした第1命令が情報格納領域130に記憶された命令群(以下、ポリシー情報131とも呼ぶ)に含まれるか否かを判定する。そして、命令判定部112は、第1命令が情報格納領域130に記憶されたポリシー情報131に含まれる場合、ソフトウエア31aがマルウエア31aであると判定する。
そして、命令変換部113は、ソフトウエア31aがマルウエア31aであると判定した場合、第1命令を、マルウエア31aに動作を終了する旨の判定(悪性動作を開始させない旨の判定)をさせるための情報に変換する。すなわち、命令変換部113は、ソフトウエア31aがマルウエア31aであった場合に、マルウエア31aに動作を終了させることができる情報(以下、返り値情報132とも呼ぶ)を作成する。
その後、返り値送信部114は、命令変換部113が作成した返り値情報132を、仮想OS11cを介してソフトウエア31aに送信する。
ポリシー受信部115は、検証装置2が作成したポリシー情報131を受信する。検証装置2がポリシー情報131を作成する際の具体例については後述する。また、ポリシー管理部116は、ポリシー受信部115が受信したポリシー情報131を情報格納領域130に記憶する。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図13及び図14は、第1の実施の形態におけるネットワーク保護処理の概略を説明するフローチャート図である。また、図15から図17は、第1の実施の形態におけるネットワーク保護処理の概略を説明する図である。図15から図17を参照しながら図13及び図14のネットワーク保護処理の概略を説明する。なお、以下、端末装置1は、検証装置2からポリシー情報131を受信するものとして説明を行う。
[ポリシー情報を記憶する際の処理]
初めに、端末装置1がポリシー情報131を記憶する際の処理について説明を行う。
端末装置1(ハイパーバイザ14)は、図13に示すように、例えば、検証装置2からポリシー情報131を受信するまで待機する(S1のNO)。検証装置2は、例えば、仮想マシンOS21c上で実行されたソフトウエア31a(マルウエア31aである可能性あり)が、仮想OS21cを介してハードウエア25に送信した命令を集計した情報から、ポリシー情報131を作成する。すなわち、ポリシー情報131には、検証装置2において過去にソフトウエア31aがハードウエア25に送信した命令であって、その命令に対する応答をソフトウエア31aに送信した結果、マルウエアによる悪性動作が行われなかった命令の情報が含まれる。
なお、ポリシー情報131には、ソフトウエア31aから送信された情報に対して、ハードウエア25がソフトウエア31aに対して実際に送信した情報(返り値情報132)を含むものであってもよい。
そして、ポリシー情報131を受信した場合(S1のYES)、端末装置1(ハイパーバイザ14)は、図15に示すように、S1の処理で受信したポリシー情報131を情報格納領域130に記憶する(S2)。
[情報をフックする際の処理]
次に、ソフトウエア31aがハードウエア15に送信した情報をフックする際の処理について説明を行う。
端末装置1(ハイパーバイザ14)は、端末装置1の仮想OS11cからハードウエア15に対して送信された第1命令の送信を検知するまで待機する(S11のNO)。すなわち、端末装置1は、仮想OS11c上で実行されたソフトウエア31aが、仮想OS11cを介してハードウエア15に対して送信した第1命令の送信を検知するまで待機する。そして、第1命令の送信を検知した場合(S11のYES)、端末装置1(ハイパーバイザ14)は、図16に示すように、第1命令をフックする(S12)。
これにより、動作を継続するか否かの判定(悪性動作を開始するか否かの判定)を行うために、マルウエア31aがハードウエア15に対して命令を送信した場合であっても、端末装置1は、後述するように、マルウエア31aに動作を終了する旨の判定を行わせることが可能になる。
また、端末装置1は、第1命令が第1命令の本来の送信先であるハードウエア15に送信されることを防止することが可能になる。そのため、端末装置1は、第1命令の本来の送信先であるハードウエア15からソフトウエア31aに対して応答が送信されることを防止することが可能になる。
その後、端末装置1(ハイパーバイザ14)は、図17に示すように、S12の処理でフックした第1命令が情報格納領域130に記憶されているか否かを判定する(S13)。すなわち、第1命令が情報格納領域130に記憶されている場合、端末装置1は、ソフトウエア31aがマルウエア31aであると判定する。
そして、第1命令が情報格納領域130に記憶されている場合(S13のYES)、端末装置1(ハイパーバイザ14)は、ソフトウエア31aがマルウエア31aである場合に動作を終了する旨の判定をさせるための情報を、仮想OS11cを介してソフトウエア31aに送信する(S14)。一方、第1命令が情報格納領域130に記憶されていない場合(S13のNO)、端末装置1は、S14の処理を実行しない。
すなわち、端末装置1は、ソフトウエア31aがマルウエア31aである場合に、マルウエア31aが動作を終了する判定を行うための情報(検証装置2においてマルウエア31aが動作を終了する判定を行った情報)を、返り値情報132としてマルウエア31aに送信する。これにより、端末装置1は、ソフトウエア31aがマルウエア31aであった場合において、返り値情報132の内容を参照したマルウエア31aに、実行された環境である端末装置1が動作を継続すべきでない(悪性動作を行うべきではない)環境であると判定させることが可能になる。そのため、端末装置1は、マルウエア31aに動作を終了させることが可能になる。
このように、第1の実施の形態によれば、端末装置1のハイパーバイザ14は、マルウエア31aから検証装置2の仮想OS21cを介してハードウエア25に対して送信される命令を記憶する記憶部130を有する。また、端末装置1のハイパーバイザ14は、端末装置1の仮想OS11cからハードウエア15に対して送信された第1命令をフックする。そして、端末装置1のハイパーバイザ14は、フックした第1命令が記憶部130に記憶された命令に含まれる場合、マルウエア31aに動作を終了する旨の判定をさせるための返り値情報132を、仮想OS11cに送信する処理部120を有する。
これにより、端末装置1のハイパーバイザ14は、マルウエア31aに対し、過去に悪性動作を開始しなかった環境(例えば、検証装置2)と同じ環境で実行されているものと判定させることが可能になる。そのため、端末装置1のハイパーバイザ14は、マルウエア31aに動作を終了させることが可能になる。
また、端末装置1のハイパーバイザ14は、検証装置2においてマルウエア31aが送信した命令に基づき、端末装置1において実行されたマルウエア31aの動作を終了させる。そのため、管理者は、マルウエア31aがハードウエア15に対して送信する可能性がある全ての情報を事前に取得し、予め記憶部130に記憶しておく必要がなくなる。
なお、図15から図17で説明したハイパーバイザ14は、OS上で動作するハイパーバイザではなく、ハードウエア15上で直接動作するハイパーバイザ(Type1型のハイパーバイザ)である。これに対し、ハイパーバイザ14は、ハードウエア15上で直接動作するOS(ホストOS:図示しない)上で動作するハイパーバイザ(Type2型のハイパーバイザ)であってもよい。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図18から図20は、第1の実施の形態におけるネットワーク保護処理の詳細を説明するフローチャート図である。また、図21から図23は、第1の実施の形態におけるネットワーク保護処理の詳細を説明する図である。図21から図23を参照しながら、図18から図20のネットワーク保護処理を説明する。
[検証装置におけるネットワーク保護処理]
初めに、検証装置2におけるネットワーク保護処理について説明する。図18は、検証装置2におけるネットワーク保護処理を説明するフローチャート図である。
検証装置2は、図18に示すように、外部端末31からソフトウエア31aが添付されたメール(宛先が端末装置1であるメール)を受信するまで待機する(S21のNO)。そして、外部端末31からソフトウエア31aが添付されたメールを受信した場合(S21のYES)、検証装置2は、受信したメールに添付されたソフトウエア31aを実行する(S22)。具体的に、検証装置2は、図2等で説明したように、検証装置2に生成された仮想マシン(検証環境)においてソフトウエア31aを実行して解析を行う。
そして、S21の処理で受信したメールに添付されたソフトウエア31aがマルウエア31aであると判定した場合(S23のYES)、検証装置2は、受信したメールを端末装置1に送信することなく、受信したメールに添付されたソフトウエア31aを実行した仮想マシンを削除する(S24)。すなわち、検証装置2は、S21の処理で受信したメールに添付されたソフトウエア31aがマルウエア31aであった場合、ソフトウエア31aを添付したメールを、そのメールの宛先である端末装置1に送信することなく破棄する。
これにより、検証装置2は、端末装置1がマルウエア31aに感染することを防止することが可能になる。また、検証装置2は、マルウエア31aを実行した仮想マシンを削除することにより、マルウエアに感染した環境を検証装置2から削除することが可能になる。
一方、S21の処理で受信したメールに添付されたソフトウエア31aがマルウエア31aでないと判定した場合(S23のNO)、検証装置2は、検証装置2の仮想OS21cからハードウエア25に送信された命令を検知するまで待機する(S25のNO)。そして、仮想OS21cからハードウエア25に送信された命令を検知した場合(S25のYES)、S25の処理で検知した命令と、ハードウエア25が仮想OS21cに送信した返り値情報132とを対応させた情報を作成する。そして、検証装置2は、作成した情報をポリシー情報131の一部として、検証装置2の情報格納領域(図示しない)に記憶する(S26)。
すなわち、S23の処理においてマルウエア31aでないと判定されたソフトウエア31aには、検証装置2における解析によってはマルウエアであると判定できなかったマルウエア(検証装置2において悪性動作を行わなかったマルウエア)が含まれる可能性がある。そのため、検証装置2は、マルウエア31aでないと判定されたソフトウエア31aがハードウエア25に送信した命令の情報と、その命令に対してソフトウエア31aに送信した情報(返り値情報132)とを対応させてポリシー情報131として記憶する。そして、検証装置2は、記憶したポリシー情報131を端末装置1に送信する。これにより、端末装置1は、後述するように、端末装置1において、マルウエア31aによる悪性動作を防止することが可能になる。
その後、検証装置2は、ソフトウエア31aからハードウエア25に対して送信された新たな情報を検知し、ポリシー情報131を端末装置1に送信する(S27)。すなわち、検証装置2は、例えば、検証装置2の情報格納領域に記憶されたポリシー情報131が更新される毎に、ポリシー情報131を端末装置1に送信する。これにより、検証装置2において、新たなマルウエアが新たな命令をハードウエア25に送信した場合に、端末装置1は、その新たな命令に対して迅速に対応することが可能になる。以下、ポリシー情報131の具体例について説明を行う。
[ポリシー情報の具体例]
図21から図23は、ポリシー情報131の具体例である。初めに、S26の処理が行われる前のポリシー情報131の具体例について説明する。
図21は、S26の処理が行われる前のポリシー情報131の具体例である。図21に示すポリシー情報131は、ポリシー情報131の各情報を識別する「項番」と、ソフトウエア31aからハードウエア25に送信された命令の内容が設定される「命令」とを項目として有している。また、図21に示すポリシー情報131は、「命令」に設定された命令に対してソフトウエア31aに送信された返り値情報132が設定される「返り値」を項目として有している。
具体的に、図21に示すポリシー情報131において、「項番」が「1」である情報には、「命令」として「HDD名の参照」が設定され、「返り値」として「VM−AAA−HDD」が設定されている。また、図21に示すポリシー情報131において、「項番」が「2」である情報には、「命令」として「CPUコア数の参照」が設定され、「返り値」として「3」が設定されている。さらに、図21に示すポリシー情報131において、「項番」が「3」である情報には、「命令」として「ディスク容量の参照」が設定され、「返り値」として「200(GB)」が設定されている。
次に、S26の処理が行われた後のポリシー情報131の具体例について説明する。図22は、S26の処理が行われた後のポリシー情報131の具体例である。
図22に示すポリシー情報131は、図21に示すポリシー情報131と比較して、「項番」が「4」である情報(図22の下線部分)が追加されている。具体的に、図22に示すポリシー情報131において、「項番」が「4」である情報には、「命令」として「I/O−AAAの存在確認」が設定され、「返り値」として「存在」が設定されている。
すなわち、図21及び図22に示すポリシー情報131には、検証装置2において、ソフトウエア31aがハードウエア25に送信した命令の内容と、その命令に対する返り値情報132とを対応して設定されている。これにより、端末装置1は、ソフトウエア31aからハードウエア15に対する命令が送信された場合に、ポリシー情報131を参照することで、マルウエア31aに動作を終了する旨を判定させる情報を作成し、ソフトウエア31aに送信することが可能になる。
なお、ポリシー情報131は、検証装置2の環境情報を有する情報であってもよい。そして、端末装置1は、ソフトウエア31aからハードウエア15に対する命令が送信された場合に、環境情報を含むポリシー情報131を参照し、端末装置1が返り値情報132を作成してソフトウエア31aに送信するものであってもよい。以下、検証装置2の環境情報を有するポリシー情報131の具体例について説明を行う。
[検証装置の環境情報を有するポリシー情報の具体例]
図23は、検証装置2の環境情報を有するポリシー情報131の具体例である。図23に示すポリシー情報131は、ポリシー情報131の各情報を識別する「項番」と、検証装置2の環境情報の項目を設定する「環境情報」と、検証装置2の環境情報の内容を設定する「内容」とを項目として有している。
具体的に、図23に示すポリシー情報131において、「項番」が「1」である情報には、「環境情報」として「HDD名」が設定され、「内容」として「VM−AAA−HDD」が設定されている。また、図23に示すポリシー情報131において、「項番」が「2」である情報には、「環境情報」として「CPUコア数」が設定され、「内容」として「3」が設定されている。また、図23に示すポリシー情報131において、「項番」が「3」である情報には、「環境情報」として「ディスク容量」が設定され、「内容」として「200(GB)」が設定されている。さらに、図23に示すポリシー情報131において、「項番」が「4」である情報には、「環境情報」として「I/Oポート」が設定され、検証装置2の仮想マシンが有するI/Oポートである「I/O−AAA,I/O−BBB」が「内容」として設定されている。
すなわち、端末装置1は、例えば、ソフトウエア31aからHDD名の参照する旨の命令の送信を検知した場合、図23に示すポリシー情報131を参照し、「環境情報」が「HDD名」である情報の「内容」が「VM−AAA−HDD」を取得する。そして、端末装置1は、HDD名が「VM−AAA−HDD」を返り値情報132としてソフトウエア31aに送信する。
また、端末装置1は、ソフトウエア31aを実行した端末装置1の仮想マシンが有するI/Oポートとして、I/O−BBBが存在するか否か判定する旨の命令の送信を検知した場合、図23に示すポリシー情報131を参照する。そして、端末装置1は、「環境情報」が「I/Oポート」である情報の「内容」に「I/O−BBB」が設定されている旨を判定する。そのため、端末装置1は、この場合、I/Oポートに「I/O−BBB」が存在する旨の返り値情報132をソフトウエア31aに送信する。
一方、端末装置1は、ソフトウエア31aを実行した端末装置1の仮想マシンが有するI/Oポートとして、I/O−CCCが存在するか否か判定する旨の命令の送信を検知した場合、上記の場合と同様に、図23に示すポリシー情報131を参照する。そして、端末装置1は、「環境情報」が「I/Oポート」である情報の「内容」に「I/O−CCC」が設定されていない旨を判定する。そのため、端末装置1は、この場合、I/Oポートに「I/O−CCC」が存在しない旨の返り値情報132をソフトウエア31aに送信する。
[端末装置におけるネットワーク保護処理]
次に、端末装置1におけるネットワーク保護処理について説明する。図19及び図20は、端末装置1におけるネットワーク保護処理を説明するフローチャート図である。
端末装置1のポリシー受信部115は、図19に示すように、例えば、検証装置2からポリシー情報131を受信するまで待機する(S31のNO)。そして、ポリシー情報131を受信した場合(S31のYES)、端末装置1のポリシー管理部116は、S31の処理で受信したポリシー情報131を情報格納領域130に記憶する(S32)。なお、検証装置2は、ポリシー受信部115に対し、ポリシー情報131のうちの更新分の情報(ポリシー情報131のうち、ポリシー受信部115に送信していない情報)のみを送信するものであってもよい。
また、端末装置1の命令フック部111は、図20に示すように、端末装置1のソフトウエア31aから仮想OS11cを介してハードウエア15に対して送信された第1命令の送信を検知するまで待機する(S41のNO)。そして、第1命令の送信を検知した場合(S41のYES)、命令フック部111は、第1命令をフックする(S42)。
その後、端末装置1の命令判定部112は、S42の処理でフックした第1命令が情報格納領域130に記憶されているポリシー情報131に含まれるか否かを判定する(S43)。そして、第1命令がポリシー情報131に含まれる場合(S43のYES)、端末装置1の命令変換部113は、情報格納領域130に記憶されているポリシー情報131を参照し、第1命令の変換を行う。すなわち、命令変換部113は、ソフトウエア31aに対して送信する返り値情報132を決定する(S44)。その後、返り値送信部114は、S44の処理で決定した戻り値情報132をソフトウエア31aに送信する(S45)。
具体的に、命令フック部111がフックした第1命令の内容が「ディスク容量の参照」である場合、命令判定部112は、例えば、図22で説明したポリシー情報131を参照する。そして、命令判定部112は、図22で説明したポリシー情報131に、「内容」が「ディスク容量の参照」である情報(「項番」が「3」である情報)が存在すると判定する。そのため、命令変換部113は、「項番」が「3」である情報の「返り値」に設定された情報(返り値情報132)である「200(GB)」を取得する。そして、返り値送信部114は、命令変換部113が取得した返り値情報132である「200(GB)」を、仮想OS11cを介してソフトウエア31aに送信する。
一方、第1命令がポリシー情報131に含まれない場合(S43のNO)、命令変換部113は、S44及びS45の処理を行わない。
すなわち、命令フック部111は、検証装置2から送信されたソフトウエア31a(検証装置2を通過したソフトウエア31a)が、検証装置2においてハードウエア25に対して送信した命令と同じ命令(第1命令)を端末装置1のハードウエア15に送信するまで待機する。そして、第1命令がソフトウエア31aからハードウエア15に送信された場合、検証装置2においてハードウエア25が送信した情報と同じ内容の返り値情報132をソフトウエア31aに送信する。
これにより、端末装置1は、マルウエア31aに対し、過去に動作を終了した環境(過去に悪性動作を開始しなかった環境)と同じ環境で実行されているものと判定させることが可能になる。そのため、端末装置1は、端末装置1におけるマルウエアの動作を終了させることが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
マルウエアからオペレーティングシステムを介してハードウエアに対して送信される命令を記憶する記憶部と、
前記オペレーティングシステムから前記ハードウエアに対して送信された第1命令をフックし、フックした前記第1命令が前記記憶部に記憶された命令に含まれる場合、前記マルウエアに動作を終了する旨の判定をさせるための情報を前記オペレーティングシステムに送信する処理部と、を有する、
ことを特徴とするネットワーク保護装置。
(付記2)
付記1において、
前記記憶部に記憶された命令は、前記ネットワーク保護装置に対して送信されたソフトウエアを検証装置で実行した際に、前記検証装置のオペレーティングシステムから前記検証装置のハードウエアに対して送信された命令である、
ことを特徴とするネットワーク保護装置。
(付記3)
付記2において、
前記検証装置は、前記ネットワーク保護装置に対して送信されたソフトウエアを、前記ソフトウエアが前記ネットワーク保護装置に送信される前に実行し、前記ソフトウエアを前記ネットワーク保護装置に対して送信する前に、前記検証装置のオペレーティングシステムから前記検証装置のハードウエアに対して送信された命令を前記記憶部に記憶する、
ことを特徴とするネットワーク保護装置。
(付記4)
付記2において、
前記マルウエアに動作を終了する旨の判定をさせるための情報は、前記検証装置のオペレーティングシステムが前記検証装置のハードウエアに送信した命令に対し、前記検証装置のハードウエアが前記検証装置のオペレーティングシステムに送信した情報と同じ情報である、
ことを特徴とするネットワーク保護装置。
(付記5)
付記4において、
前記マルウエアに動作を終了する旨の判定をさせるための情報は、前記オペレーティングシステムが仮想オペレーティングシステムであり、前記検証装置のオペレーティングシステムと同じオペレーティングシステムであることを示す情報である、
ことを特徴とするネットワーク保護装置。
(付記6)
付記1において、
前記処理部は、前記第1命令が前記記憶部に記憶された命令に含まれる場合、前記第1命令を前記ハードウエアに送信することなく、前記マルウエアに動作を終了する旨の判定をさせるための情報を前記オペレーティングシステムに送信する、
ことを特徴とするネットワーク保護装置。
(付記7)
付記1において、
前記処理部は、フックした前記第1命令が前記記憶部に記憶された命令に含まれない場合、前記第1命令を前記ハードウエアに送信する、
ことを特徴とするネットワーク保護装置。
(付記8)
マルウエアからオペレーティングシステムを介してハードウエアに対して送信される命令を記憶部に記憶し、
前記オペレーティングシステムから前記ハードウエアに対して送信された第1命令をフックし、フックした前記第1命令が前記記憶部に記憶された命令に含まれる場合、前記マルウエアに動作を終了する旨の判定をさせるための情報を前記オペレーティングシステムに送信する、
ことを特徴とするネットワーク保護方法。
(付記9)
コンピュータに、
マルウエアからオペレーティングシステムを介してハードウエアに対して送信される命令を記憶部に記憶し、
前記オペレーティングシステムから前記ハードウエアに対して送信された第1命令をフックし、フックした前記第1命令が前記記憶部に記憶された命令に含まれる場合、前記マルウエアに動作を終了する旨の判定をさせるための情報を前記オペレーティングシステムに送信する、
ことを実行させることを特徴とするネットワーク保護プログラム。
1a:端末装置 1b:端末装置
1c:端末装置 2:検証装置
3:ファイアーウォール装置 31:外部端末
NW:ネットワーク

Claims (8)

  1. マルウエアによる自装置に対する攻撃を防止するネットワーク保護装置であって、
    前記ネットワーク保護装置と異なる装置である検証装置のオペレーティングシステムから前記検証装置のハードウエアに対して送信された命令を記憶する記憶部と、
    前記ネットワーク保護装置のオペレーティングシステムから前記ネットワーク保護装置のハードウエアに対して送信された第1命令をフックし、フックした前記第1命令が前記記憶部に記憶された命令に含まれる場合、ルウエアに動作を終了する旨の判定をさせるための情報を前記ネットワーク保護装置のオペレーティングシステムに送信する処理部と、を有する、
    ことを特徴とするネットワーク保護装置。
  2. 請求項において、
    前記検証装置は、前記ネットワーク保護装置に対して送信されたソフトウエアを、前記ソフトウエアが前記ネットワーク保護装置に送信される前に実行し、前記ソフトウエアを前記ネットワーク保護装置に対して送信する前に、前記検証装置のオペレーティングシステムから前記検証装置のハードウエアに対して送信された命令を前記記憶部に記憶する、
    ことを特徴とするネットワーク保護装置。
  3. 請求項において、
    前記マルウエアに動作を終了する旨の判定をさせるための情報は、前記検証装置のオペレーティングシステムが前記検証装置のハードウエアに送信した命令に対し、前記検証装置のハードウエアが前記検証装置のオペレーティングシステムに送信した情報と同じ情報である、
    ことを特徴とするネットワーク保護装置。
  4. 請求項において、
    前記マルウエアに動作を終了する旨の判定をさせるための情報は、前記ネットワーク保護装置のオペレーティングシステムが仮想オペレーティングシステムであり、前記検証装置のオペレーティングシステムと同じオペレーティングシステムであることを示す情報である、
    ことを特徴とするネットワーク保護装置。
  5. 請求項1において、
    前記処理部は、前記第1命令が前記記憶部に記憶された命令に含まれる場合、前記第1命令を前記ハードウエアに送信することなく、前記マルウエアに動作を終了する旨の判定をさせるための情報を前記ネットワーク保護装置のオペレーティングシステムに送信する、
    ことを特徴とするネットワーク保護装置。
  6. マルウエアによる自装置に対する攻撃を防止するネットワーク保護装置におけるネットワーク保護方法であって、
    前記ネットワーク保護装置と異なる装置である検証装置のオペレーティングシステムから前記検証装置のハードウエアに対して送信された命令を記憶部に記憶し、
    前記ネットワーク保護装置のオペレーティングシステムから前記ネットワーク保護装置のハードウエアに対して送信された第1命令をフックし、フックした前記第1命令が前記記憶部に記憶された命令に含まれる場合、ルウエアに動作を終了する旨の判定をさせるための情報を前記ネットワーク保護装置のオペレーティングシステムに送信する、
    ことを特徴とするネットワーク保護方法。
  7. マルウエアによる自装置に対する攻撃を防止する処理をネットワーク保護装置のコンピュータに実行させるネットワーク保護プログラムであって、
    前記ネットワーク保護装置と異なる装置である検証装置のオペレーティングシステムから前記検証装置のハードウエアに対して送信された命令を記憶部に記憶し、
    前記ネットワーク保護装置のオペレーティングシステムから前記ネットワーク保護装置のハードウエアに対して送信された第1命令をフックし、フックした前記第1命令が前記記憶部に記憶された命令に含まれる場合、ルウエアに動作を終了する旨の判定をさせるための情報を前記ネットワーク保護装置のオペレーティングシステムに送信する、
    ことを特徴とするネットワーク保護プログラム。
  8. ネットワーク保護装置と、前記ネットワーク保護装置に対するマルウエアの攻撃を防止する検証装置と、を有する情報処理システムであって、
    前記検証装置は、
    前記ネットワーク保護装置に対して送信されたソフトウエアを、前記ソフトウエアが前記ネットワーク保護装置に送信される前に実行し、
    前記ソフトウエアを前記ネットワーク保護装置に対して送信する前に、前記検証装置のオペレーティングシステムから前記検証装置のハードウエアに対して送信された命令を前記ネットワーク保護装置に送信し、
    前記ネットワーク保護装置は、
    前記検証装置から送信された命令を記憶部に記憶し、
    前記ネットワーク保護装置のオペレーティングシステムから前記ネットワーク保護装置のハードウエアに対して送信された第1命令をフックし、フックした前記第1命令が前記記憶部に記憶された命令に含まれる場合、前記マルウエアに動作を終了する旨の判定をさせるための情報を前記ネットワーク保護装置のオペレーティングシステムに送信する、
    ことを特徴とする情報処理システム。
JP2015184676A 2015-09-18 2015-09-18 ネットワーク保護装置、ネットワーク保護方法、ネットワーク保護プログラム及び情報処理システム Active JP6631118B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015184676A JP6631118B2 (ja) 2015-09-18 2015-09-18 ネットワーク保護装置、ネットワーク保護方法、ネットワーク保護プログラム及び情報処理システム
US15/246,878 US10339314B2 (en) 2015-09-18 2016-08-25 Device, method and storage medium for terminating operation of software that is not successfully verified

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015184676A JP6631118B2 (ja) 2015-09-18 2015-09-18 ネットワーク保護装置、ネットワーク保護方法、ネットワーク保護プログラム及び情報処理システム

Publications (2)

Publication Number Publication Date
JP2017059083A JP2017059083A (ja) 2017-03-23
JP6631118B2 true JP6631118B2 (ja) 2020-01-15

Family

ID=58282968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015184676A Active JP6631118B2 (ja) 2015-09-18 2015-09-18 ネットワーク保護装置、ネットワーク保護方法、ネットワーク保護プログラム及び情報処理システム

Country Status (2)

Country Link
US (1) US10339314B2 (ja)
JP (1) JP6631118B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004126854A (ja) 2002-10-01 2004-04-22 Mitsubishi Electric Corp 攻撃対策装置
JP2008176352A (ja) 2007-01-16 2008-07-31 Lac Co Ltd コンピュータプログラム、コンピュータ装置、及び動作制御方法
WO2009102006A1 (ja) 2008-02-14 2009-08-20 Nec Corporation アクセス制御装置、その方法及び情報記録媒体
WO2009151888A2 (en) * 2008-05-19 2009-12-17 Authentium, Inc. Secure virtualization system software
KR101122646B1 (ko) 2010-04-28 2012-03-09 한국전자통신연구원 위장 가상 머신 정보를 이용한 인텔리전트 봇 대응 방법 및 장치
US9396329B2 (en) * 2011-10-17 2016-07-19 Intel Corporation Methods and apparatus for a safe and secure software update solution against attacks from malicious or unauthorized programs to update protected secondary storage
US9223962B1 (en) * 2012-07-03 2015-12-29 Bromium, Inc. Micro-virtual machine forensics and detection

Also Published As

Publication number Publication date
US10339314B2 (en) 2019-07-02
JP2017059083A (ja) 2017-03-23
US20170083706A1 (en) 2017-03-23

Similar Documents

Publication Publication Date Title
US20200366694A1 (en) Methods and systems for malware host correlation
US11797677B2 (en) Cloud based just in time memory analysis for malware detection
JP5813743B2 (ja) システムオンチップ基盤のアンチマルウェアサービスを提供できるデバイス及びその方法
CN107977573B (zh) 用于安全的盘访问控制的方法和系统
US10033745B2 (en) Method and system for virtual security isolation
US20150089647A1 (en) Distributed Sample Analysis
US20050172337A1 (en) System and method for unpacking packed executables for malware evaluation
JP4025882B2 (ja) コンピュータウィルス固有情報抽出装置、コンピュータウィルス固有情報抽出方法及びコンピュータウィルス固有情報抽出プログラム
US20180137274A1 (en) Malware analysis method and storage medium
JP6738013B2 (ja) 攻撃内容分析プログラム、攻撃内容分析方法及び攻撃内容分析装置
KR100985076B1 (ko) Usb 디바이스 보안 장치 및 방법
US20170331857A1 (en) Non-transitory recording medium storing data protection program, data protection method, and data protection apparatus
US8578495B2 (en) System and method for analyzing packed files
JP6631118B2 (ja) ネットワーク保護装置、ネットワーク保護方法、ネットワーク保護プログラム及び情報処理システム
JP6623656B2 (ja) 通信制御装置、通信制御方法及び通信制御プログラム
KR20170036465A (ko) 악성 코드 탐지 시스템 및 방법
JP2014225302A (ja) ウイルス検出プログラム、ウイルス検出方法、及びコンピュータ
US10250625B2 (en) Information processing device, communication history analysis method, and medium
KR20090054359A (ko) 악성코드 자동실행 차단 장치 및 방법
JP2017129893A (ja) マルウェア検知方法及びシステム
JP6911723B2 (ja) ネットワーク監視装置、ネットワーク監視方法及びネットワーク監視プログラム
JP2019125243A (ja) マルウェア検知システムおよびマルウェア検知方法
JP2013061994A (ja) ウイルス検出プログラム、ウイルス検出方法、監視プログラム、監視方法、及びコンピュータ
JP6687844B2 (ja) マルウエア解析装置、マルウエア解析方法及びマルウエア解析プログラム
JP2018041163A (ja) マルウエア検知プログラム、マルウエア検知装置及びマルウエア検知方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191125

R150 Certificate of patent or registration of utility model

Ref document number: 6631118

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150