2 个版本
0.0.2 | 2023年1月17日 |
---|---|
0.0.1 | 2023年1月17日 |
#1156 in 开发工具
38KB
929 行
elfsign
尝试签名elf文件。
动机
您从互联网上下载了一个二进制文件,但里面有什么呢? cargo auditable
可以将依赖项列表放入最终二进制文件中。但任何人都可以修改它。
除非您会签名该二进制文件。
这个PoC的思路是签名ELF二进制文件,确保文件内的信息确实是由创建二进制文件的人创建的。
在 docs/ 文件夹中有一点点文档。
状态
这是一个PoC。它可能充满了错误,远未完成。
使用(思路)
使用Sigstore签名
elfsign sign my-bin my-bin-signed
验证
elfsign verify my-bin-signed
待办事项
- 找到一种方法将签名记录添加到文件中
- 捕获所有待签名的内容
- 检查是否真的是所有内容
- 重新迭代处理“程序部分”(即“内存段”)的散列
- 添加更多来自头部的字段
- 实现签名和存储
- 改进存储,现在一团糟
- 实现验证
- 验证签名
- 添加证书,并允许强制执行策略
- 检查使用“散列”与“散列签名者”
依赖项
~39–57MB
~1M SLoC