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

最近浏览到一个知乎问题:某运营同窗在试用期期间由于在工做期间上了某 1024 网站,致使试用期不过。算法

在这里插入图片描述

前两天还看到很多推文,大意是:看小电影前必定要注意网址是否是 HTTPS 的,由于 HTTPS 是加密的,别人就不知道了。浏览器

看到上面几个问题,我不由想问(这脑回路也是……):安全

  • 经过浏览器访问 HTTPS 站点,其余人真的无法知道吗?服务器

  • 经过 App 访问匿名论坛(HTTPS),公司怎么知道的?(他是否是接入了公司 WiFi?)网络

总之就是,上班时间上网摸鱼吗?哪怕用 HTTPS 访问,若是公司知道,是经过什么手段?学习

在这里插入图片描述

本文谈谈个人见解,主要分为如下几个方面:网站

  • HTTPS 为何安全?
  • HTTPS 真的安全吗?
  • App 如何保证信息安全,不被爬走?
  • 公司可能的监控手段有哪些?咱们如何作才能确保本身的隐私泄露?

HTTPS 为何安全

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

TLS 协议在 TCP/IP 协议栈中的关系

上图描述了在 TCP/IP 协议栈中 TLS(各子协议)和 HTTP 的关系,HTTP+TLS 也就是 HTTPS。设计

和 HTTP 相比,HTTPS 的优点:3d

  • 数据完整性:内容传输通过完整性校验。
  • 数据隐私性:内容通过对称加密,每一个链接生成一个惟一的加密密钥。
  • 身份认证:第三方没法伪造服务端(客户端)身份。

HTTPS 原理

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

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

这对密钥很牛皮,好比要加密传输消息『tangleithu』,客户端经过公钥加密获得的密文『xyyaabbccdd』进行传输,服务端用本身的私钥对密文解密,刚好能获得『tangleithu』。

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

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

例如,以下图所示,当我访问某个网站,此时经过 wireshark 抓包获得的信息,能得到仅仅是一些通讯的 IP 地址而已。
在这里插入图片描述

这下放心了吗?摸鱼的过程当中,就算访问的 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),这样服务器会根据这个域名返回一个合适的证书。此时尚未办法进行加解密,所以至少这个域名是裸奔的。

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

在这里插入图片描述

所以,即使是 HTTPS,访问的域名信息也是裸奔状态。你上班期间访问小电影网站,都留下了痕迹,若接入了公司网络,就天然而然被抓个正着。

除了域名是裸奔外,其实还有更严重的风险,那就是中间人攻击。

中间人攻击

前面也提到 HTTPS 中的关键其实在于这个证书。

从名字能够看出来,中间人攻击就是在客户端、服务器之间多了个『中介』,『中介』在客户端、服务器双方中假装对方。

以下图所示,这个『MitmProxy』充当了中间人,互相欺骗:

在这里插入图片描述

中间人攻击,来源 evil0x

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

此时用手机访问百度,获得的信息以下:
在这里插入图片描述

证书信任前

提示,链接不是私密链接,其实就是浏览器识别了证书不太对劲,没有信任。而若是此时手机安装了 Fiddler 的证书,就会正常访问。
在这里插入图片描述

证书信任后可正常访问

所以,当你信任证书后,在中间人面前,又是尽收眼底了。

而若是你用了公司电脑,估计你有相应的操做让信任证书吧,或者手机上是否有安装相似的客户端软件吧?

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

在这里插入图片描述

我前任公司在信息安全这块作得就很是谨慎,手机会有工做手机,未受权的任何 App 都不能安装,谁知道 App 会悄悄干些什么事情呢。(最新热点,QQ 扫描浏览器历史记录,你可知道)

固然各类 App 确定也不是吃素的,不会让『中间人攻击』这么容易就得逞的,我们接着看。

如何防止信息安全,反爬

前面提到,要实施中间人攻击,关键在于证书是否获得信任。浏览器的行为是证书可让用户受权是否信任,而 APP 就能够开发者本身控制。

好比我尝试经过相似的方式对某匿名社区进行抓包解密 HTTPS,但最终失败了,为何呢?

在这里插入图片描述

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

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

不然,直接断开链接,不可用。固然,通常状况下,用这种技术也就能防止 HTTPS 信息被解密了。

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

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

所以,也告诫咱们,必定不要乱安装一些软件,稍不注意可能就中招,让本身在互联网上进行裸奔。

一方面我的隐私信息等泄露,另一个方面可能一些很是重要的如帐户密码等也可能被窃取。

可能的监控手段有哪些?

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

若本身的手机若是接入了公司网络也是如出一辙(连 Agent 软件都不须要装)。这就提醒咱们,私人上网尽可能用本身的移动网络呀。

浏览记录,来源知乎

上面提到,如一些涉及隐私的敏感信息,如一些 PC 软件、手机 App 本身内部加密传输的话,内容加密(包括但不限于 HTTPS)不被破解也问题不大。

不过,这固然依赖这些软件设计者的水平了。好比同一个匿名用户对外展现的 ID 不能相同,若是是同一个的话也刚好暴露了逻辑漏洞。

固然,咱们仍是不要抱有侥幸心理,在监管的要求下,若是确实有一些违法等不恰当的言论等,始终仍是有门路找到你的。

在这里插入图片描述

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

在这里插入图片描述

不过,我的认为,咱也不必过分担忧。通常公司也不会由于你上班偶尔摸个鱼,逛逛淘宝、看看微博来找你麻烦的。毕竟不必这么点芝麻事情来『大动干戈』。

但最好是否是对照员工手册来看看,是否有明令禁止的行为?本身的行为是否是太过了,省得被抓住把柄,正所谓『常在河边走哪有不湿鞋』,『欲加之罪、何患无辞』。

相关文章
相关标签/搜索