设备固件的安全是构建物联网设备安全的基础环节,它的安全问题将影响到整个系统。在真实的Hacking场景中,我们常常需要提取固件,将其解压缩,以便对操作系统和应用程序进行逆向和安全审计。最近的一个例子,请参阅我们的博客《Hacking
the Virgin Media Super Hub》(https://www.contextis.com/resources/blog/hacking-virgin-media-super-hub/)。这篇文章是《IoT设备固件分析教程》系列文章的第一篇。本文将介绍设备固件的存储位置和存储方式。未来的博客将关注固件的提取和解压方法(包括较经济的,也包括昂贵的方案)。
我们讨论低密度存储设备时,术语NOR Flash和EEPROM通常可以互换使用,它们可以单独封装也可以集成在片上系统中。有许多介绍不同类型Flash存储器之间区别的资料,这里不做过多的介绍,只强调一下,NOR
Flash/EEPROM最重要的优点在于它们是字节可寻址的(译者注:原文还提到字节可擦除,似乎有误)。这意味着,你可以直接从NOR
Flash/EEPROM执行代码,一次一条指令(eXecute
in Place or XiP)。这使得NORE
Flash非常适合存储低级别的程序,例如启动代码。因为,它不需要任何驱动程序或Flash控制器来读取它存储的内容。
NOR Flash通常有串行和并行两种类型。串行NOR Flash通常采用小型封装,例如SOIC-8,看起来如上图所示。