移动应用APP中间人攻击的分析与测试

移动应用APP中间人攻击的分析与测试

2023年6月30日发(作者:)

检测Testing 编辑 徐航移动应用APP中间人攻击的分析与测试文/ 康剑萍 葛岩

[摘要]

随着移动应用APP的快速发展,其所面临的安全问题也越来越突出,从侵犯个人隐私到截取敏感数据,都给使用者带来巨大的风险。本文通过对移动应用APP中间人攻击基本原理的概述,详细分析了造成移动APP中间人攻击的原因,以及在实际安全测试中遇到的问题和解决办法。本文认为最重要的是如何在开发过程中规避这种风险,防止APP遭受中间人攻击。正确使用HTTPS协议,做好证书有效性校验,才能避免通信数据被窃听、被篡改和被伪装。

[关键词]

APP 中间人攻击 HTTPS 证书

【DOI】10.16691/.10-1214/t.2021.02.011一、背景分析益,更关系着广大人民群众的生命 2.通信安全风险和财产安全。 APP在与服务器的通信中有数互联网的发展已经从PC互联据被劫持的风险,主要包括:是否网发展到移动互联网,智能手机二、移动应用APP的主要安全能防止重放攻击、是否能防止中间的普及极大地推动了移动应用风险人攻击、客户端和服务器端的通信APP的快速增长。与2019年同期相比,2020年1月到9月APP Store随着新一代信息技术的发展及是否采用了TLS密通信等。全球下载量增加11.8%,Google

智能家居物联网的兴起,移动应用3.服务器端风险Play全球下载量增加5.3%,华APP越来越渗透到人们生活中,同服务器端风险主要集中在登录为应用市场全球下载量增加时也带来很多安全问题。主要安时的安全策略(密码和身份认证策31.2%,但快速发展的APP应用全问题可以从以下三个方面进行划略)、web应用常见漏洞(SQL注安全问题层出不穷,从过度获取分,分别是客户端安全、数据通信入漏洞、跨站脚本(XSS)漏洞、不相关的权限到泄漏个人隐私信安全和服务器端安全。上传漏洞等)、业务安全漏洞(平息、从获取传输信息中的重要关 1.客户端安全风险行越权和垂直越权)等。键信息到植入恶意代码或广告, 客户端APP的安全风险主要是三、移动应用APP中间人攻击这些陷阱无一不困扰着APP用户指本地手机上的数据安全,主要包的使用体验[1]。互联网时代的数括:是否能反编译、是否能二次打分析据就是生产力,对重要信息数据包、本地数据存储安全、组件是否 通信安全能保证客户端APP正的保护不仅关系着广大商家的利能导出、界面劫持风险等。确地与服务器端进行通信,中间不《质量与认证》2021·02

75 检测Testing编辑 徐航会被劫持,这个过程也是黑客最容易攻击的部分[2],数据安全可靠地传输是整个移动应用安全中重要的组成部分。 1.中间人攻击概述 中间人攻击(Man-in-the-middle attack),缩写为MITM。是指攻击者分别与通讯的两端建立联系,拦截并修改通信双方的数据,然后再交换数据,客户端和服务器端都以为是和对方在私密通信,其实整个传输都被攻击者完全控制。 正确地使用HTTPS是防范中间人攻击的有效办法。HTTPS是包含了SSL数字证书的HTTPS协议,它解决了加密、认证和数据的完整性。但在实际应用中,国内一些Android APP虽然使用了HTTPS的通信方式,但只是简单地调用而已,并没有对证书的有效性进行校验,使整个对话被攻击者完全控制,可以随意修改或插入新的内容。这种漏洞使HTTPS形同虚设,轻易获取手机用户的明文信息。中间人攻击流程如图1所示。 如图所示,客户端发送给服务器的信息被中间人截取,然后伪装成客户端与服务器进行通信;随后,截取服务器返回给客户的内容,伪装成服务器端与客户端通信,在此过程中替换服务器的公钥和加密数据的对称密钥,得到客户端发送给服务器的真实数据。2.中间人攻击分析和测试 作为HTTPS中最重要的组成部分,数字证书可以辨识对方是否可信,并且用证书的公钥非对称加密数据密钥,然后进行交换。HTTPS76

