一种基于Android平台的网络数据监控系统和方法

文档序号:10515312阅读:518来源:国知局
一种基于Android平台的网络数据监控系统和方法
【专利摘要】本发明提供一种基于Android平台的网络数据监控系统和方法,属于Android平台移动安全领域。基于Android平台的网络数据监控系统包括:应用包解析模块、网络数据流量获取过滤模块和关键数据发现判断模块。所述应用包解析模块,作为网络数据流量获取模块获取指定数据包的判断依据;所述网络数据流量获取过滤模块通过获取系统ROOT权限,在数据通信网络层对应用解析包模块传递来的指定对象的网络数据包进行获取,获取结果交由所述关键数据发现判断模块;所述关键数据发现判断模块,对获取的所述网络数据包中的关键数据通过预先定义判断策略库进行分析、判断和摘取,形成最终结果。
【专利说明】
一种基于Andro id平台的网络数据监控系统和方法
技术领域
[0001 ] 本发明涉及Android平台移动安全领域,尤其涉及一种基于Android平台的网络数据监控系统和方法。
【背景技术】
[0002]随着移动设备的日益普及,移动应用的快速增长,移动应用软件的安全问题被越来越多的用户所关注,安卓市场App上线审核机制简单,一些采集用户隐私数据的应用混合在应用市场中,对用户的隐私、财产产生安全威胁。现在市场中还没有基于Android平台的自动网络数据监控系统和方法,现有的网络数据监控分析基本是手动的网络数据监控人工分析,这样人工成本很高,不能满足移动应用软件的安全需求。

【发明内容】

