CN101739519B - 用于一硬件的监控装置及监控方法 - Google Patents

用于一硬件的监控装置及监控方法 Download PDF

Info

Publication number
CN101739519B
CN101739519B CN2008101786590A CN200810178659A CN101739519B CN 101739519 B CN101739519 B CN 101739519B CN 2008101786590 A CN2008101786590 A CN 2008101786590A CN 200810178659 A CN200810178659 A CN 200810178659A CN 101739519 B CN101739519 B CN 101739519B
Authority
CN
China
Prior art keywords
instruction
address value
hardware
supervising
point 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.)
Expired - Fee Related
Application number
CN2008101786590A
Other languages
English (en)
Other versions
CN101739519A (zh
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.)
Institute for Information Industry
Original Assignee
Institute for Information Industry
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 Institute for Information Industry filed Critical Institute for Information Industry
Priority to CN2008101786590A priority Critical patent/CN101739519B/zh
Publication of CN101739519A publication Critical patent/CN101739519A/zh
Application granted granted Critical
Publication of CN101739519B publication Critical patent/CN101739519B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明揭露一种用于一硬件的监控装置及监控方法,其中该硬件包含一中央处理器以及一存储模块。该监控装置包含一撷取模块以及一分析模块。该撷取模块用以于一进程执行前,自该硬件撷取该进程的一进入点信息,该进程包含至少一指令。该分析模块根据该进入点信息,取得与该进程相应的一地址值,其中该地址值可对应至一储存该至少一指令的存储器区块。当该中央处理器执行该进程的至少一指令时,该存储模块将根据该地址值记录该进程的至少一指令。

Description

