0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【原创】固件分析&固件检测技术&安全需求洞察深度详谈

jf_31521785 2023-02-16 18:23 次阅读

注1:本文为湖南底网安全信息技术有限公司安全团队原创文章,转发请注明出处

注2:该文已同步在今日头条"湖南底网安全"主页发布(原"电子技术论"主页),链接如下:https://www.toutiao.com/article/7197968863081284133/‍


前言

固件分析和固件检测的技术“深”不可测,其范畴包括但不限于CPU架构类型、指令集、应用程序、文件系统、操作系统、驱动、内核、boot、die晶圆、集成晶体管电路等等,越往底层越深不可测,其“段位”也越高,“固件分析”和“固件检测”如何差异化理解对于客户需求理解、甲方固件安全类产品设计、乙方固件安全类产品应用理念同样非常重要。

固件检测

重点指检测平台采用“模板”式方式对固件“特定”内容进行自动化、高效率匹配检测,如元信息提取、指定文件分析、开源或已知组件漏洞关联检测等功能,其特点是“呆板式”、高自动化、高效率检测,换而言之,平台“模板”以外、固件“特定”内容以外的固件无法检测,当然没有绝对的固件“检测”,很多厂商提供的固件检测产品定会附带部分固件分析功能,侧重点不同而已。

固件分析:

行业内人士最先想到的是IDAPro,这只是固件分析的有力工具之一,最重要的是有“目的”的会用活用这类工具。重点指平台具备对固件所有内容或部分内容进行反汇编逆向解析的能力,平台逆向解析的能力包括且不限于:函数调用关系图(非函数对应关系图)、反汇编指令及对应地址的解析呈现、内存数据及对应地址的解析呈现、指令的拓展解析(伪代码、寄存器映射、指令功能注释等)、指令/RAM的内存分布解析、动静态模拟逆向仿真等能力,特点是强调平台反汇编逆向解析能力、人工分析的结果。不少国际顶尖安全团队时不时爆出某某设备或系统的固件高危漏洞或隐患,不仅仅单独依托固件自动化检测平台检测出来,而主要是靠人工分析、摸索、测试、挖掘、验证出来。

关键点

固件检测、固件分析的结果能否真正打动客户、撬动客户内心尤其是引起客户高层重视甚至震撼业界,是争取客户、打动客户并赢得口碑的关键。这需要团队各方面的努力,固件分析服务前期、中期、末期各阶段都不容忽视,也就说所谓的“全生命周期、闭环理念”。

固件分析工作如何开展?

1.首先要能够通过各种途径获取到分析对象--固件,固件提取/固件截获监听/uboot内存导出、root权限下载、厂商索要等都是可以尝试的方式。

2.明确或尝试明确固件对应设备/应用功能特点、通信接口、业务功能、技术参数等信息,初步总结出固件分析的最终达到目的。避开设备/应用信息不谈的固件分析是“不负责任”或“情不得已”的固件分析。

3.确定固件对应处理器的内核种类、指令集,明确该固件是应用处理器的固件还是微控制器的固件,因为这是两个固件分析/检测的方向,这一步相对容易。

4.熟悉固件对应芯片型号,深入分析芯片datasheet,想办法确定其内存分布空间、代码运行机制、代码加载/运行地址等细节,这一步较难、很抽象,需要有较深的相关技术背景和基础学科沉淀。

5.固件逆向分析,这一步是最难、最核心一步,对技术基础学科、技术功底、技术面、心理素质、逻辑思维等方面要求极高,尤其对硬件底层综合技术和固件编程正反向技术开发能力兼备的要求极高(这里涉及的技术点太多太广,不展开论述),这也是最容易失败、遭遇挫折的一步,分析的方法没有固定也不会固定,主要靠个人或团队经验,不同的设备,采取的固件分析方法、思路都不同。千变万化、变幻莫测。

6.“固件分析”相关的工作开展,除了讲究技术策略、技术功底外,还有什么很重要?

答曰:发散思维,最忌讳墨守成规,鼓励“自主创新”、“天马行空”、“头脑风暴”式的探索、挖掘、验证,其实这和IOT设备渗透测试、模糊测试的思维类似,这句话表面看似好理解,真正能融会贯通、深入理解运用到实际工作中却很难,包括我们安全团队自己也需要不断学习摸索。另外需持续不断学习“新”的技术知识,还要不断巩固夯实“旧”的技术基础。

7.“固件分析”与“固件攻击”两者您能联想到什么?

两者应紧密结合起来考虑,“固件攻击”是“固件分析”的升华版,以攻促防是“固件攻击”的核心出发点,也是我们安全团队的职业道德准则,只做固件分析,不考虑固件攻击,会有点“亏”,因为具备了固件分析的能力,固件攻击也近在咫尺,固件分析是服务,固件攻击是固件分析的“反”面教材,直接演示效果,很有“观赏性”、“警示性”,是最能直接拨动客户高层内心“琴弦”的”说客“,也是树立口碑、品牌推广最有效、花费成本最低的捷径之一。

