0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

物联网开发人员使用应用程序更加安全的方法分享

h1654155282.3538 来源:陈翠 2019-08-18 10:49 次阅读

物联网开发人员使用应用程序更加安全的方法分享

物联网发展到今天已经日前成熟,2017年有84亿台物联网设备,Gartner公司预计到2020年将部署204亿台物联网设备。随着这一增长,物联网安全攻击的数量和复杂性大幅增加,开发人员不仅需要将安全作为优先事项,而且还需要将其作为首要事项。

在物联网的应用初期,物联网应用程序开发人员可以不必考虑安全性,因为他们构建了原型和最小可行的产品,旨在展示物联网可用于改变人们工作、娱乐和生活方式的不同方式。

但物联网发展到今天已经日前成熟,2017年有84亿台物联网设备,Gartner公司预计到2020年将部署204亿台物联网设备。随着这一增长,物联网安全攻击的数量和复杂性大幅增加,开发人员不仅需要将安全作为优先事项,而且还需要将其作为首要事项。

正如Trendnet公司的SecurView摄像头、St.Jude公司的心脏监测设备和JeepCherokee物联网遭遇黑客攻击证明的那样,当安全性不是首要任务时,企业遭遇的物联网攻击可能会导致财务和声誉的重大损失。

虽然不可能使物联网应用程序(或任何类型的软件)100%安全,但物联网应用程序开发人员可以采用几种最佳实践来加强其物联网应用程序的安全性。这些最佳实践包括:

(1)在构建应用程序时遵循一组经过批准的加密标准。

(2)使用静态代码分析程序分析应用程序代码,以识别可能导致安全漏洞的常见编码错误。

(3)制定漏洞管理战略,在计划的、持续的基础上识别和修复物联网应用程序中的已知漏洞。

这三个最佳实践并不能使物联网应用程序完全免受恶意参与者的攻击。但是,它们可以显著减少物联网应用程序的漏洞和攻击面,从而降低开发人员应用程序被破坏的可能性,减少客户投诉和负面新闻。

遵循已批准的加密标准

大多数开发人员都明白,如果他们希望保持物联网数据的安全,他们应该对这些数据进行加密,特别是在数据从设备传输到云平台时,反之亦然。然而,面对严格的开发期限,以及需要充分利用其物联网设备的有限带宽和处理能力,一些开发人员选择不加密他们的数据或使用弱加密算法,这些加密算法承诺比他们更快或更轻,但没有提供适当的安全级别。

经验表明,采用加密快捷方式可能导致客户数据被盗、应用程序被禁用或出现其他问题。出于这个原因,开发人员需要与他们的安全团队密切合作,按照国际认可的专家(如美国国家标准与技术研究院(NIST))批准的标准和指南,适当地加密物联网应用数据。

选择使用此类经批准的标准不会对物联网应用程序开发时间、性能或功能产生重大影响。美国国家标准与技术研究院(NIST)为开发人员提供了如何简化加密标准与应用程序集成的指导方针。它们还提供了许多不同的标准供选择,因此开发人员可以找到一种可以为应用程序提供适当级别的安全性,而不会牺牲太多的性能或功能。这确实需要一些额外的工作和努力,但是如果物联网开发商想把安全作为首要任务,他们需要确保遵循批准的加密标准。

使用静态代码分析程序

许多开发人员熟悉静态代码分析程序及其发现常见编码错误的能力,这些错误可能导致影响软件质量的错误。但是,这些程序还可以识别不安全的编码实践,例如使用不正确终止的字符串,释放内存的指针和允许超出缓冲区末尾的缓冲区索引。这些常见的编码错误会造成安全漏洞,恶意参与者可以在其他功能应用程序中利用这些漏洞。

有多种静态代码分析工具可供使用,其中包括专有的和开放源码的工具,开发人员可以使用这些工具来提醒他们可能会造成安全漏洞的编码错误。开发人员应该研究哪些程序更好地支持他们的安全性和其他代码分析需求,然后确保在整个应用程序开发过程中,特别是在部署应用程序之前,他们使用这些静态代码分析程序来发现代码错误,这些错误将会导致出现安全漏洞。