[0003]本发明的目的在于提供一种基于Android平台的网络数据监控系统和方法,从而解决现有技术中存在的前述问题。
[0004]为了实现上述目的,本发明采用的技术方案如下:
[0005]—种基于Android平台的网络数据检测系统,包括:移动应用包权限分析模块,应用包安装启动信息分析模块和应用监测分析模块;
[0006]所述移动应用包权限分析模块,对应用包进行拆解,通过AndroidManifest.xml检测所述应用包安装后所应该拥有的系统权限;
[0007]所述应用包安装启动信息分析模块,在所述应用包安装启动后,分析该应用所占用的pid、uid、端口信息和安装所述应用的设备的IP地址;
[0008]所述应用监测分析模块,通过对所述IP地址和所述端口信息进行分析,检测所述应用包安装启动后是否将用户的个人信息上传至远程服务器而泄露用户信息,检测上传信息是否超出用户所赋予的权限,检测所述应用是否含有内部提权功能。
[0009]优选的所述个人信息包括:短信、彩信、视频和音频。
[0010]基于Android平台的网络数据监控系统包括:应用包解析模块、网络数据流量获取过滤模块和关键数据发现判断模块;
[0011]所述应用包解析模块,作为网络数据流量获取模块获取指定数据包的判断依据;
[0012]所述网络数据流量获取过滤模块通过获取系统ROOT权限,在数据通信网络层对应用解析包模块传递来的指定对象的网络数据包进行获取,获取结果交由所述关键数据发现判断模块;
[0013]所述关键数据发现判断模块,对获取的所述网络数据包中的关键数据通过预先定义判断策略库进行分析、判断和摘取,形成最终结果。
[0014]优选的,所述基于Android平台的网络数据监控系统是根据所述基于Android平台的网络数据检测系统制作的。
[0015]优选的,所述应用包解析模块、所述网络数据流量获取过滤模块和所述关键数据发现判断模块均是通过python语言设计实现的。
[0016]一种基于Android平台的网络数据监控的方法,包括以下步骤:
[0017]SI,系统启动,提取应用包的基本信息和要安装该应用的设备的IP地址;
[0018]S2,对所述应用包进行反编译拆解,通过对反编译后获得的AndroidManifest.xml文件进行解析,获取该应用所有的权限;
[0019]S3,检测设备中是否已安装所述应用;
[0020]S4,若已安装所述应用,先卸载所述应用,再安装并启动所述应用,若未安装所述应用,安装并启动所述应用;
[0021]S5,检测所述应用是否启动成功,若启动成功,跳转到S6,若超时未检测到该应用检测成功启动,异常退出;
[0022]S6,获取所述应用启动后在设备的进程中获取的pid;
[0023]S7,通过读取设备内部的/proc/pid/cgroup文件获取uid;
[0024]S8,通过对/proc/net/tcp文件和/tcp/net/tcp6文件的解析检测,分析其中含有所述uid的信息,无重复提取端口号;
[0025]S9,在android端抓取所述端口号和所述IP地址的网络数据流量包;
[0026]S10,在PC端解析所述网络数据流量包,检测所述应用在设备上启动后一定时间内是否向远程服务器端传输用户个人信息;若所述应用在设备上启动后一定时间内没有向远程服务器端传输用户个人信息,退出系统并提交安全报告,若所述应用在设备上启动后一定时间内向远程服务器端传输用户个人信息了,则跳转到Sll;
[0027]Sll,检测用户信息所对应的权限是否和所述应用本身在AndroidManifest.xml中的权限一致,若一致,退出系统并提交危险报告;若不一致,所述应用内部可能含有提权代码,退出系统并提交危险报告。
[0028]优选的,SI中所述应用包的基本信息包括应用包名、启动activi ty和版本号。
[0029]优选的,S5中采用循环有限次数检测所述应用是否启动成功。
[°03°] 优选的,S9中,通过所述android端的tcpdump工具抓取所述端口号和所述IP地址的网络数据流量包。
[0031 ]优选的,SlO中,在所述PC端通过tshark工具解析抓取的流量包。
[0032]本发明的有益效果是:通过本发明实现一种自动化的抓取移动应用在运行过程中上传的网络流量数据包,自动分析抓取的数据中是否存在隐私泄露,从而保证了移动应用软件的安全。
【附图说明】
[0033]图1是本发明基于Android平台的网络数据监控系统的运行图。
【具体实施方式】
[0034]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的【具体实施方式】仅仅用以解释本发明,并不用于限定本发明。
[0035]本系统的原理如下:
[0036]1、本系统是通过实时将指定应用网络传输发送与接收的流量数据包进行转存,进行数据流量检测,检查用户本地数据是否未经允许被上传应用的远程服务器端。
[0037]2、网络数据检测系统分为三部分,包括:移动应用包权限分析模块,二是应用包安装启动信息分析模块和应用监测分析模块。
[0038]3、所述移动应用包权限分析模块通过对应用包拆解,通过AndroidManifest.xml检测该应用安装后所应该拥有的系统权限。
[0039]4、所述应用包安装启动信息分析模块是通过应用包安装启动后,该应用所占用的pid、uid、端口等信息,以及安装该应用的设备的IP地址。
[0040]5、所述应用监测分析模块通过对指定IP、端口的获取的信息,检测该应用在安装启动后是否对用户的个人信息,如短信、彩信、视频、音频等,上传远程服务器,泄露用户信息;检测上传信息是否超出用户所赋予的权限以外,检测该应用是否含有内部提权功能。
[0041]6、基于Android平台的网络数据监控系统包括:应用包解析模块、网络数据流量获取过滤模块和关键数据发现判断模块;
[0042]7、所述应用包解析模块,通过python语言设计实现,作为网络数据流量获取模块获取指定数据包的判断依据;
[0043]8、所述网络数据流量获取过滤模块,通过python语言设计实现,通过获取系统ROOT权限,工作在数据通信网络层对应用解析包模块传递来的指定对象的数据包进行获取,获取结果交由关键数据发现判断模块;
[0044]9、所述关键数据发现判断模块,通过python语言设计实现,对获取网络数据包中的关键数据通过预先定义判断策略库进行分析、判断和摘取,形成最终结果。
[0045]基于Android平台的网络数据监控系统的具体实现和工作过程如下:
[0046]1、启动系统,提取应用包的基本信息,如应用包名、启动act ivity、版本号等,和要安装该应用的设备的IP地址。
[0047]2、对应用包进行反编译拆解,通过对反编译后获得的AndroidManifest.xml文件进行解析,获取该应用所有的权限。
[0048]3、检测设备中是否已安装该应用:若已安装,先卸载后安装并启动(为防止手机上的安装包和要检测的不一致);若未安装,安装并启动。
[0049]4、循环有限次数检测设备上的应用是否启动成功,若启动成功,进入下一步。超时未检测到该应用检测成功启动,异常退出。
[0050 ] 5、获取该应用启动后在设备的进程中获取的P i d。
[0051 ] 6、通过在设备内部的/proc/pid/cgroup获得uid。
[OO52]7、通过对/proc/net/tcp和/tcp/net/tcp6的解析检测,分析其中含有上述uid的信息,无重复提取端口号。
[°°53] 8、通过android端的tcpdump工具限时抓取指定发送端IP和上述端口的流量包并传入到PC端。
[0054]9、在PC端通过tshark解析抓取的流量包,检测该应用在设备上启动后一定时间内是否向远程服务器端传输用户个人信息。若有,检测用户信息所对应的权限是否和该应用本身在AndroidManifest.xml中的权限一致:若一致,退出系统并提交危险报告;若不一致,该应用内部可能含有提权代码,退出系统并提交危险报告。若无,退出系统并提交安全报生口 O
[0055]通过采用本发明公开的上述技术方案,得到了如下有益的效果:通过本发明实现一种自动化的抓取移动应用在运行过程中上传的网络流量数据包,自动分析抓取的数据中是否存在隐私泄露,从而保证了移动应用软件的安全。
[0056]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
【主权项】
1.一种基于Android平台的网络数据检测系统,其特征在于,包括:移动应用包权限分析模块,应用包安装启动信息分析模块和应用监测分析模块; 所述移动应用包权限分析模块,对应用包进行拆解,通过AndroidManifest.xml检测所述应用包安装后所应该拥有的系统权限; 所述应用包安装启动信息分析模块,在所述应用包安装启动后,分析该应用所占用的P i d、u i d、端口信息和安装所述应用的设备的IP地址; 所述应用监测分析模块,通过对所述IP地址和所述端口信息进行分析,检测所述应用包安装启动后是否将用户的个人信息上传至远程服务器而泄露用户信息,检测上传信息是否超出用户所赋予的权限,检测所述应用是否含有内部提权功能。2.根据权利要求1所述的一种基于Android平台的网络数据检测系统,其特征在于,所述个人信息包括:短信、彩信、视频和音频。3.—种基于Android平台的网络数据监控系统,其特征在于,包括:应用包解析模块、网络数据流量获取过滤模块和关键数据发现判断模块; 所述应用包解析模块,作为网络数据流量获取模块获取指定数据包的判断依据; 所述网络数据流量获取过滤模块通过获取系统ROOT权限,在数据通信网络层对应用解析包模块传递来的指定对象的网络数据包进行获取,获取结果交由所述关键数据发现判断丰旲块; 所述关键数据发现判断模块,对获取的所述网络数据包中的关键数据通过预先定义判断策略库进行分析、判断和摘取,形成最终结果。4.根据权利要求3所述的一种基于Android平台的网络数据监控系统,其特征在于,所述基于Android平台的网络数据监控系统是根据所述基于Android平台的网络数据检测系统制作的。5.根据权利要求3所述的一种基于Android平台的网络数据监控系统,其特征在于,所述应用包解析模块、所述网络数据流量获取过滤模块和所述关键数据发现判断模块均是通过python语言设计实现的。6.—种基于Android平台的网络数据监控的方法,其特征在于,包括以下步骤: SI,系统启动,提取应用包的基本信息和要安装该应用的设备的IP地址; S2,对所述应用包进行反编译拆解,通过对反编译后获得的AndroidManifest.xml文件进行解析,获取该应用所有的权限; S3,检测设备中是否已安装所述应用; S4,若已安装所述应用,先卸载所述应用,再安装并启动所述应用,若未安装所述应用,安装并启动所述应用; S5,检测所述应用是否启动成功,若启动成功,跳转到S6,若超时未检测到该应用检测成功启动,异常退出; S6,获取所述应用启动后在设备的进程中获取的P i d; S7,通过读取设备内部的/proc/pid/cgroup文件获取uid ; S8,通过对/proc/net/tcp文件和/tcp/net/tcp6文件的解析检测,分析其中含有所述uid的信息,无重复提取端口号; S9,在android端抓取所述端口号和所述IP地址的网络数据流量包; S10,在PC端解析所述网络数据流量包,检测所述应用在设备上启动后一定时间内是否向远程服务器端传输用户个人信息;若所述应用在设备上启动后一定时间内没有向远程服务器端传输用户个人信息,退出系统并提交安全报告,若所述应用在设备上启动后一定时间内向远程服务器端传输用户个人信息了,则跳转到Sll; Sll,检测用户信息所对应的权限是否和所述应用本身在AndroidManifest.xml中的权限一致,若一致,退出系统并提交危险报告;若不一致,所述应用内部可能含有提权代码,退出系统并提交危险报告。7.根据权利要求6所述的一种基于Android平台的网络数据监控的方法,其特征在于,SI中所述应用包的基本信息包括应用包名、启动activity和版本号。8.根据权利要求6所述的一种基于Android平台的网络数据监控的方法,其特征在于,S5中采用循环有限次数检测所述应用是否启动成功。9.根据权利要求6所述的一种基于Android平台的网络数据监控的方法,其特征在于,S9中,通过所述android端的tcpdump工具抓取所述端口号和所述IP地址的网络数据流量包。10.根据权利要求6所述的一种基于Android平台的网络数据监控的方法,其特征在于,SlO中,在所述PC端通过tshark工具解析抓取的流量包。
【文档编号】H04L29/08GK105871657SQ201610262516
【公开日】2016年8月17日
【申请日】2016年4月25日
【发明人】张亚庆, 咸忠慧
【申请人】北京珊瑚灵御科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1