没有合适的资源?快使用搜索试试~ 我知道了~
基于深度神经网络的恶意证书检测
使用深度神经网络检测来自可信证书颁发机构的恶意证书郑东,微软公司5凯文·凯恩,微软研究院L.印第安纳大学布卢明顿分校流氓证书是由合法的证书颁发机构(CA)颁发的有效证书,但不可信;但受到Web浏览器和用户的信任。在当前的公钥基础设施中,从颁发欺诈证书到检测到欺诈证书之间存在一个漏洞窗口最近受到攻击的恶意证书在检测和撤销之前已经被信任了长达数周。以前关闭这个漏洞窗口的建议需要改变基础设施、互联网协议或最终用户体验。我们提出了一种方法来检测流氓证书从可信的CA从一个大的,及时的证书集合这种方法通过使用深度神经网络(DNN)构建机器学习模型来自动分类尽管数据集中的流氓实例很少,但DNN产生了一种分类方法,该方法在模拟和2014年7月印度CCA的妥协中得到了证明。我们报告的分类方法的细节,并说明它是可重复的,如从爬行获得的数据集我们描述了我们目前的研究部署下的分类性能类别和主题描述符:K.6.5 [安全和保护]:未授权访问通用术语:安全、设计其他关键词和短语:证书,机器学习ACM参考格式:郑东、凯文·凯恩和L.简·坎普2016.使用深度神经网络检测来自可信证书颁发机构的恶意证书ACM Trans.Priv. 安全19,2,第5条(2016年9月),31页。DOI:http://dx.doi.org/10.1145/29755911. 介绍公钥基础设施(PKI)生态系统的可靠性取决于证书颁发机构(CA)的可信度。在将根证书作为Web浏览器或操作系统安装的一部分发送给最终用户时,大多数Web浏览器都有以下两个隐含的假设。研究由陆军研究实验室赞助,部分根据合作协议编号W 911 NF-13-2-0045(ARL网络安全CRA)完成本材料基于部分由国家科学基金会资助CNS 1250367; DHS BAA 11-02-TTA 03-0107和Google支持的工作。本文件中包含的观点和结论是作者的观点和结论,不应被解释为代表陆军研究实验室、国土安全部、谷歌、NSF、印第安纳大学、微软或美国国防部的官方政策,无论是明示还是暗示。美国政府的美国尽管本文件载有版权注释,政府仍获授权为政府目的复制及分发重印本作者地址:Z. Dong,Microsoft Corporation,One Microsoft Way,Redmond,WA,98052;电子邮件:Zheng. microsoft.com; K.凯恩,微软研究院,一个微软的方式,雷德蒙德,华盛顿州,98052;电子邮件:kkane@microsoft.com; L。印第安纳大学信息学与计算学院,901 E第10街,布卢明顿,印第安纳州,47408;电子邮件:ljcamp@indiana.edu。允许制作本作品的全部或部分数字或硬拷贝供个人或课堂使用,无需付费,前提是复制品不以营利或商业利益为目的制作或分发,并且复制品在第一页上带有此通知和完整的引用必须尊重作者以外的其他人所拥有的本作品组件的版权允许用信用进行提取。复制,或重新发布,张贴在服务器上或重新分发到列表,需要事先特定的许可和/或费用。请求权限请发邮件至sales@acm.org。2016版权由所有者/作者持有出版权授权给ACM。ACM 2471-2566/2016/09-ART5$15.00DOI:http://dx.doi.org/10.1145/2975591ACM Transactions on Privacy and Security,卷。19,不。2、第五条,公布日期:2016年9月5:2 Z. Dong等人第一个假设是对认证机构的管辖权没有内在的限制.任何CA都可以为任何网站颁发公钥证书。虽然在某些Web浏览器中可能存在白名单或黑名单,但大多数受信任的CA不受任何此类限制。第二,所有的CA都是同等信任的。只要可以建立信任链而不会对任何受信任的根出错,Web浏览器就会忽略来自大型知名CA(如VeriSign)的证书与来自小型区域CA的证书之间的差异。默认情况下,所有CA都被平等对待终端用户和系统管理员还能够通过操作系统管理可信根(例如,Microsoft[2014a])或Web浏览器设置(例如,Mozilla[2015])。这些假设使网站能够在不中断服务的情况下在受信任的CA之间切换。只要旧证书和新证书的CA都是受信任的,默认情况下就不会有用户通知,最终用户不太可能注意到CA中的这种变化。事实上,这种无缝体验是通过设计实现的,允许CA之间的竞争。(安全指示器的可用性和人类认知超出了这项工作的范围。这些假设导致重大安全风险。由于组织规模、适用法律、专业知识甚至文化的差异,CA的运营CA也面临着不同的被压缩的风险。鉴于这些假设,一个可信但受损的CA可能会影响整个PKI生态系统。具体来说,使用流氓证书,攻击者可能能够在最终用户和虚假网站之间进行TLS中间人(MITM)攻击由于流氓证书在技术上是有效和可信的,因此不会自动检测此类攻击或生成安全警告不幸的是,由于在线网站数量众多,并且能够针对特定且有限的受害者群体,因此很难在第一次使用时检测到流氓证书,而一些鱼叉式网络钓鱼攻击,例如whaling(针对高端最终用户),只需要一次成功。为了立即识别一个流氓证书(和潜在的CA的妥协),我们提出了一种机器学习方法的基础上,从可信CA的历史证书观测。这种方法基于监督学习,并从标准X.509证书结构中提取机器学习特征。分类模型是使用几周内观察到的证书构建的,也可以选择使用连接元数据。然后使用所得到的模型将新观察到的证书分类为流氓或非流氓。这里介绍的深度神经网络(DNN)分类模型的优点有三个方面。很准时。使用这种方法可以立即对证书进行分类。这允许更快地识别和调查潜在的流氓证书,与以前的妥协一致。正确性。分类模型能够正确地对恶意证书进行分类(参见第10节)。我们通过将其应用于2014年7月的印度CCA妥协来讨论这种方法在现实世界中的有用性,该妥协发生在这项工作正在进行的时候。符合当前的PKI架构。这种方法的部署不需要改变当前的PKI生态系统。模型的训练是基于当今基础设施中可用的观察结果完成的,不需要来自CA或浏览器制造商的额外合作或信息。不需要将额外的参与方添加到架构中,例如,不需要公证人。文章的其余部分组织如下。第二节综述了流氓证书检测、机器学习技术在ACM Transactions on Privacy and Security,卷。19,不。2、第五条,公布日期:2016年9月检测来自可信证书颁发机构的恶意证书5:3安全领域和其他相关的机器学习主题。第3节涵盖了我们工作中检查的算法的机器学习背景第4节介绍了威胁模型,并描述了我们相应的设计选择。第5至10节详细描述了我们的系统设计第5节列举了机器学习功能并解释了相关的选择标准。第6节描述了良性类别的数据集,其数量级大于流氓类别。第7节描述了流氓证书数据集,通常用于解决不平衡数据集的方法,并描述了我们对这一挑战的解决方案。第8节描述了模型生成,与其他算法相比,解决了DNN的选择第9节回顾了一些用于评估这些模型性能的指标。第10节报告并分析了分类结果。第11节讨论了可能的部署,攻击者的反应和未来的方向。第12节总结并结束本文。2. 相关工作2.1. CA危害和恶意证书检测证书颁发机构的可信性是PKI生态系统的核心原则然而,在不同的CA中出现了一些安全漏洞和错误。其结果是为知名网站颁发了流氓证书。例如,在2011年,CA Comodo遭到破坏 ,导 致为Microsoft和 Google 等 大型 网站 颁发 流 氓证 书[Hallam-Baker 2011]。在DigiNotar妥协中,发布了500多个流氓证书[Fisher 2011]。2012年,TurkTrust错误地将两个终端实体证书编码为从属CA证书[Microsoft2013],这使这些证书的持有者能够意外地发布自己的其他证书。2013年,法国政府CA错误地颁发了另一个下属CA证书[ANSSI 2013]。另一个最近的CA妥协发生在2014年7月,印度CCA的下属CA,导致一些流氓证书被颁发给流行的域名,包括谷歌和雅虎![Microsoft2014 b]。已经有几个研究建议和实现来检测流氓证书。在Perspectives[Wendlandt et al.2008]中,最终用户将观察到的证书的哈希值和相关的URL提交给服务器网络这是公证方法的一种实现,通过这种方式,向第三方查询以验证证书的有效性。然后,用户安装的浏览器插件将该散列值与来自多个地理上分布的公证服务器上的同一URL的观察结果进行在该系统中,最终用户可以选择将其观察到的证书的散列列表提交给任意数量的用户选择的公证服务器。Perspectives浏览器扩展在观察到差异时提醒用户另一个集中式证书公证人由ICSI从其参与组织被动收集的实时HTTPS流量中维护[Amann et al.2012年]。 根据他们的数据集,Amann et al. 对在以前的CA妥协中观察到的良性和流氓证书之间的结构差异进行了数据分析他们的结论是,恶意证书与良性证书之间的区别并不一致[Amann等人,2013]。相比之下,我们的方法利用了一组更丰富的证书字段和连接元数据作为功能。然后,我们利用DNN分类算法来评估流氓证书和被黑证书的选定特征之间的潜在关系,找到系统性差异。我们的分类结果在第8节中报告。Durumeric等人定期扫描整个IPv4地址空间的证书,对PKI生态系统提出了几项建议[Durumeric et al. 2013]。这些建议在很大程度上依赖于集中式网络服务的存在。ACM Transactions on Privacy and Security,卷。19,不。2、第五条,公布日期:2016年9月5:4 Z. Dong等人证书固定技术[Larimer and Root2012]允许网站与特定证书或公钥集相关联。这些信息可以作为浏览器的一部分,也可以在首次访问网站时通过公证查询获得。然而,这种方法是不可扩展的。锁定第一次访问容易受到攻击者的攻击,攻击者能够在第一次访问时向最终用户提供欺诈性证书。与其他白名单方法一样,完整性是一个挑战,特别是考虑到网站的长尾分布。同样,证书透明度[Laurie等人,2013](CT)提供了可公开查询的已颁发证书日志。它依赖于最终用户通过浏览器插件的参与,网站所有者自愿提交他们正在使用的证书,以及参与证书颁发机构在颁发时提交证书。证书透明度利用Merkle哈希树[Merkle1988]来允许日志完整性的有效证明。CT本身是一个数据源,它保证提交给它的任何证书都是可见的和不变的,但将错误颁发的证书的检测留给了受信任的第三方。例如,正如我们在第5节中所描述的那样,监视器可以提取证书的属性并分析其异常,或者网站所有者可以定期查询所拥有域名的日志,并将证书列表与他们合法购买的证书列表进行精确的检测机制超出了CTCT的有效性还很大程度上依赖于证书颁发机构的参与率,除了用户提供的遥测之外,证书颁发机构还提供了其颁发证书的忠实日志;我们只依赖于用户提供的遥测。我们在第11节中讨论CT作为数据源。DANE(基于DNS的命名实体认证[L。Barnes2011])允许将证书信息包含在DNS服务器的域记录中,并受DNSSEC保护除了依赖于可信的CA之外,这种技术还依赖于域名注册商的可信度、DNS服务器的所有者以及DNSSEC的广泛采用除了公钥证书本身之外,SSL和TLS的各种实现中也可能存在漏洞为了识别这些漏洞,Brubaker等人[2014]设计了FrankenCerts机制,因此可以生成大量人工流氓证书用于对抗测试。Huang等人与Facebook合作检测MITM攻击,[2014]对最终用户在连接Facebook时遇到的公钥证书进行了大规模分析。证书是通过一个Flash播放器插件从一组抽样的Facebook用户收集到套接字策略服务器的。在他们的实验中,发现了超过6000个可疑证书的使用,作为Facebook 300万连接的一部分然而,他们没有提到观察到的唯一证书的数量,也没有讨论在公司防火墙后面建立的连接的数量。这种方法也不适用于每个在线网站,正如作者所指出的,无论是已经到位的防火墙还是对手都可能挫败他们的技术所采用的遥测技术。2.2. 安全领域的机器学习机器学习技术已经应用于各种安全领域。有两种一般类型的机器学习方法:监督学习和非监督学习。监督学习通常用于对新实例执行分类或回归任务它依赖于用正确类别标记的实例的训练数据集然后,学习算法尝试对许多预定义特征和类别之间的潜在关系进行如果训练数据集不可用,无监督学习算法仍然可以根据实例之间的距离将数据集划分为ACM Transactions on Privacy and Security,卷。19,不。2、第五条,公布日期:2016年9月检测来自可信证书颁发机构的恶意证书5:5与基于签名的黑名单和白名单相比,基于机器学习的方法通常可以实现更高的检测率,用于快速发展的网络攻击,例如恶意软件和僵尸网络。通过精心选择的功能集,机器学习模型可以捕捉到传统方法可能会忽略的潜在逻辑或联系。例如,Bailey et al.从恶意软件执行的操作中分析和提取机器学习特征,并演示了使用聚类分析来检测多态恶意软件[Bailey等人,2007]。 Gu等人对监控的网络流量进行聚类分析,以识别潜在的僵尸网络[Gu et al.2008年]。 从两个通信方之间的连接和出站网络流量的属性中选择特征。机器学习也被用于分析访问控制。关联数据挖掘已被用于识别访问控制偏差,并假设这些访问控制异常是错误而不是内部攻击[Bauer et al.2011年]。与我们的结果类似,该技术的一个优点是减少了识别异常的滞后时间[Mazurek et al. 2013年]。为了解决基于角色的访问控制中的分配问题,Streich et al. 使用多代理聚类更准确地分配访问权限[Streich et al. 2009]。作者发现,这特别适用于及时向新员工分配正确的访问权限原始数据集增加了人工数据,以提高使用贝叶斯技术的准确性。在流氓和良性证书的情况下,没有证书可以分配给一个以上的集群,所以我们的工作中没有评估多代理聚类与我们的工作类似,人工实例是使用标准机器学习技术生成的。PGBGP是一种类似于我们提出的机器学习方法的机制,尽管它被应用于识别最值得信赖的边界网关协议(BGP)路由[Karlin et al.2006年]。 PGBGP在对BGP路由进行排名时考虑了几个因素的组合,但在做出决策时仅使用简单的规则匹配技术。网络钓鱼检测是另一个应用机器学习的安全领域。以前的研究检查了钓鱼电子邮件(源)和钓鱼网站(目的地)。例如,Basnet et al.测试了从电子邮件的格式和内容中提取的特征,并能够检测到500个网络钓鱼电子邮件样本中的大多数[Basnet et al.2008年]。其他几项提案从网页内容中提取了一些特征。例如,Rosiello等人为钓鱼和良性网页构建了HTML文档对象模型(DOM)树,并使用布局相似性等测量方法来检测钓鱼页面[Rosiello et al. 2007]。CANTINA+[Xiang et al.2011]是一种从页面的DOM中自动提取特征的多层方法可以从页面URL获得网络钓鱼的附加指示符Garera等人根据URL的不同混淆观察和拼写错误创建了一种检测技术[Garera等人,2007]。Ma等人结合了URL的文本特征(例如特殊字符,单词外观)和主机信息[Ma等人,2009]。使用Google的黑名单,Whittaker等人使用从页面中提取的特征(如URL和页面内容)构建了网络钓鱼检测系统[Whittaker等人,2010]。Mishari等人使用机器学习来检查公钥证书,以区分使用TLS的钓鱼网站和拼写抢注URL [Mishari et al. 2009]。对欺诈证书进行分类更具挑战性,因为欺诈示例的可用训练数据远远小于钓鱼网站的可用训练数据。我们的贡献之一是解决这种数据不平衡问题的方法如果一个类别的实例数量明显小于另一个类别,则分类算法的性能可能会受到负面影响[Chawla 2005]。我们将在第7.1节进一步讨论这个问题。相反,对恶意证书进行分类可能不那么具有挑战性,因为问题更加结构化。该结构提供ACM Transactions on Privacy and Security,卷。19,不。2、第五条,公布日期:2016年9月5:6 Z. Dong等人获得更准确结果的可能性此外,结果可以在操作中更有效,因为与钓鱼攻击的可延展结构相比,攻击者在更改证书的能力方面受到更多限制。机器学习被广泛用于识别垃圾邮件。最近的工作已经将其扩展到SMS。在Duman et al.[ 2014]中,使用带有二元分类器的客户端机器学习方法来检测SMS垃圾邮件。结果是有希望的,从50%,在目前的应用程序中的垃圾邮件识别的准确性提高到98%,在报告的两级检测方法与支持向量机(SVM)[Cortes和Vapnik 1995]。机器学习已经被用于攻击和防御。结合贝叶斯分类器和SVM,Dyer等人以98%的准确率通过加密流量识别目的地网站[Dyer et al.2012年]。对基于机器学习的安全机制的一个常见批评是,对手通常可以调整他们的攻击来破坏新的对策。Huang等人提供了对基于机器学习的安全机制的攻击的早期讨论 [2011年]。Wang等人研究了在部署基于机器学习的检测系统后,大型在线社交网络中恶意众包工作者的调整行为(以及机器学习功能)他们的研究发现,在这种特定情况下,机器学习算法和攻击者对模型的了解都有助于机器学习方法的鲁棒性[Wang et al.2014年]。 以前的工作详细介绍了在安全领域使用机器学习的挑战[Sommer和Paxon 2010](尽管是在入侵检测系统中),指出需要定义应用程序的上下文。我们将机器学习应用于流氓证书符合机器学习领域的确定标准。对证书结构的严格要求和所选择的特定领域表明机器学习是一种有效的方法。与IDS域相比,证书情况下的数据可变性要小得多。人工实例的创建解决了流氓数据的缺乏部分由于这些差异,我们能够通过及时识别印度CCA流氓证书来证明运营成功由于以下五个原因,攻击者很难调整和规避我们的流氓证书检测机制首先,公钥证书必须符合X.509标准。每个证书字段都需要具有合法有效的值,以通过Web浏览器或非浏览器应用程序的验证检查。攻击者可能无法在所有字段中放置任意值,即使他们可以使用CA的私钥执行操作其次,攻击者需要更改某些字段,以使流氓证书可能有用。例如,为了防止恶意证书被发现,攻击者可能会故意删除或修改证书中的撤销信息。这本身可以是一个流氓证书的一个强有力的指标,如果受损的CA在实现撤销方面是一致的。第三,根据具体的攻击,对手可能只能代表受损的CA执行某些操作。在这种情况下,证书扩展(例如基本约束、密钥使用或扩展密钥使用)可能与先前的观察结果不同。第四,在以前的攻击中,攻击者在证书的Not Valid Before字段中保留了当前日期,如Diginotar [Fisher2011], TurkTrust [Microsoft2013]等事件中所见我们的机制中使用的功能计算Not Valid Before日期与我们的第一个观察日期之间的差异。因此,由于我们的基础设施日期和观察点与“在此之前无效”日期之间的关系,提前的“在此之前无效”日期也是可疑的虽然攻击者可以改变ACM Transactions on Privacy and Security,卷。19,不。2、第五条,公布日期:2016年9月检测来自可信证书颁发机构的恶意证书5:7在此日期之前无效,攻击者无法控制我们的第一个观察点。以前发现的伪造证书大多是新签发的,从签发到观察日期只有几天这一特征并不是分类的唯一决定因素第五,我们的机器学习功能可以在可能部署的正常操作过程中随着时间的推移而改进,我们将在第11.1节中讨论。例如,组织可以更改功能的重要性或添加自己的功能来识别有针对性的攻击。这是因为我们的方法是可重复的,因此可以针对不同的组织进行优化。我们还在第11.2节中讨论了潜在的攻击者响应。3. 机器学习背景:深度神经网络和其他测试算法从机器学习的角度来看,良性证书和恶意证书的分类是一个监督学习问题,特别是使用预定义的机器学习特征集使用该算法和训练数据集生成机器学习模型。然后,该模型用于预测没有类别标签的测试实例的类别。我们比较了机器学习模型与几种监督学习算法的性能DNN [Bengio2009]是对低级输入和预测类别之间的复杂关系进行建模的顶级算法DNN在较短的训练时间内提供了更高的准确性DNN已被广泛用于解决诸如自然语言处理以及语音和人脸识别等复杂问题在我们的方法中,我们利用DNN来识别直接来自证书字段和证书类别的机器学习功能之间的更高级别的连接。与传统神经网络一样,DNN模型包含一个或多个中间隐藏层,位于模型的输入和输出节点(神经元)之间。不同层上的节点从较低层(输入)连接到较高层(输出),使得每个节点连接到相邻层中的一个或多个相邻节点通过每个节点,激活函数将输入(连接的较低级别节点的加权值和恒定偏置)映射到节点的输出,然后成为较高级别节点输入的分量传统的神经网络使用反向传播和梯度下降方法来为整个神经网络的激活函数找到权重和偏差的最佳组合。传统神经网络的分类性能可能会随着在输入和输出之间添加更多层而变得不太理想DNN使更复杂的神经网络能够以更高的分类性能构建,特别是具有多个隐藏层。除了反向传播和随机梯度下降(SGD)[Bottou1991]方法之外,训练深度神经网络在程序方面也不同于传统的简单神经网络。DNN的训练包括两个阶段:预训练和微调。在预训练阶段,算法从第一个隐藏层开始。此阶段中每一步的目标是确定较低层节点的初始权重和偏置。预训练阶段的每一步都是无监督学习,一次只关注一层。在步骤结束时,算法向上移动一层,直到到达最高的隐藏层。在第二阶段中,该算法利用反向传播对每层上的初始权重进行进一步调整。无监督的预训练阶段可以极大地提高训练神经网络的整体性能[Erhan et al.2010],从而实现更深层次(超过一个隐藏层)网络。ACM Transactions on Privacy and Security,卷。19,不。2、第五条,公布日期:2016年9月5:8 Z. Dong等人Fig. 1.DNN模型的训练过程。图1演示了训练具有两个隐藏层的DNN模型的过程前两个子图处于无监督预训练阶段,以确定初始权重,其中每轮集中一层。完成后,它会添加回输出层并执行监督学习,如第三个子图所示评估机器学习方法的结果的方法是精确度、召回率和准确度以及受试者操作特征(ROC)曲线下面积所有标准测量值均在第9节中定义,并在第8节中报告。一般来说,DNN能够解决比传统神经网络更困难的问题,具有更复杂的模型,并且在合理的训练周期内我们选择DNN作为此应用程序的分类算法,因为它在我们的实验中表现出色除了DNN之外,我们还测试了随机森林,Logistic Regression和SVM算法的性能。随机森林[Breiman2001]是一种集成学习算法,它构建了许多决策树,并通过这些树的多数投票来确定实例的类别为了在森林中构建决策树为了决定如何分割决策树,每轮从整个特征集中随机选择另一个固定数量(m)的特征随机森林也是我们实验中表现最好的算法之一,但它需要两倍于DNN的训练时间。逻辑回归[Le Cessie and Van Houwelingen1992]是一种回归分析算法,它试图用一个逻辑函数来表示特征集和类别之间的潜在关系。在我们的实验中,逻辑回归需要类似于DNN的训练期,但对两个类别(恶意和良性)的准确率都较低SVM [Cortes and Vapnik1995]方法试图在高维空间中找到一个或多个超平面来将实例分成不同的类别根据我们的实验,模型的建立过程需要比逻辑回归更长的时间,并产生了相当的分类性能。虽然已经发现SVM在具有清晰结构分类的分层域中表现良好[Liu etal.2005],但在这里发现DNN方法具有更高的准确性。4. 系统设计4.1. 威胁模型我们假设一个强大的对手能够控制CA的证书颁发或使用CA的私钥执行签名操作。这两种情况的结果都是任何浏览器都信任的证书ACM Transactions on Privacy and Security,卷。19,不。2、第五条,公布日期:2016年9月检测来自可信证书颁发机构的恶意证书5:9图2. 根CA实体及其层次结构的示例-Microsoft.com。或信任CA但CA在正常业务流程下不会颁发的其他应用程序。我们特别排除了由于任何原因而未能通过客户端验证的证书,因为它们不代表我们希望识别的流氓证书因此,它们在训练模型时没有指导意义由此产生的关于证书的假设是,这些证书符合X.509格式,在其规定的有效期内,具有有效的加密签名,并且该签名来自CA,通过该CA存在信任链到受信任的根。拥有流氓证书会导致一系列攻击。一种可能的攻击是MITM攻击。与依赖于用户以可预测的方式犯错误的拼写抢注攻击不同,流氓证书使用合法域名进行攻击在这种情况下,用户寻求合法网站(如Google,Yahoo!或Microsoft),并且不提交导航错误。相反,该用户被误导到另一个网站。在这种情况下,没有必要使用错别字。流氓证书与域名匹配,具有适当的凭据,并且MITM攻击者可以观察客户端和站点之间的所有当然,没有流氓证书的MITM 攻击也是可能的 。但是,在这种情况下,证书 与域不匹配,网站未启用SSL/TLS,或者证书未链接到受信任的根。流氓证书可用于说服受害者下载看似来自可信第三方的更新或软件。这是最著名的Stuxnet [Falliere et al.2011年]。然而,在Stuxnet的情况下,没有针对域本身的流氓证书;相反,证书是针对恶意代码的。4.2. 设计目标我们的方法识别技术上有效的证书,是潜在的恶意。该方法仅依赖于网站的证书,以及相关的页面内容或URL(如果可用)。我们的机器学习模型专注于证书颁发机构。然而,由于中间CA的数量庞大,并且它们的发布行为可能存在变化,因此很难创建一个覆盖所有CA的分类模型(具有同时,为每个中间CA训练一个分类模型也是不切实际的。对每个中间CA的训练都需要对模型训练、维护和预测做出不可行的承诺在评估了几种可能的选择后,我们选择了一种平衡的方法。我们为每个根CA实体训练一个分类模型。 图2是根CA实体及其层次结构的一个示例。在这种特定情况下,分类模型涵盖Verizon Business运营的所有根CA、中间CA和最终实体ACM Transactions on Privacy and Security,卷。19,不。2、第五条,公布日期:2016年9月5点10分Z. Dong等人图3.根CA实体及其层次结构的第二个示例-Google.com。证书.由于发行过程确实会随着时间的推移而变化,因此机器学习模型会以一定的时间间隔定期更新。根据我们的实验,我们发现每周更新就足够了。(我们将在第8节中进一步讨论部署。)图3显示了Google.com的CA的层次结构。请注意,在这种情况下,我们的模型不是为GeoTrust(根CA)构建的。相反,机器学习模型是为CA实体Symantec(运营根CA的公司此模型还将涵盖赛门铁克运营的根CA(如VeriSign)下颁发的其他证书。我们首先定义一组机器学习功能。这些特征被提取出来从标准和可选的证书字段,以及证书信任链。如果可用,则包括关于连接的元数据,例如从何处看到证书和URL。此过程仅在系统部署开始时发生一次。第5节中列出了机器学习功能的完整描述。请注意,使用这里描述的方法,任何具有机器学习专业知识和网络爬虫(以获取数据集)的组织都可以使用历史上观察到的证书来训练自己的机器学习模型托管自己的CA的组织可以使用这种方法来确定他们自己是否已成为流氓证书的目标。在CA妥协的情况下,我们的方法能够提供比内部审计日志更完整的覆盖范围。我们提出的方法同时实现了正确性,及时性,等网站和资源正确性是任何检测异常行为的系统的基本要求。正确性可以直接通过分类的准确率、精确率和召回率来评估传统的集中式方法通常在及时性方面表现不佳,因为识别流氓证书的困难导致在第一次使用流氓证书和发现证书之间存在滞后。在最终用户的计算机上将流氓证书列入黑名单之前,会有额外的延迟完整性是传统的基于签名的安全解决方案面临的另一个挑战。TLS MITM攻击通常与鱼叉式网络钓鱼攻击密切相关,并且仅针对一小群用户。因此,很难发现目标流氓证书并将其列入黑名单。然而,我们的方法为主要操作系统和Web浏览器信任的每个根CA实体因此,这种方法能够覆盖信任链之后的所有证书,甚至是在模型生成时未颁发的证书。4.3. 系统组件我们首先设计了一个适用于任何根CA实体的实验系统。该系统由以下组件组成:机器学习特征提取器,流氓证书模拟器,数据分离器,模型生成器和性能评估器。的ACM Transactions on Privacy and Security,卷。19,不。2、第五条,公布日期:2016年9月检测来自可信证书颁发机构的恶意证书5:11图4.实验系统设计。系统组件的交互如图4所示,我们将介绍每个组件的设计如下。机器学习特征提取器。根据预定义的特征集,该组件从收集的公钥证书中提取机器学习特征的值。流氓证书模拟器。我们从一个小样本的流氓证书开始。 然后,我们创建了一种创新的方法,根据良性类别中的实例这是由于观察到的流氓证书的稀缺性及其对潜在攻击的覆盖不足所必需的我们将在第7节详细讨论这个过程。数据分割器。该组件将两个类别的训练和测试数据集分开:良性和恶意。对于实验设置,我们随机选择(不替换)70%的实例进行训练,并使用剩余的30%进行两个类别(良性和流氓)的测试。模型生成器。通过将机器学习算法应用于良性和恶意类别中的训练数据集业绩评估员。 这两个类别的测试数据集提供给生成的模型。包括准确度、精确度和召回率在内的性能指标都是由该组件计算的。5. 特征选择在本节中,我们列出了分类中使用的机器学习功能以及选择它们的原因我们将这些特征分为九类:证书属性、颁发者、主题、有效性、撤销、扩展、黑名单、证书链和连接信息。这些功能被选为一组,应该代表CA的颁发实践,并且应该在来自特定根CA实体的A. 证书属性- 版本证书的版本表示证书的标准结构。虽然建议所有证书至少为X.509版本3,但在我们的数据收集中(直到2014年8月),我们已经看到相当数量的证书仍然是X.509版本1,没有证书扩展(因为版本1不支持这些)。我们观察到的V1证书要么是较旧的根CA证书,要么是不受信任的,通常是自签名的最终实体证书,不是由受信任的CA使用的。根据CA/浏览器论坛[Forum 2015]的基线要求,由于其局限性,颁发V1证书不再是可接受的做法;因此,从受信任的CA看到的任何新证书都会立即引起怀疑。- 证书序列号的长度。颁发者为每个证书分配一个序列号作为唯一标识符。虽然不能保证序列号在CA之间是唯一的,但特定CA的序列号长度是相当一致的。ACM Transactions on Privacy and Security,卷。19,不。2、第五条,公布日期:2016年9月5点12分Z. Dong等人- 签名算法该扩展包括创建消息摘要的算法和生成消息摘要的数字签名的算法。正如我们在数据集中所观察到的,SHA1和RSA是最常用的算法。基本限制。 此证书扩展包括两个组件。 第一个是CA标志,说明这是CA证书还是最终实体证书。第二个是最大路径长度,在CA证书的情况下,它限制了链中可以跟随此CA的其他中间CA的数量。路径长度对于最终实体证书没有意义最大路径长度为零意味着证书后面没有中间体,这表明特定CA只能颁发最终实体证书。如果路径长度不存在但CA标志为真,则没有限制。在此扩展的配置中的偏差导致了以前的一些攻击。我们在第2.1节中列出的几个CA妥协涉及CA标志的错误编码,例如TurkTrust妥协和法国政府CA事件。如果错误颁发的从属证书被对手利用来颁发进一步的终端实体证书,则可信链的长度可以成为指示符,因为它可能比正常合法业务过程期间颁发的证书长一个或多个级别- 密 钥 使 用 。 这 是 一 个 证 书 扩 展 , 它 定 义 了 证 书 中 嵌 入 根 据 IETF RFC 5280[IETF2008],有九个合法值可以用于此扩展:数字签名,不可否认性,密钥加密,数据加密,密钥协商,密钥证书签名,CRL签名,仅加密和仅解密。扩展密钥使用(EKU)。此扩展提供了一组更丰富的潜在密钥用法,例如服务器身份验证、客户端身份验证和代码签名。EKU可以与密钥使用扩展一起工作,以强制执行对如何使用公钥对于TLS和代码签名(证书的两种常见用法),密钥用法和扩展密钥用法中的预期值集都很小。B. 证书颁发者- 可分辨名称(DN)。DN是断言实体标识的标准方法。在X.509证书中,颁发者和使用者的身份信息都X.509证书中常见的DN有几个(可选)组件:通用名(CN)、组织名称(O)、组织单位名称(CN)、电子邮件(E)、地点(L)、州(S)和国家(C)。这些组件中的每一个都被用作机器学习功能。发行者DN在很长一段时间内保持不变。鉴于发行者DN的实际值是指示性的和恒定的,它们是有用的机器学习特征。- 授权密钥标识符。在正常操作中,CA可能使用多个公钥/私钥对。此扩展指示与CA的私钥对应的特定公钥,用于生成数字签名。它可以快速重建可信路径,也可以成为发布模式的重要指标。- 发行人替代名称(IAN)。 除了标准DN中列出的身份信息之外,CA还可以选择在此证书扩展中包含其他信息,例如DNS地址或统一资源标识符(URI)。在某些情况下,我们使用IAN的实际内容;在其他情况下,我们只使用IAN扩展。ACM Transactions on Privacy and Security,卷。19,不。2、第五条,公布日期:2016年9月检测来自可信证书颁发机构的恶意证书5:13C. 证书主题- 专有名称。 受试者的DN结构与证书颁发者。然而,发行者和主题DN作为机器学习特征被不同地对待。每个受信任的CA可以向任何主体颁发证书,主体也可以在CA之间切换由于主题子领域的可能组合的巨大集合,仅主题的国家被用作机器学习特征。对于所有其他子字段,我们只使用每个其他子字段的存在作为特征,而不是它们的值。- 主题密钥标识符(SKI)。与授权密钥标识符扩展一样,可以为单个主体颁发多个公钥证书。主体公钥的标识符提供了一种快速构建可信链的方法。我们的方法包括SKI作为机器学习功能的存在,而不是内容。- 主题替代名称。 与发行人替代名称扩展类似,发行人可以选择在此扩展中提供有关DN的主题的详细信息。此扩展的一个有用的场景是列出证书颁发给的所有域名(通常由同一组织拥有我们的方法记录了主题的替代名称的条目数作为机器学习功能,而不是名字本身。D. 有效性X.509证书中存在两个必需字段来定义其时间有效性:之前无效和之后无效。为了确保我们的方法适用于所有收集的证书,我们从两个字段和观察日期计算三个机器学习特征。首先,我们考虑整个有效期的长度。其次,我们将观察与之前无效之间的天数作为特征。第三,我们根据观察和无效后之间的天数进行评估。在我们的观察中,这些相对测量值通常是一致的,使它们成为合适的机器学习特征,而实际日期几乎都不同。在以前的危害中,当发现流氓证书时,通常其Not Valid Before日期是最近的。E. 撤销目 前 , CA 通 常 部 署 两 种 撤 销 方 法 : 证 书 撤 销 列 表 ( CRL ) 和 在 线 证 书 状 态 协 议(OCSP)。CA可以利用一种方法,或两者,或两者都不利用。CRL依赖于CRL分发点扩展中列出的CRL文件地址。OCSP服务器的URL在授权信息访问扩展中指明。这两种撤销方法都是在发现流氓证书时撤销该证书对手可能有动机修改或删除真实的撤销信息,以避免快速列入黑名单。通过对先前发现的流氓证书的分析,撤销信息的变化可以创建流氓证书的强指示器。CRL或OCSP信息的存
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功