加入收藏 | 设为首页 | 会员中心 | 我要投稿 西双版纳站长网 (https://www.0691zz.com.cn/)- 数据计算、IT业界、服务器、教程、云日志!
当前位置: 首页 > 运营中心 > 交互 > 正文

如何在物联网设备中寻找繁琐的恶意软件

发布时间:2021-06-07 13:23:44 所属栏目:交互 来源:互联网
导读:物联网固件分析 有各种各样的开放源代码和封闭源代码工具可以帮助进行固件分析,最好的方法是结合由经验丰富的固件分析师建议的工具和技术。 让我们从最全面的固件分析工具Binwalk开始,Binwalk扫描固件二进制文件并查找已知的模式和签名。 它为物联网设备中
物联网固件分析
有各种各样的开放源代码和封闭源代码工具可以帮助进行固件分析,最好的方法是结合由经验丰富的固件分析师建议的工具和技术。
让我们从最全面的固件分析工具Binwalk开始,Binwalk扫描固件二进制文件并查找已知的模式和签名。
它为物联网设备中使用的各种启动程序和文件系统收集了大量签名,它还具有用于通用加密和压缩算法的签名,以及用于解压缩和解码的相应例程。
Binwalk还能够提取其在固件二进制文件中找到的组件。
以下屏幕截图显示了对示例固件二进制文件的Binwalk扫描的输出:
 
Binwalk扫描输出
在这个屏幕截图中,Binwalk已经找到并打印出了头文件、引导加载程序和Linux内核以及文件系统。还有从标头文件和组件本身提取的元数据细节,比如每个组件的类型和大小、CRC校验和、重要地址、CPU架构、图像名称等等。现在,你可以继续使用Binwalk本身来提取上述部件,或者根据Binwalk找到的开始偏移量手工计算大小并提取部件。
在解压缩固件组件之后,你可以继续对文件系统进行解压缩、解压甚至挂载,并开始研究文件系统内容。你还可以查看反汇编程序中的引导加载程序代码,或者通过调试器对其进行调试。
但是,进行固件分析并不总是那么简单。固件种类繁多,以至于了解其结构和提取组件通常非常复杂。
让我们仔细看看另一个示例固件,并尝试了解其结构。
1. Binwalk firmware.bin
Binwalk扫描未显示任何结果,这意味着Binwalk找不到任何已知的签名。
 
Binwalk扫描输出
在本文的示例中,我们可以看到简单的Binwalk扫描不是很有帮助。但是,请注意,还有其他工具和技术可以用来了解有关此固件结构的更多信息。
2. 文件firmware.bin
接下来让我们尝试固件二进制文件上的Linux文件实用程序。
 
文件实用程序输出
文件实用程序将文件类型显示为Targa图像数据,通过查看二进制文件的开头,并对Targa图像数据签名进行Google搜索,得到的结果显然是假的。
 
固件二进制文件的第一个字节
这是因为固件文件的第一个字节0x01010000与Targa图像数据签名匹配,参见上面的截图。
3. Binwalk:E firmware.bin
让我们使用Binwalk的另一项功能,并检查固件二进制文件的熵。
使用“ -E”命令选项运行Binwalk会给出固件文件的熵图以及一些其他详细信息,例如下降和上升熵的偏移量。
 
熵的详细信息
 
熵图
熵值接近1表示压缩,较低的熵值表示未压缩和未加密的区域。从上面的屏幕截图可以看出,偏移量55296 (0xD800)是高熵部分的开始。
还有另一个工具可以帮助可视化二进制文件,借助binvis.io,你可以在两个并排的窗格中查看固件文件的内容及其可视化,不同的部分根据它们的熵(binvis.io)用不同的颜色表示。
 
可视化binvis.io创建的固件
4. Binwalk:A firmware.bin
Binwalk还可以扫描二进制文件以查找常见的可执行操作码签名。
 
在文件中找到的第一个函数序言
 
在文件中找到的最后一个函数序言
正如我们从上面的截图中看到的,操作码签名检查的结果实际上非常有用!首先,我们可以看到固件属于ARM设备。
其次,如果我们考虑第一个和最后一个函数序言签名的偏移量,我们会得到一个指示,即这些是固件二进制文件中包含代码的部分。
从屏幕截图中,我们还可以看到在函数0xD600处找到了最后一个函数,该地址仅在熵上升部分之前的0x200字节处。由此,我们可以进行有根据的猜测,即该偏移量很可能是启动加载程序代码的结尾和压缩内核模块的开头。
5. Hexdump -C
hexdump -C firmware.bin | grep -C 4 -e “^*$” 
既然我们知道了固件文件中某些组件的大致边界,可以尝试通过查看这些区域周围固件文件的实际内容来确认这些边界偏移量。
如果我们通过十六进制转储运行固件文件,并查找仅包含星号“*”的行,我们可以找到编译器为每个固件组件添加的填充。

(编辑:西双版纳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读