证书什么是根证书

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

DediPath($1.40),OpenVZ架构 1GB内存

DediPath 商家成立时间也不过三五年,商家提供的云服务器产品有包括KVM和OPENVZ架构的VPS主机。翻看前面的文章有几次提到这个商家其中机房还是比较多的。其实对于OPENVZ架构的VPS主机以前我们是遇到比较多,只不过这几年很多商家都陆续的全部用KVM和XEN架构替代。这次DediPath商家有基于OPENVZ架构提供低价的VPS主机。这次四折的促销活动不包括512MB内存方案。第一、D...

GreenCloudVPS$20/年多国机房可选,1核@Ryzen 3950x/1GB内存/30GB NVMe/10Gbps端口月流量2TB

GreencloudVPS此次在四个机房都上线10Gbps大带宽VPS,并且全部采用AMD处理器,其中美国芝加哥机房采用Ryzen 3950x处理器,新加坡、荷兰阿姆斯特丹、美国杰克逊维尔机房采用Ryzen 3960x处理器,全部都是RAID-1 NVMe硬盘、DDR4 2666Mhz内存,GreenCloudVPS本次促销的便宜VPS最低仅需20美元/年,支持支付宝、银联和paypal。Gree...

爱用云互联租用服务器租美国、日本、美国、日本、购买2天内不满意可以退换,IP可免费更换!

爱用云互联怎么样?爱用云是一家成立于2018年的老牌商家旗下的服务器销售品牌,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端...

什么是根证书为你推荐
天天酷跑刷积分教程葫芦侠3楼几十万的积分怎么刷天天酷跑积分怎么刷伪静态什么是伪静态伪静态有何作用申请证书申请毕业证书天天酷跑刷金币天天酷跑怎么刷金币?网管工具网吧管理软件都有哪些?blogcn哪种博客更好...sina.baidu.blogcn还是.............?blogcnblogcn的博客可以搬家到哪些网站?网站地图制作网站地图 怎么制作?freebsd安装FreeBSD下如何安装ports的方法freebsd安装FreeBSD系统NetBSD系统OpenBSD系统 这三个系统安装方法相似吗?用什么方法装哦?
asp虚拟空间 fc2新域名 个人注册域名 租服务器价格 bluehost 国内永久免费云服务器 免费ftp空间 sub-process 阿里云代金券 免费个人空间申请 网站cdn加速 老左来了 国外代理服务器软件 linux服务器维护 免费智能解析 网通服务器托管 网页加速 域名和主机 谷歌搜索打不开 hosts文件修改 更多