博客

什么是TCP重置?

前言 #

在现代计算机网络中,TCP(传输控制协议)作为互联网通信的基础协议,扮演着至关重要的角色。TCP不仅负责数据的可靠传输,还通过复杂的握手和流量控制机制确保网络连接的稳定性和高效性。它是一种面向连接的、可靠的、基于字节流的传输层协议,广泛应用于各种应用程序之间数据的可靠传递。

然而,在TCP协议的设计和实现中,有一种机制虽然重要但常常被忽视——TCP重置(TCP Reset)。在某些情况下,TCP会发送一个“复位”(RST)段来终止当前正在进行的数据传输,这通常被称为TCP重置。这种机制在某些情况下可能会对网络安全和系统稳定性造成严重影响。本文将深入探讨TCP重置带来的危害与影响,并详细介绍如何应对这一问题。

这个技术可以在善意的防火墙中应用,但也可用于网络审查或是攻击,恶意中断TCP连接,是一种旁观者攻击。防火长城(GFW)会自动执行TCP重置攻击,来阻断不符合到当地法律法规的网站。

基本概念 #

背景 #

当两台计算机之间需要双向虚拟连接时,TCP与IP一起使用。(UDP是无连接IP协议。)两台机器上的TCP软件将通过交换数据包流进行通信(例如,装有浏览器的电脑和Web服务器)。使用TCP连接为计算机提供了一种简便的方法来交换对于单个数据包来说太大的数据项,例如视频剪辑,电子邮件附件或音乐文件。尽管某些网页对于单个数据包来说足够小,但为方便起见,它们也是通过TCP连接发送的。

TCP重置 #

TCP重置是TCP协议中的一种错误处理机制,用于在网络连接出现异常时快速恢复通信状态。当TCP连接因某种原因断开或出现严重错误(如数据包损坏、超时等)时,发送方会向接收方发送一个带有RST(Reset)标志位的TCP报文段,指示对方重置该连接。

TCP重置机制的设计初衷是快速清理无效连接,确保网络资源不被无谓地占用。然而,在实际应用中,由于配置不当、恶意攻击或协议漏洞等原因,TCP重置可能会引发严重的安全问题和性能隐患。

按照最初的设计,这是一个有用的工具。常见的应用是在进行TCP连接时计算机(计算机A)崩溃的情况。另一端的计算机(计算机B)将继续发送TCP数据包,因为它不知道计算机A已崩溃。重新启动计算机A后,它将从旧的崩溃前连接接收数据包。计算机A没有这些数据包的上下文,也无法知道如何处理这些数据包,因此它可以向计算机B发送TCP重置。此重置使计算机B知道该连接不再起作用。计算机B上的用户现在可以尝试其他连接或采取其他措施。

伪造TCP重置 #

在上述情况下,TCP重置是由作为连接端点之一的计算机发送的。但操作中,第三台计算机可以监视连接上的TCP数据包,然后将包含TCP重置的“伪造”数据包发送到一个或两个端点。伪造数据包中的报头必须错误地表明它来自端点,而不是伪造者。此信息包括端点IP地址和端口号。IP和TCP包头中的每个字段都必须设置为令人信服的伪造值,以进行伪重置,以欺骗端点关闭TCP连接。正确格式化的伪造TCP重置可能是中断伪造者可以监视的任何TCP连接的非常有效的方法。

TCP重置是如何产生的 #

TCP重置(RST)是一种用于终止TCP连接或拒绝异常连接请求的机制。在正常的TCP通信过程中,双方会通过三次握手建立连接,并通过四次挥手完成连接的关闭。然而,在某些情况下,网络中的主机可能会发送一个带有RST标志位的TCP包,这会导致当前连接被重置。

以下是导致TCP重置的一些主要原因:

1.异常终止连接 #

  • 在正常的通信过程中,如果一方突然断电、崩溃或因其他原因无法继续维持连接,它会发送一个RST包来通知另一方终止连接。这种情况下,RST包是合法的,用于清理异常状态。

2.网络配置错误 #

  • 在网络设备(如路由器、防火墙)的配置过程中,如果规则设置不当,可能会导致某些合法的TCP流量被错误地标记为非法,并触发RST重置。例如,一些ACL(访问控制列表)或NAT(网络地址转换)配置错误可能导致连接被意外终止。

3.中间设备干扰 #

  • 在复杂的网络环境中,某些中间设备(如防火墙、负载均衡器)可能会因为处理不当而发送RST包。特别是在处理畸形的TCP包(如重组失败的数据包)时,这些设备可能会认为连接处于异常状态,并主动发送RST来重置连接。

