【技术实现步骤摘要】
一种移动应用程序透明通信保护方法与装置
本专利技术涉及移动应用程序通信领域,尤其涉及一种移动应用程序透明通信保护方法与装置。
技术介绍
随着移动互联网的迅速发展,移动智能终端的使用越来越普及,尤其是谷歌公司开源的Android系统更是占据了移动智能设备的绝大市场份额,各种移动应用程序层出不穷,这些移动应用程序在给人们的生活带来各种便利的同时,也由于其网络通信行为的复杂性、不确定性,给移动互联网安全、稳定运行带来了严峻的挑战。例如,某些移动应用程序在运行过程中可能会与多个不同的服务器进行通信,恶意攻击者通过监听嗅探网络传输数据获取用户传输数据,甚至个别移动应用程序会与潜在的恶意服务器进行隐匿通信从而泄露个人隐私数据和其他重要信息。因此,有必要对移动应用程序运行过程中的网络流量数据进行保护,以便更好保护用户隐私。目前由于TLS/SSL普及还不够,同时限于应用程序开发者技术能力和成本,目前很多移动应用程序仍使用明文传输数据,存在攻击者分析通信内容获取关键信息的风险,使得用户隐私数据存在极大的安全风险。虽然目前也有一些方案,如采用专门的HTTPS协议,修改系统底层固件或重新封装通信函数,在开发时需引入新的SDK,使用专门的通信接口,极大的增加更加了开发者的负担,同时也影响了应用程序兼容性。当前并没有针对移动应用程序透明通信保护的成熟方案。
技术实现思路
为克服上述现有技术的不足,本专利技术提供一种移动应用程序透明通信保护方法与装置,不需要引入专门的SDK,开发者移动应用无需修改,不改变用户使用行为 ...
【技术保护点】
1.一种移动应用程序透明通信保护方法,其特征在于,该方法包括以下步骤:/nS1:在Android系统中安装移动应用程序客户端,所述移动应用程序客户端用于监控所述Android系统上所有应用的进程;/nS2:当被保护应用启动时,所述移动应用程序客户端注入所述被保护应用的内存空间,并替换所述被保护应用的网络连接函数为所述移动应用程序客户端中定义的拦截函数;/nS3:当所述被保护应用发起网络请求时,由所述拦截函数获取源链接网络请求的IP地址和端口,并将其对应更改为通信转发节点服务器的IP地址和端口,然后执行网络协议中密钥协商、传输数据加密,并按照所述网络协议填入所述源链接网络请求的IP地址和端口以及所述传输数据形成网络数据包进行发送;/nS4:获取所述拦截函数的执行结果,并返回所述被保护应用的内存空间继续执行;/nS5:所述通信转发节点服务器根据所述网络协议从所述网络数据包中获取所述源链接网络请求IP地址和端口,对所述源链接网络请求IP地址和端口执行安全检测并根据负载均衡策略转发至网络请求服务器;/nS6:所述网络请求服务器获取所示网络数据包,按照所述网络协议解析获取所述源链接网络请求的IP ...
【技术特征摘要】
1.一种移动应用程序透明通信保护方法,其特征在于,该方法包括以下步骤:
S1:在Android系统中安装移动应用程序客户端,所述移动应用程序客户端用于监控所述Android系统上所有应用的进程;
S2:当被保护应用启动时,所述移动应用程序客户端注入所述被保护应用的内存空间,并替换所述被保护应用的网络连接函数为所述移动应用程序客户端中定义的拦截函数;
S3:当所述被保护应用发起网络请求时,由所述拦截函数获取源链接网络请求的IP地址和端口,并将其对应更改为通信转发节点服务器的IP地址和端口,然后执行网络协议中密钥协商、传输数据加密,并按照所述网络协议填入所述源链接网络请求的IP地址和端口以及所述传输数据形成网络数据包进行发送;
S4:获取所述拦截函数的执行结果,并返回所述被保护应用的内存空间继续执行;
S5:所述通信转发节点服务器根据所述网络协议从所述网络数据包中获取所述源链接网络请求IP地址和端口,对所述源链接网络请求IP地址和端口执行安全检测并根据负载均衡策略转发至网络请求服务器;
S6:所述网络请求服务器获取所示网络数据包,按照所述网络协议解析获取所述源链接网络请求的IP地址和端口、所述传输数据,并作出应答消息;
S7:所述应答消息通过会话密钥加密后,经所述通信转发节点服务器返回所述被保护应用程序,被所述拦截函数拦截,通过解密并获取所述应答消息后返回给上层函数。
2.如权利要求1所述的移动应用程序透明通信保护方法,其特征在于,所述步骤S1,包括:
通过所述移动应用程序客户端获取所述Android系统中安装的应用列表,根据应用场景需求选择被保护应用集合;
通过所述移动应用程序客户端选择网络协议的参数,并配置服务器证书以及相关加密、解密参数。
3.如权利要求2所述的移动应用程序透明通信保护方法,其特征在于,所述步骤S2,包括:
S21:获取所述Android系统安装的应用的当前进程列表,判断所述被保护应用是否在运行;
S22:若存在所述被保护应用在运行,获取所述被保护应用的目标进程PID,使用系统函数ptrace拦截所述目标进程,并将拦截函数所在的动态链接库注入所述被保护应用的内存空间;
S23:利用所述ptrace执行注入的所述动态链接库中的入口函数,保存所述被保护应用的当前执行状态,获取所述被保护应用的网络连接函数connect,sendto,recvfrom及注入的拦截函数x_connect,x_sendto,x_recvfrom所在内存地址,并替换相应网络连接函数实现调用劫持;
S24:所述被保护应用发起网络连接时,调用所述拦截函数,并在其执行完毕后跳转回所述系统函数继续执行。
4.如权利要求3所述的移动应用程序透明通信保护方法,其特征在于,所述步骤S3,包括:
密钥协商,所述被保护应用发起网络请求时,所述拦截函数x_connect随机生成通信会话密钥K,利用配置的服务器证书公钥进行加密,得到会话密钥密文E(K),按照以下格式编排所述网络数据包:会话密钥密文E(K)前增加2字节编码固定为A6EF作为网络数据包头部,经所述通信转发节点服务器发送至所述网络请求服务器,所述通信转发节点服务器解密获取会话密钥,完成密钥协商;数据加密,所述被保护应用发送所述网络请求时,所述拦截函数使用分组密码算法及通信会话密钥K对所述网络数据包中的传输数据加密得到传输数据密文EK(M),并计算所述传输数据的哈希散列值H(M);
数据解密,所述被保护应用接收所述网请求时,所述拦截函数使用分组密码及通信会话密钥K对所述...
【专利技术属性】
技术研发人员:杨腾飞,李阳阳,谢海永,
申请(专利权)人:中国电子科技集团公司电子科学研究院,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。