证书什么是根证书

什么是根证书  时间:2021-03-01  阅读:()
67前沿技术对抗AndroidSSLPinning武汉分公司徐华峰在移动客户端安全测试中,需要代理客户端与服务器之间的HTTP(S)流量,才能测试其业务功能的安全漏洞.
若客户端安全性较高,在验证服务器身份时使用了HTTPS+SSLPinning(SSL证书绑定)特性,就会造成代理软件无法正常使用,从而不能继续进行业务功能的测试.
本文则试图解决该问题.
引言移动客户端的安全测试大概可以分为三个部分:客户端安全、通信安全、服务器端安全.
客户端安全包括组件暴露、敏感数据存储等;通信安全包括通信加密、校验等;服务器端安全包括数据安全(注入等)、业务安全等.
根据以往的客户端测试经验发现,有较大数量的移动客户端应用,把重点放在了通信安全上,通过加密通信(HTTPS协议+SSLPinning特性),以期能够掩盖客户端应用在其他方面的安全问题,尤其是在数据安全、业务安全等方面.
然而,HTTPS协议+SSLPinning特性模式并不是无敌的.
本文通过绕过SSLPinning,来证明该模式的脆弱性,以及通过该模式掩盖其他安全问题的不可行性(本文仅测试Android平台,对于IOS、WP其他平台类似,后文统称为"Android应用程序").
一、什么是SSLPinningHTTPS协议验证服务器身份的方式通常有三种,一是根据浏览器或者说操作系统(Android)自带的证书链;二是使用自签名证书;三是自签名证书加上SSLPinning特性.
第一种需要到知名证书机构购买证书,需要一定预算.
第二种多见于内网使用.
第三种是安全性最高的,但是需要浏览器插件68前沿技术或客户端使用了SSLPinning特性.
Android应用程序在使用HTTPS协议时也使用类似的三种方式验证服务器身份,分别是系统证书库、自带证书库、自带证书库+SSLPinning特性.
所以SSLPinning,即SSL证书绑定,是验证服务器身份的一种方式,是在HTTPS协议建立通信时增加的代码逻辑,它通过自己的方式验证服务器身份,然后决定通信是否继续下去.
它唯一指定了服务器的身份,所以安全性较高.
二、绕过SSLPinning(一)对策分析客户端绑定了SSL证书,不能简单地通过导入代理的证书来绕过,但可以通过修改客户端源码,改变其验证证书的逻辑.
分析可知,验证证书的逻辑会分为3个点(A,B,C),形式为A.
B(C),即在A中调用B函数,而B函数会加载C参数.
当然也可能是2个点,B(C)形式.
从软件架构角度看,多为形式A.
B(C).
通俗的讲,在客户端启动时,会执行初始化A函数,A函数中会调用一个验证证书的B函数,在A调用B函数的同时,会传个密钥库C参数到B函数,根据B函数的返回结果,A函数决定程序是否继续下去.
根据上述过程,若想改变证书验证结果,可以从3个点着手:1、改变A函数,使得无论B函数返回什么结果,程序都能继续运行下去;2、改变B函数,使得其总返回TRUE;3、将代理的证书导入C密钥库.
下面将从这3个点依次绕过SSL证书绑定.
(二)实战1.
准备样例APK:测试环境:Android手机安装该APK,使用无代理网络访问https://github.
com时,返回服务器的响应包,如图1;而使用代理网络访问时,SSL验证出错,服务器没有响应包.
如图2.
图1图269前沿技术代理工具:Fiddler2,导出ddler证书,如图3.
APK反编译:使用apktool–dSSLPinningExample.
apk得到APK文件的smali代码,如图4、图5;使用好压等压缩软件打开APK文件,解压出classes.
dex,然后dex2jar.
batclasses.
dex得到APK文件的Java代码,如图6.
找到位置:A函数位置,如图7、图8;B函数位置,如图9、图10;C密钥库位置,如图11.
图3图4图7图8图9图5图670前沿技术2.
方法一删除A函数中调用B函数的操作.
根据准备工作,从图7发现确实调用了pinCerticates,而图8是调用pinCerticates的smali代码,所以可以删除该段smali代码,使A函数不调用pinCerticates函数.
然后重打包apktoolbSSLPinningExample,接着自签名生成的APK,重新安装到手机.
然后访问https://github.
com,可以得到服务器的响应包,即绕过SSLPinning成功.
图12、图13分别是修改APK前后,ddler代理到的数据包.
3.
方法二修改B函数,使其总返回TRUE.
根据准备工作,从图9中看到,pinCerticates函数会加载密钥库,而图10是加载密钥库的smali代码,所以可以修改pinCerticates函数,让其不加载密钥库,直接返回.
然后重打包、自签名生成的APK、重新安装到手机.
然后访问https://github.
com,可以得到服务器的响应包,即绕过SSLPinning成功.
4.
方法三修改密钥库C,导入ddler代理的根证书.
根据准备工作,从图11中看到,APK确实带有自己的密钥库,所以可以导入ddler的根证书到该密钥库.
然后重打包、自签名生成的APK、重新安装到手机.
然后访问https://github.
com,可以得到服务器的响应包,即绕过SSLPinning成功.
图10图11图12图1371前沿技术导入证书步骤可以按照图14,证书导入密钥库时,会要求输入密钥库的密钥,可以从调用pinCerticates处找到.
图14图15logcat,我们或多或少会从logcat中找到些机会,如图15,APK进行http连接时会调用GET方法,可以从logcat中看到GET所在的类及所在行.
三、总结SSLPinning特性可以绕过,通过加密通信方式掩盖其他安全问题的存在不可行性.
方法一可能会出现在程序其他地方再次验证证书的问题,所以方法二较好.
APK大多会进行代码混淆,导致很难找到方法一、方法二所需要的目标位置,所以方法三应该是首选.
虽然方法三简单易行,但难说APK没有其他保护措施(比如说校验密钥库的完整性),又加上代码混淆过,此时则可以借用还有其他现成的解决方法(使用xposed框架,HOOK系统函数等).
四、参考文献AndroidSSLBKS证书的生成过程:http://blog.
csdn.
net/hehe9737/article/details/10001545bcprov-ext-jdk15on-146.
jar下载:http://download.
csdn.
net/download/acnt3w/5648487xposed框架模块:http://repo.
xposed.
info/module-overviewxposed框架SSL模块:https://github.
com/iSECPartners/Android-SSL-TrustKillergithub关于SSLPinning项目:https://github.
com/searchutf8=%E2%9C%93&q=ssl+pinning

