CN101414341A - 一种软件自我保护的方法 - Google Patents

一种软件自我保护的方法 Download PDF

Info

Publication number
CN101414341A
CN101414341A CNA2007101624515A CN200710162451A CN101414341A CN 101414341 A CN101414341 A CN 101414341A CN A2007101624515 A CNA2007101624515 A CN A2007101624515A CN 200710162451 A CN200710162451 A CN 200710162451A CN 101414341 A CN101414341 A CN 101414341A
Authority
CN
China
Prior art keywords
api
operation requests
protection method
software
virtual memory
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.)
Granted
Application number
CNA2007101624515A
Other languages
English (en)
Other versions
CN101414341B (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.)
Beijing net an Technology Limited by Share 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 CN200710162451.5A priority Critical patent/CN101414341B/zh
Publication of CN101414341A publication Critical patent/CN101414341A/zh
Priority to HK09107192.2A priority patent/HK1127420A1/zh
Application granted granted Critical
Publication of CN101414341B publication Critical patent/CN101414341B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种全方位的软件自我保护方法,包括:建立多个钩子来监控多个可应用于受保护软件的操作请求;当所述多个钩子中的至少之一拦截到相关联的操作请求时,判断所拦截到的操作请求是否与受保护软件有关:如果有关,则拒绝所拦截到的操作请求,如果无关,则允许所拦截到的操作请求;其中,所述多个可应用于受保护软件的操作请求包括:可用于篡改文件的操作请求;可用于篡改注册表键值的操作请求;可用于修改内存、读取内存、锁定内存、修改内存属性的操作请求;可用于操作进程的操作请求;可用于结束、挂起线程的操作请求;可用于注入代码的操作请求;可用于注入动态库的操作请求;可用于排队APC的操作请求;可用于模拟消息的操作请求。

Description