关联技术不可忽略

国内或国际顶级固件分析、硬件底层、网络底层安全研究团队,我们坚信他们用到的技术绝非单一、孤成一体,而是灵活多变、有的放矢、借助其它外部关联技术、工具相辅相成、环环相扣、循序渐进的开展,包括且不限于KPI密钥管理体系、嵌入式正向开发编程、ARM硬件体系架构、汇编指令、证书文件编码格式、加解密算法特征掌握、动态协议分析验证、标准和非标准安全/非安全协议(TLS、telnet、ssh、UDS、私有CA认证协议等)熟悉、TCP/IP、CANUARTI2C、SPI、USB等各常用总线协议的理论知识和实践应用甚至具备开发级能力……太多太多(这是个漫长的过程,需要个人及团队不断沉淀积累,非一朝一夕之功)。

我们在分析固件时,其对应的设备种类、功能千变万化,没有上述关联技术支撑,很难有重大突破,当然即便有关联技术支撑,固件分析整个过程也很艰辛,尤其是越来越多的芯片厂商逐渐重视固件的防护,矛和盾之间的彼此竞争赛跑,谁落后就得“挨打”。

这里着重强调下TCP/IP底层网络攻击,所谓底层网络攻击,主要是相对于上层应用来区分的,典型的上层TCP/IP网络攻击包括且不限于:HTTPS截获篡改攻击、SQL注入、跨站脚本攻击(XSS)、DNS欺骗、钓鱼网站诱导等等都是TCP/IP应用层攻击,那么TCP/IP底层协议攻击包括哪些?又如何理解这些攻击背后的防护理念和技术竞争力?

答曰:包括且不限于DHCP攻击、ARP欺骗、DOS攻击、TCP半连接攻击、SYN洪流攻击、IP欺骗、IP报文攻击(如TTL值篡改)、路由表攻击、MAC欺骗、ICMP协议攻击(重定向、IPtrace嗅探)等等,运用上述攻击方法理论知识并同时具备TCP/IP驱动层编程能力(类似LINUX或WIN系统内核级TCP/IP编程),就可实现针对任意普通局域网内(相比军事网络、特定安全防御网络而言)任何上网设备,如台式机PC、笔记本电脑手机、工控机、其它IOT智能联网设备,均可远程无接触、无需授权即可篡改这些设备的IP配置信息,如IP地址、DNS、网关等关键配置,并可获取该网络里所有或指定设备里各应用程序与外网通讯的所有TCP/IP数据流(具体可详见湖南底网安全官网另一篇文章:模拟黑客攻击视频),当然,也可进一步配合架设外部DNS欺骗服务器,实现典型的DNS欺骗攻击、网页欺骗攻击等。

结束语

上述内容均聚焦于固件分析、硬件底层、网络底层安全分析、攻防及检测三大块,这三大块是系统最脆弱、最易被攻击的地方,虽然现在很多安全公司宣称有很多安全防护技术,如沙箱隔离防护技术、零信任认证体系等,但这些都是基于上层的防御,对于硬件底层攻击毫无抵抗之力。固件分析、硬件底层、网络底层这三大块每一块都是个重要领域、一门专业,很多公司甚至是设专人专岗,独成一体甚至独成一团队,但三者又是相辅相成,你离不开我,我离不开你,我们坚信,顶级的硬件底层安全研究团队,分工明确,看问题、看需求、做事情能大胆创新、融会贯通、灵活有效运用不同技术方法、技术策略、技术验证等手段达成目标。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网络安全
    +关注

    关注

    9

    文章

    2945

    浏览量

    58678
  • 固件
    +关注

    关注

    9

    文章

    519

    浏览量

    22332
  • 物联网安全
    +关注

    关注

    1

    文章

    111

    浏览量

    17126
  • 硬件安全
    +关注

    关注

    0

    文章

    13

    浏览量

    2441
