固件安全入门日志Day.1

无论是公网连接还是独立的网络,固件都是控制嵌入式设备的核心。因此,必须要了解如何分析固件以执行未授权的功能。要开始进行安全测试和固件逆向,在即将进行评估时,请使用以下方法作为指导。该方法包括九个阶段,旨在使安全研究人员,软件开发人员和信息安全专业人员能够进行固件安全测试研究。

以下各节将在适用的情况下通过支持示例进一步详细介绍每个阶段。

原文报告如下:

https://scriptingxss.gitbook.io/firmware-security-testing-methodology/

可以通过以下链接下载 Ubuntu 虚拟机(EmbedOS),其中包含在本文档中使用的固件测试工具。有关 EmbedOS 工具的详细信息,可以在以下存储库 https://github.com/scriptingxss/EmbedOS 中的 GitHub 上找到。

 https://tinyurl.com/EmbedOS-2020
 
 https://github.com/scriptingxss/EmbedOS

0x01 信息收集

在此阶段,收集有关目标的尽可能多的信息,以了解其基础技术的总体组成。奇热尝试收集以下内容:

· 支持的 CPU 架构

· 操作系统平台

· 引导程序配置信息(Bootloader configurations)

· 硬件原理图

· 数据表

· 代码行(LoC)估计

· 源代码存储库位置

· 第三方组件

· 开源许可证(例如 GPL)

· 更新日志

· FCC ID

· 设计和数据流程图

· 威胁模型

· 以前的渗透测试漏洞报告

· 漏洞平台放出的漏洞(例如 BugCrowd 或 HackerOne)

上面列出的信息应在安全测试工作之前收集好,确保利用内部产品线开发团队来获取准确和最新的数据。了解应用的安全控制以及项目资料,已知的安全问题以及与漏洞有关的信息。

在可能的情况下,使用开源情报(OSINT)工具和技术来获取数据。如果使用开源软件,需要下载存储库,并根据代码库执行手动和自动静态分析。有时,开源软件已经使用了提供扫描结果的供应商提供的免费静态分析工具,例如 Coverity ScanSemmle 的 LGTM。例如,下面的截图显示了 Das U-Boot 在 Coverity Scan 中的信息摘要。

 https://scan.coverity.com/
 
 http://www.denx.de/wiki/U-Boot/WebHome

图片:U-Boot 覆盖率扫描

图片:U-Boot 覆盖率扫描分析

以下是 LGTM 在 Dropbear 的分析结果截图。

 https://github.com/mkj/dropbear

图片:LGTM Dropbear 分析

图片:LGTM Dropbear 分析结果

掌握了这些信息后,应进行威胁建模,以分析出攻击面和影响范围。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值