【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为

admin 2022年10月18日23:25:03评论34 views字数 4262阅读14分12秒阅读模式

今天分享的是针对证书透明度机器人的一项研究工作。作者全部来自美国纽约州立大学石溪分校。文章中将“自动化爬取谷歌证书透明度项目数据,并基于该数据发现、探测新增互联网域名”的实体称为证书透明度机器人(Certificate Transparency Bot, CT Bot)。作者搭建分布式蜜罐系统,主动向CT数据库提交包含新增域名信息的证书,随后监控并记录CT Bot对新增域名的一系列访问行为,分析其来源、目的、行为特征及团伙特性。论文发表于网络安全领域顶级会议USENIX Security 2022(录用率256/1492=17.2%)。


【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为


全文共2900字,阅读时间约8分钟。


01

【背景介绍】


数字证书(Certificate)被广泛应用于网络通信实体身份真实性认证。数字证书的安全性由负责证书签发的权威机构(Certificate Authority,CA)保证。理想情况下,公开可信的CA机构仅为向其发起请求并通过验证的实体签发数字证书。然而事实上,CA机构证书签发错误的安全事件时有发生[1,2]。例如,2011年DigiNotar曾误签发Google域名证书,最终致使大量伊朗网络用户遭受中间人攻击[3]。

为更好地监管CA机构的证书签发行为,谷歌于2013年启动证书透明度(Certificate Transparency,CT)[4]项目。该项目要求CA机构将其签发的TLS证书以“append-only”(仅添加,不可删除)记录的方式提交至CT数据库,并向互联网用户公开。目前,CT项目已得到广泛部署和应用,截至2022年10月,CT数据库记录的证书规模已达76亿[5]。


【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为


图表1:证书透明度系统工作流程示意图


理论上,只要域名持有人通过公开可信的CA机构申请数字证书,便会被CT数据库记录。因此,CT数据库也成为了新增域名/网站发现的重要来源。举例来说,安全公司可以利用该数据检测新增钓鱼域名;攻击者可以利用该数据发现存在安全漏洞的新网站,并对其发起攻击;教育机构或个人研究者可将该数据用作学术研究。无论出于何种目的,由于CT证书库规模过于庞大,对该数据库的爬取和分析通常以自动化的方式进行。


文章将此类自动爬取、利用CT数据库发现新增域名的实体统称为“CT Bot”。此前,安全社区对CT Bot的规模、行为及目的均缺乏了解。论文搭建了一个分布式的蜜罐系统CTPOT,可自动化地为新域名申请证书;并在证书提交至CT数据库后,持续观察受控新域名的来访流量,分析CT Bot的身份及行为模式。另外,论文还根据CT Bot的行为特征对其进行家族聚类,发现了105个恶意的CT Bot团伙。项目中采集到的流量数据也已开源[6],可为后续深入理解分析CT Bot行为提供帮助。


02

【研究方法】


1. 整体设计


CTPOT的工作流程如图表2所示,主要包括两个部分:

测量采集:周期性、自动化地申请TLS证书,监听并记录服务器侧的网络访问流量;

数据分析:处理分析采集到的流量数据,包括统计分析、指纹识别、家族团伙聚类等。


【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为

图表2:CTPOT工作流程图


2. 域名选取


为尽可能多地触发并分辨不同CT Bot的行为,需要对证书中新增域名信息进行精心设计,这也是CTPOT系统最为关键的一步。


对此,论文提出一个基本假设:有别于普通的、无差别式网络扫描,CT Bot将分析新增域名内嵌关键词的语义类型,以便有选择性地采取后续行动。例如,安全机构为检测新增钓鱼网站,将倾向于扫描带有知名品牌关键词的新域名,如paypal-review.example.net;而攻击者若想利用WordPress漏洞,则将对wordpress.example.com等域名发起扫描。


【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为

图表3:用于构建蜜罐域名的三类关键词示例


最终,文中选取了三类不同语义的关键词构造域名,包括:

仿冒类(Impersonating):知名品牌关键词,期望触发检测钓鱼网站的CT Bot;

敏感类(Sensitive):漏洞利用工具常用的扫描关键词,期望触发对网站发起攻击的恶意CT Bot;

基线类(Baseline):水果名称,作为对照。


此外,为排除来自普通(通常基于域名枚举)网络扫描器的流量,文章还为域名增加了基于时间戳的随机化前缀,以尽量保证采集到的访问流量均来自于CT Bot。

【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为

图表4:项目中构造的域名示例


3. 证书申请


论文利用Let's Encrypt Certbot API[7]自动化地为域名申请证书。由于Let's Encrypt对申请速率有所限制,作者选用了12个服务节点,在每个节点以4小时/张的速度进行证书申请,以保证不超过速率限制。该过程持续运行约10周,共创建TLS证书4,657张。


4. 流量监听


