一种安卓应用程序安装包的下载劫持方法技术

技术编号:15794939 阅读:112 留言:0更新日期:2017-07-10 10:31
本发明专利技术公开了一种安卓应用程序安装包的下载劫持方法,该方法通过在目标用户和目标服务器之间部署中间人设备,实现对目标用户和目标服务器之间网络报文的监听和修改;当目标用户试图通过特定的目标服务器下载Android应用程序安装包时,将会被劫持到指定的第三方地址,Android应用程序安装包也可被替换成任意数据文件。本发明专利技术具有自动化程度高、隐蔽性强的特点,适用于刑事侦查、情报监测等场景下的后门植入、隐蔽取证等活动。

【技术实现步骤摘要】
一种安卓应用程序安装包的下载劫持方法
本专利技术属于计算机网络
,特别涉及了一种安卓应用程序安装包的下载劫持方法。
技术介绍
随着移动互联网的发展,使用Android操作系统的智能移动设备被广泛应用于各个行业。Android操作系统下的应用程序,通常以Android应用程序安装包(AndroidPackage)的形式进行分发。由于Android应用程序开发的便捷性和廉价性,互联网上开始出现大量被用于恶意目的的Android应用程序安装包,涉及广告群发、个人信息买卖、违禁品交易、诈骗、洗钱等多种违法行为。如何对此类Android应用程序安装包在互联网上的传播、分发和下载进行拦截,控制其传播途径,并在必要的时候替换其安装包内容,对下载用户远程植入后门(Backdoor)程序,以便于侦查和取证,是一个具有较高研究及应用价值的课题。
技术实现思路
为了解决上述
技术介绍
提出的技术问题,本专利技术旨在提供一种安卓应用程序安装包的下载劫持方法,基于中间人攻击技术实现对特定目标用户在特定目标服务器地址下载的Android应用程序安装包的动态拦截和替换,增强网络安全性。为了实现上述技术目的,本专利技术的技术方案为:一种安卓应用程序安装包的下载劫持方法,包括以下步骤:(1)在目标用户网络设备广域网接口和目标服务器网络设备广域网接口之间部署中间人设备,中间人设备能够监听和修改所有经过自身的网络报文;(2)中间人设备启动后,执行初始化过程IP,读取需劫持的目标用户地址CL、需劫持的目标服务器地址SL以及劫持地址HL;(3)初始化过程IP完成后,中间人设备执行监听过程LP,依次对所有经过中间人设备的网络报文进行检查;(4)中间人设备执行劫持过程HP,中间人设备伪造并发送SL的TCP响应报文P1,使得SL真实的TCP响应报文到达CL时,因TCP确认号已被P1占用而产生TCP序列错误,后续TCP响应报文将被CL自动舍弃,从而使得SL上的安卓应用程序安装包无法被目标用户获取;(5)伪造的SL的响应报文P1发送成功后,中间人设备伪造并发送SL的HTTP响应报文P2,使得CL在收到P2后触发URL重定向事件,转而请求HL上的安卓应用程序安装包,从而实现替换安装包地址和内容的目的。进一步地,步骤(2)的具体过程如下:从配置文件读取需劫持的目标用户地址CL,CL通常为恶意Android应用程序用户所用设备的网络地址,CL的数据类型为字符串、格式为IPv4/IPv6;从配置文件读取需劫持的目标服务器地址SL,SL通常为恶意Android应用程序开发者或分发者提供的安装包下载服务器的网络地址,SL的数据类型为字符串、格式为IPv4/IPv6地址;从配置文件读取劫持地址HL,HL的数据类型为字符串、格式为统一资源标识符。进一步地,步骤(3)的具体过程如下:检查报文网际网络协议层源地址字段值是否为CL,若否,则继续执行监听进程,检查下一个报文;若是,则说明该报文由CL发出,检查报文网际网络协议层目的地址字段值是否为目标服务器地址SL,若否,则继续执行监听进程,检查下一个报文;若是,则说明该报文目的地为SL,检查报文应用层协议是否为高文本传输协议HTTP,若否,则继续执行监听进程,检查下一个报文;若是,则说明该报文为HTTP报文,检查报文HTTP层首部请求行中的请求方法字段值是否为GET,若否,则继续执行监听进程,检查下一个报文;若是,则检查报文HTTP层首部请求行中的URL字段值中是否包含字符串“.apk”,若否,则继续执行监听进程,检查下一个报文;若是,则说明该报文请求了安卓应用程序安装包,将该报文记为PK,将报文PK中的传输控制协议层首部的TCP段长度字段值记为Len,Len数据类型为整型;TCP序列号字段值记为Seq,Seq数据类型为整型;TCP源端口字段值记为SP,数据类型为整型;TCP目的端口号字段值记为DP,数据类型为整型;然后,开始执行劫持过程HP,同时监听过程LP继续检查下一个报文。进一步地,步骤(4)的具体过程如下:劫持过程HP开始执行后,中间人设备首先计算Len与Seq之和,记为Ack,数据类型为整型;然后,构造一个报文P1,将P1的传输控制协议层首部的TCP确认号字段值设为Ack,TCP源端口字段值设为DP,TCP目的端口号字段值设为SP;将P1的网际网络协议层首部源地址字段值设为SL,目的地址字段值设为CL;最后,将构造好的报文P1通过网络接口发送。进一步地,步骤(5)的具体过程如下:P1发送成功后,中间人设备构造报文P2,将P2的应用层协议设为高文本传输协议;将P2的HTTP层首部的状态行字段值设为“HTTP/1.1302MovedTemporarily”,内容类型字段值设为“text/html”,地址字段值设为HL;将P2的TCP层首部的TCP确认号字段值设为1,TCP序列号字段值设为1,TCP源端口字段值设为DP,TCP目的端口号字段值设为SP;将P2的网际网络协议层首部源地址字段值设为SL,目的地址字段值设为CL;最后,将构造好的P2通过网络接口发送。进一步地,所述中间人设备为物理设备或者虚拟设备。采用上述技术方案带来的有益效果:本专利技术通过中间人设备的部署,实现目标用户和目标服务器之间Android应用程序安装包下载行为的发现和识别;通过伪造目标服务器的TCP响应报文,使得目标服务器真实TCP响应报文到达目标用户时,由于发生TCP确认号被占用而导致报文被舍弃,从而使得SL上的Android应用程序安装包无法被目标用户获取,实现了Android应用程序安装包的下载拦截,在拦截过程中并未中断目标用户和目标服务器之间的连接,故拦截行为难以被双方察觉,隐蔽性较高;通过伪造目标服务器的HTTP响应报文,使得目标用户转而请求预设的劫持地址上的Android应用程序安装包,实现了安装包地址和内容的替换,便于远程植入后门程序,开展后续侦查、取证工作。附图说明图1是本专利技术的基本流程图具体实施方式以下将结合附图,对本专利技术的技术方案进行详细说明。设目标用户网络设备和目标服务器网络设备均为标准以太网(Ethernet)接入设备,在目标用户网络设备和目标服务器网络设备广域网(WideAreaNetwork)接口(Interface)之间部署中间人(Man-in-the-Middle)设备MIMD。MIMD为具有以太网接口的x86架构微型计算机,通过以太网交换机(Switch)端口镜像(PortMirroring)访问用户网络设备和目标服务器网络设备广域网接口。MIMD操作系统为Linux,初始化过程IP、监听过程LP、劫持过程HP为使用C++语言编写的应用程序,使用标准GNU编译器编译为可执行二进制文件。MIMD启动后,开始执行初始化过程IP,具体步骤如下:首先,从配置文件读取需劫持的目标用户地址CL,设CL为IPv4(InternetProtocolversion4)地址,值为“117.62.188.164”;从配置文件读取需劫持的目标服务器地址SL,设SL为IPv4(InternetProtocolversion4)地址,值为“58.222.18.2”;从配置文件读取劫持地址HL,HL数据类型为字符串,格式为统一资源标识符(Unifo本文档来自技高网...
一种安卓应用程序安装包的下载劫持方法

【技术保护点】
一种安卓应用程序安装包的下载劫持方法,其特征在于,包括以下步骤:(1)在目标用户网络设备广域网接口和目标服务器网络设备广域网接口之间部署中间人设备,中间人设备能够监听和修改所有经过自身的网络报文;(2)中间人设备启动后,执行初始化过程IP,读取需劫持的目标用户地址CL、需劫持的目标服务器地址SL以及劫持地址HL;(3)初始化过程IP完成后,中间人设备执行监听过程LP,依次对所有经过中间人设备的网络报文进行检查;(4)中间人设备执行劫持过程HP,中间人设备伪造并发送SL的TCP响应报文P1,使得SL真实的TCP响应报文到达CL时,因TCP确认号已被P1占用而产生TCP序列错误,后续TCP响应报文将被CL自动舍弃,从而使得SL上的安卓应用程序安装包无法被目标用户获取;(5)伪造的SL的响应报文P1发送成功后,中间人设备伪造并发送SL的HTTP响应报文P2,使得CL在收到P2后触发URL重定向事件,转而请求HL上的安卓应用程序安装包,从而实现替换安装包地址和内容的目的。

【技术特征摘要】
1.一种安卓应用程序安装包的下载劫持方法,其特征在于,包括以下步骤:(1)在目标用户网络设备广域网接口和目标服务器网络设备广域网接口之间部署中间人设备,中间人设备能够监听和修改所有经过自身的网络报文;(2)中间人设备启动后,执行初始化过程IP,读取需劫持的目标用户地址CL、需劫持的目标服务器地址SL以及劫持地址HL;(3)初始化过程IP完成后,中间人设备执行监听过程LP,依次对所有经过中间人设备的网络报文进行检查;(4)中间人设备执行劫持过程HP,中间人设备伪造并发送SL的TCP响应报文P1,使得SL真实的TCP响应报文到达CL时,因TCP确认号已被P1占用而产生TCP序列错误,后续TCP响应报文将被CL自动舍弃,从而使得SL上的安卓应用程序安装包无法被目标用户获取;(5)伪造的SL的响应报文P1发送成功后,中间人设备伪造并发送SL的HTTP响应报文P2,使得CL在收到P2后触发URL重定向事件,转而请求HL上的安卓应用程序安装包,从而实现替换安装包地址和内容的目的。2.根据权利要求1所述安卓应用程序安装包的下载劫持方法,其特征在于:步骤(2)的具体过程如下:从配置文件读取需劫持的目标用户地址CL,CL的数据类型为字符串、格式为IPv4/IPv6;从配置文件读取需劫持的目标服务器地址SL,SL的数据类型为字符串、格式为IPv4/IPv6地址;从配置文件读取劫持地址HL,HL的数据类型为字符串、格式为统一资源标识符。3.根据权利要求2所述安卓应用程序安装包的下载劫持方法,其特征在于:步骤(3)的具体过程如下:检查报文网际网络协议层源地址字段值是否为CL,若否,则继续执行监听进程,检查下一个报文;若是,则说明该报文由CL发出,检查报文网际网络协议层目的地址字段值是否为目标服务器地址SL,若否,则继续执行监听进程,检查下一个报文;若是,则说明该报文目的地为SL,检查报文应用层协议是否为高文本传输协议HTTP,若否,则继续执行监听进程,检查下一个报文;若是,则说明该报文为HTTP报文,检查报...

【专利技术属性】
技术研发人员:傅晓陈勇叶枫王志坚徐钊许云龙
申请(专利权)人:南京龙渊微电子科技有限公司河海大学南京龙渊众创空间股份有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1