信息安全启示录

2020-09-17 14:50:42

漏洞检测工具的兴起,加上供应商尽职调查带来的压力,正在导致非主流技术的大规模企业全面停产。特别值得关注的是,这将对在企业和小型企业B2B开发中采用函数式编程产生影响。

我现在看到,过去10年是新编程工具和基础设施增长的“轻松模式”,许多新的突破性技术被迅速采用。Node、Go和Scala等语言在某种程度上取得了成功,更不用说所有新的云技术、NoSQL技术、集装化和数据处理平台以及它们的定制查询DSL。像Haskell这样的其他语言在解决非常困难的问题的小公司和臭鼬风格的团队中取得了成功。

就在过去的一年里,我发现我们正处于整个行业的巨大变革之中。有新的力量在起作用,这将使现有的软件堆栈钙化,使现有的或新进入者在没有大企业公司支持的大规模协调推动下,极难看到类似的成功。这股力量就是InfoSec和漏洞检测工具的兴起。

像Blackduck、WhiteSource、Checkmarx、Veracode这样的工具大受欢迎,有太多的东西无法列出,同一主题下也有很多不同的变体。在发生了如此多的数据泄露和黑客事件之后,企业不再信任他们的开发人员和SRE来负责安全,因此协议正在自上而下地实现。这不仅仅是在代码扫描方面,在网络扫描方面也发生了类似的事情,这对编程语言的影响较小,但类似地将使服务器堆栈钙化。

这些工具正迅速进入整个行业的SOC2和SDLC政策,如果您的语言或新的基础设施工具得不到它们的支持,您几乎不可能获得以前已经很薄弱的批准来使用它们。这将本已很高的收养门槛提高了很多。正如您可能预期的那样,供应商将只实现对满足其工具盈利能力门槛的语言的支持。您不仅需要为您的语言构建一套现代化的工具才能与之竞争,现在您还需要外部供应商的支持。

也许我们只是把这个领域让给了像微软和甲骨文这样的大支持者的企业工具,反正我们从来没有取得过几个小进展。总的来说,使用这些工具对软件安全来说是一件好事。不幸的是,这个问题不是那么容易回避的,恐怕这就是事情看起来非常黯淡的地方。最大的新趋势是通过供应商尽职调查来执行这些工具。

如果你不是经理,你可能不熟悉供应商尽职调查。基本的想法是,你的客户会给你发来一长串关于你的产品的技术问题,在他们购买你的产品或服务之前,你必须让他们满意地填写这些问题。在我工作的B2B领域,这些列表并不是什么新鲜事,但在过去的10年里已经变得越来越长,现在经常有数百个问题。

最近,我看到越来越多的侵入性问题被问到,有些甚至涉及到团队是如何组织的,但对本文来说重要的是,他们现在都在全面询问漏洞扫描,并且现在经常请求知名漏洞扫描工具的特定输出。这意味着如果你不使用这些工具进行扫描,他们就不会购买你的软件,而且支持的语言很少。

任何有经验的技术经理都能看到这里的自然权衡。当谈到赚钱与使用酷科技相比,酷科技每次都会输。如果你知道没有人会买,用很酷的技术制造很酷的东西,那你就是在烧钱。

我们可能会看到以主流语言为目标的“编译为”函数式编程的死灰复燃,以回避这个问题。我想,尽管额外的构建复杂性和调试问题将阻止这一点成为主流,更不用说漏洞工具寻找特定的模式,并且可能在生成的代码上表现不佳。

像SonarCube这样的项目有一些希望,它可以让用户走到一起,构建定制的插件。函数式编程社区会走到一起来构建和维护这种乏味的技术吗?我有点怀疑。这类工作不是大多数程序员在业余时间会选择做的。同样,漏洞检测不太可能是一个好的目标,不会随着学术论文的发表而一次前进一点。这将需要真正的函数编程狂热分子来创建致力于这一事业的公司或工具。如果您有兴趣提供帮助,请关注OWASP的前10名,因为这份列表为许多信息安全团队带来了关注点。

这会让我们处于什么境地呢?如果我们的社区什么都不做,那么规模较小的以B2B软件运营为重点的夫妻店或以消费者为中心的网络应用程序很可能看不到任何影响,除非静态分析纳入数据保护法。除了这些用例之外,FP将被归类到后端的小盒子里,在那里漏洞不再是什么问题,函数式程序员的数学技能可以带来极大的价值。

我知道还有很多更深层次的方面我在这里没有涉及,如果你想继续讨论,请加入Twitter上的帖子。