首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

与 IoT 网络威胁作斗争更新

与 IoT 网络威胁作斗争更新

编写安全的 IoT 应用程序查看的演示

许多不同类型的应用程序可控制和管理 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                    注入代码来尝试的。
  • 安全地使用 cookie。应用程序使用 SSL 确保应用程序将 cookie 标记为安全时,SSL 也会自动对这些 cookie                    进行加密。不打算对 Web 应用程序执行 SSL 保护时,可编写一个例程来使用业界认可的加密算法(比如 AES 256)加密 cookie                    值。
  • 锁定应用程序错误报告。这些应用程序错误消息可能为攻击者提供如何攻破应用程序和用户帐户的线索。即使最简单的错误消息,比如“用户密码错误”,也可能导致用户帐户名被猜中。
  • 使用数据加密例程。如果需要应用程序加密个人或机密数据,不要尝试编写自己的加密例程。相反,应使用利用了业界认可的加密方法和算法的库。
  • 在使用之前,评估并记录应用程序使用的第三方库的安全性,然后继续监控它们的安全漏洞和补丁。例如,最近发现                    OpenSSL(一个用于加密数据通信的开源库)存在安全缺陷,该缺陷使得 Web                    应用程序很容易受攻击。该问题很快通过发布该库的更新版本得到解决。
  • 确保所有开发人员(包括合同工和第三方)都有资格和已经过培训来使用 Web 应用程序安全编码技术。
IoT 移动设备应用程序:安全编码技巧移动 IoT 应用程序,尤其是智能手机和平板电脑应用程序,常常受到攻击者攻击。在开发移动 IoT 应用程序时,还需要采用用于 Web                应用程序的相同安全编码技术。但是,还有其他应用程序安全考虑因素,比如移动设备身份验证、电信和 SMS                数据通信,以及确实存在的进一步隐私风险。
考虑这些针对 IoT 移动设备应用程序的安全编码技巧:
  • 评估该应用程序与移动平台和操作系统的特性及功能的集成,这可能因每个移动平台类型和操作系统的不同而有所不同。与移动功能集成可以提高安全性,但它们也有可能降低应用程序的安全性。例如,使用                    Apple                    设备上的生物指纹扫描器可增强移动应用程序的身份验证流程;但是,仅依靠可能被禁用的移动设备身份验证系统,可能会严重地降低应用程序的安全性。
  • 确保您的 IoT 移动应用程序使用加密技术保护了所有个人和敏感数据,无论是传输中的还是存储在移动设备上的数据。应用程序需要在互联网和                    WiFi                    连接上强制使用加密的网络服务(即假设它们是公共的),甚至包含通过蜂窝网络发送的数据。另外,确保应用程序加密了所有存储在可移动介质上的个人数据。
IoT 设备软件:安全编码技巧除了已介绍的安全应用程序技术之外,在开发将在 IoT 设备上运行的软件时,还有其他一些考虑因素,比如固件使用和对物理接口的访问控制。
考虑这些适用于 IoT 设备软件的安全编码技巧:
  • 确保您使用了最新版的 IoT 设备固件。
  • 关注固件制造商的固件更新通知和已发现的固件安全漏洞。
  • 使用应用程序测试固件的新版本。新固件版本可能要求更新应用程序代码。
  • 评审您的 IoT 设备的物理接口需求,这可能要求应用程序提供访问控制功能。
  • IoT 应用程序必须能够使用安全补丁进行更新。补丁在安装之前需要数字签名并经过应用程序更新流程的验证,以确保无法安装保恶意补丁。
  • IoT 应用程序需要加密所有打算存储在 IoT 设备的可移动介质(即内存卡)上的个人数据,以及敏感的 IoT 设备和应用程序数据。
测试 IoT 应用程序中的安全性在开发阶段中识别安全缺陷和薄弱环节的最有效技术之一是执行代码评审,无论采用何种 IoT                应用程序类型。代码评审需要由具有适当资格的编码人员执行,他们最好独立于开发项目。确保代码评审是一个正式的周密过程,并考虑使用参加不同项目的开发人员和使用                IBM  等工具。AppScan Source 可在 SDLC                中的早期(在测试阶段之前)扫描和识别 Web 和移动应用程序源代码漏洞。它支持在                JavaScript、HTML5、Cordova、Java、Objective-C 或企业移动平台  中编写的代码。
代码评审看起来似乎是 SDLC 的一个高成本、耗时的附加步骤,但它们可以带巨大回报:避免高成本的重新测试,避免发布后的安全补丁,以及避免由于不安全的                IoT 应用程序遭到损坏而导致声誉受损。除了开发阶段中的代码评审之外,SDLC 的测试阶段还必须包含密集的安全测试,这些测试需要特定于每种 IoT                应用程序类型。
适用于 IoT Web 应用程序的安全测试技巧执行漏洞扫描和渗透测试来检测软件安全缺陷,这是在发布 IoT 应用程序之前采取的关键最后一步。测试应用程序代码可以防止常见的应用程序漏洞,比如 SQL                注入、跨站脚本、跨站请求伪造和缓冲区溢出攻击。
考虑这些适用于 IoT Web 应用程序的安全测试技巧:
  • 使用应用程序漏洞扫描工具(比如 )对应用程序执行安全测试,并识别 Web 应用程序漏洞。参阅 developerWorks                        教程“”,了解此方法的更多信息。
  • 确保开发人员理解发现不安全的应用程序编码时存在的问题。
  • 不要忘记保护所有测试 API。
  • 执行渗透测试,该测试会重复熟练的黑客采用的攻击方法。渗透测试必须由经过认证、经验丰富的白帽子黑客 (CEH)                    执行。该方法被视为任何面向互联网的应用程序的安全最佳实践。在应用程序发布之前,在执行任何重大编码更改之后,以及在这之后的每年都执行渗透测试。
  • 确保渗透测试人员能够向开发人员充分解释所找到的漏洞和它们的攻击方法。
适用于 IoT 移动应用程序的安全测试技巧使用一个专业的移动应用程序漏洞扫描工具,比如 ,该工具专为安全测试移动应用程序而设计。IBM                Application Security 不仅检测移动设备应用程序漏洞,还向开发人员显示了漏洞的细节,以及风险水平和解决该漏洞的解决方案。
适用于 IoT 设备软件的安全测试技巧IoT 设备软件必须由专门在 IoT 设备软件中查找漏洞的安全专业人员和公司来执行测试。
结束语安全 IoT 应用程序的开发,会将开发团队的职责拓宽到熟悉的传统舒适领域以外。从长远来讲,在计划或设计阶段花时间分析安全功能和隐私需求,会给安全                IoT 应用程序的开发带来巨大回报。通过在开发阶段使用 IBM Security AppScan Source                执行代码评审,开发人员可在开发过程中及早检测和更正代码漏洞,这比在测试阶段检测和更正漏洞更高效。在测试阶段,开发团队需要使用 IBM                Security AppScan 和 IBM Application Security on Cloud                等工具再现黑客执行的应用层攻击。AppScan                包含有帮助的视频教程、漏洞解释和安全编码示例,这些都可指导开发人员改进其安全编码技术,增加他们对编写安全 IoT 应用程序的信心。
这些开发技术减少了总体开发时间和成本,显著降低了出现 IoT 应用程序漏洞的几率,让开发团队受益匪浅。IoT                应用程序发布后发现的应用程序漏洞,尤其是在被黑客发现这些漏洞时,可能需要很大的代价才能解决问题,甚至有可能损害企业和开发团队的声誉。
返回列表