CN111177715A - 一种移动App漏洞检测方法及装置 - Google Patents

一种移动App漏洞检测方法及装置 Download PDF

Info

Publication number
CN111177715A
CN111177715A CN201811341824.XA CN201811341824A CN111177715A CN 111177715 A CN111177715 A CN 111177715A CN 201811341824 A CN201811341824 A CN 201811341824A CN 111177715 A CN111177715 A CN 111177715A
Authority
CN
China
Prior art keywords
mobile app
detected
file
apk file
vulnerability detection
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
CN201811341824.XA
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.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
China Mobile Group Zhejiang Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
China Mobile Group Zhejiang 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 China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd, China Mobile Group Zhejiang Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201811341824.XA priority Critical patent/CN111177715A/zh
Publication of CN111177715A publication Critical patent/CN111177715A/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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种移动App漏洞检测方法及装置,用以解决现有的移动App漏洞检测方法检测效果不佳、检测效率低的问题。该方法包括:接收第一终端发送的携带有待检测移动App的Apk文件的标识及存储路径信息漏洞检测请求;根据所述标识及存储路径获取所述Apk文件,并将所述Apk文件存储于任务队列中;针对任务队列中的每一Apk文件,执行如下操作:根据Apk文件对待检测移动App执行静态漏洞检测;向代理客户端发送所述Apk文件,令代理客户端在其所在的第二终端上安装所述Apk文件;接收代理客户端发送的其获取的在待检测移动App运行时产生的网络流量数据包;根据网络流量数据包对待检测移动App执行动态漏洞检测。

Description