用于一硬件的监控装置及监控方法
技术领域
本发明是关于一种用于一硬件的监控装置及监控方法;特别是一种能避免硬件被一恶意进程(malicious process)攻击的监控装置及监控方法。
背景技术
随着信息工业的发展,计算机与网络已在日常生活中占有不可或缺的地位。举例而言,以计算机处理各种数据或是以网络搜寻各种信息、购物以及数据交换等等,皆是人类已习以为常的生活方式。更进一步地说,网络***结帐、网络购物下单以及网络提款机(web ATM)等,更是许多人经常使用的网络服务。
然而,在计算机与网络受到使用者如此倚重的前提之下,一些恶意软件(malware)便有机会侵害使用者的计算机。举例而言,某些恶意软件将会通过网络、USB闪存、红外线或是蓝芽来窃取使用者存放于计算机中的重要数据、破坏计算机内部信息、甚至于控制使用者的计算机***以限制使用者的使用权限。另外,有些恶意软件更会在使用者的计算机上安装广告软件或是垃圾软件,进而造成使用者的困扰,同时浪费网络宝贵的资源。据此,计算机与网络的安全性即为相当重要的课题。
为了防止恶意软件通过前段所述的各种方式破坏使用者的计算机,以往通常是以防毒程序来阻止恶意软件对使用者的计算机进行存取或破坏。防毒程序则是根据恶意软件分析工具所建立的恶意软件特征来检测并阻止恶意软件的破坏。更详细地说,CWSandbox(恶意软件分析工具)通过分析不同恶意软件将建立不同种类的恶意软件特征,而Kaspersky(防毒程序)即可通过这些恶意软件特征检测并阻止恶意软件的破坏。
然而,不论是何种防毒程序或恶意软件分析工具,皆是安装于计算机的操作***中,其运作亦与恶意软件相同,皆是通过操作***来进行操作的。详细地说,防毒程序或恶意软件分析工具,是与恶意软件于同一个环境(即同一操作***)之下执行的。换言之,当某些恶意软件检测到其本身是处于一个防毒程序或恶意软件分析工具正在执行的环境之下时,恶意软件将可以进一步破坏防毒程序或恶意软件分析工具的正常运作。或者,恶意软件可以执行一些其它种类的正常程序的各种指令,导致扫毒程序或恶意软件分析工具搜集到错误的数据。由此可知,若要通过存在于操作***中的防毒程序来检测同样存在于操作***中的恶意软件的执行时,防毒程序的检测能力是受到相当的限制。
据此,在恶意软件日益泛滥的情况之下,要如何设计一种并非于操作***中执行且无法被恶意软件反向检测到的监控方法,是业界亟需解决的问题。
发明内容
本发明的一目的在于提供一种用于一硬件的监控装置。该硬件包含一中央处理器以及一存储模块。该监控装置包含一撷取模块以及一分析模块。该撷取模块于一进程(process)执行前,自该存储模块撷取该进程的一进入点(entry point)信息,该进程则包含至少一指令(instruction)。该分析模块则根据该进入点信息,自该中央处理器取得与该进程相应的一地址值,其中该地址值对应至一储存该至少一指令的存储器区块。当该中央处理器执行该进程的至少一指令时,该硬件的存储模块根据该地址值记录该进程的至少一指令。
本发明的又一目的在于提供一种监控方法。该监控方法包含以下步骤:于一进程执行前,撷取该进程的一进入点信息,其中该进程包含至少一指令;根据该进入点信息,取得与该进程相应的一地址值,其中该地址值对应至一储存该至少一指令的存储器区块;执行该进程的至少一指令;以及根据该地址值记录该进程的至少一指令。其中,一硬件撷取该进入点信息并根据该地址值记录该进程的至少一指令。
本发明的再一目的在于提供一种计算机程序产品,内储一种监控方法的程序,该程序被加载一微处理器后可执行并完成前段所述的监控方法。
综上所述,本发明所揭露的用于一硬件的监控装置及监控方法可以监控该硬件中所有被执行的进程。对于该硬件来说,计算机在执行这些进程所包含的指令时,这些指令将根据其所对应的地址值被记录并分析。据此,本发明不需操作***支持即能直接根据进程的指令所对应的地址值来检测恶意软件,进而改进现有技术的缺点。同时,通过前述的方式检测恶意软件,本发明亦可保护计算机的各种重要区段(critical section),例如存储器等重要区段,以避免恶意软件的破坏导致重要区段中执行的进程产生无法预期的结果(如跳过验证进程、Control hijacking等...)。
附图说明
在参阅附图及随后描述的实施方式后,具有本发明所属技术领域的通常知识者便可了解本发明的其它目的、优点以及本发明的技术手段及实施态样,其中:
图1是本发明第一实施例的示意图;以及
图2是本发明第二实施例的流程图。
具体实施方式
本发明是关于一种用于一硬件的监控装置及监控方法。本发明的优点在于可避免被恶意进程检测监控装置的存在,并且可于该硬件中分析较为高阶的程序语言的信息。需注意者,程序(program)是定义为可被加载执行的文件,进程是定义为正在执行的程序。然而,为简单起见,本发明对即将执行的程序亦以进程予以命名。以下的实施例是用以举例说明本发明内容,并非用以限制本发明。以下实施例及附图中,与本发明无关的元件已省略而未绘示。
如图1所示,本发明的第一实施例是一种用于一硬件11的监控装置13。硬件11具有一中央处理器111以及一存储器113,使用者则通过一操作***15控制硬件11的各部元件。操作***15可以是市面上发售的各种操作***,例如微软窗口(Windows)操作***、苹果计算机麦金塔操作***、Linux操作***或是Unix操作***等,于第一实施例中,操作***15是微软窗口操作***。而硬件11则可以是个人计算机(Personal Computer;PC)或是苹果计算机公司贩售的麦金塔计算机(Macintosh;MAC),于第一实施例中,硬件11则为个人计算机。需注意者,本发明并不限制操作***15以及硬件11的种类,所属技术领域的通常知识者亦可使用其它种类的操作***、硬件以及其搭配来完成本发明,故在此不再赘述。
监控装置13包含一撷取模块131、一分析模块133、一判断模块137以及一拦截模块139。当操作***15准备执行一进程150时,操作***15将分配一地址值给进程150,例如一CR3值110给进程150,并将其记录于中央处理器111的寄存器的中,以便操作***15以及硬件11通过CR3值110执行相应于进程150的指令或是***呼叫。在操作***15分配一地址值给进程150的同时,将产生一进入点信息112,例如一标记(flag)或是一信号或是一存储器地址,以标示进程150即将开始执行。
当监控装置13的撷取模块131取得进入点信息112后,分析模块133将根据进入点信息112取得存在于中央处理器111中,与即将执行的进程150相应的CR3值110。而进程150则是由多个指令,例如指令150a、150b以及150c,组合而成,以达成某一特定目的,例如烧录文件或是编辑文件等等。而这些指令150a、150b以及150c皆具有与进程150相同的CR3值110。进程150所包含的这些指令150a、150b以及150c则储存在硬件11的存储器113中。而进程150除了通过多个指令150a、150b以及150c来达成特定目的之外,中央处理器111亦可通过执行储存于操作***15中的各种不同的***呼叫152以辅助指令150a、150b以及150c来达成进程150的特定目的。
以本实施例而言,进程150是一可移植执行文件(portable executable file;PEfile)。可移植执行文件为操作***15所使用的标准可执行档格式,例如:微软***中的可执行文件(executable file:exe file)或是动态链接库文件(dynamic linklibrary file;DLL file)等。而***呼叫152则可以是微软32***呼叫(win32systemcall)或是自然***呼叫(native system call)。同样地,***呼叫152亦具有与进程150相同的CR3值110。所属技术领域具有通常知识者可通过既有的技术文件以及其本身知识理解进程150的组成,故在此不再赘述。
当进程150开始被执行之后,中央处理器111将自存储器113中取得指令150a、150b以及150c进行处理,由于这些指令150a、150b以及150c皆具有与进程150相同的CR3值110。当指令150a、150b以及150c被处理时,监控装置13将会根据其CR3值110将指令150a、150b以及150c记录至硬件11的存储器113中。另一方面,当中央处理器111自操作***15中取得相应于进程150的***呼叫152进行处理时,监控装置13亦会根据其CR3值110将***呼叫152记录至硬件11的存储器113中。
当进程150执行时或执行完成之后,监控装置13的判断模块137将自存储器113取得进程150执行过的所有指令150a、150b以及150c与***呼叫152,并将这些执行过的指令150a、150b以及150c与***呼叫152来与一恶意进程行为模型(图未绘示)比较,以判断进程150是否为恶意进程。
当进程150于执行时或是执行完成之后因符合恶意进程行为模型而被判断为恶意进程之后,监控装置13的拦截模块139将可直接发送关闭信号130至中央处理器111,以关闭已被判断为恶意进程的进程150。更详细地说,倘若进程150的指令其中之一(如指令150b)或是其***呼叫152,通过中央处理器111的执行来存取硬件11的一关键区块115时,监控装置13的拦截模块139将发送一关闭信号130至中央处理器111,以关闭已被判断为恶意进程的进程150,进而避免进程150存取硬件11的关键区块115。
本实施例主要利用监控装置13通过记录并搜集进程150执行时,中央处理器111处理的指令以及***呼叫,并藉此归纳出进程150的行为模型。随后,监控装置13利用进程150的行为模型与恶意进程的行为模型进行比较,倘若两者间非常相似,即表示该进程150是恶意进程的机会相当高。监控装置13可对被判断为恶意进程的进程150进行拦截,以保护数据硬件中各部元件所储存的数据。
本发明并不限定硬件11的关键区块115的范围,关键区块115可以是硬件中,与程序执行顺序相关的程序计数(program counter;PC)、与虚拟地址码转换相关的转换对应表缓冲器(translation lookaside buffer;TLB)或是其它若被修改或破坏后将造成硬件11运作不正常的区块。所属技术领域具有通常知识者可自行定义硬件11的关键区块115,故在此不再赘述。
本发明的第二实施例如图2所示,是一种监控方法。其适可用于一监控装置,例如第一实施例所述的监控装置13。更具体而言,第二实施例所描述的监控方法可由一计算机程序产品执行,当一微处理器加载该计算机程序产品并执行该计算机程序产品所包含的多个指令后,即可完成第二实施例所述的监控方法。前述的计算机程序产品可储存于计算机可读取记录媒体中,例如只读存储器(read onlymemory;ROM)、快闪存储器、软盘、硬盘、光盘、闪存、磁带、可由网络存取的数据库或熟悉此项技术者所现有且具有相同功能的任何其它储存媒体中。
第二实施例所述的监控方法包含下列步骤:首先,执行步骤301,于一进程执行前,撷取该进程的一进入点信息,其中该进程包含至少一指令。接着,执行步骤303,分配一地址值至该进程。再执行步骤305,根据该进入点信息,取得与该进程相应的一地址值。执行步骤307,执行相应于该进程的至少一指令。接着执行步骤309,根据该地址值记录相应于该进程的至少一指令。
执行步骤311,执行相应于该进程的至少一***呼叫。接着执行步骤313,根据该地址值记录相应于该进程的至少一***呼叫。再执行步骤315,根据被记录的至少一指令以及至少一***呼叫,判断该进程是否为一恶意进程。若是,则执行步骤317,针对该进程进行响应。若该进程并非为恶意进程,则重复执行步骤301至步骤315,接着判断其它进程是否为恶意进程。
综上所述,本发明是直接于一硬件中监控中央处理器处理的进程的指令,对于该硬件来说,使用者在执行这些进程所包含的指令或是***呼叫时,这些指令以及***呼叫将根据其所对应的地址值被记录并分析。据此,本发明不需操作***支持即能直接根据进程的指令所对应的地址值来检测恶意软件,进而改进现有技术需通过操作***的辅助才能检测恶意软件的缺点。
上述的实施例仅用来例举本发明的实施态样,以及阐释本发明的技术特征,并非用来限制本发明的保护范畴。任何熟悉此技术者可轻易完成的改变或均等性的安排均属于本发明所主张的范围,本发明的权利保护范围应以申请专利范围为准。