论文利用Apache Server监听指向测试域名的HTTP与HTTPS访问流量。考虑到HTTP Header中的User-agent字段可被随意修改,为鉴别流量来源,作者部署JA3 TLS 插件[8],对HTTPS访问请求进行了TLS指纹识别。

此外,考虑到恶意的CT Bot可能扫描新增域名主机的敏感服务端口,以利用漏洞、发起攻击,除HTTP及HTTPS访问记录外,作者还为每个节点配置了SSH、Telnet以及FTP三类服务的低交互蜜罐。所有访问都将被记录、转发至数据节点进行后续行为分析。


03

【主要发现】


1. CT Bot 规模及分布


  • 在2021/11/03-2022/01/12时间范围内,CTPOT共收到来自32k IP地址的150万次HTTP访问,平均每天可观测到300-500个新出现的CT Bot IP。

【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为

图表5:每日HTTP/HTTPS流量,整体分布较平稳,尖峰与个别CT Bot单日异常活跃相关


  • 各类CT Bot中,占比最高的(46.94%)为仅关注钓鱼网站的Bot。作者推测其来源可能为安全公司。


【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为

图表6:基于扫描域名关键词的CT Bot类型分类


  • 在证书提交到CT后,平均5分钟便可收到来自CT Bot的扫描流量,最快的CT Bot响应时间仅为12秒。

  • 被重复扫描次数最少的是带有仿冒(Impersonating)类关键词的域名。论文推测这与钓鱼检测的行为特点有关,即经过一次扫描发现钓鱼网站即可,不必采取额外操作。



2. CT Bot行为分析


  • CT Bot从证书数据中仅能得到目标域名,而实际访问时请求的路径却不止是主域名网站。作者发现超过24.1%的CT Bot都请求了主域名以外的资源路径。其中占比最高的是favicon.ico,即网站标签页的显示图标。


【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为

图表7:各类域名被CT Bot请求的具体资源路径分布


  • JA3 TLS指纹插件共识别出113种CT Bot客户端的TLS指纹,分布如图表8所示。其中,来自真实浏览器的占比仅为2%-11%。CT Bot通过User-Agent声明的浏览器占比为75%-85%,这也证实了CT Bot的浏览器伪装行为。


【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为

图表8:访问各类域名的CT Bot客户端TLS指纹类型比例分布


3. CT Bot家族团伙聚类


  • 文中将共享相同请求路径的CT Bot聚类为一个团伙(campaign),共得到团伙539个,分布如图表9所示。其中105个团伙存在恶意的请求行为(请求某个安全敏感路径)。

【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为

图表9:CT Bot团伙规模及类型分布


4. 案例分析


  • 该项目数据采集时间内发生了Apache Log4J漏洞事件[9]。CTPOT蜜罐系统同样收到了带有Log4J漏洞payload的攻击流量。经分析,直接发往监测点IP地址的攻击流量(68.6%)比指向域名的流量更多,而面向IP的攻击(2021年12月10日)也比域名(2021年12月12日)更早启动。该现象表明,Log4J漏洞的攻击利用主要通过全网无差别扫描发起。


04

【结论】


论文将自动爬取CT数据库,发现新增域名的各类实体称为CT Bot,围绕CT Bot生态系统开展了测量研究。作者搭建了分布式蜜罐CTPOT,通过将精心构造的域名证书提交到CT数据库,吸引各类CT Bot对受控新增域名进行爬取利用,并通过HTTP/HTTPS/Telnet/SSH/FTP记录CT Bot行为,分析其来源、目的、行为特点及团伙特性。文中采集的CT Bot访问流量数据也已开源。


开源数据集
https://uninvited-guests.github.io

原文链接

https://www.usenix.org/system/files/sec22-kondracki.pdf



参考文献

[1] Anssi incident. https://www.mozilla.org/en-US/security/advisories/mfsa2013-117/.

[2] Comodo incident. https://www.comodo.com/Comodo-Fraud-Incident-2011-03-23.html.
[3] Diginotar hack. https://slate.com/technology/2016/12/how-the-2011-hack-of-diginotar-changed-the-internets-infrastructure.html.
[4] Wikipedia contributors. "Certificate Transparency." https://en.wikipedia.org/w/index.php?title=Certificate_Transparency&oldid=1108909791.
[5] Certificate Transparency. https://certificate.transparency.dev/.
[6] Uninvited Guests Dataset. https://uninvited-guests.github.io.
[7] Certbot. https://certbot.eff.org.
[8] Apache trafficserver JA3 fingerprinting plugin. https: //docs.trafficserver.apache.org/en/9.1.x/admin-guide/plugins/ja3_fingerprint.en.html.
[9] Log4j vulnerability. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228.


编辑&审校|刘保君、张一铭



原文始发于微信公众号(NISL实验室):【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月18日23:25:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【论文分享】不请自来的客人:分析证书透明度项目机器人的身份和行为https://cn-sec.com/archives/1355119.html

发表评论

匿名网友 填写信息