CN112689835A - 一种恶意应用的检测方法、装置及存储介质 - Google Patents

一种恶意应用的检测方法、装置及存储介质 Download PDF

Info

Publication number
CN112689835A
CN112689835A CN202080004482.1A CN202080004482A CN112689835A CN 112689835 A CN112689835 A CN 112689835A CN 202080004482 A CN202080004482 A CN 202080004482A CN 112689835 A CN112689835 A CN 112689835A
Authority
CN
China
Prior art keywords
application
configuration information
information
operating system
malicious
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
Application number
CN202080004482.1A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112689835A publication Critical patent/CN112689835A/zh
Pending legal-status Critical Current

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

Landscapes

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

Abstract

本申请公开了一种恶意应用的检测方法、装置及存储介质。该应用检测方法包括:获取操作***的初始信息;获取操作***的运行信息;将合法应用信息与待检测应用信息进行比对,或者将初始状态下的配置信息与运行状态下的配置信息进行比对,得到比对结果;在比对结果不相同的情况下,确定操作***上的待检测应用为恶意应用。本方法将操作***在初始状态下和在运行状态下的配置信息进行比对,将操作***的合法应用信息和待检测应用信息进行比对,从而对待检测应用的安全性进行检测,并评估待检测应用的恶意等级,能够节省大量的计算和存储资源,提高检测效率,且对代码发生变化或采用代码混淆、加壳等技术的恶意应用检测仍有效,提高检测结果的准确性。

Description