Claims (10)

1.一种监控方法,包含下列步骤:
于一进程执行前,撷取该进程的一进入点信息,其中该进程包含至少一指令;
根据该进入点信息,取得与该进程相应的一地址值,其中该地址值对应至一储存该至少一指令的存储器区块;
执行该进程的至少一指令;根据该地址值记录该进程的至少一指令;
根据该被记录的进程的至少一指令,判断该进程是否为恶意进程;以及
当判断该进程为恶意进程时,针对该进程进行响应;
其中,一硬件撷取该进入点信息并根据该地址值记录该进程的至少一指令。
2.根据权利要求1所述的监控方法,其特征在于还包含下列步骤:
分配该地址值至该进程。
3.根据权利要求1所述的监控方法,其特征在于该进入点信息系为一处理器标记。
4.根据权利要求1所述的监控方法,其特征在于还包含下列步骤:
执行相应于该进程的至少一***呼叫;以及
根据该地址值记录该至少一***呼叫。
5.根据权利要求4所述的监控方法,其特征在于该***呼叫是一微软32***呼叫以及一自然***呼叫其中之一。
6.一种用于一硬件的监控装置,该硬件包含一中央处理器、一存储模块以及一关键区块,该监控装置包含:
一撷取模块,于一进程执行前,自该存储模块撷取该进程的一进入点信息,其中该进程包含至少一指令;
一分析模块,用以根据该进入点信息,自该中央处理器取得与该进程相应的一地址值,其中该地址值对应至一储存该至少一指令的存储器区块;
一判断模块,根据该硬件的存储模块记录的该进程的至少一指令,判断该进程是否为恶意进程;以及
一拦截模块,当判断该进程为恶意进程时,针对该进程进行响应;
其中,当该中央处理器执行该进程的至少一指令时,该硬件的储存模块根据该地址值记录该进程的至少一指令。
7.根据权利要求6所述的监控装置,其特征在于,一操作***分配该地址值至该进程。
8.根据权利要求6所述的监控装置,其特征在于,该进入点信息是一处理器标记。
9.根据权利要求6所述的监控装置,其特征在于,当该中央处理器执行相应于该进程的至少一***呼叫时,该硬件的存储模块根据该地址值记录该至少一***呼叫。
10.根据权利要求9所述的监控装置,其特征在于,该***呼叫是一微软32***呼叫以及一自然***呼叫其中之一。
CN2008101786590A 2008-11-24 2008-11-24 用于一硬件的监控装置及监控方法 Expired - Fee Related CN101739519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101786590A CN101739519B (zh) 2008-11-24 2008-11-24 用于一硬件的监控装置及监控方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101786590A CN101739519B (zh) 2008-11-24 2008-11-24 用于一硬件的监控装置及监控方法

