CN111475808B - 一种软件安全性分析方法、系统、设备及计算机存储介质 - Google Patents

一种软件安全性分析方法、系统、设备及计算机存储介质 Download PDF

Info

Publication number
CN111475808B
CN111475808B CN202010269312.8A CN202010269312A CN111475808B CN 111475808 B CN111475808 B CN 111475808B CN 202010269312 A CN202010269312 A CN 202010269312A CN 111475808 B CN111475808 B CN 111475808B
Authority
CN
China
Prior art keywords
target api
parameter value
api
target
software
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.)
Active
Application number
CN202010269312.8A
Other languages
English (en)
Other versions
CN111475808A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010269312.8A priority Critical patent/CN111475808B/zh
Publication of CN111475808A publication Critical patent/CN111475808A/zh
Application granted granted Critical
Publication of CN111475808B publication Critical patent/CN111475808B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

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)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种软件安全性分析方法、系统、设备及计算机可读存储介质,获取待测试软件在运行过程中调用的待分析API信息;获取恶意软件在运行过程中调用的目标API信息;将待分析API信息与目标API信息进行比较,判定待测试软件的安全性。本申请中,只需将待分析API信息与目标API信息进行比较,即可判定待测试软件的安全性,方便快捷,此外,由于软件在运行过程中必然要调用API,所以借助软件在运行过程中调用的API信息可以准确反映软件的安全性,准确性好。本申请提供的一种软件安全性分析系统、设备及计算机可读存储介质也解决了相应技术问题。

Description