4.安全威胁 #

  • 恶意攻击者可以通过发送伪造的RST包发起拒绝服务(DoS)攻击或分布式拒绝服务(DDoS)攻击。通过向目标服务器发送大量RST包,攻击者可以阻止合法客户端与服务器之间的正常通信,从而导致服务中断。

5.协议实现问题 #

  • 某些操作系统或应用程序的TCP/IP协议栈可能存在bug,导致在特定情况下错误地发送RST包。例如,某些老版本的操作系统在处理某些异常流量时可能会触发不必要的RST重置。

6.网络故障 #

  • 硬件问题 :如交换机、路由器等设备的物理损坏或配置错误。
  • 带宽限制 :高流量需求可能导致网络拥塞,进而引发TCP重置。

7.安全攻击 #

  • SYN Flood攻击 :攻击者发送大量伪造的连接请求(SYN包),导致服务器资源耗尽,无法正常响应有效的连接请求。
  • 恶意RST包 :黑客通过向目标设备发送RST段来干扰正常的通信过程。

8.应用程序错误 #

  • 超时问题 :应用程序没有正确处理TCP的重传机制,导致长时间等待无回应的数据包被自动放弃并发送RST。
  • 资源耗尽 :例如内存泄漏、线程挂起等情况下,应用程序无法正常工作,从而触发TCP重置。

9.操作系统配置 #

  • 防火墙规则设置不当 :错误的防火墙规则可能导致合法的数据包被误判为恶意攻击并阻止其传输。
  • 网络接口问题 :如网卡驱动程序故障或不兼容等导致的问题。

TCP重置带来的危害与影响 #

在2016年,由Mirai僵尸网络发起的大规模DDoS攻击中,攻击者通过感染大量物联网设备(如摄像头、路由器)向目标服务器发送了海量的RST包和其他畸形数据包。这种攻击不仅导致目标服务器因过载而崩溃,还引发了全球范围内的互联网服务中断。

...

什么是DNS污染?

前言 #

在现代互联网体系中,域名系统(Domain Name System, DNS)是连接用户与网站的关键基础设施,扮演着至关重要的角色。简单来说,DNS就像是互联网上的“地址簿”,将人类易于记忆的域名(如www.example.com)转换为计算机能够理解的IP地址(如192.168.1.1)。然而,这种看似基础的功能却隐藏着一个严重的安全隐患。在某些情况下,DNS服务器可能会被恶意操纵或篡改,导致用户的查询结果受到干扰,这种现象被称为DNS污染

DNS的基本原理 #

在了解DNS污染之前,首先需要明确DNS的工作机制:

  • 域名解析过程 :当用户输入网址(例如www.example.com)时,浏览器会向本地的DNS缓存服务器发起请求。如果该地址已被缓存在本地服务器上,则直接使用;否则,DNS客户端将请求发送至根域名服务器。
  • 分层查找机制 :根域名服务器负责指向顶级域名服务器(如.COM、.NET等)。这些顶级域名服务器进一步指向权威域名服务器,最终由权威域名服务器提供准确的IP地址。
  • DNS解析 :DNS服务器负责将域名转换为对应的IP地址,并将结果返回给用户的设备。
  • 建立连接 :一旦获得正确的IP地址,用户的设备就可以与目标网站建立连接并进行通信。 在正常情况下,这个过程是快速且安全的。然而,当DNS污染发生时,恶意行为者会篡改或伪造 DNS 记录,导致用户被引导至错误的目的地。

什么是DNS污染? #

DNS污染是指通过篡改或伪造DNS记录,使得用户在尝试访问某个合法域名时,被引导至错误的IP地址。这些错误的IP地址通常指向恶意网站、广告页面或者完全无用的资源。这种攻击不仅会影响用户的上网体验,还可能带来严重的安全风险。

常见的DNS污染手段 #

1.DNS欺骗(Spoofing) #

- 攻击者通过冒充合法的DNS服务器,向用户的设备发送虚假的DNS响应。
- 这种手段页成为全局DNS污染。在某些情况下,运营商或ISP可能会更改所有用户的DNS设置,从而将用户导向特定的网站。
- 例如,当用户尝试访问“www.example.com”时,攻击者会返回一个指向恶意网站的IP地址。

2.DNS篡改(Tampering) #

- 攻击者直接修改合法的DNS记录,使其指向恶意服务器。
- 这种方法通常需要对DNS服务器进行未经授权的更改,常见于未受保护的企业网络或公共DNS服务中。

3.缓存污染(Cache Poisoning) #

