热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

移动app安全测试–网络传输安全

前言APP在运行的时候,有海量的文字、图片、视频等内容传输,全部存在本地既不现实、也不灵活。因此会大量的使用网络连接来实现APP与云端服务器的数据通信,所以网络数据传输的
前言

APP在运行的时候,有海量的文字、图片、视频等内容传输,全部存在本地既不现实、也不灵活。因此会大量的使用网络连接来实现APP与云端服务器的数据通信,所以网络数据传输的安全性,往往成为移动app安全最关键的一个环节。

如果没有对这方面进行安全防护,黑灰产业就可以通过安全薄弱的环节,直接制作出协议工具,脱离app本身进行业务操作。

所以从整个过程来看,可以从通信安全和数据安全两个方面来进行安全性研究和测试。

移动app安全测试 - 网络传输安全
通信安全

目前市面上有一部分APP与服务器的交互采用的是HTTP协议,如果没有采取额外的措施,那么用户数据、交互数据就都是以明文的方式在网络中进行传输,这显然是极其“不安全”的。

一些有安全意识的APP虽然采用了HTTPS与服务器进行通讯,但是在实现过程中存在漏洞,导致通讯链路仍然存在较大的可能性被监听、解密。例如未做安全处理的HTTPS通讯连接会存在中间人攻击的安全性风险。

1、TLS

(TLS)安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。

具体的技术说明和细节在网上有很多介绍,这里就不复制、粘贴了。如果没有采用比较安全的协议进行app和服务器的通信,那么网络上传输的数据就会被其他拦截,进而泄漏用户的信息以及公司的数据信息。

采用安全传输协议后,虽然网络上传输的数据仍然可能被拦截下来,但拦截者此时是没有办法解密和还原经过协议加密处理过的数据。

2、证书校验

这里指HTTPS的单向或双向验证。

所谓单向验证,就是在HTTPS通信中,客户端验证服务端的证书;双向验证就是客户端和服务端的证书都需要对方验证。有了证书校验,可以在一定程度上预防中间人窃听。

数据安全

通讯安全的一些措施可以保证客户端到服务端传输过程中的链路安全,但是却不能保证传输中数据的安全。

以下图为例,虽然协议采取了TLS安全协议,但是攻击者可以通过中间人攻击的方式捕获通信数据,获取明文信息。

移动app安全测试 - 网络传输安全

因此,为了保护数据安全,有必要使用适当的加密方式。例如重要的注册登录接口,就应该使用RSA进行加密,攻击者即便拿到了客户端的密钥或公钥的一种,也无法进行数据解密。其他非核心的接口,可以用对成加密或其他算法组合而成的加密方式。

中间人攻击

在测试工作中的抓包这一项活动,其实就包含了中间人攻击。即便是HTTPS协议,如果缺少安全意识和防护措施,也能造成数据信息的泄漏。

1、HTTP会话劫持

HTTP会话劫持是对HTTP通信进行的一种跟踪行为。HTTP不会对客户端的请求或者服务的返回数据进行加密处理,最多只是对数据本身进行一定程度的加密,其中明文数据更容易遭到篡改和重放攻击。

2、HTTPS会话劫持

在客户端和服务端的通信中,如果客户端没有对服务端的证书进行校验,攻击者就能在“中间”分别和客户端、服务端建立两个独立的链接并交换数据。例如Charles这个专业的抓包软件,把证书从软件中导出并安装到设备上,就可抓去HTTPS协议的网络通信了。

安全测试

1、TLS

检查客户端网络连接是否使用了HTPPS协议

2、证书校验

检查客户端和服务端是否进行了证书校验。

2.1、SSL-pinning存在被绕过分风险

2.2、风险检查:客户端本地证书容易遭到窃取

3、数据加密

3.1、检查传输的数据本身是否被加密。

3.2、加密方式是否过于简单易破。

4、防抓包策略

客户端是否包含一定程度的防抓包策略,例如代理检测技术等等。


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 【MicroServices】【Arduino】装修甲醛检测,ArduinoDart甲醛、PM2.5、温湿度、光照传感器等,数据记录于SD卡,Python数据显示,UI5前台,微服务后台……
    这篇文章介绍了一个基于Arduino的装修甲醛检测项目,使用了ArduinoDart甲醛、PM2.5、温湿度、光照传感器等硬件,并将数据记录于SD卡,使用Python进行数据显示,使用UI5进行前台设计,使用微服务进行后台开发。该项目还在不断更新中,有兴趣的可以关注作者的博客和GitHub。 ... [详细]
author-avatar
caiyingsheng852
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有