流行条形码软件ZBar中潜藏的漏洞

2024-10-31

本文讲述了对开源条形码扫描库ZBar进行模糊测试的过程及发现的漏洞。作者通过修改Nixpkgs中的ZBar构建,添加了AddressSanitizer和libFuzzer工具,快速构建了模糊测试环境。尽管时间有限,但仍然发现了严重的漏洞:一个栈缓冲区溢出漏洞,可导致恶意条形码执行任意代码;以及一个内存泄漏漏洞,可用于拒绝服务攻击。文章还指出了ZBar项目缺乏模糊测试的现状,并提供了改进模糊测试的建议,例如针对特定代码类型、检查代码覆盖率等。此外,作者还分析了漏洞的根本原因,并提供了修复补丁。

阅读更多
未分类 ZBar

深入解析 Linux 新系统调用:mseal

2024-10-26

本文深入探讨了 Linux 内核 6.10 版本中引入的新系统调用 mseal,它提供了一种称为“内存密封”的保护机制。文章详细解释了 mseal 的工作原理,以及它与之前的内存保护方案的区别,例如 memfd_create 和 memfd_secret。与侧重于防止本地攻击的方案不同,mseal 专门用于缓解远程攻击者试图获取代码执行权限的漏洞利用。文章还介绍了 mseal 如何通过阻止修改内存权限和防止内存解除映射攻击来保护用户空间,并提供了一些代码示例来说明其用法和效果。

阅读更多
未分类

AWS Nitro Enclaves安全注意事项

2024-09-26

这篇来自Trail of Bits的博客文章详细分析了AWS Nitro Enclaves的安全风险,并为开发者提供了可操作的建议。文章涵盖了虚拟socket安全、随机性和熵源、侧信道攻击缓解、内存管理、时间源注意事项、证明最佳实践以及NSM驱动安全等主题。文章强调了将enclaves视为单个信任区域的重要性,并建议开发者采取措施,如强化虚拟socket、验证随机性源、使用正确的时钟源、实施稳健的证明实践以及验证随机数和时间戳等,以降低enclaves工作负载遭受攻击的风险。

阅读更多
未分类 Nitro Enclaves

利用 Pwndbg 恢复 GDB 中的调试信息

2024-09-09

Trail of Bits 的 Jason An 通过将 Pwndbg 与 Binary Ninja 整合,实现了从 Binary Ninja 同步符号、函数签名、堆栈变量偏移量等信息,从而恢复大部分调试体验,增强了 GDB+Pwndbg 在调试过程中的智能性。此外,他还创建了 go-dump 命令,利用 Go 编译器的源代码作为参考,实现了对 Go 所有内置类型的转储,包括整数、字符串、复数、指针、切片、数组和映射,方便开发者进行调试。

阅读更多
未分类 GDB Pwndbg

“YOLO”不是一种有效的哈希构造

2024-08-25

这篇文章批判了在密码学中使用“YOLO”哈希构造的常见错误做法,并解释了为什么这些做法容易受到攻击。文章重点讨论了三种常见的YOLO构造:YoloMultiHash、YoloMAC 和 YoloPBKDF,并详细说明了它们各自的缺陷,例如模糊编码、长度扩展攻击和易受暴力破解的影响。文章最后推荐了一些更安全的替代方案,如TupleHash、HMAC、KMAC、Argon2 和 scrypt,并强调了使用经过良好研究和验证的解决方案的重要性。

阅读更多
未分类

Trail of Bits 对 Homebrew 的安全审计

2024-07-31

Trail of Bits 对 Homebrew 软件包管理器进行了安全审计,涵盖了 brew CLI、CI/CD 流程以及软件包索引等方面。审计发现了一些问题,例如可能允许攻击者加载可执行代码、破坏沙盒完整性、修改二进制文件以及在 CI/CD 环境中提升权限。尽管这些问题并非严重,但仍需引起重视并进行修复,以确保 Homebrew 及其生态系统的安全。

阅读更多
未分类 安全审计

量子计算对后量子密码学并不重要

2024-07-01

文章指出,尽管量子计算机的威胁日益引起关注,但后量子密码学的优势并不仅仅在于抵抗量子攻击。文章认为,当前广泛使用的公钥加密算法存在安全隐患,过度依赖于特定数学问题,且易受攻击。相比之下,后量子密码学基于更多样化的数学问题,设计更现代化,能有效降低实施错误,并为开发者提供更多选择,从而提升安全性。

阅读更多
未分类

软件中的“怪异机器”:探索可证明安全性的新途径

2024-06-30

这篇文章探讨了软件开发中一种称为“怪异机器”的概念,它指的是代码中存在能够被攻击者利用的非预期行为。作者解释了“怪异机器”是如何产生的,以及它们如何被用来绕过安全措施。文章还介绍了如何通过识别和消除这些“怪异机器”来提高软件的安全性,并展望了未来的研究方向。

阅读更多
未分类