Publications (2)

Publication Number Publication Date
CN101739519A CN101739519A (zh) 2010-06-16
CN101739519B true CN101739519B (zh) 2013-01-16

Family

ID=42462995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101786590A Expired - Fee Related CN101739519B (zh) 2008-11-24 2008-11-24 用于一硬件的监控装置及监控方法

Country Status (1)

Country Link
CN (1) CN101739519B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017106016A1 (de) * 2016-03-22 2017-09-28 TrustPipe LLC System und Verfahren zur Erkennung von Befehlssequenzen von Interesse
CN113239364A (zh) * 2021-06-11 2021-08-10 杭州安恒信息技术股份有限公司 一种检测漏洞利用的方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728106A (zh) * 2004-07-26 2006-02-01 中兴通讯股份有限公司 一种应用程序故障的定位方法
CN1936910A (zh) * 2005-11-16 2007-03-28 白杰 未知病毒程序的识别及清除方法
WO2007071999A1 (en) * 2005-12-20 2007-06-28 Symbian Software Limited Malicious software detection in a computing device
CN101281571A (zh) * 2008-04-22 2008-10-08 白杰 防御未知病毒程序的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728106A (zh) * 2004-07-26 2006-02-01 中兴通讯股份有限公司 一种应用程序故障的定位方法
CN1936910A (zh) * 2005-11-16 2007-03-28 白杰 未知病毒程序的识别及清除方法
WO2007071999A1 (en) * 2005-12-20 2007-06-28 Symbian Software Limited Malicious software detection in a computing device
CN101281571A (zh) * 2008-04-22 2008-10-08 白杰 防御未知病毒程序的方法

