有关山石科技的SSL解密Feature

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




前些天,读者在我的帖子留言,问山石如何实现SSL解密和扫描。真的能实现吗,这已经不是我第一次听到这种传言了。而且传言PAN以及Fortinet也有类似的feature。

我可以想到的几种理论上的中间设备实现SSL监听的方式

1.暴力破解

2.中间设备的证书配置到客户端的信任证书列表

3.中间设备部署Server的私钥和证书

4.利用SSL的协议漏洞hack。

在老韩的文章“进化的艺术——Hillstone山石网科SG-6000-G5150产品评测”中看到如下的段落:

“妄想使用Gmail等采用HTTPS登录的Webmail逃避检查也是徒劳的,UTM  Plus内置的SSL代理可以截断所有单向验证的SSL请求,对解密后的内容进行控制、审计。也就是说,利用这个代理,一切基于SSL隧道的应用协议都被纳入控管范围,不会再有漏网之鱼。不过,我们也注意到内容审计功能开启时,客户端并不会得到任何提示,山石网科称会在产品正式发布时以告警提示和法律免责申明的方式加以完善。” 可见Hillstone是以Proxy方式实现的。

对于前面提到的假设,方式1可以排除,否则网络安全的根基都没有了,2012来临了。方式3可以排除,因为该feature是对应于outgoing traffic的,sina和sohu不会把私钥部署到MITM上。1,3被排除只有方式2,4了。

如果是方式2则需要在用户的PC部署MITM的证书到信任的CA列表中。MITH伪造server证书欺骗一下Client,当然,如果client端已有先前的证书,发现签名者改变应该会报警。手工到用户的PC上部署是不可能的,必然是自动推送的方式。要验证,我猜,可以看看在首次经过Hillstone盒子时浏览HTTPS页面的时候,用户是否收到了浏览器给出的是否信任Hillstone证书的提示。如果有则表明采用方式2. 我本人倾向于这种方式实现SSL解密。

但是这种方式带来一个问题,如果用户不信任中间设备又怎么办,block吗?这岂不是xx用户吗。且老韩的文章中“客户端并不会得到任何提示”让我费解,似乎又不是使用的方式2.是否是测试过程有问题,例如使用的PC已经预先load了MITM的证书呢,希望韩哥再重装系统试验一下。

方式4的实现是有可能的,主要是攻击证书机制。

实际上最近业界确实有人利用攻击SSL证书技术的漏洞,而实现了破解。证明这种方式是可行的。有兴趣参照New Tricks For Defeating SSL In Practice(注:笔者暂时还没研究此文)。

但如果真是利用方式4实现的,笔者就有些意见了

首先,如果安全厂商发现安全漏洞,正确的做法是公布之,好造福人类,如果利用漏洞来实现feature,不很够意思。

其次,安全界早有共识,隐藏加密算法实现原理的安全方案并不安全。例如以前的DVD加密算法被破解,很大程度上是算法没有被公开review导致的,搬起石头砸自己的脚。同理,如果利用SSL未知漏洞实现feature,漏洞被fix之后feature就不工作了,用户退货该怎么办。提供这样的feature也是不严肃的。

笔者查询了PAN和Forinet的文档,果然有收获。

PAN在其文档“App-ID™ Application Classification Technology Overview”中也提到了类似的特性。同时给出了原理描述如下:

Inserts a proxy into an “outbound” connection where an internal user is connecting to a server, ie. an employee establishing a connection to https://www.wellsfargo.com or an Intranet server. The SSL decryption engine responds to the client as if it was the server and initiates a connection to the server as if it were the client. In responding to the client, an SSL certificate is dynamically created to match the destination server. This certificate will be signed by a root certificate on the forward proxy. To keep the client browser from seeing a certificate error, the root public certificate should be loaded on the client’s browser.

Forinet在FortiOS4的Admin中也提到了实现技术

While the SSL sessions are being set up, the client and server communicate in clear text to exchange SSL session keys. The session keys are based on the client and server certificates. The FortiGate SSL decrypt/encrypt process intercepts these keys and uses a built-in signing CA certificate named Fortinet_CA_SSLProxy to create keys to send to the client and the server. This signing CA certificate is used only by the SSL decrypt/encrypt process. The SSL decrypt/encrypt process then sets up encrypted SSL sessions with the client and server and uses these keys to decrypt the SSL traffic to apply content scanning and inspection.