一种软件自我保护的方法
技术领域
本发明涉及软件安全,尤其涉及一种全方位的软件自我保护的方法。
技术背景
计算机及网络技术的迅猛发展极大地促进了信息交互。但是,与此同时,计算机病毒也伴随技术的发展而不断地演化更新,时至今日,计算机病毒已经严重威胁到了人们对计算机的正常使用。由此,如何防范病毒侵袭已然成为人们关注的一个焦点。
随着反病毒技术的发展,病毒的手段也在不断变化,二者之间的对抗也愈演愈烈。病毒对抗安全软件的手法也从变形、隐藏而转变为更直接的破坏,试图通过破坏安全软件的部分或全部功能来达到对抗的目的。
目前的各类安全软件在自我保护方面,通常的保护手段是通过文件监控防止病毒对文件的删除、修改等操作,这种单一的保护措施难以防护不断升级的恶意程序对于安全软件的破坏。
所以,针对病毒发展的这种趋势,迫切需要一种软件自我保护的方法来保护安全软件自身不受破坏,从而更有效地发现和清除恶意程序。
发明内容
总结上述问题,我们可以看到,就软件自我保护而言,全面地选择可能被各种病毒侵袭的对象来进行防护是至关重要的,从而在各个方面全方位地保护安全软件自身不受病毒的破坏。因此,本发明提供了一种全方位的软件自我防护方法,包括:建立多个钩子来监控多个可用于攻击受保护软件的操作请求;当所述多个钩子中的至少之一拦截到相关联的操作请求时,判断所拦截到的操作请求是否与受保护软件有关:如果有关,则拒绝所拦截到的操作请求,如果无关,则允许所拦截到的操作请求;其中,所述多个可用于攻击受保护软件的操作请求包括:可用于篡改文件的操作请求;可用于修改内存、读取内存、锁定内存、修改内存属性的操作请求;可用于操作进程的操作请求;可用于结束、挂起线程的操作请求;可用于注入代码的操作请求;可用于注入动态库的操作请求;可用于模拟消息的操作请求。
进一步的,对于Windows操作系统,上述全方位的软件自我防护方法还需要监控以下操作请求:可用于篡改注册表键值的操作请求;可用于排队APC(异步过程调用)的操作请求。
进一步而言,对于要拦截的用于各种操作请求的API集合的选择是至关重要的,关系到安全软件本身是否能够防护各种病毒通过各种途径的侵袭。本发明的一个实施例中提供的受监控API集合包括:文件系统的I/O处理函数:IRP_MJ_CREATE、IRP_MJ_WRITE、IRP_MJ_SET_INFORMATION;用于篡改注册表键值的API:Zw/NtRenameKey、Zw/NtRestoreKey、Zw/NtSetValueKey、Zw/NtDeleteKey、Zw/NtDeleteValueKey;用于写虚拟内存、用于读虚拟内存、用于锁定虚拟内存、用于修改虚拟内存属性的API:Zw/NtWriteVirtualMemory、Zw/NtReadVirtualMemory、Zw/NtLockVirtualMemory、Zw/NtProtectVirtualMemory;用于进程操作的API:Zw/NtSetInformationProcess、Zw/NtTerminateProcess、Zw/NtDebugActiveProcess、Zw/NtRequestWaitReplyPort;用于结束、挂起线程的API:Zw/NtSuspendThread、Zw/NtTerminateThread;用于注入代码的API:Zw/NtWriteVirtualMemory、Zw/NtCreateThread、Zw/NtSetThreadContext、Zw/NtQueueApcThread;用于调用消息钩子的API:KeUserModeCallBack;用于消息操作的API:SendMessage、SendInput。
附图说明
通过结合附图的详细说明,本发明的特征和优点将更加清楚,其中:
图1示例性示出了通过监控可应用于受保护软件的操作请求对软件进行保护的流程图。
具体实施方式
下面结合图1说明按照本发明的全方位软件自我防护策略来实现软件防护的一个具体实施例。
图1示例性示出了通过监控可应用于受保护软件的操作请求对软件进行保护的流程图。在步骤S1中,创建挂钩到某个操作请求的钩子处理例程,用于拦截相关联的操作请求。该操作请求例如可以通过调用API来实现,从而,相应的钩子处理例程通过挂钩这个API进行监控。对于本发明中需要监控的操作请求的集合,可以针对每个操作请求创建相关联的钩子处理例程进行监控。在步骤S2中,当拦截到该操作请求时,例如钩子处理例程拦截到与之关联的API被调用时,在处理该操作请求之前,首先跳转到相关联的钩子处理例程,执行钩子处理例程中的步骤。在步骤S3中,钩子处理例程判断所拦截到的该操作请求是否针对受保护的软件,如果是,则在步骤S4阻止该操作请求,如果否,则在步骤S5允许该操作请求。图1所示的过程并不是唯一的,比如,在允许或拒绝该操作请求之前询问用户,或者在允许或拒绝该API之后向用户显示、进行记录等。
本领域技术人员明了的是,在软件保护领域,对于受保护软件而言,针对各种恶意程序的保护策略以及有针对性选择的受监控API集合是决定软件自我保护是否有效的关键。
下面描述按照本发明的全方位软件自我防护策略来选择受监控API集合从而实现软件防护的一个具体实施例。
1)关于文件操作
本发明的保护策略的一个方面是针对文件的保护。修改或删除安全软件的文件是很常见的恶意程序破坏手段,现有的软件自我保护方法通常是针对这种破坏手段,通过对文件进行监控来实现自我保护。
在本发明的保护策略中,可以通过拦截文件系统驱动的以下I/O请求包(IRP)处理函数来防护恶意程序对于受保护文件的各种操作:
a)IRP_MJ_CREATE:创建、打开文件请求
b)IRP_MJ_WRITE:写文件请求
c)IRP_MJ_SET_INFORMATION:设置文件信息请求,比如删除、移动文件等操作会发起该请求。
通过对上述I/O处理函数的监控,可以有效地防止针对受保护软件的文件删除、修改等操作。
2)关于注册表操作
本发明的保护策略的另一个方面是针对注册表的保护。在Windows操作系统中,很多软件需要依赖注册表中的某些键值,如果这些键值被修改或删除,这些软件便会发生错误。所以有可能通过改写或删除这些键值来破坏某些安全软件的功能。另外,操作系统还有很多注册表键值会影响一个程序的执行,也有可能通过修改这些键值来使安全软件的部分功能失效。
因此,应该防止恶意程序针对安全软件的注册表操作,在本实施例中,通过拦截用于操作注册表、从而有可能被用来攻击注册表的API来保护安全软件。这里针对注册表的保护设计出包含以下API集合的拦截策略,通过拦截该集合中的API来实现对注册表键值的全面保护,防止注册表键值被篡改:
a)Zw/NtRenameKey:重命名一个键
b)Zw/NtRestoreKey:恢复一个已保存到文件中的键
c)Zw/NtSetValueKey:设置键值
d)Zw/NtDeleteKey:删除键
e)Zw/NtDeleteValueKey:删除键值
结合图1所示的监控处理过程,通过挂钩上述用于操作注册表的API,相关联的钩子处理例程通过判断所拦截到的任意上述API是否与受保护软件有关,阻止可以对受保护软件的注册表进行破坏的操作请求。
这里应该注意的是,在现有的操作系统中,只有Windows操作系统具有注册表。因此,就本领域现状而言,对于注册表的保护只是针对Windows操作系统而言的,对于其他操作系统则不需要考虑这个方面。然而,未来可能出现的操作系统中如果具备类似于Windows操作系统中的注册表,则针对这种操作系统的注册表保护策略也在本发明的范围之内。
3)关于内存操作
本发明的保护策略的另一个方面是针对内存的保护。通过锁定、修改、读取内存、修改内存属性等操作,有可能直接攻击安全软件。锁定一般用来在内核态安全地读写用户态内存,当恶意驱动程序需要读写用户态内存时会先锁定这些内存页。另外,通过修改安全软件的内存数据、内存块属性或代码等可以影响安全软件线程的执行,比如隐藏一些对象如文件等,使这些安全软件无法正常工作,或者直接打开安全软件的进程并调用WriteProcessMemory直接修改,也可以通过注入代码或动态库到安全软件的进程来进行修改。
因此,应该防止恶意程序通过内存操作来破坏安全软件,这里通过监控用于操作内存的API来保护安全软件。设计出包含以下API集合的拦截策略,通过拦截该集合的API来防止内存被修改、被读取、被锁定、被修改属性:
a)Zw/NtWriteProcessMemory:写虚拟内存
b)Zw/NtReadProcessMemory:读虚拟内存
c)Zw/NtLockVirtualMemory:锁定虚拟内存
d)Zw/NtProtectVirtualMemory:修改虚拟内存页保护属性
结合图1所示的监控处理过程,通过挂钩上述用于操作内存的API,相关联的钩子处理例程通过判断所拦截到的任意上述API是否与受保护软件有关,进而阻止针对受保护软件的内存操作请求。
4)关于进程操作
本发明的保护策略的另一个方面是针对进程的保护。通过结束安全软件的进程可以阻止安全软件发挥作用,可以通过以下方式来结束安全软件的进程:调用TerminateProcess、结束进程内的所有线程、模拟鼠标点击来点击窗口的关闭按钮。另外,可以通过调试目标进程来控制安全软件的进、线程等,并可以通过停止调试来结束目标进程。
因此,应该防止恶意程序通过进程操作对软件的破坏,这里通过监控用于操作进程的API来保护安全软件。设计出包含以下API集合的拦截策略,通过拦截该集合的API来实现对进程的保护,使恶意程序不能够直接对受保护软件的进程执行任何操作,防止受保护软件的进程被结束和被调试:
a)Zw/NtSetInformationProcess:设置进程属性信息,比如优先级、调试端口、访问权限等
b)Zw/NtTerminateProcess:结束进程
c)Zw/NtDebugActiveProcess:调试进程
d)Zw/NtRequestWaitReplyPort:与本地过程调用相关,调试时会用到该API
结合图1所示的监控处理过程,通过挂钩上述用于操作进程的API,相关联的钩子处理例程通过判断所拦截到的任意上述API是否与受保护软件有关,进而阻止针对受保护软件的进程操作请求。
5)关于线程操作
本发明的保护策略的另一个方面是针对线程的保护。现有的安全软件对进程的防护只做到防止被TerminateThread,所以通过结束线程而实现结束进程的方法有可能被用来攻击这种安全软件。另外,通过挂起安全软件的一些线程可以使安全软件的部分功能失效。
因此,应该防止恶意程序通过结束、挂起线程对软件的破坏,这里通过监控用于结束、挂起线程的API来保护安全软件。通过拦截以下API集合来实现对线程的保护,防止线程被结束、被挂起:
a)Zw/NtTerminateThread:结束线程
b)Zw/NtSuspendThread:挂起线程
结合图1所示的监控处理过程,通过挂钩上述用于操作线程的API,相关联的钩子处理例程通过判断所拦截到的任意上述API是否与受保护软件有关,阻止针对受保护软件的线程操作请求,从而阻止例如结束、挂起线程这样的对线程的任意直接操作。
6)关于排队APC
对于排队APC的防护也是本发明的保护策略的一个方面。APC称为异步过程调用,是一种线程相关的回调机制。当向一个线程的APC队列排队一个APC后,当该线程的一个Alertable等待满足时,APC函数将得以运行。排队APC机制很可能被恶意程序利用来对安全软件进行破坏,例如,当一个Alertable的WaitForSingleObjectEx满足时,恶意程序创建的APC函数运行。这里通过监控用于对一个线程排队APC的以下API来从这个方面保护安全软件:
Zw/NtQueueApcThread:对一个线程排队APC
结合图1所示的监控处理过程,通过挂钩上述用于排队APC的API,相关联的钩子处理例程通过判断所拦截到的上述API是否与受保护软件有关,阻止针对受保护软件的排队APC操作请求。
这里应该注意的是,与上述注册表的情况类似,在现有的操作系统中,只有Windows操作系统具有APC机制。因此,就本领域现状而言,对于排队APC的保护只是针对Windows操作系统而言的,对于其他操作系统则不需要考虑这个方面。然而,未来可能出现的操作系统中如果具备类似于Windows操作系统中的APC机制,则针对这种操作系统关于排队APC方面的保护策略也在本发明的范围之内。
7)关于注入代码
本发明的保护策略的另一个方面是对于注入代码的防护。注入代码通常需要两个步骤:把代码写入目标进程,例如可以通过WriteProcessMemory或在内核态通过KeAttachProcess附加到目标进程后直接写内存;激活远程代码,例如可以通过CreateRemoteThread、或通过APC、或通过设置context的IP(指令指针)来进行激活。
这里通过监控用于注入代码的API来保护安全软件,通过拦截以下API集合来防止针对受保护软件的代码注入:
a)Zw/NtWriteVirtualMemory:写虚拟内存
b)Zw/NtCreateThread:创建本地、远程进程
c)Zw/NtSetThreadContext:设置线程环境,例如寄存器环境
d)Zw/NtQueueApcThread:对一个线程排队APC
其中,通过拦截Zw/NtWriteVirtualMemory来防止把代码直接写入内存,从而防止把代码写入目标进程;并通过拦截Zw/NtCreateThread、Zw/NtSetThreadContext、Zw/NtQueueApcThread来分别防止激活远程代码的上述三种可能方式。
结合图1所示的监控处理过程,通过挂钩上述可用于注入代码的API,相关联的钩子处理例程通过判断所拦截到的任意上述API是否与受保护软件有关,阻止针对受保护软件的操作请求。
8)关于注入动态库
本发明的保护策略的另一个方面是对于注入动态库的防护。注入动态库可以通过两种方式实现:向目标进程写入加载动态库的代码并激活,这与注入代码的手段本质上相同;通过消息钩子注入动态库。
针对通过消息钩子注入动态库对软件的破坏手段,通过拦截KeUserModeCallBack来监控消息钩子调用,从而阻止注入动态库。
结合图1所示的监控处理过程,通过挂钩上述在调用消息钩子时会被调用的API,相关联的钩子处理例程通过判断所拦截到的上述API是否与受保护软件有关,进而阻止针对受保护软件的注入动态库操作请求。
9)关于消息操作
本发明的保护策略的另一个方面是对于消息模拟操作的防护。通过前面的分析可以知道,可以通过模拟鼠标点击消息来模拟点击窗口的关闭按钮,来结束安全软件的进程。然而,模拟消息还可以实现很多恶意行为,如模拟消息来关闭安全软件的提示窗口,使用户无法发现恶意程序的攻击等。
因此应该防止恶意程序通过消息模拟操作对软件的破坏,这里通过监控用于消息操作的API来保护安全软件。设计出包含以下API集合的拦截策略,通过拦截该集合的API来实现对消息模拟的监控,防止通过消息模拟操作来结束受保护软件的进程,以及防止通过消息模拟操作对受保护软件的其他恶意操作:
a)SendMessage:模拟发送消息
b)SendInput:模拟输入
结合图1所示的监控处理过程,通过挂钩上述用于消息操作的API,相关联的钩子处理例程通过判断所拦截到的上述API是否与受保护软件有关,阻止针对受保护软件的消息操作请求。
通过对按照本发明的软件保护策略所选择的上述API的监控,可以全面有效地保护软件免遭恶意程序的各种可能方式的攻击。应该注意,上述各组API集合有可能包含相同的API,这只是为了针对不同的保护方面做出更加清楚的描述,并不影响这些API集合的监视在功能上的实现。
上述各组优选的API集合,对于对应的保护对象是有机的整体,能够全面地提高软件保护的效果。但是,根据本发明的软件保护策略所选择的上述API集合也不是唯一的,例如,可以用具有相同或相似功能的API进行替换,并且,不同版本的操作系统中,执行相同功能的API可能具有不同的名称,因此,不能将本发明限制在具体实施例中所给出的API集合,本发明包含符合本发明原理的所有修改和变形。

