以色列的“网络战”供应商 NSO 集团生产并销售一种名为 Pegasus 的手机间谍软件套件,用于监控的目的,Pegasus 的政府运营商通过说服目标点击特制的漏洞利用链接,提供一系列 #零日攻击,以渗透手机上的安全功能,并在用户不知情的情况下安装 Pegasus 间谍软件。目前这种间谍软件被多个攻击组织广泛用于全球 45 个国家的网络入侵活动中。这里是公民实验室的详细报告。
CitizenLab 的主要发现
在 2016 年8月至 2018 年8月期间,我们根据匹配模式,对全球曝网的 Pegasus 相关服务器进行了识别扫描,之后,我们发现了1091个 IP 地址与我们的设定指纹匹配,而且存在1014个域名与这些 IP 地址关联指向。在新型工具 Athena 的帮助下,我们把匹配出来的所有 Pegasus 控制端分类成了 36 种不同的控制系统,每一种控制系统对应的幕后操控者则是不同的黑客组织或攻击者。
结合 1014 个相关指向域名,经 DNS 缓存探测(DNS Cache Probing)分析,我们识别出了 Pegasus 在45个国家的活动痕迹,其中至少有10个攻击组织在进行着活跃的跨境入侵监控行为。
我们的调查侧面反映了,NSO 业务全球扩散背景下的凄凉人权情况。分析显示,在这些涉及监控活动的国家中,至少有6个国家此前曾涉及滥用间谍软件监控民间社会团体,这些国家包括巴林、哈萨克斯坦、墨西哥、摩洛哥、沙特阿拉伯和阿拉伯联合酋长国。
⚠️ Pegasus 可能也被那些人权记录可疑,和以国家安全为由存在虐待行为记录的国家使用,此外,我们在几个国家的网络监控目标中,发现了一些涉及政治主题的迹象,因此,这种间谍监控技术是否被用在合法的刑事调查活动,非常值得怀疑。
背景概要
Pegasus 是由以色列“网络武器”供应商 NSO 公司研发售卖的一款手机间谍软件,为了实现目标监控,攻击者首先会构造一个包含漏洞利用的特制链接发送到目标人物手机中,一旦目标人物点击该链接,就会实现一系列的 0-day 攻击,在隐蔽和无权限需要的情况下安装恶意软件,最终攻击者就能控制该手机。
之后,攻击者可以通过命令和 C2 服务器远程操控受害者手机,进行敏感信息窃取,回传包括密码、联系人列表、日历事件、短信和流行聊天 APP 的语音呼叫等信息,攻击者甚至还能远程受害者手机摄像头和麦克风来捕捉手机附近的活动行为。
用链接和 C2 服务器使用了 HTTPS 方式,这样就需要攻击者进行域名注册和维护。为了增加隐蔽性,攻击者注册的域名名称有时伪装成了移动运营商、在线服务、银行或政府服务机构。一个攻击者名下可能注册有多个域名,用于漏洞利用链接的发送和 C2 服务器的使用。
大多数情况下,Pegasus 涉及的相关域名最终会解析指向 NSO 或攻击者租用的云端虚拟服务器,也就是通常所说的前端服务器,之后,这些前端服务器会经过多个中转节点把流量或数据转发到攻击者实际操控的后端服务器中。
早在 2016 年8月,阿联酋异见者 Ahmed Mansoor 就遭到了 NSO 间谍软件 Pegasus 的入侵攻击,点击收到的短信接后,攻击者利用了3个 0-day 漏洞,对 Mansoor 手机“远程越狱”,并安装了持久化间谍软件,由此,我们对该攻击展开了调查。
通过指纹模式匹配,我们摸清了 Pegasus 的漏洞利用链接和C2服务器行为特征,并对全网匹配的前端服务器进行了扫描识别,最终发现了237个前端服务器,但就在我们发布报告的前几天,NSO 就突然下线了所有前端服务器。我们发布报告后,Pegasus 的一小撮前端服务器又悄悄上线了,但是,此时这些前端服务器的指纹模式已经与之前完全不同。我们2016年的这次分析报告也是首次揭露 Pegasus 的报告,之后,我们就根据 Pegasus 的新活动特征重新校正指纹模式,进行着定期的全网扫描识别。
当前发现
在 2016 年8月至 2018 年8月的时间段之间,我们探测到了与 Pegasus 相关的一共1091个 IP 地址和 1014 个域名,并根据相关特征,分类成了 36 种不同的控制系统。在这 36 种不同的控制系统中,我们发现,其中有 33 种控制系统出现在了 45 个国家的入侵攻击活动中,这些国家包括:
阿尔及利亚、巴林、孟加拉国、巴西、加拿大、科特迪瓦、埃及、法国、希腊、印度、伊拉克、以色列、约旦、哈萨克斯坦、肯尼亚、科威特、吉尔吉斯斯坦、拉脱维亚、黎巴嫩、利比亚、墨西哥、摩洛哥、荷兰、阿曼、巴基斯坦、巴勒斯坦、波兰、卡塔尔、卢旺达、沙特阿拉伯、新加坡、南非、瑞士、塔吉克斯坦、泰国、多哥、突尼斯、土耳其、阿联酋、乌干达、联合王国、美国、乌兹别克斯坦、也门和赞比亚。
我们根据国家级的 DNS 服务器来作出地理位置判断,如果其中涉及 VPN 和卫星传输网络,则结果可能会存在一定误差。以下是 Pegasus 攻击活动涉及的国家地区:
墨西哥
2017 年,经回顾性分析,我们发现数十名墨西哥律师、记者、人权维护者、反对派政治家、反腐败倡导者,以及一家驻墨的国际调查机构都遭到了 Pegasus 间谍软件的入侵。经我们的披露,墨西哥揭发了一场名为 #GobiernoEspía 的政治丑闻,并导致了持续的刑事调查,截至本报告发表之日,调查仍在继续中。据监测发现,在此前我们对墨西哥境内 Pegasus 的滥用披露之后,现在为止,仍然还活跃着三个不同的 Pegasus 攻击组织。
海湾合作委员会(海合会)国家
我们发现,在中东的海合会国家中,Pegasus 间谍软件的使用出现了显著的增长态势,总的来说,我们确定了在该地区海合会国家活动的至少六个攻击组织,其中两个主要以阿联酋为目标,一个主要以巴林为目标,另一个则针对沙特。还有三个攻击组织除了海合会国家任务之外,还对中东北非以外地区实施入侵监控,这些地区国家包括加拿大、法国、希腊、英国和美国。
海合会国家一向以滥用监控工具跟踪不同政见者而闻名,就像 2016 年阿联酋活动家 Ahmed Mansoor 的手机遭受 Pegasus 入侵一样,此前,他就曾被攻击者用 FinFisher 和 Hacking Team 公司的间谍软件攻击过;巴林也曾在2010年至2012年间利用 FinFisher 的间谍软件网络入侵记者、律师、反对派政治家和民主积极分子;2018年5月和6月,大赦国际( Amnesty International )报告声称,其一名驻沙特的员工受到间谍软件 Pegasus 的网络入侵。
其他国家的情况
我们确定了五个非常关注非洲地区的攻击组织,其中一个攻击组织似乎主要关注西非国家多哥,该国是以色列的坚定盟友,其长期执政的总统对反对派使用过酷刑和武力。这个针对多哥的攻击组织使用了带有“新总统”(nouveau president)和“政治信息”(politiques infos)词汇的网站,来传播感染 Pegasus 间谍软件。有一个针对摩洛哥的攻击组织,也对包括阿尔及利亚、法国和突尼斯等国存在入侵任务。另外,我们还发现了几个涉及以色列的攻击组织,其中四个组织在以国内发起入侵,一个在以境外的荷兰、巴勒斯坦、卡塔尔、土耳其和美国发起入侵。
识别 Pegasus 开展网络攻击的基础设施架构
本节中我们着重描述,如何从 2016 年首发 Pegasus 开始到现在,跟踪识别 Pegasus 开展网络攻击的基础设施架构。
2016 年8月,针对阿联酋活动家 Ahmed Mansoor 的手机入侵行为,我们联合 LookOut 实验室,全球首次揭开了 Pegasus 的真面目,攻击者利用苹果 Apple iOS 9.3.3 的三个 0-day 漏洞,实现 iPhone 手机的隐蔽入侵控制。之后,我们向苹果公司披露了漏洞,苹果公司及时把更新加入到 iOS9.3.5 的升级包中,暂时堵塞了 Pegasus 传播感染的路径。在我们的技术报告发布前几天,根据我们的网络扫描识别,发现除了C2服务器之外,所有我们前期探测到的 Pegasus 前端服务器都被无故下线了。
2016-新的指纹模式:诱饵页面
之后,我们试图再继续发现 Pegasus 新利用的网络基础架构,于是,我们全网探测了 Pegasus 服务端响应的诱饵页面样式 /redirect.aspx 和 /Support.aspx。由于诱饵页面的显示功能只存在于间谍软件的服务端代码中,因此,我们很容易创建诱饵页面的相关指纹匹配模式,利用这些指纹模式,对全网进行识别探测,就能发现Pegasus相关的其他攻击组织在操控掌握的后端控制系统。
2017至2018- 诱饵页面消失
在我们发现 Pegasus 诱饵页面之后,NSO 公司又逐渐移除了诱饵页面相关的/redirect.aspx 和 /Support.aspx样式,并进一步修改了服务端代码,关闭了除有效漏洞利用链接和特殊路径之外的请求连接数据响应通道,这种变化与其它间谍软件公司的 FinFisher 和 Hacking Team 步伐一致。
接着,在研究了几个可疑的新 Pegasus 服务器行为后,我们开发了三个不同的 Pegasus 行为指纹e1、e2和e3,以及一个新型分类工具 Athena。指纹e1是传输层安全(Transport Layer Security)指纹,指纹e2和e3则代表我们观察到的两种不同的代理配置模式。如果恶意软件或木马与 e1、e2和e3 中的一个匹配,我们可以认为它归属于 NSO 间谍软件的网络架构。之后,我们使用工具 Athena 将这些识别指纹分类成了不同的36种模式,我们认为每一种模式对应的就是一个 Pegasus 软件的攻击组织。为了避免其它不必要的安全因素,我们在此暂不公开这些具体的指纹和识别技术。
Pegasus 重生
我们当时在2016年8月的披露报告,NSO 公司显然向相关客户方作了通报,从以下流量扫描探测图中可以发现,那貌似还对他们的运转造成了大约半小时的中断。
在我们 2016 年8月24日发布针对 Pegasus 第二版本的 Million Dollar Dissident 报告之前,有12台后端服务器无故下线,直到2016年9月25日才重新上线,之后一直持续到了2017年8月10日。之后,我们在 2017 年9月5日的全网扫描中发现了第一台 Pegasus 第三版服务器,这是在我们发布 Million Dollar Dissident 报告之后的将近一个月,此时,全网有7个不同的网络攻击组织,过了一个月,又增加到了14个不同的网络攻击组织。
基于 DNS 缓存探测分析的攻击组织分类
我们使用自研工具 Athena 对 Pegasus 活动相关的IP地址和域名进行分类,最终我们划分出了36个不同攻击组织,每一个攻击组织都使用了多组 IP 地址。根据每个攻击组织活跃的地域范围,我们按照国家特征和地理特点分别给每个攻击组织进行了命名。针对各攻击组织使用的IP地址信息,我们从其使用的 TLS 证书中提取了相应的域名,并对这些域名进行编码分析,找出其可疑的重点关注国家,并评估其涉及的政治主题和政治动机。之后,我们通过 DNS 缓存探测,生成了可能与攻击组织相关的 Pegasus 感染国家列表。
以美洲地区为目标的入侵攻击组织
经验证,我们发现了五至六个以对美洲地区为目标的入侵攻击组织。其中一个名为 MACAW 的攻击组织主要以洪都拉斯及其邻国为目标,其使用的两个域名 politica504[.]com 和 eltiempo-news[.]com 都与洪都拉斯相关。
2017 年6月,我们曾在《Reckless Exploit 》的报告中披露过针对墨西哥的 Pegasus 活动情况,其中存在四个攻击组织使用的域名与墨西哥有明显关联,它们是 RECKLESS-1、RECKLESS-2、PRICKLYPEAR 和 AGUILAREAL。RECKLESS-1和 RECKLESS-2 使用了一些包含政治主题域名,如universopolitico[.]net 、 animal-politico[.]com、noticiaspoliticos[.]com 和 politicoportales[.]org。
在我们发布报告后, RECKLESS-1和 RECKLESS-2 迅速下线了它们的服务器, PRICKLYPEAR 和 AGUILAREAL下线了其中几个服务器。一个月之后,注册了新域名的 MAYBERECKLESS 攻击组织出现,它可能是 RECKLESS-1和 RECKLESS-2 演变组织。到了2017年9月,PRICKLYPEAR 和 AGUILAREAL 又增加了一些新的上线服务器。
下列列表中的元素属性:Operator name(攻击组织)、Dates operator was active(活跃时间段)、Suspected country focus(重点关注国家)、Political themes?(是否与政治主题相关)、Suspected infections(其它可疑的攻击感染国家)。
我们发现了五个以非洲地区为目标的入侵攻击组织,其中一个命名为 REDLIONS 的组织使用了几乎全是法语的前端域名网站,其使用的域名为 politiques-infos[.]info 和 nouveau-president[.]com。另外一个名为 AK47 的攻击组织在 2017 年7月突然下线消失,而继续活跃中的 ATLAS 、 GRANDLACS 和 GRANDLACS同样也使用了政治主题相关的域名,如 revolution-news[.]co 和 politicalpress[.]org。
我们发现了五个以欧洲地区为目标的入侵攻击组织,名为 TURUL 和 CHEQUY 攻击组织使用的前端域名与匈牙利和克罗地亚相关,但我们还暂未发现任何这些攻击组织相关的 DNS 缓存探测匹配线索,目前这些组织的入侵攻击活动仍然处于活跃状态。
我们发现了12个以中东地区为目标的入侵攻击组织,其中 PEARL 主要以巴林为目标,KINGDOM 则对大赦国际( Amnesty)和沙特阿拉伯的工作人员开展过攻击,PEARL 和 FALCON 则使用了一些与政治主题相关的域名,如 shia-voice[.]com、14-tracking[.]com 和nomorewarnow[.]com。
以亚洲地区为目标的入侵攻击组织
我们发现了五个以亚洲地区为目标的入侵攻击组织,其中一个名为 GANGES 的攻击组织使用了一个与政治主题相关的域名 signpetition[.]co。另外,⚠️我们未对中国大陆地区进行 DNS 缓存探测识别,所以这里的结果中不包含任何与中国相关的 Pegasus 线索。
高度定制的运营商(重心不明)
我们发现三家运营商的重心不明确,他们都在运营中使用了一定程度的定制。
运营商 SUPERSIZE(活跃于 2016年9月 -至今)是迄今为止域名数量最大的 Pegasus 部署;我们发现有 118 个域名属于 SUPERSIZE。我们在以色列和巴林发现了有趣的 DNS 缓存命中率,但没有足够的信息来确定这些是否可能是疑似感染。可能的情况是,SUPERSIZE 使用相对较少的基础设施监控相对较少的人,或者某些 SUPERSIZE 的目标可能处于可以通过 DNS 缓存探测测量的区域之外,或者 SUPERSIZE 以特别隐蔽的方式运行,在零星而非连续的监视下进行。
运营商 SNEAK(2016年10月 — 至今活跃)的基础设施反映了高度的定制,包括在非标准端口上运行C&C服务器,以及利用动态DNS服务。SNEAK 是在我们的 Million Dollar Dissident 报告之后重新使用其旧基础设施的运营商,促进了我们对 NSO 集团基础设施的持续可见性。在叙利亚,黎巴嫩,卡塔尔,荷兰和美国的这个系统上发现了有趣的 DNS 缓存命中,但没有足够的信息来确定这些是否可能是疑似感染。
运营商 PARTY(2017–5-至今活跃)使用具有极长 TTL 的域名。我们在叙利亚和黎巴嫩的这个系统上发现了有趣的 DNS 缓存命中,但没有足够的信息来确定这些是否可能是疑似感染。
4. DNS 缓存探测技术
DNS 及缓存探测的背景知识
当用户(或计算机程序)指示计算机或移动设备与域名通信(例如,www.citizenlab.ca)时,设备首先向域名服务器(DNS)发送请求,以便获取域名对应的IP地址。默认情况下,设备与所连接的ISP或电信公司的 DNS 服务器通信。
DNS 服务器临时缓存IP地址和域名之间的映射,通常持续时间由域名所有者指定(例如,300秒)。当设备查找不在服务器缓存中的域名时,服务器会联系其他 DNS 服务器以“递归”解析域名,然后将该记录存储在缓存中。当设备查找已在服务器缓存中的域名时,服务器将从缓存中返回记录以及生存时间(TTL),该值指示服务器中的记录何时到期。如果服务器返回的 TTL 值小于域名所有者设置的值,那么 DNS 服务器返回的记录存在于缓存中,因此被其他一些 ISP 用户查询。
还可以将查询发送到DNS服务器,并将 Recursion Desired 标志设置为 0(称为非递归查询),向服务器指示它应该只在响应之前查询其缓存;如果记录不在缓存中,则服务器不应联系其他服务器以尝试解析域名,并且不应向其缓存添加任何内容。某些 DNS 服务器可能会选择忽略此标志。
为了观察不完整的 TTL,向 DNS 服务器发送查询(无论是非递归的还是递归的)是一种称为 DNS 缓存探测或 DNS 缓存侦听的技术。2004 年 DNS 缓存探测的原始演示文稿的作者认为它对安全性和隐私有害,并建议DNS服务器的运营商(如 ISP)应阻止并非源自自己网络的 DNS 查询。实施这样的预防措施会使单个观察者更难直接探测 DNS 服务器的缓存。 2006 年对僵尸网络 C&C 服务器的调查采用DNS缓存探测;在这种情况下,作者已经探测过对某些域名具有权威的 DNS 服务器,而不是 DNS 转发器。
即使在 ISP 阻止来自非 IS P用户的 DNS 服务器请求的情况下,有时也可以通过 ISP 网络上的开放 DNS 转发器来探测 DNS 服务器的缓存。开放式 DNS 转发器是一种接受来自任何 Internet 用户的查询的服务,并且可以将未被调用的查询转发给ISP服务器,然后 ISP 服务器响应转发器,转发器又响应用户。从 ISP 的 DNS 服务器的角度来看,查询的提交者(转发器)在ISP的网络上。开放式 DNS 转发器可能在未正确配置的路由器或 IoT 设备上运行。
注意: DNS 缓存探测中的规范
为了与网络测量研究中越来越重视道德规范保持一致,我们考虑了我们的技术活动对非研究目标的影响,并寻求最小化任何中断的可能性。值得注意的是,我们检查了用户成本,服务中断或其ISP发出的意外警告的可能性。我们认为,这项研究的开展方式可以减轻这些风险,并符合公众利益。
首先,我们考虑了用户可能因 DNS 缓存探测而导致成本或服务中断的可能性。鉴于活动期间提出的请求数量很少,我们认为这是一个非常不可能的结果。部署后,该技术每个 IP 地址每秒产生的请求少于一个,因此每秒小于1千字节。所以,总流量每天小于100兆字节。为了进一步减少探测域名的权威名称服务器上的负载,我们仅使用非递归查询。因此,我们预测不会导致用户产生成本或带宽下降。
我们确定,由于我们的 DNS 缓存探测,用户不太可能收到来自其 ISP 或其他机构的不受欢迎的查询。当然,开放式 DNS 转发器是主要的 Internet 安全风险,因为它们可能用于 DNS 放大 DDoS 攻击。这种大规模攻击可能会引起 ISP 或其他机构的注意,并触发 ISP 的查询或制裁。相比之下,DNS 缓存探测是一种非常低容量的活动。如果一个开放的 DNS 运营商尚未收到其ISP的联系人,我们认为这种技术不太可能触发联系人,因为它看起来不像“类似攻击”。
在撰写本文时,我们并未发现恶意实际攻击中使用 DNS 缓存探测的任何证据。随着 DNS 缓存探测技术不断发展成为一种研究工具,确保以不会出现隐私和安全问题的方式继续使用它将非常重要。
寻找合适的 DNS 转发器
我们首先开发一个合适的 DNS 转发器列表。我们运行三个测试来回答以下问题:
1. 转发器使用尊循非递归查询的解析器吗?我们为控制的域名的随机子域发送非递归查询,并检查是否得到响应。随机子域名解析为IP但不应位于任何缓存中。我们检查每个 IP 两次;如果我们得到正确的答案,那么 IP 不会遵循非递归查询。
2. 转发器使用哪个解析器?我们为控制的域运行自定义名称服务器;名称服务器返回传入 DNS 查询的源 IP 作为响应中的答案之一。我们使用针对控制的域的随机子域的递归查询来查询每个 IP 10次,并收集我们的名称服务器返回的 IP 集合。
3. 转发器是否可以访问感兴趣的缓存?我们使用google.com的递归查询连续查询每个 IP 10次。如果 IP 在 Google 自治系统(AS#15169)中至少返回一次带有 IP 的响应,则转发器可以访问感兴趣的缓存。
DNS 转发器适用于以下情况:
- 它尊循非递归查询。
- 转发器只在单个自治系统(AS)中转发对解析器的请求。我们排除在多个AS中使用解析器的转发器,因为当这样的转发器显示DNS缓存命中时,我们不知道DNS缓存实际发生在哪个AS中。
- 转发器解析器的(单个)AS 由 CAIDA 的 AS 分类数据集指定为“Transit / Access”。这有助于避免一些云提供商和共享 DNS 提供商,如 Google,OpenDNS,Yandex,CloudFlare 等。
- 转发器的解析器的 AS 不等于我们找到 NSO Group 服务器匹配的任何 AS。
- 转发器本身不是解析者;换句话说,转发器 IP 不会出现在解析器中。
- 转发器有权访问感兴趣的缓存。
每次我们扫描时,我们的清单包括约 38,000 个合适的转发器,不包括中国的转发器。
了解 DNS 缓存探测误报
DNS 缓存探测可能产生误报,即 DNS 缓存探测技术报告该域名在缓存中,当它实际上不在缓存中时,或者当我们使其在缓存中时。这会发生在以下三种情况:
1. DNS 转发器不会始终遵循非递归查询;它可以将一些查询子集转发给不支持非递归查询的解析器。这可能导致我们的查询将域名添加到缓存。
2. DNS 转发器可能会返回我们在(1)中添加到缓存中的条目。即使对于在100%的时间都遵守非递归查询的DNS转发器,也会发生这种情况。
3.自动化流程或好奇的研究人员可能会观察我们的 DNS 缓存探测并发送我们正在探测的域名的 DNS 查询;这可能会将域名添加到我们正在探测的缓存中。
我们进行了几项对比实验,以确定如何更好的排除误报。在我们的对比实验中,我们选择了50个具有通配符记录和至少 300 秒 TTL 的域名,然后生成一个随机字符串用作子域,并在所有解析器上连续查询所有50个域名(带子域)大约每300秒按固定顺序排列,确保每300秒至少查询一次每个域名。我们进行了24小时的实验。
我们在对照实验中收到的任何结果都被视为误报。我们开发了一套启发式方法,在这些实验中将误报率降低到0,并认为这些相同的启发式方法可以帮助我们从间谍软件域名的DNS缓存探测研究中消除许多误报。这些是我们用于消除结果误报的条件:
1. 排除同一查询的重复观测值:对于每个 DNS 服务器响应,我们检查观测值是否重复。具体来说,如果给定域名的响应在n秒前针对同一域名的响应(来自任何DNS转发器)之前,并且先前响应的TTL与当前响应相差n(±2),那么我们排除了目前的响应。
2. 即使时钟以不正确的速率运行,也要排除可能的重复观测值:对于每个 ASN,如果其 TTL 小于或等于任何 DNS 转发器为同一 ASN 返回的该域名的前一记录,排除记录(或IP)。我们实现了这个条件,因为对于某些 ASN,我们确定了单调非递减的 TTL 序列(对于具有大TTL的域名),这些序列与以不正确速率运行的时钟相对应,并且怀疑这些可能是误报。
3. 使用不正确的 TTL 排除任何观察结果:我们排除TTL大于域名 DNS 服务器设置的 TTL 的所有观察结果,2个 TTL 内的所有观察结果,以及用流行的固定 TTL 值(0,1,9,10,11,30,60,80,100,300,1000,10000)进行的所有观察。
4. 排除来自 DNS 转发器的所有响应,这些响应会返回错误答案:如果 DNS 转发器在响应中返回了错误的IP地址,我们也会排除所有响应。
5. 排除来自托管域名同一国家/地区的缓存的所有响应:对于给定的域名,我们排除了来自托管域名的同一国家/地区的 ASN 的 DNS 转发器的所有 DNS 缓存响应。例如,如果域名指向意大利的IP地址,我们会将意大利的所有 DNS 缓存命中率排除在该域名之外,作为潜在的误报。
6. 排除不常见的响应:除非给定 ASN 中的解析器返回至少四个未被排除的特定域名的响应,否则我们会从 ASN 中排除该域名的响应。
我们排除结果的条件非常宽松,可能导致漏报。请注意,当我们说我们排除了响应时,我们的意思是响应未包含在最终结果中。我们继续将被排除的响应视为排除其他响应的理由。
为什么域名在缓存中?
域名在缓存中的原因有很多(假设我们没有意外地将其放在那里)。我们只对可能由感染引起的缓存条目感兴趣。我们简要介绍了 NSO 的 Pegasus 间谍软件部署如何运作的工作模型,并得到了 NSO 集团基础设施分阶段关闭的证据支持。
我们部署 Pegasus 间谍软件的心智模型是,大多数运营商都有两台 C&C 服务器,大多数感染者都与这些服务器通联,其余的基础设施包含漏洞链接中使用的域名。在国际特赦组织和公民实验室于2018年8月1日发布有关使用 Pegasus 间谍软件的报告后,Pegasus 基础设施分阶段进行关闭。起初,大部分前端域名被关闭,而少数最终域名(通常是两个)对每个运营商保持活跃状态。我们认为这些是 C&C 服务器,并且域名保持在线状态,以便受感染的设备有机会在新的 C&C 服务器上进行信号切换并接收指令,以便与之通信。
如果给定的运营商恰好有两个最终域名,我们假设这些是 C&C 服务器。如果运营商拥有两个以上的最终域名,我们假设大小为2的某个子集是C&C服务器。我们没有确定 DNS 缓存探测技术报告的任何运算符在最终域名的大小为2的不同子集上的命中。然后,我们过滤了对 ASN 的反应,这些反应在两个假设的 C&C 域名上都有命中,并认为这些是疑似感染。
实验
一旦我们开发了减少误报的技术,我们就为关联到 NSO Group 的基础设施的所有域名探测DNS缓存,这些域名是活动的并且匹配我们的指纹。我们在 TTL 期间至少查询过一次域名。由于存在大量域名和服务器,以及我们希望节省带宽,我们交替使用了正在探测的域名。每个域名在三天的周期至少被探测过。
可能的限制
诸如使用 VPN 和卫星互联网连接等因素可能会歪曲地理定位结果。因此,这只能作为进一步调查的指南,而不是监测的铁证。此外,DNS 转发器的异常配置(例如使用一致性散列来咨询不同域名的不同解析器)可能会破坏我们的过滤技术并引入误报。
我们不确定我们的方法可以观察到所有 DNS 查询的百分比,并注意到不同国家和ISP的百分比可能差别很大。因此,我们的技术可能已经错过了大量的感染,并且可能无法完全衡量某些国家或 ISP。重要的是,我们的结果中出现了在一个国家/地区的运营商实际上在多个国家/地区运营。我们没有在中国大陆进行任何 DNS 缓存探测。
总结
通过报告,我们确定了 Pegasus 在 45 个国家有可疑活动线索,这些入侵攻击活动可能由 33 个不同的 NSO 客户相关的攻击组织掌握实施。通过提取这些攻击组织所使用的 C2 服务器域名,我们执行了 DNS 缓存探测,开展了深入的分析识别和指纹匹配,并最终把各个攻击组织进行了分类。Pegasus 在全球的大肆活动线索,引发了以下让人担忧的问题:
- 一些身份已知的间谍软件滥用机构还在继续使用 Pegasus
- 存在使用 Pegasus 进行广泛的跨境网络入侵监控行为
- NSO 对个人隐私和人权保护的漠视将会导致更多全球网络安全问题
本报告希望能成为一个模版,供中国的调查人士参考。希望能看到更多关于中国的详细调查报告。
from https://medium.com/@iyouport/report-%E4%BB%A5%E8%89%B2%E5%88%97-nso-%E7%94%9F%E4%BA%A7%E7%9A%84%E9%97%B4%E8%B0%8D%E8%BD%AF%E4%BB%B6-pegasus-%E5%9C%A845%E4%B8%AA%E5%9B%BD%E5%AE%B6%E8%A2%AB%E7%94%A8%E4%BA%8E%E7%9B%91%E8%A7%86%E5%92%8C%E6%94%BB%E5%87%BB%E5%BC%82%E8%AE%AE%E4%BA%BA%E5%A3%AB%E5%8F%8A%E6%B4%BB%E5%8A%A8%E5%AE%B6-%EF%B8%8F-%E4%BA%9A%E6%B4%B2%E6%9C%89%E9%A6%99%E6%B8%AF-779f860b5f4b
No comments:
Post a Comment