Some client programs (for example, web browsers) can detect this key replacement and will display a security warning message. The traffic is still encrypted and secure, but the security warning indicates that a key substitution has occurred.

可以看到二者实现原理基本相同,且同笔者猜测的方式2一样,但是问题来了,如果用户不信任MITM怎么办?要是我肯定不信任。一下子想不清楚,可能只有SSL实现者才能给出明确判断,有box的富人可以试验一下,不信任中间设备证书的情况下流量能否继续前进。

总之,笔者也希望国内制造商向国外同仁看齐,一样Open,公布技术运行原理(并非设计原理)。这方面笔者很钦佩Cisco,也是看着Cisco资料长大的。

(1个打分, 平均:5.00 / 5)

雁过留声

“有关山石科技的SSL解密Feature”有21个回复

  1. 老韩 于 2010-01-09 9:31 上午

    苹果叶同志想得太复杂了,“客户端并不会得到任何提示”仅仅指的是行为将要被审计的notice,例如“您的访问行为将来被审计监控xxxxxxx”。
    就如同之前你在评论中所说要“关联语境”一样,我们发出来的内容主要还是要给用户看的,用户一般只看实现效果如何,不关心你怎么实现,再说国内用户谁关心什么证书提示。

  2. cal 于 2010-01-09 9:35 上午

    我当时就在留言里提到
    HTTPS/SSL部分有点误导,需要用户客户端添加证书或者忽略浏览器警告,因为UTM不可能提供真正服务器的证书.
    SSL本身是没有问题的,man-in-the-middle attack并不存在.
    现有的设备一般都是建立两段SSL,然后on-the-fly decrypt/encrypt

  3. tree 于 2010-01-09 1:20 下午

    中国为什么科技不行,市场决定的,中国的客户不关心技术,国内的环境真的不够好啊。

  4. 理客 于 2010-01-09 2:42 下午

    老韩的意思是这个原理本身很简单,我理解这里proxy方式指的是用户本身部署的安全设备做SSL的代理来代替客户管做SSL CA,当然用户有权利也有能力自己解密所有内容,否则作为正常商用的企业安全设备,进行非授权的破解是完全违法的,除了国家国家权力机构在法律授权下的LIF和根本就不管法律的国家间谍机构或者私人黑客组织之外。
    SSL客户端是有能力根据协议发现本来该自己亲自做CA而被别人代做了的
    重商主义的过度泛滥会影响到整个社会对科学技术的态度

  5. appleleaf 于 2010-01-09 5:45 下午

    我的同事以前问过我x公司可以解密SSL,如何实现,我当时就觉得不可能。这次帖子里有有人问同样问题,于是研究了一下。如果属宣传策略则有忽悠人之嫌。
    另外,SSL的MITM攻击理论上有可能的,往往是攻击证书机制,最近好像有一起SSL协议设计的漏洞导致的攻击,不过我没有研究过。

  6. appleleaf 于 2010-01-09 5:48 下午

    另问老韩,我没有用过审计设备,是否正常的审计设备都会给出“您的访问行为将来被审计监控xxxxxxx”之类的提示?这也太搞笑了。

  7. 老韩 于 2010-01-09 7:43 下午

    一般在第一次访问请求出现时要给出提示(HTTP劫持、邮件内容插入等)。没觉得有什么搞笑的,互联网访问行为是个人隐私,未经告知就抓取审计严格来说是非法的。如果产品没有这个简单的feature,估计大企业都不敢选。

  8. 帅云霓 于 2010-01-09 8:02 下午

    韩兄开什么玩笑。你上不了youtube的时候,谁给你提示了?中国最大的违法犯罪集团就是……不说了。大家彼此有数就好

  9. 老韩 于 2010-01-09 8:14 下午

    大家都在助纣为虐而已,所以我一直说是混口饭吃。

  10. 帅云霓 于 2010-01-09 9:49 下午

    哎,可是,又能有什么出路呢?如果让我去搞别的,很可能,对社会的贡献甚至是负数。

  11. wowpaladin 于 2010-01-09 10:39 下午

    如果用户不信任MITM怎么办?要是我肯定不信任。一下子想不清楚,可能只有SSL实现者才能给出明确判断,有box的富人可以试验一下,不信任中间设备证书的情况下流量能否继续前进。
    ———————————————–
    不信任中间证书的用户肯定要被block了,就算不是被设备block,也会被浏览器block掉。通常来说,浏览器里如果报了证书不可信,要不就是忽略,要不就是离开。

    至于你说的用户不接受怎么办?这个应该不是问题。一般来说采用这类技术的企业和机构肯定都是出于保密的考虑。作为员工也好,访客也好,你想用我的网络,就得守我的规矩。不少研发性质的单位都把光驱拆了,USB口堵了,似乎也没考虑过员工是否高兴的问题。

  12. 陈怀临 于 2010-01-09 10:44 下午

    记得清兵入关的时候,我大汉许多贤达人士有人宁愿累死在秦淮河的船上,也不做官或者。。。
    多好的气节和选择呀。。。

  13. appleleaf 于 2010-01-10 12:48 上午

    我等欲望可能有些多了,听说老日,如果公司只配notepad则只用notepad办公。中国人的不守规矩的大大的。

  14. 理客 于 2010-01-10 1:09 上午

    大宋,中国历史上在文人治国,募兵制度,民主自由平等开放等达到最高程度,但大宋为什么死得那么惨?美国的宝贝太多了,如果现在的美国如果没有全球占50%的军事力量,它的这些宝贝很可能会和我大宋当年的下场类似,当然现代社会比当年人道,但手段不同,本质一样,结果类似。看看日本,当年在有望冲击老大美国经济第一的位置的时候,被美国佬立马按到抽筋扒皮,只能强忍被强奸的无奈痛苦郁闷和愤恨背地里偶尔小声磨叽几声。无论哪的老百姓,在涉及一些国家核心策略的时候很多时候是大傻瓜,美国老百姓不别别的国家聪明也无法例外,因为这些策略类似棋类运动中的需要顶级高手考虑的关键步骤,要看出很多步和变化,这远超出了普通棋类娱乐者能力范围,也就是大多数普通老百姓的能力范围,所有有人怀疑历史是人民创造的正确性,而认为历史更多是一些关键的大人书写的。所以美国精英集团在考虑当下美国对外战争的处理上,是非常难的,最怕的是一旦收缩不当,导致成为美国全球的军事能力不断收缩的导火索,那就可能在不久的将来,美国国内的宝贝被外面那些看起来好像还伏贴,但从没忘记如果老大倒了,一定要搞一下的人给搞了。美国的大多数普通小老百姓和我我们是一样的,他们主要管自己每天的柴米油盐酱醋茶,在此类大政治问题上弄点幼稚的活动,民主自由在此类问题上,能帮的忙有限
    从某种程度上,大多数知识分子是软骨头,唧唧歪歪,但是一有几个知识分子硬了,那就是xx,比如曾经那么大的文官曾国藩变成了曾剃头,比如毛主席,小一点的秀才洪秀全

  15. 陈怀临 于 2010-01-11 5:47 下午

    同学们,我把这篇文章的作者改成陈首席了。。。原因不要问,问我也不说。Hillstone的潜水员们,不至于吧。。。

  16. ABC 于 2010-01-11 5:55 下午

    技术讨论也还是要有个尺度,否则很容易陷入麻烦。这个首席还是要想个办法。

  17. 陈怀临 于 2010-01-11 5:58 下午

    目前来看,大家要自觉的不谈政治。另外,不要有迫害妄想症:-)。

    台海目前都是不谈政治。一切以钱为衡量:–)。

    莫谈政治,切记,切记。

  18. yybearer 于 2010-01-11 8:09 下午

    信任和用户体验不能强迫,各不相同。在用户体验和信任机制上提供一些配置手段后第2种方式还是非常合理的。

  19. 理客 于 2010-01-11 10:06 下午

    之前海归到北京的孙博士,技术多好,得了迫害妄想症,可惜了

  20. matterspeakting 于 2010-01-19 7:59 下午

    Tried,MITM。
    you have to trust MITM

  21. ip6 于 2010-05-03 9:06 下午

    SSL协议本身还没有什么严重的安全漏洞吧。
    所谓的SSL解密,无非就是把该设备当做proxy,客户端与它建立SSL连接,而不是与真正的server建连,当然能够解密了。
    SSL加速产品不都是这么做的吗,呵呵。