Claims (12)

1、一种全方位的软件自我保护方法,包括:
建立多个钩子来监控多个可应用于受保护软件的操作请求;
当所述多个钩子中的至少之一拦截到相关联的操作请求时,判断所拦截到的操作请求是否与受保护软件有关:如果有关,则拒绝所拦截到的操作请求,如果无关,则允许所拦截到的操作请求;
其中,所述多个可应用于受保护软件的操作请求包括:
可用于篡改文件的操作请求;
可用于修改内存、读取内存、锁定内存、修改内存属性的操作请求;
可用于操作进程的操作请求;
可用于结束线程、挂起线程的操作请求;
可用于注入代码的操作请求;
可用于注入动态库的操作请求;
可用于模拟消息的操作请求。
2、如权利要求1所述的全方位的软件自我保护方法,其中,所述多个可应用于受保护软件的操作请求还包括:
可用于篡改注册表键值的操作请求;
可用于排队APC的操作请求。
3、如权利要求2所述的全方位的软件自我保护方法,其中,
监控所述可用于篡改文件的操作请求通过拦截文件系统的I/O处理函数来执行;
监控所述可用于篡改注册表键值的操作请求通过拦截用于篡改注册表键值的API来执行;
监控所述可用于修改内存、读取内存、锁定内存、修改内存属性的操作请求分别通过拦截用于写虚拟内存、用于读虚拟内存、用于锁定虚拟内存、用于修改虚拟内存属性的API来执行;
监控所述可用于操作进程的操作请求通过拦截用于进程操作的API来执行;
监控所述可用于结束、挂起线程的操作请求通过拦截用于结束、挂起线程的API来执行;
监控所述可用于注入代码的操作请求通过拦截用于注入代码的API来执行;
监控所述可用于注入动态库的操作请求通过拦截用于调用消息钩子的API来执行;
监控所述可用于排队APC的操作请求通过拦截用于对线程排队APC的API来执行;
监控所述可用于模拟消息的操作请求通过拦截用于消息操作的API来执行。
4、如权利要求3所述的全方位的软件自我保护方法,其中,所述文件系统的I/O处理函数包括:IRP_MJ_CREATE、IRP_MJ_WRITE、IRP_MJ_SET_INFORMATION。
5、如权利要求3所述的全方位的软件自我保护方法,其中,所述用于篡改注册表键值的API包括:Zw/NtRenameKey、Zw/NtRestoreKey、Zw/NtSetValueKey、Zw/NtDeleteKey、Zw/NtDeleteValueKey。
6、如权利要求3所述的全方位的软件自我保护方法,其中,所述用于写虚拟内存、用于读虚拟内存、用于锁定虚拟内存、用于修改虚拟内存属性的API包括:Zw/NtWriteVirtualMemory、Zw/NtReadVirtualMemory、Zw/NtLockVirtualMemory、Zw/NtProtectVirtualMemory。
7、如权利要求3所述的全方位的软件自我保护方法,其中,所述用于进程操作的API包括:Zw/NtSetInformationProcess、Zw/NtTerminateProcess、Zw/NtDebugActiveProcess、Zw/NtRequestWaitReplyPort。
8、如权利要求3所述的全方位的软件自我保护方法,其中,所述用于结束、挂起线程的API包括:Zw/NtTerminateThread、Zw/NtSuspendThread。
9、如权利要求3所述的全方位的软件自我保护方法,其中,所述用于注入代码的API包括:Zw/NtWriteVirtualMemory、Zw/NtCreateThread、Zw/NtSetThreadContext、Zw/NtQueueApcThread。
10、如权利要求3所述的全方位的软件自我保护方法,其中,所述用于调用消息钩子的API包括:KeUserModeCallBack。
11、如权利要求3所述的全方位的软件自我保护方法,其中,所述用于消息操作的API包括:SendMessage、SendInput。
12、如权利要求3所述的全方位的软件自我保护方法,其中,
所述文件系统的I/O处理函数包括:IRP_MJ_CREATE、IRP_MJ_WRITE、IRP_MJ_SET_INFORMATION;
所述用于篡改注册表键值的API包括:Zw/NtRenameKey、Zw/NtRestoreKey、Zw/NtSetValueKey、Zw/NtDeleteKey、Zw/NtDeleteValueKey;
所述用于写虚拟内存、用于读虚拟内存、用于锁定虚拟内存、用于修改虚拟内存属性的API包括:Zw/NtWriteVirtualMemory、Zw/NtReadVirtualMemory、Zw/NtLockVirtualMemory、Zw/NtProtectVirtualMemory;
所述用于进程操作的API包括:Zw/NtSetInformationProcess、Zw/NtTerminateProcess、Zw/NtDebugActiveProcess、Zw/NtRequestWaitReplyPort;
所述用于结束、挂起线程操作的API包括:Zw/NtSuspendThread、Zw/NtTerminateThread;
所述用于注入代码的API包括:Zw/NtWriteVirtualMemory、Zw/NtCreateThread、Zw/NtSetThreadContext、Zw/NtQueueApcThread;
所述用于调用消息钩子的API包括:KeUserModeCallBack;
所述用于消息操作的API包括:SendMessage、SendInput。
CN200710162451.5A 2007-10-15 2007-10-15 一种软件自我保护的方法 Active CN101414341B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200710162451.5A CN101414341B (zh) 2007-10-15 2007-10-15 一种软件自我保护的方法
HK09107192.2A HK1127420A1 (zh) 2007-10-15 2009-08-05 種軟件自我保護的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710162451.5A CN101414341B (zh) 2007-10-15 2007-10-15 一种软件自我保护的方法

