最近看到一篇挺有意思文章,偷偷浏览小网站时,都有谁会知道你看了啥。思量之下,从更广泛的技术角度看,仍有大量补充的空间,于是就有了这样一篇文章。本文的目的在于增强大家的网络安全意识,非必要不要浏览不安全的网站。
本文先主要从比较大的技术面,介绍在浏览小网站过程中,哪些软硬件会泄露的可能性。针对每一种软硬件的实现技术细节,将会在本专栏《浏览小网站的那些事》的文章中详细介绍。对于自身的网络安全要求较高以及对于技术分析比较感兴趣的童鞋,可以持续关注本专栏,后续分析将更加精彩。
通常浏览WEB网站,都会使用的浏览器,而每一种浏览器默认情况下都会留存浏览记录,如下:
这样的历史记录通常是留存在本地,方便对于浏览的历史数据进行查询操作。通常情况下没有本地权限,是无法查看的。但是浏览器本身是否会上传历史记录的数据到云端后台,这是不确定的,如下就是google 同步数据的设置:
可以看到至少开启浏览器的同步服务之后,针对访问页面地址的数据是明确被公开进行收集的。因为数据同步是通过账号进行,显然账号和访问记录之间就存在着对应关系,也就是说你的你的访问记录被明确的记录在云端。
有人可能会说某些公司比较遵守法律,即使真的如此,但是历史上大公司数据泄露的案例屡见不鲜。除此之外,恐怕未经用户允许收集用户数据的案例比比皆是。而对于firefox,edge,360等浏览器未经允许是否会同步浏览记录,请持续关注我的专栏《浏览小网站的那些事》,见这里。
除了浏览器之外,寄生在浏览器之中还包含大量的插件,例如chrome,firefox,edge中还存在着诸多的插件,如下:
该插件提供的是一个代理切换功能,但是该插件可以看到具备域名的过滤功能,因此浏览器的插件是可以访问浏览记录的。在数据就是财富的今天,浏览器插件开发的公司可能存在着收集用户行为数据的行为,因此这些插件是知道谁在访问小网站的。如何知道自己安装的插件是否存在收集数据的行为,请持续关注我的专栏《浏览小网站的那些事》,见这里,帮你规避不良插件。
目前大部分人使用的输入法都是第三方的输入法,因此输入法显然是能够知道用户输入的内容的。但是输入的内容会不会脱离用户的本地,传输到云端的后台,这个并不确定,如下是搜狗的设置:
用户体验计划会涉及如下的条款:
可以看到至少加入用户体验计划之后,针对访问页面地址的数据是明确被公开进行收集的。这个时候如果你的输入法是通过账号登录的,显然账号和访问记录之间就存在着对应关系,也就是说你的你的访问记录被明确的记录在云端,这些数据可以被任何授权以及监管单位查看。
即使没有登录账号,这些数据和你PC的MAC地址(该地址全球唯一)也是一一对应的。在没有加入用户体验情况下,输入法是否会搜集用户的浏览记录,会收集哪些用户数据,请持续关注我的专栏《浏览小网站的那些事》,见这里。
这个范围就比较大了,因为每个人安装的应用千变万化。有的比较守规矩,有的就比较的粗鲁。通常来说不同的软件之间是存在着互相访问的可能性的,那么也就存在着其他的软件访问浏览器记录的可能性。例如前面所提到的插件,只是插件的形态是寄生在浏览器中,而其他软件则是独立的运营。最为常见的情况是安全类的软件可能会对访问的网址进行检查,这样也就导致了安全类软件会知道访问的浏览记录,如下是某款安全软件的检查:
默认会加入网址云安全的计划,可以看到某些网址会被提交到云端的安全中心。至于会传哪些浏览的记录,是否会越界收集用户数据,请持续关注我的专栏《浏览小网站的那些事》,见这里。
对于公司的电脑来说,由于在公司的严格管控之下,默认安装了微软的defender以及各类EDR的工具,这些工具默认会传输所有的浏览记录到云端后台,所以在公司内部浏览网站的时候要注意不要和工作无关。
现在的路由器往往都具备了比较丰富的管理和过滤的能力,如下图:
可以看到普通的家庭路由器具备了添加访问网站的限制,因此可以知道路由器会过滤上网的URL地址,因此路由器能够检测应用层的数据内容,具备了记录URL地址的能力,并同时具备将账号和MAC地址和用户浏览记录映射的能力。在上图的这款路由器中,并没有直接的界面显示对于URL的记录能力,因此并不清楚该路由器是否具备记录和传输该URL的情况。如果想要了自己的家用路由器是否会同步浏览记录,是否存在着偷数据的情况,请持续关注我的专栏《浏览小网站的那些事》,见这里,将会在后续的文章进行深入的技术分析。
除了路由器,类似的设备还有主打绿色上网的家庭网关,都会具备相似的功能。
虽然有的小网站是通过IP访问,但是绝大多数的小网站是通过域名进行解析的,因为IP地址的变化要比域名频繁的多。所以访问网站的第一步就是DNS解析,因此DNS服务器是知道要访问的域名的,如下:
客户端会将请求的域名发送给DNS服务器进行解析,由于该过程可能是本地的DNS服务器进行解析,也可能是指定的DNS服务器,因此多个服务器都具备访问域名记录的能力,虽然DNS服务器没法将访问记录和具体的人对应起来,但是其是有能力感知哪个公网IP地址经常访问某个小网站的。如果DNS服务器本身就是某个运营商的设备,该运营商是具备将DNS记录和对应开户账号对应起来的能力的。
当然关于DNS协议字段的解析以及DNS访问的流程,详见专栏《网络攻防协议实战分析》,这里。
相信很多的小伙伴在访问小网站的时候都借助了某种代理,可能是WEB代理,可能是SOCKS代理,也可能是某种VPN设备。但是这些技术的本质都是将请求发送给代理,然后由代理服务器发起这些请求。因此代理是知道客户端请求的内容,为了演示代理记录日志的过程,使用本地的代理软件MITM作为示例,如下是某手机的上网记录被详细的记录在代理log之中:
由于代理往往和账号绑定,因此理论上所使用的代理服务器是知道客户端所有的请求操作的。MITM代理的主要作用是解密本地的加密数据,用于学习之用,关于该工具的使用以及以更多本地代理工具,请持续关注我的专栏《安全分析师工具篇》,见这里。
防火墙由多种形态,基于主机的防火墙,基于网络的防火墙。传统的三层防火墙以及下一代的7层防火墙,如下是Windows自带的基于主机的三层防火墙defender:
可以看到defender只能够针对IP地址,端口,程序等建立流量的过滤功能。但是对于7层的防火墙,无论是基于主机还是网络都是具备过滤URL和域名的能力的,例如世界上最为知名的防火墙palo alto 的7层防火墙,会记录下访问的网站。处于安全的考虑,如果访问的网站不合规,则会阻断该网站的访问,通常企业网的内部都会部署像palo alto这样的7层防火墙,因此企业内部访问小网站存在着极大的风险。
除此之外,有的安全公司也是推出了对于家庭网络来说推出了家庭防火墙等产品,也是可以记录访问记录的,至于会不会上传到该厂商的后台,这个需要一个个评测,请持续关注我的专栏。
总的来说,所有的网络基础设施都是网络运营商建设和运营的,无论是从手机的无线访问网络还是从家庭的固网访问网络,访问的数据包都需要通过接入网进入运营商内部的网络,运营商的内部网络存在着大量负载的设备,例如大型的路由器以及的核心网等。因此只要有需求,这些设备都可以对于请求的数据包进行过滤。随着运营商对于安全上网等能力的建立,因此对于过滤不安全的网站是有必要也是可能的。因此对于运营商来说,浏览记录理论上对于运营商是可见的。而且运营商掌管着开户的用户信息,无论是手机还是固网,因此运营商可以理论上可以将小网站的浏览记录对应到个人。
为了加快访问的速度,很多的网站在访问的时候都采用了内容分发技术(和本地缓存技术异曲同工),由于cloudflare的优点包括免费,速度快等,很多的小网站都会采用cloudflare进行缓存,如下:
因此通常来说,你访问的数据可能并不是来自于最终的WEB 服务器而是来自于内容分发服务器。由于小网站在一些环境中是允许存在的,所以对于cloudflare来说,是能够知道访问的网站记录的,也许并不想浏览器等软件定位具体的人。
网络上无时无刻不存在着大量的扫描和网络攻击,现在的网站为了过滤这些攻击,在真正的WEB服务器之前都部署了WAF(web application firewall)。和前面的基于流量的防火墙是形态和原理不同,WAF通常工作在应用层,主要针对的是HTTP协议。为了防止网络攻击,WAF必然对于HTTP协议做了深度的解析,并将请求的记录成日志,因此WAF能够知道访问的浏览记录的。关于WAF等网络安全设备日志查看的更多分析,请移步我的专栏《安全运营之网络攻击研判分析
》,见这里。
为了缓解服务器的访问压力,通常在真正的服务器之前会设置负载均衡等设备,负载均衡会更具各个服务器的负载情况,会把请求准发给不同的服务器,由于负载均衡服务器是根据应用层的数据(例如http cookie以及HTTP的URL来决定转发的目的服务器),因此负载均衡服务器会记录访问的记录,因此负载均衡服务器知道网站的访问记录。当然在企业的内部,负载均衡服务器往往都带有WAF的功能,例如F5的设备。
当小网站的请求历尽千辛万苦终于达到目标服务器,目标服务器有多种方式知道是谁在请求目标网站,如下:
关于还有哪些隐藏的方式获取用户的个人相关信息,我在专栏《浏览小网站的那些事》,这里会进行更多深入的介绍。
通过上述的分析,可以看到,现代的网络访问极其的复杂,中间涉及大量的软硬件设备。访问小网站同时会被中间大量的软硬件设备所感知,各个公司是否会未经用户同意获取浏览记录,这就要看各个公司的操守了。总之安全科学的上网还是极为的重要。当然上述只是对于访问一个小网站过程中的软硬件设备做了一个综述,想要了解关于访问一个网络会经历哪些网络协议过程见我的专栏《网络攻防协议实战分析》这里,对于上述软硬件的持续分析,欢迎持续关注本专栏。
本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。