当我们在咖啡店连接WiFi,打开网页和邮件时,我们并不知道有人在监视我们的各种网络活动。黑客可能在我们打开帐户网页的那一刻就窃取了我们的银行凭证、家庭住址、电子邮件和联系信息,而我们对此一无所知。这是网络上常见的“中间人攻击”(Man-in-the-MiddleAttack,简称MITM),拦截正常的网络通信数据,进行数据篡改和嗅探。2014年10月,中国发生了非常严重的中间人攻击事件。微软、苹果iCloud、雅虎等知名企业均遭遇大规模SSL中间人攻击。中国大部分用户的隐私被曝光。并且存储在云端的包间照片、账号密码等都可以被黑客复制。很多不知情的用户可能会问,SSL不就是为了保证HTTP的机密性和完整性,提供端到端的安全服务吗?为什么会发生SSL中间人攻击?HTTPS就不能保证网络通信安全吗?SSL中间人三种攻击场景其实SSL被设计的非常安全,不容易被攻破。SSL是一种安全协议,可为网络通信提供安全性和数据完整性。可以验证参与通信的一方或双方使用的证书是否由权威可信的数字证书认证机构颁发,可以进行双向身份认证。我们现在常用的SSL中间人攻击手段都是通过伪造和剥离SSL证书来实现的。也就是说,一旦发生SSL中间人攻击,问题不在于SSL协议,也不在于SSL证书本身,而在于SSL证书的验证过程。中间人攻击的前提是证书没有经过严格的验证,或者是人为信任伪造的证书。因此,以下场景是最容易被用户忽略的证书验证环节:场景一:网站没有使用SSL证书,网站以HTTP明文传输的“裸奔”状态。在这种情况下,黑客可以通过在网络上抓包直接获取明文传输的数据。场景二:黑客通过伪造SSL证书进行攻击,安全意识不强的用户选择继续操作。对于受SSL证书保护的网站,浏览器会自动检查SSL证书状态,确认无误后浏览器会显示安全锁符号。一旦发现问题,浏览器就会报告各种安全警告。例如浏览器中SSL证书不是受信任的根证书颁发机构签发的,或者证书已被吊销,证书网站的域名与根证书中的域名不一致,浏览器会显示安全警告,并建议用户关闭此页面,不要继续浏览该站点。场景三:黑客伪造SSL证书,网站/APP只进行部分证书校验,导致假证书通过测试。例如,在证书验证过程中,只验证证书的域名是否匹配或证书是否过期,而不是验证整个证书链,因此黑客可以很容易地生成任意域名的伪造证书以供入侵-中间攻击。如何防御SSL中间人攻击?首先,真正的HTTPS是没有SSL中间人攻击的,所以首当其冲的就是保证网站有SSL证书保护。那么用户如何判断网站是否受SSL证书保护呢?您可以使用https://进行正常访问。浏览器显示一个醒目的安全锁。点击安全锁查看网站真实身份。使用EVSSL证书的网站显示绿色地址栏。如果用户访问的网站表现出上述特征,则表示该网站受SSL证书保护。二、使用权威CA机构颁发的可信SSL证书。数字证书颁发机构CA是受信任的第三方。只有在验证申请人的真实身份后,才会颁发SSL证书。可以说是保护用户信息安全的第一关。最后,对SSL证书进行完整的证书链验证。如果是浏览器可以识别的SSL证书,则需要查看SSL证书中的证书吊销列表。如果证书已被证书颁发机构吊销,则会显示警告消息:“该组织的证书已被吊销。安全证书问题可能看起来是在试图欺骗您或拦截您发送到服务器的数据.建议关闭本页面,不要继续浏览本网站。”如果证书已过期,还会显示警告信息:“本网站颁发的安全证书已过期或尚未生效。安全证书问题可能表明有人企图欺骗您或拦截您发送给服务器的数据。建议关闭该页面,不要继续浏览该网站。”如果证书在有效期内,还需要检查部署SSL证书的网站域名是否与证书中的域名一致。如果以上都没有问题,浏览器还会检查该网站是否被列入欺诈网站黑名单,如果有问题,也会显示警告信息。总而言之,企业可以完成证书的部署和验证过程,个人用户可以仔细观察HTTPS的安全标识来识别证书的真伪、有效期等信息。HTTPS几乎是无法攻破的,所以所谓的SSL中间人攻击是一个伪命题。在网络安全事件频发的时代,部署HTTPS已经成为大势所趋。它使用复杂的传输方式来降低网站被攻击劫持的风险。当然,全网实现HTTPS并不是一蹴而就的事情,但是每一个参与互联网的企业都需要承担起网络安全的责任,我们每个人都应该提高保护自己隐私的意识,这样才能共同营造安全的网络空间。
