检测分析隐蔽网络流量的方法_第1页
检测分析隐蔽网络流量的方法_第2页
检测分析隐蔽网络流量的方法_第3页
检测分析隐蔽网络流量的方法_第4页
检测分析隐蔽网络流量的方法_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

检测分析隐蔽网络流量的方法

互联网已成为人们生活的一部分。随着软和硬件技术的发展,智能手机已经发展得非常显著。它有一个独立的操作系统和操作过程,这使得人们的工作和生活在多个领域。在移动操作系统方面,android系统自2007年11月发布以来,由于其开源代码性吸引了大量用户。根据gartner发布的最新报告,android系统在2015年第三季度仍处于世界市场领导地位,占84.7%,手机生产近3亿件。由于android系统是开源系统,android手机也成为黑客的目标。根据360发布的2015年第三季度中国手机安全报告。随着智能手机的广泛应用,手机流量的“偷跑”问题备受关注,有安全观念的人群更是意识到保护在因特网中传输的私人敏感数据的重要性.在APP(智能手机应用)通信中,HTTP和HTTPS协议依然得到非常广泛的应用.超文本传输协议HT-TP被用于在Web浏览器和网站服务器之间传递信息.HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等.因此,安全套接层协议(SSL)被提出防止安全漏洞被攻击者利用.HTTPS是以安全为目标的HTTP通道,也就是HTTP的安全版.为了商业推广、软件应用的改进、数据流量分析等原因,在用户未知情的情况下,有很多网站、APP会通过隐藏通信的手段将通信中的业务数据共享、分发给隐蔽的第三方.因此检测和发现这样的通信对于提高通信的安全和机密性有着一定的意义.本文使用“中间人”方法来发现并分析隐蔽的HTTP/HTTPS通信.1tmperx中心及原理中间人攻击(Man-in-themiddleattack,简称“MITM攻击”)mitmproxymitmproxy的主要功能是:拦截HTTP请求和响应并动态地修改它们;保存完整的HTTP会话以供日后回放和分析;回放客户端的HTTP会话;回放记录服务器先前的HTTP响应;用反向代理模式将通信转发到指定的服务器;在OSX和Linux下实现透明的代理;使用Python脚本修改HTTP通信;动态生成拦截SSL的证书.2http通信的原理为了检测和分析隐蔽的通信,我们基于“中间人”方法,将mitmproxy设置成为被检测对象所在局域网的网关.被检测对象(浏览器或手机APP)的通信请求首先到达mitmproxy服务器,mitmproxy记录通信信息,并将请求推送到外部服务器;外部服务器对推送的请求进行响应,mitmproxy接收并记录通信信息,然后将远端服务器的响应推送给客户端,则我们将可以对所有的通信信息(包含网址、通信内容)进行分析.mitmproxy在通信过程中类似路由器,记录并统计所有的通信信息.对于未加密的HTTP连接,记录隐蔽HTTP通信是容易的.拿一个手机浏览器来说,mitmproxy接受HTTP客户端的连接,将客户的请求(及其参数)显示在攻击者的显示器上,一旦攻击者确认后立即将该请求转发到目标web服务器,虽然在修改请求后会造成一些延迟.mitmproxy只是充当了一个中间人的角色:对客户端而言,mitmproxy服务器看起来好像只是对它的连接请求进行了中继(正如路由器或者ISP服务器一样);对服务器而言,mitmproxy服务器就像客户端一样.SSL是由Netscape公司推出的一种安全通信协议,已成为目前安全通信的重要手段.SSL提供对服务器和客户机(服务器)的端点认证,并为在网络上安全传送数据建立一条安全的连接,这个连接分为2个阶段:握手阶段和数据传输阶段.SSL中间人攻击分为2个阶段,一是会话劫持,充当中间人,二是通过伪造数字证书,充当SSL中间人.HTTPS是基于安全套接字层(SSL)行信息交换的HTTP协议,以在不安全网络上建立安全通道为目标.目前被广泛应用于互联网上敏感信息的传输,例如邮件收发、交易支付或隐私聊天等,越来越多的网站采用HTTPS协议来保护用户个人隐私与信息安全.在一定程度上,HTTPS采用的证书机制以及非对称加密的密钥协商能够很好地保护用户与网站间的传输内容.但与此同时,任何密码学手段都不是绝对的安全,HTTPS也存在其缺陷.为了实现HTTPS通信数据的检测,mitmproxy伪装成认证机构(Certificateauthority,CA),并产生CA证书,将证书安装到被测试对象上.通信过程中,被测试对象的请求被发送至外部服务器,并将响应信息推送到被测对象.mitmproxy记录所有通信信息,而且,被测对象会认为mitmproxy服务器是其访问目标服务器.虽然攻击未加密的HTTP通信而不必理会X.509证书和认证机构,但是SSL加密的HTTPS通信将对客户端和服务器之间的每个请求和响应实行端到端的加密.由于传输的数据是经过公钥加密的,因此中间人(或者代理)将无法破译所交换的数据包.当客户端对安全的Web服务器打开一个SSL/TLS通信时,它通过检查2个条件来验证服务器的身份:首先,检查它的证书是否为客户机已知的认证机构所签发;其次,确证服务器的通用名(commonname,CN;也叫主机名)与所要连接的服务器相匹配.如果2个条件都得到满足,客户端就认为这个连接是安全的.为了能够嗅探到这种连接,mitmproxy充当了认证机构的角色,当然这个认证机构并不是很值得信赖,因为mitmproxy并不是给真实的个人或组织颁发认证,而是动态地为任何需要通信的主机生成证书.举例说,如果一个客户端需要连接到,mitmproxy就为“”成一个证书并签上自己的CA.只要客户端信任这个CA,则上面所提及的2个条件都为真(可信的CA,相同的CN),这就意味着客户机相信mitmproxy服务器就是事实上的“”.如图2所示,显示了该场景下的请求/响应数据流.这种机制就叫做透明的HT-TPS代理.在进行检测工作时,具体的工作过程为:1被检测对象发起https通信请求;2加密信息被发送至同一局域网中的mitmproxy检测机;3检测机提取通信信息,并将信息重新加密通过局域网发送值目标站点;4目标站点接收请求;5目标站点进行响应;6mitmproxy检测机首先截取响应信息;7检测机重新加密信息并将信息通过发送到被检测对象;8被检测对象接收目标站点发送的响应信息.为了使得这种攻击能够正常运行,它还必须满足如下条件:(1)mitmproxy是一个标准的网关(HTTP和HTTPS):作为HTTP和HTTPS代理,运行mitmproxy的服务器必须能够拦截IP数据包.这意味着它必须位于数据包路径上的某个位置.最简单的方法就是将客户设备上的默认网关改为该mitmproxy服务器的地址.(2)可信任的mitmproxy认证机构(只需要HT-TPS):为了使得HTTPS代理能够正常工作,客户端必须知道并信任mitmproxy的CA,也就是说CA钥匙文件必须加入到客户端的信任数据库里面.3设置被测对象网站本文测试环境的基础为:Android,版本:4.0.4;ubuntu,版本:12.04(LTS);mitmproxy,版本:0.14;局域网内IP,如:11;端口:可根据需要进行设置,如:1234.设置被测对象网址:局域网内IP,如:192.168.1.x;手动设置被测对象的网关地址,该地址与测试机网址对应,如:11,端口设置需与测试端口对应,如:1234.具体搭建过程为:1检测机安装mitmproxy,并通过ifconfig命令可获得测试机IP地址;2运行mitmproxy,具体命令:mitmproxy-b[IP地址]-p[检测端口];3将mitmproxy产生CA证书手动安装到被测试对象上;4设置被测试对象的网络访问代理,将网关地址和端口号设置为被启动mitmproxy工作地址和检测端口号;5运行被测试对象上的应用或浏览器,通过mitmproxy来获得相应检测结果.3.2基于android应用程序的信息检测被测对象上的内置浏览器名称为互联网(Internet),版本为4.0.4.启用该应用访问网络中的网页,例如:访问“百度”网站,mitmproxy会侦测到相关的行为,结果如图3所示.图中第1行和第4行可见,浏览器会发送额外信息到.hk网站,并附带部分技术参数信息.另外,图3中的第2行和第3行信息为正常“请求-响应”信息,而且,mitmproxy可直接对https的信息进行提取和分析.StackExchange是国外网络论坛服务提供网站,通过android应用市场可下载针对该网站的android移动应用,名称为:“StackExchange”,版本:1.0.62.使用该应用程序时,通过mitmproxy可检测到信息为图4所示.其中第1行和第3行为额外发送信息.可进一步分析这些额外信息的情况,对图4中第1行的https信息,mitmproxy可截获信息如图5所示.该信息使用JSON格式进行内容组织,详细信息包含大量设备标识和相关应用事件(Event)信息.通过上述2个案例说明:通过mitmproxy的跟踪与检测,测试环境中被检测对象上的应用程序或网络应用的http及https通信行为可被记录和反馈出来.上述测试结果也说明网络和移动应用存在隐蔽通信行为.因此,为了保障正常的网络通信与应用,本文提出以下建议:(1)网络或移动应用程序应该明确告知用户所共享、分发与隐私有关的信息情况;(2)应该增强网络或移动应用信息分发、共享的权限管理功能;(3)移动设备应增强网络通信管理功能,建立个人通信防火墙,并可通过防火墙配置和管理移动设备的通信行为.4隐蔽通信检测随着网络技术的迅猛发展,手机通信的安全性已经成为大家普遍关注的焦点问题.很多网站和APP会在用户未知情的情况下将用户的私密信息传递出去,检测和分析这种隐蔽通信对于提高用户的安全意识和采取进一步的应对措施具有重要意义.文中在对“中间人”攻击原理和mitmproxy软件进行介绍的基础上,详细分析了利用mitmproxy进行HTTP和HTTPS通信记录的方法,并在实验环境中利用该软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论