一种代码检测方法、装置、电子设备及存储介质制造方法及图纸

技术编号:19545755 阅读:43 留言:0更新日期:2018-11-24 20:56
本发明专利技术的实施例公开一种代码检测方法、装置、电子设备及存储介质。该方法包括:当监测到系统分配第一内存时,确定所述第一内存是否具有可执行权限;若所述第一内存具有可执行权限,分析所述第一内存中存储的第一代码的第一加载过程;若所述第一加载过程与所述系统对应的标准加载过程不同,记录所述第一内存的地址,并对所述第一代码进行病毒检测,得到第一检测结果;若所述第一检测结果为所述第一代码为恶意代码,则终止执行所述第一代码,并根据记录的所述第一内存的地址删除所述第一内存中存储的所述第一代码。该方法可以针对通过无实体加载代码的方式加载的代码进行检测,降低支持无实体加载代码的方式的设备的安全风险。

A Code Detection Method, Device, Electronic Equipment and Storage Media

An embodiment of the present invention discloses a code detection method, device, electronic device and storage medium. The method includes: determining whether the first memory has executable privileges when the system allocates the first memory; analyzing the first loading process of the first code stored in the first memory if the first memory has executable privileges; and loading the standard corresponding to the system if the first loading process has been loaded. The first memory address is recorded and virus detection is performed on the first memory to obtain the first detection result. If the first detection result is malicious code, the execution of the first code is terminated and the first memory memory memory memory memory memory memory memory memory is deleted according to the address of the first memory recorded. Save the first code of the said. This method can detect the code loaded by the way of non-entity loading code, and reduce the security risk of equipment that supports the way of non-entity loading code.