GigsGigsCloud:$16/月KVM-1GB/30GB/1TB/1.6T高防/洛杉矶CN2 GIA+AS9929

GigsGigsCloud是一家成立于2015年老牌国外主机商,提供VPS主机和独立服务器租用,数据中心包括美国洛杉矶、中国香港、新加坡、马来西亚和日本等。商家VPS主机基于KVM架构,绝大部分系列产品中国访问速度不错,比如洛杉矶机房有CN2 GIA、AS9929及高防线路等。目前Los Angeles - SimpleCloud with Premium China DDOS Protectio...

飞讯云E5-2678V3 64GB,湖北十堰100G高防物理机330元/月

飞讯云官网“飞讯云”是湖北飞讯网络有限公司旗下的云计算服务品牌,专注为个人开发者用户、中小型、大型企业用户提供一站式核心网络云端部署服务,促使用户云端部署化简为零,轻松快捷运用云计算。飞讯云是国内为数不多具有ISP/IDC双资质的专业云计算服务商,同时持有系统软件著作权证书、CNNIC地址分配联盟成员证书,通过了ISO27001信息安全管理体系国际认证、ISO9001质量保证体系国际认证。 《中华...

CloudServer:$4/月KVM-2GB/50GB/5TB/三个数据中心

CloudServer是一家新的VPS主机商,成立了差不多9个月吧,提供基于KVM架构的VPS主机,支持Linux或者Windows操作系统,数据中心在美国纽约、洛杉矶和芝加哥机房,都是ColoCrossing的机器。目前商家在LEB提供了几款特价套餐,最低月付4美元(或者$23.88/年),购买更高级别套餐还能三个月费用使用6个月,等于前半年五折了。下面列出几款特别套餐配置信息。CPU:1cor...

什么是根证书为你推荐
赵雨润星辰变电影是真的启动了吗?淘宝收费淘宝卖东西收多少手续费快速美白好方法脸部快速美白有什么好方法啊吴晓波频道买粉《充电时间》的节目跟《吴晓波频道》哪个好听?百度手写百度为什么没有了在线手写输入法什么是云平台云平台和云计算的区别是什么?服务器连接异常主服务器连接异常网站地图制作如何制作一个网站地图?网站排名靠前网站排名靠前是否就意味着运营成功?阐述原因去鼠标加速度请问什么是去鼠标加速?
域名查询软件 新加坡服务器 免费主机 BWH 海外服务器 tightvnc 建站代码 个人空间申请 我爱水煮鱼 nerds 美国堪萨斯 网通服务器 深圳域名 发证机构 WHMCS 认证机构 web服务器有哪些 西部数码主机 sockscap教程 中国最年轻博士 更多