Publications (2)

Publication Number Publication Date
CN101414341A true CN101414341A (zh) 2009-04-22
CN101414341B CN101414341B (zh) 2014-12-10

Family

ID=40594873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710162451.5A Active CN101414341B (zh) 2007-10-15 2007-10-15 一种软件自我保护的方法

Country Status (2)

Country Link
CN (1) CN101414341B (zh)
HK (1) HK1127420A1 (zh)

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872400B (zh) * 2009-04-24 2012-10-17 北京中天安泰信息科技有限公司 建立根据计算系统操作请求关联关系判断计算机操作请求安全性的计算机信息安全防护方法
CN102779030A (zh) * 2011-05-11 2012-11-14 奇智软件(北京)有限公司 一种注册表操作的执行方法及装置
CN102831339A (zh) * 2012-07-19 2012-12-19 北京奇虎科技有限公司 一种针对网页的恶意攻击进行防护的方法、装置和浏览器
CN102880817A (zh) * 2012-08-20 2013-01-16 福建升腾资讯有限公司 计算机软件产品运行保护方法
CN102882875A (zh) * 2012-09-29 2013-01-16 北京奇虎科技有限公司 主动防御方法及装置
WO2014059885A1 (en) * 2012-10-17 2014-04-24 Tencent Technology (Shenzhen) Company Limited Apparatus and method for preventing a virus file from illegally manipulating a device
CN103810419A (zh) * 2014-02-13 2014-05-21 北京宝利明威软件技术有限公司 一种应用防卸载方法和设备
CN104484608A (zh) * 2014-12-16 2015-04-01 北京奇虎科技有限公司 一种应用程序的消息处理方法和装置
CN104978518A (zh) * 2014-10-31 2015-10-14 哈尔滨安天科技股份有限公司 一种拦截pc端获取移动设备屏幕布局操作的方法及系统
CN105488386A (zh) * 2014-10-13 2016-04-13 腾讯科技(深圳)有限公司 一种iOS终端的防护方法及终端
CN105700931A (zh) * 2016-02-23 2016-06-22 北京蓝海讯通科技股份有限公司 一种代码注入方法及装置
CN105760233A (zh) * 2016-02-24 2016-07-13 北京金山安全软件有限公司 一种进程处理方法及装置
CN105786456A (zh) * 2014-12-22 2016-07-20 迈普通信技术股份有限公司 一种实现VxWorks任务钩子函数功能的方法及装置
CN105844158A (zh) * 2016-04-27 2016-08-10 北京金山安全软件有限公司 一种保护窗口的方法、装置和电子设备
CN105893847A (zh) * 2016-04-22 2016-08-24 北京金山安全软件有限公司 一种保护安全防护应用程序文件的方法、装置及电子设备
CN105975851A (zh) * 2016-04-27 2016-09-28 北京金山安全软件有限公司 一种进程处理方法及装置
CN106022109A (zh) * 2016-05-18 2016-10-12 北京金山安全软件有限公司 一种防止线程暂停的方法、装置及电子设备
CN106022015A (zh) * 2016-05-18 2016-10-12 北京金山安全软件有限公司 一种防止进程暂停的方法、装置及电子设备
CN106126282A (zh) * 2016-06-20 2016-11-16 北京金山安全软件有限公司 一种动态链接库文件的注入方法、装置及终端设备
CN106169044A (zh) * 2016-06-29 2016-11-30 北京金山安全软件有限公司 一种保护线程数据的方法、装置及电子设备
CN106169049A (zh) * 2016-07-12 2016-11-30 北京金山安全软件有限公司 一种处理线程注册的方法、装置及电子设备
CN106203115A (zh) * 2016-07-11 2016-12-07 北京金山安全软件有限公司 一种应用程序的防护方法、装置及电子设备
CN106203093A (zh) * 2016-06-30 2016-12-07 北京金山安全软件有限公司 进程保护方法、装置以及终端
CN106203109A (zh) * 2016-06-29 2016-12-07 北京金山安全软件有限公司 一种安全保护处理方法、装置及电子设备
CN106203090A (zh) * 2016-06-29 2016-12-07 北京金山安全软件有限公司 线程的保护方法、装置及电子设备
CN106201032A (zh) * 2016-07-13 2016-12-07 北京金山安全软件有限公司 修改鼠标双击间隔时间的处理方法、装置及电子设备
CN106228062A (zh) * 2016-07-12 2016-12-14 北京金山安全软件有限公司 一种处理进程注册的方法、装置及电子设备
CN106228064A (zh) * 2016-07-27 2016-12-14 宇龙计算机通信科技(深圳)有限公司 一种应用进程的保护方法和装置
CN106682493A (zh) * 2015-11-06 2017-05-17 珠海市君天电子科技有限公司 一种防止进程被恶意结束的方法、装置及电子设备
CN106778231A (zh) * 2016-12-22 2017-05-31 江苏神州信源系统工程有限公司 一种实现安卓系统中的应用程序安全管理方法
CN106778234A (zh) * 2015-11-19 2017-05-31 珠海市君天电子科技有限公司 应用程序的防护方法及装置
CN106980797A (zh) * 2017-03-24 2017-07-25 北京奇虎科技有限公司 一种实现文件保护的方法、装置和计算设备
CN107949846A (zh) * 2015-06-27 2018-04-20 迈可菲有限责任公司 恶意线程挂起的检测
CN108062475A (zh) * 2016-11-08 2018-05-22 武汉安天信息技术有限责任公司 一种恶意代码识别装置及方法
CN110677483A (zh) * 2019-09-29 2020-01-10 北京可信华泰信息技术有限公司 信息处理系统和可信安全管理系统
CN110688653A (zh) * 2019-09-29 2020-01-14 北京可信华泰信息技术有限公司 客户端的安全防护方法及装置、终端设备
CN110737892A (zh) * 2018-07-20 2020-01-31 武汉斗鱼网络科技有限公司 一种针对apc注入的检测方法和相关装置
CN111400674A (zh) * 2020-03-12 2020-07-10 北京北信源软件股份有限公司 一种基于Hook技术的安全软件自我防护方法及装置
CN115344834A (zh) * 2022-10-19 2022-11-15 北京网藤科技有限公司 应用安全运行方法、装置、电子设备和计算机可读介质
WO2022252609A1 (zh) * 2021-05-31 2022-12-08 三六零科技集团有限公司 插件防护方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1624617A (zh) * 2003-12-03 2005-06-08 株式会社因卡网络 阻断对游戏进程非法访问以及操作游戏进程的方法
CN101005497A (zh) * 2006-11-27 2007-07-25 科博技术有限公司 一种阻止恶意代码入侵的系统及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146575A (en) * 1986-11-05 1992-09-08 International Business Machines Corp. Implementing privilege on microprocessor systems for use in software asset protection
CN1983296B (zh) * 2005-12-12 2010-09-08 北京瑞星信息技术有限公司 用于防止非法程序窃取用户信息的方法及装置
CN101017522A (zh) * 2006-04-14 2007-08-15 北京瑞星国际软件有限公司 防止移动终端被病毒侵害的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1624617A (zh) * 2003-12-03 2005-06-08 株式会社因卡网络 阻断对游戏进程非法访问以及操作游戏进程的方法
CN101005497A (zh) * 2006-11-27 2007-07-25 科博技术有限公司 一种阻止恶意代码入侵的系统及方法

