从嵌入式系统安全漏洞中获得的3个教训

几年前,我正在为一个客户进行项目 涉及嵌入式Linux机器。我打算在周末旅行 但是鉴于项目时间表,至关重要的是仍要取得进展。的 原型设备无法顺利运行,因此我们决定将其连接到 互联网,这样我就可以轻松地远程访问它。星期五晚上系统 已连接到网络,当我星期天晚上返回时,我发现 中国黑客设法访问了该系统,并将其添加到 僵尸网络。事实证明,此系统的危害时间(MTTC)为 相对较短,少于48小时。虽然系统很容易恢复 由于被黑客入侵,我认为在这一小事件中有几点 可以为嵌入式系统开发人员提供非常好的课程。 

第1课–知道您的系统在同时遭受威胁(MTTC)

开发人员可能熟悉诸如以下的常用术语 同时发生故障(MTTF)或同时进行维修(MTTR),但系统安全 也可以从同时折衷(MTTC)的角度来看待。 (我有 也听说这被称为同时违反MTTB)。 MTTC可以定义为 攻击者破坏或访问系统所需的平均时间 并获得所需的资产。这些资产可以是数据,也可以是 系统固件或远程控制设备的能力。

显然,目标是使MTTC足够大 攻击者将决定破坏该漏洞所需的时间和资源 系统不值得付出,因此不值得花时间和精力。这个 要求开发人员了解三个关键点:

  • 他们在系统上拥有的数据和资产 应该受到保护
  • 获得的攻击和方法 获得这些资产
  • 防止系统受到攻击的方法 这些类型的攻击

实际上,您会发现这三点包含在 Arm平台安全架构(PSA)以及描述如何 执行安全威胁分析。

开发人员还需要确保将MTTC与 充分保护其系统和客户,同时 开发成本和进度表。 

第2课–始终采取二级安全措施

可以花费大量的精力来尝试使系统最大化 MTTC,但嵌入式系统(尤其是物联网连接系统)面临着 有趣的挑战。他们可能会无限期地连接到互联网 意味着即使MTTC非常大(例如三年),系统仍可能 易受攻击,因为该系统可能已使用了十年或更长时间,并且可能 使用自动化攻击了24/7。

为了尝试使MTTB保持连接设备的状态 合理的做法,采取次要安全措施可能很有意义 通常是为了提高物理安全性。例如,人身安全是 通常根据了解安全知识的人需要花费多长时间来进行评分 成功突破。您可能会发现,在家用防火装置上 文档,评分范围从几小时到15分钟左右不等。甚至 精致的保险箱可能没有超过几个小时的额定值。这就是为什么 通常会有次要的安全措施,例如安全摄像机或 在小于额定时间范围内巡视的保安人员 breach time!

相同的想法可以应用于嵌入式系统。如果你 了解您的系统MTTC,您可以放置​​安全监视程序 定期清理内存,重新启动系统或执行其他活动 旨在挫败任何已开始通过 系统。 (这绝不是一个新概念,我工作的许多空间系统客户 通常会自动重置硬件,以确保长时间 持久的可靠性,并在锁定时恢复航天器 或经历了一些意外事件)。

第3课–黑客总是比您想象的要快

如果您已经将系统放置在互联网上, 问我们任何人都需要多长时间才能破坏系统,没有人 会在48小时内给出答案。实际上,我知道我们所有人 尽管将系统暴露48小时就可以了。拥有如此多的系统 互联网,如何在数十亿个 设备在48小时内?即使找到它,也肯定会花费 应用已知漏洞并访问系统的时间很长。这是所有的了 optimistic thinking!

有运行24/7的程序正在探测,搜索 并测试寻找漏洞的系统的防御措施。有可能 检查您的家庭或企业路由器日志很有启发性 统计。无疑,您每天都会发现几次遭到挫败的攻击 或被阻止。黑客拥有快速找到您设备的工具 开发系统,数据, 您的客户数据和您的知识产权将受到威胁。作为一个 乐观的工程师改变世界,你不能,不能乐观 在保护嵌入式系统方面。

结论

现在有很多公司正在连接他们的 产品到互联网,不幸的是,有许多产品正在 乐观的安全方法。公司经常赶赴市场,离开 安全性,以后可以添加。开发人员至关重要 了解他们的系统MTTC。实际上,如果这是 必须在每个产品的包装盒上做广告的东西。你不是吗 有兴趣知道您刚购买的新智能锁上的MTTC是什么 并假设正在保护您的房屋?

我们引入安全物联网的唯一方法是 在开发工作的开始阶段就制定安全策略,使用 隔离以对我们的软件进行分区,了解我们的MTTC并就位 次要安全措施,旨在增强我们的第一道防线。是, 这将需要更多的时间和金钱,但是值得保护您的精力 客户和您自己的知识产权?

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.