一种恶意应用的检测方法、装置及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种恶意应用的检测方法、装置及存储介质。
背景技术
应用(Application,App),是为完成某一项或多项特定工作的计算机程序。基于Linux内核的操作***,例如安卓(Android)***,主要应用于移动终端设备。由于基于Linux内核的操作***代码的开源以及丰富的扩展性,基于Linux内核的操作***开发的App功能越来越多样,极大的满足了人们日常生活中的各种需求。
但是,依附于拥有庞大用户量的终端***,通过恶意App进行欺诈、扣费、挖矿等行为的黑色产业也在快速发展。黑色产业对用户的数据安全造成重大影响。例如,搭载Android***的车机,与车机进行通信的移动终端设备因受到恶意App攻击,导致车主隐私数据泄露,甚至严重威胁车辆的驾驶安全。因此,对基于Linux内核的操作***的应用安全性的检测,一直以来都是信息安全人员研究的重点课题。
目前所采用的应用检测方法是对App的源代码进行检测,但是需要耗费大量的计算和存储资源,检测效率低;而且当恶意App代码发生变化或采用代码混淆、加壳等技术后,可以轻易的绕过检测。因此,目前的恶意App的检测方法资源消耗大,且检测结果准确性低。
发明内容
本申请实施例提供了一种恶意应用的检测方法、装置及存储介质,通过文本比对技术,将操作***在初始状态下的配置信息和在运行状态下的配置信息进行比对,将操作***的合法应用信息和待检测应用信息进行比对,从而对待检测应用的安全性进行检测,并评估待检测应用的恶意等级,能够节省大量的计算和存储资源,提高了检测效率,且对代码发生变化或采用代码混淆、加壳等技术的恶意应用检测仍然有效,提高了检测结果的准确性。
第一方面,本申请实施例提供了一种恶意应用的检测方法,该检测方法包括:
获取操作***的初始信息,其中,所述初始信息包括所述操作***的合法应用信息或所述操作***在初始状态下的配置信息,所述初始状态为所述操作***首次运行前的状态;
获取所述操作***的运行信息,所述运行信息包括所述操作***的待检测应用信息或所述操作***在运行状态下的配置信息;
将所述合法应用信息与所述待检测应用信息进行比对,或者将所述初始状态下的配置信息与所述运行状态下的配置信息进行比对,得到比对结果;
在所述比对结果不相同的情况下,确定所述操作***上的待检测应用为恶意应用。
本申请实施例中,基于文本比对技术,将操作***的配置信息、应用的应用信息作为两项比对内容,给出了一种恶意应用的检测方法,与目前采用的众多的“检测应用本身”的检测方法相比,本实施例中的检测方法,结合操作***运行机制下的***内容检测和应用内容检测,能够节省大量的计算和存储资源,提高了检测效率,且对代码发生变化或采用代码混淆、加壳等技术的恶意应用检测仍然有效,提高了检测结果的准确性。
在一个可能的实现方式中,所述将所述初始状态下的配置信息与所述运行状态下的配置信息进行比对,具体包括:
将所述操作***在所述初始状态下的配置信息的散列值和所述操作***在所述运行状态下的配置信息的散列值进行比对。
在该实现方式中,采用比对散列值的方法去比对初始状态下的配置信息和运行状态下的配置信息是否相同。将操作***在初始状态下的配置信息的散列值和操作***在运行状态下的配置信息的散列值进行比对,配置信息的散列值和该配置信息是一起获取得到的,通过比对两个配置信息的散列值可以使配置信息的接收者确认该配置信息内容的真实性,从而确认上述两个配置信息的内容是否相同,该比对方法有效提高了配置信息比对的效率。
在一个可能的实现方式中,所述将所述初始状态下的配置信息与所述运行状态下的配置信息进行比对,具体包括:
将第一配置信息与第二配置信息进行比对,其中,所述第一配置信息为所述操作***在所述初始状态下的***启动进程的配置信息,所述第二配置信息为所述操作***在所述运行状态下的***启动进程的配置信息;
或者,
将第三配置信息与第四配置信息进行比对,其中,所述第三配置信息为所述操作***在所述初始状态下的用户登录所述操作***进程的配置信息,所述第四配置信息为所述操作***在所述运行状态下的用户登录所述操作***进程的配置信息。
在该实现方式中,将初始状态下、以及运行状态下的操作***的***启动进程的配置信息进行比对,或者,将初始状态下、以及运行状态下的操作***的用户登录该操作***进程的配置信息进行比对。通过本实现方式中所描述的内容比对,可以以操作***的层级为角度,检测操作***运行机制下的配置信息,对采用隐藏伪装技术处理的高威胁恶意应用的检测依然有效,且提高了检测效率以及检测结果的准确性。
在一个可能的实现方式中,所述将所述合法应用信息与所述待检测应用信息进行比对,具体包括:
将所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称进行比对;
或者,
将第五配置信息与第六配置信息进行比对,其中,所述第五配置信息包括所述待检测应用在初始状态下的应用启动进程的配置信息,所述第六配置信息包括所述待检测应用在运行状态下的应用启动进程的配置信息。
在该实现方式中,将合法应用信息中的应用名称和待检测应用信息中的应用名称进行比对,或者,将初始状态下、以及运行状态下的待检测应用的应用启动进程的配置信息进行比对。通过本实现方式中所描述的内容比对,可以以应用的层级为角度,结合操作***的运行机制,检测应用在初始状态下的应用启动进程的配置信息和在运行状态下的应用启动进程的配置信息,对采用隐藏伪装技术处理的高威胁恶意应用的检测依然有效,且节省了大量的计算和存储资源,提高了检测效率以及检测结果的准确性。
在一个可能的实现方式中,所述检测方法还包括:
根据所述初始信息和所述运行信息,确定所述待检测应用的恶意等级。
在该实现方式中,初始信息和运行信息不同,确定待检测应用为恶意应用,以此为前提,依据初始信息和运行信息之间的具体差异,对该待检测应用的恶意等级进行了进一步确定。通过本实现方式,确定待检测应用的恶意等级,可评估该待检测应用对终端设备的威胁程度的高低,进而为后续对该恶意应用采取不同程度的方式降低或解决可能存在的威胁提供了理论依据,提高了应用运行环境的安全性和整体稳定性。
在一个可能的实现方式中,所述根据所述初始信息和所述运行信息,确定所述待检测应用的恶意等级,具体包括:
在所述第一配置信息和所述第二配置信息不同的情况下,确定所述待检测应用为第一级恶意应用;
在所述第一配置信息和所述第二配置信息相同、且所述第三配置信息和所述第四配置信息不同的情况下,确定所述待检测应用为第二级恶意应用,其中,所述第二级恶意应用的恶意等级低于所述第一级恶意应用的恶意等级。
在该实现方式中,提供了在操作***层级的信息不同的情况下,确定待检测应用的恶意等级的实现方式。上述第一配置信息和第二配置信息不同时,确定待检测应用为第一级恶意应用,该第一级恶意应用表示恶意程度最高的待检测应用;上述第一配置信息和第二配置信息相同、且上述第三配置信息和第四配置信息不同时,确定该待检测应用为第二级恶意应用,因为操作***在初始状态下的***启动进程的配置信息和在运行状态下的***启动进程的配置信息相同,故该第二级恶意应用表示的恶意等级要低于第一级恶意应用表示的恶意等级。
在一个可能的实现方式中,所述根据所述初始信息和所述运行信息,确定所述待检测应用的恶意等级,具体包括:
在所述第一配置信息和所述第二配置信息相同、所述第三配置信息和所述第四配置信息相同、且所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称不同的情况下,确定所述待检测应用为第三级恶意应用,其中,所述第三级恶意应用的恶意等级低于所述第二级恶意应用的恶意等级。
在该实现方式中,提供了在应用层级的信息不同的情况下,确定待检测应用的恶意等级的实现方式。上述第一配置信息和第二配置信息相同、上述第三配置信息和第四配置信息相同、且合法应用信息中的应用名称和待检测应用信息中的应用名称不同时,确定该待检测应用为第三级恶意应用,因为操作***在初始状态下的***启动进程的配置信息和在运行状态下的***启动进程的配置信息相同、且操作***在初始状态下的用户登录操作***进程的配置信息和操作***在运行状态下的用户登录操作***进程的配置信息相同,故该第三级恶意应用表示的恶意等级要低于第二级恶意应用、第一级恶意应用表示的恶意等级。
在一个可能的实现方式中,所述根据所述初始信息和所述运行信息,确定所述待检测应用的恶意等级,具体包括:
在所述第一配置信息和所述第二配置信息相同、所述第三配置信息和所述第四配置信息相同、所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称相同、且所述第五配置信息和所述第六配置信息不同的情况下,确定所述待检测应用为第四级恶意应用,其中,所述第四级恶意应用的恶意等级低于所述第三级恶意应用的恶意等级。
在该实现方式中,提供了在应用层级的信息不同的情况下,确定待检测应用的恶意等级的另一种实现方式。上述第一配置信息和第二配置信息相同、上述第三配置信息和第四配置信息相同,合法应用信息中的应用名称和待检测应用信息中的应用名称相同、且上述第五配置信息和第六配置信息不同时,确定该待检测应用为第四级恶意应用,因为操作***在初始状态下的***启动进程的配置信息和在运行状态下的***启动进程的配置信息相同、操作***在初始状态下的用户登录操作***进程的配置信息和操作***在运行状态下的用户登录操作***进程的配置信息相同、且合法应用信息中的应用名称和待检测应用信息中的应用名称相同,故该第四级恶意应用表示的恶意等级要低于第三级恶意应用、第二级恶意应用、第一级恶意应用表示的恶意等级。
在一个可能的实现方式中,所述操作***包括采用Linux内核的***。
在该实现方式中,操作***包括了采用Linux内核的***,采用Linux内核的***启动的第一个进程一般是init进程,其进程的配置信息通常存储在init.rc文件中,因此,采用Linux内核的***都适用于本申请实施例所描述的恶意应用的检测方法。
在一个可能的实现方式中,所述检测方法还包括:
根据所述初始信息和所述运行信息,确定所述待检测应用的存储路径。
在该实现方式中,初始信息和运行信息不同,确定待检测应用为恶意应用,以此为前提,依据初始信息和运行信息之间的具体差异,对该待检测应用的存储路径进行了进一步确定。在上述第一配置信息和上述第二配置信息不同的情况下,解析第一配置信息的标签和第二配置信息的标签,得到第一配置信息的标签内容和第二配置信息的标签内容,将第一配置信息的标签内容和第二配置信息的标签内容比对,依据二者内容上的差异确定待检测应用的存储路径。同理,在上述第三配置信息和上述第四配置信息不同的情况下,解析第三配置信息的标签和第四配置信息的标签,得到第三配置信息的标签内容和第四配置信息的标签内容,将第三配置信息的标签内容和第四配置信息的标签内容比对,依据二者内容上的差异确定待检测应用的存储路径。在上述第五配置信息和上述第六配置信息不同的情况下,解析第五配置信息的标签和第六配置信息的标签,得到第五配置信息的标签内容和第六配置信息的标签内容,将第五配置信息的标签内容和第六配置信息的标签内容比对,依据二者内容上的差异确定待检测应用的存储路径。通过本实现方式中的确定存储路径的方法,可以快速确定恶意应用的存储路径,后续可根据存储路径对恶意应用进行相应的处理,如根据存储路径对恶意应用进行卸载、限制相应的权限获取等处理,提高操作***运行环境的安全性。
第二方面,本申请实施例提供了一种恶意应用的检测装置,该检测装置包括:
获取单元,用于获取操作***的初始信息,其中,所述初始信息包括所述操作***的合法应用信息或所述操作***在初始状态下的配置信息,所述初始状态为所述操作***首次运行前的状态;
所述获取单元,还用于获取所述操作***的运行信息,所述运行信息包括所述操作***的待检测应用信息或所述操作***在运行状态下的配置信息;
比对单元,用于将所述合法应用信息与所述待检测应用信息进行比对,或者将所述初始状态下的配置信息与所述运行状态下的配置信息进行比对,得到比对结果;
确定单元,用于在所述比对结果不相同的情况下,确定所述操作***上的待检测应用为恶意应用。
在一个可能的实现方式中,所述比对单元,具体用于将所述操作***在所述初始状态下的配置信息的散列值和所述操作***在所述运行状态下的配置信息的散列值进行比对。
在一个可能的实现方式中,所述比对单元,具体还用于将第一配置信息与第二配置信息进行比对,其中,所述第一配置信息为所述操作***在所述初始状态下的***启动进程的配置信息,所述第二配置信息为所述操作***在所述运行状态下的***启动进程的配置信息;
或者,
所述比对单元,具体还用于将第三配置信息与第四配置信息进行比对,其中,所述第三配置信息为所述操作***在所述初始状态下的用户登录所述操作***进程的配置信息,所述第四配置信息为所述操作***在所述运行状态下的用户登录所述操作***进程的配置信息。
在一个可能的实现方式中,所述比对单元,具体还用于将所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称进行比对;
或者,
所述比对单元,具体还用于将第五配置信息与第六配置信息进行比对,其中,所述第五配置信息包括所述待检测应用在初始状态下的应用启动进程的配置信息,所述第六配置信息包括所述待检测应用在运行状态下的应用启动进程的配置信息。
在一个可能的实现方式中,所述确定单元,还用于根据所述初始信息和所述运行信息,确定所述待检测应用的恶意等级。
在一个可能的实现方式中,所述确定单元,具体用于在所述第一配置信息和所述第二配置信息不同的情况下,确定所述待检测应用为第一级恶意应用;
所述确定单元,具体还用于在所述第一配置信息和所述第二配置信息相同、且所述第三配置信息和所述第四配置信息不同的情况下,确定所述待检测应用为第二级恶意应用,其中,所述第二级恶意应用的恶意等级低于所述第一级恶意应用的恶意等级。
在一个可能的实现方式中,所述确定单元,具体还用于在所述第一配置信息和所述第二配置信息相同、所述第三配置信息和所述第四配置信息相同、且所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称不同的情况下,确定所述待检测应用为第三级恶意应用,其中,所述第三级恶意应用的恶意等级低于所述第二级恶意应用的恶意等级。
在一个可能的实现方式中,所述确定单元,具体还用于在所述第一配置信息和所述第二配置信息相同、所述第三配置信息和所述第四配置信息相同、所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称相同、且所述第五配置信息和所述第六配置信息不同的情况下,确定所述待检测应用为第四级恶意应用,其中,所述第四级恶意应用的恶意等级低于所述第三级恶意应用的恶意等级。
在一个可能的实现方式中,所述操作***包括采用Linux内核的***。
在一个可能的实现方式中,所述确定单元,还用于根据所述初始信息和所述运行信息,确定所述待检测应用的存储路径。
关于第二方面或各种可能的实现方式所带来的技术效果,可参考对应于第一方面或相应的实现方式的技术效果的介绍。
第三方面,本申请实施例提供一种恶意应用的检测装置,所述检测装置包括处理器和存储器;所述存储器用于存储计算机执行指令;所述处理器用于执行所述存储器所存储的计算机执行指令,以使所述检测装置执行如上述第一方面以及任一项可能的实现方式的方法。可选的,所述检测装置还包括收发器,所述收发器,用于接收信号或者发送信号。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储指令或计算机程序;当所述指令或所述计算机程序被执行时,使得第一方面所述的方法被实现。
第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括指令或计算机程序;当所述指令或所述计算机程序被执行时,使得第一方面所述的方法被实现。
本申请实施例中,通过文本比对技术,将操作***在初始状态下的配置信息和在运行状态下的配置信息进行比对,以及将操作***的合法应用信息和待检测应用信息进行比对,从而对待检测应用的安全性进行检测,并评估待检测应用的恶意等级,能够节省大量的计算和存储资源,提高检测效率,且对代码发生变化或采用代码混淆、加壳等技术的恶意应用检测仍有效,提高检测结果的准确性。
附图说明
图1为本申请实施例提供的一种恶意应用检测的场景示意图;
图2为本申请实施例提供的一种恶意应用检测的架构示意图;
图3为本申请实施例提供的一种恶意应用的检测方法的流程示意图;
图4为本申请实施例提供的另一种恶意应用的检测方法的流程示意图;
图5为本申请实施例提供的又一种恶意应用的检测方法的流程示意图;
图6为本申请实施例提供的又一种恶意应用的检测方法的流程示意图;
图7为本申请实施例提供的一种恶意应用的检测装置的结构示意图;
图8为本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例进行描述。
本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
在本文中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
本申请提供了一种恶意应用的检测方法,为了更清楚地描述本申请的方案,下面先介绍一些与应用检测相关的知识。
APKTool:是一种Android应用程序包(Android application package,APK)编译工具,能够反编译及回编译apk,同时安装反编译***apk所需要的framework-res框架,清理上次反编译文件夹等功能。apk的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android***所能识别的文件才可以被运行,而这种能被Android***识别并运行的文件格式便是“apk”。一个apk文件内包含被编译的代码文件(.dex文件),文件资源(resources),原生资源文件(assets),证书(certificates),和清单文件(manifestfile)。
沙箱:网络编程虚拟执行环境,是一个虚拟***程序,允许测试者在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。在网络安全中,沙箱指在隔离环境中,用以测试不受信任的文件或应用程序等行为的工具。
Hook技术:又叫做钩子函数,在***没有调用该函数之前,钩子程序就先捕获该消息,钩子函数先得到控制权,这时钩子函数既可以加工处理(改变)该函数的执行行为,还可以强制结束消息的传递。简单来说,就是把***的程序拉出来变成我们自己执行代码片段。
下面结合本申请实施例中的附图对本申请实施例进行描述。
请参阅图1,图1为本申请实施例提供的一种恶意应用检测的场景示意图。如图1所示,安装在汽车中控台的101为搭载了Android***的车机,车机是安装在汽车里面的车载信息娱乐产品的简称,其除了传统的收音机、音视频播放、导航功能以外,还具有车载信息服务(Telematics)功能,能够实现人与车、车与外界(车与车)的信息通讯。其中,“I-Call”和“E-Call”功能是Telematics功能中最典型的代表。“I-Call”功能是可以通过车机内置的通讯模块连接后台呼叫中心,提供一键导航及相应的位置及远程服务;“E-Call”功能是当汽车出现严重事故时,可以通过控制器局域网络(controller area network,CAN)总线读取安全气囊的信息,自动拔打紧急救援电话。除此之外,Telematics功能还带有定位功能、防盗监控功能,当车辆被盗后,呼叫中心将联合执法部门对车辆进行定位追踪。在此场景中,如果车机受到恶意App的攻击,将影响车辆的某些功能实现。
102为搭载了Android***的手机,且手机102可与车机101通过蓝牙连接或数据线连接或其他方式进行通信。例如,102(手机)与101(车机)蓝牙连接,用户便可通过操作手机来控制车机行为:在手机上打开音乐播放应用,通过与车机通信,使与车机联通的车载音响播放手机里的歌曲;当接听手机来电时,可以无需手持手机进行通话,而是利用与车机联通的音响和麦克风进行通话。但在上述场景中,与车机进行通联的手机因受到恶意App攻击,导致车主隐私泄露,甚至影响车辆驾驶安全的事件也日渐增加。比如,手机上的某款地图App因受到网络攻击代码遭到恶意篡改,在该App的导航下驾驶员将误入歧途,甚至严重威胁驾驶安全。
因此,在上述应用场景中,应用高效的恶意应用的检测方法,对于保障用户信息安全、车辆驾驶安全具有十分重要的意义。
针对上述应用场景中存在的问题,本申请实施例提供了一种新的恶意应用检测架构。请参阅图2,图2为本申请实施例提供的一种恶意应用检测的架构示意图。如图2所示,本架构主要包括三个模块:原始信息数据库模块、文件分析模块、以及应用检测结果模块。
原始信息数据库模块用于建立原始信息数据库,该原始信息数据库主要包含两方面内容:操作***在初始状态下的配置信息,以及操作***的合法应用信息。其中,上述初始状态指的是操作***首次运行前的状态,包括了出厂后未被使用过的、首次运行前的状态,或者是官方后续发布该操作***的更新版本后未被使用过的、首次运行前的状态。操作***在初始状态下的配置信息主要包括操作***的***启动进程的配置信息、用户登录该操作***进程的配置信息。上述操作***的合法应用信息主要包括一些合法应用的相关信息,如合法应用的应用名称、合法应用的配置信息,该合法应用的配置信息具体可以是应用启动进程的配置信息。
原始信息数据库中包含的信息无需接入操作***就可以获取到,原始信息数据库模块可以通过在发布操作***的官网等平台下载得到该操作***在初始状态下的配置信息。同样的,原始信息数据库模块也可以通过不同的途径获取操作***的合法应用信息,对不同类别的合法应用采取不同的途径获取其应用信息。进一步的,操作***的合法应用信息中包含的合法应用主要有两大类,一类是该操作***在初始状态下预装的应用,原始信息数据库模块可以在发布该类应用的官网等平台下载得到该类应用的应用名称和配置信息等应用的相关信息;另一类合法应用是第三方应用平台公开的基于上述操作***开发的应用,原始信息数据库模块可以在相应的第三方平台下载得到该类应用的应用名称和配置信息等应用的相关内容。因此,原始信息数据库获取信息无需依赖于操作***的运行,且该信息是在操作***出厂后或者更新后就可确定的信息。
上述***启动进程的配置信息为操作***启动的第一个进程的信息,该***启动进程工作后会派生出其他重要的***进程,以执行相应的功能。上述操作***包括采用Linux内核的***,如Android、乌班图(ubuntu)等。在以Linux为内核的操作***中,***启动的第一个进程一般是init进程,该进程用于指示操作***在启动时进行一系列相应的处理,比如启动用户登录、实现运行级别、以及处理孤立进程等处理。因此,上述***启动进程的配置信息通常存储在init.rc文件和rc.local文件中,init.rc文件和rc.local文件均为随***启动而启动的脚本,init.rc文件先于rc.local文件启动。init.rc文件是一个规定init进程行为和动作的配置文件,rc.local文件用于记录***启动的执行命令,在***启动后、用户登录前执行。同样的,在以Linux为内核的操作***中,上述用户登录操作***进程的配置信息通常存储在profile文件中,profile文件为随用户登录操作***而启动的脚本,profile文件用于记录一些用户登录***时的执行命令,在***启动后、用户登录该***时执行上述命令。此外,init.rc文件在***的路径为“/system/core/rootdir/init.rc”,rc.local文件在***的路径为“/etc/init.rc”,profile文件在***的路径为“/etc/profile”。上述应用启动进程的配置信息通常存储在AndroidManifest.xml文件中,AndroidManifest.xml文件是一个位于应用的根目录的应用清单文件,包含了该应用的配置信息,操作***需要根据里面的内容运行应用的代码,显示界面,执行相应功能。
文件分析模块用于将操作***的运行信息与原始信息数据库中的信息进行比对分析。操作***的运行信息与原始信息数据库中的信息不同,需要依赖于操作***在运行状态下获取得到,运行状态为操作***出厂后或更新后正在使用中的状态,故文件分析模块需接入操作***,获取操作***的相关权限,进而获取操作***的运行信息。操作***的运行信息主要包含两方面内容:操作***在运行状态下的配置信息,以及操作***的待检测应用信息。操作***在运行状态下的配置信息主要包括操作***的***启动进程的配置信息、用户登录该操作***进程的配置信息。操作***的待检测应用信息主要包括待检测应用的应用名称、待检测应用的配置信息等应用的相关信息,该待检测应用的配置信息具体可以是应用启动进程的配置信息。
与上述原始信息数据库中的信息类似,在以Linux为内核的操作***中,操作***在运行状态下的***启动进程的配置信息通常存储在init.rc文件和rc.local文件中,操作***在运行状态下的用户登录该操作***进程的配置信息通常存储在profile文件中,待检测应用的应用启动进程的配置信息通常存储在待检测应用的AndroidManifest.xml文件中。
文件分析模块将操作***的运行信息与原始信息数据库中的信息进行比对分析,因为上述二者的配置信息通常存储于相应的配置文件中,故可以通过比对配置文件的散列值来达到比对配置信息的目的,具体的比对内容可以从以下几个方面进行比对:
第一,文件分析模块将操作***在初始状态下的***启动进程的配置信息和在运行状态下的***启动进程的配置信息进行比对;
第二,文件分析模块将操作***在初始状态下的用户登录该操作***进程的配置信息和在运行状态下的用户登录该操作***进程的配置信息进行比对;
第三,文件分析模块将操作***的合法应用信息中的应用名称和待检测应用信息中的应用名称进行比对;
第四,文件分析模块将操作***的待检测应用在初始状态下的应用启动进程的配置信息和在运行状态下的应用启动进程的配置信息进行比对。
需要注意的是,上述四种比对内容可以是四种并行比对方案的比对内容,也可以是按先后顺序依次递进比对方案的比对内容,文件分析模块可根据不同的应用场景需求选择以上至少一个方面的内容进行比对分析。
应用检测结果模块用于根据上述文件分析模块的比对分析结果,得出应用检测结果。即只要上述文件分析模块的四种方面中的任一方面的比对结果为不相同,则应用检测结果模块将确定待检测应用为恶意应用。
进一步的,应用检测结果模块还可以根据不同方面的比对内容去对待检测应用的恶意程度进行进一步区分,使得为后续对该恶意应用采取不同程度的方式降低或解决可能存在的威胁提供了理论依据,提高应用运行环境的安全性和整体稳定性。在上述第一种方面的比对内容不相同的情况下,应用检测结果模块将此种情况下的待检测应用确定为恶意程度最大的恶意应用(可称为第一级恶意应用);在上述第一种方面的比对内容相同、上述第二种方面的比对内容不相同的情况下,应用检测结果模块将确定此种情况下的待检测应用为第二级恶意应用,第二级恶意应用表示的恶意程度低于上述第一级恶意应用表示的恶意程度;同理,在上述第一种方面的比对内容相同、上述第二种方面的比对内容相同、上述第三种方面的比对内容不相同的情况下,应用检测结果模块将确定此种情况下的待检测应用为第三级恶意应用,第三级恶意应用表示的恶意程度低于上述第二级恶意应用表示的恶意程度;在上述第一种方面的比对内容相同、上述第二种方面的比对内容相同、上述第三种方面的比对内容相同、上述第四种方面的比对内容不相同的情况下,应用检测结果模块将确定此种情况下的待检测应用为第四级恶意应用,第四级恶意应用表示的恶意程度低于上述第三级恶意应用表示的恶意程度。
综上,本申请实施例的恶意应用检测架构,其检测技术结合了操作***运行机制下的内容检测,即使待检测应用代码发生变化或采用代码混淆、加壳等技术,上述检测技术依然有效,大大提高了检测结果的准确性,且检测过程中不需要大量的特征存储量或者占用大量的计算资源,能够节省大量的计算和存储资源,提高了检测效率。
基于上述图2所示的恶意应用检测架构,本申请实施例还提供了一种恶意应用的检测方法。请参阅图3,图3为本申请实施例提供的一种恶意应用的检测方法的流程示意图,该检测方法包括但不限于如下步骤:
步骤301:终端设备获取操作***的初始信息,获取操作***的运行信息。
本申请实施例中的终端设备为搭载了Linux内核的操作***的电子设备,比如搭载了Android***的手机、电脑、车机、智能穿戴设备等。
终端设备获取操作***的初始信息以及运行信息。该初始信息主要包括操作***的合法应用信息、操作***在初始状态下的配置信息,该运行信息主要包括操作***的待检测应用信息、操作***在运行状态下的配置信息。其中,初始状态指的是操作***首次运行前的状态,包括了出厂后未被使用过的、首次运行前的状态,或者是官方后续发布该操作***的更新版本后未被使用过的、首次运行前的状态,运行状态为操作***出厂后或更新后正在使用中的状态。
操作***的合法应用信息主要包括一些合法应用的相关信息,如合法应用的应用名称、合法应用的配置信息,该合法应用的配置信息具体可以是初始状态下的应用启动进程的配置信息。操作***在初始状态下的配置信息可以包括操作***在初始状态下的***启动进程的配置信息(第一配置信息)、用户登录该操作***进程的配置信息(第三配置信息)。上述初始信息无需接入操作***就可以获取得到,终端设备可以通过在发布操作***的官网等平台下载得到该操作***在初始状态下的配置信息,以及在发布合法应用的官网等平台下载得到该合法应用的应用相关信息。进一步的,终端设备会对不同类别的合法应用采取不同的途径获取其应用信息,操作***的合法应用信息中包含的合法应用主要有两大类,一类是该操作***在初始状态下预装的应用,终端设备可以在发布该类应用的官网等平台下载得到该类应用的应用名称和配置信息等应用的相关信息;另一类合法应用是第三方应用平台公开的基于上述操作***开发的应用,终端设备可以在相应的第三方平台下载得到该类应用的应用名称和配置信息等应用的相关内容。因此,终端设备获取操作***的初始信息无需依赖于操作***的运行,也无需提前获取操作***的相关权限,并且该初始信息是在操作***出厂后或更新后就可确定的信息。
操作***的待检测应用信息主要包括一些待检测应用的相关信息,如待检测应用的应用名称、待检测应用的配置信息,该待检测应用的配置信息具体可以是运行状态下的应用启动进程的配置信息。操作***在运行状态下的配置信息可以包括操作***在运行状态下的***启动进程的配置信息(第二配置信息)、用户登录该操作***进程的配置信息(第四配置信息)。操作***的运行信息与上述操作***的初始信息不同,需要依赖于操作***在运行状态下获取得到,故终端设备需接入操作***,获取操作***的根(root)权限,进而获取操作***的运行信息。
上述初始状态下的***启动进程的配置信息(第一配置信息)和运行状态下的***启动进程的配置信息(第二配置信息)均为操作***启动的第一个进程的信息,第一配置信息表示该第一个进程未启动的信息,第二配置信息表示该第一个进程启动后的信息,且该***启动进程工作后会派生出其他重要的***进程,以执行相应的功能。在以Linux为内核的操作***中,***启动的第一个进程一般是init进程,该进程用于指示操作***在启动时进行一系列相应的处理,比如启动用户登录、实现运行级别、以及处理孤立进程等处理,且该init进程的进程信息通常存储在init.rc文件和rc.local文件中,init.rc文件和rc.local文件均为随***启动而启动的脚本,init.rc文件先于rc.local文件启动。init.rc文件是一个规定init进程行为和动作的配置文件,rc.local文件用于记录***启动的执行命令,在***启动后、用户登录前执行。因此,上述第一配置信息和第二配置信息通常也存储在操作***的init.rc文件和rc.local文件中。同样的,在以Linux为内核的操作***中,上述表示不同状态下的用户登录操作***进程的第三配置信息和第四配置信息通常存储在操作***的profile文件中,profile文件为随用户登录操作***而启动的脚本,profile文件用于记录一些用户登录***时的执行命令,在***启动后、用户登录该***时执行上述命令。此外,init.rc文件在***的路径为“/system/core/rootdir/init.rc”,rc.local文件在***的路径为“/etc/init.rc”,profile文件在***的路径为“/etc/profile”。在以Linux为内核的操作***中,上述合法应用在初始状态下的应用启动进程的配置信息(第五配置信息)通常存储在该合法应用对应的AndroidManifest.xml文件中,上述待检测应用在运行状态下的应用启动进程的配置信息(第六配置信息)通常存储在该待检测应用对应的AndroidManifest.xml文件中,AndroidManifest.xml文件是一个位于应用的根目录的应用清单文件,包含了该应用的配置信息,操作***需要根据里面的内容运行应用的代码,显示界面,执行相应功能。
步骤302:将合法应用信息与待检测应用信息进行比对,或者将初始状态下的配置信息与运行状态下的配置信息进行比对。
终端设备获取了操作***的初始信息以及运行信息后,将利用文本比对技术对该初始信息和运行信息进行比对分析,具体为,将操作***的合法应用信息与待检测应用信息进行比对,将操作***在初始状态下的配置信息与在运行状态下的配置信息进行比对。
进一步的,可以进行以下比对:
第一:将上述第一配置信息和第二配置信息进行比对;
第二:将上述第三配置信息和第四配置信息进行比对;
第三:将上述操作***的合法应用信息中的应用名称和待检测应用信息中的应用名称进行比对;
第四:将上述第五配置信息和第六配置信息进行比对。
因为上述配置信息以及应用名称都存储于相应的配置文件中(第一配置信息存储于初始状态下的init.rc和rc.local配置文件中,第二配置信息存储于运行状态下的init.rc和rc.local配置文件中,第三配置信息存储于初始状态下的profile配置文件中,第四配置信息存储于运行状态下的profile配置文件中,合法应用的应用名称以及第五配置信息存储于该合法应用在初始状态下的AndroidManifest.xml配置文件中,待检测应用的应用名称以及第六配置信息存储于该待检测应用在运行状态下的AndroidManifest.xml配置文件中),故终端设备可采用比对配置文件的散列值的方法去比对初始状态下的配置信息和运行状态下的配置信息是否相同,以及合法应用信息中的应用名称和待检测应用信息中的应用名称是否相同。散列值通常用一个短的随机字母和数字组成的字符串来代表,配置文件的散列值通过散列算法计算得到,散列算法是一种从任何一种数据中创建小的数字“指纹”的方法,用于把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。配置文件的散列值和该配置文件中存储的配置信息是一起获取得到的,通过比对两个配置文件的散列值可以使配置信息的接收者确认该配置信息内容的真实性,从而确认上述两个配置信息的内容是否相同,该比对方法有效提高了配置信息比对的效率。
进一步的,上述合法应用信息中的应用名称和待检测应用信息中的应用名称可分别作为该合法应用和待检测应用的唯一标识符,因此,可通过比对两个应用的应用名称用于区分两个应用是否为同一个应用。进一步的,应用的名称可通过计算机编程语言命名(如Java包),其作用可描述应用的程序组件,并向外发布对应组件功能,声明应用程序所必须的权限等。
需要注意的是,上述四种比对内容可以是四种并行比对方案的比对内容,也可以是按先后顺序依次递进比对方案的比对内容,终端设备可根据不同的应用场景需求选择以上至少一个方面的内容进行比对分析。比如,终端设备可按照上述四种比对方式中的任意一种比对方式进行比对分析,得到检测结果。终端设备也可以先按照上述第一种比对方式进行比对分析,若通过上述第一种比对方式即可确认待检测应用为恶意应用,则就此得出待检测应用为恶意应用的检测结果,不执行其他三种比对方式;若通过上述第一种比对方式还无法确认待检测应用为恶意应用,则继续按照上述第二种比对方式进行比对分析,同理的,若通过上述第二种比对方式即可确认待检测应用为恶意应用,则就此得出待检测应用为恶意应用的检测结果,不执行剩下的两种比对方式;若通过上述第二种比对方式还无法确认待检测应用为恶意应用,则继续按照上述第三种比对方式进行比对分析,若通过上述第三种比对方式即可确认待检测应用为恶意应用,则就此得出待检测应用为恶意应用的检测结果,不执行剩下的第四种比对方式;若通过上述第三种比对方式还无法确认待检测应用为恶意应用,则继续按照上述第四种比对方式进行比对分析,得出最后的检测结果。
步骤303:在上述比对结果不相同的情况下,确定操作***上的待检测应用为恶意应用。
通过上述步骤302中的四种比对方式,可得出相应的比对结果,根据该比对结果可确定操作***上的待检测应用是否为恶意应用。只要上述四种比对方式中的任一种比对方式的比对结果为不相同,则可确定操作***上的待检测应用为恶意应用。即上述操作***的初始信息和运行信息不同,可确定待检测应用为恶意应用,以此为前提,终端设备还可依据初始信息和运行信息之间的具体差异,对该待检测应用的恶意等级进行进一步确定。
进一步的,在上述第一配置信息和第二配置信息不同的情况下,确定待检测应用为第一级恶意应用,该第一级恶意应用表示恶意程度最高的待检测应用。此种情况下的恶意应用为随着***启动进程启动而自启动的应用,会对设备的隐私信息及安全性构成较大威胁。
在上述第一配置信息和第二配置信息相同、且上述第三配置信息和第四配置信息不同的情况下,确定该待检测应用为第二级恶意应用,因为第一配置信息和第二配置信息相同,即操作***在初始状态下的***启动进程的配置信息和在运行状态下的***启动进程的配置信息相同,故该第二级恶意应用表示的恶意等级要低于第一级恶意应用表示的恶意等级。此种情况下的恶意应用为随着用户登录操作***进程启动而自启动的应用,会对设备的隐私信息及安全性构成较大威胁。
在上述第一配置信息和第二配置信息相同、上述第三配置信息和第四配置信息相同、且合法应用信息中的应用名称和待检测应用信息中的应用名称不同时,确定该待检测应用为第三级恶意应用,因为第一配置信息和第二配置信息相同、且第三配置信息和第四配置信息相同,即操作***在初始状态下的***启动进程的配置信息和在运行状态下的***启动进程的配置信息相同、且操作***在初始状态下的用户登录操作***进程的配置信息和操作***在运行状态下的用户登录操作***进程的配置信息相同,故该第三级恶意应用表示的恶意等级要低于第二级恶意应用、第一级恶意应用表示的恶意等级。此种情况下的恶意应用不为合法应用,既不属于操作***在初始状态下预装的应用,也不属于第三方应用平台公开的基于上述操作***开发的应用,有可能是用户通过不明链接下载的、非官方平台(非正规应用市场)发布的应用,其安全性不能得到相应保障,很有可能是采用代码混淆、加壳等技术包装的恶意应用。
在上述第一配置信息和第二配置信息相同、上述第三配置信息和第四配置信息相同、上述合法应用信息中的应用名称和待检测应用信息中的应用名称相同、且上述第五配置信息和第六配置信息不同的情况下,确定该待检测应用为第四级恶意应用,因为第一配置信息和第二配置信息相同、第三配置信息和第四配置信息相同,即操作***在初始状态下的***启动进程的配置信息和在运行状态下的***启动进程的配置信息相同、操作***在初始状态下的用户登录操作***进程的配置信息和操作***在运行状态下的用户登录操作***进程的配置信息相同、且合法应用信息中的应用名称和待检测应用信息中的应用名称相同,故该第四级恶意应用表示的恶意等级要低于第三级恶意应用、第二级恶意应用、第一级恶意应用表示的恶意等级。需要注意的是,在本次比对结果的情况下,待检测应用信息中的应用名称和合法应用信息中的应用名称相同,表示该待检测应用来源是合法的,可能是该操作***在初始状态下预装的应用,也可能是用户在第三方应用平台下载的基于上述操作***开发的应用,但这并不意味着该检测应用不具恶意性,因为该待检测应用的应用启动进程的配置信息可能不相同,此种情况下该待检测应用也是具有恶意性的,其恶意行为表现为随着应用启动进程启动而自动获取非法权限。比如,某个用户下载的“天气”App,当用户点击启动后,该App的应用启动进程启动,进入运行状态,依据应用启动进程的配置信息依次获取终端设备的地理位置权限、日历权限、相册权限,但该“天气”App在初始状态下的应用启动进程的配置信息记录的应用行为为依次获取终端设备的地理位置权限、日历权限,因此,相册权限为该App随着应用启动进程启动后自动获取的非法权限,该“天气”App的初始状态下的应用启动进程的配置信息与运行状态下的应用启动进程的配置信息不相同,可确定该“天气”App为第四级恶意应用。
进一步的,在上述比对结果的情况下(上述第一配置信息和第二配置信息相同、上述第三配置信息和第四配置信息相同、上述合法应用信息中的应用名称和待检测应用信息中的应用名称相同、且上述第五配置信息和第六配置信息不同的情况),还可以对待检测应用的恶意等级进一步细化。即在上述第一配置信息和第二配置信息相同、上述第三配置信息和第四配置信息相同、上述合法应用信息中的应用名称和待检测应用信息中的应用名称相同、且上述第五配置信息和第六配置信息不同的情况下,若待检测应用为操作***在初始状态下预装的应用,确定该待检测应用为第四级恶意应用;若待检测应用为第三方应用平台公开的基于上述操作***开发的应用,确定该待检测应用为第五级恶意应用。因为操作***在初始状态下预装的应用,用户没有卸载权限,而对于第三方应用平台公开的基于上述操作***开发的应用,用户具有卸载权限,故第五级恶意应用表示的恶意等级要低于第四级恶意应用表示的恶意等级。
进一步的,本申请实施例在确定了操作***上的待检测应用为恶意应用,以及确定了待检测应用的恶意等级之后,还可以根据操作***的初始信息和运行信息之间的具体差异,进一步确定该待检测应用的存储路径。比如,在上述第一配置信息和上述第二配置信息不同的情况下,解析第一配置信息的标签和第二配置信息的标签,得到第一配置信息的标签内容和第二配置信息的标签内容,将第一配置信息的标签内容和第二配置信息的标签内容比对,依据二者内容上的差异确定待检测应用的存储路径。同理,在上述第三配置信息和上述第四配置信息不同的情况下,解析第三配置信息的标签和第四配置信息的标签,得到第三配置信息的标签内容和第四配置信息的标签内容,将第三配置信息的标签内容和第四配置信息的标签内容比对,依据二者内容上的差异确定待检测应用的存储路径。在上述第五配置信息和上述第六配置信息不同的情况下,解析第五配置信息的标签和第六配置信息的标签,得到第五配置信息的标签内容和第六配置信息的标签内容,将第五配置信息的标签内容和第六配置信息的标签内容比对,依据二者内容上的差异确定待检测应用的存储路径。
本申请实施例,将操作***在初始状态下的配置信息和在运行状态下的配置信息进行比对,以及将操作***的合法应用信息和待检测应用信息进行比对,从而对待检测应用的安全性进行检测,并评估待检测应用的恶意等级,能够节省大量的计算和存储资源,提高检测效率,且对代码发生变化或采用代码混淆、加壳等技术的恶意应用检测仍有效,提高检测结果的准确性。
请参阅图4,图4为本申请实施例提供的另一种恶意应用的检测方法的流程示意图,也可以理解为是图3中的恶意应用检测方法流程图的补充。
如图4所示,终端设备首先建立初始数据库,该初始数据库主要包括操作***的合法应用信息以及操作***在初始状态下的配置信息(参见步骤401)。其中,终端设备为搭载了Linux内核的操作***的电子设备,比如搭载了Android***的手机、电脑、车机、智能穿戴设备等。初始状态指的是操作***首次运行前的状态,包括了出厂后未被使用过的、首次运行前的状态,或者是官方后续发布该操作***的更新版本后未被使用过的、首次运行前的状态,操作***在初始状态下的配置信息主要包括操作***在初始状态下的***启动进程的配置信息(上述第一配置信息)、用户登录该操作***进程的配置信息(上述第三配置信息),上述第一配置信息通常存储于操作***的init.rc和rc.local文件中,上述第三配置信息通常存储于操作***的profile文件中。操作***的合法应用信息主要包括一些合法应用的相关信息,如合法应用的应用名称、合法应用的配置信息,该合法应用的配置信息具体可以是初始状态下的应用启动进程的配置信息(第五配置信息)。上述初始数据库中的信息无需接入操作***就可以获取得到,终端设备可以通过在发布操作***的官网等平台下载得到该操作***在初始状态下的配置信息,以及在发布合法应用的官网等平台下载得到该合法应用的应用相关信息。
其次,终端设备将接入Android***,获取操作***的待检测应用信息以及操作***在运行状态下的配置信息(参见步骤402)。其中,运行状态为操作***出厂后或更新后正在使用中的状态,操作***在运行状态下的配置信息主要包括操作***在运行状态下的***启动进程的配置信息(上述第二配置信息)、用户登录该操作***进程的配置信息(上述第四配置信息),上述第二配置信息通常存储于操作***的init.rc和rc.local文件中,上述第四配置信息通常存储于操作***的profile文件中。此外,init.rc文件在操作***的路径为“/system/core/rootdir/init.rc”,rc.local文件在操作***的路径为“/etc/init.rc”,profile文件在操作***的路径为“/etc/profile”。操作***的待检测应用信息主要包括一些待检测应用的相关信息,如待检测应用的应用名称、待检测应用的配置信息,该待检测应用的配置信息具体可以是运行状态下的应用启动进程的配置信息(第六配置信息)。
接着,终端设备将对操作***在初始状态下的配置信息和操作***在运行状态下的配置信息进行比对,并判断操作***在上述两个状态下的配置信息是否相同(参见步骤403)。具体为对操作***在初始状态下的***启动进程的配置信息和操作***在运行状态下的***启动进程的配置信息进行比对,或者,对操作***在初始状态下的用户登录该操作***进程的配置信息和操作***在运行状态下的用户登录该操作***进程的配置信息进行比对,并分别判断二者的配置信息是否相同。
如果上述步骤403的比对结果为不相同,则可确定待检测应用为恶意应用,并解析init.rc和rc.local文件,或profile文件,确定恶意应用路径(参见步骤404)。具体为如果是上述第一配置信息和上述第二配置信息的比对结果为不相同,则确定待检测应用为第一级恶意应用,并解析初始状态下的init.rc文件的标签以及运行状态下的init.rc文件的标签,解析初始状态下的rc.local文件的标签以及运行状态下的rc.local文件的标签,根据两个状态下的标签内容的差异确定该恶意应用的路径;如果是上述第三配置信息和上述第四配置信息的比对结果为不相同,则确定待检测应用为第二级恶意应用,该第二级恶意应用表示的恶意程度低于上述第一级恶意应用表示的恶意程度,并解析初始状态下的profile文件的标签以及运行状态下的profile文件的标签,根据两个状态下的标签内容的差异确定该恶意应用的路径。
反之,如果上述步骤403的比对结果为相同,终端设备将对初始数据库中的合法应用信息与操作***在运行状态下的待检测应用信息进行比对(参见步骤405)。具体为将操作***的合法应用信息中的应用名称和待检测应用信息中的应用名称进行比对,或者,将运行状态下的待检测应用的应用启动进程的配置信息与同名合法应用的应用启动进程的配置信息进行比对,并分别判断二者的信息是否相同。
先将操作***的合法应用信息中的应用名称和待检测应用信息中的应用名称进行比对,并判断二者的应用名称是否相同(参见步骤406)。
如果上述步骤406的比对结果为不相同,则确定待检测应用为第三级恶意应用,该第三级恶意应用表示的恶意等级低于上述第一级恶意应用、第二级恶意应用表示的恶意等级(参见步骤407)。
反之,如果上述步骤406的比对结果为相同,则将运行状态下的待检测应用的应用启动进程的配置信息与同名合法应用的应用启动进程的配置信息进行比对(参见步骤408),并判断二者的配置信息是否相同。
在上述步骤408中的配置信息不相同的情况下,确定待检测应用为第四级恶意应用,并解析两种状态下的配置信息,确定可能执行的恶意行为(参见步骤409)。
进一步的,在上述步骤409中,还可以对待检测应用的恶意等级进一步细化,即在上述第一配置信息和第二配置信息相同、上述第三配置信息和第四配置信息相同、待检测应用的应用名称和合法应用的应用名称相同、上述第五配置信息和第六配置信息不同的情况下,若待检测应用为操作***在初始状态下预装的应用,确定该待检测应用为第四级恶意应用;若待检测应用为第三方应用平台公开的基于上述操作***开发的应用,确定该待检测应用为第五级恶意应用。因为操作***在初始状态下预装的应用,用户没有卸载权限,而对于第三方应用平台公开的基于上述操作***开发的应用,用户具有卸载权限,故第五级恶意应用表示的恶意等级要低于第四级恶意应用表示的恶意等级。
可选的,在确定待检测应用为恶意应用的前提下,还可以通过制定评分规则对待检测应用打分来区别恶意应用不同程度的恶意等级。例如,恶意应用的评分规则如下:
在上述第一配置信息和第二配置信息不相同的情况下确定的待检测应用为第一级恶意应用,该第一级恶意应用随***启动进程启动而自启动,评为5分;
在上述第三配置信息和第四配置信息不相同的情况下确定的待检测应用为第二级恶意应用,该第二级恶意应用随用户登录操作***进程启动而自启动,评为4分;
在上述待检测应用的应用名称和合法应用的应用名称不相同的情况下确定的待检测应用为第三级恶意应用,该第三级恶意应用来源非法,评为3分;
在上述第五配置信息和第六配置信息不相同的情况下确定的待检测应用,若该待检测应用为操作***在初始状态下预装的应用,确定该待检测应用为第四级恶意应用,评为2分;
在上述第五配置信息和第六配置信息不相同的情况下确定的待检测应用,若该待检测应用为第三方应用平台公开的基于上述操作***开发的应用,确定该待检测应用为第五级恶意应用,评为1分。
上述评分越高表示的恶意等级越高,恶意程度越大。上述评分采用就高原则,即当待检测应用满足上述五条评分规则中的多条时,按照最高分数评分,由此也可得出第一级恶意应用的恶意程度最大,其后的恶意程度依次减小。上述评分也可采用累积原则,即当待检测应用满足上述五条评分规则中的多条时,对满足条件的规则的评分累加,得出该待检测应用的最终评分结果。
请参阅图5,图5为本申请实施例提供的又一种恶意应用的检测方法的流程示意图,也可以理解为是上述图3和图4中的恶意应用检测方法流程图的补充。
本实施例针对操作***的***启动进程的配置信息的比对提供了具体流程,如图5所示,首先获取最近一次更新的init.rc/rc.local文件(参见步骤501),该init.rc/rc.local文件包含了操作***在初始状态下的***启动进程的配置信息,可在发布操作***的官网等平台下载得到;其次,以root权限接入目标Android***,并获取目标Android***运行状态下的init.rc/rc.local文件(参见步骤502),该init.rc/rc.local文件包含了操作***在运行状态下的***启动进程的配置信息,init.rc文件在操作***的路径为“/system/core/rootdir/init.rc”,rc.local文件在操作***的路径为“/etc/init.rc”;接着,将上述两个init.rc/rc.local文件比对,解析文件标签(参见步骤503),具体为将上述初始状态下和运行状态下的init.rc/rc.local文件按标签内容进行比对,对标签内容不同的标签下对应的文本内容进行解析,文件的标签有行为(Actions)、命令(Commands)、服务(Services)、选项(Options)等;最后,确定待检测应用的恶意等级以及路径(参见步骤504),在上述初始状态下和运行状态下的init.rc/rc.local文件不相同的情况下,可按照上述图4中的评分规则评为5分,确定待检测应用为第一级恶意应用,并根据文本解析内容逐级跟踪,确定恶意应用的路径。
同理的,还可以针对操作***的用户登录操作***进程的配置信息的比对提供相应的具体流程,首先获取最近一次更新的profile文件,该profile文件包含了操作***在初始状态下的用户登录操作***进程的配置信息,可在发布操作***的官网等平台下载得到;其次,以root权限接入目标Android***,并获取目标Android***运行状态下的profile文件,该profile文件包含了操作***在运行状态下的用户登录操作***进程的配置信息,profile文件在操作***的路径为“/etc/profile”;接着,将上述两个profile文件比对,解析文件标签,具体为将上述初始状态下和运行状态下的profile文件按标签内容进行比对,对标签内容不同的标签下对应的文本内容进行解析,文件的标签有行为(Actions)、命令(Commands)、服务(Services)、选项(Options)等;最后,确定待检测应用的恶意等级以及路径,在上述初始状态下和运行状态下的profile文件不相同的情况下,可按照上述图4中的评分规则评为4分,确定待检测应用为第二级恶意应用,并根据文本解析内容逐级跟踪,确定恶意应用的路径。
请参阅图6,图6为本申请实施例提供的又一种恶意应用的检测方法的流程示意图,也可以理解为是上述图3和图4中的恶意应用检测方法流程图的补充。
本实施例针对操作***的待检测应用的配置信息的比对提供了具体流程,如图6所示,首先获取操作***预装的应用的Androidmanifest.xml文件(参见步骤601),该Androidmanifest.xml文件包含了操作***预装的应用在初始状态下的应用启动进程的配置信息,可在发布该应用的官网等平台下载得到;其次,以root权限接入目标Android***,并获取目标Android***运行状态下的待检测应用的Androidmanifest.xml文件(参见步骤602),该Androidmanifest.xml文件包含了待检测应用在运行状态下的应用启动进程的配置信息;接着,将上述两个Androidmanifest.xml文件比对,解析文件标签(参见步骤603),具体为将上述初始状态下和运行状态下的Androidmanifest.xml文件按标签内容进行比对,对标签内容不同的标签下对应的文本内容进行解析,文件的标签有行为(Actions)、命令(Commands)、服务(Services)、选项(Options)等;最后,确定待检测应用的恶意等级以及路径(参见步骤604),在上述初始状态下和运行状态下的Androidmanifest.xml文件不相同的情况下,可按照上述图4中的评分规则评为2分,确定待检测应用为第四级恶意应用,用户无卸载权限,并根据文本解析内容逐级跟踪,确定恶意应用的路径。
同理的,还可以针对操作***的待检测应用的配置信息的比对提供另一种具体流程,首先获取第三方应用平台公开的基于上述操作***开发的应用的Androidmanifest.xml文件,该Androidmanifest.xml文件包含了第三方应用平台公开的基于上述操作***开发的应用在初始状态下的应用启动进程的配置信息,可在相应的第三方应用平台下载得到;其次,以root权限接入目标Android***,并获取目标Android***运行状态下的待检测应用的Androidmanifest.xml文件,该Androidmanifest.xml文件包含了待检测应用在运行状态下的应用启动进程的配置信息;接着,将上述两个Androidmanifest.xml文件比对,解析文件标签,具体为将上述初始状态下和运行状态下的Androidmanifest.xml文件按标签内容进行比对,对标签内容不同的标签下对应的文本内容进行解析,文件的标签有行为(Actions)、命令(Commands)、服务(Services)、选项(Options)等;最后,确定待检测应用的恶意等级以及路径,在上述初始状态下和运行状态下的Androidmanifest.xml文件不相同的情况下,可按照上述图4中的评分规则评为1分,确定待检测应用为第五级恶意应用,用户有卸载权限,并根据文本解析内容逐级跟踪,确定恶意应用的路径。
上述详细阐述了本申请实施例的方法,下面提供本申请实施例的装置。
请参阅图7,图7为本申请实施例提供的一种恶意应用的检测装置的结构示意图,该恶意应用的检测装置70可以包括获取单元701、比对单元702以及确定单元703,其中,各个单元的描述如下:
获取单元701,用于获取操作***的初始信息,其中,所述初始信息包括所述操作***的合法应用信息或所述操作***在初始状态下的配置信息,所述初始状态为所述操作***首次运行前的状态;
所述获取单元701,还用于获取所述操作***的运行信息,所述运行信息包括所述操作***的待检测应用信息或所述操作***在运行状态下的配置信息;
比对单元702,用于将所述合法应用信息与所述待检测应用信息进行比对,或者将所述初始状态下的配置信息与所述运行状态下的配置信息进行比对,得到比对结果;
确定单元703,用于在所述比对结果不相同的情况下,确定所述操作***上的待检测应用为恶意应用。
在本申请实施例中,基于文本比对技术,将操作***的配置信息、应用的应用信息作为两项比对内容,给出了一种恶意应用的检测方法。
本申请实施例所提供的恶意应用的检测方法,与目前采用的众多的“检测应用本身”的检测方法相比,能够节省大量的计算和存储资源,提高了检测效率,且对代码发生变化或采用代码混淆、加壳等技术的恶意应用检测仍然有效,提高了检测结果的准确性。
在一种可能的实施方式中,所述比对单元702,具体用于将所述操作***在所述初始状态下的配置信息的散列值和所述操作***在所述运行状态下的配置信息的散列值进行比对。
在本申请实施例中,采用比对散列值的方法去比对初始状态下的配置信息和运行状态下的配置信息是否相同。将操作***在初始状态下的配置信息的散列值和操作***在运行状态下的配置信息的散列值进行比对,配置信息的散列值和该配置信息是一起获取得到的,通过比对两个配置信息的散列值可以使配置信息的接收者确认该配置信息内容的真实性,从而确认上述两个配置信息的内容是否相同,该比对方法有效提高了配置信息比对的效率。
在一种可能的实施方式中,所述比对单元702,具体还用于将第一配置信息与第二配置信息进行比对,其中,所述第一配置信息为所述操作***在所述初始状态下的***启动进程的配置信息,所述第二配置信息为所述操作***在所述运行状态下的***启动进程的配置信息;
或者,
所述比对单元702,具体还用于将第三配置信息与第四配置信息进行比对,其中,所述第三配置信息为所述操作***在所述初始状态下的用户登录所述操作***进程的配置信息,所述第四配置信息为所述操作***在所述运行状态下的用户登录所述操作***进程的配置信息。
在该实现方式中,将初始状态下、以及运行状态下的操作***的***启动进程的配置信息进行比对,或者,将初始状态下、以及运行状态下的操作***的用户登录该操作***进程的配置信息进行比对。通过本实现方式中所描述的内容比对,可以以操作***的层级为角度,检测操作***运行机制下的配置信息,对采用隐藏伪装技术处理的高威胁恶意应用的检测依然有效,且提高了检测效率以及检测结果的准确性。
在一种可能的实施方式中,所述比对单元702,具体还用于将所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称进行比对;
或者,
所述比对单元702,具体还用于将第五配置信息与第六配置信息进行比对,其中,所述第五配置信息包括所述待检测应用在初始状态下的应用启动进程的配置信息,所述第六配置信息包括所述待检测应用在运行状态下的应用启动进程的配置信息。
在该实现方式中,将合法应用信息中的应用名称和待检测应用信息中的应用名称进行比对,或者,将初始状态下、以及运行状态下的待检测应用的应用启动进程的配置信息进行比对。通过本实现方式中所描述的内容比对,可以以应用的层级为角度,结合操作***的运行机制,检测应用在初始状态下的应用启动进程的配置信息和在运行状态下的应用启动进程的配置信息,对采用隐藏伪装技术处理的高威胁恶意应用的检测依然有效,且节省了大量的计算和存储资源,提高了检测效率以及检测结果的准确性。
在一种可能的实施方式中,所述确定单元703,还用于根据所述初始信息和所述运行信息,确定所述待检测应用的恶意等级。
在本申请实施例中,初始信息和运行信息不同,确定待检测应用为恶意应用,以此为前提,依据初始信息和运行信息之间的具体差异,对该待检测应用的恶意等级进行了进一步确定。通过本实现方式,确定待检测应用的恶意等级,可评估该待检测应用对终端设备的威胁程度的高低,进而为后续对该恶意应用采取不同程度的方式降低或解决可能存在的威胁提供了理论依据,提高了应用运行环境的安全性和整体稳定性。
在一种可能的实施方式中,所述确定单元703,具体用于在所述第一配置信息和所述第二配置信息不同的情况下,确定所述待检测应用为第一级恶意应用;
所述确定单元703,具体还用于在所述第一配置信息和所述第二配置信息相同、且所述第三配置信息和所述第四配置信息不同的情况下,确定所述待检测应用为第二级恶意应用,其中,所述第二级恶意应用的恶意等级低于所述第一级恶意应用的恶意等级。
在本申请实施例中,提供了在操作***层级的信息不同的情况下,确定待检测应用的恶意等级的实现方式。上述第一配置信息和第二配置信息不同时,确定待检测应用为第一级恶意应用,该第一级恶意应用表示恶意程度最高的待检测应用;上述第一配置信息和第二配置信息相同、且上述第三配置信息和第四配置信息不同时,确定该待检测应用为第二级恶意应用,因为操作***在初始状态下的***启动进程的配置信息和在运行状态下的***启动进程的配置信息相同,故该第二级恶意应用表示的恶意等级要低于第一级恶意应用表示的恶意等级。
在一种可能的实施方式中,所述确定单元703,具体还用于在所述第一配置信息和所述第二配置信息相同、所述第三配置信息和所述第四配置信息相同、且所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称不同的情况下,确定所述待检测应用为第三级恶意应用,其中,所述第三级恶意应用的恶意等级低于所述第二级恶意应用的恶意等级。
在本申请实施例中,提供了在应用层级的信息不同的情况下,确定待检测应用的恶意等级的实现方式。上述第一配置信息和第二配置信息相同、上述第三配置信息和第四配置信息相同、且合法应用信息中的应用名称和待检测应用信息中的应用名称不同时,确定该待检测应用为第三级恶意应用,因为操作***在初始状态下的***启动进程的配置信息和在运行状态下的***启动进程的配置信息相同、且操作***在初始状态下的用户登录操作***进程的配置信息和操作***在运行状态下的用户登录操作***进程的配置信息相同,故该第三级恶意应用表示的恶意等级要低于第二级恶意应用、第一级恶意应用表示的恶意等级。
在一种可能的实施方式中,所述确定单元703,具体还用于在所述第一配置信息和所述第二配置信息相同、所述第三配置信息和所述第四配置信息相同、所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称相同、且所述第五配置信息和所述第六配置信息不同的情况下,确定所述待检测应用为第四级恶意应用,其中,所述第四级恶意应用的恶意等级低于所述第三级恶意应用的恶意等级。
在本申请实施例中,提供了在应用层级的信息不同的情况下,确定待检测应用的恶意等级的另一种实现方式。上述第一配置信息和第二配置信息相同、上述第三配置信息和第四配置信息相同,合法应用信息中的应用名称和待检测应用信息中的应用名称相同、且上述第五配置信息和第六配置信息不同时,确定该待检测应用为第四级恶意应用,因为操作***在初始状态下的***启动进程的配置信息和在运行状态下的***启动进程的配置信息相同、操作***在初始状态下的用户登录操作***进程的配置信息和操作***在运行状态下的用户登录操作***进程的配置信息相同、且合法应用信息中的应用名称和待检测应用信息中的应用名称相同,故该第四级恶意应用表示的恶意等级要低于第三级恶意应用、第二级恶意应用、第一级恶意应用表示的恶意等级。
在一种可能的实施方式中,所述操作***包括采用Linux内核的***。
在本申请实施例中,操作***包括了采用Linux内核的***,采用Linux内核的***启动的第一个进程一般是init进程,其进程的配置信息通常存储在init.rc文件中,因此,采用Linux内核的***都适用于本申请实施例所描述的恶意应用的检测方法。
在一种可能的实施方式中,所述确定单元703,还用于根据所述初始信息和所述运行信息,确定所述待检测应用的存储路径。
在本申请实施例中,初始信息和运行信息不同,确定待检测应用为恶意应用,以此为前提,依据初始信息和运行信息之间的具体差异,对该待检测应用的存储路径进行了进一步确定。在上述第一配置信息和上述第二配置信息不同的情况下,解析第一配置信息的标签和第二配置信息的标签,得到第一配置信息的标签内容和第二配置信息的标签内容,将第一配置信息的标签内容和第二配置信息的标签内容比对,依据二者内容上的差异确定待检测应用的存储路径。同理,在上述第三配置信息和上述第四配置信息不同的情况下,解析第三配置信息的标签和第四配置信息的标签,得到第三配置信息的标签内容和第四配置信息的标签内容,将第三配置信息的标签内容和第四配置信息的标签内容比对,依据二者内容上的差异确定待检测应用的存储路径。在上述第五配置信息和上述第六配置信息不同的情况下,解析第五配置信息的标签和第六配置信息的标签,得到第五配置信息的标签内容和第六配置信息的标签内容,将第五配置信息的标签内容和第六配置信息的标签内容比对,依据二者内容上的差异确定待检测应用的存储路径。通过本实现方式中的确定存储路径的方法,可以快速确定恶意应用的存储路径,后续可根据存储路径对恶意应用进行相应的处理,如根据存储路径对恶意应用进行卸载、限制相应的权限获取等处理,提高操作***运行环境的安全性。
根据本申请实施例,图7所示的装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于网络设备也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
需要说明的是,各个单元的实现还可以对应参照图3、图4、图5、图6所示的方法实施例的相应描述。
在图7所描述的恶意应用的检测装置70中,通过文本比对技术,将操作***在初始状态下的配置信息和在运行状态下的配置信息进行比对,以及将操作***的合法应用信息和待检测应用信息进行比对,从而对待检测应用的安全性进行检测,并评估待检测应用的恶意等级,能够节省大量的计算和存储资源,提高检测效率,且对代码发生变化或采用代码混淆、加壳等技术的恶意应用检测仍有效,提高检测结果的准确性。
请参阅图8,图8为本申请实施例提供的一种终端设备80的结构示意图。该终端设备80可以包括存储器801、处理器802。进一步可选的,还可以包含通信接口803以及总线804,其中,存储器801、处理器802以及通信接口803通过总线804实现彼此之间的通信连接。通信接口803用于与上述恶意应用的检测装置70进行数据交互。
其中,存储器801用于提供存储空间,存储空间中可以存储操作***和计算机程序等数据。存储器801包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable readonly memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM)。
处理器802是进行算术运算和逻辑运算的模块,可以是中央处理器(centralprocessing unit,CPU)、显卡处理器(graphics processing unit,GPU)或微处理器(microprocessor unit,MPU)等处理模块中的一种或者多种的组合。
存储器801中存储有计算机程序,处理器802调用存储器801中存储的计算机程序,以执行上述图3、图4、图5、图6所示的恶意应用的检测方法:
获取操作***的初始信息,其中,所述初始信息包括所述操作***的合法应用信息或所述操作***在初始状态下的配置信息,所述初始状态为所述操作***首次运行前的状态;
获取所述操作***的运行信息,所述运行信息包括所述操作***的待检测应用信息或所述操作***在运行状态下的配置信息;
将所述合法应用信息与所述待检测应用信息进行比对,或者将所述初始状态下的配置信息与所述运行状态下的配置信息进行比对,得到比对结果;
在所述比对结果不相同的情况下,确定所述操作***上的待检测应用为恶意应用。
上述处理器802执行方法的具体内容可参阅图3、图4、图5、图6,此处不再赘述。
相应的,处理器802调用存储器801中存储的计算机程序,还可以用于执行上述图7所示的恶意应用的检测装置70中的获取单元701、比对单元702以及确定单元703所执行的方法步骤,其具体内容可参阅图7,此处不再赘述。
在图8所描述的终端设备80中,通过文本比对技术,将操作***在初始状态下的配置信息和在运行状态下的配置信息进行比对,以及将操作***的合法应用信息和待检测应用信息进行比对,从而对待检测应用的安全性进行检测,并评估待检测应用的恶意等级,能够节省大量的计算和存储资源,提高检测效率,且对代码发生变化或采用代码混淆、加壳等技术的恶意应用检测仍有效,提高检测结果的准确性。
本申请实施例还提供一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,当上述计算机程序在一个或多个处理器上运行时,可以实现图3、图4、图5以及图6所示的方法。
本申请实施例还提供一种计算机程序产品,当上述计算机程序产品在处理器上运行时,可以实现图3、图4、图5以及图6所示的方法。
综上上述,通过文本比对技术,将操作***在初始状态下的配置信息和在运行状态下的配置信息进行比对,以及将操作***的合法应用信息和待检测应用信息进行比对,从而对待检测应用的安全性进行检测,并评估待检测应用的恶意等级,能够节省大量的计算和存储资源,提高检测效率,且对代码发生变化或采用代码混淆、加壳等技术的恶意应用检测仍有效,提高检测结果的准确性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序相关的硬件完成,该计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储计算机程序代码的介质。

