安全众测或者说安全众包已经不是新鲜事物,自从2013年主要的安全众测平台(例如HackerOne、Bugcrowd和Synack)推出以来,就作为一种消耗性企业安全服务存在。这些平台逐渐挑战传统的渗透测试方法,并开始蚕食其市场份额。此后7年间,涌现了更多的安全众测平台和竞争对手,争夺这一不断增长的市场。
但是,众包安全真的是解决传统安全渗透测试弊病的灵丹妙药吗?是否会引发更多问题?在解答上述问题之前,让我们简单回顾一下传统渗透测试实际存在的问题。
持续开发与交付:胶片相机拍不了视频
传统的渗透测试服务的周期往往较长,类似汽车的年检,显然与当今的企业敏捷应用开发和网络安全威胁发展速度并不匹配。许多企业每周、每天或以连续交付方法进行应用部署,不断更改其环境和应用程序,因此会持续引入漏洞、配置和违规问题(甚至淘宝近日出现的测试包弹窗重大产品事故也可归入此类)。
在这种数字化、敏捷化环境下执行的渗透测试,只能在特定时间点生成安全态势的快照(渗透测试的公认定义)。算上起草报告,进行质量检查并交付给客户所需的时间(通常是数周),正式测试报告生成的同时就已经过时了,因为在此期间客户环境已经发生了多次变化,不再代表最初测试的内容。
时间限制:萝卜快了不洗泥
那些价值连城的或者威力惊人的漏洞的发现,往往是一门艺术,是大师级作品,但是传统渗透测试服务会有商业上的诸多限制,其中最显著的就是交付时间限制。渗透测试项目留给测试人员的时间往往非常紧张。一个网站的渗透测试项目往往只有5天时间,其中一天还要用来撰写报告,这意味着渗透测试人员没有太多时间深入研究探索web应用的每个角落,经常需要根据项目周期做出取舍,忽略很多耗费时间的问题。
技能错位:肛肠科的眼科大夫
安全人士的技能之间存在差异和错位,渗透测试人员也不例外。有些人比较擅长测试移动应用程序,有些比较擅长测试API安全性和Web应用程序,在人才紧缺的现实中,往往会出现本段标题描述的情况。而且,由于网络安全技术是如此的多样化,即使在细分的专业渗透测试人员中,技能方面的差异依然不小,您经常会遇到两个不同的渗透测试人员测试同一应用程序并发现不同漏洞的问题。考虑到如今招聘熟练安全技术人员异常困难,企业在克服技能错位方面没有太多筹码。解决此问题的一种战术解决方案是每年“轮换”渗透测试供应商,但是,由于渗透测试的人才库如此之小,即使你更换渗透测试供应商,最终给你做测试的也很有可能是同一个人。
渗透测试综合征:比风险更大的是垃圾风险
所谓渗透测试综合症有些类似“卖拐”,会让企业安全状况看起来比实际情况更糟糕。渗透报告的一种常见做法是讨论发现的问题,尤其是在找不到关键问题的情况下。一些鸡毛蒜皮的安全问题被夸大标注成“中度”甚至“严重”问题,最后渗透测试报告变成了“垃圾风险”报告,误导或者浪费企业的安全资源,而不是提升企业的安全能力。
商业模式:一把昂贵的锤子
最后,传统渗透测试在业务模型上有一个重大缺点:企业需要养一个全职渗透测试人员,而且你还必须支付给他们具有竞争力的薪水(如果你可以给出没有竞争力的薪水而这个人却没有离开,说明你的钱白花了),此外企业还需要拨出专项预算,包括渗透测试所有设备和应用的许可证(例如Burpsuite Pro许可证等),并为渗透测试人员提供必要的技能培训,慷慨资助他们去参加各种安全会议提高技能和兴奋度,这对于企业来说无疑是一笔不小的开支和负担。
安全众测如何解决这些问题?
安全众包/众测采用一种灵活的、开放性的渗透测试业务模型来解决上述问题。企业不需要供养专门的测试人员,取而代之的是一群“自愿”安全研究人员注册并尝试发现企业资产中的漏洞,按件计酬。如果他们什么也没找到,企业就不必支付任何报酬。
安全众测解决的第一个问题是渗透测试的“时间限制”。对于渗透测试人员来说不再只有5天的时间来钻研一个应用程序,众包的渗透测试通常是无明确时间限制的,这意味着您可以花数周甚至数月的时间来寻找难以捉摸的关键漏洞,而且效果显著。
据一位成功的众包渗透测试人士介绍,经过数周的漏洞搜寻,他在一家市值数十亿美元的纳斯达克上市公司中发现了一个严重漏洞,可导致超过1亿个客户详细信息泄露。由于漏洞的复杂性,没有任何一个传统渗透测试专家有时间对其进行深入调查(他们过去依靠传统的渗透测试却并未发现此漏洞证明了这一点)。
此外,渗透测试的这种开放式方法也可以解决前文提到的有关连续交付和时间点测试的第二个问题。众包安全能够为持续变化的基础结构提供持续不断的渗透测试(前提是你的资产能够吸引足够多的安全人员“入池”)。
这里引出了第三个问题:技能和商业模式。众包安全平台最大的商业模式优势就是没有全职员工。加盟的渗透测试自由职业者自备干粮,平台无需支付薪水,甚至不需要支付设备材料费。为了弥补技能短缺问题,他们只需为特定项目匹配更多自由渗透测试人员,安全问题的解决效率最终变成了注意力经济游戏,类似淘宝的直通车,只要舍得砸钱,项目人气越高,发现和解决的问题也越多,越快。不信你看看特斯拉。
最后,安全众包通过结果驱动的激励机制解决了渗透测试综合征问题。如果您提交的问题并不是真正的漏洞,并且没有提供概念证明,则将被忽略。更糟糕的是,你将因为浪费客户时间而被扣除积分甚至被平台开除,因此,在安全众包平台上,渗透测试人员提交的更多是可利用漏洞,而不是充斥“垃圾风险”的报告。
安全众测的四个“大坑”
虽然安全众测解决了传统渗透测试的诸多弊端,但是企业应当清醒地认识到,安全众包不是万能神油,甚至不是渗透测试的替代方案。
今天的安全众测仍然存在许多问题,其中一些与商业模式基因有关的先天问题尤为棘手:
1. 内部与外部测试
安全众测不适合那些需要在公司内部进行的测试。在常规渗透测试中,一名安全顾问亲自来到企业客户的办公室,将笔记本电脑接入企业即可开始测试。在众测的情况下,这是不可能的,因为众测需要设置复杂的VPN和/或代理混合设置,并且网络必须能够维持数十个(甚至数百个)并发的测试负载。这就是到目前为止,大多数安全众测业务都集中在Web安全领域的原因,因为web应用安全测试可以从任何地方发起,访问成本和复杂性都相对较低。
对于物联网和智能硬件设备,安全众测意味着厂商需要向每个测试人员都提供一个产品(例如智能跑步机),这可能会是一笔不小的开支,而且,如果测试人员遍布全球,测试成本还将继续飙升。
2. 资源池有限
在如今全球性的安全人才荒中,进攻性安全领域也遭受着技能短缺的困扰。安全众测虽然理论上可以利用全球的安全人才资源库,但实际运行中资源库也是有局限的。
如果你能抽空调查一下目前市场上几个主流的安全众测平台,就会发现一个“惊喜”——赏金榜单几乎让一小撮高手给霸占了。
虽然安全众测平台的营销宣传资料会鼓吹坐拥全球数千名顶级安全专家,但骨感的现实是,如今平台上发现的大多数漏洞都被一个不超过二十名研究人员小圈子给垄断了。这就产生了资源问题,安全众测公司需要持续增长,因此需要更多的客户,发布更多的测试项目,而众包公司也需要不断增长的风险投资。平台越大,测试需求越多,就需要更多的渗透测试人员,但遗憾的是,渗透测试人力市场已经是个饱和存量市场,所有能上场的选手都已经在场上了。你无法强迫更多自由职业者去参加你的测试项目,因为参与的人太多带宽已经不够用了。
3. 众包渗透测试的成本
尽管安全众测公司将成本作为一个卖点,但从任何角度来衡量,众包渗透测试都谈不上便宜。今天,外部网站的渗透测试服务费用是项目天数乘以顾问的每日费用。
让我们以每日顾问费1200美元,为期五天的传统网站渗透测试项目为例,你需要支付的总费用约6000美元。但是如果你选择安全众测,最终需要支付的平台费用可能会是该费用的很多倍。除此之外,您还必须为发现的每个漏洞付出奖励,因此,发现的漏洞越多,您付出去的钱就越多,这意味着您的成本很快就会失控。
这里有一个“成本可控”的特例需要注意:Synack(安全众测平台之一)只收取平台费,所有漏洞奖励支出都由平台负担。但由于进入门槛很高,这种模式隔离掉了大多数中小企业。
目前,联邦制是中小型企业的唯一选择。联邦制的平台成本和漏洞奖励支出更低,虽然甲方企业会开心,但是更少的收入对研究人员(尤其是高水平研究人员)的吸引力也会随之下降。
4. 共享黑客经济?
虽然共享经济这个词被用烂了,但是安全众测本质上确实是共享经济,你可以称之为威客经济或者溯源其英文名称——Gig Economy。人们很容易联想到一些大众耳熟能详的共享经济例如Uber和Airbnb之类,共同特点都是系统性地(甚至是更加残酷地)剥削那些放弃了传统福利和保障(例如退休金和病假工资)的自由职业者。
但是,有一个关键的区别:共享经济中的平台,例如共享出租司机,实际上是小时工,只要提供服务就可以获得与工作时长匹配的收入。但从事众包渗透测试的安全研究人员,他们就像非洲草原上的猎豹,无论多么幸苦,如果没有发现漏洞也将“颗粒无收”。事实上,大多数渗透测试人员一天甚至数天都发现不了一个漏洞,而且他们没有养老金。
不仅如此,参与安全众测,你还需要自费购买所有工具,例如一部越狱的iPhone、一台专门安装Kali Linux的便携电脑、一个Burp Suite Pro软件许可证等等。对于众包的安全公司而言,这确实可以节省大量成本,因为它们“有效”解决了渗透测试服务公司所苦苦挣扎的商业模式问题,但副作用是对专业劳动力的严酷盘剥。
总结
最后,让我们说句公道话,尽管传统渗透测试和安全众测各自存在很多问题,但这两种方法确实存在互补性。没有一种可以解决所有问题的进攻性安全测试“快餐”解决方案,在今天这个安全态势和威胁异常严峻的大环境中,每位企业CISO都应当意识到,最佳实践和方法是自身摸索出来的,不是(用钱)砸出来的。