在一次会议上,我在一个网络安全小组中发言,会后一位大学生找到我,提出了一些很好的问题。有几个是关于学习学科各个方面的资源的相对策略性的询问,但有一个更宽泛的问题让我印象深刻:“如果你必须把它提炼成一个概念,那会是什么?”对于像安全这样广阔的知识领域(我故意省略了“网络”这部分,因为我的答案也适用于其他领域),有可能——确实有责任——阐明一个单一的概念吗?我猜你可能会说一些精辟或尖刻的话,比如“把所有东西都锁得紧紧的”或“不要让用户碰任何东西”。

但事实上,我确实认为他的问题有一个有用的答案,那就是:将最小特权原则绝对、积极地应用到所有事情上。如果你不熟悉这个术语,它本质上说的是“授予任何实体运行所需的最低权限。”实体可以是任何东西,从内核进程到网络设备再到用户。它也适用于非网络事物。您办公室的客人有能力进入服务器机房吗?他们能看到写有敏感信息的白板吗?“锁定一切”意味着到处寻找应该更安全的东西,并使它们更安全。Least Privilege完全改变了这一点,它认为启动状态应该是锁定的,然后应该根据需要授予访问权限。

我可以听到人们抗议,“当他们通过封锁一切来扼杀业务时,这就是让每个人都讨厌IT的原因。”这种反对意见是合理的,事实上,如果过分热心的IT单方面决定业务需要什么和不需要什么,冲突肯定会随之而来。安全性通常会降低,因为用户会(有时是公开敌对的)绕过保护。

但扼杀业务并不一定是应用最小特权的结果,事实上也不应该是这样。这是因为,如果有业务需求,那么它就属于最小特权的“必要”部分。如果您在定义安全策略方面做得很好,那么您将收集大量数据,这些数据不仅涉及业务运行所需的数据,还涉及业务发展所需的数据,并相应地授予访问权限。

现在我们看到了很多违反最小特权的行为。或许,至少在目前,没有哪个技术领域比所谓的“物联网”设备更有罪了。在我写这篇文章的时候,上周出现了两个重要的物联网故事:

一名研究人员发现,施耐德生产的工业控制设备在发货时附带了一种硬编码通用密码的固件。毫不奇怪,这些设备是微不足道的。

一种名为BrickerBot的恶意软件变体正在泛滥,它基本上会破坏(通过内存和文件系统损坏)它找到的物联网设备。当受害设备的Telnet暴露在因特网上时,它至少部分地做到了这一点。

在这两种情况下起作用的机制都是对最小特权的侵犯。当密码是硬编码的时候,这意味着只要密码公开,几乎任何人都可以访问。虽然密码通常被认为是一种非常容易出错的安全机制,但至少当用户可以创建自己的密码时,它们有机会限制拥有密码的人的范围(特别是当他们使用强密码时)。在BrickerBot的例子中,如果*任何*数字设备在Telnet上监听,那么它就相当容易被破坏。除了在蜜罐上,没有理由公开Telnet。

我采访了当地电视台的一位记者关于勒索软件影响智能电视的问题。在一个广为人知的案例中,最初的妥协载体是一个盗版电影流媒体应用程序,结果被证明是一个隐藏的勒索软件交付机制。在那次攻击中,至少特权在两个不同的层面上被侵犯:第一,电视操作系统的架构意味着应用程序可以获得电视的根权限,而不是存在于一个精心控制的沙盒中。其次,对于绝大多数拥有智能电视的人来说,设备位于可信网络内。因此,攻击者现在可以很容易地“打开”电视,转移到家庭网络上的其他机器上,包括可能拥有银行凭证、税务文件等信息的个人电脑。

这也适用于人类。如果我们都完美地遵循了Least Privilege,社会工程就会失败,因为我们会对不合法的访问请求保持警惕。完美是不可能的,但建立一种安全立场,将健康的怀疑与健康的偏执结合在一起(他们强调“是”来对付你),可以让你以一种“最小特权”的方式思考任何类型的信息或访问请求。

从部署健壮的安全策略以保持个人或组织的敏捷性和灵活性的无数复杂性的角度来看,“应用最少特权”确实是一种过度简化。但它确实提供了一种指引我们前进的北极星,让我们能够更好地实现成功的安全。