APP下载

构建物联网威胁模型

2017-11-08

网络安全和信息化 2017年10期
关键词:泊车漏洞威胁

威胁建模对于软件开发的生命周期是一个很重要的过程,但是这个词的使用并不局限于软件。

在此,我们将关注如何为物联网建立威胁模型。本文首先所关注的是由物联网的客户端所带来的新威胁面,以及不断增加的终端所带来的日渐增加的安全风险。

不能把物联网安全当成是一个简单的消费者的安全问题。物联网安全对于所有的部门和领域都至关重要,不妨考虑一下:

政府:城市的规划者们正忙于设计所谓的智能城市,其中布满了可以使服务更高效的传感器和连接器。物联网可以优化地面交通,可以为智能城市提供运力和动力。

工业:重工业可以连接到互联网的传感器网络,从而监视工人是否暴露在自然的或人造的危险化学物品中。工厂中的传感器可以为预测性维护提供帮助,并且可以将运营数据提供给分析引擎。例如,航空单位可以利用飞机发动机引擎生成的海量数据,进而优化飞行路线和燃料计划。

企业:物联网使得企业的外围世界更加复杂。几乎有一半的新技术员工是常常在其住处工作的远程雇员。不妨想象一下其房间充满了大量的“准安全”的有可能搭上单位VPN便车的物联网设备。IT部门已经在清理为临时用户服务的网络,因为一些恶意的物联网设备已经出现。

无论是消费者、政府、工业界,还是企业都会受到影响,有时甚至被物联网改变。为物联网构建威胁模型可以将单位及其他群体的环境变为一个整体上安全的物联网。

就像最初的互联网一样,物联网可能会改变一切。但与互联网不同的是,我们有了安全意识,而且有机会将安全性构建到物联网中。

三大步骤

图1 物联网生态系统威胁面

综上所述,物联网需要一种比当前更加强健的安全应用,否则,我们构建的将是一个遍布补丁的却又漏洞百出的系统,正如现在的互联网一样。物联网绝对不仅仅是消费者的问题,它涉及到企业、工业界和政府等主体。

将安全性应用到任何系统开发中的一种方法是通过威胁建模过程。威胁模型的评估可以使系统设计者和安全专家能够做到:

1.分类记录在用资产;

2.确认潜在威胁;

3.给资产和威胁评级和打分。

这也许听起来很复杂。但如果有正确的态度和适当的人员,完成这些任务就颇为激动人心。下面就来看一下威胁建模的机理,然后提供一些启动一次新威胁模型项目的技巧。

第一步:分类记录在用资产

对于一个物联网项目,资产的范围不仅包括设备自身,还有支持该设备的所有系统。

一个典型的物联网项目架构要有只读性的传感器,要有一些控制,还要通过一个控制器节点来进行通信。这个节点将会通过本地网络或公有云亦或私有云来发布数据。云中的数据收集节点实施数据处理和分析,并且还可能有一个与项目接口的Web应用。最后,还需要平板电脑及其应用程序,以便于与Web应用或控制器进行接口。拥有成熟的安全过程的任何一家单位都应当已经在其Web应用和云端内容中建立过威胁模型。那么,只需将一个新的威胁模型应用到设备和控制器上。但是,很多新的物联网厂商和创立者并没有成熟的项目,也没有为整个系统建立威胁模型。

如今,已经有许多安全专家关注到了这个问题。开放式的Web应用程序安全项目(OWASP)有一个物联网项目页面,其中确认了物联网系统的很多资产,如图1所示。

管理员不妨考虑每一个威胁面,并且确认单位项目中的资产,然后列示出来,以此作为威胁模型评估的一部分。

第二步:确认潜在威胁

幸运的是,很多潜在的威胁已经为人所知。我们只需将其应用到项目中。早期的威胁建模中,其利用的模型之一就是“六面”威胁分类,其目的在于帮助我们去询问如下六个问题(如图2):

欺骗:攻击者是否能够假装是另一个人呢?

篡改:攻击者是否能够成功地将篡改后的数据注入到系统中?

否认:用户是否能够伪装交易并未发生?

信息泄露:应用程序是否会将数据泄露给外部?

拒绝服务:应用程序是否能够被恶意关闭呢?

特权提升:用户是否能够获得超级用户权限?

很多众所周知的攻击,如中间人攻击或是重放攻击,就属于这些类型。

图2 “六面”威胁分类的六个问题

