今天早上是着了一通急才出门的。
事情是这样的,早上发现爸妈家里的小爱音箱无法联网了,就需要母上大人的手机来重置一下小爱音箱的网络,但无论怎么整,都无法把无线网络配置传输到小爱音箱上。
感觉见了鬼了,偶然一瞥,咱妈的手机右上角咋写着VPN呢?一个七十多岁的老太太,手机里面出现了VPN连接软件绝对是事出反常必有妖。为啥有VPN呢?据咱妈的说法是听别的老太太说上网速度可以变快遂装之……
但因为自己得马上搬着一个巨重无比的功放去新家调试音响,所以就简单地说了一下,把家里的网络停掉,等下午回家再做进一步处理,留下一脸懵圈的老头老太太离家而去。
为啥对所谓的VPN软件反应如此强烈呢?当时给二老的解释就是,如果去银行取钱,是不是可以把银行卡和密码告诉一个你根本不了解的路人,让这个人去替你取钱呢?显然正常人都不会去做这样的事情。那么正常人为啥要用一些VPN软件呢?这和让你不认识的路人拿着你的银行卡替你取钱是一个道理。
从这个话题,我们先说一下网络的信任机制。
由于一些安全的需求,在公司的机器是要过一层防火墙的。
现代防火墙或者说NGFW,都有深度的包检测功能。例如对已经加密的SSL数据包进行检测。
防火墙会对客户端下发一个SSL证书,客户端的Https数据上传到防火墙中,防火墙解密后进行检,检测完毕再用服务器的SSL证书进行打包。这个过程对于用户来说是不可察觉的,只是在防火墙内部完成处理和扫描。
防火墙为什么要让这些数据可见?主要是为了在防火墙的级别上对攻击、病毒等有害于网络系统的数据进行侦测和识别。
但是这个技术用在防火墙上是一个安全技术,用在其他位置就不好说了。我们再来看一下这个技术框架:
和防火墙上执行的SSL检测是完全相同系统结构,叫做“SSL/TLS中间人攻击”,就是利用了下发一个伪造证书,获取本该加密的SSL通讯数据。
能不能理解为什么开头说去银行取钱,将银行卡和密码给路人的例子了?这个攻击过程对于普通用户来说依旧还是透明不可见的。一旦这个中间者链条形成,你的流量就会在你毫不知情的情况下被窃取。
因为所有的传输数据对于攻击者来说都是明文的,那么一些简单加密的密码传输对于攻击者来说就完全可以得知了,一些稍微通过算法做进一层加密的数据被破解也是稍待片刻的事情。这些数据就包括你的银行APP、支付宝、微信等等至关重要的登录和身份认证数据。
中间人攻击的实施难点有两个,第一个是攻击者要把自己加在客户到服务器之间的数据链路中,第二个则是让客户信任伪造的证书。