APP下载

基于动静态分析的Android APP敏感行为检测研究

2021-07-20马敏燕季莹莹

网络安全技术与应用 2021年6期
关键词:静态动态监控

◆马敏燕 季莹莹

(国家计算机网络应急技术处理协调中心浙江分中心 浙江 310052)

1 引言

Google 发布Android 系统以来,凭借开源性和高度的开放性,Android 迅速占领移动终端市场。在移动APP 产业快速发展的同时,在巨大经济利益的诱惑下,灰产和黑产纷纷盯上这块大蛋糕,导致各种恶意APP 层出不穷。

本文基于动静态检测的方式分析Android APP敏感行为开展研究。动态检测模块可对APP 运行时数据进行分析,主要结合API Hook技术监控APP 的API 调用、结合多种网络流量分析技术监控APP 和网络数据、结合自动化测试技术提高检测效率。静态检测模块可对APP 的代码进行扫描,分析其中的敏感行为,主要结合APP 逆向技术获取APP 汇编代码、结合基于抽象语法树的控制流、数据流分析技术分析APP 中的非安全调用、隐私泄露行为等敏感行为。

2 问题和现状

Android APP 有如下几大类影响软件安全性的问题:

(1)APP 自身含有恶意行为影响用户的信息安全。Android 恶意APP 通过推送恶意广告诱骗欺诈、私自下载其他APP 偷跑流量、私发短信恶意吸费、出卖用户隐私等方式非法获取利益。

(2)APP 自身编写存在问题而被恶意利用。由于APP 开发者的水平参差不齐以及APP 测试的不完善,导致了很多APP 自身都存在安全问题,容易被攻击者恶意利用从而对用户产生威胁。

(3)APP 过度的隐私收集。为了提高用户体验,或是提高广告投放的精准度,大多数APP 都尽可能多的收集用户信息,但用户的手机中存储着大量个人隐私,一旦过度收集用户个人数据,甚至是恶意窃取,造成隐私泄露问题。

针对以上问题,本文中通过对Android 安全情况的长期研究、技术积累,对APP 中可能存在的安全问题进行全面、细粒度的检测。

3 技术路线和研究方法

为实现更加全面、准确的Android APP敏感行为检测,本文在已有工作基础上,拟订在动态方面研究APP 敏感操作的运行时特征与行为,实现APP 动态监控技术,在静态方面研究相关机器代码工作流程与常见模式,实现APP 逆向分析技术。

本系统为实现功能,分为以下四个功能层:数据采集层、业务逻辑层、通信层、存储支撑层。

数据采集层负责APP 信息采集,主要功能为对常见应用商店的爬取,实现APP 信息采集和样本下载;业务逻辑层包括APP敏感行为动态检测模块、APP敏感行为静态检测模块,是系统的核心业务层,功能为对App 样本进行自动化分析,动态运行获取App 敏感API 调用、网络通信数据,静态反编译App 进行控制流数据流通过模式匹配获取APP敏感行为;调度管理层包括业务管理、日志管理、节点管理和结果管理,主要对系统的各节点、业务功能和数据进行管理和调度;存储支撑层主要为系统提供存储和算力支撑。

图1 系统功能

图2 流程图

对国内外主流Android APP 市场进行收集,利用爬虫与分布式下载等技术,进行信息采集及样本获取,得到待测APP 信息及样本文件。进行检测时,动态检测任务下发到测试机,通过自动化测试进行敏感API 检测,同时通过网络监控模块对App 的网络通信数据进行分析,获取其中敏感数据;静态任务在服务器上进行,对其进行逆向等预处理后生成抽象语法树,进行控制流与数据流分析,通过与数据库中的敏感行为模式进行匹配,从代码层面分析被检App 的敏感行为。最后汇总并分析动态检测和静态检测结果,生成报告。

4 结果及分析

基于动静态分析技术,实现对Android APP 以下敏感行为的监控,包括但不限于:非法窃取隐私数据、异常数据记录、异常权限持有、文件系统行为、远程控制行为、恶意传播行为。

基于网络流量监控与分析技术,支持对APP 流量中HTTPS、TLS协议传输的加密数据分析,输出泄露的敏感信息、相关数据及上下文信息。支持对远程控制、恶意传播行为的发现,可以分析并记录相关网络传输目标IP、端口、域名、协议信息。

5 结束语

本文基于动静态检测的方式分析Android APP敏感行为开展研究,实现基于动态运行时的Android APP敏感行为检测方案,实现基于逆向的Android APP 静态代码敏感行为检测,有效发现APP 中多种隐私泄露行为。

猜你喜欢

静态动态监控
国内动态
国内动态
国内动态
The Great Barrier Reef shows coral comeback
最新进展!中老铁路开始静态验收
静态随机存储器在轨自检算法
动态
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
油罐车静态侧倾稳定角的多体仿真计算