目前来说,新技术总是努力适应现存的安全方法、安全措施和安全工具。新技术在IT领域中并不新鲜,我们已经习惯于适应、演进和改进安全措施以跟上变化的步伐。然而,最近的一些变化是fundamental 的,渐进式的改进似乎不再合适。
例如,以往具有角色和授权的复杂源代码管理系统可以防止攻击者包括恶意代码,而客户可以根据数字签名检查他们收到的软件是否被篡改(例如,引入后门)。总的来说,这些措施有助于提高根据该模型开发的软件的安全性。现在,特别是在开源社区中,大量的代码被复用。因此,以往的内部安全措施只涵盖了整个解决方案代码的一小部分。大多数代码不受这些内部度量的影响。
因此,以老旧的方式应用安全措施不再容易,甚至是不可能的(例如,在开发的早期阶段进行威胁建模、源代码管理以防止恶意行为、处理常量和动态更新)。我们不能得出专有软件比开源软件更安全或者同样安全的结论:新的 software stack 对两者来说都是一样的,它们面临着同样的挑战。software stack 不是唯一的变化,大量的传感器和物联网设备的应用,使得IT和OT的边界越来越模糊,这也是一个亟需解决的难题。唯一的好消息是:安全知识,对攻击者如何工作的理解,以及保护工具和实践仍然有效的——甚至,它们的需求越来越大。我们的安全方法该如何发展?
信息技术的根本变化也要求对安全方法进行结构性改进。有两个方面特别重要。
在安全假设方面,我们必须积极挑战一些现有的范例(例如,像处理自己的代码一样处理开源代码),提出新的标准(来防止未知风险),关注安全最重要的活动,重新评估威胁和风险(例如,引入后门的风险)。
在业务层面,弥补业务和安全之间的gap并不容易。努力理解业务问题和需求是至关重要的,是好的安全解决方案的基础。我们必须积极的了解业务需求,重新评估安全需求和安全等级,在业务性能和安全性能上做出tradeoff。