一种软件安全性分析方法、系统、设备及计算机存储介质
技术领域
本申请涉及软件安全技术领域,更具体地说,涉及一种软件安全性分析方法、系统、设备及计算机存储介质。
背景技术
随着科学科技的发展,尤其是信息化进程的不断加快,计算机及互联网在人们日常生活中发挥的作用越来越大,普及率也越来越高。计算机在各方面给人们带来便利、高效率的同时,依靠网络传播的恶意软件呈现爆炸式增长趋势。
传统的恶意软件检测技术依靠人工生成的病毒特征码或规则库,对检测样本文件进行全文匹配,如果与特征库中的特征码相匹配,则报出恶意软件。该方法准确率高,误报率低,但依赖人工生成特征库或专家知识库,且检测效率低下。随着大数据时代的到来,对于大容量高速主干网络和需要进行海量文件交互的大型云平台,开发对恶意软件进行高效且准确度高的检测方法成为必然的发展趋势。
综上所述,如何提高软件安全性分析的效率和准确性是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种软件安全性分析方法,其能在一定程度上解决如何提高软件安全性分析的效率和准确性的技术问题。本申请还提供了一种软件安全性分析系统、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种软件安全性分析方法,其特征在于,包括:
获取待测试软件在运行过程中调用的待分析API信息;
获取恶意软件在运行过程中调用的目标API信息;
将所述待分析API信息与所述目标API信息进行比较,判定所述待测试软件的安全性。
优选的,所述获取待测试软件在运行过程中调用的待分析API信息,包括:
获取所述待测试软件在沙箱运行过程中调用的所述待分析API信息。
优选的,所述将所述待分析API信息与所述目标API信息进行比较,判定所述待测试软件的安全性,包括:
基于所述待分析API信息及所述目标API信息,计算所述待分析API信息的风险值;
基于所述风险值判定所述待测试软件的安全性。
优选的,所述目标API信息的类型包括API类型、API参数值、API参数值的权重;
所述基于所述待分析API信息及所述目标API信息,计算所述待分析API信息的风险值,包括:
确定出所述待分析API信息中与所述目标API信息中API类型相同的目标API;
在所述待分析信息中,确定出所述目标API对应的目标API参数值;
基于所述目标API参数值及所述目标API参数值在所述目标API信息中的权重,计算所述风险值。
优选的,所述获取恶意软件在运行过程中调用的目标API信息,包括:
统计预设个恶意软件在运行过程中调用的目标API类型、目标API参数值;
统计所述目标API参数值的出现频率;
基于所述目标API参数值的出现频率确定所述目标API参数值的排列顺序;
基于所述目标API参数值的排列顺序确定所述目标API参数值的权重;
将所述目标API类型、所述目标API参数值、所述目标API参数值的权重作为所述目标API信息;
所述基于所述目标API参数值及所述目标API参数值在所述目标API信息中的权重,计算所述风险值,包括:
通过风险值运算公式,基于所述目标API参数值及所述目标API参数值在所述目标API信息中的权重,计算所述风险值;
所述风险值运算公式包括:
Figure BDA0002442531760000031
其中,f表示所述风险值;n表示所述目标API信息中API的个数;3、2、1表示所述目标API参数值在所述目标API信息中的权重;所述目标API参数值与3所代表的目标API参数值一致时,i=1,否则i=0;所述目标API参数值与2所代表的目标API参数值一致时,j=1,否则j=0;所述目标API参数值与1所代表的目标API参数值一致时,k=1,否则k=0;所述待分析API属于所述目标API时,b=1,否则b=0。
优选的,所述统计所述目标API参数值的出现频率,包括:
若所述目标API参数值的类型为数值,则将数值相等的所述目标API参数值的数量作为所述目标API参数值的出现频率;
若所述目标API参数值的类型为表示文件名的字符,则将后缀相同的所述目标API参数值的数量作为所述目标API参数值的出现频率;
若所述目标API参数值的类型为表示非文件名的字符,则将最后一个非数字字母以后的字符串相同的所述目标API参数值的数量作为所述目标API参数值的出现频率。
优选的,所述基于所述风险值判定所述待测试软件的安全性之后,还包括:
若基于所述风险值判定所述待测试软件危险,则将所述待测试软件作为所述恶意软件。
一种软件安全性分析系统,包括:
第一获取模块,用于获取待测试软件在运行过程中调用的待分析API信息;
第二获取模块,用于获取恶意软件在运行过程中调用的目标API信息;
第一处理模块,用于将所述待分析API信息与所述目标API信息进行比较,判定所述待测试软件的安全性。
一种软件安全性分析设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述软件安全性分析方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述软件安全性分析方法的步骤。
本申请提供的一种软件安全性分析方法,获取待测试软件在运行过程中调用的待分析API信息;获取恶意软件在运行过程中调用的目标API信息;将待分析API信息与目标API信息进行比较,判定待测试软件的安全性。本申请中,只需将待分析API信息与目标API信息进行比较,即可判定待测试软件的安全性,方便快捷,此外,由于软件在运行过程中必然要调用API,所以借助软件在运行过程中调用的API信息可以准确反映软件的安全性,准确性好。本申请提供的一种软件安全性分析系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种软件安全性分析方法的流程图;
图2为本申请实施例提供的一种软件安全性分析系统的结构示意图;
图3为本申请实施例提供的一种软件安全性分析设备的结构示意图;
图4为本申请实施例提供的一种软件安全性分析设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种软件安全性分析方法的流程图。
本申请实施例提供的一种软件安全性分析方法,可以包括以下步骤:
步骤S101:获取待测试软件在运行过程中调用的待分析API信息。
实际应用中,由于软件在运行过程中会调用相应的API(ApplicationProgramming Interface,应用程序编程接口),所以可以采集待测试软件在运行过程中调用的API信息作为待分析API信息,借助待分析API信息来判断待测试软件的安全性。应当指出,本申请所描述的API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问操作系统的能力,而又无需访问源码,或理解内部工作机制的细节。
步骤S102:获取恶意软件在运行过程中调用的目标API信息。
实际应用中,在获取待分析API信息之后,便可以获取恶意软件在运行过程中调用的目标API信息,由于目标API信息为恶意软件在运行过程中调用的API信息,所以目标API信息可以反映恶意软件的恶意特征,相应的,本申请可以借助目标API信息来判断待测试软件的安全性。
步骤S103:将待分析API信息与目标API信息进行比较,判定待测试软件的安全性。
实际应用中,在获取目标API信息之后,可以将待分析API信息与目标API信息进行比较,来判定待测试软件的安全性,具体的,可以判断待分析API信息与目标API信息间的相似性,根据该相似性来判定待分析软件的安全性等。
本申请提供的一种软件安全性分析方法,获取待测试软件在运行过程中调用的待分析API信息;获取恶意软件在运行过程中调用的目标API信息;将待分析API信息与目标API信息进行比较,判定待测试软件的安全性。本申请中,只需将待分析API信息与目标API信息进行比较,即可判定待测试软件的安全性,方便快捷,此外,由于软件在运行过程中必然要调用API,所以借助软件在运行过程中调用的API信息可以准确反映软件的安全性,准确性好。
本申请实施例提供的一种软件安全性分析方法中,由于沙箱是一种安全软件,可以将一个程序放入沙箱运行,这样其所创建修改删除的所有文件和注册表都会被虚拟化重定向,也就是说所有操作都是虚拟的,真实的文件和注册表不会被改动,这样可以确保恶意软件无法对系统关键部位进行改动破坏系统,也即沙箱可以避免待测试软件的威胁,所以为了保证测试设备的安全性,获取待测试软件在运行过程中调用的待分析API信息的步骤,可以具体为:获取待测试软件在沙箱运行过程中调用的待分析API信息。
本申请实施例提供的一种软件安全性分析方法中,由于风险值可以表示待测试软件的安全性,所以可以计算待测试软件的风险值,并根据该风险值来判定待测试软件的安全性,也即将待分析API信息与目标API信息进行比较,判定待测试软件的安全性的步骤,可以具体为:基于待分析API信息及目标API信息,计算待分析API信息的风险值;基于风险值判定待测试软件的安全性。具体应用场景中,可以判断计算得到的风险值是否小于表示软件危险的预设值,若是,则可以判定待测试软件安全,若否,则可以判定待测试软件危险。
实际应用中,目标API信息的类型可以包括API类型、API参数值、API参数值的权重;相应的,基于待分析API信息及目标API信息,计算待分析API信息的风险值的步骤,可以具体为:确定出待分析API信息中与目标API信息中API类型相同的目标API;在待分析信息中,确定出目标API对应的目标API参数值;基于目标API参数值及目标API参数值在目标API信息中的权重,计算风险值。也即恶意软件在调用API的过程中,对各个API的调用情况不同,反过来,各个API在反应软件是否为恶意软件时所占权重不同,因此,为了更好的对待测软件进行安全性判定,可以确定反应恶意软件的目标API参数值的权重,根据目标API参数值的权重计算待测试软件的风险值,进而确定待测试软件的安全性。具体应用场景中,为了便于查看、保存目标API信息,还可以借助表格来保存目标API信息。
实际应用中,由于恶意软件调用各个API参数值的次数不同,所以可以根据各个目标API参数值的出现频率确定各个目标API参数值的权重,也即获取恶意软件在运行过程中调用的目标API信息的步骤,可以具体为:统计预设个恶意软件在运行过程中调用的目标API类型、目标API参数值;统计目标API参数值的出现频率;基于目标API参数值的出现频率确定目标API参数值的排列顺序;基于目标API参数值的排列顺序确定目标API参数值的权重;将目标API类型、目标API参数值、目标API参数值的权重作为目标API信息;相应的,基于目标API参数值及目标API参数值在目标API信息中的权重,计算风险值的步骤,可以具体为:通过风险值运算公式,基于目标API参数值及目标API参数值在目标API信息中的权重,计算风险值;
风险值运算公式包括:
Figure BDA0002442531760000071
其中,f表示风险值;n表示目标API信息中API的个数;3、2、1表示目标API参数值在目标API信息中的权重;目标API参数值与3所代表的目标API参数值一致时,i=1,否则i=0;目标API参数值与2所代表的目标API参数值一致时,j=1,否则j=0;目标API参数值与1所代表的目标API参数值一致时,k=1,否则k=0;待分析API属于目0标API时,b=1,否则b=0。
为了便于说明,现结合具体实施例来对此过程进行描述,例如在20个不同恶意软件运行中CreateFile函数中第一个参数含有.bat出现了15次,第二个参数值是Ox40000000出现了4次,第三个参数值是2出现了10次,第四个参数值都是默认值NULL,第五个参数值是3出现了2次,第六个参数值是128出现了12次,第七个参数值都是默认值NULL,则各个参数值出现频率从大到小的排列顺序可以如表1,在表1中,参数序表示参数值在函数中的序号,其中,排在第一位的参数值为.bat,排在第二位的参数值为128,排在第三位的参数值为2,相应的,可以将参数值.bat的权重设置为3,将参数值128的权重设置为2,将参数值2的权重设置为1等,以便后续根据CreateFile函数中的参数值、参数值的权重判定调用该函数的待测试软件的安全性。
表1 CreateFile函数中参数值的排列顺序
Figure BDA0002442531760000072
本申请实施例提供的一种软件安全性分析方法中,统计目标API参数值的出现频率的步骤,可以具体为包括:若目标API参数值的类型为数值,则将数值相等的目标API参数值的数量作为目标API参数值的出现频率;若目标API参数值的类型为表示文件名的字符,则将后缀相同的目标API参数值的数量作为目标API参数值的出现频率;若目标API参数值的类型为表示非文件名的字符,则将最后一个非数字字母以后的字符串相同的目标API参数值的数量作为目标API参数值的出现频率。
实际应用中,由于API中的默认值不会影响软件的安全性,所以统计目标API参数值的出现频率的步骤,可以具体为:统计非默认值的目标API参数值的出现频率。
本申请实施例提供的一种软件安全性分析方法中,基于风险值判定待测试软件的安全性之后,若基于风险值判定待测试软件危险,则可以将待测试软件作为恶意软件。这样,便可以借助待测试软件丰富恶意软件的样本,并且之后可以借助待测试软件来对新的软件进行安全性分析,形成持续学习。
请参阅图2,图2为本申请实施例提供的一种软件安全性分析系统的结构示意图。
本申请实施例提供的一种软件安全性分析系统,可以包括:
第一获取模块101,用于获取待测试软件在运行过程中调用的待分析API信息;
第二获取模块102,用于获取恶意软件在运行过程中调用的目标API信息;
第一处理模块103,用于将待分析API信息与目标API信息进行比较,判定待测试软件的安全性。
本申请实施例提供的一种软件安全性分析系统,第一获取模块可以包括:
第一获取单元,用于获取待测试软件在沙箱运行过程中调用的待分析API信息。
本申请实施例提供的一种软件安全性分析系统,第一处理模块可以包括:
第一计算子模块,用于基于待分析API信息及目标API信息,计算待分析API信息的风险值;
第一判定子模块,用于基于风险值判定待测试软件的安全性。
本申请实施例提供的一种软件安全性分析系统,目标API信息的类型可以包括API类型、API参数值、API参数值的权重;
第一计算子模块可以包括:
第一确定子模块,用于出待分析API信息中与目标API信息中API类型相同的目标API;
第二确定子模块,用于在待分析信息中,确定出目标API对应的目标API参数值;
第二计算子模块,用于基于目标API参数值及目标API参数值在目标API信息中的权重,计算风险值。
本申请实施例提供的一种软件安全性分析系统,第二获取模块可以包括:
第一统计子模块,用于统计预设个恶意软件在运行过程中调用的目标API类型、目标API参数值;
第二统计子模块,用于统计目标API参数值的出现频率;
第一确定单元,用于基于目标API参数值的出现频率确定目标API参数值的排列顺序;
第二确定单元,用于基于目标API参数值的排列顺序确定目标API参数值的权重;
第一设置单元,用于将目标API类型、目标API参数值、目标API参数值的权重作为目标API信息;
第二计算子模块可以包括:
第一计算单元,用于通过风险值运算公式,基于目标API参数值及目标API参数值在目标API信息中的权重,计算风险值;
风险值运算公式包括:
Figure BDA0002442531760000091
其中,f表示风险值;n表示目标API信息中API的个数;3、2、1表示目标API参数值在目标API信息中的权重;目标API参数值与3所代表的目标API参数值一致时,i=1,否则i=0;目标API参数值与2所代表的目标API参数值一致时,j=1,否则j=0;目标API参数值与1所代表的目标API参数值一致时,k=1,否则k=0;待分析API属于目标API时,b=1,否则b=0。
本申请实施例提供的一种软件安全性分析系统,第二统计子模块可以包括:
第一统计单元,用于若目标API参数值的类型为数值,则将数值相等的目标API参数值的数量作为目标API参数值的出现频率;若目标API参数值的类型为表示文件名的字符,则将后缀相同的目标API参数值的数量作为目标API参数值的出现频率;若目标API参数值的类型为表示非文件名的字符,则将最后一个非数字字母以后的字符串相同的目标API参数值的数量作为目标API参数值的出现频率。
本申请实施例提供的一种软件安全性分析系统,还可以包括:
第二处理模块,用于第一判定子模块基于风险值判定待测试软件的安全性之后,若基于风险值判定待测试软件危险,则将待测试软件作为恶意软件。
本申请还提供了一种软件安全性分析设备及计算机可读存储介质,其均具有本申请实施例提供的一种软件安全性分析方法具有的对应效果。请参阅图3,图3为本申请实施例提供的一种软件安全性分析设备的结构示意图。
本申请实施例提供的一种软件安全性分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:
获取待测试软件在运行过程中调用的待分析API信息;
获取恶意软件在运行过程中调用的目标API信息;
将待分析API信息与目标API信息进行比较,判定待测试软件的安全性。
本申请实施例提供的一种软件安全性分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:获取待测试软件在沙箱运行过程中调用的待分析API信息。
本申请实施例提供的一种软件安全性分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于待分析API信息及目标API信息,计算待分析API信息的风险值;基于风险值判定待测试软件的安全性。
本申请实施例提供的一种软件安全性分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:目标API信息的类型包括API类型、API参数值、API参数值的权重;确定出待分析API信息中与目标API信息中API类型相同的目标API;在待分析信息中,确定出目标API对应的目标API参数值;基于目标API参数值及目标API参数值在目标API信息中的权重,计算风险值。
本申请实施例提供的一种软件安全性分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:统计预设个恶意软件在运行过程中调用的目标API类型、目标API参数值;统计目标API参数值的出现频率;基于目标API参数值的出现频率确定目标API参数值的排列顺序;基于目标API参数值的排列顺序确定目标API参数值的权重;将目标API类型、目标API参数值、目标API参数值的权重作为目标API信息;通过风险值运算公式,基于目标API参数值及目标API参数值在目标API信息中的权重,计算风险值;
风险值运算公式包括:
Figure BDA0002442531760000111
其中,f表示风险值;n表示目标API信息中API的个数;3、2、1表示目标API参数值在目标API信息中的权重;目标API参数值与3所代表的目标API参数值一致时,i=1,否则i=0;目标API参数值与2所代表的目标API参数值一致时,j=1,否则j=0;目标API参数值与1所代表的目标API参数值一致时,k=1,否则k=0;待分析API属于目标API时,b=1,否则b=0。
本申请实施例提供的一种软件安全性分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:若目标API参数值的类型为数值,则将数值相等的目标API参数值的数量作为目标API参数值的出现频率;若目标API参数值的类型为表示文件名的字符,则将后缀相同的目标API参数值的数量作为目标API参数值的出现频率;若目标API参数值的类型为表示非文件名的字符,则将最后一个非数字字母以后的字符串相同的目标API参数值的数量作为目标API参数值的出现频率。
本申请实施例提供的一种软件安全性分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:若基于风险值判定待测试软件危险,则将待测试软件作为恶意软件。
请参阅图4,本申请实施例提供的另一种软件安全性分析设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现软件安全性分析设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
获取待测试软件在运行过程中调用的待分析API信息;
获取恶意软件在运行过程中调用的目标API信息;
将待分析API信息与目标API信息进行比较,判定待测试软件的安全性。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:获取待测试软件在沙箱运行过程中调用的待分析API信息。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于待分析API信息及目标API信息,计算待分析API信息的风险值;基于风险值判定待测试软件的安全性。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:目标API信息的类型包括API类型、API参数值、API参数值的权重;确定出待分析API信息中与目标API信息中API类型相同的目标API;在待分析信息中,确定出目标API对应的目标API参数值;基于目标API参数值及目标API参数值在目标API信息中的权重,计算风险值。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:统计预设个恶意软件在运行过程中调用的目标API类型、目标API参数值;统计目标API参数值的出现频率;基于目标API参数值的出现频率确定目标API参数值的排列顺序;基于目标API参数值的排列顺序确定目标API参数值的权重;将目标API类型、目标API参数值、目标API参数值的权重作为目标API信息;通过风险值运算公式,基于目标API参数值及目标API参数值在目标API信息中的权重,计算风险值;
风险值运算公式包括:
Figure BDA0002442531760000131
其中,f表示风险值;n表示目标API信息中API的个数;3、2、1表示目标API参数值在目标API信息中的权重;目标API参数值与3所代表的目标API参数值一致时,i=1,否则i=0;目标API参数值与2所代表的目标API参数值一致时,j=1,否则j=0;目标API参数值与1所代表的目标API参数值一致时,k=1,否则k=0;待分析API属于目标API时,b=1,否则b=0。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:若目标API参数值的类型为数值,则将数值相等的目标API参数值的数量作为目标API参数值的出现频率;若目标API参数值的类型为表示文件名的字符,则将后缀相同的目标API参数值的数量作为目标API参数值的出现频率;若目标API参数值的类型为表示非文件名的字符,则将最后一个非数字字母以后的字符串相同的目标API参数值的数量作为目标API参数值的出现频率。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:若基于风险值判定待测试软件危险,则将待测试软件作为恶意软件。
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的软件安全性分析系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的软件安全性分析方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种软件安全性分析方法,其特征在于,包括:
获取待测试软件在运行过程中调用的待分析API信息;
获取恶意软件在运行过程中调用的目标API信息;
将所述待分析API信息与所述目标API信息进行比较,判定所述待测试软件的安全性;
其中,所述将所述待分析API信息与所述目标API信息进行比较,判定所述待测试软件的安全性,包括:基于所述待分析API信息及所述目标API信息,计算所述待分析API信息的风险值;基于所述风险值判定所述待测试软件的安全性;
其中,所述目标API信息的类型包括API类型、API参数值、API参数值的权重;
所述基于所述待分析API信息及所述目标API信息,计算所述待分析API信息的风险值,包括:确定出所述待分析API信息中与所述目标API信息中API类型相同的目标API;在所述待分析API信息中,确定出所述目标API对应的目标API参数值;基于所述目标API参数值及所述目标API参数值在所述目标API信息中的权重,计算所述风险值;
其中,所述获取恶意软件在运行过程中调用的目标API信息,包括:统计预设个恶意软件在运行过程中调用的目标API类型、目标API参数值;统计所述目标API参数值的出现频率;基于所述目标API参数值的出现频率确定所述目标API参数值的排列顺序;基于所述目标API参数值的排列顺序确定所述目标API参数值的权重;将所述目标API类型、所述目标API参数值、所述目标API参数值的权重作为所述目标API信息;
所述基于所述目标API参数值及所述目标API参数值在所述目标API信息中的权重,计算所述风险值,包括:通过风险值运算公式,基于所述目标API参数值及所述目标API参数值在所述目标API信息中的权重,计算所述风险值;
所述风险值运算公式包括:
Figure DEST_PATH_IMAGE002
其中,
Figure DEST_PATH_IMAGE004
表示所述风险值;
Figure DEST_PATH_IMAGE006
表示所述目标API信息中API的个数;3、2、1表示所述目标API参数值在所述目标API信息中的权重;所述目标API参数值与3所代表的目标API参数值一致时,
Figure DEST_PATH_IMAGE008
,否则
Figure DEST_PATH_IMAGE010
;所述目标API参数值与2所代表的目标API参数值一致时,
Figure DEST_PATH_IMAGE012
,否则
Figure DEST_PATH_IMAGE014
;所述目标API参数值与1所代表的目标API参数值一致时,
Figure DEST_PATH_IMAGE016
,否则
Figure DEST_PATH_IMAGE018
;所述待分析API属于所述目标API时,
Figure DEST_PATH_IMAGE020
,否则
Figure DEST_PATH_IMAGE022
2.根据权利要求1所述的方法,其特征在于,所述获取待测试软件在运行过程中调用的待分析API信息,包括:
获取所述待测试软件在沙箱运行过程中调用的所述待分析API信息。
3.根据权利要求1所述的方法,其特征在于,所述统计所述目标API参数值的出现频率,包括:
若所述目标API参数值的类型为数值,则将数值相等的所述目标API参数值的数量作为所述目标API参数值的出现频率;
若所述目标API参数值的类型为表示文件名的字符,则将后缀相同的所述目标API参数值的数量作为所述目标API参数值的出现频率;
若所述目标API参数值的类型为表示非文件名的字符,则将最后一个非数字字母以后的字符串相同的所述目标API参数值的数量作为所述目标API参数值的出现频率。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述风险值判定所述待测试软件的安全性之后,还包括:
若基于所述风险值判定所述待测试软件危险,则将所述待测试软件作为所述恶意软件。
5.一种软件安全性分析系统,其特征在于,包括:
第一获取模块,用于获取待测试软件在运行过程中调用的待分析API信息;
第二获取模块,用于获取恶意软件在运行过程中调用的目标API信息;
第一处理模块,用于将所述待分析API信息与所述目标API信息进行比较,判定所述待测试软件的安全性;
其中,所述第一处理模块包括:
第一计算子模块,用于基于所述待分析API信息及所述目标API信息,计算所述待分析API信息的风险值;
第一判定子模块,用于基于所述风险值判定所述待测试软件的安全性;
其中,所述目标API信息的类型包括API类型、API参数值、API参数值的权重;
所述第一计算子模块包括:
第一确定子模块,用于确定出所述待分析API信息中与所述目标API信息中API类型相同的目标API;
第二确定子模块,用于在所述待分析API信息中,确定出所述目标API对应的目标API参数值;
第二计算子模块,用于基于所述目标API参数值及所述目标API参数值在所述目标API信息中的权重,计算所述风险值;
其中,所述第二获取模块包括:
第一统计子模块,用于统计预设个恶意软件在运行过程中调用的目标API类型、目标API参数值;
第二统计子模块,用于统计所述目标API参数值的出现频率;
第一确定单元,用于基于所述目标API参数值的出现频率确定所述目标API参数值的排列顺序;
第二确定单元,用于基于所述目标API参数值的排列顺序确定所述目标API参数值的权重;
第一设置单元,用于将所述目标API类型、所述目标API参数值、所述目标API参数值的权重作为所述目标API信息;
所述第二计算子模块包括:
第一计算单元,用于通过风险值运算公式,基于所述目标API参数值及所述目标API参数值在所述目标API信息中的权重,计算所述风险值;
所述风险值运算公式包括:
Figure 392285DEST_PATH_IMAGE002
其中,
Figure 575004DEST_PATH_IMAGE004
表示所述风险值;
Figure 167791DEST_PATH_IMAGE006
表示所述目标API信息中API的个数;3、2、1表示所述目标API参数值在所述目标API信息中的权重;所述目标API参数值与3所代表的目标API参数值一致时,
Figure 828579DEST_PATH_IMAGE008
,否则
Figure 908531DEST_PATH_IMAGE010
;所述目标API参数值与2所代表的目标API参数值一致时,
Figure 996572DEST_PATH_IMAGE012
,否则
Figure 529185DEST_PATH_IMAGE014
;所述目标API参数值与1所代表的目标API参数值一致时,
Figure 744397DEST_PATH_IMAGE016
,否则
Figure 678855DEST_PATH_IMAGE018
;所述待分析API属于所述目标API时,
Figure 937798DEST_PATH_IMAGE020
,否则
Figure 488865DEST_PATH_IMAGE022
6.一种软件安全性分析设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述软件安全性分析方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述软件安全性分析方法的步骤。
CN202010269312.8A 2020-04-08 2020-04-08 一种软件安全性分析方法、系统、设备及计算机存储介质 Active CN111475808B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010269312.8A CN111475808B (zh) 2020-04-08 2020-04-08 一种软件安全性分析方法、系统、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010269312.8A CN111475808B (zh) 2020-04-08 2020-04-08 一种软件安全性分析方法、系统、设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN111475808A CN111475808A (zh) 2020-07-31
CN111475808B true CN111475808B (zh) 2022-07-08

