基于MITM的移动应用加密流量分析和应用识别

 2022-08-22 09:08

论文总字数:41208字

摘 要

随着移动技术的发展,移动设备接入互联网的比例不断提高,导致移动流量迅速增加。同时,开放的移动应用市场带来的隐私泄露和安全问题对网络监管提出了挑战,如何通过流量分析对应用进行有效的监管逐渐受到重视。本文设计了一种针对HTTPS流量的应用识别方法:首先搭建Android应用自动化运行平台动态生成流量,在分析了Android应用HTTPS连接机制的基础上,利用中间人代理(Man-in-the-Middle proxy)工具mitmproxy实现了对用户透明的中间人攻击,对HTTPS流量进行采集并将其截取为明文。然后提取HTTPS流量中URL和content等信息作为特征,组合形成应用的流量指纹,并分别使用机器学习和完全匹配的方法进行指纹匹配,从而识别出流量的源应用。实验结果表明,使用机器学习方法,采用3-gram模型时单条流量能够以85.6%的准确率识别源应用;使用完全匹配方法,单条流量识别应用的准确率达到56.0%,而截取连续5条流量即可以95.0%的准确率识别出源应用。基于以上研究结果,本文设计实现了移动应用识别工具,能够对流量进行采集分析,并给出应用的识别结果。

关键词:移动设备,流量分析,中间人代理,HTTPS,应用识别

Encrypted Traffic Analysis and Identification for Mobile Apps Using MITM

09013329 Shi Xiaofeng

Advisor Yang Ming

Li Kai

Abstract

With the development of mobile technology, the proportion of users accessing the Internet via mobile devices continues to increase, resulting in rapid increase in mobile traffic. At the same time, privacy disclosure and security issues of open App market raise challenges on network regulation. How to monitor the App effectively through traffic analysis is attracting more and more attention. This paper designs an App identification method for HTTPS traffic. Firstly, an automation platform is deployed for running Android Apps to generate traffic automatically. On the basis of analyzing the HTTPS connection mechanism of Android Apps, the Man-in-the-Middle proxy tool mitmproxy is used to realize the transparent Man-in-the-Middle attack for network users, and traffic is collected in plaintext. Then, the information such as URL and content in HTTPS traffic is extracted as features to form App traffic fingerprints. Machine learning and the exact matching methods are employed to identify Apps respectively. The experimental results show that when a single flow is used to identify the source App, the accuracy rate can reach 85.6% with machine learning and 3-gram model. Using the exact matching method, the accuracy rate of single traffic flow identification is 56.0%, and when using 5 continuous flows, the rate can reach 95.0%. Based on the research results above, this paper designs and implements a mobile App identification tool, which can collect and analyze the traffic and give the App identification result.

KEY WORDS: Mobile devices, Traffic analysis, MITM, HTTPS, App identification

目 录

摘 要 I

Abstract II

第一章 绪论 1

1.1研究背景 1

1.2研究现状 2

1.2.1基于HTTP流量的应用识别技术 2

1.2.2基于HTTPS流量的应用识别技术 2

1.2.3 Android应用程序证书验证漏洞 3

1.3研究目标和内容 4

1.4论文组织结构 4

第二章 基础理论知识 5

2.1HTTPS技术及应用 5

2.1.1HTTPS和数字证书 5

2.1.2Android HTTPS技术分析 6

2.2机器学习基本流程 7

2.2.1特征选择 7

2.2.2算法选择 8

2.2.3模型评估 8

2.3本章小结 9

第三章 移动应用识别系统设计 10

3.1系统总体设计 10

3.2流量采集模块 10

3.2.1应用爬取模块 10

3.2.2应用自动运行模块 12

3.2.3 HTTPS中间人代理模块 13

3.2.4流量采集模块 16

3.3数据分析模块 16

3.3.1机器学习方法 16

3.3.2完全匹配方法 19

3.4本章小结 19

第四章 系统实现与测试 21

4.1流量采集模块实现 21

4.1.1应用爬取模块 21

4.1.2应用自动运行模块 21

4.1.3mitmproxy代理模块 25

4.1.4流量采集模块 26

4.1.5采集结果展示 28

4.2数据分析模块实现及性能评估 29

4.2.1机器学习方法 29

4.2.2完全匹配方法 33

4.2.3应用识别性能总结 37

4.3应用识别工具 37

4.3.1实验环境 37

4.3.2流量采集 38

4.3.3流量分类 39

4.3.4应用示例 39

4.4本章小结 41

第五章 总结和展望 42

5.1论文总结 42

5.2工作展望 42

致 谢 43

参考文献 44

第一章 绪论

1.1研究背景

随着移动互联网时代的到来,移动设备日益普及,已经成为用户工作生活中不可或缺的一部分。根据中国互联网络信息中心(CNNIC)发布的报告[1]显示,中国网民使用手机上网的比例已达95.1%,由此可见移动设备接入互联网的比例日益增高。移动应用通过无线网络来传输用户数据,移动网络流量的不断增加,导致了隐私泄露及恶意软件等种种问题,因此针对移动流量的过滤和分析越来越受到重视。通过对用户流量的分析,网络监管者能清楚地了解流量产生自哪些应用,从而对特定应用的流量进行拦截,对移动应用的使用进行监管;广告商能够通过识别应用来获取应用的使用情况,从而对市场走向做出合理的判断。

基于流量的应用识别需要对流量进行监听分析,如今针对网络流量分析及应用识别的研究主要存在两个方面的问题:① 加密流量分析。移动应用主要采用HTTP/HTTPS协议来进行数据传输,对于安全性要求较高的移动应用,HTTPS加密通信的比例会增加。对于HTTP流量,能够直接监听到明文的流量数据,而对于HTTPS流量,监听到的流量是加密数据,不能直接进行分析。② 应用规模庞大。进行应用识别建模分析需要大量的流量数据作为样本,针对如今应用市场上大量的移动应用,无法采用手工操作的方法获取流量,因此需要利用自动化测试工具自动运行应用以产生流量。获取流量数据以后才能进行指纹的生成与匹配。

剩余内容已隐藏,请支付后下载全文,论文总字数:41208字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;