src 与白帽子,同路人的爱恨情仇

本文最后更新于:10 个月前

诶…橘友们好啊,我是混元形意公众号号主 — 橘子杀手。上个月有个朋友问我发生甚莫事了,我说怎么回事,给我发了几张截图。我一看,哦,原来是有两个团队,一个是网络尖刀,安全团队,一个是携程 src,厂商应急响应平台

事件背景

大约一个月前,一篇频繁出现在我的“看一看”列表中的文章引起了我的好奇:《网络尖刀团队关于终止携程 src 漏洞合作公开声明》,于是我便仔细看了一下内容,比较简短,就是声称其要终止与携程 src 的合作。然后接下来又有一个安全团队 ChaMd5 也声称要与携程 src 终止合作,这两件事在那几天动静还是不小的,围观者也不少。为了强迫自己不蹭热度,养成认真观察、冷静思考的习惯,这篇文章我等了很久才开始动笔。

谈谈 src

如果我没记错的话,乌云应该是早于各大 src 出现的。在我的印象里,一开始大家都在乌云上交漏洞,厂商认领,回应定级,漏洞详情也会在厂商确认之后一段时间公开(这一点其实非常非常激进)。接下来,各大厂商开始着手收购漏洞,建立了属于自己的 src,那么就有一段时间各家 src 是与乌云并存的,同时也出现过“挖到漏洞,到底直接交给 src 好还是交给乌云这种第三方平台好”的争论。再后来乌云无了,白帽子手里的漏洞,有 src 的交给 src,没有 src 的可能都不挖了,或者卖给黑产了…

再后来,有些厂商通过 src 对漏洞进行完整地闭环(调整自己安全产品的策略、插件、SDL 缺漏等等),慢慢地把安全建设做得越来越好,src 发现的漏洞漏洞也越来越少,奖金也越来越多,活动、礼物也很足,风评也越来越好,白帽子都愿意与这种霸道总裁型的 src 打交道:不多 bb,收洞打钱就完了。

再然后呢,厂商对白帽子变得又爱又怕的,爱的是能够协助自己发现漏洞;怕的是白帽们毫不约束自己行为,懒得看法律条文和平台,按自己的行事风格办事;也有不法分子假借安全测试之名行黑产之实(来,骗!来,偷袭!)伤害厂商的感情,还败坏了白帽们的名声。所以就有了后面的所谓 “白帽子协议”,限定了白帽们测试的范围:哪些事可以做,哪些地方不能碰(点到为止,要讲武德)。

到现在,我感觉某厂商安全做得到底好不好,或者说位于哪一个阶段,就可以通过 src 的状态猜一猜,一般都能猜个八九不离十,角度其实非常多,我举几个例子:

  1. 比如相同的研发相关的漏洞是否经常出现这个维度,可以看出 SDL 做得如何,有个很明显的特征:是否经常可以挖到相同的研发相关的漏洞,比如老是出现类似的 xss。
  2. 再比如一个是漏洞是否有闭环这个维度,可以看出基础安全建设位于初级阶段还是初级阶段基本完成,有个很明显的特征,自动化工具(比如巡风或者 AWVS)容易发现的漏洞,是否经常出现:比如 redis 未授权访问/es 未授权访问。
  3. 再再比如一个是未授权的服务是否开在了常用的端口这个维度,可以看出他们是否有端口规范管理,如果经常出现这样的漏洞,那肯定是没有的。
  4. 再再再比如一家 src 给的钱很少,甚至运营都不咋用心,那么它的安全建设一般不够好,因为花钱买到的漏洞,反馈到安全建设中,价值至少要平衡,所以什么没信心花大价钱去收购漏洞。给的钱多的一般都比较有信心,安全建设做得还算过得去,除非它真的比较有钱。。。

所以如果你经常挖一家的漏洞,那么你会对这家企业的安全现状有一定的了解。

你看,上面说的只是白帽子自己通过自己挖到的漏洞能够猜测出的结论。所以如果乌云还在的话,那么多漏洞详情公开,对于白帽子来说当然不错,因为可以借鉴、学习;但是对于企业来说,很容易暴露一家企业的安全状况,这显然并不是什么好事情,尤其是国内现在安全建设做得很好的企业并不多,所以,我感觉大多数厂商都不喜欢乌云,也会出于各种原因,表面上忽略,背地里修复。

我举个例子,比如我挖到了阿里某分站的 sql 注入,成功拿到数据库权限,但是我没有执行拖库,就列了一下数据库的表名来证明我拿下了。接下来我提交给乌云,阿里也迅速出面认领了,经过紧锣密鼓地响应之后,漏洞修复完毕。但修复完毕之后,漏洞详情被公开,那么大家就都知道阿里的数据库的字段信息。往往厂商不太会去修改数据库名称,字段,因为涉及到多方业务使用,推进起来特别麻烦。还有像 DNS 域传送漏洞(尤其是内网系统的域名),甚至内网很多重要系统都是未授权的,由于各种原因也没法加验证,这类漏洞证明公开的结果带来的次生灾害等同于一次信息泄露的漏洞。以后只要挖到 ssrf,本来是个高危,然后去乌云查一下这家企业有没有“著名”的内网未授权重要系统,如果有,那么定级就很容易升级到严重。

