知识卡片

二进制文件来源让逆向工程变成查记录

普通读书笔记卡 · 1459.b

内容

安全事件调查时,如果需要搞清楚某次可疑部署对应的到底是哪段源代码,对二进制文件做逆向工程成本极高;但如果构建系统在生成每个产物的同时都记录下完整的来源信息(用了哪个代码仓库的哪次提交、依赖了哪些库、执行了什么构建命令),调查就变成了查一条签名过的记录,而不是拆解一个黑盒文件。这类来源信息的价值不只在事后调查:把”部署工件前先检查其来源是否符合预期”做成硬性关卡,很多供应链层面的攻击在部署那一刻就会被直接挡下。

参考来源

- 位置:《Google系统架构解密:构建安全可靠的系统》第14章《部署代码》14.5.1节二进制文件来源(源文件:`../OREILY动物书合辑 图灵新版/_epub-src/text/part0014_split_115.html`) - 结论依据:原文以安全事件调查为例说明"对二进制文件进行逆向工程的成本将非常高,而检查源代码则要容易得多……但要怎样确定二进制文件对应的源代码呢?"进而引出二进制文件来源信息记录构建时使用的核心工件、输入工件等字段以解决这一问题。 - 原始内容:假设调查安全事件时,发现在特定时间段内进行了部署,进而希望确定其是否与事件有关。对二进制文件进行逆向工程的成本将非常高,而检查源代码则要容易得多,最好是直接查看版本控制中的变更。但要怎样确定二进制文件对应的源代码呢?