许多不同类型的应用程序可控制和管理 IoT 设备,比如基于云的应用程序、本地 Web 应用程序、移动应用程序,以及在 IoT 设备自身上运行的软件。Open Web Application Security Project (OWASP) 是一个专注于如何提高软件安全性的组织。该组织有一个,该项目汇集了 IoT 安全性的独特方面。他们目前正在为制造商、开发人员和用户起草 。
IoT Web 应用程序:安全编码技巧Web 应用程序通常用于管理 IoT 设备。无论 Web 应用程序打算直接托管在 IoT 设备上、内部网络服务器上还是云中,这些 Web 应用程序的开发(编码)都必须遵守 Web 应用程序安全开发最佳实践,比如,其中 目前正在审核,并计划在 2017 年年末进行更新。
IoT Web 应用程序开发的一种常见错误是,没有像对面向公众的 Web 应用程序一样勤勉地保护私有网络 Web 应用程序。但是,内部网络可能遭到损坏,变成不受信任的环境。因此,面向内部的 Web 应用程序漏洞可能被黑客和恶意软件利用。
考虑以下这些针对 IoT Web 应用程序的安全编码技巧:
净化所有用户输入。此编码技术可防止最常见的 Web 应用程序攻击,这些攻击利用草率编码的用户数据输入验证来注入恶意脚本,运行 SQL 数据库命令,并执行缓冲区溢出。因此,净化所有用户输入字段,仅接受想要的字符的“白名单”,这是一种基本的应用程序编码实践。一定要在 Web 浏览器内编写客户端验证(比如 Java 脚本),但必须始终在(服务器)应用程序内执行输入净化,因为大部分攻击都是通过 URL 注入代码来尝试的。
评估该应用程序与移动平台和操作系统的特性及功能的集成,这可能因每个移动平台类型和操作系统的不同而有所不同。与移动功能集成可以提高安全性,但它们也有可能降低应用程序的安全性。例如,使用 Apple 设备上的生物指纹扫描器可增强移动应用程序的身份验证流程;但是,仅依靠可能被禁用的移动设备身份验证系统,可能会严重地降低应用程序的安全性。