Cited By (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872400B (zh) * 2009-04-24 2012-10-17 北京中天安泰信息科技有限公司 建立根据计算系统操作请求关联关系判断计算机操作请求安全性的计算机信息安全防护方法
CN102779030A (zh) * 2011-05-11 2012-11-14 奇智软件(北京)有限公司 一种注册表操作的执行方法及装置
CN102779030B (zh) * 2011-05-11 2015-08-19 奇智软件(北京)有限公司 一种注册表操作的执行方法及装置
CN102831339B (zh) * 2012-07-19 2015-05-27 北京奇虎科技有限公司 一种针对网页的恶意攻击进行防护的方法、装置和浏览器
CN102831339A (zh) * 2012-07-19 2012-12-19 北京奇虎科技有限公司 一种针对网页的恶意攻击进行防护的方法、装置和浏览器
CN102880817A (zh) * 2012-08-20 2013-01-16 福建升腾资讯有限公司 计算机软件产品运行保护方法
CN102882875A (zh) * 2012-09-29 2013-01-16 北京奇虎科技有限公司 主动防御方法及装置
CN102882875B (zh) * 2012-09-29 2015-06-10 北京奇虎科技有限公司 主动防御方法及装置
WO2014059885A1 (en) * 2012-10-17 2014-04-24 Tencent Technology (Shenzhen) Company Limited Apparatus and method for preventing a virus file from illegally manipulating a device
CN103778369A (zh) * 2012-10-17 2014-05-07 腾讯科技(深圳)有限公司 防止病毒文件对用户设备进行非法操作的装置及方法
CN103778369B (zh) * 2012-10-17 2016-12-21 腾讯科技(深圳)有限公司 防止病毒文件对用户设备进行非法操作的装置及方法
CN103810419A (zh) * 2014-02-13 2014-05-21 北京宝利明威软件技术有限公司 一种应用防卸载方法和设备
CN103810419B (zh) * 2014-02-13 2018-01-05 北京宝利明威软件股份有限公司 一种应用防卸载方法和设备
CN105488386A (zh) * 2014-10-13 2016-04-13 腾讯科技(深圳)有限公司 一种iOS终端的防护方法及终端
CN105488386B (zh) * 2014-10-13 2020-05-05 腾讯科技(深圳)有限公司 一种iOS终端的防护方法及终端
CN104978518A (zh) * 2014-10-31 2015-10-14 哈尔滨安天科技股份有限公司 一种拦截pc端获取移动设备屏幕布局操作的方法及系统
CN104978518B (zh) * 2014-10-31 2018-07-06 哈尔滨安天科技股份有限公司 一种拦截pc端获取移动设备屏幕布局操作的方法及系统
CN104484608A (zh) * 2014-12-16 2015-04-01 北京奇虎科技有限公司 一种应用程序的消息处理方法和装置
CN105786456B (zh) * 2014-12-22 2018-10-12 迈普通信技术股份有限公司 一种实现VxWorks任务钩子函数功能的方法及装置
CN105786456A (zh) * 2014-12-22 2016-07-20 迈普通信技术股份有限公司 一种实现VxWorks任务钩子函数功能的方法及装置
CN107949846A (zh) * 2015-06-27 2018-04-20 迈可菲有限责任公司 恶意线程挂起的检测
CN106682493A (zh) * 2015-11-06 2017-05-17 珠海市君天电子科技有限公司 一种防止进程被恶意结束的方法、装置及电子设备
CN106682493B (zh) * 2015-11-06 2019-08-27 珠海豹趣科技有限公司 一种防止进程被恶意结束的方法、装置及电子设备
CN106778234A (zh) * 2015-11-19 2017-05-31 珠海市君天电子科技有限公司 应用程序的防护方法及装置
CN105700931A (zh) * 2016-02-23 2016-06-22 北京蓝海讯通科技股份有限公司 一种代码注入方法及装置
CN105760233A (zh) * 2016-02-24 2016-07-13 北京金山安全软件有限公司 一种进程处理方法及装置
CN105893847B (zh) * 2016-04-22 2019-01-25 珠海豹趣科技有限公司 一种保护安全防护应用程序文件的方法、装置及电子设备
CN105893847A (zh) * 2016-04-22 2016-08-24 北京金山安全软件有限公司 一种保护安全防护应用程序文件的方法、装置及电子设备
CN105975851A (zh) * 2016-04-27 2016-09-28 北京金山安全软件有限公司 一种进程处理方法及装置
CN105975851B (zh) * 2016-04-27 2019-02-12 珠海豹趣科技有限公司 一种进程处理方法及装置
CN105844158A (zh) * 2016-04-27 2016-08-10 北京金山安全软件有限公司 一种保护窗口的方法、装置和电子设备
CN106022109A (zh) * 2016-05-18 2016-10-12 北京金山安全软件有限公司 一种防止线程暂停的方法、装置及电子设备
CN106022015B (zh) * 2016-05-18 2019-10-15 珠海豹趣科技有限公司 一种防止进程暂停的方法、装置及电子设备
CN106022015A (zh) * 2016-05-18 2016-10-12 北京金山安全软件有限公司 一种防止进程暂停的方法、装置及电子设备
CN106126282A (zh) * 2016-06-20 2016-11-16 北京金山安全软件有限公司 一种动态链接库文件的注入方法、装置及终端设备
CN106203109B (zh) * 2016-06-29 2019-08-27 珠海豹趣科技有限公司 一种安全保护处理方法、装置及电子设备
CN106169044B (zh) * 2016-06-29 2019-12-10 珠海豹趣科技有限公司 一种保护线程数据的方法、装置及电子设备
CN106203090B (zh) * 2016-06-29 2019-07-26 珠海豹趣科技有限公司 线程的保护方法、装置及电子设备
CN106203090A (zh) * 2016-06-29 2016-12-07 北京金山安全软件有限公司 线程的保护方法、装置及电子设备
CN106203109A (zh) * 2016-06-29 2016-12-07 北京金山安全软件有限公司 一种安全保护处理方法、装置及电子设备
CN106169044A (zh) * 2016-06-29 2016-11-30 北京金山安全软件有限公司 一种保护线程数据的方法、装置及电子设备
CN106203093A (zh) * 2016-06-30 2016-12-07 北京金山安全软件有限公司 进程保护方法、装置以及终端
CN106203115B (zh) * 2016-07-11 2019-04-09 珠海豹趣科技有限公司 一种应用程序的防护方法、装置及电子设备
CN106203115A (zh) * 2016-07-11 2016-12-07 北京金山安全软件有限公司 一种应用程序的防护方法、装置及电子设备
CN106169049B (zh) * 2016-07-12 2019-04-09 珠海豹趣科技有限公司 一种处理线程注册的方法、装置及电子设备
CN106169049A (zh) * 2016-07-12 2016-11-30 北京金山安全软件有限公司 一种处理线程注册的方法、装置及电子设备
CN106228062B (zh) * 2016-07-12 2019-04-26 珠海豹趣科技有限公司 一种处理进程注册的方法、装置及电子设备
CN106228062A (zh) * 2016-07-12 2016-12-14 北京金山安全软件有限公司 一种处理进程注册的方法、装置及电子设备
CN106201032B (zh) * 2016-07-13 2019-04-30 珠海豹趣科技有限公司 修改鼠标双击间隔时间的处理方法、装置及电子设备
CN106201032A (zh) * 2016-07-13 2016-12-07 北京金山安全软件有限公司 修改鼠标双击间隔时间的处理方法、装置及电子设备
CN106228064A (zh) * 2016-07-27 2016-12-14 宇龙计算机通信科技(深圳)有限公司 一种应用进程的保护方法和装置
CN108062475A (zh) * 2016-11-08 2018-05-22 武汉安天信息技术有限责任公司 一种恶意代码识别装置及方法
CN106778231A (zh) * 2016-12-22 2017-05-31 江苏神州信源系统工程有限公司 一种实现安卓系统中的应用程序安全管理方法
CN106980797A (zh) * 2017-03-24 2017-07-25 北京奇虎科技有限公司 一种实现文件保护的方法、装置和计算设备
CN110737892B (zh) * 2018-07-20 2021-11-09 武汉斗鱼网络科技有限公司 一种针对apc注入的检测方法和相关装置
CN110737892A (zh) * 2018-07-20 2020-01-31 武汉斗鱼网络科技有限公司 一种针对apc注入的检测方法和相关装置
CN110677483A (zh) * 2019-09-29 2020-01-10 北京可信华泰信息技术有限公司 信息处理系统和可信安全管理系统
CN110688653A (zh) * 2019-09-29 2020-01-14 北京可信华泰信息技术有限公司 客户端的安全防护方法及装置、终端设备
CN111400674A (zh) * 2020-03-12 2020-07-10 北京北信源软件股份有限公司 一种基于Hook技术的安全软件自我防护方法及装置
WO2022252609A1 (zh) * 2021-05-31 2022-12-08 三六零科技集团有限公司 插件防护方法、装置、设备及存储介质
CN115344834A (zh) * 2022-10-19 2022-11-15 北京网藤科技有限公司 应用安全运行方法、装置、电子设备和计算机可读介质

Also Published As

Publication number Publication date
CN101414341B (zh) 2014-12-10
HK1127420A1 (zh) 2009-09-25

Similar Documents

Publication Publication Date Title
CN101414341B (zh) 一种软件自我保护的方法
US10706151B2 (en) Systems and methods for tracking malicious behavior across multiple software entities
US4918653A (en) Trusted path mechanism for an operating system
US8959642B2 (en) Real time lockdown
US8065728B2 (en) Malware prevention system monitoring kernel events
US8074281B2 (en) Malware detection with taint tracking
AU2006210698B2 (en) Intrusion detection for computer programs
Schrammel et al. Jenny: Securing Syscalls for {PKU-based} Memory Isolation Systems
Chen et al. Privwatcher: Non-bypassable monitoring and protection of process credentials from memory corruption attacks
EP4095724A1 (en) Method of remediating operations performed by a program and system thereof
CN107908958B (zh) SELinux安全标识符防篡改检测方法及系统
US11960598B2 (en) Runtime memory protection (RMP) engine
CN103996004B (zh) 一种基于虚拟化的高可用系统设计方法
Huang et al. Return-oriented vulnerabilities in ARM executables
WO2022185031A1 (en) Methods and systems for detecting and blocking malicious actions in an operating system
Aggarwal et al. Monitoring the security health of software systems
Sparks et al. Windows Rootkits a game of" hide and seek"
Liao et al. A stack-based lightweight approach to detect kernel-level rookits
Van Eyck et al. Mr-TEE: Practical Trusted Execution of Mixed-Criticality Code
Wang Practical Protection of Binary Applications via Transparent Immunization
Xu et al. Analysis of buffer overflow exploits and prevention strategies
Goel A comprehensive Analysis of Kernel Exploits for the Linux Operating System

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1127420

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.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1127420

Country of ref document: HK

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

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

Patentee after: Beijing Rising Information Technology Co., Ltd

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

Patentee before: Beijing Rising Information Technology Co., Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

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

Patentee after: Beijing net an Technology Limited by Share Ltd

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

Patentee before: Beijing Rising Information Technology Co., Ltd