搜索

pdf文档 The fuzzy tale of an x/crypto vulnerability

2.99 MB 74 页 0 下载 60 浏览 0 评论 0 收藏
所属分类: 后端开发 / Go
语言 格式 评分
英语
.pdf
3
摘要
文档描述了一个在golang.org/x/crypto/salsa项目中发现的漏洞。该漏洞会导致在单个密钥和非cese下生成超过256 GiB的输出时,由于计数器溢出而发生循环。该漏洞通过Michael McLoughlin的模糊测试器发现。文档还介绍了使用go-fuzz和cryptofuzz进行模糊测试的方法,特别是通过比较纯Go实现和汇编实现的差异来检测问题。
AI总结
《The Fuzzy Tale of an x/crypto Vulnerability》是Michael McLoughlin在Gophercon 2019闪电演讲中分享的内容,主要讲述了Uber Advanced Technologies Group发现并修复了一个严重的Go语言加密库(x/crypto)漏洞。 ### 核心内容总结: 1. **漏洞背景**: - 该漏洞影响了Go语言的`golang.org/x/crypto/salsa`加密库。 - 漏洞存在于Salsa加密算法中,当使用同一密钥和非cese(nonce)生成超过256 GiB的输出时,计数器会发生溢出,导致循环,存在安全风险。 - 该漏洞不仅存在于Go的x/crypto库中,还被确认存在于NaCl(Google的加密库)中。 2. **漏洞发现**: - 漏洞通过fuzzing技术被发现。Michael McLoughlin的fuzzer发现了这一问题。 - 该fuzzer名为`cryptofuzz`,通过比较纯Go语言实现和汇编实现的加密函数结果来检测差异,从而发现潜在漏洞。 3. **披露与修复**: - 安全团队通过`security@golang.org`披露了这一漏洞,并在golang.org上发布了修复补丁。 - 修复内容解决了计数器溢出的问题,确保了加密算法的正确性和安全性。 4. **fuzzing工具**: - 使用了两种fuzzing工具: - `github.com/dvyukov/go-fuzz`:用于处理无信任输入和正确性要求高的场景(如密码学)。 - `github.com/mmcloughlin/cryptofuzz`:通过比较纯Go实现和汇编实现的结果来检测加密函数的潜在问题。 ### 总结: 该演讲展示了通过fuzzing技术发现并修复加密库漏洞的过程,强调了正确性和安全性在密码学中的重要性。同时,也突出了自动化测试工具在保障代码质量中的关键作用。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 62 页请下载阅读 -
文档评分
请文明评论,理性发言.