当前位置: 首页 > news >正文

Socket通信保护概论,Android系列

一.整个通信过程全程加密,防止数据在传输过程中被劫持

1.使用TLS1.2、1.3系列、去除TLS1.0系列

2.双向认证、客户端,服务器双向验证,防止伪造request

3.证书最好固定、防止使用假证书进行中间人攻击

二.防止抓包、数据被拦截

1.虽然使用了TLS加密,但仍然可使用Brup Suite、Fiddler进行抓包。代码中加入检测代理、VPN操作

三.应用层也需加密数据,使Hook不出明文信息

1.才有AES+HMAC签名(对称加密,速度效率高)

2.RSA或是ECC交换密钥(用来生成AES密钥)

3.时间戳+随机数(防止请求重放攻击)

4.服务端收到数据,先使用HMAC校验数据是否被篡改,未被篡改,再进行解密操作

四.防Frida、Xposed,防止被Hook,自身是否被调试

1.一旦监测到这些情况,则直接关闭服务以及App,避免被分析

五.反编译、反汇编保护

1.代码混淆(ProGrard、R8),不可以完全防止逆向,但可以增加逆向成本、时间

2.核心代码使用C、C++进行编写(JNI调用)

六.服务端验证

1.HMAC校验数据完整性

2.限制同IP多次频繁请求

3.监测异常流量

4.日志行为监控

对于一般攻击来说,TLS加密、SSL Pinning即可,但是对于高强度攻击,就需要多层加密、反Hook、服务端验证

攻与防是个长期博弈的过程,就像盾与矛一样,只有不断更新技术。做到及时防护

http://www.dtcms.com/a/122017.html

相关文章:

  • SAP-ABAP:SAP PO接口中System Landscape(SL Landscape Directory,SLD)作用详解
  • windows11下pytorch(cpu)安装
  • 记录一次SSH和SFTP服务分离后文件上传权限问题
  • AI比人脑更强,因为被植入思维模型【52】福格行为模型
  • 0303hooks-react-仿低代码平台项目
  • OSPF的数据报文格式【复习篇】
  • 算法基础—二分算法
  • STM32 vs ESP32:如何选择最适合你的单片机?
  • 网络协议学习
  • PDFtk
  • 2025年3月全国青少年软件编程等级考试(Python六级)试卷及答案
  • 带无源位置反馈气动V型调节开关球阀的特点解析-耀圣
  • find指令中使用正则表达式
  • C++中STL学习(一)——向量、栈、堆、集合
  • PyQt6实例_A股财报数据维护工具_解说并数据与完整代码分享
  • ISP的过程
  • 用户注册(阿里云手机验证码)
  • CNN(卷积神经网络)
  • 共工新闻社与韩国新华报社达成合作
  • Python | 第十四章 | 基于模块开发-出租系统
  • 如何设置 JVM 内存参数(-Xms、-Xmx、-Xss 等)?
  • 文件的操作
  • 自然语言处理入门6——RNN生成文本
  • 揭开 MCP 的神秘面纱:标准化 AI 上下文管理的未来(下)
  • 永磁同步电机 | 分类 / 转子结构 / FOC 控制 / 电路分析
  • Android 中集成 Unity 工程的步骤
  • 点云处理常用的软件、开源库及数据集
  • 将jar包制作成deb一键安装包
  • 从 Excel 到你的表格应用:条件格式功能的嵌入实践指南
  • 【机密计算顶会解读】13:CAGE:通过 GPU 扩展补充 Arm CCA