论文阅读笔记-Certified Malware: Measuring Breaches of Trust in the Windows Code-Signing PKI

CCS
Certified Malware: Measuring Breaches of Trust in the Windows Code-Signing PKI
http://users.umiacs.umd.edu/~tdumitra/papers/CCS-2017.pdf
作者提到了经过签名的恶意软件,即使是错误的签名,也能在一定程度上干扰杀毒软件的判断。那些经过了正确签名的恶意软件,其用于签名的证书大部分是由于证书发布方管理不善被滥用,剩下的是恶意软件作者伪造身份申请到的。

第一章
1.作者指出代码签名PKI存在缺陷,恶意软件也可能带有有效的、经过认证的数字签名
2.作者指出约88.8%的恶意软件家族, 使用单一证书进行签名,说明这些签名证书是由恶意软件的作者的控制的,而不是正常的签名服务生成的
3.作者指出存在的几种问题,如简单的将合法文件的签名复制给恶意软件会使得杀毒软件停止检测恶意软件(即使这么做会导致文件摘要和签名不匹配),发布方秘钥管理不完善,以及CA端验证失败(向冒充正规公司的恶意软件制作者颁发证书)

第二章
1.作者介绍了代码签名机制,其旨在让用户确认软件发行作者的身份
2.作者指出每个CA(证书颁发机构)都可以任意地颁发证书,而且没有一个官方列表或者官方组织来确保安全性
3.作者通过举例说明,代码签名主要用于让Windows等操作系统确认软件是来自安全的源,同时部分安全软件也会通过确认签名来减少误报。
4.作者比较了TLS和代码签名的区别:TLS的签名在过期后,与证书关联的所有服务都会失效,而代码签名可以通过更新时间戳来延长使用时间。对于TLS,证书颁发机构也不提供吊销证书的信息,而程序代码的签名即使证书过期也可以查到相关信息,且在发行日期到吊销日期前使用证书进行签名的程序还是有效的。
5.作者假定了这么一个攻击者,他需要在受害者机器上安装恶意软件,但由于他希望隐藏身份,因此不从合法途径获得证书,这种不合法途径主要分两种
6.作者指出现阶段代码签名主要存在三个问题,第一个是用户如果在使用软件时进行了授权会让一部分软件绕过签名的检查和限制,第二个是签名秘钥可能泄漏或者被盗,第三个是软件制作者可以通过虚假的身份来获得CA端颁发的证书

第三章
1.使用virustotal,OpenCorporates (世界上最大的公司信息数据库)和 HerdProtect(和virustotal类似,一种多引擎杀毒软件) 来进行评估。数据来源为WINE(Worldwide Intelligence Network Environment)
2.通过收集恶意软件的哈希值来生成一个恶意软件和经过签名软件的列表,再通过HerdProtect查询发布公司的名称来过滤掉其中的良性软件和PUP(垃圾软件),使用过滤后的哈希值输入进Virustotal进行查询。 VirusTotal 报告提供有关每个二进制文 件的代码签名证书和 AV 检测结果的详细信息。作者认为二进制文件是签名的恶意软件,如果该软件已正确签名,并且 检测结果说它是恶意软件,则这个软件是滥用了证书签名的恶意软件,之后通过算法识别这些滥用的签名证书
在这里插入图片描述
3.检测为恶意软件的virustotal阈为20,并通过类似的AV(Anti virus)工具计算PUP指数rpup,如果rpup<=10%且报恶意软件的引擎数cmal>=20则判定为恶意软件,如果cmal为0则软件为良性
4. 作者根据软件的代码签名证书对二进制文件进行分组。如发布者有多个证书,则他发布的签名证书需要进行分组,分为仅签名过良性样本,仅签名过恶意软件和同时签名过恶意软件和良性文件。由于通常难以识别使用特定证书签名的良性样本,因此需要查询 HerdProtect 以确定是否存在更多使用相同证书签名的软件样本。对于用于签署恶意软件的每个证书,需要进一步确定这些证书被滥用的类型,如证书的私钥泄漏(需要进一步确定被滥用的时间),伪造身份获得CA颁发的证书(这类证书应该只签名恶意软件)
5.作者给出了每年经过正确签名的恶意软件数量(阈值cmal>=5)
在这里插入图片描述
第四章
1.作者设置的Virustotal阈值为20,并通过VT的报告来检查数字签名的有效性。
如果签名被CA废除那么会提示报错0x800b010c。在15万个样本中有325个是经过签名的恶意软件,这些恶意软件里58%的软件的签名都是正确的,在这些经过正确签名的恶意软件里约20%的恶意软件签名被吊销或者过期,但仍有57%的软件签名依然有效
在这里插入图片描述
2.作者提到了验证错误的签名,其报错码为0x80096010,作者通过实验来测试这种签名是否能绕过浏览器和系统的保护。Google浏览器和micro soft的ie9都阻止了签名错误的软件下载,但是如果把下载文件的扩展名.exe去掉那么下载不会被阻止。在网上下载这种签名错误的软件时Windows都会进行提示,但是如果软件不是从网络下载而是通过u盘等方式传输的话则系统不会进行警告
3.作者发现在对抗杀毒软件时不少软件都没能识别出这种具有错误签名的软件,表格里是对应的杀毒软件和检测失败的次数
在这里插入图片描述
4.对于经过正确签名的恶意软件,约88%的恶意软件家族都是使用了单个证书进行签名,说明这些被滥用的证书受恶意软件作者控制
5. 作者检查了这些滥用证书的生命周期。对于每个证书,检测证书中指定的到期日期、CRL 中指定的撤销日期(如果可用)以及使用这些证书签署良性和恶意二进制文件的日期。如果二进制文件具有可信时间戳,使用该时间戳作为签名日期。这对应数据集中 66.8% 的二进制文件。对于其他样品,检查它们在 WINE 中的首次出现时间和首次提交给 VT的时间,并使用其中最早的时间戳作为签名日期。作者提到在15年的观察期中只有约20%的恶意软件被吊销证书
在这里插入图片描述
6.在被滥用的的111个证书中,75个是因为发布方管理不善被滥用,剩下27个是CA端验证失败导致的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值