哈萨克斯坦拦截HTTPS流量事件的详细分析

2023-12-12 17:20

本文主要是介绍哈萨克斯坦拦截HTTPS流量事件的详细分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

这篇文章是我们对哈萨克斯坦政府命令电信运营商协助进行HTTPS流量拦截事件的分析。

近期,哈萨克斯坦政府开始使用一个虚假的根证书对Facebook、Twitter和谷歌等网站的HTTPS连接进行中间人攻击。自从此事件被曝出,我们就一直对其中的技术细节和哈萨克斯坦的网络状况进行跟踪分析,先将初步研究结果公布如下:

  • 哈萨克斯坦政府使用虚假的根证书拦截HTTPS连接,这大大破坏了哈萨克斯坦互联网用户的上网体验。

  • 默认情况下,浏览器不信任虚假的根证书,用户必须手动安装。但如果用户不安装虚假的根证书,则根本无法访问某些站点。

  • 真正的拦截行为是在7月17日被首次发现的,自7月20日以来我们一直紧密监控拦截情况,整体拦截活动可以说是断断续续。

  • 只有某些站点的HTTPS流量被拦截,主要根据SNI(Server Name Indication)中的主机名进行拦截。至少有37个域名受到影响,包括知名的社交媒体和通讯网站(完整列表见下面)。

  • 到目前为止,此次拦截行为似乎影响了该国最大的互联网服务提供商Kazakhtelecom(即9198 KazTelecom)的部分网络服务。

  • 国外访问哈萨克斯坦也有可能触发拦截机制,这也方便了我们进行研究。

什么是HTTPS拦截?

HTTPS可通过加密来保证浏览器和网站之间的通信隐秘性,防止互联网服务提供商和政府拦截读取通信内容。网站服务器通过提供由证书颁发机构数字签名的证书来证明其身份,浏览器也有自己默认信任的证书机构。例如,facebook.com会向浏览器提供由DigiCert签名的证书,DigiCert是一个全球公认的证书颁发机构,几乎所有浏览器都信任它。

浏览器可以通过验证网站所提供的证书确认它的真实身份,确保他们正在与真正的facebook.com对话。此外,facebook.com提供的证书还包含一个加密密钥,用于保护浏览器和Facebook的后续通信。

而在HTTPS拦截攻击(中间人攻击)中,攻击者假装自己是一个知名网站(例如facebook.com),并向浏览器提供自己的假证书。通常,攻击者提供的证书并非由权威机构颁发,浏览器并不会信任,会阻断连接。但是,如果攻击者可以说服受害者手动往浏览器中添加虚假的根证书,则浏览器会信任攻击者的服务器发送的虚假证书。此时,攻击者可以假冒成任何网站,受害者会“主动”向其传递敏感信息。

Censored Planet的发现

Censored Planet是一个全球性的网络监察平台,位于密歇根大学。它会利用某种远程监控技术不断监测全球170多个国家各种类型的网络波动。

而这个平台提示我们,从2019年7月20日开始,哈萨克斯坦可能发生了大规模中间人攻击,一种名为HyperQuack的技术检测到了这一现象。HyperQuack的工作原理是主动连接到TLS服务器并发送握手包,其中的SNI包含了很敏感、可能会被拦截的域名。如果返回的结果与正常的有所不同,存在干扰迹象,则代表服务器所在的国家对特定网络通信做出了干扰。

在这里插入图片描述

经过调查,我们发现以上异常情况中所涉及的证书都是虚假的,都是由哈萨克斯坦根证书机构CA (Qaznet Trust Network)签署的。这意味着中间有人先解密流量,然后用自己的密钥加密,再转发到目的地。
在这里插入图片描述

我们的调查还显示,只有当连接遵循某条网络路径时,才会被拦截。但无论是从国内连国外,还是从国外连国内,都会被拦截。这意味着我们可以通过主动连接到哈萨克斯坦境内的TLS服务器来进行研究分析。

深入分析

受到Censored Planet平台的提示,我们进行了几个实验,以更好地理解哈萨克斯坦的HTTPS的拦截行为。
在这里插入图片描述

我们在哈萨克斯坦有2个VPS和52个RIPE Atlas网络探针。并且我们还对该国的TLS服务器进行了更全面的扫描。

最后,我们只直接观察到两个HTTPS拦截样例,都来自RIPE Atlas的探测。我们的两个VPS都可以访问受影响的站点(例如facebook.com),没有经过任何HTTPS拦截。这表示美国的网站的受影响面较小,即使是已知的受影响的域名,请求也并不一定都被拦截。

