CN106127085A - 防止修改键盘输入数据的方法、装置和终端设备 - Google Patents
防止修改键盘输入数据的方法、装置和终端设备 Download PDFInfo
- Publication number
- CN106127085A CN106127085A CN201610520244.1A CN201610520244A CN106127085A CN 106127085 A CN106127085 A CN 106127085A CN 201610520244 A CN201610520244 A CN 201610520244A CN 106127085 A CN106127085 A CN 106127085A
- Authority
- CN
- China
- Prior art keywords
- keyboard
- growth function
- modification growth
- function
- detection
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/83—Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明提出了一种防止修改键盘输入数据的方法、装置和终端设备,其中,方法包括:监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用,运行预设的与键盘按键修改函数对应的钩子函数;获取操作系统当前顶层窗口所属的第一进程;检测调用键盘按键修改函数的第二进程与第一进程是否相同;如果检测获知第二进程与第一进程相同,则允许第二进程调用键盘按键修改函数。该方法防止键盘输入数据被恶意篡改,保护了操作系统的安全。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种防止修改键盘输入数据的方法、装置和终端设备。
背景技术
通常,系统会为用户提供键盘按键修改函数,该按键修改函数用以满足用户在某些应用场景下对键盘输入数据的修改需求。
然而,有些恶意程序会调用键盘按键修改函数,该恶意程序通过键盘按键修改函数对键盘的输入数据进行修改,从而破坏用户的按键操作,为系统的安全带来安全隐患。
发明内容
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的第一个目的在于提出一种防止修改键盘输入数据的方法,该方法防止键盘输入数据被恶意篡改,保护了操作系统的安全。
本发明的第二个目的在于提出一种防止修改键盘输入数据的装置。
本发明的第三个目的在于提出一种终端设备。
本发明的第四个目的在于提出另一种终端设备。
为达上述目的,本发明第一方面实施例的防止修改键盘输入数据的方法,包括:监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用,运行预设的与所述键盘按键修改函数对应的钩子函数;获取操作系统当前顶层窗口所属的第一进程;检测调用所述键盘按键修改函数的第二进程与所述第一进程是否相同;如果检测获知所述第二进程与所述第一进程相同,则允许所述第二进程调用所述键盘按键修改函数。
本发明实施例的防止修改键盘输入数据的方法,监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用时判断调用该键盘按键修改函数的进程是否是操作系统当前顶层窗口所属的进程,如果是操作系统当前顶层窗口所属的进程,则允许调用键盘按键修改函数。该方法在调用按键修改函数之前,检测调用键盘按键修改函数的进程与操作系统当前顶层窗口所属的进程是否一致,一致时才允许调用键盘按键修改函数,防止键盘输入数据被恶意篡改,保护了操作系统的安全。
另外,在本发明的一个实施例中,所述方法还包括:如果检测获知所述第二进程与所述第一进程不相同,则检测调用所述键盘按键修改函数的第二进程的合法性;如果所述第二进程非法,则拒绝所述第二进程调用所述键盘按键修改函数。
在本发明的一个实施例中,所述方法还包括:如果所述第二进程合法,则允许所述第二进程调用所述键盘按键修改函数。
在本发明的一个实施例中,在所述监测操作系统内核提供的键盘按键修改函数是否被调用之前,还包括:在具有网络安全应用的防御驱动中设置与所述键盘按键修改函数对应的钩子函数。
在本发明的一个实施例中,所述检测调用所述键盘按键修改函数的第二进程的合法性,包括:根据预设的特征库检测调用所述键盘按键修改函数的第二进程的合法性。
在本发明的一个实施例中,所述特征库包括:合法进程的白名单,和/或,非法进程的黑名单。
在本发明的一个实施例中,所述根据特征库检测调用所述第二进程的合法性,包括:将所述特征库中预存的非法进程与所述第二进程进行匹配;如果所述非法进程与所述第二进程匹配成功,则确定当前进程非法;如果所述非法进程与所述第二进程匹配不成功,则确定当前进程合法。
为达上述目的,本发明第二方面实施例的防止修改键盘输入数据的装置,包括:监测模块,用于监测操作系统内核提供的键盘按键修改函数是否被调用;运行模块,用于在所述监测模块监测到所述操作系统内核提供的键盘按键修改函数被调用时,运行预设的与所述键盘按键修改函数对应的钩子函数;获取模块,用于获取操作系统当前顶层窗口所属的第一进程;第一检测模块,用于检测调用所述键盘按键修改函数的第二进程与所述第一进程是否相同;第一处理模块,用于在检测获知所述第二进程与所述第一进程相同时,允许所述第二进程调用所述键盘按键修改函数。
本发明实施例的防止修改键盘输入数据的装置,监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用时判断调用该键盘按键修改函数的进程是否是操作系统当前顶层窗口所属的进程,如果是操作系统当前顶层窗口所属的进程,则允许调用键盘按键修改函数。该装置在调用按键修改函数之前,检测调用键盘按键修改函数的进程与操作系统当前顶层窗口所属的进程是否一致,一致时才允许调用键盘按键修改函数,防止键盘输入数据被恶意篡改,保护了操作系统的安全。
另外,在本发明的一个实施例中,所述装置还包括:第二检测模块,用于在所述第一检测模块检测获知所述第二进程与所述第一进程不相同时,检测调用所述键盘按键修改函数的第二进程的合法性;第二处理模块,用于在所述第二进程非法时,拒绝所述第二进程调用所述键盘按键修改函数。
在本发明的一个实施例中,所述装置包括:所述第二处理模块还用于在所述第二进程合法时,允许所述第二进程调用所述键盘按键修改函数。
在本发明的一个实施例中,所述装置还包括:设置模块,用于在具有网络安全应用的防御驱动中设置与所述键盘按键修改函数对应的钩子函数。
在本发明的一个实施例中,所述第二检测模块用于:
根据预设的特征库检测调用所述键盘按键修改函数的第二进程的合法性。
在本发明的一个实施例中,所述特征库包括:合法进程的白名单,和/或,非法进程的黑名单。
在本发明的一个实施例中,所述第二检测模块用于:将所述特征库中预存的非法进程与所述第二进程进行匹配;在所述非法进程与所述第二进程匹配成功时,确定当前进程非法;或者在所述非法进程与所述第二进程匹配不成功时,确定当前进程合法。
为达上述目的,本发明第三方面实施例的终端设备,包括本发明第二方面实施例所述的终端设备。
本发明实施例的终端设备,监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用时判断调用该键盘按键修改函数的进程是否是操作系统当前顶层窗口所属的进程,如果是操作系统当前顶层窗口所属的进程,则允许调用键盘按键修改函数。该终端设备在调用按键修改函数之前,检测调用键盘按键修改函数的进程与操作系统当前顶层窗口所属的进程是否一致,一致时才允许调用键盘按键修改函数,防止键盘输入数据被恶意篡改,保护了操作系统的安全。
为达上述目的,本发明第四方面实施例的终端设备,包括以下一个或多个组件:处理器,存储器,电源电路,多媒体组件,音频组件,输入/输出(I/O)的接口,传感器组件,以及通信组件;其中,电路板安置在壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为终端设备的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:
监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用,运行预设的与所述键盘按键修改函数对应的钩子函数;
获取操作系统当前顶层窗口所属的第一进程;
检测调用所述键盘按键修改函数的第二进程与所述第一进程是否相同;
如果检测获知所述第二进程与所述第一进程相同,则允许所述第二进程调用所述键盘按键修改函数。
本发明实施例的终端设备,监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用时判断调用该键盘按键修改函数的进程是否是操作系统当前顶层窗口所属的进程,如果是操作系统当前顶层窗口所属的进程,则允许调用键盘按键修改函数。该终端设备在调用按键修改函数之前,检测调用键盘按键修改函数的进程与操作系统当前顶层窗口所属的进程是否一致,一致时才允许调用键盘按键修改函数,防止键盘输入数据被恶意篡改,保护了操作系统的安全。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的防止修改键盘输入数据的方法的流程图;
图2是根据本发明一个具体实施例的防止修改键盘输入数据的方法的流程图;
图3是根据本发明一个实施例的修改键盘输入数据的装置的结构示意图;
图4是根据本发明一个具体实施例的防止修改键盘输入数据的装置的结构示意图;
图5是根据本发明一个实施例的终端设备的结构示意图;以及
图6是根据本发明一个具体实施例的终端设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的防止修改键盘输入数据的方法、装置和终端设备。
图1是根据本发明一个实施例的防止修改键盘输入数据的方法的流程图,如图1所示,该防止修改键盘输入数据的方法包括:
S110,监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用,运行预设的与键盘按键修改函数对应的钩子函数。
通常,操作系统内核会提供键盘按键修改函数,以满足在某些应用场景下,通过该键盘按键修改函数对键盘输入数据的修改需求。其中,根据具体应用场景的不同,操作系统内核提供的键盘按键修改函数不同。
比如,当操作系统提供键盘按键修改函数SetKeyboardState函数时,可通过调用SetKeyboardState函数对应的操作系统内核的函数NtUserSetKeyboardState函数修改键盘的输入数据。
然而,在某些应用场景下,有些执行恶意任务的恶意进程,比如病毒、蠕虫和特洛伊木马进程等,可用过调用操作系统内核提供的键盘按键修改函数,对键盘按键的输入数据进行篡改,从而破坏用户对键盘的按键操作。
因此,为了防止键盘输入数据被恶意篡改,保护操作系统的安全,在允许调用键盘按键修改函数之前,需要判断调用键盘按键修改函数的进程是否合法等,从而根据判断结果决定是否允许调用键盘按键修改函数。
本发明实施例的防止修改键盘输入数据的方法,将钩子函数与操作系统进行挂接,通过钩子函数监视操作系统内核中,键盘按键修改函数的调用事件,每当监测到键盘按键修改函数被调用时,在操作系统响应该调用事件之前,钩子函数捕获调用该键盘按键修改函数的进程,并判断调用键盘按键修改函数的进程是否合法。
S120,获取操作系统当前顶层窗口所属的第一进程。
具体而言,获取操作系统当前顶层窗口所属的第一进程,其中第一进程对应于当前用户使用的应用程序,比如微信应用程序等。
S130,检测调用键盘按键修改函数的第二进程与第一进程是否相同。
具体地,在获取操作系统当前顶层窗口所属的第一进程后,通过检测调用键盘按键修改函数的第二进程与第一进程是否相同,判断调用键盘按键修改函数的进程是否是操作系统当前顶层窗口所属的进程,即判断是否是当前正在使用的应用程序本身的进程在调用键盘按键修改函数。
S140,如果检测获知第二进程与第一进程相同,则允许第二进程调用键盘按键修改函数。
具体地,如果检测获知第二进程与第一进程相同,则表明是当前正在使用的应用程序本身的进程在调用键盘按键修改函数,从而允许第二进程调用键盘按键修改函数。
综上所述,本发明实施例的防止修改键盘输入数据的方法,监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用时判断调用该键盘按键修改函数的进程是否是操作系统当前顶层窗口所属的进程,如果是操作系统当前顶层窗口所属的进程,则允许调用键盘按键修改函数。该方法在调用按键修改函数之前,检测调用键盘按键修改函数的进程与操作系统当前顶层窗口所属的进程是否一致,一致时才允许调用键盘按键修改函数,防止键盘输入数据被恶意篡改,保护了操作系统的安全。
基于以上实施例,当检测调用键盘按键修改函数的第二进程与第一进程不相同时,并不直接允许其调用键盘按键修改函数,需要对第二进程的合法性进行判断,只有当判断第二进程合法时,才允许对其调用键盘按键修改函数。
下面结合附图2对当第二进程与第一进程不相同时,对第二进程的合法性进行判断的过程进行具体说明,说明如下:
S210,在具有网络安全应用的防御驱动中设置与键盘按键修改函数对应的钩子函数。
应当理解的是,根据应用场景的不同,与键盘按键修改函数对应的钩子函数可以被设置于操作系统的多个位置。本发明实施例的防止键盘输入数据的方法中,为了将操作系统中相关安全防御的资源的整合,将与键盘按键修改函数对应的钩子函数设置于具有网络安全应用的防御驱动中。
具体地,当监测操作系统内核提供的键盘按键修改函数被调用时,运行预设的与键盘按键修改函数对应的钩子函数,从而利用钩子函数获取调用当前调用键盘按键修改函数的进程。
S220,检测调用键盘按键修改函数的第二进程与第一进程是否相同。
S230,如果检测获知第二进程与第一进程不相同,则根据检测调用键盘按键修改函数第二进程的合法性。
其中,需要说明的是,根据具体应用场景的不同,钩子函数可采取多种方式检测调用键盘按键修改函数的第二进程的合法性。
第一种示例,可以通过在操作系统本地对应设置包含相关合法或者非法进程相关特征的特征库,并通过特征库检测调用键盘按键修改函数的第二进程的合法性。
第二种示例,可以在远程服务器上设置包含相关合法或者非法进程相关特征的特征库,并在钩子函数中设置一与该远程服务器进行信息交互的相关函数,从而钩子函数中的相关函数,将调用键盘按键修改函数的第二进程的相关信息发送至远程服务器,以供远程服务器根据特征库检测调用键盘按键修改函数的第二进程的合法性。
第三种示例,预先存储可靠、可信的进程绑定安全标识,从而钩子函数捕获调用键盘按键修改函数的第二进程后,检测第二进程是否具有上述安全标识以检测第二进程的合法性。
S240,如果第二进程非法,则拒绝第二进程调用键盘按键修改函数。
S250,如果第二进程合法,则允许第二进程调用键盘按键修改函数。
具体地,本实施例根据预设的特征库检测调用键盘按键修改函数的进程的合法性。如果检测调用键盘按键修改函数的第二进程非法,则表明调用该第二进程可能是恶意进程,从而拒绝该第二进程调用键盘按键修改函数。如果检测调用键盘按键修改函数的第二进程合法,则允许第二进程调用键盘按键修改函数。
需要说明的是,特征库中的具体内容可以根据应用需要进行设置,例如包括合法进程的白名单,和/或,包括非法进程的黑名单。举例说明如下:
作为一种示例,特征库中可包括白名单,白名单中包含的进程信息对应的进程是合法进程、是不会对操作系统的安全带来破坏的进程,允许该进程调用键盘按键修改函数不会破坏操作系统的安全。
在本示例中,在检测获知第二进程与第一进程不相同时,根据该第二进程的进程信息查询特征库,如果查询获取该第二进程信息,与白名单中的进程信息匹配,则认为该第二进程是合法进程,因此允许该第二进程调用键盘按键修该函数,如果查询获取该第二进程信息,与白名单中的进程信息不匹配,则认为该第二进程是非法进程,因此拒绝该第二进程调用键盘按键修该函数。
作为一种示例,特征库中包含黑名单,黑名单包含的进程信息对应的进程是非法进程,例如可能是恶意程序对应的进程,如果允许该进程调用键盘按键修改函数会造成对操作系统的破坏。
在本示例中,在检测获知第二进程与第一进程不相同时,根据该第二进程的进程信息查询特征库,如果该第二进程的进程信息与黑名单包含的进程信息匹配,则认为该第二进程是非法进程,因此拒绝该第二进程调用键盘按键修改函数。,如果该第二进程的进程信息与黑名单包含的进程信息不匹配,则认为该第二进程是合法进程,因此允许该第二进程调用键盘按键修改函数。
作为一种示例,特征库中可包含黑名单和白名单,白名单中包含的进程信息对应的进程是合法进程,黑名单中包含的进程信息对应的进程是非法进程。
在本示例中,检测获知第二进程与第一进程不相同时,根据该第二进程的进程信息查询特征库,如果查询获取该第二进程信息,与白名单的进程信息匹配,则认为该第二进程是合法进程,因此允许该第二进程调用键盘按键修该函数;如果该第二进程的进程信息与黑名单包含的进程信息匹配,则认为该第二进程是非法进程,因此拒绝该第二进程调用键盘按键修改函数。
综上所述,本发明实施例的防止修改键盘输入数据的方法,当检测调用键盘按键修改函数的第二进程与第一进程不相同时,则检测调用键盘按键修改函数的第二进程的合法性,当第二进程合法时,允许调用所述键盘按键修改函数,当第二进程非法时,拒绝调用键盘按键修改函数,进一步防止键盘输入数据被恶意篡改,保护了操作系统的安全。
为了实现上述实施例,本发明还提出了一种修改键盘输入数据的装置。图3是根据本发明一个实施例的修改键盘输入数据的装置的结构示意图,如图3所示,该修改键盘输入数据的装置包括:监测模块310、运行模块320、获取模块330、第一检测模块340和第一处理模块350。
其中,监测模块310,用于监测操作系统内核提供的键盘按键修改函数是否被调用;
运行模块320,用于在监测模块监测到操作系统内核提供的键盘按键修改函数被调用时,运行预设的与键盘按键修改函数对应的钩子函数;
获取模块330,用于获取操作系统当前顶层窗口所属的第一进程;
第一检测模块340,用于检测调用键盘按键修改函数的第二进程与第一进程是否相同;
第一处理模块350,用于在检测获知第二进程与第一进程相同时,允许第二进程调用键盘按键修改函数。
具体地,本发明实施例的防止修改键盘输入数据的装置,将钩子函数与操作系统进行挂接,通过钩子函数监视操作系统内核中,键盘按键修改函数的调用事件,每当监测模块310监测到键盘按键修改函数被调用时,在操作系统响应该调用事件之前,运行模块320运行钩子函数捕获调用该键盘按键修改函数的进程,从而判断调用键盘按键修改函数的进程是否合法。
进而,获取模块330获取操作系统当前顶层窗口所属的第一进程,其中第一进程对应于当前用户使用的应用程序,比如微信应用程序等。
进一步地,在获取操作系统当前顶层窗口所属的第一进程后,第一检测模块340通过检测调用键盘按键修改函数的第二进程与第一进程是否相同,判断调用键盘按键修改函数的进程是否是操作系统当前顶层窗口所属的进程,即判断是否是当前正在使用的应用程序本身的进程在调用键盘按键修改函数。
从而,如果第一检测模块340检测获知第二进程与第一进程相同,则表明是当前正在使用的应用程序本身的进程在调用键盘按键修改函数,从而第一处理模块350允许第二进程调用键盘按键修改函数。
综上所述,本发明实施例的防止修改键盘输入数据的装置,监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用时判断调用该键盘按键修改函数的进程是否是操作系统当前顶层窗口所属的进程,如果是操作系统当前顶层窗口所属的进程,则允许调用键盘按键修改函数。该装置在调用按键修改函数之前,检测调用键盘按键修改函数的进程与操作系统当前顶层窗口所属的进程是否一致,一致时才允许调用键盘按键修改函数,防止键盘输入数据被恶意篡改,保护了操作系统的安全。
基于以上实施例,当检测调用键盘按键修改函数的第二进程与第一进程不相同时,并不直接允许其调用键盘按键修改函数,需要对第二进程的合法性进行判断,只有当判断第二进程合法时,才允许对其调用键盘按键修改函数。
下面结合附图4对当第二进程与第一进程不相同时,对第二进程的合法性进行判断的过程进行具体说明,说明如下:
图4是根据本发明一个具体实施例的防止修改键盘输入数据的装置的结构示意图,如图4所示,在如图3所示的基础上,该装置还包括:设置模块360、第二检测模块370和第二处理模块380。
其中,设置模块360,用于在具有网络安全应用的防御驱动中设置与键盘按键修改函数对应的钩子函数。
第二检测模块370,用于在第一检测模块340检测获知第二进程与第一进程不相同时,检测调用键盘按键修改函数的第二进程的合法性;
第二处理模块380,用于在第二进程非法时,拒绝第二进程调用键盘按键修改函数。
具体地,在当监测操作系统内核提供的键盘按键修改函数被调用时,运行预设的与键盘按键修改函数对应的钩子函数,从而利用设置模块360设置的钩子函数获取调用当前调用键盘按键修改函数的进程,并检测该进程是否合法。
在本发明的一个实施例中,第二检测模块370根据特征库检测调用键盘按键修改函数的第二进程的合法性。如果检测调用键盘按键修改函数的第二进程非法,则表明调用该键盘按键修改函数的第二进程可能是恶意进程,从而第二处理模块380拒绝该第二进程调用键盘按键修改函数。如果检测调用键盘按键修改函数的第二进程合法,第二处理模块380则允许第二进程调用键盘按键修改函数。
需要说明的是,特征库中的具体内容可以根据应用需要进行设置,例如包括合法进程的白名单,和/或,包括非法进程的黑名单。举例说明如下:
第一种示例,特征库中可包括白名单,白名单中包含的进程信息对应的进程是合法进程、是不会对操作系统的安全带来破坏的进程,允许该进程调用键盘按键修改函数不会破坏操作系统的安全。
在本示例中,在第一检测模块340检测获知第二进程与第一进程不相同时,第二检测模块370根据该第二进程的进程信息查询特征库,如果查询获取该第二进程信息,与白名单中的进程信息匹配,则认为该第二进程是合法进程,因此第二处理模块380允许该第二进程调用键盘按键修该函数。如果查询获取该第二进程信息,与白名单中的进程信息不匹配,则认为该第二进程是非法进程,因此第二处理模块380拒绝该第二进程调用键盘按键修该函数。
第二种示例,特征库中包含黑名单,黑名单包含的进程信息对应的进程是非法进程,例如可能是恶意程序对应的进程,如果允许该进程调用键盘按键修改函数会造成对操作系统的破坏。
在本示例中,在第一检测模块340检测获知第二进程与第一进程不相同时,第二检测模块370根据该第二进程的进程信息查询特征库,如果该第二进程的进程信息与黑名单包含的进程信息匹配,则认为该第二进程是非法进程,因此第二处理模块380拒绝该第二进程调用键盘按键修改函数。如果该第二进程的进程信息与黑名单包含的进程信息不匹配,则认为该第二进程是合法进程,因此第二处理模块380允许该第二进程调用键盘按键修改函数。
第三那种示例,特征库中可包含黑名单和白名单,白名单中包含的进程信息对应的进程是合法进程,黑名单中包含的进程信息对应的进程是非法进程。
在本示例中,第一检测模块340检测获知第二进程与第一进程不相同时,第二检测模块370根据该第二进程的进程信息查询特征库,如果查询获取该第二进程信息,与白名单的进程信息匹配,则认为该第二进程是合法进程,因此第二处理模块380允许该第二进程调用键盘按键修该函数;如果第二检测模块370检测该第二进程的进程信息与黑名单包含的进程信息匹配,则认为该第二进程是非法进程,因此第二处理模块380拒绝该第二进程调用键盘按键修改函数。
综上所述,本发明实施例的防止修改键盘输入数据的装置,当检测调用键盘按键修改函数的第二进程与第一进程不相同时,则检测调用键盘按键修改函数的第二进程的合法性,当第二进程合法时,允许调用所述键盘按键修改函数,当第二进程非法时,拒绝调用键盘按键修改函数,进一步防止键盘输入数据被恶意篡改,保护了操作系统的安全。
为了实现上述实施例,本发明还提出了一种终端设备。
图5是根据本发明一个实施例的终端设备的结构示意图,如图5所示,该终端设备包括防止修改键盘输入数据的装置500。
需要说明的是,上述防止修改键盘输入数据的装置500的描述可参考上述结合图3和图4对防止修改键盘输入数据的装置的描述,在此不再赘述。
综上所述,本发明实施例的终端设备,监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用时判断调用该键盘按键修改函数的进程是否是操作系统当前顶层窗口所属的进程,如果是操作系统当前顶层窗口所属的进程,则允许调用键盘按键修改函数。该终端设备在调用按键修改函数之前,检测调用键盘按键修改函数的进程与操作系统当前顶层窗口所属的进程是否一致,一致时才允许调用键盘按键修改函数,防止键盘输入数据被恶意篡改,保护了操作系统的安全。
为了实现上述实施例,本发明还提出了另外一种终端设备。
图6是根据本发明一个具体实施例的终端设备的结构示意图,如图6所示,终端设备1000可以是移动电话等。
参见图6,终端设备1000可以包括以下一个或多个组件:处理器1001,存储器1002,电源电路1003,多媒体组件1004,音频组件1005,输入/输出(I/O)的接口1006,传感器组件1007,以及通信组件1008。
电源电路1003,用于为终端设备的各个电路或器件供电;存储器1002用于存储可执行程序代码;处理器1001通过读取存储器1002中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用,运行预设的与键盘按键修改函数对应的钩子函数;
获取操作系统当前顶层窗口所属的第一进程;
检测调用键盘按键修改函数的第二进程与第一进程是否相同;
如果检测获知第二进程与第一进程相同,则允许第二进程调用键盘按键修改函数。
需要说明的是,上述对终端设备1000的描述可参考上述结合图1和图2对防止修改键盘输入数据的方法的描述,在此不再赘述。
综上所述,本发明实施例的终端设备,监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用时判断调用该键盘按键修改函数的进程是否是操作系统当前顶层窗口所属的进程,如果是操作系统当前顶层窗口所属的进程,则允许调用键盘按键修改函数。该终端设备在调用按键修改函数之前,检测调用键盘按键修改函数的进程与操作系统当前顶层窗口所属的进程是否一致,一致时才允许调用键盘按键修改函数,防止键盘输入数据被恶意篡改,保护了操作系统的安全。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (16)
1.一种防止修改键盘输入数据的方法,其特征在于,包括以下步骤:
监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用,运行预设的与所述键盘按键修改函数对应的钩子函数;
获取操作系统当前顶层窗口所属的第一进程;
检测调用所述键盘按键修改函数的第二进程与所述第一进程是否相同;
如果检测获知所述第二进程与所述第一进程相同,则允许所述第二进程调用所述键盘按键修改函数。
2.如权利要求1所述的方法,其特征在于,还包括:
如果检测获知所述第二进程与所述第一进程不相同,则检测调用所述键盘按键修改函数的第二进程的合法性;
如果所述第二进程非法,则拒绝所述第二进程调用所述键盘按键修改函数。
3.如权利要求2所述的方法,其特征在于,还包括:
如果所述第二进程合法,则允许所述第二进程调用所述键盘按键修改函数。
4.如权利要求1所述的方法,其特征在于,在所述监测操作系统内核提供的键盘按键修改函数是否被调用之前,还包括:
在具有网络安全应用的防御驱动中设置与所述键盘按键修改函数对应的钩子函数。
5.如权利要求1所述的方法,其特征在于,所述检测调用所述键盘按键修改函数的第二进程的合法性,包括:
根据预设的特征库检测调用所述键盘按键修改函数的第二进程的合法性。
6.如权利要求5所述的方法,其特征在于,所述特征库包括:
合法进程的白名单,和/或,非法进程的黑名单。
7.如权利要求5所述的方法,其特征在于,所述根据特征库检测调用所述第二进程的合法性,包括:
将所述特征库中预存的非法进程与所述第二进程进行匹配;
如果所述非法进程与所述第二进程匹配成功,则确定当前进程非法;
如果所述非法进程与所述第二进程匹配不成功,则确定当前进程合法。
8.一种防止修改键盘输入数据的装置,其特征在于,包括:
监测模块,用于监测操作系统内核提供的键盘按键修改函数是否被调用;
运行模块,用于在所述监测模块监测到所述操作系统内核提供的键盘按键修改函数被调用时,运行预设的与所述键盘按键修改函数对应的钩子函数;
获取模块,用于获取操作系统当前顶层窗口所属的第一进程;
第一检测模块,用于检测调用所述键盘按键修改函数的第二进程与所述第一进程是否相同;
第一处理模块,用于在检测获知所述第二进程与所述第一进程相同时,允许所述第二进程调用所述键盘按键修改函数。
9.如权利要求7所述的装置,其特征在于,还包括:
第二检测模块,用于在所述第一检测模块检测获知所述第二进程与所述第一进程不相同时,检测调用所述键盘按键修改函数的第二进程的合法性;
第二处理模块,用于在所述第二进程非法时,拒绝所述第二进程调用所述键盘按键修改函数。
10.如权利要求9所述的装置,其特征在于,包括:
所述第二处理模块还用于在所述第二进程合法时,允许所述第二进程调用所述键盘按键修改函数。
11.如权利要求8所述的装置,其特征在于,还包括:
设置模块,用于在具有网络安全应用的防御驱动中设置与所述键盘按键修改函数对应的钩子函数。
12.如权利要求8所述的装置,其特征在于,所述第二检测模块用于:
根据预设的特征库检测调用所述键盘按键修改函数的第二进程的合法性。
13.如权利要求12所述的装置,其特征在于,所述特征库包括:
合法进程的白名单,和/或,非法进程的黑名单。
14.如权利要求12所述的装置,其特征在于,所述第二检测模块用于:
将所述特征库中预存的非法进程与所述第二进程进行匹配;
在所述非法进程与所述第二进程匹配成功时,确定当前进程非法;
或者在所述非法进程与所述第二进程匹配不成功时,确定当前进程合法。
15.一种终端设备,其特征在于,包括如权利要求8-13任一项所述的防止修改键盘输入数据的装置。
16.一种终端设备,其特征在于,包括以下一个或多个组件:处理器,存储器,电源电路,多媒体组件,音频组件,输入/输出(I/O)的接口,传感器组件,以及通信组件;其中,电路板安置在壳体围成的空间内部,所述处理器和所述存 储器设置在所述电路板上;所述电源电路,用于为终端设备的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:
监测操作系统内核提供的键盘按键修改函数是否被调用,如果被调用,运行预设的与所述键盘按键修改函数对应的钩子函数;
获取操作系统当前顶层窗口所属的第一进程;
检测调用所述键盘按键修改函数的第二进程与所述第一进程是否相同;
如果检测获知所述第二进程与所述第一进程相同,则允许所述第二进程调用所述键盘按键修改函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610520244.1A CN106127085A (zh) | 2016-07-04 | 2016-07-04 | 防止修改键盘输入数据的方法、装置和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610520244.1A CN106127085A (zh) | 2016-07-04 | 2016-07-04 | 防止修改键盘输入数据的方法、装置和终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106127085A true CN106127085A (zh) | 2016-11-16 |
Family
ID=57468372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610520244.1A Pending CN106127085A (zh) | 2016-07-04 | 2016-07-04 | 防止修改键盘输入数据的方法、装置和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106127085A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609397A (zh) * | 2017-08-07 | 2018-01-19 | 清华大学 | 安卓系统中应用程序恶意行为检测方法和设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243699A (zh) * | 2011-06-09 | 2011-11-16 | 深圳市安之天信息技术有限公司 | 一种恶意代码检测方法及系统 |
CN102902919A (zh) * | 2012-08-30 | 2013-01-30 | 北京奇虎科技有限公司 | 一种可疑操作的识别处理方法、装置和系统 |
CN104217164A (zh) * | 2014-09-11 | 2014-12-17 | 工业和信息化部电子第五研究所 | 智能移动终端恶意软件的检测方法与装置 |
CN104267994A (zh) * | 2014-09-30 | 2015-01-07 | 北京奇虎科技有限公司 | 一种运行应用程序的装置和终端设备 |
CN104268475A (zh) * | 2014-09-30 | 2015-01-07 | 北京奇虎科技有限公司 | 一种运行应用程序的系统 |
-
2016
- 2016-07-04 CN CN201610520244.1A patent/CN106127085A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243699A (zh) * | 2011-06-09 | 2011-11-16 | 深圳市安之天信息技术有限公司 | 一种恶意代码检测方法及系统 |
CN102902919A (zh) * | 2012-08-30 | 2013-01-30 | 北京奇虎科技有限公司 | 一种可疑操作的识别处理方法、装置和系统 |
CN104217164A (zh) * | 2014-09-11 | 2014-12-17 | 工业和信息化部电子第五研究所 | 智能移动终端恶意软件的检测方法与装置 |
CN104267994A (zh) * | 2014-09-30 | 2015-01-07 | 北京奇虎科技有限公司 | 一种运行应用程序的装置和终端设备 |
CN104268475A (zh) * | 2014-09-30 | 2015-01-07 | 北京奇虎科技有限公司 | 一种运行应用程序的系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609397A (zh) * | 2017-08-07 | 2018-01-19 | 清华大学 | 安卓系统中应用程序恶意行为检测方法和设备 |
CN107609397B (zh) * | 2017-08-07 | 2020-04-07 | 清华大学 | 安卓系统中应用程序恶意行为检测方法和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2562673B1 (en) | Apparatus and method for securing mobile terminal | |
CN102752730B (zh) | 消息处理的方法及装置 | |
CN106156619B (zh) | 应用安全防护方法及装置 | |
CN101848373B (zh) | 无线视频监控系统及其视频监控方法 | |
CN101754213B (zh) | 保证应用安全的智能卡、终端设备、鉴权服务器及其方法 | |
CN104267994A (zh) | 一种运行应用程序的装置和终端设备 | |
CN102413221B (zh) | 一种保护隐私信息的方法及移动终端 | |
CN103491056A (zh) | 应用权限的控制方法及装置 | |
CN104036195A (zh) | 信息处理方法及装置 | |
CN104244281A (zh) | 基站的检测方法和装置 | |
CN106211164A (zh) | 终端网络切换方法、终端网络切换装置及终端 | |
CN105913513A (zh) | 门锁系统的控制方法及其系统 | |
CN106203111A (zh) | 防止修改剪贴板数据的方法、装置和终端设备 | |
CN103065083A (zh) | 一种智能移动终端的应用程序接口监控方法及系统 | |
CN105915842A (zh) | 一种密码修改方法、装置及视频监控系统 | |
CN105260660A (zh) | 智能终端支付环境的监控方法、装置及系统 | |
CN103906045B (zh) | 一种移动终端隐私窃取行为的监控方法及系统 | |
CN107438059B (zh) | 终端防盗验证方法、终端和服务器 | |
CN106127085A (zh) | 防止修改键盘输入数据的方法、装置和终端设备 | |
CN106127041A (zh) | 防止剪贴板数据被监听的方法、装置及终端设备 | |
CN106169046A (zh) | 防止消息钩子注入的方法、装置和终端设备 | |
CN106203079A (zh) | 光标处理方法、装置和终端设备 | |
CN109711149A (zh) | 动态更新机制判定方法及应用全生命周期行为监控方法 | |
US20090111439A1 (en) | System and method for monitoring a monitored mobile phone | |
CN106314367A (zh) | 车辆监控方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20181211 Address after: 519030 Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant after: Zhuhai Leopard Technology Co.,Ltd. Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing Applicant before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161116 |
|
RJ01 | Rejection of invention patent application after publication |