Family

ID=71750173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010269312.8A Active CN111475808B (zh) 2020-04-08 2020-04-08 一种软件安全性分析方法、系统、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111475808B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101815A (zh) * 2018-07-27 2018-12-28 平安科技(深圳)有限公司 一种恶意软件检测方法及相关设备
CN110135160A (zh) * 2019-04-29 2019-08-16 北京邮电大学 软件检测的方法、装置及系统
CN110826071A (zh) * 2019-09-24 2020-02-21 平安科技(深圳)有限公司 软件漏洞风险预测方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101815A (zh) * 2018-07-27 2018-12-28 平安科技(深圳)有限公司 一种恶意软件检测方法及相关设备
CN110135160A (zh) * 2019-04-29 2019-08-16 北京邮电大学 软件检测的方法、装置及系统
CN110826071A (zh) * 2019-09-24 2020-02-21 平安科技(深圳)有限公司 软件漏洞风险预测方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111475808A (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
US11042647B1 (en) Software assurance system for runtime environments
Arshad et al. SAMADroid: a novel 3-level hybrid malware detection model for android operating system
US10152591B2 (en) Protecting against malware variants using reconstructed code of malware
US8762948B1 (en) System and method for establishing rules for filtering insignificant events for analysis of software program
RU2573265C2 (ru) Способ выявления ложных положительных результатов сканирования файлов на вредоносное по
CN111931048B (zh) 基于人工智能的黑产账号检测方法及相关装置
Mercaldo et al. Hey malware, i can find you!
CN104866770B (zh) 敏感数据扫描方法和系统
CN114598504B (zh) 一种风险评估方法、装置、电子设备及可读存储介质
CN111343154A (zh) 漏洞检测方法、装置、终端设备以及存储介质
CN110766402B (zh) 交易顺序依赖漏洞检测方法、系统、电子装置及存储介质
US11528298B2 (en) Methods and systems for preventing malicious activity in a computer system
CN110858247A (zh) 安卓恶意应用检测方法、系统、设备及存储介质
CN106709336A (zh) 识别恶意软件的方法和装置
CN111177720B (zh) 基于大数据生成威胁情报的方法、装置及可读存储介质
Choi et al. All‐in‐One Framework for Detection, Unpacking, and Verification for Malware Analysis
JP6322240B2 (ja) フィッシング・スクリプトを検出するためのシステム及び方法
Alshamrani Design and analysis of machine learning based technique for malware identification and classification of portable document format files
CN114154153A (zh) 恶意代码检测方法及装置、电子设备、存储介质
CN111475808B (zh) 一种软件安全性分析方法、系统、设备及计算机存储介质
CN114969759B (zh) 工业机器人系统的资产安全评估方法、装置、终端及介质
CN117272308A (zh) 软件安全测试方法、装置、设备、存储介质及程序产品
CN116595523A (zh) 基于动态编排的多引擎文件检测方法、系统、设备及介质
Vahedi et al. Cloud based malware detection through behavioral entropy
CN115643044A (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