应用程序在通过网络发送数据之前是否会检查网络是否不安全?

应用程序在通过网络发送数据之前是否会检查网络是否不安全?

我去了一家咖啡店,网络 WiFi 屏幕上出现了以下消息:

在此处输入图片描述

IIUC 您不能使用开放网络发出 https 请求,对吗?

更多信息:
我感兴趣的是操作系统意识到了风险,我没有检查,但我认为我的浏览器会在 HTTP 连接上警告我,但我想知道为什么我没有看到应用程序发出任何警告(很可能是包装网页的 Electron 应用程序)。所以我知道应用程序不应该担心这个问题,但在这种情况下,如果登录凭据被暴露,那么我认为应该这样做,对吗?

答案1

一个开放网络在这种情况下意味着攻击者可能相对容易地看到流量。

然而,网络通常以抽象的形式提供:应用程序通常不关心通过线路发送的单个位。结果是不同的抽象级别可以提供自己的安全性。

Https 是一种提供加密的协议,可在一定程度上确保您连接到预期的服务器。因此,您绝对可以在开放网络上发出 https 请求。

其他协议(SMTP 用于发送电子邮件、POP 或 IMAP 用于检索电子邮件、FTP 用于传输文件)不包含类似的加密。在这种情况下,监视网络流量的攻击者可以轻松查看您的数据和凭据。

请注意,这个答案过于简单化了整个加密主题,值得一读stackexchange 社区本身

答案2

HTTPS 保护的是连接的内容,不一定是该连接的初始协商。你仍然在泄漏一些信息传输到本地网络以便到达安全的服务器。

除非你使用支持通过 HTTPS 进行 DNS那么您可能会将您想要访问的目标站点等信息泄露给您所连接的网络中的 DNS 服务器。

开放网络还允许某些人潜在地控制 HTTPS 协商的初始阶段并执行中间人攻击意味着您的 HTTPS 连接的内容通过网络控制器完全控制的一个证书发送,然后转发到最终目的地。受感染的网络可能相当于以明文形式广播您的所有个人数据。

使用预先设置了证书的 VPN(避免让开放网络替换自己的证书)可以保护您免受此类攻击,同时保护所有其他流量。

答案3

需要安全性的应用程序应该在自己的层面上实现安全性,无论您与互联网的首跳连接(例如您当前的 Wi-Fi 网络)是否安全。应用程序根本无法知道从应用程序到服务器的互联网每一跳是否安全,因此应用程序必须在应用程序和与之通信的服务器之间实现自己的安全性。

然而,并非所有应用程序都能很好地完成自身安全保护,而 Wi-Fi 加密和 VPN 也无能为力。它们可能会减少某些类型的隐私/安全威胁,但它们总是存在这样的可能:有人在网络的其他链接上进行监视,他们能够看到您的流量,而您的应用程序未能在自身层面上妥善保护这些流量。

相关内容