所以我在上面说,乌云的做法相当激进,在当时被关闭恐怕也是命中注定,真的非常遗憾。至于这个原因是不是乌云被关闭的最核心的原因呢?这篇文章重点不在这,就不多讨论了。

谈谈白帽子

说完 src,接下来谈谈白帽们,这里为了说起来方便,我们就不纠结概念了,“白帽子”的范围就限定在那些给 src 提交漏洞的人好了。

那么不管是在乌云一统天下的时期还是与 src 并存的时期,其实都存在的问题是,白帽子提交的漏洞,是低危还是严重到底由谁说的算呢?白帽子定?肯定不可能;乌云定?扯淡,厂商定?似乎也不太公平。一开始交给乌云,白帽子自己定级,厂商评定,如果厂商耍赖,等到漏洞详情公开之后,群众的眼睛是雪亮的,大家都会指责厂商的不地道:

如果厂商耍赖的次数越来越多,大家就都不愿意提交了。

那到现在的 src,白帽子对漏洞的定级权就更小了,厂商完全可以用“内部已知”或者“重复漏洞”打发白帽子,要证据?提案可以伪造嘛。所以这完全看厂商的素质,但是大部分 src 都不会故意降级扣钱,因为这个真的是很 low 的事情,没必要去做。

所以啊,白帽子与厂商的地位就是有差别嘛,话语权一开始就在厂商手上,厂商是甲方,白帽子是乙方。虽然现在白帽子的地位已经比之前高很多了,有时候甚至都超过厂商了,厂商也不敢轻易得罪白帽子。所以甲方虽然地位比较高,但是也不见得就能舒舒服服地等审核漏洞,随便打发一下白帽子就行,维护与白帽子的关系是很多平台运营的重点之一;并且即使 src 的规则对不同漏洞的评级和奖励写得非常清楚,喜欢扯皮的白帽子也不少,各家 src 备受其扰。没错,会哭的孩子有糖吃,但是经常哭的孩子可就没人喜欢了。

对于乙方来说,难道白帽子就只能任 src 宰割吗?其实也不见得是这样。我支持白帽子维护自己的权益,毕竟也是实实在在地用劳动力换钱。那么如果你觉得某家 src 很抠又爱耍赖,去别家挖就好了;如果你觉得国内甲方都抠,去国外挖就好了,大家又没签什么合同,很自由。白帽们心里其实也很清楚,到手的钱 = 单价 * 数量。有些甲方的漏洞就是好挖,因为安全建设还在初期阶段,漏洞一堆,虽然便宜但是好挖;有些 src 虽然给的钱一个顶其他家 5 个,但是难挖得要死,专门挖他们家的漏洞可能一个月都开张不了。并且 src 往往只是一个很小的部门,甚至是一个小组,作为这样一个在企业里地位本身就不高的团队来说,预算不能张口就要,真要与国际看齐,给白帽子更多的钱,预算不够了怎么办呢?所以不同的 src 之间(国内厂商与国内厂商之间、国内厂商与国外厂商之间)给的钱不一样我觉得应该很好理解才对。

事评

回到这次冲突上来(虽然我对冲突的细节不太了解),如果“网络尖刀”没无理取闹的话,我个人还是挺赞赏“网络尖刀”的拒绝合作声明(虽然从来没听谁说过“这个甲方很傻比我不赚他的钱”…),他们能够勇敢地争取自己的权益,觉得不合理就不合作,很正常。

但是,就维护利益的方式来说,我对所谓的 “白帽自律委员会” 表示悲观,涉及到各方利益的事情,光凭一委员会就想解决真的很不现实,毕竟就目前来看,这个委员会更多代表的是白帽们,src 若不参与,慢慢就变成自嗨了,甚至可能进一步激化双方之间的矛盾。

最后,白帽们是可以宣称不挖某家的漏洞,大不了不赚这个钱了;或者说真的只要胆子大,暗地里把挖到的漏洞卖给黑产,变身为黑帽,赚的钱也会更多,但是这要背负道德与接受法律惩罚的压力,说不定什么时候就进去了;而厂商当然也可以高调地说“你们爱挖不挖,不挖拉倒”。但是,双方本可以双赢,何苦变成双输的局面呢?白帽子应该努力提升自己的技术,挖到真正高价值的漏洞,想练技术的练技术,想搞钱的搞钱;src 不要高高在上的,应该维护好与白帽们之间的关系,如果可以就多给点钱拿钱砸,没钱的话多玩暧昧,整点小礼物或者没事多关心关心白帽们,大家都愿意与 src 玩,src 这个平台才能在安全建设中发挥更好的作用。


安全圈要以和为贵
要讲武德
不要搞窝里斗
谢谢朋友们!


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!