证书什么是根证书

什么是根证书  时间: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

云基Yunbase无视CC攻击(最高500G DDoS防御),美国洛杉矶CN2-GIA高防独立服务器,

云基yunbase怎么样?云基成立于2020年,目前主要提供高防海内外独立服务器,欢迎各类追求稳定和高防优质线路的用户。业务可选:洛杉矶CN2-GIA+高防(默认500G高防)、洛杉矶CN2-GIA(默认带50Gbps防御)、香港CN2-GIA高防(双向CN2GIA专线,突发带宽支持,15G-20G DDoS防御,无视CC)。目前,美国洛杉矶CN2-GIA高防独立服务器,8核16G,最高500G ...

iON Cloud七月促销适合稳定不折腾的用户,云服务器新购半年付8.5折,洛杉矶/圣何塞CN2 GT线路,可选Windows系统

iON Cloud怎么样?iON Cloud今天发布了7月份优惠,使用优惠码:VC4VF8RHFL,新购指定型号VPS半年付或以上可享八五折!iON的云服务器包括美国洛杉矶、美国圣何塞(包含了优化线路、CN2 GIA线路)、新加坡(CN2 GIA线路、PCCW线路、移动CMI线路)这几个机房或者线路可供选择,有Linux和Windows系统之分,整体来说针对中国的优化是非常明显的,机器稳定可靠,比...

蓝速数据(58/年)秒杀服务器独立1核2G 1M

蓝速数据金秋上云季2G58/年怎么样?蓝速数据物理机拼团0元购劲爆?蓝速数据服务器秒杀爆产品好不好?蓝速数据是广州五联科技信息有限公司旗下品牌云计算平台、采用国内首选Zkeys公有云建设多种开通方式、具有IDC、ISP从业资格证IDC运营商新老用户值得信赖的商家。我司主要从事内地的枣庄、宿迁、深圳、绍兴、成都(市、县)。待开放地区:北京、广州、十堰、西安、镇江(市、县)。等地区数据中心业务,均KV...

什么是根证书为你推荐
赛我网赛我网(cyworld)怎么进不去?找不到光驱为什么我的电脑光驱找不到?安装程序配置服务器失败安装用友T3出现安装程序配置服务器失败是怎么回事拂晓雅阁有什么网站是学电脑技术的`?iphone越狱后怎么恢复已经越狱的iphone怎么恢复到原来的系统腾讯文章怎样才能在手机腾讯网上发表文章?xv播放器下载xv播放器怎么下载?雅虎天盾高手进来看看我该怎么办 新装的ie8 内存使用率达到100%了云挂机快手极速版后台云挂机辅?助各位用了吗?在哪找的?声母是什么22个声母是什么
百度域名 域名转让网 中文国际域名 vps是什么意思 如何注册中文域名 smartvps 免费申请网页 美国主机网 20g硬盘 网通代理服务器 e蜗牛 idc查询 Updog 美国独立日 服务器是干什么用的 空间登陆首页 网页提速 网购分享 备案空间 阿里云官方网站 更多