CN109101815A - 一种恶意软件检测方法及相关设备 - Google Patents

一种恶意软件检测方法及相关设备 Download PDF

Info

Publication number
CN109101815A
CN109101815A CN201810851519.9A CN201810851519A CN109101815A CN 109101815 A CN109101815 A CN 109101815A CN 201810851519 A CN201810851519 A CN 201810851519A CN 109101815 A CN109101815 A CN 109101815A
Authority
CN
China
Prior art keywords
under testing
sandbox
software under
software
execution
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
CN201810851519.9A
Other languages
English (en)
Other versions
CN109101815B (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810851519.9A priority Critical patent/CN109101815B/zh
Priority to PCT/CN2018/108474 priority patent/WO2020019505A1/zh
Publication of CN109101815A publication Critical patent/CN109101815A/zh
Application granted granted Critical
Publication of CN109101815B publication Critical patent/CN109101815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种恶意软件检测方法及相关设备,所述方法包括:获取一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息,并根据每个沙盒的第一配置信息和第二配置信息在一个或者多个沙盒中确定出与待测软件匹配的目标沙盒,进而调用目标沙盒对待测软件进行符号执行分析,以得到待测软件各功能各自对应的等价执行路径,并调用目标沙盒执行目标等价执行路径,并记录待测软件执行目标等价执行路径对应的执行轨迹以及调用的系统资源,进而根据执行轨迹和调用的系统资源确定待测软件是否存在恶意行为,当待测软件存在恶意行为时,确定待测软件为恶意软件,并输出待测软件对应的恶意行为,有利于提高恶意软件检测的细粒度。

Description

一种恶意软件检测方法及相关设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种恶意软件检测方法及相关设备。
背景技术
随着计算机技术的飞速发展,各种网站、移动终端以及移动终端上app服务的广泛应用,服务器系统的安全性问题越来越受到重视,各种恶意软件层出不穷。目前市面上的恶意软件检测主要分为动态和静态两种:静态检测需要事先收集已知恶意软件的特征信息,对于最新出现的恶意软件和已有恶意软件的变种检测效果并不强;动态检测则主要在沙盒环境中运行样本并收集软件的行为特征从而判断是否会造成危害,而目前恶意软件大多具备对沙盒环境的检测能力,沙盒环境和实际生产环境还有着比较大的区别导致恶意软件不会触发恶意行为,对恶意软件行为检测能力过弱,细粒度不足。
发明内容
本发明实施例提供了一种恶意软件检测方法及相关设备,可以分析出恶意软件存在的恶意行为,有利于提高恶意软件检测的细粒度。
第一方面,本发明实施例提供了一种恶意软件检测方法,该方法包括:
获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息,并根据所述每个沙盒的第一配置信息和所述第二配置信息在所述一个或者多个沙盒中确定出与所述待测软件匹配的目标沙盒;
调用所述目标沙盒对所述待测软件进行符号执行分析,以得到所述待测软件各功能各自对应的等价执行路径;
调用所述目标沙盒执行目标等价执行路径,并记录所述待测软件执行所述目标等价执行路径对应的执行轨迹以及调用的系统资源,所述目标等价执行路径为所述待测软件各功能各自对应的等价执行路径中的一个或者多个;
根据所述执行轨迹和所述调用的系统资源确定所述待测软件是否存在恶意行为;
当所述待测软件存在所述恶意行为时,确定所述待测软件为恶意软件,并输出所述待测软件对应的所述恶意行为。
在一个实施例中,所述获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息之前,还可以对所述一个或者多个沙盒中每个沙盒可调用的系统接口进行汇编指令级别的转译和分片处理,得到转译和分片处理后的目标系统接口;将所述每个沙盒对应的所述目标系统接口和所述系统接口关联存储至该沙盒的系统接口库中。
在一个实施例中,所述调用所述目标沙盒对所述待测软件进行符号执行分析,以得到所述待测软件的功能的等价执行路径的具体实施方式为:
在调用所述目标沙盒对所述待测软件进行符号执行分析时,检测执行所述符号分析得到的功能的当前执行路径是否执行至调用所述目标沙盒的系统接口库中的任一所述系统接口;
若执行所述符号分析得到的功能的当前执行路径执行至所述任一系统接口,则结束所述功能的当前执行路径,并生成所述功能的当前执行路径对应的等价执行路径。
在一个实施例中,所述调用所述目标沙盒动态执行目标等价执行路径的具体实施方式为:
将所述目标等价执行路径对应的输入值数组输入所述目标沙盒的样本程序中,得到所述目标等价执行路径的执行流;
根据所述目标沙盒中预设的跳转指令对所述执行流进行切片处理,得到一个或者多个执行流片段;
对切片处理后得到的所述一个或者多个执行流片段执行各自对应的预设操作。
在一个实施例中,还可以分别在所述一个或者多个执行流片段中的各个执行流片段中引入二进制插桩;其中,所述记录所述待测软件执行所述等价执行路径对应的执行轨迹以及调用的系统资源的具体实施方式为:调用所述二进制插桩记录对所述一个或者多个执行流片段执行各自对应的所述预设操作对应的执行轨迹,以及执行各自对应的所述预设操作所调用的系统资源。
在一个实施例中,所述获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息之前,还可以获取所述样本软件的样本软件特征值,并将所述样本软件特征值与预设软件库中恶意软件的恶意软件特征值进行比较;若所述样本软件特征值与所述恶意软件特征值匹配,则确定所述样本软件为恶意软件;检测当前检测模式是否为预设检测模式,若当前检测模式为所述预设检测模式,则将所述样本软件确定为待测软件,并触发所述获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息的步骤;若所述样本软件特征值与所述恶意软件特征值不匹配,则确定所述样本软件为非恶意软件;将所述样本软件确定为待测软件,并触发所述获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息的步骤。
在一个实施例中,所述得到所述待测软件的所有功能的等价执行路径之后,还可以根据预设样本库中各恶意软件执行路径的历史执行频率,将所述各功能各自对应的等价执行路径中的一个或者多个等价执行路径确定为目标等价执行路径,所述目标等价执行路径的历史执行频率大于或者等于预设的执行频率阈值。
第二方面,本发明实施例提供了一种恶意软件检测装置,该恶意软件检测装置包括用于执行上述第一方面的方法的单元。
第三方面,本发明实施例提供了一种服务器,该服务器包括处理器、网络接口和存储器,所述处理器、网络接口和存储器相互连接,其中,所述网络接口受所述处理器的控制用于收发消息,所述存储器用于存储支持服务器执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本发明实施例中,服务器可以获取一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息,并根据每个沙盒的第一配置信息和第二配置信息在一个或者多个沙盒中确定出与待测软件匹配的目标沙盒,进而调用目标沙盒对待测软件进行符号执行分析,以得到待测软件各功能各自对应的等价执行路径,并调用目标沙盒执行目标等价执行路径,并记录待测软件执行目标等价执行路径对应的执行轨迹以及调用的系统资源,进而根据执行轨迹和调用的系统资源确定待测软件是否存在恶意行为,当待测软件存在恶意行为时,确定待测软件为恶意软件,并输出待测软件对应的恶意行为,有利于提高恶意软件检测的细粒度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种待测软件对应程序的执行树示意图;
图2是本发明实施例提供的一种恶意软件检测方法的流程示意图;
图3是本发明实施例提供的另一种恶意软件检测方法的流程示意图;
图4是本发明实施例提供的一种恶意软件检测装置的示意性框图;
图5是本发明实施例提供的一种服务器的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前市面上的恶意软件检测主要分为动态和静态两种:静态检测需要事先收集已知恶意软件的特征信息,对于最新出现的恶意软件和已有恶意软件的变种检测效果并不强;动态检测则主要在沙盒环境中运行样本并收集软件的行为特征从而判断是否会造成危害,而目前恶意软件大多具备对沙盒环境的检测能力,沙盒环境和实际生产环境还有着比较大的区别导致恶意软件不会触发恶意行为,加上动态检测往往只关注非常少的几个系统api,对恶意软件行为检测能力过弱,细粒度不足。
为了解决上述问题,本发明提出了一种恶意软件检测方法,可以获取一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息,并根据每个沙盒的第一配置信息和第二配置信息在一个或者多个沙盒中确定出与待测软件匹配的目标沙盒,进而调用目标沙盒对待测软件进行符号执行分析,以得到待测软件各功能各自对应的等价执行路径,并调用目标沙盒执行目标等价执行路径,并记录待测软件执行目标等价执行路径对应的执行轨迹以及调用的系统资源,进而根据执行轨迹和调用的系统资源确定待测软件是否存在恶意行为,当待测软件存在恶意行为时,确定待测软件为恶意软件,并输出待测软件对应的恶意行为。不仅可以确定待测软件是否为恶意软件,还可以在确定出待测软件是恶意行为的情况下,输出该待测软件对应的恶意行为,有利于提高恶意软件检测的细粒度。
其中,本发明所描述恶意软件不仅涵盖了在计算机系统上执行恶意任务的病毒,蠕虫木马等程序,还包括恶意网页和恶意插件这种本身不是完整的软件程序。只不过恶意网页和恶意插件需要依附于一定的框架软件(比如恶意网页对应的是浏览器,恶意插件也有相对应的框架软件)这种插件类的安全性分析也包含在恶意软件分析的范畴里。例如,含有宏病毒的word文档可视为分析检测的输入,而本发明中用来打开文档的office word就视为沙盒环境的设置组成部分;类似的,如果要检测恶意网页,则网页视为分析检测的输入,通用浏览器chrome、edge、ie或者firefox等视为沙盒环境的组成部分,其他部分同检测方案。
其中,本发明描述的沙盒等同于信息安全里的沙盒虚拟机,在信息安全里,沙盒虚拟机专指用一定的安全策略监视限制软件行为的执行环境。
其中,本发明所述描述的系统资源可以包括执行待测软件对应目标等价执行路径所需要用到的非待测软件本身提供的资源。例如,待测软件如果是个挖矿的,则系统资源可以包括显卡驱动、钱包秘钥解析、网络通信、cpu使用信息、文件系统访问读写等等。待测软件如果是个反弹,则系统资源包括文件系统访问读写、网络端口开放、网络收发包、隐藏自身进程而修改的注册表等等。该系统资源还包括执行待测软件对应目标等价执行路径过程中调用的目标沙盒中的目标系统接口。
本发明所描述的符号执行分析(以下简称符号执行)是一种重要的形式化方法,是学术界研究的一种分析技术。符号执行的关键思想是,把输入变为符号值,这样程序计算出的输出值,就是一个符号输入值的函数,这就是一个符号化过程。在本发明实施例中,待测软件对应程序的所有执行路径都可以表示为树,也即执行树,枝条的分叉代表分支语句处的正确true和错误false分支走向,该程序的执行路径通常是true和false的序列。而符号执行分析得到的待测软件的所有功能的等价执行路径,实际上就是符号执行遍历程序执行树的过程。
例如,待测软件对应程序的示例性代码为:
上面的示例对应的执行树如图1所示,从图1可以看出testme()函数有3条执行路径,圆矩形方框就是三组对应三条等价执行路径的输入,也就是这三组输入就可以遍历该程序,该三组输入组数组分别为(x=0;y=1)、(x=2;y=1)以及(x=30;y=15)。符号执行的目的就是能够生成这样的输入集合,该输入集合中每个输入值数组(如x=0;y=1)对应一条等价执行路径。其中,所有输入值数值组成的输入集合就是本发明所描述的待测软件的所有功能的等价执行路径。
参见图2,图2是本发明实施例提供的一种恶意软件检测方法的流程示意图,该方法应用于预先部署有一个或者多个沙盒的服务器,如图所示,该恶意软件检测方法可包括:
201、服务器获取一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息,并根据每个沙盒的第一配置信息和第二配置信息在一个或者多个沙盒中确定出与待测软件匹配的目标沙盒。
其中,第一配置信息可以包括一个或者多个沙盒中每个沙盒的操作系统版本、内核信息、链接库等;第二配置信息可以包括待测软件本身的校验信息(如MD5值)、待测软件可运行的操作系统版本、样本软件运行依赖的链接库等,该第一配置信息和第二配置信息是相互关联地。其中,第一配置信息可以有一个或者多个,具体地,可以每个沙盒各自对应不同的第一配置信息,也可以多个沙盒对应同一个第一配置信息。其中,该操作系统版本可以包括操作系统版本类型,如windows系统或者linux等,还可以包括操作系统版本号,如windows 2007或者windows 2010等。
在一个实施例中,当服务器检测到有待测软件输入时,可以获取待测软件的第二配置信息,以及一个或者多个沙盒中每个沙盒的第一配置信息,可以将第二配置信息与一个或者多个沙盒各自对应第一配置信息比较,如果确定出任一沙盒的第一配置信息与第二配置信息匹配,则将该任一沙盒确定为目标沙盒。
例如,服务器预先部署有2个沙盒的,第一配置信息为每个沙盒的操作系统版本,其中第一沙盒的操作系统版本为windows,第二沙盒的操作系统版本为linux;第二配置信息为待测软件的操作系统版本,该操作系统版本为linux。这种情况下,服务器获取到每个沙盒的操作系统版本和待测软件的操作系统版本后,可以将确定出待测软件的操作系统版本linux与第二沙盒的操作系统版本linux相匹配,则可以将第二沙盒确定为目标沙盒。
202、服务器调用目标沙盒对待测软件进行符号执行分析,以得到待测软件各功能各自对应的等价执行路径。
在一个实施例中,服务器可以在确定出与待测软件匹配的目标沙盒后,将待测软件输入目标沙盒中,调用目标沙盒对待测软件进行符号执行分析,在符号执行分析的过程中遍历待测软件对应程序的执行树过程,得到待测软件所有功能的输入集合,该输入集合中的每一个输入值数组对应一条等价执行路径,该输入集合即为待测软件的所有功能的等价执行路径。
203、服务器调用目标沙盒执行目标等价执行路径,并记录待测软件执行目标等价执行路径对应的执行轨迹以及调用的系统资源。该目标等价执行路径为待测软件各功能各自对应的等价执行路径中的一个或者多个。
204、服务器根据执行轨迹和调用的系统资源确定待测软件是否存在恶意行为。
205、当待测软件存在恶意行为时,服务器确定待测软件为恶意软件,并输出待测软件对应的恶意行为。
在一个实施例中,服务器得到待测软件各功能各自对应的等价执行路径之后,还可以根据预设样本库中各恶意软件执行路径的历史执行频率,将所有功能的等价执行路径中的一个或者多个等价执行路径确定为目标等价执行路径,该目标等价执行路径的历史执行频率大于或者等于预设的执行频率阈值。
例如,执行频率阈值为60,预设样本库中执行路径s1和执行路径s2的历史执行频率分别为70、80。这种情况下,服务器得到待测软件各功能各自对应的等价执行路径后,可以根据预设样本库中各恶意软件执行路径的历史执行频率,在所有功能的等价执行路径中将执行路径s1和执行路径s2确定为目标等价执行路径。
进一步地,服务器确定出目标等价执行路径后,可以调用目标沙盒执行目标等价执行路径,并记录待测软件执行目标等价执行路径对应的执行轨迹以及调用的系统资源。其中,目标等价执行路径可以有一条或者多条,当目标等价执行路径有n(n为正整数)条时,那么服务器则需调用目标沙盒执行n条目标等价执行路径,与之对应地,服务器则需记录n条目标等价执行路径中每条目标等价执行路径执行对应的执行轨迹以及调用的系统资源,也即,n条目标等价执行路径对应n种执行轨迹以及调用的系统资源的记录。
其中,执行待测软件对应目标等价执行路径过程中所需要用到的非待测软件本身提供的资源都是上述的系统资源。例如,待测软件如果是个挖矿的,则系统资源可以包括显卡驱动、钱包秘钥解析、网络通信、cpu使用信息、文件系统访问读写等等。待测软件如果是个反弹,则系统资源包括文件系统访问读写、网络端口开放、网络收发包、隐藏自身进程而修改的注册表等等。其中,该系统资源还包括执行待测软件对应目标等价执行路径过程中调用的系统接口。
在一个实施例中,可以预先建立包括多个恶意软件的样本库(即预设样本库),该预设样本库存储了各种恶意软件,各种恶意软件各自对应的恶意行为,该恶意行为包括恶意软件的恶意执行轨迹以及恶意软件运行过程中调用的系统资源。例如,某恶意软件样本如果执行堆喷射,则需调用虚函数伪造虚函数表,而伪造虚函数表则会存在堆栈变量溢出。该调用虚函数伪造虚函数表的行为则为该恶意软件执行堆喷射的恶意执行轨迹。
这种情况下,服务器将执行每条目标等价执行路径的执行过程中所记录的执行轨迹与预设样本库中各恶意软件的恶意执行轨迹进行比较,若确定出所记录的执行轨迹与任一个或者多个恶意软件(以下简称目标恶意软件)的恶意执行轨迹的相似度高于预设轨迹相似度阈值,则可以进一步将目标等价执行路径过程中调用的系统资源与预设样本库中每个目标恶意软件运行过程中所调用的系统资源进行比较,若目标等价执行路径过程中调用的系统资源与任一目标恶意软件运行过程中所调用的系统资源的相似度高于预设资源相似度阈值,则确定该待测软件存在恶意行为,且该恶意行为包括执行目标等价执行路径对应的执行轨迹以及调用的系统资源。进一步地,服务器在确定出待测软件存在该恶意行为时,可以确定该待测软件为恶意软件并输出该恶意行为,以便于用户可以直观查看该待测软件存在的恶意行为,有利于提高恶意软件检测的细粒度。
本发明实施例中,服务器可以获取一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息,并根据每个沙盒的第一配置信息和第二配置信息在一个或者多个沙盒中确定出与待测软件匹配的目标沙盒,进而调用目标沙盒对待测软件进行符号执行分析,以得到待测软件各功能各自对应的等价执行路径,并调用目标沙盒执行目标等价执行路径,并记录待测软件执行目标等价执行路径对应的执行轨迹以及调用的系统资源,进而根据执行轨迹和调用的系统资源确定待测软件是否存在恶意行为,当待测软件存在恶意行为时,确定待测软件为恶意软件,并输出待测软件对应的恶意行为,有利于提高恶意软件检测的细粒度。
参见图3,图3是本发明实施例提供的另一种恶意软件检测方法的流程示意图,该方法应用于预先部署有一个或者多个沙盒的服务器,如图所示,该恶意软件检测方法可包括:
301、服务器对一个或者多个沙盒中每个沙盒可调用的系统接口进行汇编指令级别的转译和分片处理,得到转译和分片处理后的目标系统接口。
302、服务器将每个沙盒对应的目标系统接口和系统接口关联存储至该沙盒的系统接口库中。
在一个实施例中,服务器可以将每个沙盒可调用的系统接口进行分组,然后将每一组系统接口对应的汇编指令按照预设规则进行分片,然后在片与片之间插入相应的非功能性的汇编指令(该非功能性的汇编指令用于分析记录或者限制用途),进而实现对每个沙盒可调用系统接口的汇编指令级别的转译和分片处理。进一步地,将每个沙盒转译和分片处理后的系统接口(即目标系统接口)与该沙盒可调用的系统接口关联存储至该沙盒的系统接口库中。其中,该预设规则可以为以跳转指令做标志进行分片,以跳转指令分片的可以保证代码片段所操作的存储区间的连续性。由于跳转需要提高注意力,恶意行为一般都会在跳转后出现,这样可以对每片的执行过程进行分析记录,实现了对于汇编指令依照安全性分析的细粒度切分,有利于提高恶意软件检测的细粒度。
其中,上述系统接口不仅可以包括操作系统接口,对于大型开源软件(如浏览器chrome firefox,libre office等)也可建立软件接口的汇编指令级别的转译处理存入系统接口库,尤其是针对一些恶意行为经常涉及到的接口进行记录,供后继分析。例如在浏览器内部的跨域api处做转译可以对于待测软件的跨域行为进行观测,这样对于一些恶意插件的钓鱼行为进行观测。这样可以实现对待测软件的更多行为轨迹进行检测,也即,依据更多的恶意行为来判断待测软件是否为恶意软件,进而提高恶意软件检测的准确度。
在一个实施例中,在对每个沙盒进行改造时,还可以依据具体的检测行为重点调整改造方向,如对蠕虫病毒等,更关注它是如何传播感染的,可重点对关注访问和读写操作相关的资源接口,以及调用邮件的相关接口进行汇编指令级别的转译和分片处理,通过收集这些接口记录的信息可描绘出待测软件的感染传播具体途径;对于盗用户密码类的监听键盘输入类的,则重点放在对于系统总线上输入信号的传递,对系统总线的相关接口进行汇编指令级别的转译和分片处理。
303、服务器获取一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息,并根据每个沙盒的第一配置信息和第二配置信息在一个或者多个沙盒中确定出与待测软件匹配的目标沙盒。
304、服务器调用目标沙盒对待测软件进行符号执行分析,以得到待测软件各功能各自对应的等价执行路径。
在一个实施例中,服务器在调用目标沙盒对待测软件进行符号执行分析时,可以检测执行符号分析得到的功能的当前执行路径是否执行至调用目标沙盒的系统接口库中的任一系统接口,若执行符号分析得到的功能的当前执行路径执行至任一系统接口,则结束功能的当前执行路径,并生成该功能的当前执行路径对应的等价执行路。其中,将是否执行至任一系统接口达系统接口作为约束条件,是由于任何待测软件要完成一定的功能,一旦涉及到待测软件外部的资源调度,都必须要调用系统接口,而在当前执行路径需要调用外部资源时,中止当条执行路径,也不会影响该路径的完整性。采用这样的约束条件可以避免死循环,防范路径爆炸,减少开销。
305、服务器调用目标沙盒执行目标等价执行路径,并记录待测软件执行目标等价执行路径对应的执行轨迹以及调用的系统资源。该目标等价执行路径为待测软件各功能各自对应的等价执行路径中的一个或者多个。
在一个实施例中,服务器可以将目标等价执行路径对应的输入值数组输入目标沙盒的样本程序中,得到目标等价执行路径的执行流,并根据目标沙盒中预设的跳转指令对执行流进行切片处理,得到一个或者多个执行流片段,进而对切片处理后得到的一个或者多个执行流片段执行各自对应的预设操作,可以进一步地提高恶意软件检测的细粒度。其中,该执行流为一串汇编指令。
其中,可以依据每个执行流片段功能配置不同的预设操作。例如,该执行流片段对应的功能为访问资源接口,那么该预设操作则可以为访问操作;该执行流片段对应的功能为修改某一注册表,那么该预设操作则可以为修改操作。本发明对此不作具体限定。
在一个实施例中,服务器根据目标沙盒当前系统预设的跳转指令对所述执行流进行切片处理,得到一个或者多个执行流片段之后,还可以分别在一个或者多个执行流片段中的各个执行流片段中引入二进制插桩,并调用二进制插桩记录对述一个或者多个执行流片段执行各自对应的预设操作后的执行轨迹,以及执行各自对应的所述预设操作所调用的系统资源,进一步提高恶意软件检测的细粒度。
在一个实施例中,在一个或者多个执行流片段中的各个执行流片段中引入二进制插桩时,该二进制插桩具体插在什么位置,可以结合具体的跳转指令进行插桩位置的确定。示例性的,以汇编最常见的无条件跳转jmp指令为例,jmp一共四种形式,jmp 200H和jmp cx这种段内跳转可以不用执行插桩,段内跳转危险系数较低,可以关注危险更高段间跳转(如:jmp 100H 200H和JMP DWORD PTR),进而在段间跳转指令后进行二进制插桩。
其中,在进行二进制插桩时,还可以修改操作数,让待测软件对应的程序跳转到预先准备好的内存代码段,执行开发人员希望它执行的功能,然后再跳回原本的段地址。其中,上述操作数与内存地址相互联系。也即修改操作数,则可以使得待测软件对应程序跳转到指定地址,执行预先准备好的内存代码段。例如jmp 200H中的“200H”则为操作数。
306、服务器根据执行轨迹和调用的系统资源确定待测软件是否存在恶意行为。
307、当待测软件存在恶意行为时,服务器确定待测软件为恶意软件,并输出待测软件对应的恶意行为。
其中,步骤306-步骤307的具体实施方式可以参见上述实施例中步骤204-205的相关描述,此处不再赘述。
在一个实施例中,服务器在对执行轨迹以及调用的系统资源进行分析时,由于一般恶意软件的攻击手法具有一定的模式的,有着严格的因果递进关系。如果通过分析待测软件的执行轨迹发现,与预设样本库中的样本恶意软件相比,该执行轨迹只是在某些步骤上发生更改,对照样本恶意软件的恶意行为造成的结果,确定出造成的结果相同但原因不同,则可以判断确定出了新的恶意行为。也即,可以判断待测软件为一种新的恶意软件,存在新的恶意行为。
其中,在确定待测软件是否为新的恶意软件时,还可以比对待测软件的攻击手段和攻击行为,或者分析待测软件的亲缘性,检测出待测软件是否是已知恶意软件的变种。
在一个实施例中,在确定出待测软件存在新恶意行为后,可以生成该新恶意行为对应的新检测规则,并将该新恶意行为以及新检测规则关联存储至服务器中,以便于后续分发给其他检测系统,实现对新变种或者新的恶意软件的云查杀,从而实现对零日漏洞的检测。
在一个实施例中,服务器获取一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息之前,还可以获取样本软件的样本软件特征值,并将样本软件特征值与预设软件库中恶意软件的恶意软件特征值进行比较,若样本软件特征值与恶意软件特征值匹配,则确定样本软件为恶意软件,并检测当前检测模式是否为预设检测模式,若当前检测模式为预设检测模式,则将该样本软件确定为待测软件,并触发获取一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息的步骤。其中,服务器在将样本软件特征值与预设软件库中恶意软件的恶意软件特征值进行比较时,可以在样本软件特征值与任一恶意软件特征值的特征相似度大于或者等于预设特征相似度阈值时,确定样本软件特征值与该任一恶意软件特征值匹配。
在一个实施例中,若服务器确定出样本软件特征值与恶意软件特征值不匹配,则确定样本软件为非恶意软件,并将样本软件确定为待测软件,并触发获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息的步骤。其中,服务器在将样本软件特征值与预设软件库中恶意软件的恶意软件特征值进行比较时,可以在样本软件特征值与每一个恶意软件特征值的特征相似度小于预设特征相似度阈值时,确定样本软件特征值与该恶意软件特征值不匹配。
其中,该预设检测模式可以是用户根据自身的检测需求预先设置的。该预设检测模式例如可以为专家检测模式,该专家检测模式不仅可以检测出待测软件为恶意软件,还可以检测出该恶意软件存在的恶意行为。
在一个实施例中,当服务器确定出样本软件为恶意软件,且当前检测模式不为预设检测模式时,可以直接结束本次检测并输出报警信息以便于后台运维人员执行后续操作。或者,服务器还可以直接删除该待测软件。
本发明实施例中,服务器可以对一个或者多个沙盒中每个沙盒可调用的系统接口进行汇编指令级别的转译和分片处理,得到转译和分片处理后的目标系统接口,并将每个沙盒对应的目标系统接口和系统接口关联存储至该沙盒的系统接口库中,获取一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息,并根据每个沙盒的第一配置信息和第二配置信息在一个或者多个沙盒中确定出与待测软件匹配的目标沙盒,调用目标沙盒对待测软件进行符号执行分析,以得到待测软件各功能各自对应的等价执行路径,调用目标沙盒执行目标等价执行路径,并记录待测软件执行目标等价执行路径对应的执行轨迹以及调用的系统资源,并根据执行轨迹和调用的系统资源确定待测软件是否存在恶意行为,当待测软件存在恶意行为时,确定待测软件为恶意软件,并输出待测软件对应的恶意行为,有利于提高恶意软件检测的细粒度。
本发明实施例还提供了一种恶意软件检测装置,该装置配置于预先部署有一个或者多个沙盒的服务器。该装置包括用于执行前述图2或者图3所述的方法的模块。具体地,参见图4,是本发明实施例提供的恶意软件检测装置的示意框图。本实施例的恶意软件检测装置包括:
获取模块40,用于获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息;
确定模块41,用于根据所述获取模块获取到的所述每个沙盒的第一配置信息和所述第二配置信息在所述一个或者多个沙盒中确定出与所述待测软件匹配的目标沙盒;
调用模块42,用于调用所述目标沙盒对所述待测软件进行符号执行分析,以得到所述待测软件各功能各自对应的等价执行路径;
所述调用模块42,还用于调用所述目标沙盒执行目标等价执行路径,并记录所述待测软件执行所述目标等价执行路径对应的执行轨迹以及调用的系统资源,所述目标等价执行路径为所述待测软件各功能各自对应的等价执行路径中的一个或者多个;
所述确定模块41,还用于根据所述执行轨迹和所述调用的系统资源确定所述待测软件是否存在恶意行为,当确定出待测软件存在所述恶意行为,则确定所述待测软件为恶意软件;
输出模块43,用于当所述确定模块确定出所述待测软件为所述恶意软件时,输出所述待测软件对应的所述恶意行为。
在一个实施例中,所述装置还包括:
处理模快44,用于对所述一个或者多个沙盒中每个沙盒可调用的系统接口进行汇编指令级别的转译和分片处理,得到转译和分片处理后的目标系统接口;
存储模块45,用于将所述每个沙盒对应的所述目标系统接口和所述系统接口关联存储至该沙盒的系统接口库中。
在一个实施例中,所述调用模块42,具体用于在调用所述目标沙盒对所述待测软件进行符号执行分析时,检测执行所述符号分析得到的功能的当前执行路径是否执行至调用所述目标沙盒的系统接口库中的任一所述系统接口;若执行所述符号分析得到的功能的当前执行路径执行至所述任一系统接口,则结束所述功能的当前执行路径,并生成所述功能的当前执行路径对应的等价执行路径。
在一个实施例中,所述调用模块42,具体用于将所述目标等价执行路径对应的输入值数组输入所述目标沙盒的样本程序中,得到所述目标等价执行路径的执行流;根据所述目标沙盒中预设的跳转指令对所述执行流进行切片处理,得到一个或者多个执行流片段;对切片处理后得到的所述一个或者多个执行流片段执行各自对应的预设操作。
在一个实施例中,所述装置还包括:插桩模块46,用于分别在所述一个或者多个执行流片段中的各个执行流片段中引入二进制插桩;
其中,所述调用模块42,还具体用于调用所述二进制插桩记录对所述一个或者多个执行流片段执行各自对应的所述预设操作对应的执行轨迹,以及执行各自对应的所述预设操作所调用的系统资源。
在一个实施例中,所述获取模块40,还用于获取所述样本软件的样本软件特征值,并将所述样本软件特征值与预设软件库中恶意软件的恶意软件特征值进行比较;
确定模块41,还用于若确定出所述样本软件特征值与所述恶意软件特征值匹配,则确定所述样本软件为恶意软件,则检测当前检测模式是否为预设检测模式,若当前检测模式为所述预设检测模式,则将所述样本软件确定为待测软件,并触发所述获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息的步骤;
确定模块41,还用于若确定出所述样本软件特征值与所述恶意软件特征值不匹配,则确定所述样本软件为非恶意软件;将所述样本软件确定为待测软件,并触发所述获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息的步骤。
在一个实施例中,所述确定模块41,还用于根据预设样本库中各恶意软件执行路径的历史执行频率,将所述各功能各自对应的等价执行路径中的一个或者多个等价执行路径确定为目标等价执行路径,所述目标等价执行路径的历史执行频率大于或者等于预设的执行频率阈值。
需要说明的是,本发明实施例所描述的恶意软件检测装置的各功能模块的功能可根据图2或者图3所述的方法实施例中的方法具体实现,其具体实现过程可以参照图2或者图3的方法实施例的相关描述,此处不再赘述。
请参见图5,图5是本发明实施例提供的一种服务器的示意性框图,该服务器预先部署有一个或者多个沙盒。如图5所示,该服务器包括,处理器501、存储器502和网络接口503。上述处理器501、存储器502和网络接口503可通过总线或其他方式连接,在本发明实施例所示图5中以通过总线连接为例。其中,网络接口503受所述处理器的控制用于收发消息,存储器502用于存储计算机程序,所述计算机程序包括程序指令,处理器501用于执行存储器502存储的程序指令。其中,处理器501被配置用于调用所述程序指令执行:获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息,并根据所述每个沙盒的第一配置信息和所述第二配置信息在所述一个或者多个沙盒中确定出与所述待测软件匹配的目标沙盒;调用所述目标沙盒对所述待测软件进行符号执行分析,以得到所述待测软件各功能各自对应的等价执行路径;调用所述目标沙盒执行目标等价执行路径,并记录所述待测软件执行所述目标等价执行路径对应的执行轨迹以及调用的系统资源,所述目标等价执行路径为所述待测软件各功能各自对应的等价执行路径中的一个或者多个;根据所述执行轨迹和所述调用的系统资源确定所述待测软件是否存在恶意行为;当所述待测软件存在所述恶意行为时,确定所述待测软件为恶意软件,并输出所述待测软件对应的所述恶意行为。
应当理解,在本发明实施例中,所称处理器501可以是中央处理单元(CentralProcessing Unit,CPU),该处理器501还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器502可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器502的一部分还可以包括非易失性随机存取存储器。例如,存储器502还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器501、存储器502和网络接口503可执行本发明实施例提供的图2或者图3所述的方法实施例所描述的实现方式,也可执行本发明实施例所描述的恶意软件检测装置的实现方式,在此不再赘述。
在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息,并根据所述每个沙盒的第一配置信息和所述第二配置信息在所述一个或者多个沙盒中确定出与所述待测软件匹配的目标沙盒;调用所述目标沙盒对所述待测软件进行符号执行分析,以得到所述待测软件各功能各自对应的等价执行路径;调用所述目标沙盒执行目标等价执行路径,并记录所述待测软件执行所述目标等价执行路径对应的执行轨迹以及调用的系统资源,所述目标等价执行路径为所述待测软件各功能各自对应的等价执行路径中的一个或者多个;根据所述执行轨迹和所述调用的系统资源确定所述待测软件是否存在恶意行为;当所述待测软件存在所述恶意行为时,确定所述待测软件为恶意软件,并输出所述待测软件对应的所述恶意行为。
所述计算机可读存储介质可以是前述任一实施例所述的服务器的内部存储单元,例如服务器的硬盘或内存。所述计算机可读存储介质也可以是所述服务器的外部存储设备,例如所述服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述服务器的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (10)

1.一种恶意软件检测方法,所述方法应用于预先部署有一个或者多个沙盒的服务器,其特征在于,包括:
获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息,并根据所述每个沙盒的第一配置信息和所述第二配置信息在所述一个或者多个沙盒中确定出与所述待测软件匹配的目标沙盒;
调用所述目标沙盒对所述待测软件进行符号执行分析,以得到所述待测软件各功能各自对应的等价执行路径;
调用所述目标沙盒执行目标等价执行路径,并记录所述待测软件执行所述目标等价执行路径对应的执行轨迹以及调用的系统资源,所述目标等价执行路径为所述待测软件各功能各自对应的等价执行路径中的一个或者多个;
根据所述执行轨迹和所述调用的系统资源确定所述待测软件是否存在恶意行为;
当所述待测软件存在所述恶意行为时,确定所述待测软件为恶意软件,并输出所述待测软件对应的所述恶意行为。
2.根据权利要求1所述的方法,其特征在于,所述获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息之前,所述方法还包括:
对所述一个或者多个沙盒中每个沙盒可调用的系统接口进行汇编指令级别的转译和分片处理,得到转译和分片处理后的目标系统接口;
将所述每个沙盒对应的所述目标系统接口和所述系统接口关联存储至该沙盒的系统接口库中。
3.根据权利要求2所述的方法,其特征在于,所述调用所述目标沙盒对所述待测软件进行符号执行分析,以得到所述待测软件的功能的等价执行路径,包括:
在调用所述目标沙盒对所述待测软件进行符号执行分析时,检测执行所述符号分析得到的功能的当前执行路径是否执行至调用所述目标沙盒的系统接口库中的任一所述系统接口;
若执行所述符号分析得到的功能的当前执行路径执行至所述任一系统接口,则结束所述功能的当前执行路径,并生成所述功能的当前执行路径对应的等价执行路径。
4.根据权利要求1所述的方法,其特征在于,所述调用所述目标沙盒动态执行目标等价执行路径,包括:
将所述目标等价执行路径对应的输入值数组输入所述目标沙盒的样本程序中,以得到所述目标等价执行路径的执行流;
根据所述目标沙盒中预设的跳转指令对所述执行流进行切片处理,得到一个或者多个执行流片段;
对切片处理后得到的所述一个或者多个执行流片段执行各自对应的预设操作。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标沙盒当前系统预设的跳转指令对所述执行流进行切片处理,得到一个或者多个执行流片段之后,所述方法还包括:
分别在所述一个或者多个执行流片段中的各个执行流片段中引入二进制插桩;
其中,所述记录所述待测软件执行所述等价执行路径对应的执行轨迹以及调用的系统资源,包括:
调用所述二进制插桩记录对所述一个或者多个执行流片段执行各自对应的所述预设操作对应的执行轨迹,以及执行各自对应的所述预设操作所调用的系统资源。
6.根据权利要求1所述的方法,其特征在于,所述获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息之前,所述方法还包括:
获取所述样本软件的样本软件特征值,并将所述样本软件特征值与预设软件库中恶意软件的恶意软件特征值进行比较;
若所述样本软件特征值与所述恶意软件特征值匹配,则确定所述样本软件为恶意软件;检测当前检测模式是否为预设检测模式,若当前检测模式为所述预设检测模式,则将所述样本软件确定为待测软件,并触发所述获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息的步骤;
若所述样本软件特征值与所述恶意软件特征值不匹配,则确定所述样本软件为非恶意软件;将所述样本软件确定为待测软件,并触发所述获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息的步骤。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述得到所述待测软件各功能各自对应的等价执行路径之后,所述方法还包括:
根据预设样本库中各恶意软件执行路径的历史执行频率,将所述各功能各自对应的等价执行路径中的一个或者多个等价执行路径确定为目标等价执行路径,所述目标等价执行路径的历史执行频率大于或者等于预设的执行频率阈值。
8.一种恶意软件检测装置,所述装置配置于预先部署有一个或者多个沙盒的服务器,其特征在于,包括:
获取模块,用于获取所述一个或者多个沙盒中每个沙盒的第一配置信息和待测软件的第二配置信息;
确定模块,用于根据所述获取模块获取到的所述每个沙盒的第一配置信息和所述第二配置信息在所述一个或者多个沙盒中确定出与所述待测软件匹配的目标沙盒;
调用模块,用于调用所述目标沙盒对所述待测软件进行符号执行分析,以得到所述待测软件各功能各自对应的等价执行路径;
所述调用模块,还用于调用所述目标沙盒执行目标等价执行路径,并记录所述待测软件执行所述目标等价执行路径对应的执行轨迹以及调用的系统资源,所述目标等价执行路径为所述待测软件各功能各自对应的等价执行路径中的一个或者多个;
所述确定模块,还用于根据所述执行轨迹和所述调用的系统资源确定所述待测软件是否存在恶意行为,当确定出待测软件存在所述恶意行为,则确定所述待测软件为恶意软件;
输出模块,用于当所述确定模块确定出所述待测软件为所述恶意软件时,输出所述待测软件对应的所述恶意行为。
9.一种服务器,其特征在于,包括处理器和存储装置,所述处理器和所述存储装置相互连接,其中,所述存储装置用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
CN201810851519.9A 2018-07-27 2018-07-27 一种恶意软件检测方法及相关设备 Active CN109101815B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810851519.9A CN109101815B (zh) 2018-07-27 2018-07-27 一种恶意软件检测方法及相关设备
PCT/CN2018/108474 WO2020019505A1 (zh) 2018-07-27 2018-09-28 一种恶意软件检测方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810851519.9A CN109101815B (zh) 2018-07-27 2018-07-27 一种恶意软件检测方法及相关设备

Publications (2)

Publication Number Publication Date
CN109101815A true CN109101815A (zh) 2018-12-28
CN109101815B CN109101815B (zh) 2023-04-07

Family

ID=64848078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810851519.9A Active CN109101815B (zh) 2018-07-27 2018-07-27 一种恶意软件检测方法及相关设备

Country Status (2)

Country Link
CN (1) CN109101815B (zh)
WO (1) WO2020019505A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245494A (zh) * 2019-06-18 2019-09-17 平安科技(深圳)有限公司 恶意软件的检测方法、电子装置及计算机可读存储介质
CN110287700A (zh) * 2019-05-14 2019-09-27 北京邮电大学 一种iOS应用安全分析方法及装置
CN111475808A (zh) * 2020-04-08 2020-07-31 苏州浪潮智能科技有限公司 一种软件安全性分析方法、系统、设备及计算机存储介质
CN111797393A (zh) * 2020-06-23 2020-10-20 哈尔滨安天科技集团股份有限公司 基于gpu恶意挖矿行为的检测方法与装置
CN116861418A (zh) * 2023-09-05 2023-10-10 北京华云安信息技术有限公司 面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质
CN117521087A (zh) * 2024-01-04 2024-02-06 江苏通付盾科技有限公司 一种设备风险行为检测方法、系统及存储介质
CN110245494B (zh) * 2019-06-18 2024-05-24 平安科技(深圳)有限公司 恶意软件的检测方法、电子装置及计算机可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080061B (zh) * 2022-06-28 2023-09-29 中国电信股份有限公司 反序列化攻击检测方法、装置、电子设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034050A (zh) * 2011-01-25 2011-04-27 四川大学 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法
CN102945347A (zh) * 2012-09-29 2013-02-27 中兴通讯股份有限公司 一种检测Android恶意软件的方法、系统及设备
US20130167235A1 (en) * 2011-12-22 2013-06-27 Microsoft Corproation Augmenting system restore with malware detection
CN103646213A (zh) * 2013-09-26 2014-03-19 北京神州绿盟信息安全科技股份有限公司 一种恶意软件的分类方法和装置
CN106055479A (zh) * 2016-06-01 2016-10-26 中国科学院信息工程研究所 一种基于强制执行的Android应用软件测试方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106570394B (zh) * 2016-11-10 2021-04-16 厦门安胜网络科技有限公司 一种检测恶意程序的方法
CN107832105B (zh) * 2017-11-24 2022-02-15 南昌黑鲨科技有限公司 一种应用程序启动方法、启动装置及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034050A (zh) * 2011-01-25 2011-04-27 四川大学 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法
US20130167235A1 (en) * 2011-12-22 2013-06-27 Microsoft Corproation Augmenting system restore with malware detection
CN102945347A (zh) * 2012-09-29 2013-02-27 中兴通讯股份有限公司 一种检测Android恶意软件的方法、系统及设备
CN103646213A (zh) * 2013-09-26 2014-03-19 北京神州绿盟信息安全科技股份有限公司 一种恶意软件的分类方法和装置
CN106055479A (zh) * 2016-06-01 2016-10-26 中国科学院信息工程研究所 一种基于强制执行的Android应用软件测试方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287700A (zh) * 2019-05-14 2019-09-27 北京邮电大学 一种iOS应用安全分析方法及装置
CN110287700B (zh) * 2019-05-14 2021-06-29 北京邮电大学 一种iOS应用安全分析方法及装置
CN110245494A (zh) * 2019-06-18 2019-09-17 平安科技(深圳)有限公司 恶意软件的检测方法、电子装置及计算机可读存储介质
CN110245494B (zh) * 2019-06-18 2024-05-24 平安科技(深圳)有限公司 恶意软件的检测方法、电子装置及计算机可读存储介质
CN111475808A (zh) * 2020-04-08 2020-07-31 苏州浪潮智能科技有限公司 一种软件安全性分析方法、系统、设备及计算机存储介质
CN111475808B (zh) * 2020-04-08 2022-07-08 苏州浪潮智能科技有限公司 一种软件安全性分析方法、系统、设备及计算机存储介质
CN111797393A (zh) * 2020-06-23 2020-10-20 哈尔滨安天科技集团股份有限公司 基于gpu恶意挖矿行为的检测方法与装置
CN111797393B (zh) * 2020-06-23 2023-05-23 安天科技集团股份有限公司 基于gpu恶意挖矿行为的检测方法与装置
CN116861418A (zh) * 2023-09-05 2023-10-10 北京华云安信息技术有限公司 面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质
CN116861418B (zh) * 2023-09-05 2023-12-22 北京华云安信息技术有限公司 面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质
CN117521087A (zh) * 2024-01-04 2024-02-06 江苏通付盾科技有限公司 一种设备风险行为检测方法、系统及存储介质
CN117521087B (zh) * 2024-01-04 2024-03-15 江苏通付盾科技有限公司 一种设备风险行为检测方法、系统及存储介质

Also Published As

Publication number Publication date
CN109101815B (zh) 2023-04-07
WO2020019505A1 (zh) 2020-01-30

Similar Documents

Publication Publication Date Title
CN109101815A (zh) 一种恶意软件检测方法及相关设备
Russo et al. Dynamic vs. static flow-sensitive security analysis
Sion et al. Solution-aware data flow diagrams for security threat modeling
Feng et al. Formalizing sensitivity in static analysis for intrusion detection
Sekar et al. Model-carrying code: a practical approach for safe execution of untrusted applications
CN1333552C (zh) 基于机器学习的用户行为异常的检测方法
Son et al. SAFERPHP: Finding semantic vulnerabilities in PHP applications
US20170208093A1 (en) Detection of Vulnerabilities in Computer Systems
Avancini et al. Towards security testing with taint analysis and genetic algorithms
CN102043915B (zh) 一种非可执行文件中包含恶意代码的检测方法及其装置
CN111695119A (zh) 一种基于细粒度静态污点分析与符号执行的web漏洞检测方法
Liao et al. Smartdagger: a bytecode-based static analysis approach for detecting cross-contract vulnerability
Mongiovì et al. Combining static and dynamic data flow analysis: a hybrid approach for detecting data leaks in Java applications
WO2023035751A1 (zh) 移动端应用的智能混淆
US20240160748A1 (en) Method And System For Data Flow Monitoring To Identify Application Security Vulnerabilities And To Detect And Prevent Attacks
Yu et al. CoCo: Efficient Browser Extension Vulnerability Detection via Coverage-guided, Concurrent Abstract Interpretation
CN117081818A (zh) 基于智能合约防火墙的攻击交易识别与拦截方法及系统
US11283836B2 (en) Automatic decoy derivation through patch transformation
Xing et al. The devil is in the detail: Generating system call whitelist for Linux seccomp
González-Burgueno et al. Analysis of the PKCS# 11 API using the Maude-NPA tool
CN111753295B (zh) 一种基于漏洞利用程序特征的漏洞利用程序检测方法
Jürjens Automated security verification for crypto protocol implementations: Verifying the jessie project
Muralee et al. {ARGUS}: A Framework for Staged Static Taint Analysis of {GitHub} Workflows and Actions
CN115203652B (zh) 一种基于源混淆的ios端安全加密控制方法
CN117195241B (zh) 固件漏洞的检测方法、设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant