对于许多开发团队而言,将网络安全(cybersecurity)纳入其物联网(IoT)设计的想法似乎令人生畏。没有解决问题的系统方式情况下,增添功能和最小化实现成本之间取得平衡会很快导致混乱和挫折。为了支持开发人员,美国政府已经确定了开发团队可以进行的一些重要动作,以为其装置的安全功能提供合理的基础。
美国国家标准暨技术研究院(NIST)在其文件NISTIR 8259「针对物联网装置制造商的基础网络安全动作」(Foundational Cybersecurity Activities for IoT Device Manufacturers)中定义了六项基础动作,供开发团队在其物联网装置设计中考虑网络安全时遵循。这些基础动作可以分为两个时间范围,首先是上市前动作,这在详细开发装置甚至尚未开始之前就进行,这些动作将协助开发团队确定其设计应提供的安全功能,且通常可以找到有关如何实现该功能的指南。
虽然第二个动作应该在开始开发之前就计划好,但其在将成品交付市场后开始才会发挥作用。这些售后动作牵涉到如何为购买产品并将其整合到系统中的客户提供支持的问题,由于网络攻击流程不断发展,因此物联网装置也需与时并进,且大多数客户都希望他们的装置供货商能够支持这种进展。
图1 这六个动作可以帮助开发团队确保其物联网设计实现适当的网络安全功能。(数据源:NIST)
在上市前阶段,有四项主要动作旨在补充或与开发团队其他传统上市前的动作同时进行,以帮助定义设计企图实现的市场机会。
1.确定预期客户并定义预期使用案例
此动作对于确定客户需要哪些网络安全功能至关重要,并且通常可以指示需如何实现这些功能。要问的问题可能包括该装置的使用方式和位置,装置将持续使用多长的时间,将与哪些其他客户系统进行互动,以及攻击者会如何危害或滥用该装置。
2.研究客户对于网络安全的需求和目标
开发人员需至少部分地了解,客户将如何减轻其独特的网络安全风险。了解客户的风险,以及客户控制风险的方式将对定义装置的网络安全功能要求大有帮助。两种威胁正在发挥作用——装置本身可能需要保护,以防止其功能受到损害或劫持,且装置处理的讯息可能需要保护,以防被盗窃或操纵。
3.确定如何满足客户需求和目标
针对动作2中确定的每个网络安全目标,开发团队都需提出以下问题:实现该目标的合适方法是什么?这个方式可能包括装置本身内建的功能,或是由诸如集线器或网关之类的另一客户装置提供,也可以由诸如基于云端服务的第三方提供。非技术方式也需要考虑,例如客户是否愿意接受未达目标的风险。此外,团队还应该考虑这些方式需具备如何的强健性。
4.计划充分支持客户的需求和目标
透过确保存在适当的机制并根据长期装备支持的想法做出设计选择,开发人员可以让他们的设计更适合满足客户目标。例如,如果装置的安装寿命为数十年,则在安装后包括更新加密算法或更改密钥的功能可能是合适的。其他要问的问题可能包括客户如何验证硬件和软件的完整性,如何确保第三方软件的安全性,以及如何保护程序代码免遭未经授权的访问和篡改。
除了可以帮助指导装置网络安全功能的选择和实施的这些动作外,开发团队还应计划两个售后动作。
5.定义与客户沟通的方式
客户在评估购买装置时可能需要知道其可提供哪些安全功能。安装后,他们可能需要知道如何唤醒、修改或更新此类功能,因此,开发团队需要计划如何将这些信息传达给客户。需要考虑的问题包括客户将了解哪种术语(基于他们的技术成熟度),他们将需要多少信息,如何提供有用的信息,以及客户如何验证信息的完整性。
6.确定与客户沟通的内容
确定要传达哪些信息,以及如何进行信息的确定可能涉及许多因素。要考虑的一件事是,售出后可支持该装置多长时间,以及报废后会发生什么事;另一个考虑因素是确定客户需要了解哪些有关装置及其设计的知识,以便将其整合到他们的系统中并进行维护。要问的问题还包括:客户将如何取得软件更新,如何禁用设备,以及如何将所有权转让给另一方?
NIST文件NISTIR 8259为寻求参与这些动作的开发团队提供了许多其他更详细的建议与许多额外的功能。可从上方提供的连结免费下载,非常值得阅读。网络安全似乎令人生畏,但是这些指南将为开发团队提供一个坚实的框架,以开始应对各种挑战。
(参考原文:6 essential activities to help developers build in IoT cybersecurity,EDN Taiwan Anthea Chuang编译)
责编:Demi