试用期没通过的原因,居然是被发现了上班偷偷干这事
HTTPS 加密传输
这下放心了吗?摸鱼的过程中,就算访问的 IP 地址被知道了,好像也无关紧要?其实,有了 IP 地址也能获取不少信息了。
还好这个 IP 搜出来是 Github,而不是……
你或许会高兴,连个网站域名都看不到,可以放心摸鱼了。不过,这是真的吗?
HTTPS 真的安全吗?
HTTPS 真的完全安全吗?连访问的域名都获取不到?答案是否定的。上述 HTTPS 在握手阶段有一个很重要的东西:证书。
SNI:域名裸奔
当访问 HTTPS 站点时,会首先与服务器建立 SSL 连接,第一步就是请求服务器的证书。
当一个 Server IP 只对应一个域名(站点)时,很方便,任意客户端请求过来,无脑返回该域名(服务)对应的证书即可。
但 IP 地址(IPv4)是有限的呀,多个域名复用同一个 IP 地址的时候怎么办?
服务器在发送证书时,不知道浏览器访问的是哪个域名,所以不能根据不同域名发送不同的证书。
因此 TLS 协议升级了,多了 SNI 这个东西,SNI 即 Server Name Indication,是为了解决一个服务器使用多个域名和证书的 SSL/TLS 扩展。
现在主流客户端都支持这个协议的。别问我怎么知道这个点的,之前工作上因为这个事情还费了老大劲儿……
它的原理是:在与服务器建立 SSL 连接之前,先发送要访问站点的域名(Hostname),这样服务器会根据这个域名返回一个合适的证书。此时还没有办法进行加解密,因此至少这个域名是裸奔的。
如下图所示的抓包情况,客户端发送握手请求时,很自觉带上了自己的域名。
==================================================================
因此,即便是 HTTPS,访问的域名信息也是裸奔状态。你上班期间访问小电影网站,都留下了痕迹,若接入了公司网络,就自然而然被抓个正着。
除了域名是裸奔外,其实还有更严重的风险,那就是中间人攻击。
中间人攻击
前面也提到 HTTPS 中的关键其实在于这个证书。
从名字可以看出来,中间人攻击就是在客户端、服务器之间多了个『中介』,『中介』在客户端、服务器双方中伪装对方。
如下图所示,这个『MitmProxy』充当了中间人,互相欺骗:
中间人攻击
可以安装 MitmProxy 或者 Fiddler 之类的抓包软件尝试一把,然后开启代理。
此时用手机访问百度,得到的信息如下:
证书信任前
提示,连接不是私密连接,其实就是浏览器识别了证书不太对劲,没有信任。而如果此时手机安装了 Fiddler 的证书,就会正常访问。
证书信任后可正常访问
因此,当你信任证书后,在中间人面前,又是一览无余了。
而如果你用了公司电脑,估计你有相应的操作让信任证书吧,或者手机上是否有安装类似的客户端软件吧?
抓紧时间看看手机的证书安装明细(比如我手机上的):
我前任公司在信息安全这块做得就非常谨慎,手机会有工作手机,未授权的任何 App 都不能安装,谁知道 App 会悄悄干些什么事情呢。(最新热点,QQ 扫描浏览器历史记录,你可知道)
当然各种 App 肯定也不是吃素的,不会让『中间人攻击』这么容易就得逞的,咱们接着看。
如何防止信息安全,反爬
前面提到,要实施中间人攻击,关键在于证书是否得到信任。浏览器的行为是证书可以让用户授权是否信任,而 APP 就可以开发者自己控制。
比如我尝试通过类似的方式对某匿名社区进行抓包解密 HTTPS,但最终失败了,为什么呢?
![](https://img-blog.csdnimg.cn/img_con
vert/e9d249cd73cbbc27011fc047f2a7c497.png)
这就要谈到『SSL Pinning』技术。App 可以自己检验 SSL 握手时服务端返回的证书是否合法,“SSL pinning” 技术说的就是在 App 中只信任固定的证书或者公钥。
因为在握手阶段服务端的证书必须返回给客户端,如果客户端在打包的时候,就把服务端证书放到本地,在握手校验证书的环节进行比较,服务端返回的证书和本地内置的证书一模一样,才发起网络请求。
否则,直接断开连接,不可用。当然,一般情况下,用这种技术也就能防止 HTTPS 信息被解密了。
不过,也还有其他的技术能够破解这种方法,比如 Android 下的一些 Hook 技术,具体而言就是绕过本地证书强校验的逻辑。
感兴趣的同学可以抱着学习目的研究一下。不过据说这种方式需要对系统进行 Root、越狱等,需要一些更高权限的设置。
因此,也告诫我们,一定不要乱安装一些软件,稍不注意可能就中招,让自己在互联网上进行裸奔。
一方面个人隐私信息等泄露,另外一个方面可能一些非常重要的如账户密码等也可能被窃取。
可能的监控手段有哪些?
办公电脑当然要接入公司网络,通过上面介绍的内容,你也应该知道,你在什么时候浏览了哪些网站,公司其实都是一清二楚的。
若自己的手机如果接入了公司网络也是一模一样(连 Agent 软件都不需要装)。这就提醒我们,私人上网尽量用自己的移动网络呀。
上面提到,如一些涉及隐私的敏感信息,如一些 PC 软件、手机 App 自己内部加密传输的话,内容加密(包括但不限于 HTTPS)不被破解也问题不大。
不过,这当然依赖这些软件设计者的水平了。比如同一个匿名用户对外展示的 ID 不能相同,如果是同一个的话也恰好暴露了逻辑漏洞。
当然,我们还是不要抱有侥幸心理,在监管的要求下,如果确实有一些违法等不恰当的言论等,始终还是有门路找到你的。
===============================================================================================================
更何况,一般办公电脑都会预安装一些公司安全软件,至于这些软件究竟都干了些什么,有没有进行传说中悄悄截图什么的,这就因人(公司)而异了。(不讨论类似行为是否涉及到侵犯了员工隐私等问题)
不过,个人认为,咱也没必要过度担心。一般公司也不会因为你上班偶尔摸个鱼,逛逛淘宝、看看微博来找你麻烦的。毕竟没必要这么点芝麻事情来『大动干戈』。
但最好是不是对照员工手册来看看,是否有明令禁止的行为?自己的行为是不是太过了,免得被抓住把柄,正所谓『常在河边走哪有不湿鞋』,『欲加之罪、何患无辞』。
最后
说了这么多其实在我看来主要还是提升自己才是最重要的,技术提升上去了你就算偶尔摸鱼老板也只会睁一只眼闭一只眼毕竟你的实力摆在那里。
评论