作为一个完全堆栈的云本机(AWS、Azure和GCP) polyglot (Rust、Golang、Python和Java)微服务开发人员,我面临的一个棘手的问题是,与单一语言(例如Java)相比,多技术框架的使用是否增加和改善了整体安全态势?
总的来说,使用单一语言/技术/框架还是使用多种语言/技术/框架更安全?
发布于 2021-01-21 16:27:31
除非语言本身在安全性方面有其具体的缺陷,否则主要关系到开发人员对各自语言的流利程度,他们对安全所需概念的理解程度,以及他们能够通过设计软件将这些知识应用到安全软件中的能力。
如果有多个专家使用各自的语言,并且任务可以清楚地分开,那么使用多种语言可能更安全,因为相关的专门知识(不幸地)分散在多个开发人员和语言上。但除此之外,一种多语言方法可能会导致代码的复杂性增加,使代码更难理解,更难维护和限制组件的重用--这通常会降低软件的安全性。因此,只要有足够的专门知识,就最好使用单一语文。
也就是说,有些问题在一种语言中比在另一种语言中更容易解决。由于这也影响到软件的复杂性和可维护性,所以重点也应该是使用最适合问题的语言。
https://security.stackexchange.com/questions/243643
复制相似问题