据安全人员透露,某国ISP(互联网服务提供商)正在将用户的合法通信流量重定向至加载了恶意软件和广告的恶意网络站点。
众所周知,某国一向是不支持也不赞成互联网言论自由的。随着时间的推移,现在还出现了大量能够监视用户上网行为的工具-例如“那堵伟大的墙”。
据了解,有三名以色列的研究人员发现,某国的互联网服务提供商(中国电信和中国联通)正在向用户的通信数据包中注入某些内容。
这两家互联网服务提供商通过设置代理服务器来对其客户端的网络系统进行“污染”,并将其客户的网络访问流量定向至广告链接和恶意软件之上。
当用户访问某一由上述互联网服务提供商所加载的域名时,系统会改变数据包的目标传输地址,并会将用户的浏览器重定向,然后去对流氓网络的路由地址进行解析。而结果就是,原始的网络流量会被重定向至加载了广告和恶意软件的恶意站点。
在他们所发表的文章中,研究人员对互联网服务提供商的这种操作手段和攻击方式进行了详细的分析,并且向大家解释了互联网服务提供商是如何监视用户的网络通讯信息,并修改数据包的URL目的地址的。
这些互联网服务提供商使用了两种注入技术,第一项技术为“Out of Band TCP Injection”,另一项技术为“HTTP Injection”。即TCP带外数据注入和HTTP注入。
利用TCP带外数据注入技术,网络运营商可以用伪造的数据包取代合法的数据包,并将恶意数据包发送给用户。这也就意味着,互联网服务提供商可以克隆用户合法的通讯信息,并将合法的数据包和克隆的数据包一起发送至用户的目标地址。
目标地址将会接收到两份来自于源地址的通讯信息流,即合法数据包和克隆数据包,但是只有一个数据包能够首先到达。如果合法数据包先到达目标主机,那么将会一切正常,什么危险的事情都不会发生。如果克隆数据包先抵达目标主机,那么用户将会遇到非常严重的问题。
利用HTTP注入技术,网络运营商可以向Web客户端注入伪造的HTTP响应信息。HTTP是一种无状态的客户端-服务器协议,并使用TCP作为其传输层协议。
HTTP交换是从客户端发送HTTP请求开始的,通常情况下会接收到一个带有请求信息的URI。在处理完这个请求之后,服务器会发送一个带有状态码的HTTP响应信息。用户可能会接收到下列形式的响应信息:
l 200(成功):服务器已经成功接收,识别,并接受请求信息。这种类型的响应信息通常会包含有请求资源。
l 302(重定向):请求资源将会暂时驻留在另一个URI之中。这种类型的响应信息通常会包含一个位置header域,并携带有不同的URI信息。
研究人员表示:“一个HTTP客户端在发送了一个请求信息之后,只能接收一个HTTP响应信息。正如我们在之前所提到的,用户将有可能接收到一个伪造的HTTP响应信息,当TCP层接收到这一信息时,将会接受其中的第一个数据段。”
除此之外,研究人员还收集了大量的证据,并发现了伪造数据包的始作俑者。
他们发现,互联网服务提供商与广告网站之间存在着一种肮脏的利益关系,他们一同合作并创造出了大量的广告收益,然后双方就可以对这些收入进行分摊。
在调查过程中,研究人员还检测到了大量被重定向的通信数据,而这些均与他们的这种合作伙伴关系有关。
即使这种事情只发生在某国,但是全世界所有的用户都将有可能受到影响。因为,如果你想要访问某国的某个网站,那么你的网络信息就需要流经某国的互联网服务提供商。这样一来,你的通信数据将有可能被注入广告或者恶意软件。
那么,我们该如何监测这些恶意的数据包呢?
IP地址鉴定
伪造的数据包可以伪装成一个合法的数据包,但是我们可以利用每一个数据包中的时间戳来进行分辨。所以我们可以利用“时间戳”这一信息来帮助我们分辨恶意的数据包。
研究人员说到:“我们制定了以下规则,这些规则能够帮助我们分辨出哪一个数据包是伪造的:在伪造数据包的识别值与正常数据包的识别值之间,绝对值相差较大。”
TTL(生存时间值)
研究人员表示:“在服务器接收到的数据包中,其IP的TTL值取决于发送者所设置的初始值以及数据包在传输过程中所经过的路由跳数。因此,通常情况下,同一会话进程中的数据包抵达客户端的时候,其TTL值会有所不同。所以,如果当两个数据包处于竞争状态的话,我们就可以利用TTL值来对其进行区分了。我们从观察中得出,网络运营商在注入恶意实体的时候,往往并不会去修改数据包中的TTL值,所以伪造数据包中的TTL值与服务器所发送的其他数据包并没有多大的区别。与IP地址识别的情况类似,其规则大体上是一样的,只是这一次我们使用的是TTL值来进行对比。
时序分析
由于伪造数据包与合法数据包之间的竞争关系,我们就可以利用数据包的到达时间来对数据包的特点进行区分。我们所说的到达时间指的是数据包被网络监控系统捕捉到的时间。由于距离目标主机最近的边缘网络系统能够捕捉到通信数据包,那么我们就可以假设这些数据包到达边缘网络设备的时间与其真正到达终端目标主机的时间是相近的。就我们所发现的这些注入事件来分析,我们对伪造数据包以及合法数据包的到达时间进行了计算和区别。两者的到达时间之差为负差值时,这意味着主机接收到的是伪造的数据包;如果差值为正差值时,那么主机接收到的就是合法的数据包。
如何缓解这一安全风险?
能够避免这类攻击的最好方式就是访问支持HTTPS安全传输协议的网站,因为这类网站通常能够屏蔽掉恶意的URL地址。因此,网站的管理员也可以使用HTTPS来避免网站遭受这种类型的攻击。