IoT开发人员使应用程序更安全的3种方式网络可用于改变人们工作、娱乐和生活方式的不同方式。不过,物联网的发展前几天已经成熟了。2017年,有84亿台物联网设备,Gartner预测到2020年将部署204亿台物联网设备。伴随这种增长而来的是物联网安全攻击的数量和复杂性的大幅增加,开发人员需要让安全不仅仅是一个优先级,而是重中之重。正如TrendnetSecurView摄像头、St.Jude心脏监测设备和JeepCherokeeIoT黑客所证明的那样,当安全不是首要任务时,对企业的IoT攻击可能会导致重大的财务和声誉损失。虽然不可能使IoT应用程序(或任何类型的软件)100%安全,但IoT应用程序开发人员可以采用多种最佳实践来增强其IoT应用程序的安全性。这些最佳实践包括:在构建应用程序时遵循一组经批准的加密标准。使用静态代码分析器分析应用程序代码,以识别可能导致安全漏洞的常见编码错误。制定漏洞管理策略,以有计划、持续地识别和修复IoT应用程序中的已知漏洞。这三个最佳实践并不能使物联网应用程序完全免受恶意行为者的影响。但是,它们可以显着减少物联网应用程序的漏洞和攻击面,从而降低开发人员应用程序被破坏的可能性,减少客户投诉和负面新闻。1.遵循批准的加密标准大多数开发人员都明白,如果他们想保证物联网数据的安全,他们应该加密数据,尤其是当数据从设备传输到云端时,反之亦然。然而,面对严格的开发期限,以及充分利用物联网设备有限带宽和处理能力的需要,一些开发人员选择不加密他们的数据或使用承诺比他们的更快或更轻的弱加密算法,但确实没有提供适当的安全级别。经验表明,使用加密的快捷方式可能会导致客户数据被盗、应用程序被禁用或其他问题。因此,开发人员需要与其安全团队密切合作,根据美国国家标准与技术研究院(NIST)等国际公认专家批准的标准和指南正确加密物联网应用程序数据。选择使用此类经批准的标准对物联网应用程序开发时间、性能或功能没有重大影响。美国国家标准与技术研究院(NIST)为开发人员提供了有关如何简化加密标准与应用程序集成的指南。他们还提供许多不同的标准供您选择,因此开发人员可以找到一个可以为其应用程序提供适当安全级别而又不会牺牲太多性能或功能的标准。它确实需要一些额外的工作和努力,但如果物联网开发人员想要将安全放在首位,他们需要确保他们遵循批准的加密标准。2.使用静态代码分析程序许多开发人员都熟悉静态代码分析程序,并且能够发现可能导致影响软件质量的错误的常见编码错误。但是,这些程序也可以识别不安全的编码做法,例如使用不正确终止的字符串、释放内存的指针以及允许超过缓冲区末尾的缓冲区索引。这些常见的编码错误会造成安全漏洞,恶意行为者可以在其他正常运行的应用程序中加以利用。有多种静态代码分析工具可用,包括专有和开源工具,开发人员可以使用这些工具来提醒他们注意可能造成安全漏洞的编码错误。开发人员应该研究哪些程序更好地支持他们的安全和其他代码分析需求,然后确保他们使用这些静态代码分析程序来发现整个应用程序开发过程中的代码错误,尤其是在部署应用程序之前,这些错误可能导致安全漏洞.同样,许多开发人员可能会尝试跳过此步骤,因为程序揭示的问题可能会阻止他们尽快部署和商业化附加功能应用程序。但是,偷工减料的安全措施往往会导致严重的问题,正如上面提到的黑客采用物联网应用程序所证明的那样。如果开发人员致力于为客户提供具有强大安全性的物联网应用程序,他们需要承诺使用静态代码分析程序来修复可能使他们的应用程序容易受到网络攻击的编码错误。3.监控和修复已知漏洞,例如媒体关注度很高的所谓“零日”漏洞,而软件供应商事先并不知道这些漏洞。然而,对于大多数攻击者来说,结果是物联网应用程序中使用的数百万个软件组件中未打补丁的已知漏洞数量不断增加,这可能是因为用户的组件没有意识到该漏洞,或者可能是因为他们已经意识到了不采取措施更新他们的应用程序来修复漏洞。所有IoT应用程序开发人员都应了解其应用程序中可能由于将第三方软件组件并入其应用程序而导致的已知漏洞,无论是开源组件(例如Linux操作系统和相关软件)还是专有组件。然而,及时了解设备固件、操作系统和其他物联网应用程序第三方软件组件中的所有已知漏洞并非易事。构建这些软件组件的企业、政府机构和其他监管机构通常每月在这些类型的软件组件中发现多达1,000个独特的漏洞。幸运的是,有一些资源可以帮助开发人员及时了解新漏洞。例如,国家漏洞数据库(NVD)是由美国国家标准与技术研究院(NIST)运营的公共资源,它对所有类型的软件组件(包括专有软件和开源软件)中的已知漏洞进行分类。为确保他们的物联网应用程序干净或没有任何已知漏洞,物联网开发人员可以为其物联网应用程序编制一份安全的物料清单(BOM),列出应用程序中使用的所有软件组件和版本,然后监控新的国家漏洞数据库(NVD)这些组件中的已知漏洞。或者,有许多专有和开源工具利用免费API查询国家漏洞数据库(NVD),然后评估其组件的代码库或识别公开服务的版本(例如网络上的DNS、HTTP/S、NTP、SSH)接口)。但是,仅了解已知漏洞并不能解决问题。这就是为什么开发人员不仅不断检查新的已知漏洞,而且有计划通过安全更新补丁定期修复新的已知漏洞。理想情况下,此类计划应允许远程(无线通信)和自动执行这些更新。如今,许多消费者物联网应用程序已经包含启用远程自动更新的选项。许多开发人员构建的商业IoT应用程序有时需要更多协调才能实现这种远程自动更新,但这应该只是目标。在任何情况下,即使无法远程或自动更新,IoT开发人员也必须制定某种计划,以便针对其应用程序中的已知漏洞部署及时的安全更新。强大的安全性将使物联网在未来发展物联网正处于一个重要的转折点。市场继续快速扩张,每天都有令人兴奋的农业、供应链、工业、公共安全、消费者和其他物联网应用推出。然而,其他备受瞩目的物联网应用程序漏洞可能会威胁到企业和消费者对物联网的信任,尤其是在物联网越来越多地用于收集敏感数据或完成关键任务的情况下。为了加强对物联网的信任,开发人员需要致力于将物联网安全放在首位。开发人员需要实施物联网安全最佳实践,其中包括采用经批准的加密标准、使用静态代码分析程序来发现可能造成安全漏洞的编码错误,以及定期识别和修复其应用程序中已知漏洞的策略。如果IoT开发人员通过实施这些IoT安全最佳实践将安全真正放在首位,那么企业对IoT的信任将会提高,他们的业务也会随之增长。