- 攻击者通过向DNS递归解析器发送虚假响应,将恶意IP地址存储在解析器的缓存中。
- 一旦缓存被污染,所有使用该解析器的用户都会受到影响,直到缓存过期。
- 这是最常见的一种形式。当一个恶意DNS服务器将伪造的IP地址注入到本地DNS缓存中时,会导致该缓存数据被错误地更新。

4.中间人攻击(MITM) #

- 攻击者通过拦截并篡改通信过程中的DNS请求与响应报文来实现污染的目的。

DNS污染的危害 #

1.网络安全风险 #

- 黑客可以通过修改DNS记录引导用户访问伪造的恶意网站,进行钓鱼攻击、传播病毒等行为。
- 用户可能误入恶意网站,导致个人信息泄露、账户被盗等严重后果。
- 恶意网站可能会传播病毒、木马或其他恶意软件,进一步危害用户的设备和数据安全。

2.隐私泄露 #

- 恶意网站可能收集用户信息,用于非法目的。

3.政治与社会影响 #

- 某些国家或地区,通过DNS污染可以实现网络审查、言论控制等。

4.用户体验下降 #

- DNS污染会导致用户无法正常访问目标网站,甚至被重定向到完全无关的页面。
- 例如,用户尝试访问银行官网时被引导至虚假登录页面,不仅浪费时间,还可能造成经济损失。

5.信任危机 #

  • 如果DNS污染事件频发,用户会对互联网的信任度下降,影响整体网络环境的安全性和稳定性。
  • 企业可能因为被错误指向而失去客户信任,导致合法业务受损。

如何应对DNS污染 #

1.使用加密的DNS协议 : #

  • 部署支持 DNS over HTTPS(DoH)或 DNS over TLS(DoT)等加密协议的DNS服务。
  • 这些协议可以确保DNS查询在传输过程中被加密,防止中间人攻击。

2.选择可靠的DNS服务提供商 : #

  • 使用知名且信誉良好的公共DNS服务
    • Google Public DNS(8.8.8.8 和 8.8.4.4)
    • Cloudflare 1.1.1.1
    • OpenDNS (208.67.222.222, 208.67.220.220)
  • 这些服务通常会对DNS查询进行严格监控和过滤,减少被污染的风险。

3.配置本地DNS缓存 : #

  • 在个人设备上启用本地DNS缓存功能(如操作系统自带的功能)。
  • 通过这种方式,可以减少对外部DNS服务器的依赖,并降低DNS污染的影响范围。

4.企业级防护措施 : #

  • 对于企业网络,建议部署专业的DNS安全解决方案,包括实时监控、威胁检测和响应机制。
  • 定期更新DNS记录,确保所有解析信息准确无误。

5.提高用户意识 : #

  • 教育用户识别异常的网络行为,避免点击可疑链接或访问不明网站。
  • 使用多因素认证(MFA)等安全措施,进一步保护账户和数据。

6.安装并更新杀毒软件 #

  • 确保系统和网络不受恶意软件的侵扰。

7.定期检查路由器设置 #

  • 确认DNS服务器地址未被篡改,尤其是新连接或疑似不安全的Wi-Fi网络中。

8.启用网络安全功能 #

  • 使用防火墙阻止可疑流量
  • 启用反钓鱼网站保护

9.提高风险意识 #

  • 提高对其他人员对潜在风险的认识。

结论 #

DNS污染作为互联网时代的一个隐秘威胁,正在逐步侵蚀着用户的信任与安全。尽管技术手段在不断进步,但要彻底解决这个问题仍需要多方共同努力。通过使用加密协议、选择可靠的DNS服务、配置本地缓存以及提高用户意识等措施,我们可以有效降低DNS污染带来的风险,为更安全的互联网环境贡献力量。

...

什么是长城防火墙?

前言 #

在信息化高速发展的今天,网络已成为社会运行的重要基础设施,而网络安全则是保障这一基础设施稳定运行的核心要素。作为在网络安全领域占据重要地位的"长城防火墙",凭借其强大的技术实力和创新的解决方案,是在保障国家信息安全方面,实施网络监管的重要手段之一。本文将从技术角度深入探讨长城防火墙的功能设计、核心技术以及安全策略,以展现这一网络安全产品的专业性和可靠性。

全球范围内的互联网内容审核机制因国家和地区而异,各国有着不同的法律框架、文化背景以及技术手段来应对互联网上的信息传播问题。GFW并不是某个国家或地区的特色,每个国在互联网内容审核方面采取的力度和手段各不相同,反映了各自的文化、法律和社会价值观。

简史 #