一种移动App漏洞检测方法及装置
技术领域
本发明涉及信息安全技术领域,尤其涉及一种移动App漏洞检测方法及装置。
背景技术
随着智能终端的普及,移动App(Application,应用程序)得到广泛应用,在海量的应用中,移动App可能会面临被篡改、不安全地存储、账号窃取、信息劫持等威胁,因而,及早发现移动App的漏洞对用户以及智能终端设备的整体安全非常重要。
现有的移动App漏洞检测方法主要以下几种:
(1)手动对App进行静态和动态安全漏洞检测方案。这种检测方案无法形成客观量化的标准操作,而往往依赖检测人员的经验和安全技能水平,此外,面对大规模的App数量和类型时,需要耗费大量人力物力,无法将检测能力形成可供外部调用的平台,难以批量扩展使用。
(2)基于静态特征的App静态漏洞检测方案。该方案在漏洞库完备的情况下较好地实现了自动化,能有效扫描出App静态漏洞,但对于App安装运行时的漏洞无法进行检测,而明文发送密码、SQL(Structured Query Language,结构化查询语言)注入等常见漏洞一般都在App运行时才能暴露出来,因此,静态漏洞检测难以全面检测App的整体安全。
(3)基于动态行为特征的App动态漏洞检测方案。该方案能够实现一定程度的自动化,例如抓包完成之后进行流量解析和自动匹配动态漏洞库等,但是在网络抓包时无法有效遍历App所有接口,使得检测效果不佳,或仍然需要人工的参与,导致漏洞检测效率低。
发明内容
为了解决现有的移动App漏洞检测方法检测效果不佳、检测效率低的问题,本发明实施例提供了一种移动App漏洞检测方法及装置。
第一方面,本发明实施例提供了一种Web服务器侧实施的移动App漏洞检测方法,包括:
接收第一终端发送的漏洞检测请求,所述漏洞检测请求中携带有待检测移动应用程序App的Android安装包Apk文件的标识及存储路径信息;
根据所述标识及存储路径获取所述待检测移动App的Apk文件,并将所述待检测移动App的Apk文件存储于任务队列中;
针对所述任务队列中的每一个待检测移动App的Apk文件,执行如下操作:
根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,并将静态漏洞检测结果返回至所述第一终端;
向代理客户端发送所述待检测移动App的Apk文件,令所述代理客户端在安装所述代理客户端的第二终端上安装所述待检测移动App的Apk文件;
接收所述代理客户端发送的其获取的在所述待检测移动App运行时产生的网络流量数据包;
根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测,并将动态漏洞检测结果返回至所述第一终端。
采用本发明实施例提供的移动App漏洞检测方法,Web服务器接收第一终端发送的漏洞检测请求,所述漏洞检测请求中携带有待检测移动应用程序App的Android安装包Apk(Android package,安卓安装包)文件的标识及存储路径信息,根据所述待检测移动App的Apk文件的标识及存储路径获取所述待检测移动App的Apk文件,并将待检测移动App的Apk文件存储于Web服务器的任务队列中,针对任务队列中的每一个待检测移动App的Apk文件,均执行如下操作:根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,并将静态漏洞检测结果返回至所述第一终端,向代理客户端发送所述待检测移动App的Apk文件,使得代理客户端在安装所述代理客户端的第二终端上安装所述待检测移动App的Apk文件,安装完毕后,代理客户端获取在所述待检测移动App运行时产生的网络流量数据包,并将所述网络流量数据包发送给Web服务器,Web服务器根据接收的所述网络流量数据包对所述待检测移动App执行动态漏洞检测,并将动态漏洞检测结果返回至第一终端,相比与现有技术,本发明实施例提供的移动App漏洞检测方法,实现了动态运行时漏洞自动化检测,无需人工参与,高效快捷,且将动态漏洞检测与静态漏洞检测相结合,进行并行检测,使得漏洞检测更全面,提高检测效果。
较佳地,根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,具体包括:
将所述待检测移动App的Apk文件解包;
从解包后的Apk文件中提取签名证书、资源文件、dex文件以及Manifest文件;
对所述dex文件和所述Manifest文件分别进行反编译;
将所述签名证书、所述资源文件、所述反编译后的dex文件以及反编译后的Manifest文件分别与预先存储的静态漏洞库中的静态漏洞规则进行匹配,获得匹配结果。
较佳地,所述待检测移动App运行时产生的网络流量为所述代理客户端在安装完所述待检测移动App的Apk文件后,利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口,并通过Android系统虚拟专用网络服务VPN service从所述各网络接口自动抓取的。
上述较佳的实施方式表征,本发明实施例中,代理客户端在安装完所述待检测移动App的Apk文件后,利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口,并通过Android系统VPN service(Virtual Private Networkservice,虚拟专用网络服务)从所述各网络接口自动抓取待检测移动App运行时产生的网络流量,通过辅助功能服务Accessibility Service与Android自动测试工具monkey相结合遍历各网络接口,使得待检测移动App的网络接口遍历更全面,尽可能的抓取待检测移动App运行时的全部网络流量,使得后续检测更全面、更准确。
较佳地,所述网络流量数据包存储于pcap文件中;
根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测,具体包括:
对所述pcap文件进行解析,提取所述网络流量数据包中的流量特征;
将所述流量特征与预先存储的动态漏洞库中的动态漏洞规则进行匹配,获得匹配结果。
第二方面,本发明实施例提供了一种Web服务器侧实施的移动App漏洞检测装置,包括:
第一接收单元,用于接收第一终端发送的漏洞检测请求,所述漏洞检测请求中携带有待检测移动应用程序App的Android安装包Apk文件的标识及存储路径信息;
获取单元,用于根据所述标识及存储路径获取所述待检测移动App的Apk文件,并将所述待检测移动App的Apk文件存储于任务队列中;
静态漏洞检测单元,用于针对所述任务队列中的每一个待检测移动App的Apk文件,执行如下操作:根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,并将静态漏洞检测结果返回至所述第一终端;
发送单元,用于向代理客户端发送所述待检测移动App的Apk文件,令所述代理客户端在安装所述代理客户端的第二终端上安装所述待检测移动App的Apk文件;
第二接收单元,用于接收所述代理客户端发送的其获取的在所述待检测移动App运行时产生的网络流量数据包;
动态漏洞检测单元,用于根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测,并将动态漏洞检测结果返回至所述第一终端。
较佳地,所述静态漏洞检测单元,具体用于将所述待检测移动App的Apk文件解包;从解包后的Apk文件中提取签名证书、资源文件、dex文件以及Manifest文件;对所述dex文件和所述Manifest文件分别进行反编译;将所述签名证书、所述资源文件、所述反编译后的dex文件以及反编译后的Manifest文件分别与预先存储的静态漏洞库中的静态漏洞规则进行匹配,获得匹配结果。
较佳地,所述待检测移动App运行时产生的网络流量为所述代理客户端在安装完所述待检测移动App的Apk文件后,利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口,并通过Android系统虚拟专用网络服务VPN service从所述各网络接口自动抓取的。
较佳地,所述网络流量数据包存储于pcap文件中;
所述动态漏洞检测单元,具体用于对所述pcap文件进行解析,提取所述网络流量数据包中的流量特征;将所述流量特征与预先存储的动态漏洞库中的动态漏洞规则进行匹配,获得匹配结果。
本发明提供的Web服务器侧实施的移动App漏洞检测装置的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第三方面,本发明实施例提供了一种代理客户端侧实施的移动App漏洞检测方法,包括:
代理客户端向Web服务器发送待检测移动应用程序App的Android安装包Apk文件的获取请求;
接收所述Web服务器返回的待检测移动App的Apk文件的标识及存储路径信息;
根据所述待检测移动App的Apk文件的标识及存储路径下载所述待检测移动App的Apk文件;
在安装所述代理客户端的终端上安装所述待检测移动App的Apk文件;
在安装完所述待检测移动App的Apk文件后,采集所述待检测移动App运行时产生的网络流量数据包;
将所述网络流量数据包存储于pcap文件中后发送给所述Web服务器,令所述Web服务器根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测。
采用本发明实施例提供的移动App漏洞检测方法,代理客户端向Web服务器发送待检测移动App的Apk文件的获取请求,Web服务器接收到所述请求后,向代理客户端返回请求的待检测移动App的Apk文件的标识及存储路径信息,代理客户端根据接收的所述待检测移动App的Apk文件的标识及存储路径下载所述待检测移动App的Apk文件,并在安装所述代理客户端的终端上安装所述待检测移动App的Apk文件,在安装完所述待检测移动App的Apk文件后,采集所述待检测移动App运行时产生的网络流量数据包,并将采集的网络流量数据包存储与pcap文件中后发送给Web服务器,以使Web服务器根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测,相比于现有技术,本发明实施例中的动态漏洞检测方法,实现了动态运行时漏洞自动化检测,无需人工参与,高效快捷。
较佳地,采集所述待检测移动App运行时产生的网络流量数据包,具体包括:
利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口;
通过Android系统虚拟专用网络服务VPN service自动抓取所述待检测移动App运行时所述各网络接口的网络流量数据包。
上述较佳的实施方式表征,本发明实施例中,代理客户端在安装完所述待检测移动App的Apk文件后,利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口,并通过Android系统VPN service从所述各网络接口自动抓取待检测移动App运行时产生的网络流量,通过辅助功能服务Accessibility Service与Android自动测试工具monkey相结合遍历各网络接口,使得待检测移动App的网络接口遍历更全面,尽可能的抓取待检测移动App运行时的全部网络流量,使得后续检测更全面、更准确。
第四方面,本发明实施例提供了一种代理客户端侧实施的Web服务器侧移动App漏洞检测装置,包括:
第一发送单元,用于代理客户端向Web服务器发送待检测移动应用程序App的Android安装包Apk文件的获取请求;
接收单元,用于接收所述Web服务器返回的待检测移动App的Apk文件的标识及存储路径信息;
下载单元,用于根据所述待检测移动App的Apk文件的标识及存储路径下载所述待检测移动App的Apk文件;
安装单元,用于在安装所述代理客户端的终端上安装所述待检测移动App的Apk文件;
采集单元,用于在安装完所述待检测移动App的Apk文件后,采集所述待检测移动App运行时产生的网络流量数据包;
第二发送单元,用于将所述网络流量数据包存储于pcap文件中后发送给所述Web服务器,令所述Web服务器根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测。
较佳地,所述采集单元,具体用于利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口;通过Android系统虚拟专用网络服务VPNservice自动抓取所述待检测移动App运行时所述各网络接口的网络流量数据包。
本发明提供的代理客户端侧实施的移动App漏洞检测装置的技术效果可以参见上述第三方面或第三方面的各个实现方式的技术效果,此处不再赘述。
第五方面,本发明实施例提供了一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明第一方面或第三方面所述的移动App漏洞检测方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面或第三方面所述的移动App漏洞检测方法中的步骤。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的移动App漏洞检测方法的应用场景示意图;
图2为本发明实施例提供的移动App漏洞检测方法的实施流程示意图;
图3为本发明实施例中,静态漏洞检测的实施流程示意图;
图4为本发明实施例中,动态漏洞检测流程示意图;
图5为本发明实施例提供的Web服务器侧实施的移动App漏洞检测方法的实施流程示意图;
图6为本发明实施例提供的Web服务器侧实施的移动App漏洞检测装置的结构示意图;
图7为本发明实施例提供的代理客户端侧实施的移动App漏洞检测方法的实施流程示意图;
图8为本发明实施例提供的代理客户端侧实施的移动App漏洞检测装置的结构示意图;
图9为本发明实施例提供的通信设备的结构示意图。
具体实施方式
为了解决现有的移动App漏洞检测方法检测效果不佳、检测效率低的问题,本发明实施例提供了一种移动App漏洞检测方法及装置。
本发明实施例提供的移动App漏洞检测方法的实施原理是:Web服务器接收第一终端发送的漏洞检测请求,所述漏洞检测请求中携带有待检测移动应用程序App的Android安装包Apk(Android package,安卓安装包)文件的标识及存储路径信息,根据所述待检测移动App的Apk文件的标识及存储路径获取所述待检测移动App的Apk文件,并将待检测移动App的Apk文件存储于Web服务器的任务队列中,针对任务队列中的每一个待检测移动App的Apk文件,均执行如下操作:根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,并将静态漏洞检测结果返回至所述第一终端,向代理客户端发送所述待检测移动App的Apk文件,使得代理客户端在安装所述代理客户端的第二终端上安装所述待检测移动App的Apk文件,安装完毕后,代理客户端获取在所述待检测移动App运行时产生的网络流量数据包,并将所述网络流量数据包发送给Web服务器,Web服务器根据接收的所述网络流量数据包对所述待检测移动App执行动态漏洞检测,并将动态漏洞检测结果返回至第一终端,相比与现有技术,本发明实施例提供的移动App漏洞检测方法,实现了动态运行时漏洞自动化检测,无需人工参与,高效快捷,且将动态漏洞检测与静态漏洞检测相结合,进行并行检测,使得漏洞检测更全面,提高检测效果。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明实施例中,移动App漏洞检测系统可以分为两种部署方式:云端部署和本地部署。其中,云端部署,以Web应用的方式提高服务,系统部署在云端,系统管理员为客户分配检测账号,云端提供手机池资源,开发者只需上传待检测移动App的Apk文件,将能够得到静态漏洞检测结果报告和动态漏洞检测结果报告。本地部署,系统可以部署在客户本地,此过程需要开发者提供需提供服务器和手机池等资源。
本发明实施例以云端部署为例进行说明,首先参考图1,其为本发明实施例提供的移动App漏洞检测方法的应用场景示意图。用户通过第一终端11向Web服务器12发送携带有待检测移动App的Apk文件的标识及存储路径信息的漏洞检测请求,Web服务器12根据所述待检测移动App的Apk文件的标识及存储路径获取所述待检测移动App的Apk文件,其中,所述待检测移动App的Apk文件也可以由用户通过第一终端11上传至Web服务器12,Web服务器12将待检测移动App的Apk文件存储于Web服务器12的任务队列中,Web服务器12针对任务队列中的每一个待检测移动App的Apk文件,均执行如下操作:根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,并将静态漏洞检测结果返回至第一终端11,向第二终端13上的代理客户端发送所述待检测移动App的Apk文件,代理客户端也可以通过向Web服务器12发送待检测移动App的Apk文件的获取请求,根据Web服务器12返回的所述待检测移动App的Apk文件的标识及存储路径下载所述待检测移动App的Apk文件,代理客户端获取所述待检测移动App的Apk文件后,在第二终端13上安装所述待检测移动App的Apk文件,安装完毕后,代理客户端采集所述待检测移动App运行时产生的网络流量数据包,并将所述网络流量数据包发送给Web服务器12,Web服务器12根据接收的所述网络流量数据包对所述待检测移动App执行动态漏洞检测,并将动态漏洞检测结果返回至第一终端11。本发明实施例中,第一终端11为Web前端,第二终端13为安装了Android系统的手机终端。
下面结合图1的应用场景,参考图2-4来描述根据本发明示例性实施方式的移动App漏洞检测方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图2所示,其为本发明实施例提供的移动App漏洞检测方法的实施流程示意图,可以包括以下步骤:
S21、第一终端向Web服务器发送漏洞检测请求,所述漏洞检测请求中携带有待检测移动App的Apk文件的标识及存储路径信息。
具体实施时,用户通过第一终端向Web服务器发送漏洞检测请求,所述漏洞检测请求中携带有待检测移动App的Apk文件的标识及存储路径信息,其中,第一终端为Web前端。
S22、Web服务器根据所述标识及存储路径获取所述待检测移动App的Apk文件,并将所述待检测移动App的Apk文件存储于任务队列中。
具体实施时,Web服务器根据待检测移动App的Apk文件的标识及存储路径下载所述标识对应的移动App的Apk文件,并将所述待检测移动App的Apk文件存储于任务队列中。具体地,任务队列可以采用Redis队列,任务队列中的任务可以采用先入先出的原则进行处理。
较佳地,本发明实施例中,用户还可以通过第一终端主动上传待检测移动App的Apk文件至Web服务器,此处不作赘述。
进而,针对所述任务队列中的每一个待检测移动App的Apk文件,执行步骤S23~S210:
S23、Web服务器根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,获得静态漏洞检测结果。
具体实施时,按照如图3所示的流程执行静态漏洞检测,可以包括以下步骤:
S231、Web服务器将所述待检测移动App的Apk文件解包。
具体实施时,可以利用apktool工具对所述待检测移动App的Apk文件进行解包。
需要说明的是,如果所述待检测移动App的Apk文件已经经过了加固操作,在对其解包之前,还需要进行加壳识别和脱壳操作,再进行解包操作。
S232、从解包后的Apk文件中提取签名证书、资源文件、dex文件以及Manifest文件。
本步骤中,Manifest文件是应用程序全局配置文件,具体为:AndroidManifest.xml文件,它描述了应用程序的名字、版本、权限、引用的库文件等信息,需要解包后才能阅读;dex文件是应用程序代码文件,为Android平台上的可执行文件。
S233、对所述dex文件和所述Manifest文件分别进行反编译。
S234、将所述签名证书、所述资源文件、所述反编译后的dex文件以及反编译后的Manifest文件分别与预先存储的静态漏洞库中的静态漏洞规则进行匹配,获得匹配结果。
具体实施时,Web服务器将所述签名证书、所述资源文件、所述反编译后的dex文件以及反编译后的Manifest文件分别与预先存储的静态漏洞库中的静态漏洞规则进行匹配,获得匹配结果,所述匹配结果即静态漏洞检测结果。
具体地,经过反编译后的dex文件以smali文件存储,将smali代码中的指令转换成代码执行序列图后,再将代码执行序列图的特征值与预先存储的静态漏洞库中的静态漏洞规则进行匹配。
S24、Web服务器将静态漏洞检测结果返回至第一终端。
S25、Web服务器向代理客户端发送所述待检测移动App的Apk文件。
具体实施时,Web服务器向代理客户端推送所述待检测移动App的Apk文件,还可以由代理客户端向Web服务器发送待检测移动App的Apk文件的获取请求,Web服务器向代理客户端返回待检测移动App的Apk文件的标识及存储路径信息,代理客户端根据所述待检测移动App的Apk文件的标识及存储路径信息下载所述标识对应的移动App的Apk文件,本发明对此不作限定。
S26、代理客户端在安装所述代理客户端的第二终端上安装所述待检测移动App的Apk文件。
具体实施时,代理客户端在该代理客户端所在的第二终端上安装所述待检测移动App的Apk文件,本发明实施例中,第二终端可以为由云测试平台提供的手机池资源中的Android手机终端。
S27、代理客户端在安装完所述待检测移动App的Apk文件后,采集所述待检测移动App运行时产生的网络流量数据包。
具体实施时,代理客户端在安装完所述待检测移动App的Apk文件后,利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口,通过Android系统虚拟专用网络服务VPN service自动抓取所述待检测移动App运行时所述各网络接口的网络流量数据包。
具体地,启动辅助功能服务,通过监控获得当前活动窗口的内容并模拟用户进行相关操作,如Button(按钮)点击等,使用Android自动测试工具monkey,在Android设备即第二终端中产生类似用户点击、触摸、手势以及一些系统级的伪随机事件流,以实现无需人工参与、自动遍历所有可能的网络接口,从而实现各网络接口的流量抓包。本发明实施例中,使用云测试平台提供的手机池资源,将代理客户端远程预先安装到手机池资源中的Android设备上,通过远程命令就可以在代理客户端运行的同时进行monkey操作,只要有手机池资源中有空余设备的情况下,便能够执行自动抓包任务,如果无设备空余,则Web服务器的任务队列中的任务暂不取出。自动抓取网络流量时,使用Android系统自带的VPNservice,VPN程序通过打开/dev/tun设备,并读取该设备上的数据,可以获得所有的转发到Tun虚拟网卡上的数据包,由于设备上的所有IP(Internet Protocol,网络协议)包都会被NAT(Network Address Translation,网络地址转换)转成源地址是tun0端口发送,因此,VPN程序可以获得进出该设备的几乎所有的数据,此外,通过接口add AllowedApplication可以设置抓取指定移动App的流量,而非设备所有流量,从而进行有效过滤。
较佳地,还可以结合手动抓包,在网络接口遍历过程中,可以由测试人员手动参与,以满足用户多样化需求,这样将能更精确地抓取哪些敏感的或者有潜在风险的网络接口,使得抓包更精准、效率和准确性更高。
S28、代理客户端将所述网络流量数据包返回至Web服务器。
具体实施时,代理客户端将所述网络流量数据包存储于pcap文件中后,发送给Web服务器。
S29、Web服务器根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测,获得动态漏洞检测结果。
具体实施时,Web服务器对所述pcap文件解析,提取所述网络流量数据包中的流量特征,将所述流量特征与预先存储的动态漏洞库中的动态漏洞规则进行匹配,获得匹配结果,所述匹配结果即为动态漏洞检测结果。例如,HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求是否存在SQL(Structural Query Language,结构化查询语言)注入漏洞,LOG日志中是否存在敏感信息泄露,待检测移动App运行过程中产生的文件是否存在不安全存储等问题。
S210、Web服务器将动态漏洞检测结果返回至第一终端。
本发明实施例中,对待检测移动App执行静态漏洞检测和动态漏洞检测的过程是并行的,执行的先后顺序不作限定。
本发明实施例提供的移动App漏洞检测方法,Web服务器接收第一终端发送的漏洞检测请求,所述漏洞检测请求中携带有待检测移动应用程序App的Android安装包Apk(Android package,安卓安装包)文件的标识及存储路径信息,根据所述待检测移动App的Apk文件的标识及存储路径获取所述待检测移动App的Apk文件,并将待检测移动App的Apk文件存储于Web服务器的任务队列中,针对任务队列中的每一个待检测移动App的Apk文件,均执行如下操作:根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,并将静态漏洞检测结果返回至所述第一终端,向代理客户端发送所述待检测移动App的Apk文件,使得代理客户端在安装所述代理客户端的第二终端上安装所述待检测移动App的Apk文件,安装完毕后,代理客户端获取在所述待检测移动App运行时产生的网络流量数据包,并将所述网络流量数据包发送给Web服务器,Web服务器根据接收的所述网络流量数据包对所述待检测移动App执行动态漏洞检测,并将动态漏洞检测结果返回至第一终端,相比与现有技术,本发明实施例提供的移动App漏洞检测方法,实现了动态运行时漏洞自动化检测,无需人工参与,高效快捷,且将动态漏洞检测与静态漏洞检测相结合,进行并行检测,使得漏洞检测更全面,提高检测效果。
下面以一个移动App为例具体介绍如何实现动态漏洞检测,如图4所示,其为本发明实施例中,动态漏洞检测流程示意图。
具体地,代理客户端Agent向Web服务器发出登录请求,其中,Web服务器可以使用磨固云服务器,登录帐号密码由蘑固云平台预先提供。魔固云服务器处理登录请求,校验帐号密码,失败则拒绝;校验成功,生成认证参数client_token,存入Redis任务队列中。Key-value为[userid_ct,client_token],返回成功标识和认证参数。认证参数client_token:由魔固云服务器生成的字符串(算法:SHA256(random+userid),用于校验用户身份。Random为6-10位随机字符串。
Agent端开启定时任务,向服务器获取当前用户的动态检测请求。服务器根据token返回用户对应的请求,请求按先入先出推送,返回apk标识apkid。Agent端向服务器发送apk下载请求,服务器端返回下载流。Agent端下载完成,向服务器端请求更新状态为安装中。服务器端验证token和当前状态,更新并返回成功标识。Agent端安装apk,完成后向服务器端请求更新状态收集中。服务器端验证token和当前状态,更新并返回成功标识。Agent端收集网络流量完成,向服务器端请求上传文件。服务器端验证token,接收文件,更新状态,返回成功标识。一次动态检测流程就此完成,重新回到Agent端开启定时任务,准备下一次安全检测。
基于同一发明构思,本发明实施例提供了一种Web服务器侧实施的移动App漏洞检测方法,由于上述Web服务器侧实施的移动App漏洞检测方法解决问题的原理与上述移动App漏洞检测方法相似,因此上述Web服务器侧实施的移动App漏洞检测方法的实施可以参见上述移动App漏洞检测方法的实施,重复之处不再赘述。如图5所示,其为本发明实施例提供的Web服务器侧实施的移动App漏洞检测方法的实施流程示意图,可以包括以下步骤:
S31、接收第一终端发送的漏洞检测请求,所述漏洞检测请求中携带有待检测移动应用程序App的Android安装包Apk文件的标识及存储路径信息。
S32、根据所述标识及存储路径获取所述待检测移动App的Apk文件,并将所述待检测移动App的Apk文件存储于任务队列中。
针对所述任务队列中的每一个待检测移动App的Apk文件,执行步骤S33~S36:
S33、根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,并将静态漏洞检测结果返回至所述第一终端。
S34、向代理客户端发送所述待检测移动App的Apk文件,令所述代理客户端在安装所述代理客户端的第二终端上安装所述待检测移动App的Apk文件。
S35、接收所述代理客户端发送的其获取的在所述待检测移动App运行时产生的网络流量数据包。
S36、根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测,并将动态漏洞检测结果返回至所述第一终端。
较佳地,根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,具体包括:
将所述待检测移动App的Apk文件解包;
从解包后的Apk文件中提取签名证书、资源文件、dex文件以及Manifest文件;
对所述dex文件和所述Manifest文件分别进行反编译;
将所述签名证书、所述资源文件、所述反编译后的dex文件以及反编译后的Manifest文件分别与预先存储的静态漏洞库中的静态漏洞规则进行匹配,获得匹配结果。
较佳地,所述待检测移动App运行时产生的网络流量为所述代理客户端在安装完所述待检测移动App的Apk文件后,利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口,并通过Android系统虚拟专用网络服务VPN service从所述各网络接口自动抓取的。
较佳地,所述网络流量数据包存储于pcap文件中;
根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测,具体包括:
对所述pcap文件进行解析,提取所述网络流量数据包中的流量特征;
将所述流量特征与预先存储的动态漏洞库中的动态漏洞规则进行匹配,获得匹配结果。
基于同一发明构思,本发明实施例还提供了一种Web服务器侧实施的移动App漏洞检测装置,由于上述Web服务器侧实施的移动App漏洞检测装置解决问题的原理与上述方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。如图6所示,其为本发明实施例提供的Web服务器侧实施的移动App漏洞检测装置的结构示意图,可以包括:
第一接收单元41,用于接收第一终端发送的漏洞检测请求,所述漏洞检测请求中携带有待检测移动应用程序App的Android安装包Apk文件的标识及存储路径信息;
获取单元42,用于根据所述标识及存储路径获取所述待检测移动App的Apk文件,并将所述待检测移动App的Apk文件存储于任务队列中;
静态漏洞检测单元43,用于针对所述任务队列中的每一个待检测移动App的Apk文件,执行如下操作:根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,并将静态漏洞检测结果返回至所述第一终端;
发送单元44,用于向代理客户端发送所述待检测移动App的Apk文件,令所述代理客户端在安装所述代理客户端的第二终端上安装所述待检测移动App的Apk文件;
第二接收单元45,用于接收所述代理客户端发送的其获取的在所述待检测移动App运行时产生的网络流量数据包;
动态漏洞检测单元46,用于根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测,并将动态漏洞检测结果返回至所述第一终端。
较佳地,所述静态漏洞检测单元43,具体用于将所述待检测移动App的Apk文件解包;从解包后的Apk文件中提取签名证书、资源文件、dex文件以及Manifest文件;对所述dex文件和所述Manifest文件分别进行反编译;将所述签名证书、所述资源文件、所述反编译后的dex文件以及反编译后的Manifest文件分别与预先存储的静态漏洞库中的静态漏洞规则进行匹配,获得匹配结果。
较佳地,所述待检测移动App运行时产生的网络流量为所述代理客户端在安装完所述待检测移动App的Apk文件后,利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口,并通过Android系统虚拟专用网络服务VPN service从所述各网络接口自动抓取的。
较佳地,所述网络流量数据包存储于pcap文件中;
所述动态漏洞检测单元46,具体用于对所述pcap文件进行解析,提取所述网络流量数据包中的流量特征;将所述流量特征与预先存储的动态漏洞库中的动态漏洞规则进行匹配,获得匹配结果。
基于同一发明构思,本发明实施例提供了一种代理客户端侧实施的移动App漏洞检测方法,由于上述代理客户端侧实施的移动App漏洞检测方法解决问题的原理与上述移动App漏洞检测方法相似,因此上述代理客户端侧实施的移动App漏洞检测方法的实施可以参见上述移动App漏洞检测方法的实施,重复之处不再赘述。如图7所示,其为本发明实施例提供的代理客户端侧实施的移动App漏洞检测方法的实施流程示意图,可以包括以下步骤:
S51、代理客户端向Web服务器发送待检测移动应用程序App的Android安装包Apk文件的获取请求。
S52、接收所述Web服务器返回的待检测移动App的Apk文件的标识及存储路径信息。
S53、根据所述待检测移动App的Apk文件的标识及存储路径下载所述待检测移动App的Apk文件。
S54、在安装所述代理客户端的终端上安装所述待检测移动App的Apk文件。
S55、在安装完所述待检测移动App的Apk文件后,采集所述待检测移动App运行时产生的网络流量数据包。
S56、将所述网络流量数据包存储于pcap文件中后发送给所述Web服务器,令所述Web服务器根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测。
较佳地,采集所述待检测移动App运行时产生的网络流量数据包,具体包括:
利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口;
通过Android系统虚拟专用网络服务VPN service自动抓取所述待检测移动App运行时所述各网络接口的网络流量数据包。
基于同一发明构思,本发明实施例还提供了一种代理客户端侧实施的移动App漏洞检测装置,由于上述代理客户端侧实施的移动App漏洞检测装置解决问题的原理与上述方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。如图8所示,其为本发明实施例提供的代理客户端侧实施的移动App漏洞检测装置的结构示意图,可以包括:
第一发送单元61,用于代理客户端向Web服务器发送待检测移动应用程序App的Android安装包Apk文件的获取请求;
接收单元62,用于接收所述Web服务器返回的待检测移动App的Apk文件的标识及存储路径信息;
下载单元63,用于根据所述待检测移动App的Apk文件的标识及存储路径下载所述待检测移动App的Apk文件;
安装单元64,用于在安装所述代理客户端的终端上安装所述待检测移动App的Apk文件;
采集单元65,用于在安装完所述待检测移动App的Apk文件后,采集所述待检测移动App运行时产生的网络流量数据包;
第二发送单元66,用于将所述网络流量数据包存储于pcap文件中后发送给所述Web服务器,令所述Web服务器根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测。
较佳地,所述采集单元65,具体用于利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口;通过Android系统虚拟专用网络服务VPNservice自动抓取所述待检测移动App运行时所述各网络接口的网络流量数据包。
基于同一技术构思,本发明实施例还提供了一种通信设备700,参照图9所示,通信设备700用于实施上述方法实施例记载的移动App漏洞检测方法,该实施例的通信设备700可以包括:存储器701、处理器702以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如移动App漏洞检测程序。所述处理器执行所述计算机程序时实现上述各个移动App漏洞检测方法实施例中的步骤,例如图5所示的步骤S31。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如41。
本发明实施例中不限定上述存储器701、处理器702之间的具体连接介质。本申请实施例在图9中以存储器701、处理器702之间通过总线703连接,总线703在图9中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线703可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器701可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器701也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器701是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器701可以是上述存储器的组合。
处理器702,用于实现如图5所示的移动App漏洞检测方法,包括:
所述处理器702,用于调用所述存储器701中存储的计算机程序执行如图5中所示的各步骤S31~S36。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本发明提供的移动App漏洞检测方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在通信设备上运行时,所述程序代码用于使所述通信设备执行本说明书上述描述的根据本发明各种示例性实施方式的移动App漏洞检测方法中的步骤,例如,所述通信设备可以执行如图5中所示的步骤S31~S36。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本发明的实施方式的用于移动App漏洞检测的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种移动App漏洞检测方法,其特征在于,包括:
接收第一终端发送的漏洞检测请求,所述漏洞检测请求中携带有待检测移动应用程序App的Android安装包Apk文件的标识及存储路径信息;
根据所述标识及存储路径获取所述待检测移动App的Apk文件,并将所述待检测移动App的Apk文件存储于任务队列中;
针对所述任务队列中的每一个待检测移动App的Apk文件,执行如下操作:
根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,并将静态漏洞检测结果返回至所述第一终端;
向代理客户端发送所述待检测移动App的Apk文件,令所述代理客户端在安装所述代理客户端的第二终端上安装所述待检测移动App的Apk文件;
接收所述代理客户端发送的其获取的在所述待检测移动App运行时产生的网络流量数据包;
根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测,并将动态漏洞检测结果返回至所述第一终端。
2.如权利要求1所述的方法,其特征在于,根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,具体包括:
将所述待检测移动App的Apk文件解包;
从解包后的Apk文件中提取签名证书、资源文件、dex文件以及Manifest文件;
对所述dex文件和所述Manifest文件分别进行反编译;
将所述签名证书、所述资源文件、所述反编译后的dex文件以及反编译后的Manifest文件分别与预先存储的静态漏洞库中的静态漏洞规则进行匹配,获得匹配结果。
3.如权利要求1所述的方法,其特征在于,所述待检测移动App运行时产生的网络流量为所述代理客户端在安装完所述待检测移动App的Apk文件后,利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口,并通过Android系统虚拟专用网络服务VPN service从所述各网络接口自动抓取的。
4.如权利要求1所述的方法,其特征在于,所述网络流量数据包存储于pcap文件中;
根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测,具体包括:
对所述pcap文件进行解析,提取所述网络流量数据包中的流量特征;
将所述流量特征与预先存储的动态漏洞库中的动态漏洞规则进行匹配,获得匹配结果。
5.一种移动App漏洞检测装置,其特征在于,包括:
第一接收单元,用于接收第一终端发送的漏洞检测请求,所述漏洞检测请求中携带有待检测移动应用程序App的Android安装包Apk文件的标识及存储路径信息;
获取单元,用于根据所述标识及存储路径获取所述待检测移动App的Apk文件,并将所述待检测移动App的Apk文件存储于任务队列中;
静态漏洞检测单元,用于针对所述任务队列中的每一个待检测移动App的Apk文件,执行如下操作:根据所述待检测移动App的Apk文件对所述待检测移动App执行静态漏洞检测,并将静态漏洞检测结果返回至所述第一终端;
发送单元,用于向代理客户端发送所述待检测移动App的Apk文件,令所述代理客户端在安装所述代理客户端的第二终端上安装所述待检测移动App的Apk文件;
第二接收单元,用于接收所述代理客户端发送的其获取的在所述待检测移动App运行时产生的网络流量数据包;
动态漏洞检测单元,用于根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测,并将动态漏洞检测结果返回至所述第一终端。
6.如权利要求5所述的装置,其特征在于,
所述静态漏洞检测单元,具体用于将所述待检测移动App的Apk文件解包;从解包后的Apk文件中提取签名证书、资源文件、dex文件以及Manifest文件;对所述dex文件和所述Manifest文件分别进行反编译;将所述签名证书、所述资源文件、所述反编译后的dex文件以及反编译后的Manifest文件分别与预先存储的静态漏洞库中的静态漏洞规则进行匹配,获得匹配结果。
7.如权利要求5所述的装置,其特征在于,所述待检测移动App运行时产生的网络流量为所述代理客户端在安装完所述待检测移动App的Apk文件后,利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口,并通过Android系统虚拟专用网络服务VPN service从所述各网络接口自动抓取的。
8.如权利要求5所述的装置,其特征在于,所述网络流量数据包存储于pcap文件中;
所述动态漏洞检测单元,具体用于对所述pcap文件进行解析,提取所述网络流量数据包中的流量特征;将所述流量特征与预先存储的动态漏洞库中的动态漏洞规则进行匹配,获得匹配结果。
9.一种移动App漏洞检测方法,其特征在于,包括:
代理客户端向Web服务器发送待检测移动应用程序App的Android安装包Apk文件的获取请求;
接收所述Web服务器返回的待检测移动App的Apk文件的标识及存储路径信息;
根据所述待检测移动App的Apk文件的标识及存储路径下载所述待检测移动App的Apk文件;
在安装所述代理客户端的终端上安装所述待检测移动App的Apk文件;
在安装完所述待检测移动App的Apk文件后,采集所述待检测移动App运行时产生的网络流量数据包;
将所述网络流量数据包存储于pcap文件中后发送给所述Web服务器,令所述Web服务器根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测。
10.如权利要求9所述的方法,其特征在于,采集所述待检测移动App运行时产生的网络流量数据包,具体包括:
利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口;
通过Android系统虚拟专用网络服务VPN service自动抓取所述待检测移动App运行时所述各网络接口的网络流量数据包。
11.一种移动App漏洞检测装置,其特征在于,包括:
第一发送单元,用于代理客户端向Web服务器发送待检测移动应用程序App的Android安装包Apk文件的获取请求;
接收单元,用于接收所述Web服务器返回的待检测移动App的Apk文件的标识及存储路径信息;
下载单元,用于根据所述待检测移动App的Apk文件的标识及存储路径下载所述待检测移动App的Apk文件;
安装单元,用于在安装所述代理客户端的终端上安装所述待检测移动App的Apk文件;
采集单元,用于在安装完所述待检测移动App的Apk文件后,采集所述待检测移动App运行时产生的网络流量数据包;
第二发送单元,用于将所述网络流量数据包存储于pcap文件中后发送给所述Web服务器,令所述Web服务器根据所述网络流量数据包对所述待检测移动App执行动态漏洞检测。
12.如权利要求11所述的装置,其特征在于,
所述采集单元,具体用于利用辅助功能服务Accessibility Service与Android自动测试工具monkey遍历各网络接口;通过Android系统虚拟专用网络服务VPN service自动抓取所述待检测移动App运行时所述各网络接口的网络流量数据包。
13.一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~4或9~10任一项所述的移动App漏洞检测方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~4或9~10任一项所述的移动App漏洞检测方法中的步骤。
CN201811341824.XA 2018-11-12 2018-11-12 一种移动App漏洞检测方法及装置 Pending CN111177715A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811341824.XA CN111177715A (zh) 2018-11-12 2018-11-12 一种移动App漏洞检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811341824.XA CN111177715A (zh) 2018-11-12 2018-11-12 一种移动App漏洞检测方法及装置

Publications (1)

Publication Number Publication Date
CN111177715A true CN111177715A (zh) 2020-05-19

Family

ID=70649868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811341824.XA Pending CN111177715A (zh) 2018-11-12 2018-11-12 一种移动App漏洞检测方法及装置

Country Status (1)

Country Link
CN (1) CN111177715A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084494A (zh) * 2020-09-21 2020-12-15 百度在线网络技术(北京)有限公司 敏感信息检测方法、装置、设备以及存储介质
CN112532734A (zh) * 2020-12-02 2021-03-19 建信金融科技有限责任公司 报文敏感信息检测方法和装置
CN113407885A (zh) * 2021-06-23 2021-09-17 中移(杭州)信息技术有限公司 XPath数据篡改告警方法、装置、设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104537309A (zh) * 2015-01-23 2015-04-22 北京奇虎科技有限公司 应用程序漏洞检测方法、装置及服务器
CN105187394A (zh) * 2015-08-10 2015-12-23 济南大学 具有移动终端恶意软件行为检测能力的代理服务器及方法
CN107133519A (zh) * 2017-05-15 2017-09-05 华中科技大学 一种安卓应用网络通信中隐私泄漏检测方法及系统
CN107330332A (zh) * 2017-05-23 2017-11-07 成都联宇云安科技有限公司 一种针对安卓手机app的漏洞检测方法
US10032026B1 (en) * 2013-07-30 2018-07-24 Palo Alto Networks, Inc. Static and dynamic security analysis of apps for mobile devices
CN108595952A (zh) * 2018-03-30 2018-09-28 全球能源互联网研究院有限公司 一种电力移动应用软件漏洞的检测方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10032026B1 (en) * 2013-07-30 2018-07-24 Palo Alto Networks, Inc. Static and dynamic security analysis of apps for mobile devices
CN104537309A (zh) * 2015-01-23 2015-04-22 北京奇虎科技有限公司 应用程序漏洞检测方法、装置及服务器
CN105187394A (zh) * 2015-08-10 2015-12-23 济南大学 具有移动终端恶意软件行为检测能力的代理服务器及方法
CN107133519A (zh) * 2017-05-15 2017-09-05 华中科技大学 一种安卓应用网络通信中隐私泄漏检测方法及系统
CN107330332A (zh) * 2017-05-23 2017-11-07 成都联宇云安科技有限公司 一种针对安卓手机app的漏洞检测方法
CN108595952A (zh) * 2018-03-30 2018-09-28 全球能源互联网研究院有限公司 一种电力移动应用软件漏洞的检测方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084494A (zh) * 2020-09-21 2020-12-15 百度在线网络技术(北京)有限公司 敏感信息检测方法、装置、设备以及存储介质
CN112532734A (zh) * 2020-12-02 2021-03-19 建信金融科技有限责任公司 报文敏感信息检测方法和装置
CN112532734B (zh) * 2020-12-02 2023-11-21 建信金融科技有限责任公司 报文敏感信息检测方法和装置
CN113407885A (zh) * 2021-06-23 2021-09-17 中移(杭州)信息技术有限公司 XPath数据篡改告警方法、装置、设备及可读存储介质
CN113407885B (zh) * 2021-06-23 2024-04-12 中移(杭州)信息技术有限公司 XPath数据篡改告警方法、装置、设备及可读存储介质

Similar Documents

Publication Publication Date Title
US9894090B2 (en) Penetration test attack tree generator
JP5425699B2 (ja) 情報処理装置、テストケース生成方法、プログラムおよび記録媒体
JP5802848B2 (ja) モバイル環境用のトロイの木馬化されたアプリケーション(アプリ)を特定するためのコンピュータ実装方法、非一時コンピュータ読み取り可能な媒体およびコンピュータシステム
CN107623698B (zh) 远程调试网络设备方法和装置
CN111783096B (zh) 检测安全漏洞的方法和装置
CN104573435A (zh) 用于终端权限管理的方法和终端
WO2015073719A1 (en) Automated sdk ingestion
CN112887388B (zh) 基于沙箱环境的数据处理系统
US10586045B2 (en) System and method for detecting malware in mobile device software applications
CN111177715A (zh) 一种移动App漏洞检测方法及装置
Liu et al. On manually reverse engineering communication protocols of linux-based iot systems
KR101972825B1 (ko) 하이브리드 분석 기술을 이용한 임베디드 기기 취약점 자동 분석 방법, 장치 및 그 방법을 실행하는 컴퓨터 프로그램
CN112818352B (zh) 数据库的检测方法及装置、存储介质及电子装置
CN109818972B (zh) 一种工业控制系统信息安全管理方法、装置及电子设备
CN115168847A (zh) 应用补丁生成方法、装置、计算机设备及可读存储介质
CN114666104A (zh) 一种渗透测试方法、系统、计算机设备以及存储介质
CN104486292A (zh) 一种企业资源安全访问的控制方法、装置及系统
CN113158195B (zh) 一种基于poc脚本的分布式漏洞扫描方法及系统
CN110968400B (zh) 应用程序的执行方法、装置、计算机设备和存储介质
CN114238987A (zh) 一种智能网联汽车app渗透测试方法、系统及存储介质
CN112995143B (zh) 一种基于邮件系统的安全通报方法、装置、设备及介质
CN115563618A (zh) 一种基于中央计算平台的渗透测试方法及装置
CN109714371B (zh) 一种工控网络安全检测系统
CN114039778A (zh) 一种请求处理方法、装置、设备及可读存储介质
CN109933990B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200519

RJ01 Rejection of invention patent application after publication