在第二步中,单位的威胁模型团队(当然可以是一个虚拟的团队)可以实施头脑风暴,为每项资产提出尽可能多的威胁,并且需要一位主持人来记录一切。为了保证这个步骤尽可能做到真正的“头脑风暴”,管理者需要在讨论中只考虑威胁,而不是减轻威胁的方法。在此时不要评价,也不要判断。如果某人说,“这是不可能发生的”,或者“我们可以通过那种方法来解决……”,管理员就要说,“我们在这儿只是尽可能多的提出可能性和问题,下一步将会为这些威胁评级,最后一步才是如何减轻以及解除威胁”,从而确保“头脑风暴”不脱离轨道。

第三步:威胁和资产评级

在所有的威胁都被集思广益并记录后,就需要对其评级。查看威胁清单并决定每种威胁的风险评估。选择一种有序的量化系统,如设置为1到3(1为最低风险)。然后再从如下五方面对上述变量进行打分:

破坏力:这种威胁可能引起的破坏力有多大?

可再生性:这种威胁的繁殖能力或可再生能力如何?

漏洞可利用性:有没有不太可能被利用漏洞的极限条件?

受影响的用户数量:是所有用户,还是一些用户或单个用户受到影响?

可被发现性:这种威胁被发现的可能性有多大?

这种评级系统并不是新鲜事物,很多现代的从业者们一直认为可再生性和可被发现性可以取最大值。这是因为整个市场和漏洞资金项目都已经在教育研究者和攻击者们,要将时间用于发现漏洞,并且准备好应对的武器。我们应该是假设存在一个漏洞,那么就会有人发现它,并且想办法实施漏洞利用。

在建立威胁建模系统后,要注意,你要分析的是威胁和资产,而不是人。

案例

下面看一个威胁建模案例,其中涉及一个智能泊车计量系统。如前所述,我们将分三步进行。

第一步,确认在用资产

对于智能泊车计量系统的部署来说,资产的清单相对较短并且容易定义:

信用卡的付款信息;金钱(硬币);泊车计量时间;泊车空间。

计量系统的制造商可以拥有不同的威胁模型,其中包括设备自身的物理方面:诸如设备内存、固件接口以及生态系统的通信等。

第二步:分类记录各种威胁

在前面的“六面”威胁分类模型中,我们通过考量资产的六个方面来帮助确认一个系统的威胁。在将这个模型应用到智能泊车计量系统的资产时,可以发现如下的威胁清单:

当然,还有更多威胁,但为行文的简短,在此仅关注上述威胁。

第三步:利用上文提到的量化系统给威胁评级和打分

下一步就是用一种升序计数模式来量化这些威胁。量化系统的计数可以从1到3,也可以从1到10。在此,我们用1来表示最小的威胁。下面用1到3的威胁量化模式。

图3 评级打分方法

图4 行动计划建议

假设威胁的可再生性和可发现性都取最大值,就只需要给破坏力、漏洞可利用性和受影响的用户数量来评级和打分,如图3所示。

确定减轻威胁的优先级

威胁建模的要点在于创建类似于以上表格的一个表,要列举出全部威胁,并且确定其优先处理的等级。减轻每种威胁也就成了一个自然跟进的过程。确定优先次序对于在资源稀少的情况下制定决策是有益的,并不是任何威胁都需要立即解决。有时,证明其存在或者只是简单地接受风险也是可以采取的正确策略。

在部署物联网泊车系统的例子中,运营商选择了下面的一些减轻威胁的措施,其中也包含了作者提供的一些建议,如图4所示。

虽然这种威胁模型主要关注传统的信息安全威胁,但运营商也从法律的角度进行风险分析。单位还应对智能城市的其他项目进行检查。

运营商还在考虑由项目的子厂商带来的风险;物联网的制造商还在将微服务作为后端的解决方案,以用于集成和分析所有传感器的数据。

但是,这只是厂商将一些代码交给云并且进行维护的方法。在此,必须考虑到存在的各种风险,其中包括在厂商破产时会发生什么?再设想一下,陈旧的微服务代码会不会不利于升级,从而导致通信的大量失败。

一个适当的物联网模型包括了现有基础架构、Web应用、Web服务、云、传输安全以及人员的全部范围。适当的威胁模型必须考虑到人的因素。因为我们永远不知道一个具有破坏力的人会在什么时候会损害物联网系统的安全。

猜你喜欢

泊车漏洞威胁
基于插电式混动汽车的自动泊车控制策略
基于MATLAB的平行泊车路径规划
漏洞
基于CarSim的平行泊车仿真分析
人类的威胁
Arrive平台新增智能泊车推荐引擎 帮助找到最佳泊车地点
受到威胁的生命
面对孩子的“威胁”,我们要会说“不”
三明:“两票制”堵住加价漏洞
漏洞在哪儿