本发明涉及信息技术领域,尤其涉及静默下载的检测方法、装置及一种移动终端。
背景技术:
静默下载主要通过在没有与用户交互的情况下,私自在后台进程中消耗网络流量下载文件,文件下载后会保存在某些指定文件夹中。随着Android系统等智能手机平台的兴起,移动终端的恶意代码逐渐成为信息安全领域的又一重大威胁。目前,Android中的恶意代码数量正呈现出爆炸式增长的趋势,移动端的恶意代码为了实现流氓推送等行为,往往利用静默下载技术在用户手机中静默下载恶意文件。
技术实现要素:
本发明的目的在于提供静默下载的检测方法及装置,能够准确检测到应用的静默下载行为,帮助用户免受恶意行为威胁。
为了实现上述目的,本发明公开了一种静默下载的检测方法,包括以下步骤:
在应用程序安装后按照预设的规则获取目标文件夹的路径;
监控所述目标文件夹及应用程序的后台进程;
监控终端是否满足预设的静默状态条件;
当所述目标文件夹内创建了新文件,应用程序的后台进程存在消耗流量行为且终端满足预设的静默状态条件时,判断终端存在静默下载行为。
进一步的,获取目标文件夹的路径的方法包括:
在应用程序自己定义的路径中获取目标文件夹;
或
在SD卡里获取目标文件夹;
或
在系统目录中获取目标文件夹。
进一步的,获取目标文件夹的路径的方法包括:
获取程序代码中包含文件夹路径的字符串;
或
分别获取程序代码中SD卡根目录字符串、子目录字符串,然后将二者拼接得取目标文件夹的路径;
或
获取程序代码中/data/data/<packagename>/files文件夹路径或/data/data/< packagename >/cache文件夹。
进一步的,预设的静默状态条件为在终端下载行为产生前不存在用户交互行为。
进一步的,所述用户交互行为包括点击、触摸、滑动、声控、光控或震动等。
为了实现上述目的,本发明还公开了一种静默下载的检测装置,包括获取模块、第一监控模块、第二监控模块、判断模块,其中:
获取模块,用于在应用程序安装后按照预设的规则获取目标文件夹的路径;
第一监控模块,用于监控所述目标文件夹及应用程序的后台进程;
第二监控模块,用于监控终端是否满足预设的静默状态条件;
判断模块,用于当所述目标文件夹内创建了新文件,应用程序的后台进程存在消耗流量行为且终端满足预设的静默状态条件时,判断终端存在静默下载行为。
进一步的,所述获取模块获取目标文件夹的路径的方法包括:
获取程序代码中包含文件夹路径的字符串;
或
分别获取程序代码中SD卡根目录字符串、子目录字符串,然后将二者拼接得取目标文件夹的路径;
或
获取程序代码中/data/data/<packagename>/files文件夹路径或/data/data/< packagename >/cache文件夹。
进一步的,所述预设的静默状态条件为在终端下载行为产生前不存在用户交互行为。
进一步的,所述用户交互行为包括点击、触摸或滑动。
本发明还公开了一种移动终端,包括上述静默下载的检测装置,当检测到静默下载行为后,提醒用户后关闭数据流量。
本发明与现有技术相比的有益效果是: 本发明通过对移动端恶意代码静默下载的行为特点进行监控,根据分析静默下载可能涉及的文件夹内是否创建了新文件且应用程序的后台进程存在消耗流量行为来判断终端具有下载行为,然后再判断终端的状态是否满足静默状态来确定是否存在静默下载行为。本发明可以应用于应用程序检测分析领域,若应用程序存在静默下载行为则可以对其进行标记,而后添加入类似于病毒引擎的产品,当用户安装该应用程序后,病毒引擎能提醒用户免受恶意行为威胁。可以理解的,本发明也能直接应用于用户的移动终端中,当检测到静默下载行为后,可以提醒用户后关闭数据流量以减少损失。
附图说明
图1为本发明一种静默下载的检测方法流程图。
图2为本发明一种静默下载的检测装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。
在一些实施例中,如图1所示,一种静默下载的检测方法,包括以下步骤:
S01,在应用程序安装后按照预设的规则获取目标文件夹的路径。
通过对现有静默下载行为的大量研究,发现了静默下载行为有一些默认的下载路径,因此可以主要从三方面来获取目标文件夹的路径:
目标文件夹存储在应用程序自己定义的路径中。
针对这种情况,需要获取程序代码中包含文件夹路径的字符串。
例如:\"/mnt/sdcard/download\"直接通过字符串写在代码中。
目标文件夹存储在SD卡里。
针对这种情况,需要分别获取程序代码中SD卡根目录字符串、子目录字符串,然后将二者拼接得取目标文件夹的路径。
可以通过getExternalStorageDirectory()获取SD卡根目录字符串。例如:String.valueOf(Environment.getExternalStorageDirectory().getPath()) + File.separator + \".tmp\",其获取的就是SD卡根目录下的.tmp目录。
目标文件夹存储在系统目录中。
主要包括获取程序代码中/data/data/<packagename>/files文件夹路径或/data/data/< packagename >/cache文件夹路径。
一般可以通过getFilesDir()获取的/data/data/<packagename>/files文件夹路径,通过getCacheDir()获取/data/data/< packagename >/cache文件夹路径。例如:String.valueOf(this.m_service.getApplicationContext().getFilesDir().getAbsolutePath())获取的就是该程序包名下的files目录,同样使用getCacheDir()也可以获取该包名下的cache目录。
S02,监控所述目标文件夹及应用程序的后台进程。
当所述目标文件夹内创建了新文件且应用程序的后台进程存在消耗流量行为时,判断终端具有下载行为,此时进入S03,否则,继续监控。
监控流量的方法可以有多种,例如,通过实时监控每个进程相关的网络数据包来监控进程的流量。一般,流量消耗会设置阈值,达到该阈值才认为有文件下载。
S03,监控终端是否满足预设的静默状态条件。
可以理解的,静默状态条件一般为在终端下载行为产生前不存在用户交互行为,包括点击、触摸(长按、短按)、滑动、声控、光控或震动等。
可以理解的,S02和S03的顺序是可以改变的。
S04,当所述目标文件夹内创建了新文件,应用程序的后台进程存在消耗流量行为且终端满足预设的静默状态条件时,判断终端存在静默下载行为。
本发明通过对移动端恶意代码静默下载的行为特点进行监控,根据分析静默下载可能涉及的文件夹内是否创建了新文件且应用程序的后台进程存在消耗流量行为来判断终端具有下载行为,然后再判断终端的状态是否满足静默状态来确定是否存在静默下载行为。本发明可以应用于应用程序检测分析领域,若应用程序存在静默下载行为则可以对其进行标记,而后添加入类似于病毒引擎的产品,当用户安装该应用程序后,病毒引擎能提醒用户免受恶意行为威胁。可以理解的,本发明也能直接应用于用户的移动终端中,当检测到静默下载行为后,可以提醒用户后关闭数据流量以减少损失。
在另一些实施例中,如图2所示,一种静默下载的检测装置,包括获取模块10、第一监控模块20、第二监控模块30、判断模块40,其中:
获取模块10,用于在应用程序安装后按照预设的规则获取目标文件夹的路径。
获取模块10获取目标文件夹的路径的方法包括:
目标文件夹存储在应用程序自己定义的路径中。
针对这种情况,需要获取程序代码中包含文件夹路径的字符串。
例如:\"/mnt/sdcard/download\"直接通过字符串写在代码中。
目标文件夹存储在SD卡里。
针对这种情况,需要分别获取程序代码中SD卡根目录字符串、子目录字符串,然后将二者拼接得取目标文件夹的路径。
可以通过getExternalStorageDirectory()获取SD卡根目录字符串。例如:String.valueOf(Environment.getExternalStorageDirectory().getPath()) + File.separator + \".tmp\",其获取的就是SD卡根目录下的.tmp目录。
目标文件夹存储在系统目录中。
主要包括获取程序代码中/data/data/<packagename>/files文件夹路径或/data/data/< packagename >/cache文件夹路径。
一般可以通过getFilesDir()获取的/data/data/<packagename>/files文件夹路径,通过getCacheDir()获取/data/data/< packagename >/cache文件夹路径。例如:String.valueOf(this.m_service.getApplicationContext().getFilesDir().getAbsolutePath())获取的就是该程序包名下的files目录,同样使用getCacheDir()也可以获取该包名下的cache目录。
第一监控模块20,用于监控所述目标文件夹及应用程序的后台进程。
第二监控模块30,用于监控终端是否满足预设的静默状态条件。
判断模块40,用于当所述目标文件夹内创建了新文件,应用程序的后台进程存在消耗流量行为且终端满足预设的静默状态条件时,判断终端存在静默下载行为。
预设的静默状态条件为在终端下载行为产生前不存在用户交互行为,包括点击、触摸(长按、短按)、滑动、声控、光控或震动等。
本发明通过对移动端恶意代码静默下载的行为特点进行监控,根据分析静默下载可能涉及的文件夹内是否创建了新文件且应用程序的后台进程存在消耗流量行为来判断终端具有下载行为,然后再判断终端的状态是否满足静默状态来确定是否存在静默下载行为。本发明可以应用于应用程序检测分析领域,若应用程序存在静默下载行为则可以对其进行标记,而后添加入类似于病毒引擎的产品,当用户安装该应用程序后,病毒引擎能提醒用户免受恶意行为威胁。可以理解的,本发明也能直接应用于用户的移动终端中,当检测到静默下载行为后,可以提醒用户后关闭数据流量以减少损失。
上述说明示出并描述了本发明的若干实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。