85、嵌入式设备代码调试、仿真及厂商定制代码安全分析

嵌入式设备代码调试、仿真及厂商定制代码安全分析

1. 代码调试与仿真

1.1 代码调试

在嵌入式设备上进行代码调试既不方便,很多时候甚至无法实现。市面上的商用嵌入式设备,其主板很少具备调试功能。与开发板相比,已发布的设备没有用于监控 CPU 和内存运行状态的调试外设,同时也不会提供包含技术文档和调试软件的完整调试解决方案。所以,通常无法像开发者那样直接对设备进行调试。

为了完成调试任务,分析人员会采用替代方法:
- 使用 GDB stub 调试时,设备需在启动前执行一段存根代码,以建立远程调试通道,之后存根会下载并执行原始固件。
- 若设备系统为嵌入式 Linux 系统,分析人员可将调试服务器附加到特定的运行进程上进行调试。

但实现这些功能不可避免地需要人工干预。由于厂商不太可能为普通用户提供调试权限,分析人员要么在启动过程中插入存根,要么获取设备的根权限,而这两者都不容易实现。

1.2 代码仿真

仿真是实现动态代码分析和检查运行时信息的一种有前景的替代方法。先进的仿真器支持嵌入式设备采用的大多数架构(如 MIPS、ARM),仿真开销也在可接受范围内(根据相关资料,比原生代码执行慢四倍)。然而,仿真的一个主要限制是,通常需要进行完整的系统仿真才能正确执行代码。

对于嵌入式系统镜像,其仿真不像桌面系统那么容易。桌面操作系统启动仅需少数 I/O 设备(如硬盘、屏幕等),这些 I/O 设备的仿真协议清晰。而嵌入式设备,由于分析人员难以了解设备的外设细节和板级支持包,因此通常无法进行完整或近似的系统级仿真。

此前有人尝试通过进程级仿真或将 ELF 可执行文件在另

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值