CN101350711A - 对目标进程进行保护的方法和装置 - Google Patents

对目标进程进行保护的方法和装置 Download PDF

Info

Publication number
CN101350711A
CN101350711A CNA2007101803182A CN200710180318A CN101350711A CN 101350711 A CN101350711 A CN 101350711A CN A2007101803182 A CNA2007101803182 A CN A2007101803182A CN 200710180318 A CN200710180318 A CN 200710180318A CN 101350711 A CN101350711 A CN 101350711A
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
Application number
CNA2007101803182A
Other languages
English (en)
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.)
Beijing Rising Information Technology Co Ltd
Original Assignee
Beijing Rising International Software Co 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 Beijing Rising International Software Co Ltd filed Critical Beijing Rising International Software Co Ltd
Priority to CNA2007101803182A priority Critical patent/CN101350711A/zh
Publication of CN101350711A publication Critical patent/CN101350711A/zh
Pending legal-status Critical Current

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(
    INHWND 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 (13)

1、一种用于对目标进程进行保护的方法,包括步骤:
(a)接收一个模拟输入信息的请求;
(b)响应于该请求,获得有关与该请求相对应的目标进程的标识;
(c)根据该标识,确定是否响应该请求而执行该输入信息的操作。
2、如权利要求1所述的方法,其中的步骤(c)包括:
(c1)根据所述标识,判断所述目标进程是否属于受保护的进程;
(c2)若所述目标进程属于所述受保护的进程,则可有选择地响应所述请求而执行所述输入信息的操作。
3、如权利要求2所述的方法,其中的步骤(c2)包括:
若所述目标进程属于所述受保护的进程,则可根据一个来自用户的指示信息来确定是否响应所述请求而执行所述输入信息的操作。
4、如权利要求2所述的方法,其中的步骤(c2)包括:
若所述目标进程属于所述受保护的进程,则可根据一个预定规则来确定是否响应所述请求而执行所述输入信息的操作。
5、如权利要求1所述的方法,其中,所述输入信息的操作是通过对驱动层函数进行调用而实现的,该方法还包括步骤:
监视所述驱动层函数是否被调用,以响应于所述请求,获得所述目标进程的标识。
6、如权利要求5所述的方法,其中,在Windows系统中,所述驱动层函数是Win32k.sys中的NtUserSendInput。
7、如权利要求6所述的方法,其中所述步骤(b)包括:
调用系统函数中可获得焦点窗口的句柄的函数,以获得焦点窗口的句柄;
根据该句柄,调用系统函数中可获得目标进程标识的函数,以获得所述目标进程的标识。
8、一种用于对目标进程进行保护的方法,包括步骤:
(a)接收一个欲在目标窗口中设置信息的请求;
(b)响应于该请求,获得有关与该请求相对应的目标进程的标识;
(c)根据该标识,确定是否允许在所述目标窗口中设置信息。
9、如权利要求8所述的方法,其中的步骤(c)包括:
(c1)根据所述标识,判断所述目标进程是否属于受保护的进程;
(c2)若所述目标进程属于所述受保护的进程,则有选择地允许执行在所述目标窗口中设置信息的操作。
10、如权利要求9所述的方法,其中的步骤(c2)包括:
若所述目标进程属于所述受保护的进程,则可根据一个来自用户的指示信息来确定是否执行在目标窗口中设置信息的操作。
11、如权利要求9所述的方法,其中的步骤(c2)包括:
若所述目标进程属于所述受保护的进程,则可根据一个预定规则来确定是否执行在目标窗口中设置信息的操作。
12、如权利要求8所述的方法,其中,在所述目标窗口中设置信息操作是通过对驱动层函数进行调用而实现的,当所述驱动层函数被调用时,响应于所述请求,获得所述目标进程的标识。
13、如权利要求12所述的方法,其中,在Windows系统中,所述驱动层函数是Win32k.sys中的NtUserMessageCall,并通过该驱动层函数中的参数hwnd,可获得所述标识。
CNA2007101803182A 2007-10-15 2007-10-15 对目标进程进行保护的方法和装置 Pending CN101350711A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007101803182A CN101350711A (zh) 2007-10-15 2007-10-15 对目标进程进行保护的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007101803182A CN101350711A (zh) 2007-10-15 2007-10-15 对目标进程进行保护的方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2013100366456A Division CN103150505A (zh) 2007-10-15 2007-10-15 对目标进程进行保护的方法

Publications (1)

Publication Number Publication Date
CN101350711A true CN101350711A (zh) 2009-01-21

Family

ID=40269315

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007101803182A Pending CN101350711A (zh) 2007-10-15 2007-10-15 对目标进程进行保护的方法和装置

Country Status (1)

Country Link
CN (1) CN101350711A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022109A (zh) * 2016-05-18 2016-10-12 北京金山安全软件有限公司 一种防止线程暂停的方法、装置及电子设备
CN106022015A (zh) * 2016-05-18 2016-10-12 北京金山安全软件有限公司 一种防止进程暂停的方法、装置及电子设备
CN109800571A (zh) * 2018-12-29 2019-05-24 360企业安全技术(珠海)有限公司 事件处理方法和装置、以及存储介质和电子装置
WO2022252609A1 (zh) * 2021-05-31 2022-12-08 三六零科技集团有限公司 插件防护方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022109A (zh) * 2016-05-18 2016-10-12 北京金山安全软件有限公司 一种防止线程暂停的方法、装置及电子设备
CN106022015A (zh) * 2016-05-18 2016-10-12 北京金山安全软件有限公司 一种防止进程暂停的方法、装置及电子设备
CN109800571A (zh) * 2018-12-29 2019-05-24 360企业安全技术(珠海)有限公司 事件处理方法和装置、以及存储介质和电子装置
WO2022252609A1 (zh) * 2021-05-31 2022-12-08 三六零科技集团有限公司 插件防护方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN108023808B (zh) 应用程序中的消息分发方法及装置
KR101209951B1 (ko) 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법
CN110659206B (zh) 基于微服务的模拟架构建立方法、装置、介质及电子设备
EP2728918B1 (en) Method for detecting interception behaviour and terminal device
CN110991368B (zh) 相机场景识别方法及相关装置
CN103636166A (zh) 与请求-答复消息排队环境关联的动态数据保护策略
CN108650667B (zh) 终端调度方法和装置
CN113067817B (zh) 一种设备激活方法及装置
CN106790523A (zh) 一种消息推送方法及服务器
CN1869927B (zh) 设备控制器、控制设备的方法及其程序
WO2020135188A1 (zh) 消息读取状态的提示方法、装置和电子设备
CN108763892A (zh) 权限管理方法、装置、移动终端以及存储介质
CN101350711A (zh) 对目标进程进行保护的方法和装置
CN110557499B (zh) 信息处理方法、装置及移动终端
CN106357654B (zh) 远程过程调用方法、装置及通信系统
CN106980531A (zh) 输入法操作处理方法和装置
CN109388388B (zh) 功能模块间的信息交互方法、装置、设备及存储介质
JP2018088162A (ja) 情報処理装置及び情報処理方法、並びにプログラム
CN108052401B (zh) 系统属性监听方法、终端设备及计算机可读存储介质
CN115550498B (zh) 投屏方法、装置、设备和存储介质
CN103150505A (zh) 对目标进程进行保护的方法
WO2018196613A1 (zh) 一种基于功能开关的应用程序控制方法、装置、服务器及介质
CN105446803A (zh) 一种应用程序管理方法和装置
CN113891441A (zh) 网络连接方法、装置和电子设备
CN113542231A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1124457

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: BEIJING RISING INTERNATIONAL TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: BEIJING RISING INTERNATIONAL SOFTWARE CO., LTD.

Effective date: 20100413

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 ROOM 1305, ZHONGKE BUILDING, NO.22, ZHONGGUANCUN AVENUE, BEIJING CITY TO: 100190 ROOM 1301, ZHONGKE BUILDING, NO.22, ZHONGGUANCUN AVENUE, HAIDIAN DISTRICT, BEIJING CITY

TA01 Transfer of patent application right

Effective date of registration: 20100413

Address after: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Applicant after: Beijing Rising Information Technology Co., Ltd.

Address before: 100080, room 1305, Zhongke building, 22 Zhongguancun street, Beijing

Applicant before: Beijing Rising International Software Co., Ltd.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20090121

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1124457

Country of ref document: HK