《 质量与认证》2021·02图1 HTTPS通信中的中间人攻击通信需要的数字证书是向CA机构任所有的证书。申请的,然后在服务器端设置后才如果用户的手机中被不小心安能使用。但这一类的CA机构是商装了一张恶意证书的话,那么黑客业机构,一般需要按年缴费。而就可以通过中间人攻击的方法获取APP常使用openssl工具生成自签发用户的敏感信息,或者修改请求,的数字证书。数字证书包含证书颁或响应中的数据。发者、证书使用者、证书公钥、颁(2) 服务器端证书及域名校验发者签名等信息。没有对服务器端证书和域名进 要成功进行中间人攻击的前提行校验或校验不完整,是造成中间条件是,没有对服务器证书和域名人攻击的最主要原因。为了方便直进行校验,服务器端的私钥泄露。接使用Android默认的校验方式进(1) 信任客户端的第三方证书行HTTPS请求。没有对域名进行校如果APK使用自签名的证书,验,即没有检查证书域名和站点域在程序开发过程中常常会报错,名是否匹配。因为系统中的CA证书无法信任 (3) 测试中间人攻击自签名证书,会抛出Certificate

抓包软件fiddler、burpsuite等Exception等异常。为了解决这个问实现的原理就是中间人攻击,中题,开发人员往往让客户端代码信间人攻击主要就是截获服务器端返回的证书,然后把自己伪造的证书发送给客户端,骗取信任后盗取信息。现在大量的APP应用在证书检验方面都做得不够,有的即使做了整个证书链的校验,中间人攻击同样可以通过在测试机上手动添加第三方证书,并让客户端信任后发起。这也正是抓包软件要抓取HTTPS协议数据前,必须在终端上安装证书的原因。这个证书可以确保伪造的证书通过客户端的证书链校验,从而抓取HTTPS明文数据包。 当然攻击者也可以反编译APK,然后把证书校验这段代码删除,或换上自己的证书信息,再重新打包签名。但如果APK做了足够混淆和加固,这样的操作也是不容易做的。3.用SSL Pinning来防止移动APP中间人攻击 SSL Pinning就是将SSL证书绑定到客户端APP中,在进行通信过程中将服务器端的证书和内置客户端的证书对比是否一致,如果不一致直接断开网络。对于安全性要求较高的APP应用,比如银行、证券、网上交易等涉及账户、金额等需要严格保密的地方,需要HTTPS能抵御在用户终端上安装证书进行中间人攻击。可以使用以下两种方法进行预防。(1)将服务器证书预埋打包到客户端,这样在进行HTTPS连接时,只有服务器端和客户端的证书完全一致的情况下才能正常通信。但是,如果证书过期了,就可能要求客户端强制更新或自己下载证书来完成,用户体验不好。的方式加密,然后再进行传输就比(2)将服务器证书公钥放在安全较安全了。比如支付宝、淘宝都用组件中供校验使用,但公钥可以实的这种方式,保证了用户的敏感信现动态升级,不用客户端干预升息不泄露。级,用户体验比较好。校验服务器端证书见图2。四、结语(3) HTTPS抓包后发现明文本文通过对移动应用APP安全用fiddler或burpsuite做安全性测性的描述,分析了APP在通信过程中易遭受中间人攻击的原因及解决办法,同时解释了基于中间人攻击原理的安全性测试。只有做好SSL证书的有效性校验,图2 校验服务器端证书HTTPS才能确保网络上传输的信试时常常会发现,抓到的通信数据息是加密的,且只有客户端和服务包虽然使用了HTTPS协议,但数器端才能对数据进行解密。同时,据中还是包含了明文。HTTPS是对一些安全性要求高的网站,建议在应用层和传输层之间加密,只有做好客户端应用层数据的加密工传输层的数据是经过加密的,而看作,然后再进行传输,就像又加了到的表单数据是应用层的数据,还一道屏障。只有这样才能保证用户没有加密。而从中间人(fiddler、敏感数据的保密性、完整性和不可burpsuite)的角度说,它先获取传否认性。输层中客户端的数据,进行解密再重新加密,发给服务端,所以自[参考文献]然能得到解密的明文。但如果不[1]张勃.移动APP的信息安全是以中间人代理的方式抓包,用问题与开发策略研究[J].信息通wireshark第三方抓包的话,看到的信,2019(12):数据应该是密文。[2]吕晶.Android系统中App应但是应该引起重视的是,客户用软件网络安全问题[J].福建电端前端的信息常常会泄漏,原因是脑,2018,34(05):101+113.

本地的数据没有加密,虽然传输过程中是加密处理的,但通过中间人(作者单位:康剑萍 上海市质攻击的解密就能拿到明文。对一些量监督检验技术研究院;葛岩 中安全性要求高的应用,用加盐hash国质量认证中心)《质量与认证》2021·02

77

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688090937a79437.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信