Claims (19)

1.一种恶意应用的检测方法,其特征在于,包括:
获取操作***的初始信息,其中,所述初始信息包括所述操作***的合法应用信息或所述操作***在初始状态下的配置信息,所述初始状态为所述操作***首次运行前的状态;
获取所述操作***的运行信息,所述运行信息包括所述操作***的待检测应用信息或所述操作***在运行状态下的配置信息;
将所述合法应用信息与所述待检测应用信息进行比对,或者将所述初始状态下的配置信息与所述运行状态下的配置信息进行比对,得到比对结果;
在所述比对结果不相同的情况下,确定所述操作***上的待检测应用为恶意应用。
2.根据权利要求1所述的检测方法,其特征在于,所述将所述初始状态下的配置信息与所述运行状态下的配置信息进行比对,具体包括:
将所述操作***在所述初始状态下的配置信息的散列值和所述操作***在所述运行状态下的配置信息的散列值进行比对。
3.根据权利要求1或2所述的检测方法,其特征在于,所述将所述初始状态下的配置信息与所述运行状态下的配置信息进行比对,具体包括:
将第一配置信息与第二配置信息进行比对,其中,所述第一配置信息为所述操作***在所述初始状态下的***启动进程的配置信息,所述第二配置信息为所述操作***在所述运行状态下的***启动进程的配置信息;
或者,
将第三配置信息与第四配置信息进行比对,其中,所述第三配置信息为所述操作***在所述初始状态下的用户登录所述操作***进程的配置信息,所述第四配置信息为所述操作***在所述运行状态下的用户登录所述操作***进程的配置信息。
4.根据权利要求1-3中任一项所述的检测方法,其特征在于,所述将所述合法应用信息与所述待检测应用信息进行比对,具体包括:
将所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称进行比对;
或者,
将第五配置信息与第六配置信息进行比对,其中,所述第五配置信息包括所述待检测应用在初始状态下的应用启动进程的配置信息,所述第六配置信息包括所述待检测应用在运行状态下的应用启动进程的配置信息。
5.根据权利要求1-4中任一项所述的检测方法,其特征在于,所述检测方法还包括:
根据所述初始信息和所述运行信息,确定所述待检测应用的恶意等级。
6.根据权利要求5所述的检测方法,其特征在于,所述根据所述初始信息和所述运行信息,确定所述待检测应用的恶意等级,具体包括:
在所述第一配置信息和所述第二配置信息不同的情况下,确定所述待检测应用为第一级恶意应用;
在所述第一配置信息和所述第二配置信息相同、且所述第三配置信息和所述第四配置信息不同的情况下,确定所述待检测应用为第二级恶意应用,其中,所述第二级恶意应用的恶意等级低于所述第一级恶意应用的恶意等级。
7.根据权利要求6所述的检测方法,其特征在于,所述根据所述初始信息和所述运行信息,确定所述待检测应用的恶意等级,具体包括:
在所述第一配置信息和所述第二配置信息相同、所述第三配置信息和所述第四配置信息相同、且所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称不同的情况下,确定所述待检测应用为第三级恶意应用,其中,所述第三级恶意应用的恶意等级低于所述第二级恶意应用的恶意等级。
8.根据权利要求7所述的检测方法,其特征在于,所述根据所述初始信息和所述运行信息,确定所述待检测应用的恶意等级,具体包括:
在所述第一配置信息和所述第二配置信息相同、所述第三配置信息和所述第四配置信息相同、所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称相同、且所述第五配置信息和所述第六配置信息不同的情况下,确定所述待检测应用为第四级恶意应用,其中,所述第四级恶意应用的恶意等级低于所述第三级恶意应用的恶意等级。
9.一种恶意应用的检测装置,其特征在于,包括:
获取单元,用于获取操作***的初始信息,其中,所述初始信息包括所述操作***的合法应用信息或所述操作***在初始状态下的配置信息,所述初始状态为所述操作***首次运行前的状态;
所述获取单元,还用于获取所述操作***的运行信息,所述运行信息包括所述操作***的待检测应用信息或所述操作***在运行状态下的配置信息;
比对单元,用于将所述合法应用信息与所述待检测应用信息进行比对,或者将所述初始状态下的配置信息与所述运行状态下的配置信息进行比对,得到比对结果;
确定单元,用于在所述比对结果不相同的情况下,确定所述操作***上的待检测应用为恶意应用。
10.根据权利要求9所述的检测装置,其特征在于,所述比对单元,具体用于将所述操作***在所述初始状态下的配置信息的散列值和所述操作***在所述运行状态下的配置信息的散列值进行比对。
11.根据权利要求9或10所述的检测装置,其特征在于,所述比对单元,具体还用于将第一配置信息与第二配置信息进行比对,其中,所述第一配置信息为所述操作***在所述初始状态下的***启动进程的配置信息,所述第二配置信息为所述操作***在所述运行状态下的***启动进程的配置信息;
或者,
所述比对单元,具体还用于将第三配置信息与第四配置信息进行比对,其中,所述第三配置信息为所述操作***在所述初始状态下的用户登录所述操作***进程的配置信息,所述第四配置信息为所述操作***在所述运行状态下的用户登录所述操作***进程的配置信息。
12.根据权利要求9-11中任一项所述的检测装置,其特征在于,所述比对单元,具体还用于将所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称进行比对;
或者,
所述比对单元,具体还用于将第五配置信息与第六配置信息进行比对,其中,所述第五配置信息包括所述待检测应用在初始状态下的应用启动进程的配置信息,所述第六配置信息包括所述待检测应用在运行状态下的应用启动进程的配置信息。
13.根据权利要求9-12中任一项所述的检测装置,其特征在于,所述确定单元,还用于根据所述初始信息和所述运行信息,确定所述待检测应用的恶意等级。
14.根据权利要求13所述的检测装置,其特征在于,所述确定单元,具体用于在所述第一配置信息和所述第二配置信息不同的情况下,确定所述待检测应用为第一级恶意应用;
所述确定单元,具体还用于在所述第一配置信息和所述第二配置信息相同、且所述第三配置信息和所述第四配置信息不同的情况下,确定所述待检测应用为第二级恶意应用,其中,所述第二级恶意应用的恶意等级低于所述第一级恶意应用的恶意等级。
15.根据权利要求14所述的检测装置,其特征在于,所述确定单元,具体还用于在所述第一配置信息和所述第二配置信息相同、所述第三配置信息和所述第四配置信息相同、且所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称不同的情况下,确定所述待检测应用为第三级恶意应用,其中,所述第三级恶意应用的恶意等级低于所述第二级恶意应用的恶意等级。
16.根据权利要求15所述的检测装置,其特征在于,所述确定单元,具体还用于在所述第一配置信息和所述第二配置信息相同、所述第三配置信息和所述第四配置信息相同、所述合法应用信息中的应用名称和所述待检测应用信息中的应用名称相同、且所述第五配置信息和所述第六配置信息不同的情况下,确定所述待检测应用为第四级恶意应用,其中,所述第四级恶意应用的恶意等级低于所述第三级恶意应用的恶意等级。
17.一种恶意应用的检测装置,其特征在于,包括:处理器和存储器;
所述存储器用于存储计算机执行指令;
所述处理器用于执行所述存储器所存储的计算机执行指令,以使所述应用检测装置执行如权利要求1-8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,包括:
所述计算机可读存储介质用于存储指令或计算机程序;当所述指令或所述计算机程序被执行时,使如权利要求1-8中任一项所述的方法被实现。
19.一种计算机程序产品,其特征在于,包括:指令或计算机程序;
所述指令或所述计算机程序被执行时,使如权利要求1-8中任一项所述的方法被实现。
CN202080004482.1A 2020-12-18 2020-12-18 一种恶意应用的检测方法、装置及存储介质 Pending CN112689835A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/137660 WO2022126616A1 (zh) 2020-12-18 2020-12-18 一种恶意应用的检测方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN112689835A true CN112689835A (zh) 2021-04-20