收藏 人收藏

    评论

    相关推荐

    STM中&,&&,|,II意思

    本帖最后由 林天择 于 2017-9-8 17:13 编辑 各位,我最近在自学STM32,在看固件库的时候,发现了个问题。就是在图片里面的固件库所示,例子里面的and,程序用的是|,不是应该
    发表于 09-08 17:05

    R&S FPH手持频谱分析仪的特点特性和应用优势

    R&S®Spectrum Rider FPH 是一款便于使用的多功能仪器,采用具有吸引力的坚固设计。 此基本分析仪的频率范围为 5 kHz 至 2 GHz。 频率上限可通过激活码轻松扩展至 3 GHz 或 4 G
    发表于 12-08 09:38 1241次阅读

    R&S SMC100A射频信号源的主要特点及应用分析

    此类仪器灵活且功能广泛,适合维修和维护实验室。 因小巧尺寸及轻量化设计,R&S®SMC100A 也非常适合现场应用或培训及教育环境。
    发表于 12-08 09:46 1308次阅读

    R&S ZNLE矢量网络分析仪的主要特点及应用优势

    R&S®ZNLE 矢量网络分析仪契合“Measurements as easy as ABC”的标语: 易于配置、易于校准、易于测量。 闻名遐迩的优质设计、创新的用户界面以及紧凑尺寸使 R&
    发表于 12-09 09:29 1177次阅读

    R&S FSC3台式频谱分析仪的主要特点及应用范围

    罗德与施瓦茨的R&S®FSC是一款高性价比,小体积的台式频谱分析仪,它具备罗德与施瓦茨一贯的高品质,可以满足所有重要的频谱分析任务。R&
    发表于 12-09 09:41 919次阅读

    R&S FSL6台式信号分析仪的功能特点及应用范围

    R&S®FSL 是一款多功能而且经济实用的信号分析仪。R&S®FSL全系列标配28MHz的信号解调带宽,远高
    发表于 12-09 09:46 1124次阅读

    SEM&EDS分析在PCB失效分析中的应用

    PCB失效原因越来越多,在以前看起来难以发现的问题,现在可以用扫描电子显微镜与能谱(SEM&EDS)分析出来。本文介绍了在PCB生产过程中利用SEM&EDS发现的三个较为经典的案例,介绍了该
    发表于 10-20 15:26 4873次阅读
    SEM&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;EDS<b class='flag-5'>分析</b>在PCB失效<b class='flag-5'>分析</b>中的应用

    欧拉 Summit 2021 安全&amp;amp;可靠性&amp;amp;运维专场:主流备份技术探讨

    在openEuler Summit 2021 安全&amp;可靠性&amp;运维专场上,高冲对为数据安全而生,统信软件备份还原工具分享。
    的头像 发表于 11-10 17:42 1548次阅读
    欧拉 Summit 2021 <b class='flag-5'>安全</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;可靠性&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;运维专场:主流备份<b class='flag-5'>技术</b>探讨

    存储类&amp;作用域&amp;生命周期&amp;链接属性

    七、链接属性前言本篇文章将会为大家介绍一些变量相关的存储属性、作用域、生命周期以及链接属性的一些知识,有助于大家更好地理解程序,分析程序。一、存储类&amp;amp;作用域&amp;
    发表于 12-09 15:51 5次下载
    存储类&<b class='flag-5'>amp</b>;作用域&<b class='flag-5'>amp</b>;生命周期&<b class='flag-5'>amp</b>;链接属性

    A2B车载音频总线-车机音频&amp;amp;amp;麦克风阵列测试

    基于美格信系统的A2B车载音频总线-车机音频&amp;amp;麦克风阵列测试应用笔记
    发表于 09-19 11:04 2443次阅读
    A2B车载音频总线-车机音频&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;麦克风阵列测试

    如何区分Java中的&amp;amp;和&amp;amp;&amp;amp;

    首先给i赋值为0,如果i大于10,并且i++等于1,则输出“错误”和i的值。否则输出“正确”和i的值。分别用&amp;和&amp;&amp;运行,观察运行结果的不同。
    的头像 发表于 02-24 10:46 1223次阅读
    如何区分Java中的&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;和&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;

    if(a==1 &amp;amp;&amp;amp; a==2 &amp;amp;&amp;amp; a==3),为true,你敢信?

    接下来咱们来尝试解决这个问题。假设 if(a==1&amp;&amp;a==12)是等于 true的,那么a肯定不可能是一个“普通的变量”。它势必要有能力在执行的时候能够动态改动值。
    的头像 发表于 05-08 11:01 752次阅读
    if(a==1 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; a==2 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; a==3),为true,你敢信?

    HarmonyOS &amp;amp;amp;amp;润和HiSpark 实战开发,“码”上评选活动,邀您来赛!!!

    润和HiHope社区与华为开发者联盟 诚邀各位技术大咖与开发实力派 来show出你们的开发成果 HarmonyOS &amp;amp; 润和HiSpark 实战开发,&amp;l
    的头像 发表于 04-11 15:33 828次阅读
    HarmonyOS &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;润和HiSpark 实战开发,“码”上评选活动,邀您来赛!!!

    你使用shell脚本中的2&amp;gt;&amp;amp;1了吗?

    run_cmax > ./starrc_cmax.logs 2>&amp;1中的 2>&amp;1是啥意思?
    的头像 发表于 07-30 14:44 1069次阅读

    摄像机&amp;amp;amp;雷达对车辆驾驶的辅助

    摄像机&amp;amp;雷达担负着可辅助驾驶员安全驾驶的、高级驾驶辅助系统的传感功能。尼得科正在进一步推进摄像机&amp;amp;雷达的高性
    的头像 发表于 11-26 10:02 518次阅读
    摄像机&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;雷达对车辆驾驶的辅助