同样,许多开发人员可能会尝试跳过这一步骤,因为程序所揭示的问题可能会阻止他们尽可能快地部署和商业化其他功能性应用程序。但是,正如上面提到的黑客采用物联网应用程序的例子所证明的那样,安全性的偷工减料通常会导致严重的问题。如果开发人员致力于向客户交付具有强大安全性的物联网应用程序,他们需要承诺使用静态代码分析程序来修复可能使其应用程序易受网络攻击的编码错误。

监视和修复已知的漏洞

例如媒体非常关注的所谓的“零日”漏洞,而这些漏洞是软件供应商事先不知道的。然而,对于大多数攻击者来说,其结果是,在物联网应用程序中使用的数百万个软件组件中存在的已知漏洞数量不断增加,这些软件组件未被修复,这可能是因为组件的用户不知道该漏洞,也可能是因为他们没有采取措施更新其应用程序以修复漏洞。

所有物联网应用程序开发人员都应了解其应用程序可能因将第三方软件组件纳入到其应用程序中而导致的已知漏洞,无论是开源组件(如Linux操作系统和相关软件)还是专有组件。但是,了解物联网应用程序的设备固件、操作系统和其他第三方软件组件中的所有已知漏洞的最新信息并非易事。构建这些软件组件的企业、政府机构和其他监管机构通常每月在这些类型的软件组件中识别出多达1,000个不同的漏洞。

幸运的是,有些资源可以帮助开发人员及时了解新的漏洞。例如,美国国家漏洞数据库(NVD)是由美国国家标准与技术研究院(NIST)运营的公共资源,它对所有类型的软件组件(包括专有软件和开源软件)中的已知漏洞进行分类。为了确保他们的物联网应用程序清除或没有任何已知的漏洞,物联网开发人员可以为其物联网应用程序编制一份安全物料清单(BOM),列出应用程序中使用的所有软件组件和版本,然后监视新的美国国家漏洞数据库(NVD)这些组件的已知漏洞。或者,有许多专有和开源工具利用免费API查询美国国家漏洞数据库(NVD),然后评估其组件的代码库或识别暴露服务的版本(如DNS,HTTP/S,网络接口上的NTP、SSH)。

但是,仅仅了解已知漏洞并不能解决这些漏洞。这就是开发人员不仅要持续检查新的已知漏洞的原因,还要制定计划,通过安全更新的补丁定期修复新的已知漏洞。在理想情况下,这样的计划应允许远程(无线通信)和自动执行这些更新。如今,许多消费者物联网应用程序已经包含一个启用远程自动更新的选项。许多开发人员构建的商业物联网应用程序有时需要更多的协调来实现这种远程的自动更新,但这应该只是目标。在任何情况下,即使无法远程或自动进行更新,物联网开发商也必须制定某种计划,及时部署针对其应用程序中已知漏洞的安全更新。

强大的安全性将使物联网的未来增长成为可能

物联网正处于一个重要的转折点。市场继续快速扩张,每天都在推出激动人心的农业、供应链、工业、公共安全、消费者和其他物联网应用。然而,其他引人注目的物联网应用程序漏洞可能会威胁到企业和消费者在物联网中的信任度,尤其是当它越来越多地用于收集敏感数据或完成关键任务时。

为了加强对物联网的信任,开发人员需要致力于将物联网安全作为首要任务。开发人员需要实施物联网安全最佳实践,其中包括采用经过批准的加密标准,使用静态代码分析程序发现可能产生安全漏洞的编码错误,以及定期识别和修复其应用程序中已知漏洞的策略。如果物联网开发人员通过实施这些物联网安全最佳实践,将安全性作为真正的首要任务,那么企业对物联网的信任将会提高,他们的业务也会随之增长。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2867

    文章

    41593

    浏览量

    358292
  • 应用程序
    +关注

    关注

    37

    文章

    3133

    浏览量

    56368
