CN103150505A - 对目标进程进行保护的方法 - Google Patents
对目标进程进行保护的方法 Download PDFInfo
- Publication number
- CN103150505A CN103150505A CN2013100366456A CN201310036645A CN103150505A CN 103150505 A CN103150505 A CN 103150505A CN 2013100366456 A CN2013100366456 A CN 2013100366456A CN 201310036645 A CN201310036645 A CN 201310036645A CN 103150505 A CN103150505 A CN 103150505A
- Authority
- CN
- China
- Prior art keywords
- target process
- request
- information
- sign
- target
- 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
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供了一种对目标进程进行保护的方法,包括步骤:接收一个模拟输入信息的请求;响应于该请求,获得有关与该请求相对应的目标进程的标识;根据该标识,确定是否响应该请求而执行该输入信息的操作。该方法可以有效地防止用户计算机中的病毒程序将利用模拟输入方式所产生的欺骗信息发送给通信的对方。
Description
技术领域
本发明涉及一种计算机程序保护方法,尤其涉及一种对目标进程进行保护的方法。
背景技术
随着信息技术的发展,越来越多的人们通过网络进行通信。包括电子邮件、即时消息在内的网络通信,使得位于不同地区的人们,都可以快速及时的传递信息。然而,由于计算机病毒更易于在网络中传播,在提供迅速便捷的通信服务的同时,网络也给用户带来相应的烦恼,甚至给用户带来一定的经济损失。
例如,近来出现一种计算机病毒。在被该病毒侵害的计算机中,该病毒程序可通过模拟输入信息的方式,即:通过模拟用户使用键盘或鼠标等外部设备输入信息的操作方式,产生欺骗信息。当用户使用染有该病毒的计算机向网络上的通信对方发送即时消息时,若该欺骗信息被发送到该通信对方,则通信对方将会误认为该信息是该用户输入的信息。该计算机病毒,通过这种方式,利用通信双方彼此之间的信赖,甚至可以骗取该通信对方的银行帐户的信息,从而使用户蒙受经济的损失。
发明内容
本发明的一个目的是提供一种对目标进程进行保护的方法,包括步骤:接收一个模拟输入信息的请求;响应于该请求,获得有关与该请求相对应的目标进程的标识;根据该标识,确定是否响应该请求而执行该输入信息的操作。
该方法可以有效地防止用户计算机中的病毒程序将利用模拟输入方式所产生的欺骗信息发送给通信的对方。
本发明的又一个目的是提供一种对目标进程进行保护的方法,包括步骤:接收一个欲在目标窗口中设置信息的请求;响应于该请求,获得有关与该请求相对应的目标进程的标识;根据该标识,确定是否允许在所述目标窗口中设置信息。
该方法可以有效地防止用户计算机中的病毒程序设置目标窗口中的信息,进而阻止病毒程序所产生的欺骗信息发送给通信的对方。
附图说明
以下将参照附图,通过实施例详细地描述本发明,其中:
图1是一个流程图,其示出了按照本发明一个实施例的对目标进程进行保护的方法;
图2是一个流程图,其示出了按照本发明另一个实施例的对目标进程进行保护的方法。
在所有附图中,相同的标号表示相似或相应的特征或功能。
具体实施方式
按照本发明的对目标进程进行保护的方法,当病毒程序通过模拟外设输入信息的方式或者通过设置目标窗口中信息的方式产生欺骗信息时,只要能够获得目标进程的进程号,通过判断该目标进程是否被允许执行,便可在该欺骗信息输入到目标进程之前进行拦截,从而防止通信对方在收到该欺骗信息后被误导而受骗。
以下,将结合具体实施例,详细地描述该对目标进程进行保护的方法。
在Windows操作系统中,除了提供用于处理用户利用鼠标或键盘等外设输入信息的功能模块外,还提供了可模拟外设输入信息并对该输入的信息进行处理的功能模块。这种模拟输入的方式,在例如Windows系统提供的虚拟键盘等辅助输入的场合被广泛地应用。通常,应用程序可通过调用操作系统的应用层API(Application ProgramInterface)函数,API函数进一步调用操作系统的驱动层函数,实现模拟输入的操作。因此,若在应用层API函数或驱动层函数被调用时,对相应的目标进程进行判断从而对目标进程有选择地执行,则可以有效地拦截病毒程序利用模拟输入方式输入的欺骗信息。
图1是按照本发明一个实施例的应用在Windows系统中的当驱动层函数被调用时对目标进程进行保护的方法的流程图。在图1所示实施例中,当合法程序或病毒程序欲采用模拟输入方式输入信息时,将产生一个模拟输入信息的请求。响应于该请求,API函数user32.dll!SendInput被调用。在Windows操作系统中,该API函数不仅提供了模拟键盘、鼠标等外设自动输入信息的功能,并且还提供了可控制输入信息内容的功能。该应用层API函数user32.dll!SendInput将进一步调用驱动层函数Win32k.sys中的NtUserSendInput。
下面是该驱动层函数NtUserSendInput的一个示例,其参数可以与该应用层API函数user32.dll!SendInput的参数一致。
W32KAPI
UINT
NtUserSendInput(
IN UINT cInputs,
IN CONST INPUT*pInputs,
IN int cbSize);
如图1所示,当监视到函数NtUserSendInput被调用时(步骤S20),根据操作系统中可获得焦点窗口的句柄的函数NtUserGetActiveWindow,获得当前焦点窗口的句柄(步骤S30)。然后,根据该句柄,通过调用系统函数中获得目标进程标识的函数NtUserGetWindowThreadProcessID,可获得目标进程的标识(步骤S40)。接着,根据该目标进程的标识,判断是否响应该请求而执行该模拟输入信息的操作(步骤S50)。其中,目标进程的标识可以是例如进程号。
判断步骤S50可进一步包括:根据进程号确定目标进程是否属于受保护的进程(步骤S52);根据目标进程是否属于受保护的进程,再确定是否响应该请求而执行该模拟输入信息的操作。具体的,若目标进程属于受保护的进程,则可根据用户的指示信息或者预定规则,有选择地响应该请求而执行该模拟输入信息的操作(步骤S54)。若目标进程不属于受保护的进程,则可直接响应该请求而执行该模拟输入信息的操作(步骤S56)。
下面,以经由应用程序QQ(一款流行的网络即时通信应用软件)发送即时消息为例,进一步说明上述保护目标进程的方法。当用户使用一个感染了病毒的计算机时,该病毒程序可利用模拟输入的方式而生成一个欺骗信息。如上所述,该欺骗信息可模仿用户在QQ对话窗口中利用键盘输入的信息。当病毒程序试图进行欺骗信息的输入时,驱动层函数NtUserSendInput将被API函数user32.dll!SendInput调用。当监视到该驱动层函数被调用时,根据上述步骤S20和步骤S30可以获得该QQ对话窗口所对应的进程的进程号,即:目标进程的进程号。这里,假定QQ对话窗口所对应的进程属于受保护的进程。当获得该目标进程的进程号后,可向用户提示:是否执行该驱动层函数以采用模拟输入方式输入信息。若此时用户并未在QQ对话窗口输入即时消息,则用户将很容易地判断出应当终止执行该驱动层函数。此时,通过选择“终止执行”的指示,用户即可有效地阻止该欺骗信息被输入到QQ对话窗口中。由于病毒程序所产生的欺骗信息不能通过模拟输入的方式输入到对话窗口中,因此,按照上述实施例所述的方法,即使病毒程序可利用模拟输入的方式触发对话窗口中的“发送消息”的按钮,也不能将欺骗信息发送出去。
除了根据用户指示终止执行驱动层函数外,还可以预先规定在一些情况下将自动终止执行驱动层函数。这些情况包括但不限于:根据采用模拟输入方式所输入的信息内容,例如:当模拟输入的信息中涉及的网站地址属于预先确定的恶意网站的网址时,将停止执行该驱动层函数。
图1示出了当病毒程序通过模拟外设输入信息的方式产生欺骗信息时,如何拦截该欺骗信息的过程。图2是本发明的另一个实施例,其示出了当病毒程序通过设置目标窗口中信息的方式产生欺骗信息时,如何拦截该欺骗信息的过程。
在Windows系统中,提供了可设置目标窗口中信息的功能。与上述模拟外设输入的功能相类似,该功能也可通过应用层函数API调用驱动层函数来实现。
在图2所示实施例中,当合法程序或病毒程序欲在目标窗口中输入信息时,将产生一个欲在目标窗口中设置信息的请求。响应于该请求,API函数user32.dll!SendMessage被调用,且该API函数中将包括参数WM_SETTEXT,以表示欲在目标窗口中设置信息。在目标窗口中设置信息的操作可包括:在目标窗口中输入信息或修改目标窗口中已输入的信息等。该应用层API函数user32.dll!SendMessage将进一步调用驱动层函数Win32k.sys中的NtUserMessageCall。
以下是驱动层函数NtUserMessageCall的一个示例,其中,参数msg的数值取决于应用层API函数user32.dll!SendMessage中的参数WM_SETTEXT。
W32KAPI
LRESULT
NtUserMessageCall(
IN HWND hwnd,
IN UINT msg,
IN WPARAM wParam,
IN LPARAM lParam,
IN ULONG_PTR xParam,
IN DWORD xpfnProc,
IN BOOL bAnsi);
如图2所示,当监视到驱动层函数NtUserMessageCall被调用时(步骤S120),判断参数msg的取值是否为WM_SETTEXT,以确定当前请求是否为在目标窗口中设置信息的操作请求(步骤S130)。若该参数msg的取值是WM_SETTEXT,则可根据该驱动层函数NtUserMessageCall中的HWND参数来获得目标进程的标识(步骤S140)。在Windows操作系统中,该HWND参数表示目标窗口所对应的进程号。接着,根据该目标进程的标识,判断是否响应该请求而执行在目标窗口中的设置信息的操作(步骤S150)。
与实施例1相类似的,该判断步骤S150进一步包括:根据该进程号,确定目标进程是否属于受保护的进程(步骤S152);根据该目标进程是否属于受保护的进程,再确定是否响应该请求而执行在目标窗口中设置信息的操作。具体的,若目标进程属于受保护的进程,则可根据用户的指示信息或者预定规则,有选择地响应该请求而执行在目标窗口中设置信息的操作(步骤S154)。若目标进程不属于受保护的进程,则可以直接响应该请求而执行在目标窗口中设置信息的操作(步骤S156)。
以上结合附图描述了在Windows操作系统中的两个具体实施例。在这两个实施例中,可分别对API函数所调用的两个驱动层函数进行监视,通过当驱动层函数被调用时对目标进程进行识别,可有选择地执行目标进程,从而阻止病毒程序所产生的欺骗信息发送出去。
在实际应用中,不仅可以对驱动层函数被调用时的目标进程进行监视以拦截欺骗信息,也可以对在特定API函数被调用时相应的目标进程进行识别,以拦截特定病毒程序所产生的欺骗信息。
并且,本发明的上述对目标进程进行保护的方法,不仅适用于本发明实施例中所列举的两个驱动层函数,而且也可适用于能够完成与模拟输入和在目标窗口中设置信息相同功能的其他驱动层函数。通过拦截与这些其他驱动层函数相对应的目标进程,也可以有效地阻止欺骗信息被输入到受保护的目标进程中。
另外,在上述两个实施例中,仅对受保护的目标进程描述了如何拦截欺骗信息。但是,随着病毒程序的繁衍,若出现病毒程序侵害初始定义的不受保护的目标进程时,也可适用本发明的上述根据识别的目标进程拦截欲接收的输入内容的方法来确定该输入消息是否具有危险性。
本发明的上述对目标进程进行保护的方法,不仅适用于Windows操作系统,也可以适用于其他的操作系统。
本发明的上述对目标进程进行保护的方法,不仅可以由计算机软件实现,也可以由计算机硬件实现,亦可以由计算机软件和硬件结合来实现。当采用计算机硬件实现时,组成该对目标进程进行保护的装置的各个单元,可分别执行附图1和2所示方法流程图中的各个步骤。
有益效果
按照本发明的上述对目标进程进行保护的方法和装置,当病毒程序欲通过模拟外设输入信息的方式或者通过设置目标窗口中信息的方式产生欺骗信息时,由于针对病毒程序所产生的模拟输入信息的请求或设置目标窗口中信息的请求,可以对与该请求相对应的目标进程进行识别,因此,可以有选择地执行目标进程,从而有效地阻止病毒程序所产生的欺骗信息被发送。
本领域技术人员应当理解,对上述本发明所公开的对目标进程进行保护的方法和装置,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
Claims (4)
1.一种用于对目标进程进行保护的方法,包括步骤:
(a)接收一个模拟输入信息的请求;
(b)响应于该请求,获得有关与该请求相对应的目标进程的标识;
(c)根据该标识,确定是否响应该请求而执行该输入信息的操作,
其中,步骤(c)包括:
(c1)根据所述标识,判断所述目标进程是否属于受保护的进程;
(c2)若所述目标进程属于所述受保护的进程,则可有选择地响应所述请求而执行所述输入信息的操作,
其中,步骤(c2)包括:
若所述目标进程属于所述受保护的进程,则可根据一个预定规则或一个来自用户的指示信息来确定是否响应所述请求而执行所述输入信息的操作。
2.如权利要求1所述的方法,其中,所述输入信息的操作是通过对驱动层函数进行调用而实现的,该方法还包括步骤:
监视所述驱动层函数是否被调用,以响应于所述请求,获得所述目标进程的标识。
3.如权利要求2所述的方法,其中,在Windows系统中,所述驱动层函数是Win32k.sys中的NtUserSendInput。
4.如权利要求3所述的方法,其中所述步骤(b)包括:
调用系统函数中可获得焦点窗口的句柄的函数,以获得焦点窗口的句柄;
根据该句柄,调用系统函数中可获得目标进程标识的函数,以获得所述目标进程的标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100366456A CN103150505A (zh) | 2007-10-15 | 2007-10-15 | 对目标进程进行保护的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100366456A CN103150505A (zh) | 2007-10-15 | 2007-10-15 | 对目标进程进行保护的方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101803182A Division CN101350711A (zh) | 2007-10-15 | 2007-10-15 | 对目标进程进行保护的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103150505A true CN103150505A (zh) | 2013-06-12 |
Family
ID=48548578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100366456A Pending CN103150505A (zh) | 2007-10-15 | 2007-10-15 | 对目标进程进行保护的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150505A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468462A (zh) * | 2014-08-14 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 进程间通信身份验证及应用软件间通信方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1605968A (zh) * | 2004-11-15 | 2005-04-13 | 南京大学 | 基于程序内部行为监控的软件安全保障的方法 |
CN1901583A (zh) * | 2006-07-03 | 2007-01-24 | 陈晓燕 | 一种电话输入的自助打印方法及打印设备 |
CN1983296A (zh) * | 2005-12-12 | 2007-06-20 | 北京瑞星国际软件有限公司 | 用于防止非法程序窃取用户信息的方法及装置 |
-
2007
- 2007-10-15 CN CN2013100366456A patent/CN103150505A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1605968A (zh) * | 2004-11-15 | 2005-04-13 | 南京大学 | 基于程序内部行为监控的软件安全保障的方法 |
CN1983296A (zh) * | 2005-12-12 | 2007-06-20 | 北京瑞星国际软件有限公司 | 用于防止非法程序窃取用户信息的方法及装置 |
CN1901583A (zh) * | 2006-07-03 | 2007-01-24 | 陈晓燕 | 一种电话输入的自助打印方法及打印设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468462A (zh) * | 2014-08-14 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 进程间通信身份验证及应用软件间通信方法和系统 |
CN105468462B (zh) * | 2014-08-14 | 2020-11-03 | 腾讯科技(深圳)有限公司 | 进程间通信身份验证及应用软件间通信方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108023808B (zh) | 应用程序中的消息分发方法及装置 | |
US9807066B2 (en) | Secure data transmission and verification with untrusted computing devices | |
CN109213611B (zh) | 跨进程通讯方法、装置、终端及存储介质 | |
CN110718218B (zh) | 一种语音处理方法、装置、设备和计算机存储介质 | |
US11431684B2 (en) | Data response method, terminal device, and server | |
JP6226527B2 (ja) | 仮想アバタの認証 | |
CN110659206B (zh) | 基于微服务的模拟架构建立方法、装置、介质及电子设备 | |
CN111275404B (zh) | 基于区块链的评审方法、装置、设备和介质 | |
CN103636166A (zh) | 与请求-答复消息排队环境关联的动态数据保护策略 | |
US20200314045A1 (en) | Information processing method, device and electronic apparatus | |
WO2020244068A1 (zh) | 图片处理方法、装置、电子设备及存储介质 | |
CN110991368A (zh) | 相机场景识别方法及相关装置 | |
CN112987942B (zh) | 键盘输入信息的方法、装置、系统、电子设备和存储介质 | |
CN105306737A (zh) | 一种信息管理方法及用户终端 | |
CN111144878B (zh) | 指令生成方法与指令生成装置 | |
CN110718219B (zh) | 一种语音处理方法、装置、设备和计算机存储介质 | |
CN101350711A (zh) | 对目标进程进行保护的方法和装置 | |
EP3179751A1 (en) | Information sending method and apparatus, terminal device, and system | |
CN113791867B (zh) | 调整kvm虚拟机服务进程优先级的方法及应用 | |
CN103150505A (zh) | 对目标进程进行保护的方法 | |
CN112929254A (zh) | 消息处理方法、装置和电子设备 | |
CN116070240B (zh) | 多芯片调用机制的数据加密处理方法及装置 | |
CN107947935B (zh) | 一种报文的签名方法、系统及终端设备 | |
CN113407044B (zh) | 模拟终端手柄输入的方法、装置、设备、存储介质 | |
CN107315970B (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 | ||
CB02 | Change of applicant information |
Address after: 100190 Beijing City, Haidian District Zhongguancun street, No. 22, building 1301 Applicant after: Beijing Rising Information Technology Co., Ltd Address before: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301 Applicant before: Beijing Rising Information Technology Co., Ltd. |
|
COR | Change of bibliographic data | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130612 |
|
WD01 | Invention patent application deemed withdrawn after publication |