嵌入式系统有一个不幸的事实:一旦在野外部署和使用,它们就永远不会 100% 安全,尤其是在世界变得更加互联的情况下。历史上对这些系统应用的安全工程方法松懈,进一步加剧了这一现实。大多数设备专注于特定于设备的软件,而经常忽略操作系统和较低级别的组件。
随着数十亿嵌入式系统在全球范围内使用并且越来越多地连接在一起,攻击者有很大的动机设计新的、阴险的方法来提取敏感数据和/或重新利用现场设备以谋取个人利益。
此外,设备本身和特定功能的软件通常需要随着时间的推移而更新,以应对新的安全威胁。犯罪黑客不断开发用于毁灭性攻击的新方法,例如今年早些时候对佛罗里达州一家水处理厂的攻击。
让我们来看看 10 个可能危及我们业务、财务和关键基础设施中的嵌入式系统的致命安全错误。
- 让您的敏感数据和应用程序保持清晰
网络犯罪分子很容易以明文形式获取数据并在暗网上出售或将其发布到公共文本存储网站上。
此外,犯罪分子可以轻松地进行逆向工程和恶意修改明文应用程序。犯罪黑客这样做是为了暴露秘密、敏感的算法或导致您的代码以意想不到的方式执行。
- 在没有安全、经过身份验证的引导的情况下启动您的系统
【crm|嵌入式系统安全的10个致命错误】网络犯罪分子可以对未通过安全启动过程启动的设备进行 root。此外,他们还可以更改您的引导加载程序、操作系统、UEFI BIOS 和硬件/软件配置,或将其替换为恶意版本。
更糟糕的是,即使完全重新安装主机操作系统,其中一些恶意修改也会持续存在。
除了以硬件为基础的经过身份验证和安全的引导实施之外,您无法保护引导序列免受篡改引导加载程序并随后危及系统网络弹性的攻击。此外,缺乏安全启动还会导致各种攻击和设备重新利用。
- 让未经授权的软件访问未经授权的组件
如果不限制仅访问完成工作所需的那些组件,您就会留下意想不到的开口,使攻击者可以从一个组件转向另一个组件。例如,共享一个硬盘驱动器或内存组件的两个软件可以通过该硬件进行通信(可能通过利用各种侧信道攻击),利用一个漏洞访问另一个。
- 忽略或错误配置容器化或隔离机制
错误配置软件容器或忽略软件隔离可能允许网络犯罪分子提升权限并获得对系统的未经授权的根级访问(完全控制)。所谓的容器和/或虚拟机突破使攻击者能够内省和修改系统上其他容器或来宾的内容,并可能以意想不到的方式与基于云的服务进行交互。
- 留下太多的攻击面
通过采用极简主义的软件开发方法,仅添加实现软件任务所需的功能,网络攻击者将更难以利用您的代码谋取私利。
- 发放不受限制的特权
有一些简单但相对未使用的机制可用于限制对各种权限的访问。在 Linux 环境中最简单的情况下,我们可以从标准的用户/组访问控制开始,添加使用后删除功能的能力(即特权端口可用于启动服务),然后进入Linux 环境中的各种其他安全选项集。
虽然我们特别关注边缘设备上的不受限制的特权,但同样的概念也适用于您的整个 DevOps 管道、云基础设施和企业网络。
- 假定信任并允许未经身份验证的通信
使用默认设置或易受攻击的协议会欢迎未经授权的访问并邀请恶意流量进入您的系统。
- 未能检查输入
程序员检查从 Web 表单提交到 RF 捕获的所有类型数据的输入,以确保受信任的用户将预期数据发送到他们的软件。预期数据包括数据的格式和内容。输入验证可防止不受信任的用户发送带有恶意意图的意外数据,并假设所有并非源自应用程序本身的数据都是不受信任的。
- 错失的安全编码机会
但是通过安全的编码工作流和自动化测试,您可以在开发管道中尽早发现并修复漏洞。请记住:安全和安全开发流程不是单点解决方案,需要一起实践。
- 使用希望作为安全策略
现代技术可以摄取和审核整个系统日志集合。行为工具可以识别您的网络和软件中的可疑活动。您甚至可以从使用当前威胁签名来识别攻击的恶意软件扫描中受益。通过结合这些努力,您可以全面了解您的安全状态并全天候更新。
相关实战:https://www.99qibang.cn/information/5fa47fc1378c4e10874840e21d41d79f.html
https://www.99qibang.cn/information/c53bfbb1c67c4ae38b0ffb4c33ebb4a1.html
https://www.99qibang.cn/information/a06d848dd22a42acbbfb76072cb722d1.html
https://www.99qibang.cn/information/da4f38053f444f4ea8eb97dbd67113e6.html
推荐阅读
- 计算机视觉教程|计算机视觉教程6-1(图解双目视觉系统与立体校正原理)
- python|手把手教你使用Python获取B站视频并在本地实现弹幕播放功能
- 微软|突发!马斯克 440 亿拿下Twitter!
- 陈大好(持续创造小而美的产品丨独立开发者 x 开放麦)
- 编程语言|想接私活时薪再翻一倍,建议根据这几个开源的SpringBoot项目(含小程序)改改~...
- 机器学习|机器学习之EM算法的原理及推导(三硬币模型)及Python实现
- 中间件|Dubbo 3.0 前瞻系列(服务发现支持百万集群,带来可伸缩微服务架构)
- C语言与C++编程|大厂已经不收一本以下学历的程序员了......
- 百度|这是真的「狠」啊