(注:原文首发在知乎圆桌“白帽黑客与安全”,另外微信不支持超链接,想查看其中案例细节的朋友可以点击阅读原文)
对于安全漏洞,目前国内的企业都是越来越重视了,各大企业都纷纷建立了各种SRC,从各个安全研究者手里“收购”各类安全漏洞。
拿腾讯来举例子,TSRC从2012年建立至今,每年都发放了大量的公仔奖励,Q币奖励、ipad 和 iphone,当然还有后来的现金大奖。
然而,这也许并不能反映出腾讯对“安全漏洞”的态度。不同报告来源的“安全漏洞”,得到的响应也许是不同的。本人没去过TSRC(假定那边提交漏洞得到的响应和修复是非常非常好的),所以只能拿乌云上的腾讯漏洞数据来做一些粗浅的分析了。
乌云上腾讯的漏洞数量为1393个。其中,已忽略漏洞个数424个,约占比 30%。余下的969个漏洞为已公开或已确认状态。
关于厂商回复
首先来看一个漏洞,500wan彩票站sql注入可导致注册信息泄露(WooYun-2013-043417),当然,重点不在漏洞本身,而是这个漏洞下方的【厂商回复】那一栏,算上标点啥的,洋洋洒洒5000多字。再看看评论,白帽们的一片叫好声。恩,我想绝大多数白帽会认为,这才是一个认真在对待“安全问题”的厂商。
基于此,如果【厂商回复】能够一定程度上反映厂商对“安全漏洞“的态度,那么腾讯对待乌云上的“安全漏洞”的态度怎么样呢?
首先,我们来看看2010年-2015年,腾讯对于969个已公开或已确认状态的漏洞的回复情况,这里我们画个图,纵轴表示每个漏洞中【厂商回复】的长度,横轴则是2010-2015的每个漏洞。不同年份采用了不同颜色的点来表示。图如下所示:
从上图可以看出,2010年-2011年,腾讯对漏洞的回复都非常简短,但是总体还是粗线条,说明回复应该都还是手打的,早期的典型回复内容如下:
“感谢结节师大侠的报告”
“感谢爬爬鸭”
“Thanks”
“thx”
到2012年前期,回复长度略有增加,且有一定的长度波动,但是到了2012年后期,回复的内容长度突然出现了断层,并稳定在55~57个字符左右,出现了一条直线。我们来看看这个突然出现的回复内容长度是个什么回复?
“非常感谢您的报告。这个问题我们已经确认,正在与业务部门进行沟通制定解决方案。如有任何新的进展我们将会及时同步。”
这种回复,是不是看着就很讨厌!(至少我是比较讨厌这回复的,看的太多了)而且这种讨厌的回复一直延续到了今天,并且,在2014年与2015年,你可以看到,那条直线变得更直了!!
当然这里还有一个问题,为什么2012年中间的时候,突然腾讯的回复就变成了“固定长度”模式了?
原因其实很简单:腾讯在2012年5月建立了自己的TSRC平台,其后,由于TSRC上收到的漏洞数量增加,忙着处理自己漏洞平台上的漏洞了,乌云上的漏洞回复就只能靠复制粘贴了!
相关依据:
早期出现这个55字回复的漏洞是“腾讯微博存储型XSS漏洞--看我这标题多普通5”,看看该漏洞的时间是在2012-10-17,我们再到TSRC的历史漏洞报告数据上来看看2012年TSRC收到的漏洞报告数量:
可以看到,从TSRC建立开始,漏洞数量基本上是上升趋势,到了10月份、11月份,单月漏洞报告数量已经非常多了。而乌云上,腾讯的“复制粘贴式”的漏洞回复也在这个时候出现了,我觉得这一定不是巧合!
---------------------------------
我们还可以继续解读一下这个固定长度的回复内容:
“非常感谢您的报告。这个问题我们已经确认,正在与业务部门进行沟通制定解决方案。如有任何新的进展我们将会及时同步。”
这段回复在腾讯的漏洞里随处可见,包括我们团队 @张瑞冬 发现的这个 微信红包随便领(发家致富奔小康,日薪百万不是梦) 漏洞中也是得到了同样的回复。
我们看最后那一句:“如有任何新的进展我们将会及时同步”,然而,什么叫做“及时”同步呢?在这个漏洞的响应中,完全看不到“及时”二字,你会发现,2015-01-11 当天被修复的漏洞,腾讯并没有将这个“已修复”的进展“及时”同步到乌云上,而是在2015-03-05日才告知“漏洞已经在报告当天修复”!
想知道为什么是2015-03-05日才告知“漏洞已经在报告当天修复”吗?
因为,这个漏洞已经进入公开流程,3月5日那一天乌云官方微博发布了该漏洞,媒体随之转载,腾讯这才匆忙之下,补上了这条回复!
不难看出,没有一点外界压力的时候,这完全是消极怠工啊!
----------------------------------------------------------------------------
关于 Rank
上面说到的是腾讯在建立TSRC之后对漏洞的消极回复。那么这种现象,在其它SRC上是否也有所体现呢?当然,不一定是用的“消极回复”这一招,其它的一些招数,例如:“故意压低Rank值”。
在乌云上,Rank是厂商衡量漏洞重要性或危害性的一个指标,保证正常衡量一个漏洞的危害,是对漏洞报告者的尊重,也是对“安全漏洞”本身的一个态度!
当然,一般来说大厂由于有相关的安全人员,在衡量漏洞Rank这块应该还是挺专业的。假定一段时间内,所出现的漏洞危害值是在高危与低危之间浮动的,如果一旦评价出现衡量标准失衡,故意压低Rank值的情况,那么应该从Rank值的走势上看出一些端倪!
以搜狗为例,乌云上有239个搜狗的漏洞,已确认或已公开的漏洞有190个。我们爬取乌云上这190个搜狗漏洞的Rank值,依然是逐年绘制出来,得到一个线图。
从上图不难看出,SGSRC建立后不久,乌云上漏洞的Rank值突然降低到了0~5分的水平,而在建立之前,则一直浮动在5~10之间。
当然,0~5分的这段时间里,搜狗在漏洞的【厂商回复】一栏里,一直在重复下面这句话:
“收到,感谢支持,欢迎到SGSRC提交漏洞!”
个人猜想,或者不少白帽也可能会这么认为:“SGSRC想通过压低Rank来迫使白帽子到自己的SGSRC上提交漏洞!”
当然上面这个数据,要排除一种可能,就是:那段时间内,确实都是低危漏洞。
然而,我们从里面挑一个2分的漏洞看看:搜狗浏览器Android最新版UXSS(不受系统版本限制),这个应该不止两分吧。。
再看看另外一个2分的:搜狗分站点命令执行,命令执行了,怎么能够是2分呢?
厂商的回复的原因是这样的,这句话换个姿势理解大概就是:“不来SGSRC,就给你2分!!”
值得庆幸的是,从图上看,最近搜狗的评分好像又正常一些了。
关于漏洞审核
正好微博上看到 @黑哥 说的这么一段,这也正是我想吐槽的。
昨天刚看到乌云上,腾讯忽略了一个漏洞:一个被用来抓取访客QQ的XSS(一),虽然被忽略这个漏洞,是个危害看来比较小的漏洞,但是却能够反映出一些问题!
(围观群众:你能不能不要老是黑腾讯!!)
1、从报告标题可知:这个漏洞已经是被一些产业在利用的(最近知乎上有一篇抱怨百度全家桶的帖子里,有提到,从百度点开一个网页,然后QQ就被骚扰了,其实与百度没什么关系,就是因为这类漏洞)。既然是正在被利用的,那么应该更加重视才对!然而,这个漏洞被忽略了。
2. 是漏洞不存在才被忽略的吗?答案:并不是。
这个XSS是一个通过修改COOKIE来实现的DOM XSS,笔者测试了一下。
打开页面:http://comment5.qq.com/comment_user2.htm?uin=1&uid=11090&ref=&furl=
F12打开控制台:输入 document.cookie="uin="><img src=1 OnerrOr=alert(1)>; domain=qq.com; path=/";
F5刷新页面:
看样子,这漏洞应该还是存在的,就这么轻易的被忽略了,说明了什么?说明审核人员并没有对这个漏洞进行足够的重视!
3. 也许真如黑哥微博所说,COPY一下作者提交的URL,打开,发现弹了,漏洞存在,但是这个直接打开没弹,那就是不存在了。
虽然这个“安全漏洞”是个小漏洞,但是不能因为漏洞小,而不用心去“看待”!尤其是这个小的“安全漏洞”已经被真真切切的被利用的情况下。说到底,还是个态度问题。
附:原报告中有两个漏洞,前者似乎已经被修复了,但是后者并没有被修复。后者是一个基于COOKIE的DOM XSS漏洞,单个使用并不能直接构成危害,但是结合一个可以修改QQ域下的COOKIE的漏洞,就可以被利用了(原报告中就是这么利用的)。
结语
一个漏洞的发现,可能是1分钟,但也有可能是1个月,甚至更久,不论是提交到乌云还是提交到SRC,这是发现者的自由。然而作为漏洞“享用者”的厂商,应该慎待每一个漏洞,送上一句发自内心的感谢!
头埋一夜,漏洞并非天上来,
手敲十字,感谢不用一分钟!
本文始发于微信公众号(乌云漏洞报告平台):国内科技互联网企业通常是怎样看待安全漏洞的?
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论