公共网络弹出的那个登录页:强制门户要你交什么,怎么认出假的 图 1
公共网络弹出的那个登录页:强制门户要你交什么,怎么认出假的 · 图 1

连上一只没有密码的无线网络,浏览器一打开却跳到一个陌生的页面:欢迎光临、请同意条款、请留下邮箱或手机号。这个页面有个正式名字叫强制门户。它是网络运营方设置的一道闸门,本身并不神秘;之所以值得写进安全清单,是因为它的实现方式天然接近钓鱼:在你尚未通过验证之前,网络会拦截并重写你的请求。看清楚这一点,很多判断就会变得简单。

标准文档怎么定义它

互联网工程任务组的一份架构文档把它描述成一种受限接入的网络:设备可以自愿接入,但在满足某些要求之前,网络访问是被限制的;典型做法是要求用户通过浏览器读广告、接受使用政策,或者提供某种凭据。同一份文档也坦率地指出了常见实现的问题:这类门户通常通过伪造或改写域名解析与网页响应来把用户”抓”到页面上,有些甚至对加密连接做中间人处理,从而制造出改写效果。标准组织对此提出的要求恰恰是反过来的——门户方案不应该以破坏协议、表现得像攻击者为前提;设备也应该能够不用”试探性地去访问某个明文地址”来判断自己是否被困住。

另一份更早的文档则解决识别问题:通过给网络配置协议加一个选项,让设备直接知道自己处在强制门户后面,并拿到门户的地址,而不必靠猜。

把这两段翻成人话:强制门户的合法做法,历史上确实经常和”中间人”用同一套技术手段。所以你在门户页上看到的证书异常、地址栏跳转、页面内容跟域名不匹配,并不必然是攻击,也不能因此就断定不是攻击。

公共网络弹出的那个登录页:强制门户要你交什么,怎么认出假的 图 2
公共网络弹出的那个登录页:强制门户要你交什么,怎么认出假的 · 图 2

门户页要你交的东西,价值比想象中大

一只门户页可能只要一个邮箱,也可能要你填手机号、姓名,或者用某个社交账户登录。这些信息的用处各不相同:邮箱与手机号是可以长期沉淀的联系入口,之后广告推送、跨场所的设备识别、以及”你曾经在此上网”的记录,都从这里长出来;社交账户登录更麻烦,因为你交出去的是一次授权,而不是一个字符串,授权范围决定了对方能读走哪些字段。

放在资产场景里,这些字段还有一层用途:精准化。一个知道你手机号与常用邮箱的人,可以在几天后打来一通电话,准确地报出你上网的场所和时间,把你的戒心削掉一半。

伪门户:把闸门做成收割台

真正的风险不止于合规门户过于贪婪,而在于门户本身可以被复制。攻击者可以在同一场所放一只同名网络,配一个仿制的门户页,让你在毫无戒备的情况下填下邮箱、手机号甚至真实姓名。这类页面的判断要点很朴素:一是它索取的字段是否超出必要(要邮箱可以,要邮箱加密码就要停);二是它是否要求你在门户页里输入某个平台的账号口令——一只网络闸门没有理由要你的交易所登录密码;三是页面跳转前后的域名关系能不能解释清楚,如果页面上同时出现”登录某平台领福利”和”同意网络使用条款”两种话术,就要警惕它究竟在服务谁。

资产操作的取舍纪律

第一,把操作分层。看行情、读公告、查交易记录,这些只读动作在公共网络上风险可控;发起提币、确认签名、修改收款地址这类写操作,尽量回到自己熟悉的环境再做。差别不在于网络快慢,而在于你是否需要在拦截与改写都可能发生的通道上,去核对一长串十六进制字符。

第二,签名字段自己核对。设备屏幕上给出的金额、收款地址、合约名称,是你在门户网络条件下也必须逐项确认的东西;公共网络不会改变这些字段,但它会放大你”懒得核对”的代价。

第三,用最小身份上网。需要给邮箱时,用一个专门接收杂务的地址;能不给手机号就不给;能不用社交账户登录就不用,改成手动填写。

第四,把证书告警当作需要停下来读一遍的信号,而不是习惯性地”继续访问”。在强制门户后面,出现告警的理由可能很无辜,但误点一次的后果可能很不无辜。

第五,退出之后做一件小事:把这只网络设为不再自动连接。公共网络的名字常常被人复用,今天连过的名字,明天可能在另一个场所等着你的设备自动扑上去。

风险提示

本文对强制门户的定义与实现限制的描述,依据写作时相关标准文档的公开摘要,标准条文与各家系统的实现方式可能随版本变化。文中内容仅为安全防御建议,不构成投资建议。