【技术实现步骤摘要】
一种移动端应用防止抓包的方法
[0001]本专利技术涉及网络安全领域,更具体地,涉及一种移动端应用防止抓包的方法
。
技术介绍
[0002]目前对于移动端应用来说,网络请求是其很核心的数据内容,而现有方案通过一些代理软件
(
如
Charles、Fiddler、Wireshark)
可以抓取网络包
(
通过中间人的方式拿到通信报文
)
,则可以知道请求的内容和数据,从而泄漏了核心数据
。
[0003]现有移动端大多使用的网络库有
android
端使用
okhttp3、ios
端使用
AFNetworking
;也有双端使用跨平台网络库
cronet
网络库
。
大多数都是基于
okhttp3
和
AFNetworking
采用客户端校验服务器的证书或者使用证书锁定
(SSL/TLS Pinning)
,来防止抓包
。
而其中网络库
cronet
也是开启服务器证书校验功能来防止中间人来抓包
。
[0004]首先
okhttp3、AFNetworking、cronet
都是绝大多数
APP
厂商都采用的方案,因此网上有很多资料分析如何来破解其抓包方案,因此在网上可以轻易的找到对应的破解工具
。
同时对于现有的上 ...
【技术保护点】
【技术特征摘要】
1.
一种移动端应用防止抓包的方法,其特征在于,包括:在移动端应用中集成开源网络库
proxygen
,所述开源服务器网络库
proxygen
的源码结构包括底层的
openssl
层
、openssl
层之上的
folly
层和
folly
层之上的
proxygen
层,其中,
folly
层中封装了网络套接字接口;改造开源网络库
proxygen
和
folly
层加入证书校验功能;移动端通过
folly
层中的网络套接字接口连接服务器,向服务器发送网络请求,并接收服务器下发的证书相关信息,所述证书相关信息包括公钥信息和链接域名信息;根据所述公钥信息和链接域名信息,在
proxygen
层的代码中的表格中查找对应的
hash
算法和
hash
结果;通过
folly
层调用
openssl
层,基于
hash
算法对公钥信息进行
hash
运算,得到对应的
hash
结果;将计算的
hash
结果与表格中的
hash
结果进行对比,将对比结果返回给
proxygen
层
。2.
根据权利要求1所述的移动端应用防止抓包的方法,其特征在于,所述在移动端应用中集成开源服务器网络库
proxygen
,包括:通过修改开源服务器网络库
proxygen
中的
cmake
,使用交叉编译来编译出
iOS
平台的静态库以及
android
平台的动态库
so
文件,以分别适用于
iOS
平台和
android
平台;其中,开发
JNI
接口注册到
java
层,通过
java
层接口调用
proxygen
层提供的接口实现网络请求,在
android
平台输出
proxygen.so
文件,该文件包含所有网络库功能以及其依赖的基础库
openssl.so
文件;对
proxygen
的
C++
接口包装一层
Objective
‑
C
语言的
iOS
接口,以适配
IOS
平台
。3.
根据权利要求1所述的移动端应用防止抓包的方法,其特征在于,所述改造开源网络库
proxygen
和
folly
层加入证书校验功能,包括:在开源网络库
proxygen
中存储服务器所有证书公钥的
hash
值,并在
proxygen
代码中对
hash
值进行加密存储到
proxygen
代码中,证书和域名具有对应关系;其中,将域名
、
证书公钥信息
、hash
算法以及
hash
结果存到到表格中,将表格以局部变量的形式存储到
proxygen
代码中
。4.
根据权利要求3所述的移动端应用防止抓包的方法,其特征在于,所述将表格以局部变量的形式存储到
proxygen
代码中,包括:在
proxygen
代码中且在局部变量表格的前后均插入相同的特征汇编代码,以定位到表格的起始地址和结尾地址;相应的,根据所述公钥信息和链接域名信息,在
proxygen
层的代码中的表格中查找对应的
hash
算法和
hash
结果,包括:在
proxygen
代码中通过特征汇编代码定位到表格;根据所述公钥信息和链接域名信息,在定位到的表格中查找对应的
hash
算法和
hash
结果
。5.
根据权利要求4所述的移动端应用...
【专利技术属性】
技术研发人员:吴益新,刘勇,王鹏,丁唯奇,
申请(专利权)人:行圆信息科技厦门有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。