或者说,你能搞出这个问题是因为你已经在安全门的另一侧了。
最近,微信公众号推荐算法给我推送了一个有关搜狗输入法的登录界面绕过的问题。看完之后我有点哑然。这倒并不仅仅是因为 2024 年了还有输入法会犯这个错误,而是因为这篇公众号文章无论是从标题还是从内容来说都将其大肆渲染成了一个很严重的问题。
先来简单解释一下搜狗输入法的问题:在锁屏界面,你可以借助搜狗输入法的游戏中心功能拉起一个内嵌浏览器,并通过访问 QQ 登录功能执行下载,此时保存对话框会被打开;保存对话框可以被用于访问并执行系统上的任意路径下的程序。
是不是很熟悉?因为二十几年前的智能 ABC / 智能五笔本地提权漏洞和这个玩意如出一辙,只不过手段是通过帮助文档对话框打开任意路径下的程序;而十几年前的 QQ 输入法纯净版则可以通过帮助功能直接拉起系统浏览器。
这些问题,于我个人而言,更偏向于「整人小把戏」。因为如果要能在远程计算机上实现此操作,你必须手动配置远程计算机接受不安全的登录方式(即先连接远程桌面后验证)。在我接触过的计算机上,你必须提供完整的凭据信息才能连接到该计算机(即先验证后给远程桌面)。这种本地提权,某种意义上只意味着你没有管好你的电脑,而不是程序本身有什么问题。
这就如同银行金库大门一样,你能够接触到关键信息的核心原因是你已经在大门的另一侧了。如果你成功地骗到银行工作人员给你打开金库大门的话,那说明你确实有很好的社工手段;如果你成功地撬开了金库大门而没有触发任何警报的话,那说明这套系统确实有严重的缺陷;但如果你拿着金库钥匙大摇大摆地开门走进去然后说「你看你这个大门压根就不保险,我怎么就进来了」,那我只能说,你很厉害哦。
(是,我知道现实生活中的银行金库大门可没这么容易好开,印象里是需要两个高权限的人同时授权才能开启;但是这里只是用一个比喻。)
而很多安全缺陷实际上都属于「用户错误」,即系统管理员无论是出于方便还是出于没意识到这样做有问题,将金库的大门钥匙挂在了门旁边。技术上来说,这确实给要行窃的人使了个方便,但是这很难说是因为金库本身的设计有问题。但「抛开事实不谈,设计金库的你就没有一点责任么?就不能警告我这么做会出问题么?」
其实这么说来,BSD 一直在追寻「默认即安全」并不是纯粹的炫技。但是很多时候,这种设置反而会适得其反——因为用户会觉得这个系统太难用或者太烦人了,所以他们会直接关掉这些安全措施。Windows 的 UAC 和防火墙功能可能是最知名的例子:我身边不少人直接起手默认关闭防火墙和 UAC.(没错,他们的电脑都会有各种很莫名的问题,但好在他们已经摸爬滚打了十几年知道不要往电脑里乱装奇怪的东西但是……)而许多系统管理员为了图个方便也会在他们的 Linux 发行版上当 root
敢死队。
对于一个里里外外了解计算机系统的运行原理,知道构建自己的威胁模型的技术从业者而言,或许一个输入法可以让你绕开登录限制只是一个小把戏;但对于更多更多的用电脑只是为了工作或者娱乐的普通人呢?这个问题确实将他们暴露于潜在的攻击中。有很多第三方的远程桌面实现就是不安全的:它允许你在不直接提供凭证到情况下连接到远程桌面(比如通过保存的桌面会话或者识别码),而这些信息通常可以通过社会工程得到。这种情况下,一个本地提权漏洞就会上升到远程提权漏洞。聪明的你肯定不会把自己的识别码交出去,但你相信你的家人同事不会这么做么?
当我们讨论信息安全的时候,总归是要意识到:整个信息系统里最薄弱的一环决定了这个信息系统的安全性;而人类永远会是信息系统里最薄弱的那一环。
Your comments will be submitted to a human moderator and will only be shown publicly after approval. The moderator reserves the full right to not approve any comment without reason. Please be civil.