Also Published As

Publication number Publication date
CN101739519A (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
TWI401582B (zh) 用於一硬體之監控裝置、監控方法及其電腦程式產品
US8621624B2 (en) Apparatus and method for preventing anomaly of application program
EP1543396B1 (en) Method and apparatus for the automatic determination of potentially worm-like behaviour of a program
CN109583200B (zh) 一种基于动态污点传播的程序异常分析方法
US10121004B2 (en) Apparatus and method for monitoring virtual machine based on hypervisor
KR20090051956A (ko) 악성 코드에 의해 삽입된 동적 연결 라이브러리 검출 장치 및 방법
CN107004088B (zh) 确定装置、确定方法及记录介质
KR101816751B1 (ko) 하이퍼바이저 기반의 가상머신 모니터링 장치 및 방법
WO2018070404A1 (ja) マルウェア解析装置、マルウェア解析方法、及び、マルウェア解析プログラムが格納された記録媒体
CN101739519B (zh) 用于一硬件的监控装置及监控方法
CN104200162A (zh) 信息安全监控与防御的计算机程序产品及其方法
JP7235126B2 (ja) バックドア検査装置、バックドア検査方法、及びプログラム
CN112632547A (zh) 一种数据处理方法和相关装置
KR101724412B1 (ko) 확장 코드를 이용한 어플리케이션 분석 장치 및 방법
JP5679347B2 (ja) 障害検知装置、障害検知方法、及びプログラム
CN113032785A (zh) 一种文档检测方法、装置、设备及存储介质
US20090133124A1 (en) A method for detecting the operation behavior of the program and a method for detecting and clearing the virus program
KR101824583B1 (ko) 커널 자료구조 특성에 기반한 악성코드 탐지 시스템 및 그의 제어 방법
KR101650445B1 (ko) 커널 기반의 파일이벤트감사 기능을 이용한 실시간 웹셀 탐지 장치 및 방법
US11838414B2 (en) Apparatus and method for recovering encryption key based on memory analysis
WO2023073822A1 (ja) バックドア検知装置、バックドア検知方法、及び記録媒体
CN118153038A (zh) 风险行为检测方法和装置
TWI522837B (zh) Portable system safety inspection of nuclear installations
CN117370981A (zh) 一种基于行为特征的eBPF Rootkit攻击形式化建模方法
CN117235687A (zh) 混淆bash命令检测方法、装置、设备、***和介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130116

Termination date: 20201124