什么是链路层劫持?如何有效防范链路劫持?
发布日期:2016-06-20一、什么是链路层劫持
数据链路层处在OSI模型的第二层,它控制网络层与物理层之间的通信。数据链路层定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。它的主要功能是如何在不可靠的物理线路上进行数据的可靠传递,还提供错误检测和纠正,以确保数据的可靠传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
链路层劫持是指第三方(可能是运营商、黑客)通过在用户至服务器之间,植入恶意设备或者控制网络设备的手段,侦听或篡改用户和服务器之间的数据,达到窃取用户重要数据(包括用户密码,用户身份数据等等)的目的。链路层劫持最明显的危害就是帐号、密码被窃取。
二、链路劫持案例分析
以下引用红黑联盟站内发布的案例分析,说明链路劫持的现象和判断。
案例现象描述:
有用户反馈访问公司部分业务的URL时被重定向至公司其他业务的URL,导致用户无法请求所需的服务,严重影响了用户体验以及用户利益。我们第一时间通过远控的方式复现了上述现象,并及时抓取了相关数据包以供分析,当然前期也采取了用户电脑杀毒、开发者工具分析等方式排除了用户端个人原因的可能性。从图1来看,初步判断是运营商某员工所为,意欲通过流量重定向来获取非法的流量分成,啥意思呢,被劫持的该业务的流量要经过联盟的该账户spm,使得公司再付费给联盟,归根结底还是为了盈利。
(图一)
案例问题追踪:
通过分析抓取的样本数据发现,数据包在传输过程中出现异常TTL,目标机的正常TTL为51如图2。
(图二)
这里出现异常TTL值116和114,并且两个包的ID(Identification)值相同,均为25576,如图3和图4,明显是伪造的包。
(图三)
(图四)
另外服务器banner信息也发现了异常情况,公司提供的Server是Tengine的,网站编写语言是Asp.Net的,在响应头中应该能看到,而异常响应头部无此信息,如图5所示:
(图五)
综上判断,中间链路发生了劫持。劫持者应该是在网关路由器上添加嗅探程序,嗅探明文HTTP请求数据包,拿到要劫持的数据包之后,马上给请求者返回HTTP response(302 到其他 url),导致用户无法访问正常URL。
三、链路层劫持的防御
从链路层劫持的原理来看,我们发现核心的问题是:客户端没有办法识别返回的应答是否真的是服务器返回的,还是第三方返回的,所以简单的信任了第三方的应答,丢弃了真正的应答。所以只要对服务器本身进行身份验证,就可以防止客户端“误接受”恶意应答。
HTTPS技术就是为此种场景而生,通过一个权威CA机构(如:沃通CA),验证服务器真实身份后,给服务器颁发证明合法身份的证书,用户的浏览器通过检查证书的合法性,来辨别服务器的真假,该证书如同服务器身份证,第三方无法伪造,确保客户端访问的网站是经过CA认证的可信网站。此外,HTTPS协议下传输数据会进行高强度加密,可以防止第三方监听、窃取或篡改数据,而HTTP协议是明文传输,随便一抓包就能看到明文数据。因此,HTTPS网站能有效防御链路层劫持。
四、选择可靠的HTTPS证书
并非所有的HTTPS证书都能有效防御链路劫持,SSL证书是用于证明服务器身份的合法证书,因此SSL证书颁发机构的合法性直接决定了SSL证书的合法性。比如:采用开源工具自己签发的自签名SSL证书,就不是合法的SSL证书,任何人都可以随意签发,没有第三方监督审核,不受浏览器信任,常被黑客用于伪造证书进行中间人攻击。不仅无法保护链路安全,反倒给黑客开了方便之门。
沃通CA是权威可信的数字证书颁发机构,通过严格的WebTrust国际认证和工信部许可,并通过了微软认证、Mozilla 认证、Android 认证、苹果认证和Adobe认证,根证书预置到全球操作系统、浏览器和移动终端中。因此,沃通CA签发的SSL证书能完美兼容1999年以后的所有浏览器、服务器以及主流移动设备,有效防范目前常见的数据泄露、流量劫持和钓鱼欺诈等安全事件。
Netcraft统计显示,沃通SSL证书在中国市场占有率排名第一,成为中国最有竞争力的SSL证书品牌,国内三分之一的SSL用户选择沃通SSL证书,其中包括当当网、1号店、苏宁易购等众多知名互联网电商品牌。