【技术实现步骤摘要】
一种代码检测方法、装置、电子设备及存储介质
本专利技术涉及通信
,尤其涉及一种代码检测方法、装置、电子设备及存储介质。
技术介绍
目前病毒检测技术大都以静态检测和动态行为分析为主。其中,静态检测为根据代码的特征来区分是否为恶意代码。动态行为分析为对代码对应的行为进行分析来区分是否为恶意代码,例如,在沙箱中执行代码,在执行代码过程中,如果出现异常行为,则确定代码为恶意代码。无论是静态检测还是动态行为分析,都是针对承载在实体介质(如,光盘、移动硬盘等)上的代码,并且在代码执行前,对代码进行分析。目前,高级恶意代码威胁都采用无实体加载代码的方式,即采用一个无害的loader程序,再根据远端的配置在内存中自动执行恶意代码,从而逃过了针对代码的静态检测和动态行为分析。因此,对于支持这种无实体加载代码的方式的设备而言,存在较高的安全风险。
技术实现思路
有鉴于此,本专利技术实施例提供一种代码检测方法、装置、电子设备及存储介质,可以针对通过无实体加载代码的方式加载的代码进行检测,降低支持无实体加载代码的方式的设备的安全风险。在第一方面,本专利技术实施例提供一种代码检测方法,该方法包括:当监测到系统分配第一内存时,确定所述第一内存是否具有可执行权限;若所述第一内存具有可执行权限,分析所述第一内存中存储的第一代码的第一加载过程;若所述第一加载过程与所述系统对应的标准加载过程不同,记录所述第一内存的地址,并对所述第一代码进行病毒检测,得到第一检测结果;若所述第一检测结果为所述第一代码为恶意代码,则终止执行所述第一代码,并根据记录的所述第一内存的地址删除所述第一内存中存储的所述第一代码。优选的,所述分析所述第一内存中存储的第一代码的第一加载过程,包括:分析所述第一加载过程对应的堆栈;若所述堆栈中记录函数调用顺序与所述系统对应的代码加载时的标准函数调用顺序相同,则确定所述第一加载过程与所述系统对应的标准加载过程相同;若所述堆栈中记录函数调用顺序与所述系统对应的代码加载时的标准函数调用顺序不同,则确定所述第一加载过程与所述系统对应的标准加载过程不同。优选的,所述方法还包括:若所述第一检测结果为所述第一代码为非恶意代码,则将所述第一代码中的认证信息添加至白名单。优选的,所述记录所述第一内存的地址,并对所述第一代码进行病毒检测,得到第一检测结果,包括:若所述白名单中不包括所述第一代码中的认证信息,则记录所述第一内存的地址,并对所述第一代码进行病毒检测,得到第一检测结果。优选的,所述方法还包括:当监测到系统准备释放第二内存时,确定所述第二内存是否具有可执行权限;若所述第二内存不具有可执行权限,则释放所述第二内存;若所述第二内存具有可执行权限,确定是否记录过所述第二内存的地址;若记录过所述第二内存的地址,则释放所述第二内存;若未记录过所述第二内存的地址,则在释放所述第二内存之前,记录所述第二内存的地址,并对所述第二内存中存储的第二代码进行病毒检测,得到检测结果。优选的,在所述记录所述第一内存的地址之后,所述方法还包括:输出用于提示可疑代码的提示信息,所述提示信息包括:所述第一内存的地址。在第二方面,本专利技术实施例提供一种代码检测装置,该装置包括:确定单元,用于当监测到系统分配第一内存时,确定所述第一内存是否具有可执行权限;分析单元,用于若所述第一内存具有可执行权限,分析所述第一内存中存储的第一代码的第一加载过程;检测单元,用于若所述第一加载过程与所述系统对应的标准加载过程不同,记录所述第一内存的地址,并对所述第一代码进行病毒检测,得到第一检测结果;终止单元,用于若所述第一检测结果为所述第一代码为恶意代码,则终止执行所述第一代码,并根据记录的所述第一内存的地址删除所述第一内存中存储的所述第一代码。优选的,所述分析单元具体用于:分析所述第一加载过程对应的堆栈;若所述堆栈中记录函数调用顺序与所述系统对应的代码加载时的标准函数调用顺序相同,则确定所述第一加载过程与所述系统对应的标准加载过程相同;若所述堆栈中记录函数调用顺序与所述系统对应的代码加载时的标准函数调用顺序不同,则确定所述第一加载过程与所述系统对应的标准加载过程不同。优选的,所述装置还包括:添加单元,用于若所述第一检测结果为所述第一代码为非恶意代码,则将所述第一代码中的认证信息添加至白名单。优选的,所述检测单元具体用于:若所述第一加载过程与所述系统对应的标准加载过程不同且所述白名单中不包括所述第一代码中的认证信息,则记录所述第一内存的地址,并对所述第一代码进行病毒检测,得到第一检测结果。优选的,所述确定单元,还用于当监测到系统准备释放第二内存时,确定所述第二内存是否具有可执行权限;所述装置还包括:释放单元,用于若所述第二内存不具有可执行权限,则释放所述第二内存;所述确定单元,还用于若所述第二内存具有可执行权限,确定是否记录过所述第二内存的地址;所述释放单元,还用于若记录过所述第二内存的地址,则释放所述第二内存;所述检测单元还用于,若未记录过所述第二内存的地址,则在释放所述第二内存之前,记录所述第二内存的地址,并对所述第二内存中存储的第二代码进行病毒检测,得到检测结果。优选的,所述装置还包括:输出单元,用于在所述记录所述第一内存的地址之后,输出用于提示可疑代码的提示信息,所述提示信息包括:所述第一内存的地址。在第三方面,本专利技术实施例提供一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述第一方面中所述的代码检测方法。在第四方面,本专利技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述第一方面所述的代码检测方法。本专利技术实施例提供的一种代码检测方法、装置、电子设备及存储介质,可以在确定系统分配了具有可执行权限的内存后,根据加载过程判断当前的加载方式,通常如果是无实体加载代码,则代码的加载过程与系统对应的标准加载过程是不同的,因此如果当前的加载过程与系统对应的标准加载过程不同,便可以确定当前的加载方式即为无实体加载,从而可以针对通过无实体加载代码的方式加载的代码进行检测,当检测出代码为恶意代码时,终止执行该代码,从而降低支持无实体加载代码的方式的设备的安全风险。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术的实施例提供的一种代码检测方法的流程示意图;图2为本专利技术的实施例提供的另一种代码检测方法的流程示意图;图3为本专利技术的实施例提供的又一种代码检测方法的流程示意图;图4为本专利技术的实施例提供的一种代码检测装置的结构示意图;图5为本专利技术的实施例提供的另一种代码检测装置的结构示意图;图6为本专利技术的实施例提供的又一种代码检测本文档来自技高网...