收藏 人收藏

    评论

    相关推荐

    MCU在线技术讲座-EFM和EFR: 面向联网开发的通用MCU平台

    开发人员了解专门针对联网开发而优化的EFM和EFR系列MCU平台,我们将针对亚洲地区于2023年12月12日上午10点(北京时间)在线举办全新MCU专题的Tech Talk技术讲座-
    发表于 11-23 13:45

    开关电源开发人员必看

    电子发烧友网站提供《开关电源开发人员必看.pdf》资料免费下载
    发表于 11-08 15:41 0次下载
    开关电源<b class='flag-5'>开发人员</b>必看

    Zynq UltraScale+ MPSoC软件开发人员指南

    电子发烧友网站提供《Zynq UltraScale+ MPSoC软件开发人员指南.pdf》资料免费下载
    发表于 09-15 10:16 8次下载
    Zynq UltraScale+ MPSoC软件<b class='flag-5'>开发人员</b>指南

    Versal ACAP系统软件开发人员指南

    电子发烧友网站提供《Versal ACAP系统软件开发人员指南.pdf》资料免费下载
    发表于 09-13 15:20 0次下载
    Versal ACAP系统软件<b class='flag-5'>开发人员</b>指南

    ARM开发人员套件1.2版汇编指南

    功能是有限制的。 有关内联汇编器的更多信息,请参阅ADS开发人员指南中的混合C、C++和汇编语言一章。 这本书的其余部分主要是关于手臂的。
    发表于 09-01 10:41

    ARM Mali-T600系列GPU OpenCL开发人员指南

    。 GPU被设计为同时执行多个线程。 它们并行运行包含相对较少控制代码的计算密集型数据处理任务。 GPU通常包含比应用程序处理器多得多的处理元素,因此计算速度比应用程序处理器高得多。 OpenCL是第一种开放标准语言,使开发人员
    发表于 08-24 07:07

    ARM开发人员套件1.2版开发人员指南

    本书包含的信息将帮助您解决为基于ARM的处理器开发代码时的特定问题。 一般来说,本书中的章节假定您正在使用ARM开发人员套件(ADS)来开发代码。 ADS由一套应用程序以及支持文档和示
    发表于 08-23 07:29

    新唐对应四大联网安全攻击的保护措施

    区分为四种类型: 联网设备和服务器之间数据传输的通讯攻击 联网设备从用户到维护的生命周期攻击 对装置内部软件的攻击 直接针对装置内芯片的物理攻击 设计完善的
    发表于 08-21 08:14

    ARM GPU最佳实践开发人员指南

    我们的指南提供了在为Arm Immortalis和Mali GPU开发时如何优化应用程序的建议。这些建议是为那些希望开始使用Arm GPU的成熟开发人员准备的。
    发表于 08-10 06:58

    Wind River Rocket应用程序开发者指南

    如果您是: •应用程序开发人员对Rocket应用程序进行编码 •需要了解Rocket应用关键功能和用法
    发表于 08-04 07:50

    UM-B-101:DA14585 IoT 多传感器开发套件开发人员指南

    UM-B-101:DA14585 IoT 多传感器开发套件开发人员指南
    发表于 07-05 20:59 0次下载
    UM-B-101:DA14585 IoT 多传感器<b class='flag-5'>开发</b>套件<b class='flag-5'>开发人员</b>指南

    UM-B-056:DA1468x 软件开发人员指南

    UM-B-056:DA1468x 软件开发人员指南
    发表于 07-05 20:36 0次下载
    UM-B-056:DA1468x 软件<b class='flag-5'>开发人员</b>指南

    IzoT BACnet 开发人员指南

    IzoT BACnet 开发人员指南
    发表于 07-04 20:48 0次下载
    IzoT BACnet <b class='flag-5'>开发人员</b>指南

    通过使用AI改善开发人员体验的13种令人印象深刻的方法

    在当今快速发展的技术环境中,人工智能 (AI) 正在全面改变行业,软件开发也不例外。AI 可以通过简化流程、自动执行重复性任务以及使开发人员能够构建创新应用程序来显著增强开发人员体验。
    发表于 06-09 09:24 498次阅读

    开发基于联网的移动应用程序时遇到问题如何解决?

    大家好,我可以知道我应该得到什么解决方案来开发基于联网的移动应用程序吗?我正在使用 NodemCU 8266 + 脉冲传感器 + Firebase。对于我已经完成的传感器设置部分,现
    发表于 04-28 06:17