专利汇可以提供System and method for detecting hidden process using system event information专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To provide a system and method for detecting a hidden process using system event information for detecting and controlling the hidden process. SOLUTION: Since a hidden process which is executed using a code such as a rootkit also has the characteristic of using resources assigned from an OS of a system for executing the process, information for the hidden process is not shown in an application layer, but process relevant information is disclosed in a kernel layer in the process of using the system resources assigned. Therefore, in this system, a process list is extracted from the kernel layer using system event information which is provided in real-time access to the system resources, a process provided only to the kernel process is detected and controlled as the hidden process through comparison with a process list provided to a user from the application layer. Accordingly, the hidden process which is present in the system can be detected at real time. COPYRIGHT: (C)2008,JPO&INPIT,下面是System and method for detecting hidden process using system event information专利的具体信息内容。
本発明は、隠匿プロセスの探知システム及び方法に関するものであって、さらに詳細には実時間でシステムカーネル層モニタリングにより発生するシステムイベント情報を用いてカーネル層から提供されるプロセスリストを抽出し、アプリケーション層から提供されるプロセスリストと比較し、隠匿プロセスを探知することで、使用者システムを隠匿プロセスから実時間で防御してシステムの保安性を確保するシステムイベント情報を用いた隠匿プロセス探知システム及び方法に関するものである。
隠匿プロセスは、システム内で実行されることから一般的なプロセスの種類のようなプロセスであると見られる。 しかしながら、ルートキットのような悪性コードにより該プロセスが隠匿され、システムのアプリケーション層で何らの情報も表れないので、使用者は、プロセス情報プログラムであるタスクマネージャを介し隠匿プロセスの存在を認識できない。
このように、隠匿プロセスは、アプリケーション層で何らの情報も提供しないが、該プロセスを実行するためシステムカーネル層でシステム資源を割り当てられてこれを使わなければならないので、一般プロセスのようにシステムのカーネル層ではその情報を公開せざるを得ない。
したがって、隠匿プロセスを探知するため、実時間のシステム資源のアクセス時に提供されるシステムイベント情報を用いて、このシステム資源にアクセスするプロセスを感知し、アプリケーション層で表れるプロセスと比較して隠匿プロセスを探知することができる。
従来の隠匿システムを探知するための方法として、EPROCESS構造体に含まれたActiveProcessLinks構造を用いて探知する方式がある。 該隠匿プロセス探知技法は、Joanna Rutkowskaによって公開(http://invisiblethings.org)されたが、該隠匿プロセス探知技法は次のようである。 システムのアプリケーション層から該プロセスリスト(a)を獲得した後、カーネル層からEPROCESS構造体のActionProcessLinksを介してカーネル層に存在するプロセスリスト(b)を得る。 したがって、リスト(a)とリスト(b)とを比べて、カーネル内のみに存在するプロセスが検索される場合、該プロセスを隠匿プロセスとして判断する。 このような方法は、リストを得る間の時間遅れにより隠匿プロセスであると誤って判断するおそれがある短所があり、又、カーネル層内でプロセスリストをEPROCESS構造体のActiveProcess Linksを介して得るに該EPROCESS構造体自体がWindows(登録商標)オペレーティングシステムを製作したマイクロソフトが公式に発表したシステム内部の構造体ではないので、該構造体の情報の変更時には、隠匿プロセス探知自体が不可能である。
又、EPROCESS構造体のActiveProcessLinks自体は、該当プロセスに対するシステム内部での、システム資源の割当ての際、該リストに追加されて実行される。 したがって、資源の割当てを要求していない状態、つまり、プロセスが周期的なidle状態の場合、該プロセスはEPROCESS構造体にActiveProcessLinksが追加されないので、システム内でidle状態の隠匿プロセスは探知されないという短所を有するようになる。
又、隠匿プロセスを探知するための製品として、F−Secure社(http://www.f−secure.com/blacklight)の、ベータバージョンで公開しているBlackLight製品がある。 該製品は、Windows(登録商標)システム内で現在遂行中のプログラムに対する情報の要求の際に用いられるOpenProcess()関数を用いる。 該関数の入力パラメータにWindows(登録商標)システム内で生成できる全てのPID値を全部代入させ、リターンされる値により該PIDプロセスリストの存在有無を判断するようになる。 このとき、アプリケーション層において該PIDプロセスリストの情報がない場合、該PIDプロセスは、隠匿されたと判断することができる。 このような方法は、システムカーネル層で何らの行為もせず、ただシステムのアプリケーション層で用いられるAPIを介して隠匿の可否を検査する方法である。 しかし、このような方法も、隠匿プロセスが悪意的に自身のPID値に対するOpenProcess()の呼び出しの際、結果値を任意に操作された値を与えると該プロセスがシステム内に存在しないものと判断され、該隠匿プロセスは探知できなくなり、Openprocess()関数を用いた隠匿プロセス探知技法は、実時間探知技法ではないスキャニング技法を用いた隠匿プロセス探知技法であって、隠匿プロセス探知のためスキャニング時に、該隠匿プロセスが開始されないか、既に終了された場合、探知することができないという短所を有するようになる。
したがって、本発明は前記の従来技術の問題点を解決するためになされたものであって、本発明の目的は、システムのカーネル層で実時間のシステムのモニタリングを介して、発生したシステムイベント情報からカーネル層のプロセスリストを抽出し、アプリケーション層から提供されるプロセスリストとの比較を通じて、隠匿プロセスを探知および制御する、システムイベント情報を用いた隠匿プロセス探知システムおよび方法を提供することにある。
一方、本発明の他の目的は、実時間でシステム内で発生されるファイル、レジストリ、ネットワークイベント情報に基づいて、システム内のアプリケーション層のとカーネル層とのプロセスリストの比較を通じて、隠匿プロセスを探知するので、隠匿プロセスがidle状態の場合でも、システム内で発生するイベント情報を用いて隠匿プロセスを探知して既存ActiveProcessLinksを用いた探知技法の限界を打開するシステムイベント情報を用いた隠匿プロセス探知システムおよび方法を提供することにある。
前記のような目的を達成するための本発明のシステムイベント情報を用いた隠匿プロセス探知システムは、カーネル層システムをモニタリングし、システムイベント情報を抽出するカーネル層モニタリングモジュール、前記抽出されたシステムイベント情報からイベントと関連したプロセスを検出するカーネル層プロセスリスト検出モジュール、アプリケーション層から使用者に提供されるプロセスリストを検出するアプリケーション層プロセスリスト検出モジュール、前記カーネル層プロセスリストの検出モジュールから検出されたプロセスと前記アプリケーション層のプロセスリスト検出モジュールから検出されたプロセスを比較し、前記カーネル層のみに存在するプロセスを隠匿プロセスとして探知する隠匿プロセス探知モジュールを含むことを特徴とする。
このとき、カーネル層モニタリングモジュールは、前記カーネル層でファイルシステムをモニタリングしてファイルイベント情報を抽出するファイルモニタリングモジュールと、前記カーネル層でアクセスされるレジストリをモニタリングし、レジストリイベント情報を抽出するレジストリモニタリングモジュール、そして前記カーネル層でネットワークをモニタリングし、ネットワークイベント情報を抽出するネットワークモニタリングモジュールを含むことを特徴とする。
一方、本発明のシステムイベント情報を用いた隠匿プロセス探知方法は、カーネル層システムをモニタリングしてシステムイベント情報を抽出するカーネル層モニタリング段階、前記抽出されたシステムイベント情報からイベントと関連したプロセスを検出するカーネル層プロセスリスト検出段階、アプリケーション層から使用者に提供されるプロセスリストを検出するアプリケーション層プロセスリスト検出段階、前記カーネル層プロセスリスト検出段階から検出されたプロセスと前記アプリケーション層プロセスリスト検出段階から検出されたプロセスを比較し、前記カーネル層のみに存在するプロセスを隠匿プロセスとして探知する隠匿プロセス探知段階を含むことを特徴とする。
このとき、カーネル層モニタリング段階は、前記カーネル層でファイルシステムをモニタリングしファイルイベント情報を抽出するファイルモニタリング段階、前記カーネル層でアクセスされるレジストリをモニタリングしてレジストリイベント情報を抽出するレジストリモニタリング段階、前記カーネル層でネットワークをモニタリングしてネットワークイベント情報を抽出するネットワークモニタリング段階を含むことを特徴とする。
上述したように、本発明によるシステムイベント情報を用いた隠匿プロセス探知システムは、カーネル層から提供されるシステムイベント情報を用いて実時間で隠匿プロセスを探知することができ、隠匿プロセスで使用者のシステムを攻撃する行為を源泉的に防御することができる効果がある。
又、本発明によるシステムイベント情報を用いた隠匿プロセス探知システムおよび方法は、隠匿プロセスがidle状態の場合にも、システムで発生するイベント情報を用いて隠匿プロセスを探知及び除去し、実時間でシステム内で発生されたイベント情報を用いて探知するので、実時間で隠匿プロセスの実行とともにこれを探知することができる効果がある。
以下、本発明に係るシステムイベント情報を用いた隠匿プロセス探知システム及び方法について添付された図面を参照し詳細に説明する。
図1は、本発明に係るシステムイベント情報を用いた隠匿プロセス探知システムの構成を示すブロック図である。
本発明に係るシステムイベント情報を用いた隠匿プロセス探知システムは、カーネル層システムをモニタリングして、システムイベント情報を抽出するカーネル層モニタリングモジュール100、抽出されたシステムイベント情報からイベントと関連するプロセスを検出するカーネル層プロセスリスト検出モジュール200、アプリケーション層から使用者に提供されるプロセスリストを検出するアプリケーション層プロセスリスト検出モジュール300、カーネル層プロセスリスト検出モジュール200から検出されたプロセスとアプリケーション層プロセスリスト検出モジュール300から検出されたプロセスを比較し、カーネル層のみに存在するプロセスを隠匿プロセスとして探知する隠匿プロセス探知モジュール400、隠匿プロセス探知モジュール400から探知された隠匿プロセスを制御する隠匿プロセス制御モジュール500を含んで構成される。
カーネル層モニタリングモジュール100は、カーネル層から提供されるシステムイベント情報をモニタリングするため、カーネル層でファイルシステムをモニタリングするファイルモニタリングモジュール110、カーネル層でアクセスされるレジストリをモニタリングするレジストリモニタリングモジュール120、実時間でネットワークをモニタリングするネットワークモニタリングモジュール130を含む。
カーネル層では、プロセスを実行するためシステム情報を割当てるため、隠匿プロセスに関連する情報が表れる。
ファイルモニタリングモジュール110は、実時間でカーネル層においてファイルシステムをモニタリングし、ファイルイベント情報を探索するモジュールである。 ファイルモニタリングモジュール110は、どのようなプロセスがどのようなファイルをどのようなイベント要求事項に対しアクセスするかに関するファイルシステムイベント情報をモニタリングする。 ファイルモニタリングモジュール110を介して出てくるファイルイベント情報は、ファイルアクセスプロセス(Process name)、ファイルアクセス時間(Time)、ファイル要求(Request)イベント(Query Information、Open、Closeなど)、アクセスファイル経路(Path)、アクセスファイル成功有無(Result)などの情報を言う。 ファイルモニタリングモジュール110から出てきたファイルイベント情報は、カーネル層プロセスリスト検出モジュール200に提供される。
レジストリモニタリングモジュール120は、実時間でカーネル層でアクセスされるレジストリをモニタリングするモジュールである。 レジストリモニタリングモジュール120は、どのようなプロセスが現在どのようなレジストリイベント情報を要求し、その要求された情報が何であるかを感知する。 レジストリモニタリングモジュール120を介して出てくるレジストリイベント情報は、レジストリアクセスプロセス(Process name)、レジストリアクセス時間(Time),レジストリ要求(Request)イベント(Openkey、Closekeyなど)、レジストリアクセス経路(Path)、レジストリアクセス成功の有無(Result)などがある。 レジストリモニタリングモジュール120を介して出てきたレジストリイベント情報はカーネル層プロセスリストの検出モジュール200に提供される。
ネットワークモニタリングモジュール130は、実時間でネットワークモニタリングを介してネットワークイベント情報を算出するモジュールである。 ネットワークモニタリングモジュール130は、実時間でネットワークを介し、どのようなプロセスがどのようなポートを介しどちらへどのようなパケットを伝送及び受信するかに対する情報をモニタリングする。 ネットワークモニタリングモジュール130を介して出てくるネットワークイベント情報とは、ネットワークアクセスプロセス、ネットワークパッケト発生時間、送信側のアドレス、受信側のアドレス、送信側のポート、受信側のポート、パケットの長さ、チェックサム、TTL値、Fragmentationの可否に関する情報をいう。 ネットワークモニタリングモジュール130を介して出てきたネットワークイベント情報は、カーネル層プロセスリスト検出モジュール200に提供される。
カーネル層モニタリングモジュール100は、システムのカーネル層のシステムイベント情報をモニタリングすることにおいて、システムイベント情報フィルタリングモジュール140を含むことができる。
システムイベント情報フィルタリングモジュール140は、カーネル層でモニタリングされるシステムイベント情報のうち、特定モニタリングのイベント及び特定プロセスを予めモニタリングの対象から除外する。 したがって、システムイベント情報フィルタリングモジュール140は、隠匿プロセスを感知するため、モニタリングすべき対象を減らすことで、隠匿プロセス探知システムの性能を向上させる。
カーネル層プロセスリスト検出モジュール200は、カーネル層モニタリングモジュール100を介して提供されたシステムイベント情報のうち、イベントにアクセスしたプロセスのリストのみを抽出する。 システムイベント情報には、ファイルモニタリングモジュール110によるファイルイベント情報、レジストリモニタリングモジュール120によるレジストリイベント情報、ネットワークモニタリングモジュール130によるネットワークイベント情報がある。 カーネル層プロセスリスト検出モジュール200により抽出されるプロセスリストは、ファイルアクセスプロセス、レジストリアクセスプロセス、ネットワークアクセスプロセス等がある。
アプリケーション層プロセスリスト検出モジュール300は、アプリケーション層から使用者に提供されるプロセスリストに対する情報を検出する。 一般的にWin32APIを介してアプリケーション層から提供されるプロセス情報を標準とする。 ウィンドウズ(登録商標)システムの場合、タスクマネージャを通じて提供されるプロセスリスト情報を例として挙げられる。
カーネル層プロセスリスト検出モジュール200から検出されたプロセスリストとアプリケーション層プロセスリスト検出モジュール300から検出されたプロセスリストは隠匿プロセス探知モジュール400へ伝達される。
隠匿プロセス探知モジュール400は、カーネル層プロセスリストとアプリケーション層プロセスリストを比較して、隠匿プロセスであると判断されるプロセスを探し出す。
隠匿プロセスは、アプリケーション層では、隠匿プロセスに対する情報が表れないが、カーネル層では、プロセス実行のため資源を受けるためにその情報が公開される。
したがって、プロセスがカーネル層のみに存在し、アプリケーション層には存在しない場合には、隠匿プロセスであると判断される。
しかしながら、カーネル層プロセスリストとアプリケーション層プロセスリストを比較した結果、同一の場合にはシステムで実行されているプロセスは正常プロセスであると判断される。
隠匿プロセス探知モジュール400で、隠匿プロセスであると判断されるプロセスが存在する場合には、隠匿プロセス制御モジュール500により該隠匿プロセスを終了させるか削除する。
隠匿プロセス制御モジュール500は、隠匿プロセスであると判断されたプロセスに対する処理の如付を使用者の決定に応じて処理する役割をする。
図2は、本発明に係るシステムイベント情報を用いた隠匿プロセス探知方法を示すフローチャートである。
隠匿プロセス探知は、使用者により隠匿プロセスを探知するためのシステム及びプログラムを開始することで隠匿プロセスの探知が開始されるS210。
隠匿プロセス探知は、使用者の開始命令によって開始されることもあるが、システムが開始して作動する間には、常に作動することが実時間で隠匿プロセスを探知することから望ましい。
隠匿プロセス探知が開始S210されると、カーネル層モニタリング段階S220とアプリケーション層プロセスリスト検出段階S230が進行される。
カーネル層モニタリング段階S220は、カーネル層のシステムをモニタリングしシステムイベント情報を抽出する。
システムイベント情報を抽出するために、ファイルイベント情報を抽出するファイルモニタリング段階S221と、レジストリイベント情報を抽出するレジストリモニタリング段階S220と、又、ネットワークイベント情報を抽出するネットワークモニタリング段階S223によりカーネル層モニタリング段階S220が進行される。
カーネル層モニタリング段階S220から抽出されたシステムイベント情報は、カーネル層プロセスリスト検出段階S240に提供される。
カーネル層プロセスリスト検出段階S240は、提供されたシステムイベント情報のうち、イベントにアクセスしたプロセスのリストのみを検出する。 このように検出されたカーネル層プロセスリストは、隠匿プロセスであるか否かを判断するため、カーネル層とアプリケーション層プロセスリスト比較段階S250に提供される。
アプリケーション層プロセスリスト検出段階S230は、アプリケーション層から使用者に提供されるプロセスリストに対する情報を検出し、カーネル層とアプリケーション層プロセスリスト比較段階S250に提供する。
カーネル層とアプリケーション層プロセスリストの比較段階S250は、カーネル層プロセスリストとアプリケーション層プロセスリストを比較して一致するか否かを判断する。
カーネル層プロセスリストとアプリケーション層プロセスリストが一致する場合には、正常のプロセスであると判断するS260。
カーネル層プロセスリストとアプリケーション層プロセスリストが不一致の場合、カーネル層プロセスリストのみに存在し、アプリケーション層プロセスリストには存在しない場合には、該プロセスを隠匿プロセスであると判断するS270。
隠匿プロセスであると判断されたプロセスは、使用者により処理が決定される。 使用者が隠匿プロセスを削除する場合、隠匿プロセスはシステムから削除されるS280。
以上から、いくつの実施の形態をあげ、本発明を一層詳細に説明したが、本発明は必ずしもこのような実施の形態に限らず、本発明の技術思想を外れない範囲内で多様に変更実施することができる。
110:ファイルモニタリングモジュール 120:レジストリモニタリングモジュール 130:ネットワークモニタリングモジュール 200:カーネル層プロセスリスト検出モジュール 300:アプリケーション層プロセスリスト検出モジュール 400:隠匿プロセス探知モジュール 500:隠匿プロセス制御モジュール
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
膜及包括其的隐藏开关结构 | 2020-05-08 | 389 |
一种基于生成对抗网络的空调用户调频能力评估方法 | 2020-05-08 | 463 |
一种基于深度学习的遥感影像自动标注方法 | 2020-05-08 | 861 |
一种基于全局和局部信息融合的目标检测方法 | 2020-05-08 | 450 |
一种车速检测方法、车速检测装置及可读存储介质 | 2020-05-11 | 745 |
基于生成对抗网络和策略梯度的心电信号去噪方法 | 2020-05-11 | 655 |
一种基于神经网络的古文翻译方法 | 2020-05-11 | 348 |
基于PRMATC算法的知识库补全方法 | 2020-05-08 | 620 |
一种利用上下文和方面记忆信息的情感分类方法 | 2020-05-08 | 714 |
一种隐形梁装配式免拆保温楼板结构 | 2020-05-08 | 433 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。