有很多流行文化提到流氓人工智能和机器人,以及打开人类主人的电器。这是科幻小说、乐趣和幻想的东西,但随着物联网和连接设备在我们家中变得越来越普遍,我们需要更多地讨论网络安全和安全。
软件就在我们身边,很容易忘记我们是多么依赖代码行来做所有那些为我们提供如此多的创新和便利的聪明事情。
与基于 Web 的软件、API 和移动设备非常相似,嵌入式系统中的易受攻击代码如果被攻击者发现就可以被利用。
虽然不太可能由于网络攻击而导致一群烤面包机来奴役人类(尽管特斯拉机器人有点令人担忧),但恶意网络事件仍然可能发生。我们的一些汽车、飞机和医疗设备也依赖复杂的嵌入式系统代码来执行关键任务,这些对象受到威胁的前景可能会危及生命。
就像所有其他类型的软件一样,在创建阶段的开始,开发人员是最先接触到代码的人之一。与所有其他类型的软件非常相似,这可能是在产品上线之前无法检测到的阴险、常见漏洞的滋生地。
开发人员不是安全专家,任何公司也不应该期望他们扮演这个角色,但他们可以配备更强大的武器库来应对与他们相关的威胁。随着我们的技术需求不断增长和变化,嵌入式系统(通常用 C 和 C++ 编写)将被更频繁地使用,并且针对这种环境中的工具对开发人员进行专门的安全培训是抵御网络攻击的重要防御策略。
爆炸的空气炸锅、任性的车辆……我们真的处于危险之中吗?
虽然围绕安全开发最佳实践有一些标准和法规来保证我们的安全,但我们需要在所有类型的软件安全方面取得更精确、更有意义的进步。认为有人入侵空气炸锅可能导致的问题似乎有些牵强,但它以远程代码执行攻击的形式发生(允许威胁行为者将温度提高到危险水平),导致车辆被接管的漏洞也是如此。
车辆特别复杂,车载有多个嵌入式系统,每个系统负责微功能;从自动雨刷器到