随着互联网用户的快速增长和互联网技术的发展,各国政府逐渐意识到需要加强对信息传播的管理以维护社会秩序。最初,这种监管主要体现在对有害信息的屏蔽上,如色情、赌博等非法内容的禁令。然而,到了20世纪末及进入21世纪后,随着网民数量激增,以及互联网市场的开放程度日益提高,GFW的功能也逐渐从单纯的内容过滤转向了全面的技术层面控制。

GFW的形成与演变是一个动态的过程。一开始政府采取一系列技术措施来监控和限制境外互联网上的危害信息在本国境内传播。随着网络应用的发展,尤其是博客、论坛等互动性强的应用出现,政府加强对互联网内容的审查力度,并通过封堵IP地址、域名等方式进行控制。此后,GFW逐步扩展至多个领域和技术层面,包括但不限于搜索引擎的屏蔽机制、社交平台的信息过滤等。

总体而言,GFW已经成为各国政府实施网络监管的重要手段之一,在保障国家信息安全的同时,也引发了关于言论自由与互联网开放性的广泛讨论。尽管其初衷是为了维护国家安全和社会稳定,但在实际执行过程中存在诸多争议和批评声音,被认为是当今世界最复杂且规模最大的在线审查机制之一。

现状 #

2006年,一个致力于推动新闻自由的非政府组织无国界记者发布了一份列表,于当中列出了“互联网敌人”。该组织认定一个国家属于“互联网敌人”的理由并不只在于它们“审查网上新闻和资讯”,还在于它们几乎都在“系统性地压迫互联网用户”。以下是他们公布的一份有关“对互联网进行监视”的国家/地区列表。

  1. 目前的互联网敌人:

    • 巴林:2012年至今
    • 白俄罗斯:2006年至2008年、2012年至今
    • 中华人民共和国:2008年至今
    • 古巴:2006年至今
    • 埃塞俄比亚:2014年至今
    • 印度:2014年至今
    • 伊朗:2006年至今
    • 朝鲜:2006年至今
    • 巴基斯坦:2014年至今,2020年11月巴基斯坦总理更是授予巴基斯坦电信管理局删除和屏蔽对政府不利的内容的权力
    • 俄罗斯:2014年至今
    • 沙特阿拉伯:2006年至今
    • 苏丹:2014年至今
    • 叙利亚:2006年至今
    • 土库曼斯坦:2006年至今
    • 阿联酋:2014年至今
    • 英国:2014年至今
    • 美国:2014年至今
    • 乌兹别克斯坦:2006年至今
    • 越南:2006年至今
  2. 过去的互联网敌人:

    • 埃及:2006年至2010年(现在置于对互联网进行监视的国家/地区列表中)
    • 缅甸:2006年至2013年
    • 突尼斯:2006年至2010年(现在置于对互联网进行监视的国家/地区列表中)
  3. 目前对互联网进行监控的国家/地区:

    • 澳大利亚:2009年至今
    • 埃及:2011年至今
    • 厄立特里亚:2008年至2009年、2011年至今
    • 法国:2011年至今
    • 哈萨克斯坦:2008年至今
    • 马来西亚:2008年至2009年, 2011年至今
    • 韩国:2009年至今
    • 斯里兰卡:2008年至2009年, 2011年至今
    • 泰国:2008年至今
    • 突尼斯:2011年至今
    • 土耳其:2010年至今
    • 挪威:2020年至今(只有跨越挪威边境的元数据会受到监控)
  4. 过去对互联网进行监控的国家/地区:

    • 巴林:2008年至2009年、2011年(目前的互联网敌人)
    • 白俄罗斯:2009年至2011年(目前的互联网敌人)
    • 印度:2008年至2013年(目前的互联网敌人)
    • 约旦:2008年
    • 利比亚:2008年、2011年
    • 俄罗斯:2010年至2013年(目前的互联网敌人)
    • 塔吉克斯坦:2008年
    • 阿联酋:2008年至2013年(目前的互联网敌人)
    • 委内瑞拉:2011年
    • 也门:2008年至2009年

2006年初版的互联网敌人列表列出了13个国家/地区。在2006年至2012年期间,其先降到10个,再增加至12个。它在2013年没有更新。2014年的列表则开始把互联网监控和审查两者一起考虑,使之增加到19个。2014年以后它就没有再更新。

2008年初版的“对互联网进行监控的国家/地区”列出了10个国家/地区。在2006年至2012年期间,其先增加至16个,再降到11个。2020年则于列表中新增了挪威,使之加到12个。

2013年3月12日,无国界记者推出了《互联网监控特别报告》(Special report on Internet Surveillance),当中包含了两个新列表:

...