【技术保护点】
1.一种代码检测方法,其特征在于,所述方法包括:当监测到系统分配第一内存时,确定所述第一内存是否具有可执行权限;若所述第一内存具有可执行权限,分析所述第一内存中存储的第一代码的第一加载过程;若所述第一加载过程与所述系统对应的标准加载过程不同,记录所述第一内存的地址,并对所述第一代码进行病毒检测,得到第一检测结果;若所述第一检测结果为所述第一代码为恶意代码,则终止执行所述第一代码,并根据记录的所述第一内存的地址删除所述第一内存中存储的所述第一代码。

【技术特征摘要】
1.一种代码检测方法,其特征在于,所述方法包括:当监测到系统分配第一内存时,确定所述第一内存是否具有可执行权限;若所述第一内存具有可执行权限,分析所述第一内存中存储的第一代码的第一加载过程;若所述第一加载过程与所述系统对应的标准加载过程不同,记录所述第一内存的地址,并对所述第一代码进行病毒检测,得到第一检测结果;若所述第一检测结果为所述第一代码为恶意代码,则终止执行所述第一代码,并根据记录的所述第一内存的地址删除所述第一内存中存储的所述第一代码。2.根据权利要求1所述的方法,其特征在于,所述分析所述第一内存中存储的第一代码的第一加载过程,包括:分析所述第一加载过程对应的堆栈;若所述堆栈中记录函数调用顺序与所述系统对应的代码加载时的标准函数调用顺序相同,则确定所述第一加载过程与所述系统对应的标准加载过程相同;若所述堆栈中记录函数调用顺序与所述系统对应的代码加载时的标准函数调用顺序不同,则确定所述第一加载过程与所述系统对应的标准加载过程不同。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述第一检测结果为所述第一代码为非恶意代码,则将所述第一代码中的认证信息添加至白名单。4.根据权利要求3所述的方法,其特征在于,所述记录所述第一内存的地址,并对所述第一代码进行病毒检测,得到第一检测结果,包括:若所述白名单中不包括所述第一代码中的认证信息,则记录所述第一内存的地址,并对所述第一代码进行病毒检测,得到第一检测结果。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:当监测到系统准备释放第二内存时,确定所述第二内存是否具有可执行权限;若所述第二内存不具有可执行权限,则释放所述第二内存;若所述第二内存具有可执行权限,确定是否记录过所述第二内存的地址;若记录过所述第二内存的地址,则释放所述第二内存;若未记录过所述第二内存的地址,则在释放所述第二内存之前,记录所述第二内存的地址,并对所述第二内存中存储的第二代码进行病毒检测,得到检测结果。6.根据权利要求1-5任一所述的方法,其特征在于,在所述记录所述第一内存的地址之后,所述方法还包括:输出用于提示可疑代码的提示信息,所述提示信息包括:所述第一内存的地址。7.一种代码检测装置,其特征在于,所述装置包括:确定单元,用于当监测到系统分配第一内存时,确定所述第一内存是否具有可执行权限;分析单元,用于若所述第一内存具有可执行权限,分析所述第一内存中存储的第一代码的第一加载过程;检测单元,用于若所述第一加载过程与所述系统对应的标准加载过程不同,记录所述第一内存的地址,并对所述第一代码进行病毒检测,得...

【专利技术属性】
技术研发人员:李鹏黄显澍王小丰肖新光
申请(专利权)人:哈尔滨安天科技股份有限公司
类型:发明
国别省市:黑龙江,23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1