试用期没过,因在公司上了1024网站…

最近浏览到一个知乎问题:某运营同学在试用期期间因为在工作期间上了某 1024 网站,导致试用期不过。

试用期没过,因在公司上了1024网站...

本文谈谈我的看法,主要分为以下几个方面:

  • HTTPS 为什么安全br>

  • HTTPS 真的安全吗br>

  • App 如何保证信息安全,不被爬走br>

  • 公司可能的监控手段有哪些们如何做才能确保自己的隐私泄露/p>

HTTPS 为什么安全

HTTPS,也称作 HTTP over TLS,TLS 前身是 SSL,会有各个版本。

试用期没过,因在公司上了1024网站...

HTTPS 原理

上图就是大致介绍了 HTTPS 的握手流程,感兴趣的同学可以用 WireShark 抓包详细看看其中的每一个步骤,有助于理解 HTTPS 的完整流程。这里,我就不详述了。

大致就是客户端和服务端通过“握手会谈”商量出一个双方支持的加密算法和相应随机参数,得到一对密钥,后续的传输的内容都通过这对密钥进行加解密。

这对密钥很牛皮,比如要加密传输消息『tangleithu』,客户端通过公钥加密得到的密文『xyyaabbccdd』进行传输,服务端用自己的私钥对密文解密,恰好能得到『tangleithu』。

中间错一位都不行,这样就保证了数据完整和隐私性。这个过程比较复杂,本文不详述。

因此,你在通过 HTTPS 访问网站的时候,就算流量被截取监听,获取到的信息也是加密的,啥实质性的内容也看不到。

例如,如下图所示,当我访问某个网站,此时通过 wireshark 抓包得到的信息,能获得仅仅是一些通信的 IP 地址而已。

试用期没过,因在公司上了1024网站...

还好这个 IP 搜出来是 Github,而不是……

试用期没过,因在公司上了1024网站...

HTTPS 真的安全吗/p>

HTTPS 真的完全安全吗访问的域名都获取不到案是否定的。上述 HTTPS 在握手阶段有一个很重要的东西:证书。

SNI:域名裸奔

当访问 HTTPS 站点时,会首先与服务器建立 SSL 连接,第一步就是请求服务器的证书。

当一个 Server IP 只对应一个域名(站点)时,很方便,任意客户端请求过来,无脑返回该域名(服务)对应的证书即可。

但 IP 地址(IPv4)是有限的呀,多个域名复用同一个 IP 地址的时候怎么办/h3>

服务器在发送证书时,不知道浏览器访问的是哪个域名,所以不能根据不同域名发送不同的证书。

因此 TLS 协议升级了,多了 SNI 这个东西,SNI 即 Server Name Indication,是为了解决一个服务器使用多个域名和证书的 SSL/TLS 扩展。

现在主流客户端都支持这个协议的。别问我怎么知道这个点的,之前工作上因为这个事情还费了老大劲儿……

它的原理是:在与服务器建立 SSL 连接之前,先发送要访问站点的域名(Hostname),这样服务器会根据这个域名返回一个合适的证书。此时还没有办法进行加解密,因此至少这个域名是裸奔的。

如下图所示,上面的截图其实是访问我的个人博客(www.tanglei.name)的抓包情况,客户端发送握手请求时,很自觉带上了自己的域名。

试用期没过,因在公司上了1024网站...

中间人攻击,来源 evil0x

可以安装 MitmProxy 或者 Fiddler 之类的抓包软件尝试一把,然后开启代理。

此时用手机访问百度,得到的信息如下:

试用期没过,因在公司上了1024网站...

证书信任后可正常访问

因此,当你信任证书后,在中间人面前,又是一览无余了。

而如果你用了公司电脑,估计你有相应的操作让信任证书吧,或者手机上是否有安装类似的客户端软件吧/h3>

抓紧时间看看手机的证书安装明细(比如我手机上的):

试用期没过,因在公司上了1024网站...

这就要谈到『SSL Pinning』技术。App 可以自己检验 SSL 握手时服务端返回的证书是否合法,“SSL pinning” 技术说的就是在 App 中只信任固定的证书或者公钥。

因为在握手阶段服务端的证书必须返回给客户端,如果客户端在打包的时候,就把服务端证书放到本地,在握手校验证书的环节进行比较,服务端返回的证书和本地内置的证书一模一样,才发起网络请求。

否则,直接断开连接,不可用。当然,一般情况下,用这种技术也就能防止 HTTPS 信息被解密了。

不过,也还有其他的技术能够破解这种方法,比如 Android 下的一些 Hook 技术,具体而言就是绕过本地证书强校验的逻辑。

感兴趣的同学可以抱着学习目的研究一下。不过据说这种方式需要对系统进行 Root、越狱等,需要一些更高权限的设置。

因此,也告诫我们,一定不要乱安装一些软件,稍不注意可能就中招,让自己在互联网上进行裸奔。

一方面个人隐私信息等泄露,另外一个方面可能一些非常重要的如账户密码等也可能被窃取。

可能的监控手段有哪些/p>

办公电脑当然要接入公司网络,通过上面介绍的内容,你也应该知道,你在什么时候浏览了哪些网站,公司其实都是一清二楚的。

若自己的手机如果接入了公司网络也是一模一样(连 Agent 软件都不需要装)。这就提醒我们,私人上网尽量用自己的移动网络呀。

试用期没过,因在公司上了1024网站...

更何况,一般办公电脑都会预安装一些公司安全软件,至于这些软件究竟都干了些什么,有没有进行传说中悄悄截图什么的,这就因人(公司)而异了。(不讨论类似行为是否涉及到侵犯了员工隐私等问题)

试用期没过,因在公司上了1024网站... 码农code之路 试用期没过,因在公司上了1024网站... 微信公众号 试用期没过,因在公司上了1024网站... 微信扫码关注或搜索公众号名称

来源:码农code之路

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月21日
下一篇 2021年1月21日

相关推荐