如中国领先的固件二进制安全分析平台提供商 Ruler Technology产品已在多个“国家队”客户中使用!
在取得这些成果的同时,我们还发现,当我们与一些潜在客户和合作伙伴进行技术对话时,客户仍然提出了一些问题(或误解)。 即使是一些扎根于安全领域多年的技术人员,在面对固件二进制安全分析时,仍然感到迷茫。
这些问题包括:
基于源的分析可以检测所有软件漏洞吗?
基于源的分析是否更准确?
为什么使用二元CWE分析,它与成分分析有何不同? 如果我们已经对设备进行了严格的测试,包括源**审计、网络渗透、网络泄漏等,我们还需要固件二进制安全分析吗?
让我们一一回答。
答案是否定的。 实际上源分析工具无法检测所有软件中的漏洞。众所周知,在现代软件开发中,没有人会重新发明轮子; 几乎没有人会从一开始就从头开始构建一个全新的系统; 在嵌入式(或智能设备)开发中尤其如此。 例如,Linux 是最常用的操作系统之一,它的驱动程序或一些第三方非开源组件一般是作为编译的二进制文件分发的,开发者只能通过二进制文件引用和链接它们。 这部分内容根本无法通过源分析工具进行检查因为没有来源**。
更重要的是,在某些行业,例如,整车主机厂,大多数时候很难获得T1 T2业务配件的来源,但他们对车辆的安全负责。 在这种情况下,源分析工具是完全无效的。
回到我们关注的设备终端通过二进制安全分析,Ruler Technology的工具可以覆盖设备固件的整个范围,包括操作系统、第三方组件和业务应用程序,以及敏感信息和安全问题,例如敏感信息、配置文件和证书安全性这些都是源审核工具无法涵盖的内容。 下图为奇物科技终端固件安全分析平台能力覆盖范围。
答案是否定的。 由于源分析在技术上不如二进制分析难度大,因此技术人员在这方面存在误解。 来源 ** 分析 (SAST)。它大致分为两所学校:第一所学校纯文本特征分析的体裁; 第二派,编译环境与分析类型相关联。 它们建立在 AST 分析的编译原理之上,并更进一步,使用基于 IR CFG 的分析方法。
在第一派系中,分析工具会将源视为纯文本,不会考虑任何**具体操作环境的相关信息,使用起来非常方便。 但事情是这样的,这些工具检测到的对象(源,甚至是片段)并不是最终的对象,最终导致误报率可能非常高。实际上,对于 C C++ 等编译语言,最终的二进制目标代码会因目标 CPU 平台和编译器选项而有很大差异。
在第二派系中,在检测之前,分析工具将链接到编译环境。但是经常使用这样的工具仅支持少数流行的平台和系统,例如 x86 Windows Linux。 在嵌入式软件正在开发中系统环境、编译环境、开发工具链都非常复杂多样几乎没有办法支持此类工具。
下图显示了基于基准测试的国际一线来源**分析工具的假阳性率(超过 50%)。
公司的二进制分析是对最终二进制的分析,这是程序的最终形式,所以我们有办法将误报率保持在相当低的水平。
二进制组件分析主要关注已知漏洞,而二进制CWE分析主要关注未知漏洞。 二进制组件分析的一般技术原理是,根据二进制文件特征的对比,确认程序名称和版本信息,然后从公共漏洞数据库中匹配相应的漏洞信息。 所以从本质上讲,二进制组件分析并不能直接发现漏洞。 二进制CWE分析基于各种漏洞的原理,对最佳逻辑进行深入分析,挖掘出漏洞。
标尺技术 二进制CWE分析技术该过程与源分析相反,后者需要对二进制可执行文件进行反汇编,然后将 sink 代码映射到自定义中间表达式 (IR) 层以构建特定的语义结构,然后基于该 IR 层进行漏洞分析以发现新的风险点。 与源分析不同,源分析工具多基于规则匹配的风险点检测,而标尺科技的二进制CWE分析技术全面采用“符号执行、混合执行、模糊测试、污点分析”等多种分析方法,构建了一套复杂的分析模型,采用动态和静态的结合这可确保将误报率保持在相当低的水平。
同时,尺子技术也通过了虚拟执行,函数调用堆栈等创新手段,明确展示脆弱性形成机制这使分析师能够快速识别风险。效果如下图所示。
是的。 来源**审计、网络渗透、网络泄漏扫描等传统的检测方法侧重于网络层面的问题,包括应用层协议,例如 OWASP TOP10。 究其原因,传统网络安全的基本假设是PC或服务器等核心设备受到物理控制(如对数据中心或办公环境的物理保护),黑客只能从网络进行攻击。
但在嵌入式物联网场景中,我们的设备大多在物理上不受控制例如,社区中的智能电表、充电桩、摄像头等,黑客可以轻松获取终端设备的物理样本。 基于我们多年的攻防经验,以及近年来其他安全研究团队的案例,对终端设备进行攻击的最核心步骤是反转设备中的固件和应用程序识别可利用的漏洞,以便它们可用于实施多个攻击媒介,例如:
冒充云端向设备发送恶意控制指令;
冒充设备向云端发送大量虚假设备数据,妨碍业务正常运行;
在设备中植入木马以窃取敏感信息;
以物联网终端设备为跳板,攻击其他目标;
此外,由于核心算法被反转,也存在核心知识产权泄露的风险。
而这些都是传统检测方法根本就不注意的事情。 因此固件二进制安全分析是发现设备端安全问题不可或缺的手段。
好吧,这就是这个问题的全部内容。 如果您有任何其他问题,请与我联系。 我们将更深入地回答您。 谢谢!