有关ssl-pinning的总结

发现问题

在使用charles对FaceBook/Twitter进行抓包时,所有的请求最终都失败了。第一感觉是手机上安装的HTTPS证书被删除了,到设置中检查发现证书没有问题,手机上其它APP的https请求也能够正常抓取。看来应该是碰到新情况了,Google了下,了解到FaceBook/Twitter等应用使用了一种名叫ssl-pinning的技术来防止中间人攻击。

HTTPS

http与https

这张图比较形象地道出了HTTPS实际上是由HTTP协议与TLS协议组合而成的一个协议。
TLS协议作用于HTTPS建立前客户端与服务端通信建立信任的过程,其过程与TCP协议中的三次握手过程较为相似,有些同学可能会将二者混为一谈,注意二者本质上是完全不同的。
HTTP协议作用于客户端与服务端的正式通信过程,但二者通信的数据是被TLS协议最终生成的密钥加密过。


HTTPS建立的完整过程

客户端与服务端经过通信交换获得了三个随机数,通过这三个随机数,客户端与服务端能够使用相同的算法生成后续HTTP通信过程中对称加密算法使用的密钥。也就是说HTTPS协议中非对称加密只是在协议建立时使用,协议建立后使用的是对称加密。

中间人攻击

市面上的各种抓包软件的实现原理就是中间人攻击。TLS建立时客户端生成的随机数1、服务端生成的随机数2都是明文的,只有随机数据3使用非对称加密技术加密。中间人攻击的关键就是截获服务器返回的证书并伪造证书发送给客户端骗取信任,获取随机数3,进而达成盗取信息的目的。

那么客户端为什么这么容易被骗呢?客户端主要通过下面三种方式来校验证书的合法性:

  • 查看证书是否过期
  • 服务器证书上的域名是否和服务器的实际域名相匹配
  • 校验证书链

市面上大量的应用在证书检验方面做的都不够,还有很多的应用完全末做验证。而即使是完整的校验了整个证书链体系,中间人攻击同样还是可以通过在终端上手动添加信任根证书的方式发动。这也正是Charles/Fiddler等抓包软件在抓取HTTPS协议数据前,要求在终端上安装证书的原因。这个证书可以确保伪造的证书通过客户端的证书链校验。


中间人攻击

ssl-pinning

那么开篇提到的FaceBook/Twitter是如何做到防止Charles/Fiddler等抓包工具中间人攻击的呢?原来它是在开发时就将服务端证书一块打包到客户端里。这样在HTTPS建立时与服务端返回的证书比对一致性,进而识别出中间人攻击后直接在客户端侧中止连接。
ssl-pinning技术在AFNetworking中已经得到支持,参照这篇文章

突破ssl-pinning

有矛就有盾,开发者已经突破了ssl-pinning的限制达成了Facebook/Twitter的抓包需求。其实现的基本原理很简单,客户端不是会做两个证书间的一次性校验吗,那么就通过hook的方式将此次校验的结果返回true或者干脆不让其做校验。当然这种做法只能在越狱环境下实现,但对于抓包来说,这已经足够了。该方案已开源,其实现的基本原理在这篇文章中.

总结

没有破解不了的应用,只有破解成本高到无法承受的应用,愿这个世界更美好。。。。。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容