CN106022100A - 一种拦截恶意程序安装的方法、装置及电子设备 - Google Patents
一种拦截恶意程序安装的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN106022100A CN106022100A CN201610327338.7A CN201610327338A CN106022100A CN 106022100 A CN106022100 A CN 106022100A CN 201610327338 A CN201610327338 A CN 201610327338A CN 106022100 A CN106022100 A CN 106022100A
- Authority
- CN
- China
- Prior art keywords
- file
- registry entry
- program
- directory
- created
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施例公开一种拦截恶意程序安装的方法、装置及电子设备,涉及计算机安全技术领域,能够通过阻止恶意程序创建目录和/或注册表项,解决现有技术拦截恶意程序不全面的问题。所述方法包括:监控系统中程序安装进程将要创建目录和/或注册表项的事件消息;其中,所述事件消息中包括待创建的目录路径和/或注册表项;判断预先设置的可配置文件中,是否记录有所述待创建的目录路径和/或注册表项;若所述可配置文件中记录有所述待创建的目录路径和/或注册表项,则阻止所述程序安装进程创建目录和/或注册表项。本发明适用于阻止恶意程序的安装。
Description
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种拦截恶意程序安装的方法、装置及电子设备。
背景技术
随着互联网技术发展,软件数量也在海量增长,用户通过各种途径下载在计算机上安装的软件,虽然有些是正规软件,但是正规软件也有可能推广安装一些恶意程序,如果恶意程序安装在用户计算机上,后果是不可估量的,因此,需要在安装软件时识别中其中的恶意程序并阻止其安装。
现有的恶意程序拦截方案,是在进程创建软件的时候做挂钩函数做恶意程序进程运行的拦截,原理是根据恶意程序的安装包名称进行拦截,但是,如果恶意程序安装包随意换个名称,就无法实现对恶意程序的安装拦截。虽然现有方案中可以配置需要拦截的恶意程序的安装包名称,但是可以配置的安装包名称也是已知的有限个固定名称,仍旧无法拦截安装包名称随机的恶意程序,因此,现有的恶意程序拦截方案会存在容易漏拦恶意程序,拦截不全面的问题。
发明内容
有鉴于此,本发明实施例提供一种拦截恶意程序安装的方法、装置及电子设备,对恶意程序的安装拦截更加全面有效。
第一方面,本发明实施例提供一种拦截恶意程序安装的方法,包括:
监控系统中程序安装进程将要创建目录和/或注册表项的事件消息;其中,所述事件消息中包括待创建的目录路径和/或注册表项;
判断预先设置的可配置文件中,是否记录有所述待创建的目录路径和/或注册表项;其中,可配置文件记录有阻止创建的目录路径和/或者注册表项;
若所述可配置文件中记录有所述待创建的目录路径和/或注册表项,则阻止所述程序安装进程创建目录和/或注册表项。
结合第一方面,在第一方面的第一种实施方式中,所述系统为Windows操作系统;
所述监控系统中程序安装进程将要创建目录的事件消息之前,所述方法还包括:预先设置绑定所述Windows操作系统的文件系统的文件系统过滤驱动程序,所述文件系统过滤驱动程序用于驱动文件打开例程;
所述监控系统中程序安装进程将要创建目录的事件消息,包括:通过所述文件系统过滤驱动程序监控所述系统中程序安装进程将要创建目录的事件消息。
结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述判断预先设置的可配置文件中,是否记录有所述待创建的目录路径,包括:
通过所述文件打开例程读取预先设置的可配置文件中记录的所有阻止创建的目录路径并保存在第一链表中;所述第一链表的每个节点数据为可配置文件中记录的一个阻止创建的目录路径;
依次判断所述第一链表中的节点数据是否与所述待创建的目录路径相同,若所述第一链表中存在与所述待创建的目录路径相同的节点数据,则确定所述可配置文件中记录有所述待创建的目录路径,否则,则确定所述可配置文件中未记录所述待创建的目录路径。
结合第一方面的第二种实施方式,在第一方面的第三种实施方式中,所述阻止所述程序安装进程创建目录,包括:
所述文件系统过滤驱动程序调用IRP的完成函数IoCompleteRequest结束所述文件打开例程,并返回给Windows操作系统的文件系统。
结合第一方面,在第一方面的第四种实施方式中,所述系统为Windows操作系统;
所述监控系统中程序安装进程将要创建目录和/或注册表项的事件消息之前,所述方法还包括:预先设置挂钩用于设置及修改注册表键值的函数NtSetvalueKey的钩子函数;
所述监控系统中程序安装进程将要创建注册表项的事件消息,包括:通过所述钩子函数监控所述系统中程序安装进程将要创建注册表项的事件消息。
结合第一方面的第四种实施方式,在第一方面的第五种实施方式中,所述判断预先设置的可配置文件中,是否记录有所述待创建的注册表项,包括:
通过所述钩子函数读取预先设置的可配置文件中记录的所有阻止创建的注册表项并保存在第二链表中;所述第二链表的每个节点数据为可配置文件中记录的一个阻止创建的注册表项;
依次判断所述第二链表中的节点数据是否与所述待创建的注册表项相同,若所述第二链表中存在与所述待创建的注册表项相同的节点数据,则确定所述可配置文件中记录有所述待创建的注册表项,否则,则确定所述可配置文件中未记录所述待创建的注册表项。
结合第一方面的第五种实施方式,在第一方面的第六种实施方式中,所述阻止所述程序安装进程创建注册表项,包括:
停止执行Windows操作系统中的原始NtSetvalueKey函数。
结合第一方面或第一方面的第一种实施方式或第一方面的第二种实施方式或第一方面的第三种实施方式或第一方面的第四种实施方式或第一方面的第五种实施方式或第一方面的第六种实施方式,在第一方面的第七种实施方式中,在所述监控系统中程序安装进程将要创建目录和/或注册表项的事件消息之前,还包括:
统计已知恶意程序创建的目录路径和/或注册表项;
根据统计到的数据编写所述可配置文件。
第二方面,本发明实施例提供一种拦截恶意程序安装的装置,包括:
监控模块,用于监控系统中程序安装进程将要创建目录和/或注册表项的事件消息并将所述事件消息发送给判断模块;其中,所述事件消息中包括待创建的目录路径和/或注册表项;
判断模块,用于判断预先设置的可配置文件中,是否记录有收到的所述事件消息中的待创建的目录路径和/或注册表项,在判断出所述可配置文件中记录有所述待创建的目录路径和/或注册表项时,向拦截模块发送拦截指令;其中,可配置文件记录有阻止创建的目录路径和/或者注册表项;
拦截模块,用于根据收到的拦截指令,阻止所述程序安装进程创建目录和/或注册表项。
结合第二方面,在第二方面的第一种实施方式中,所述监控模块包括:
目录监控子模块,用于预先设置与Windows操作系统的文件系统绑定的文件系统过滤驱动程序并存储,所述文件系统过滤驱动程序用于驱动文件打开例程;所述目录监控子模块还用于通过所述文件系统过滤驱动程序监控Windows操作系统中程序安装进程将要创建目录的事件消息,并将所述系统中程序安装进程将要创建目录的事件消息发送给所述判断模块。
结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述判断模块包括:
第一链表生成子模块,用于通过所述文件打开例程读取预先设置的可配置文件中记录的所有阻止创建的目录路径,生成第一链表并保存;所述第一链表的每个节点数据为可配置文件中记录的一个阻止创建的目录路径;
第一判断子模块,用于在收到所述系统中程序安装进程将要创建目录的事件消息时,依次判断所述第一链表生成子模块保存的第一链表中的节点数据是否与所述事件消息中记录的待创建的目录路径相同,若所述第一链表中存在与所述待创建的目录路径相同的节点数据,则向所述拦截模块发送拦截指令。
结合第二方面的第二种实施方式,在第二方面的第三种实施方式中,所述拦截模块根据收到的拦截指令,通过所述目录监控子模块中设置的所述文件系统过滤驱动程序调用IRP的完成函数IoCompleteRequest结束所述文件打开例程,并返回给Windows操作系统的文件系统,以阻止所述程序安装进程创建目录。
结合第二方面,在第二方面的第四种实施方式中,所述监控模块包括:
注册表监控子模块,用于预先设置Windows操作系统中挂钩用于设置及修改注册表键值的函数NtSetvalueKey函数的钩子函数并存储,所述注册表监控子模块还用于通过所述钩子函数监控Windows操作系统中程序安装进程将要创建注册表项的事件消息,并将所述系统中程序安装进程将要创建注册表项的事件消息发送给所述判断模块。
结合第二方面的第四种实施方式,在第二方面的第五种实施方式中,所述判断模块包括:
第二链表生成子模块,用于通过所述钩子函数读取预先设置的可配置文件中记录的所有阻止创建的注册表项,生成第二链表并保存;所述第二链表的每个节点数据为可配置文件中记录的一个阻止创建的注册表项;
第二判断子模块,用于在收到所述系统中程序安装进程将要创建注册表项的事件消息时,依次判断所述第二链表生成子模块保存的第二链表中的节点数据是否与所述事件消息中记录的待创建的注册表项相同,若所述第二链表中存在与所述待创建的注册表项相同的节点数据,则向所述拦截模块发送拦截指令。
结合第二方面的第五种实施方式,在第二方面的第六种实施方式中,所述拦截模块根据收到的拦截指令,通过停止执行Windows操作系统中的原始NtSetvalueKey函数,以阻止所述程序安装进程创建注册表项。
结合第二方面或第二方面的第一种实施方式或第二方面的第二种实施方式或第三方面的第五种实施方式或第二方面的第四种实施方式或第二方面的第五种实施方式或第二方面的第六种实施方式,在第二方面的第七种实施方式中,所述拦截恶意程序安装的装置还包括:
可配置文件生成模块,用于预先统计已知恶意程序创建的目录路径和/或注册表项,根据统计到的数据生成可配置文件并存储。
第三方面,本发明提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施方式所述的拦截恶意程序安装的方法。
本发明实施例提供的一种拦截恶意程序安装方法、装置及电子设备,通过阻止恶意程序创建目录和/或注册表项,解决了现有技术中拦截恶意程序不全面的问题。同时,拦截目录和注册表项可不断完善,达到方便维护的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明拦截恶意程序安装的方法实施例一的流程示意图;
图2为本发明拦截恶意程序安装的方法实施例二的流程示意图;
图3为本发明拦截恶意程序安装的方法实施例三的流程示意图;
图4为本发明拦截恶意程序安装的装置实施例一的结构示意图;
图5为本发明拦截恶意程序安装的装置实施例二的结构示意图;
图6为本发明拦截恶意程序安装的装置实施例三的结构示意图;
图7为本发明拦截恶意程序安装的装置实施例四的结构示意图;
图8为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例一种拦截恶意程序安装方案进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明拦截恶意程序安装方法实施例一的流程示意图,如图1所示,本实施例的方法可以包括:
步骤101、监控系统中程序安装进程将要创建目录和/或注册表项的事件消息;其中,事件消息中包括待创建的目录路径和/或注册表项。
本实施例中,恶意程序在安装时,将创建特定的目录和/或注册表项,由于恶意程序几乎无法做到随机变换安装目录和安装注册表项,故通过对系统中程序安装进程创建目录和/或注册表项事件的监控,监控创建目录和/或注册表项信息,若所述目录和/或注册表项为恶意程序创建的特定目录路径和/或注册表项,则阻止所述程序安装进程创建目录和/或注册表项,从而实现对恶意程序安装的全面拦截。
步骤102、判断预先设置的可配置文件中,是否记录有当前事件消息中待创建的目录路径和/或注册表项,是则执行步骤103,否则执行步骤104;其中,可配置文件记录有阻止创建的目录路径和/或者注册表项。
本实施例中,可配置文件的格式例如可以如下:
<item type=″1″,path=″C:\\dsak″/>
<item type=″2″,reg=″HKEY_LOCAL_MACHINE\\SOFTWARE\\ahxki″/>
Type=1代表是配置的是目录,path是恶意程序创建的目录路径;
Type=2代表是配置的是注册表项,reg是创建恶意程序是创建的注册表项;
一个<item>是一个拦截项,此可配置文件可以不断完善增加,方便后续做更多的恶意程序拦截。
步骤103、阻止程序安装进程创建目录和/或注册表项。
本实施例中,通过阻止程序安装进程创建目录和/或注册表项,达到拦截恶意程序安装的目的。
步骤104、允许程序安装进程创建目录和/或注册表项。
本实施例中,通过阻止恶意程序创建目录和/或注册表项,解决现有拦截恶意程序不全面的问题。同时,拦截目录和/或注册表项可不断完善,达到方便维护的目的。
图2为本发明拦截恶意程序安装方法实施例二的流程示意图,本实施例提供的方法适用于Windows操作系统,如图2所示,本实施例的方法可以包括:
步骤201、预先设置绑定Windows操作系统的文件系统的文件系统过滤驱动程序,该文件系统过滤驱动程序用于驱动文件打开例程。
本实施例中,通过预先设置绑定Windows操作系统的文件系统的文件系统过滤驱动程序,可以在系统安装进程调用创建目录CreateFile函数创建文件或目录时,接收到IRP-MJ-CREAT的I/O请求包(IRP:I/O Request Package),其中上层应用程序与底层文件系统过滤驱动程序通信时,应用程序会发出I/O请求,操作系统将该请求转化为相应的IRP数据结构。文件系统过滤驱动程序接收到IRP-MJ-CREAT后,将会传递给自定义的例程函数IrpCreate进行处理。
步骤202、通过文件系统过滤驱动程序监控系统中程序安装进程将要创建目录的事件消息。
本实施例中,由于恶意程序的目录创建也会执行到IrpCreate例程函数,因此,可以通过文件系统过滤驱动程序驱动监控系统中程序安装进程将要创建目录的事件消息。
步骤203、通过文件打开例程读取预先设置的可配置文件中记录的所有阻止创建的目录路径并保存在第一链表中;其中,第一链表的每个节点数据为可配置文件中记录的一个阻止创建的目录路径。
本实施例中,当可配置化文件为实施例一提供的格式时,在IrpCreate例程函数中,读取可配置化文件获取Type=1的所有数据(有可能有多个item的数据),数据保存到一个第一链表中。
步骤204、依次判断第一链表中的节点数据是否与待创建的目录路径相同,若第一链表中存在与待创建的目录路径相同的节点数据,则确定可配置文件中记录有待创建的目录路径并执行步骤205,否则,则确定可配置文件中未记录待创建的目录路径,并执行步骤206。
本实施例中,从IrpCreate例程函数的参数中获取到当前待创建的目录路径,匹配待创建的目录路径是否和第一链表节点中的path相同,相同认为待创建的目录是需要拦截的。
步骤205、文件系统过滤驱动程序调用IRP的完成函数IoCompleteRequest结束文件打开例程,并返回给Windows操作系统的文件系统。
本实施例中,文件系统过滤驱动程序调用函数IoCompleteRequest完成IrpCreate函数例程,并返回给Windows操作系统的文件系统;这样Wndows操作系统的文件系统得知目录创建已经处理完成,就不会往磁盘写数据;这样目录创建实质上就会中止了,失败了。优选地,为了更好展示拦截了什么安装包,拦截的是什么恶意程序,可以通过调用获取当前操作进程的标识值函数PsGetCurrentProcessId和查询进程信息函数ZwQueryInformationProcess获取到当前安装的进程名,即是恶意程序安装包进程名。
步骤206、允许程序安装进程创建目录。
本实施例中,通过阻止恶意程序创建目录,解决现有拦截恶意程序不全面的问题。同时,拦截目录可不断完善,达到方便维护的目的。
图3为本发明拦截恶意程序安装方法实施例三的流程示意图,本实施例提供的方法适用于Windows操作系统,如图3所示,本实施例的方法可以包括:
步骤301、预先设置挂钩用于设置及修改注册表键值的函数NtSetvalueKey的钩子函数。
本实施例中,由于Windows操作系统中注册表项的创建,是执行到内核函数NtSetvalueKey,所以挂钩内核函数NtSetvalueKey可以实现注册表项的创建拦截;其中,挂钩方法为找到系统服务描述符表(SSDT:System ServicesDescriptor Table)的NtSetvalueKey函数,保存原始NtSetvalueKey函数地址,定义一个NewNtSetvalueKey函数替换原始NtSetvalueKey函数地址,实现了NewNtSetvalueKey函数的挂钩,钩子函数是NewNtSetvalueKey。
步骤302、通过钩子函数监控系统中程序安装进程将要创建注册表项的事件消息。
本实施例中,由于钩子函数挂钩了NtSetvalueKey内核函数,因此在程序安装进程要创建注册表项时,钩子函数可监控到该事件消息。
步骤303、通过钩子函数读取预先设置的可配置文件中记录的所有阻止创建的注册表项并保存在第二链表中;其中,第二链表的每个节点数据为可配置文件中记录的一个阻止创建的注册表项。
本实施例中,读取可配置化文件,例如,当可配置化文件为实施例一提供的格式时,获取Type=2的所有数据(有可能有多个item的数据),将获取的数据保存到一个第二链表中。
步骤304、依次判断第二链表中的节点数据是否与待创建的注册表项相同,若第二链表中存在与待创建的注册表项相同的节点数据,则确定可配置文件中记录有待创建的注册表项并执行步骤305,否则,则确定可配置文件中未记录待创建的注册表项并执行步骤306。
在该实施例中,从NewNtSetvalueKey的参数中获取到待创建的注册表项,匹配待创建的注册表项是否和第二链表节点中的reg相同,相同则认为待创建的注册表项是需要拦截的。
步骤305、停止执行Windows操作系统中的NtSetvalueKey函数。
在该实施例中,NewNtSetvalueKey函数退出,不执行NtSetvalueKey函数,恶意程序创建注册表项就会失败。另外,为了更好展示拦截了什么安装包,是什么恶意程序,同样可通过调用内核函数PsGetCurrentProcessId和ZwQueryInformationProcess获取到当前安装的进程名,即是恶意程序安装包进程名。
步骤306、执行Windows操作系统中的NtSetvalueKey函数。
本实施例中,正常不需要拦截创建注册表项的情况下,继续调用执行NtSetvalueKey函数,创建注册表项就会成功。
本实施例中,通过阻止恶意程序创建注册表项,解决现有拦截恶意程序不全面的问题。同时,拦截目录可不断完善,达到方便维护的目的。
优选地,图1~图3中任一个所示方法实施例的技术方案中,在所述监控系统中程序安装进程将要创建目录和/或注册表项的事件消息之前,还包括:统计已知恶意程序创建的目录路径和/或注册表项;根据统计到的数据编写所述可配置文件。
本实施例中,可配置化文件的数据来源,是经过安全防御软件长期的统计分析,得到的恶意程序的创建目录,或者注册表项,所以只要匹配了这些目录或者注册表创建,即可认为是恶意程序在创建目录和注册表项,因为没有任何正常的软件会创建这些目录和注册表项。
对应于本发明实施例提供的拦截恶意程序安装的方法,本发明实施例还提供了拦截恶意程序安装的装置。
图4为本发明拦截恶意程序安装的装置实施例一的结构示意图,如图4所示,本实施例一提供的装置可以包括:监控模块11、判断模块12和拦截模块13;
监控模块11,用于监控系统中程序安装进程将要创建目录和/或注册表项的事件消息并将所述事件消息发送给判断模块12;其中,事件消息中包括待创建的目录路径和/或注册表项;
判断模块12,用于判断预先设置的可配置文件中,是否记录有收到的事件消息中的待创建的目录路径和/或注册表项,在判断出可配置文件中记录有待创建的目录路径和/或注册表项时,向拦截模块发送拦截指令;其中,可配置文件记录有阻止创建的目录路径和/或者注册表项;
拦截模块13,用于根据收到的拦截指令,阻止程序安装进程创建目录和/或注册表项。
本实施例一的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本发明拦截恶意程序安装的装置实施例二的结构示意图,如图5所示,在图4所示实施例的基础上,监控模块11包括:目录监控子模块111,用于预先设置与Windows操作系统的文件系统绑定的文件系统过滤驱动程序并存储,所述文件系统过滤驱动程序用于驱动文件打开例程;目录监控子模块111还用于通过文件打开例程接收Windows操作系统中程序安装进程将要创建目录的事件消息,并将系统中程序安装进程将要创建目录的事件消息发送给判断模块12。
判断模块12包括第一链表生成子模块21和第一判断子模块22;其中,第一链表生成子模块21,用于通过文件打开例程读取预先设置的可配置文件中记录的所有阻止创建的目录路径,生成第一链表并保存;其中,第一链表的每个节点数据为可配置文件中记录的一个阻止创建的目录路径;第一判断子模块22,用于在收到系统中程序安装进程将要创建目录的事件消息时,依次判断第一链表生成子模块保存的第一链表中的节点数据是否与事件消息中记录的待创建的目录路径相同,若第一链表中存在与待创建的目录路径相同的节点数据,则向拦截模块13发送拦截指令。
拦截模块13根据收到的拦截指令,通过目录监控子模块111中设置的所述文件系统过滤驱动程序调用IoCompleteRequest函数结束文件打开例程,以阻止程序安装进程创建目录。
本实施例二的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明拦截恶意程序安装的装置实施例三的结构示意图,如图6所示,在图4所示实施例的基础上,监控模块11包括:注册表监控子模块112,用于预先设置Windows操作系统中挂钩NtSetvalueKey函数的钩子函数并存储,注册表监控子模块112还用于通过钩子函数监控Windows操作系统中程序安装进程将要创建注册表项的事件消息,并将系统中程序安装进程将要创建注册表项的事件消息发送给判断模块12。
判断模块12包括第二链表生成子模块31和第二判断子模块32;其中,第二链表生成子模块31,用于通过钩子函数读取预先设置的可配置文件中记录的所有阻止创建的注册表项,生成第二链表并保存;其中,第二链表的每个节点数据为可配置文件中记录的一个阻止创建的注册表项;第二判断子模块32,用于在收到系统中程序安装进程将要创建注册表项的事件消息时,依次判断第二链表生成子模块31保存的第二链表中的节点数据是否与事件消息中记录的待创建的注册表项相同,若第二链表中存在与待创建的注册表项相同的节点数据,则向拦截模块13发送拦截指令。
拦截模块13根据收到的拦截指令,通过停止执行Windows操作系统中的原始NtSetvalueKey函数,以阻止程序安装进程创建注册表项。
本实施例三的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本发明拦截恶意程序安装的装置实施例四的结构示意图,如图7所示,本实施例四的装置在图4所示装置结构的基础上,还包括:可配置文件生成模块14,用于预先统计已知恶意程序创建的目录路径和/或注册表项,根据统计到的数据生成可配置文件并存储。
本发明实施例还提供一种电子设备。图8为本发明电子设备一个实施例的结构示意图,可以实现本发明图1或图2或图3所示实施例的流程,如图8所示,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的拦截恶意程序安装的方法。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放模块(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种拦截恶意程序安装的方法,其特征在于,包括:
监控系统中程序安装进程将要创建目录和/或注册表项的事件消息;其中,所述事件消息中包括待创建的目录路径和/或注册表项;
判断预先设置的可配置文件中,是否记录有所述待创建的目录路径和/或注册表项;其中,可配置文件记录有阻止创建的目录路径和/或者注册表项;
若所述可配置文件中记录有所述待创建的目录路径和/或注册表项,则阻止所述程序安装进程创建目录和/或注册表项。
2.根据权利要求1所述拦截恶意程序安装的方法,其特征在于,所述系统为Windows操作系统;
所述监控系统中程序安装进程将要创建目录和/或注册表项的事件消息之前,所述方法还包括:预先设置绑定所述Windows操作系统的文件系统的文件系统过滤驱动程序,所述文件系统过滤驱动程序用于驱动文件打开例程;
所述监控系统中程序安装进程将要创建目录的事件消息,包括:通过所述文件系统过滤驱动程序监控所述系统中程序安装进程将要创建目录的事件消息。
3.根据权利要求2所述拦截恶意程序安装的方法,其特征在于,所述判断预先设置的可配置文件中,是否记录有所述待创建的目录路径,包括:
通过所述文件打开例程读取预先设置的可配置文件中记录的所有阻止创建的目录路径并保存在第一链表中;所述第一链表的每个节点数据为可配置文件中记录的一个阻止创建的目录路径;
依次判断所述第一链表中的节点数据是否与所述待创建的目录路径相同,若所述第一链表中存在与所述待创建的目录路径相同的节点数据,则确定所述可配置文件中记录有所述待创建的目录路径,否则,则确定所述可配置文件中未记录所述待创建的目录路径。
4.根据权利要求3所述拦截恶意程序安装的方法,其特征在于,所述阻止所述程序安装进程创建目录,包括:
所述文件系统过滤驱动程序调用IRP的完成函数IoCompleteRequest结束所述文件打开例程,并返回给Windows操作系统的文件系统。
5.根据权利要求1所述拦截恶意程序安装的方法,其特征在于,所述系统为Windows操作系统;
所述监控系统中程序安装进程将要创建目录和/或注册表项的事件消息之前,所述方法还包括:预先设置挂钩用于设置及修改注册表键值的函数NtSetvalueKey的钩子函数;
所述监控系统中程序安装进程将要创建注册表项的事件消息,包括:通过所述钩子函数监控所述系统中程序安装进程将要创建注册表项的事件消息。
6.根据权利要求5所述的拦截恶意程序安装的方法,其特征在于,所述判断预先设置的可配置文件中,是否记录有所述待创建的注册表项,包括:
通过所述钩子函数读取预先设置的可配置文件中记录的所有阻止创建的注册表项并保存在第二链表中;所述第二链表的每个节点数据为可配置文件中记录的一个阻止创建的注册表项;
依次判断所述第二链表中的节点数据是否与所述待创建的注册表项相同,若所述第二链表中存在与所述待创建的注册表项相同的节点数据,则确定所述可配置文件中记录有所述待创建的注册表项,否则,则确定所述可配置文件中未记录所述待创建的注册表项。
7.根据权利要求6所述拦截恶意程序安装的方法,其特征在于,所述阻止所述程序安装进程创建注册表项,包括:
停止执行Windows操作系统中的原始NtSetvalueKey函数。
8.根据权利要求1至7任一项所述的拦截恶意程序安装的方法,其特征在于,在所述监控系统中程序安装进程将要创建目录和/或注册表项的事件消息之前,还包括:
统计已知恶意程序创建的目录路径和/或注册表项;
根据统计到的数据编写所述可配置文件。
9.一种拦截恶意程序安装的装置,其特征在于,包括:
监控模块,用于监控系统中程序安装进程将要创建目录和/或注册表项的事件消息;其中,所述事件消息中包括待创建的目录路径和/或注册表项;
判断模块,用于判断预先设置的可配置文件中,是否记录有所述监控模块收到的所述事件消息中的待创建的目录路径和/或注册表项;其中,可配置文件记录有阻止创建的目录路径和/或者注册表项;
拦截模块,用于当所述判断模块判断出所述可配置文件中记录有所述待创建的目录路径和/或注册表项时,阻止所述程序安装进程创建目录和/或注册表项。
10.根据权利要求9所述拦截恶意程序安装的装置,其特征在于,所述监控模块包括:
目录监控子模块,用于预先设置与Windows操作系统的文件系统绑定的文件系统过滤驱动程序,所述文件系统过滤驱动程序用于驱动文件打开例程;所述目录监控子模块还用于通过所述文件系统过滤驱动程序监控Windows操作系统中程序安装进程将要创建目录的事件消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610327338.7A CN106022100A (zh) | 2016-05-17 | 2016-05-17 | 一种拦截恶意程序安装的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610327338.7A CN106022100A (zh) | 2016-05-17 | 2016-05-17 | 一种拦截恶意程序安装的方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106022100A true CN106022100A (zh) | 2016-10-12 |
Family
ID=57097338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610327338.7A Pending CN106022100A (zh) | 2016-05-17 | 2016-05-17 | 一种拦截恶意程序安装的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106022100A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459879A (zh) * | 2018-01-17 | 2018-08-28 | 宇龙计算机通信科技(深圳)有限公司 | 一种防止终端死机的方法、终端 |
CN108734006A (zh) * | 2018-05-25 | 2018-11-02 | 山东华软金盾软件股份有限公司 | 一种禁用 Windows 安装程序的方法 |
WO2019119850A1 (zh) * | 2017-12-21 | 2019-06-27 | 中兴通讯股份有限公司 | 一种部署应用软件的方法、装置及虚拟机 |
CN110674504A (zh) * | 2019-09-25 | 2020-01-10 | 杭州安恒信息技术股份有限公司 | 针对windows下的恶意程序清理方法以及装置 |
CN111783087A (zh) * | 2020-06-02 | 2020-10-16 | Oppo广东移动通信有限公司 | 可执行文件恶意执行的检测方法及装置、终端、存储介质 |
CN115794564A (zh) * | 2023-02-07 | 2023-03-14 | 北京江民新科技术有限公司 | 进程监视方法和计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667236A (zh) * | 2008-09-02 | 2010-03-10 | 北京瑞星国际软件有限公司 | 一种控制驱动程序安装的方法和装置 |
CN102004877A (zh) * | 2010-11-19 | 2011-04-06 | 珠海市君天电子科技有限公司 | 监控计算机病毒来源的方法 |
CN103019765A (zh) * | 2012-11-15 | 2013-04-03 | 北京奇虎科技有限公司 | 一种文件重定向方法、装置和计算机系统 |
CN103235913A (zh) * | 2013-04-03 | 2013-08-07 | 北京奇虎科技有限公司 | 一种用于识别、拦截捆绑软件的系统、设备及方法 |
CN104679638A (zh) * | 2013-12-02 | 2015-06-03 | 中国银联股份有限公司 | 一种基于文件属性匹配度监控文件的方法和装置 |
CN104915593A (zh) * | 2014-03-14 | 2015-09-16 | 北京奇虎科技有限公司 | 对软件的去捆绑处理方法及系统 |
US9203862B1 (en) * | 2012-07-03 | 2015-12-01 | Bromium, Inc. | Centralized storage and management of malware manifests |
-
2016
- 2016-05-17 CN CN201610327338.7A patent/CN106022100A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667236A (zh) * | 2008-09-02 | 2010-03-10 | 北京瑞星国际软件有限公司 | 一种控制驱动程序安装的方法和装置 |
CN102004877A (zh) * | 2010-11-19 | 2011-04-06 | 珠海市君天电子科技有限公司 | 监控计算机病毒来源的方法 |
US9203862B1 (en) * | 2012-07-03 | 2015-12-01 | Bromium, Inc. | Centralized storage and management of malware manifests |
CN103019765A (zh) * | 2012-11-15 | 2013-04-03 | 北京奇虎科技有限公司 | 一种文件重定向方法、装置和计算机系统 |
CN103235913A (zh) * | 2013-04-03 | 2013-08-07 | 北京奇虎科技有限公司 | 一种用于识别、拦截捆绑软件的系统、设备及方法 |
CN104679638A (zh) * | 2013-12-02 | 2015-06-03 | 中国银联股份有限公司 | 一种基于文件属性匹配度监控文件的方法和装置 |
CN104915593A (zh) * | 2014-03-14 | 2015-09-16 | 北京奇虎科技有限公司 | 对软件的去捆绑处理方法及系统 |
Non-Patent Citations (1)
Title |
---|
吴家碚等: "结构体与共同体", 《C语言程序设计与应用(高职)》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019119850A1 (zh) * | 2017-12-21 | 2019-06-27 | 中兴通讯股份有限公司 | 一种部署应用软件的方法、装置及虚拟机 |
CN108459879A (zh) * | 2018-01-17 | 2018-08-28 | 宇龙计算机通信科技(深圳)有限公司 | 一种防止终端死机的方法、终端 |
CN108734006A (zh) * | 2018-05-25 | 2018-11-02 | 山东华软金盾软件股份有限公司 | 一种禁用 Windows 安装程序的方法 |
CN110674504A (zh) * | 2019-09-25 | 2020-01-10 | 杭州安恒信息技术股份有限公司 | 针对windows下的恶意程序清理方法以及装置 |
CN111783087A (zh) * | 2020-06-02 | 2020-10-16 | Oppo广东移动通信有限公司 | 可执行文件恶意执行的检测方法及装置、终端、存储介质 |
CN115794564A (zh) * | 2023-02-07 | 2023-03-14 | 北京江民新科技术有限公司 | 进程监视方法和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106022100A (zh) | 一种拦截恶意程序安装的方法、装置及电子设备 | |
CN102110220B (zh) | 一种应用程序监控方法及装置 | |
CN106790001B (zh) | 基于统一界面的多系统角色权限管理方法及系统 | |
CN102236764B (zh) | 用于Android系统的抵御桌面信息攻击的方法和监控系统 | |
CN106970978A (zh) | 数据共享方法及装置 | |
WO2007133024A1 (en) | Method and apparatus for searching rights object and mapping method and mapping apparatus for the same | |
CN102024121A (zh) | 平台安全设备及其方法 | |
CN106201468A (zh) | 一种截屏的处理方法、装置及电子设备 | |
CN103294950A (zh) | 一种基于反向追踪的高威窃密恶意代码检测方法及系统 | |
CN108170485A (zh) | 一种插件加载方法、装置及移动终端 | |
CN106169047A (zh) | 一种监控摄像头打开的方法、装置及电子设备 | |
CN101102259A (zh) | 网络访问控制系统及方法 | |
JP2009530748A (ja) | 電子装置のidを判断する方法 | |
CN102760096A (zh) | 测试用数据的生成方法、单元测试方法以及单元测试系统 | |
CN108319849A (zh) | 基于安卓双容器系统的设备策略管理系统及管理域实现方法 | |
CN107566375B (zh) | 访问控制方法和装置 | |
CN106022120A (zh) | 文件监控处理方法、装置及电子设备 | |
CN102469083A (zh) | 一种用户认证的方法、装置及企业系统 | |
CN106355100A (zh) | 一种安全保护系统及方法 | |
CN106022090A (zh) | 一种用户登录信息处理方法、装置及电子设备 | |
CN103729604B (zh) | 一种用户访问区域的方法和装置 | |
CN106127050A (zh) | 一种防止系统光标被恶意修改的方法、装置及电子设备 | |
CN105956475A (zh) | Dll文件的拦截处理方法、装置及电子设备 | |
CN106203114A (zh) | 一种应用程序的防护方法、装置及电子设备 | |
CN106022109A (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: 20190118 Address after: 519031 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, No. 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: 20161012 |
|
RJ01 | Rejection of invention patent application after publication |