我们发现要注入证书必须满足以下几个条件:

  • 浏览器到服务器必须通过KazTelecom所能控制的路径,这也是我们能观察到的注入发生的地方。

  • 浏览器必须发送的TLS连接中的SNI中的主机名必须包含敏感域名。

  • 服务器必须提供一个有效的受浏览器信任的TLS证书,不一定是SNI中主机的证书。

当然,这些条件是必要的,但并不是充分的。我们建立了一些满足以上要求的连接,却没有观察到证书注入。我们仍在研究必须满足哪些其他条件才能触发拦截。

据Censys的数据,哈萨克斯坦有超过200000个可访问的TLS服务器,但其中只有6736个提供了浏览器信任的证书。在7月21日,我们从美国对这6736个服务器中进行了TLS握手,并将SNI中的主机名设置为facebook.com和google.com,结果只有459台服务器(7.0%)被注入了证书,这表明哈萨克斯坦的HTTPS拦截行动目前只发生在该国的一小部分地区。

我们又从哈萨克斯坦国内的VPS对6736个服务器进行了相同的扫描,发现有1598(24%)台被注入了证书。虽然这些服务器位于不同的位置,但是所有这些服务器的都和KazTelecom有关。

而在7月22日早些时候,我们注意到所有拦截行为都已停止,9小时后又恢复。此时,我们又重新测试了一遍,发现注入证书的HTTPS服务器数量减少了,仅300台(4.4%);我们再在哈萨克斯坦的VPS中进行测试,发现仅有400台(5.9%)。这表明拦截系统仍在测试或调优中,这可能是广泛部署的前兆。

分析技术

为了确定拦截发生的确切位置,我们使用了一种基于TTL的技术。对于每个出现拦截情况的HTTPS服务器,我们发送多个包含不同TTL值的请求,测试出在发生注入情况下,TTL的最小值。由于TTL控制了跳转步数,因此,如果我们将一个数据包的TTL设置为3,并且没有监测到任何证书注入,那么就说明进行注入的设备离我们超过3次跳转的距离。通过这种技术,我们精确定位了注入设备的网络位置。

我们在哈萨克斯坦的VPS上对被注入证书的1598台HTTPS服务器进行了这种扫描。对于每台服务器,我们都发送了两个请求,一个SNI中的域名为受影响网站,另一个则相反,然后再测量收到响应的最小跳转数。最后,我们发现,注入行为发生在离用户3、4跳的位置,在美国的测试也发现了相同的结果。

通过对网络跳转的分析,我们发现在95%的情况下,注入前的最后一跳地址为92.47.151.21092.47.150.198,注入后的跳转地址为95.56.243.9295.59.170.59。所有这些IP地址都属于KazTelecom,这表明KazTelecom是目前唯一进行HTTPS证书注入的互联网服务提供商位置。下面是一个示例,其中注入发生在4至5跳之间。

! 1 185.120.76.1
! 2 88.204.195.89
! 3 212.154.195.97
! 4 92.47.151.210
! 5 95.56.243.92
! 6 178.89.110.198
! 7 178.89.110.206
! 8 *
Certificate injection occurred between hops 4 and 5.

注入证书

虽然证书注入是由浏览器发出请求中的SNI触发,但是注入的虚假证书似乎是基于服务器的合法证书而不SNI中的域名。这意味着如果向站点iqala.kz发送一个SNI中主机名为facebook.com的请求,则会注入一个CN=iqala.kz的证书,且注入的证书具有以下属性:

  • 与原始服务器证书相同的主题名和主题替代名(SAN)

  • 将公钥替换为基于主机的RSA-2048密钥

  • 有效期与原证书相同,但这个特点已在过去6小时内变化

  • 序列号与原始序列号相同,但最后4个字节会被更改

  • 删除所有其他x509扩展

该证书由一个中间证书(C=KZ, CN=Security Certificate)颁发,该证书由根证书(C=KZ, CN=Qaznet Trust Network)签名。中间证书涉及一个2048位RSA密钥,有效期为3年,而根证书涉及一个4096位RSA密钥,有效期为30年。

流量指纹

执行拦截的设备必须连接到原始TLS服务器,以便检索其合法证书方便进行验证和替换。经过我们对自己所控制的HTTPS服务器发起TLS请求所进行的测试,触发拦截的TLS请求(即SNI中的域名为facebook.com)的响应和正常的响应有很大不同。如果你想进行研究分析,可以点击这里下载。

受影响的域

HTTPS拦截主要由SNI中的域名触发。在我们测试的约10000个域名中,有37个域名受到影响,这些域名主要属于社交媒体和交流网站:

allo.google.com, android.com, cdninstagram.com, dns.google.com, docs.google.com, encrypted.google.com, facebook.com, goo.gl, google.com, groups.google.com, hangouts.google.com, instagram.com, mail.google.com, mail.ru, messages.android.com, messenger.com, news.google.com, ok.ru, picasa.google.com, plus.google.com, rukoeb.com, sites.google.com, sosalkino.tv, tamtam.chat, translate.google.com, twitter.com, video.google.com, vk.com, vk.me, vkuseraudio.net, vkuservideo.net, www.facebook.com, www.google.com, www.instagram.com, www.messenger.com, www.youtube.com, youtube.com

互联网服务提供商告诉用户安装虚假的根证书,可以帮助防止欺诈、黑客攻击。然而,这个受影响域名列表表明,政府真正的意图是监视社交网络上的言论。

结论

哈萨克斯坦国内的HTTPS拦截行动侵犯了该国互联网用户的隐私。虽然没有在全国范围内实施,但政府似乎有意进行全国推广。国际社会或许需要持续关注这一事件,因为这与全球信息安全背道而驰。

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/2809.html
来源:https://censoredplanet.org/kazakhstan

这篇关于哈萨克斯坦拦截HTTPS流量事件的详细分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/485375

相关文章

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

poj 2135 有流量限制的最小费用最大流

题意: 农场里有n块地,其中约翰的家在1号地,二n号地有个很大的仓库。 农场有M条道路(双向),道路i连接着ai号地和bi号地,长度为ci。 约翰希望按照从家里出发,经过若干块地后到达仓库,然后再返回家中的顺序带朋友参观。 如果要求往返不能经过同一条路两次,求参观路线总长度的最小值。 解析: 如果只考虑去或者回的情况,问题只不过是无向图中两点之间的最短路问题。 但是现在要去要回

poj 3422 有流量限制的最小费用流 反用求最大 + 拆点

题意: 给一个n*n(50 * 50) 的数字迷宫,从左上点开始走,走到右下点。 每次只能往右移一格,或者往下移一格。 每个格子,第一次到达时可以获得格子对应的数字作为奖励,再次到达则没有奖励。 问走k次这个迷宫,最大能获得多少奖励。 解析: 拆点,拿样例来说明: 3 2 1 2 3 0 2 1 1 4 2 3*3的数字迷宫,走两次最大能获得多少奖励。 将每个点拆成两个

poj 2195 bfs+有流量限制的最小费用流

题意: 给一张n * m(100 * 100)的图,图中” . " 代表空地, “ M ” 代表人, “ H ” 代表家。 现在,要你安排每个人从他所在的地方移动到家里,每移动一格的消耗是1,求最小的消耗。 人可以移动到家的那一格但是不进去。 解析: 先用bfs搞出每个M与每个H的距离。 然后就是网络流的建图过程了,先抽象出源点s和汇点t。 令源点与每个人相连,容量为1,费用为

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法   消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法 [转载]原地址:http://blog.csdn.net/x605940745/article/details/17911115 消除SDK更新时的“

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应

FreeRTOS内部机制学习03(事件组内部机制)

文章目录 事件组使用的场景事件组的核心以及Set事件API做的事情事件组的特殊之处事件组为什么不关闭中断xEventGroupSetBitsFromISR内部是怎么做的? 事件组使用的场景 学校组织秋游,组长在等待: 张三:我到了 李四:我到了 王五:我到了 组长说:好,大家都到齐了,出发! 秋游回来第二天就要提交一篇心得报告,组长在焦急等待:张三、李四、王五谁先写好就交谁的

【经验交流】修复系统事件查看器启动不能时出现的4201错误

方法1,取得『%SystemRoot%\LogFiles』文件夹和『%SystemRoot%\System32\wbem』文件夹的权限(包括这两个文件夹的所有子文件夹的权限),简单点说,就是使你当前的帐户拥有这两个文件夹以及它们的子文件夹的绝对控制权限。这是最简单的方法,不少老外说,这样一弄,倒是解决了问题。不过对我的系统,没用; 方法2,以不带网络的安全模式启动,运行命令行,输入“ne

BT天堂网站挂马事件后续:“大灰狼”远控木马分析及幕后真凶调查

9月初安全团队披露bt天堂网站挂马事件,该网站被利用IE神洞CVE-2014-6332挂马,如果用户没有打补丁或开启安全软件防护,电脑会自动下载执行大灰狼远控木马程序。 鉴于bt天堂电影下载网站访问量巨大,此次挂马事件受害者甚众,安全团队专门针对该木马进行严密监控,并对其幕后真凶进行了深入调查。 一、“大灰狼”的伪装 以下是10月30日一天内大灰狼远控的木马样本截图,可以看到该木马变种数量不