基于流量分析的HTTP 协议安全现状分析
2020-03-24何振宇
何振宇
(西安铁一中滨河学校,陕西 西安710000)
1 概述
互联网技术的发展给人们的生活带来了质的变化,无论是吃、穿、住、行,还是洽谈、交易、货物流转,都离不开互联网。随着互联网所提供服务的多样化,其承载数据的敏感性也不断提升,安全风险也随之增大。
用户使用网络时,访问网页是最常见的应用场景,一般由HTTP 及HTTPS 协议承担数据传输。在使用HTTP 协议进行数据传输时,用户的敏感信息存在泄漏的可能,具有很大的安全隐患[1]。针对该问题,部分网站已经部署了HTTPS 协议保障用户的数据安全。但是,仍然有部分网站采用HTTP 协议传输敏感数据[2]。该类网站是否采取了其他安全措施,是否会造成敏感数据泄露,需要进行调查研究。
本文针对采用HTTP 协议的网站进行嗅探分析,调查研究国内网站部署HTTP 协议情况,具体分析敏感场景下是否存在信息泄露及其危害;最后,对泄露数据的安全风险进行分析评估,针对用户及网站运营者提出相关安全建议。希望通过本文引起大众对网络安全问题的关注和思考。
2 理论基础
2.1 HTTP 协议简介
HTTP(Hyper Text Transfer Protocol)协议,是用于从万维网服务器传输超文本到本地浏览器的传送协议[3]。具体来说,HTTP是一个基于TCP/IP 通信协议来传递数据,是受众较广的一种协议,其可以帮助用户进行远端的信息传输,起到了一个桥梁的作用,很好的将远程主机与用户进行联接。
但是,HTTP 协议也存在很多安全隐患,其中明文传输漏洞尤为突出。HTTP 协议将用户的隐私以不加密或简易加密的形式进行传输,在传输过程中可能导致用户数据的泄露。
2.2 流量嗅探
由于网络协议的复杂性,用户的网络数据需要经过多次中继才能完成传输,复杂的结构给用户数据带来了安全风险。在特定的网络节点,攻击者可以通过端口镜像、增加硬件设备等方式嗅探用户网络流量。在网络接入端,攻击者可以伪造网络接入点、中间人攻击等手段获取用户网络流量。如上文所述,部分TCP/IP 协议存在明文传输的漏洞,捕获用户网络流量后能够轻松获取用户相关的个人信息[4]。本文着重关注登录场景下,HTTP协议相关流量中用户的个人信息泄露的问题。因此,本文通过捕获本地HTTP 协议相关流量进行分析研究。
3 HTTP 协议流量安全分析
3.1 信息泄露案例
HTTP 协议存在明文传输的安全缺陷,在部分复杂接入环境下存在信息泄露的可能。经过调查分析,很多网站的敏感场景下仍采用HTTP 协议,大大降低了该网站的安全性,并且还有可能泄露用户的个人隐私。通过调查分析大量网站,利用Wireshark 分析相关流量并验证了部分网站存在信息泄露的问题。
案例1:
驾校一点通是一个驾校培训的网站,其登录账号以手机号为主,用户通过输入手机号及密码,可以进行登录操作。通过调查发现其仍使用HTTP 协议进行登录操作。首先,使用测试账号登陆该网站,利用Wireshark 捕获该网站登录的网络报文。通过Wireshark 筛选出HTTP 请求报文,过滤掉其他无用的字段。随后过滤出请求方法为“POST”的报文,通过对数据的分析发现其中包含明文传输信息。如图1 所示,分析该报文后,发现用户在登录界面输入的账户(phone)以及密码(password)都出现在了报文中。由此可见,该网站直接采用HTTP 协议进行登录操作,存在账号密码泄露的安全风险。
图1 驾校一点通网站登录报文
以上案例为登录场景下HTTP 协议造成的信息泄露,用户登录使用的账号密码泄露。账号密码泄露会造成该网站相关信息泄露。驾校一点通账号和密码出现了明文传输的现象,由于驾校类的网站受众较广,此类安全漏洞对该网站用户的隐私带来了泄露风险。此外,账号密码泄露不但造成该网站的数据泄露,还面临撞库的风险。
3.2 存在信息泄露风险案例
上节案例直接采用HTTP 协议传输敏感数据,在特定场景下会泄露用户信息。除此之外,部分网站虽然也采用HTTP 协议,但针对部分特定字段进行加密处理,在一定程度上保障了用户数据安全。虽然加密后的字段无法直接泄露用户信息,但部分网站加密机制存在漏洞,仍存在信息泄露的安全风险。
3.2.1 案例1
人人网是一个用户量较大的实名社交网站,该网站涉及的隐私信息非常多,包括用户的实名信息、照片、日记及社交关系等。用户通过输入账号密码可进入个人主页上传及浏览图片、日记等私密内容。利用Wireshark 捕获该网站登录场景的数据包,然后筛选出HTTP 协议报文,提取其中包含POST 请求的数据包并分析相关字段。经过分析比对,发现用户登录所提交的账号以明文形式出现在POST 请求数据包中。如图2(1)所示,登录的账号以明文形式发送,对密码则进行了加密处理。
通过Wireshark 分析,虽然能够定位表示密码的字段,但无法直接获取密码原文。经过多次登录操作,重复输入相同账号密码,发现相关报文中密码字段相同。因此,人人网针对用户密码所采用的加密机制无法抵抗重放攻击。因此,虽然人人网对于HTTP 协议的明文传输问题采取了相应的安全措施,但其加密方案不够完善,仍存在安全隐患。
图2 人人网多次登录报文
3.2.2 案例2
某省份高考志愿填报系统涉及考生的考号、学籍号、志愿填报,数据安全敏感度很高。考生通过该系统输入自己的考号,学校等信息,来进行志愿的填报。但是,该系统网站登录仍采用HTTP 协议,虽然也针对部分字段进行了加密操作,但其加密机制也存在一定安全风险。
使用Wireshark 捕获该网站登录场景的数据包,并筛选出HTTP 协议报文。如图3 所示,登录涉及的“POST”报文中包含账号明文,密码则进行了加密操作。通过对捕获报文进行对比分析,密码字段虽然被加密,但多次登录后,所得到的密文相同。因此,该网站所采用的加密措施存在漏洞,无法抵御重放攻击,存在一定的安全风险。
图3 某省志愿填报系统登录报文
以上两个案例没有针对账号进行加密处理,用户账号存在直接泄露的风险,而账号往往为用户的手机号或邮箱。账号的泄露也会给用户带来安全威胁,攻击者可以针对用户伪造更具诱骗性的钓鱼邮件或诈骗短信。
此外,以上两个案例虽然针对密码字段进行了加密,但其加密机制存在漏洞,每次密文相同,无法抵抗重放攻击。
3.3 应对措施
以上案例说明部分网站运营者未采取有效安全措施保障用户的数据安全。从法律角度上讲,依据《中华人民共和国网络安全法》,网站运营者应切实采取措施保障用户数据安全。针对HTTP 协议的安全漏洞,建议网站运营者加快部署HTTPS 协议。在过渡阶段,也应利用完善的加密机制针对敏感字段进行加密,防止重放攻击行为。
此外,用户平日使用网络时也应采用相应措施保障自身数据安全。首先,在登录重要网站时,确保所接入的网络安全性。若无法确定所接入网络安全性,建议尽量采用手机移动网络登录重要网站。其次,在设置密码时,重要网站尽量设置不同的密码,降低某一网站账号泄露带来的安全风险。最后,在收到网站发来的验证短信及邮件时,认真查验其真实性,不轻易访问邮件连接,防范钓鱼短信及邮件。
4 结论
本文通过流量分析的方法,利用wireshark 软件针对部分网站登录流量进行了调查分析。通过分析发现,部分网站仍采用HTTP 协议进行登录操作,存在账号密码泄露的风险。此外,部分网站虽然针对部分字段进行了加密,但其加密机制可能存在其他安全漏洞,仍存在泄露风险。因此,网站运营者应加快HTTPS 协议部署,采用安全可靠的加密机制保障用户数据安全。此外,本文仅针对登录场景进行分析,后续将针对多场景流量开展分析。