概述 在2020年1月,Microsoft发布的月度安全补丁中包含针对CVE-2020-0601的修复程序,该漏洞是由美国国家安全局(NSA)发现,漏洞位于Windows CryptoAPI系统中的一个核心加密库组件,影响加密证书的验证过程。该漏洞被称为CurveBall或“Chain of Fools”,攻击者可能会利用这一漏洞创建他们自己的加密证书,这些证书会成为Windows默认情况下完全信任的合法证书。 在漏洞披露的两天之内,概念深入分析CVE-2020-0601 CurveBall漏洞。 证明(PoC)开始在网络上浮出水面。随之而来的是关于该漏洞所设计的椭圆曲线密码学(ECC)概念的几种解释。 本文将主要分析漏洞存在的代码,重点关注应用程序可能如何使用CryptoAPI处理证书的上下文,特别是通过传输层安全性(TLS)进行通信的应用程序上下文,以找到漏洞的根本原因。 证书分析 X.509是国际电信联盟(ITU)标准,使用ASN.1表示方法规定了公钥证书的结构。基本上,证书是一个包含三个“第一层”项目的序列,包括证书、签名算法标识符和对证书进行验证的签名。下面的ASN.1代码片段展示了这种结构: 证书本身是包含多个嵌套项目的几个组件的序列: 其中,特别重要的是SubjectPublicKeyInfo项,这个序列中包含有关公钥所使用的算法的信息,后面跟着实际的公钥: AlgorithmIdentifier结构用于存储公钥和签名算法的信息和参数,它由对象标识符(OID)和可选参数组成,具体取决于由OID标识的特定算法: 在公钥的上下文中,算法字段可能是众多OID中的一个,例如rsaEncryption,其OID为1.2.840.113549.1.1.1,dsa的OID为1.2.840.10040.4.1,ecPublicKey的OID为1.2.840.10045.2.1。当OID与ecPublicKey对应时,表示公钥基于椭圆曲线密码学。在这种情况下,会将参数字段设置为与RFC...
________________________________________________________________________ From the low-hanging-fruit-departmentKaspersky Generic Malformed Archive Bypass (ZIP Filename Length)________________________________________________________________________ Release mode : Coordinated...
Page 1 of 51 2 3 5