Family

ID=75457656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080004482.1A Pending CN112689835A (zh) 2020-12-18 2020-12-18 一种恶意应用的检测方法、装置及存储介质

Country Status (2)

Country Link
CN (1) CN112689835A (zh)
WO (1) WO2022126616A1 (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150256552A1 (en) * 2014-03-04 2015-09-10 Electronics And Telecommunications Research Institute Imalicious code detection apparatus and method
CN106503555A (zh) * 2016-10-21 2017-03-15 维沃移动通信有限公司 一种保障支付安全的方法和移动终端

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080016339A1 (en) * 2006-06-29 2008-01-17 Jayant Shukla Application Sandbox to Detect, Remove, and Prevent Malware
US8850588B2 (en) * 2012-05-01 2014-09-30 Taasera, Inc. Systems and methods for providing mobile security based on dynamic attestation
CN110737887B (zh) * 2019-10-22 2021-11-30 厦门美图之家科技有限公司 恶意代码检测方法、装置、电子设备及存储介质
CN111027070B (zh) * 2019-12-02 2022-05-03 厦门大学 恶意应用检测方法、介质、设备及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150256552A1 (en) * 2014-03-04 2015-09-10 Electronics And Telecommunications Research Institute Imalicious code detection apparatus and method
CN106503555A (zh) * 2016-10-21 2017-03-15 维沃移动通信有限公司 一种保障支付安全的方法和移动终端

Also Published As

Publication number Publication date
WO2022126616A1 (zh) 2022-06-23

Similar Documents

Publication Publication Date Title
US9553889B1 (en) System and method of detecting malicious files on mobile devices
CN104517054B (zh) 一种检测恶意apk的方法、装置、客户端和服务器
US20160156646A1 (en) Signal tokens indicative of malware
US20100024033A1 (en) Apparatus and method for detecting obfuscated malicious web page
CN106845223B (zh) 用于检测恶意代码的方法和装置
US20160094574A1 (en) Determining malware based on signal tokens
WO2014071867A1 (zh) 程序处理方法和***,用于程序处理的客户端和服务器
CN109165514B (zh) 一种风险检测方法
US9038161B2 (en) Exploit nonspecific host intrusion prevention/detection methods and systems and smart filters therefor
CN104268476A (zh) 一种运行应用程序的方法
CN116303290B (zh) 一种office文档检测方法及装置、设备及介质
CN109977671B (zh) 一种基于编译器修改的Android锁屏型勒索软件检测方法
CN109711161B (zh) 一种监控方法及电子设备
CN109460653B (zh) 基于规则引擎的验证方法、验证设备、存储介质及装置
CN111177727A (zh) 漏洞检测方法及装置
CN110858247A (zh) 安卓恶意应用检测方法、***、设备及存储介质
CN106127473A (zh) 一种安全支付方法及电子设备
CN114282212A (zh) 流氓软件识别方法、装置、电子设备及存储介质
US8418251B1 (en) Detecting malware using cost characteristics
US20090144821A1 (en) Auxiliary method for investigating lurking program incidents
CN112689835A (zh) 一种恶意应用的检测方法、装置及存储介质
CN116305129A (zh) 一种基于vsto的文档检测方法及装置、设备及介质
CN116595523A (zh) 基于动态编排的多引擎文件检测方法、***、设备及介质
CN103294949A (zh) 一种检测木马程序的方法及装置
CN113779576A (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