“密码/键盘输入保护”如何工作?

信息安全 密码 杀毒软件 保护
2021-09-07 04:46:21

我确实拥有Kaspersky Internet Security (KIS) 和BestCrypt 卷加密(BCVE)(不相关),并且两者都提供了一些机制 (KIS)来“在我输入密码时保护我的密码”。卡巴斯基主要在我使用浏览器时执行此操作,而 BCVE仅在输入保护数据卷的密码时才提供此操作。

此外,卡巴斯基的解决方案并没有真正改变我能注意到的任何行为,而 BCVE 有效地阻止了我的密码管理器 ( KeePass ) 为我输入密码。当我输入卡巴斯基的自我保护密码以更改其设置时,也会出现类似的奇怪行为。

所以我现在的问题是:
(/可以)这种密码保护“技术”如何工作(概念上)?

我能想象的唯一(方法)是通过暂时禁用 Windows 中的键盘挂钩系统以及强制剪贴板为空,但我认为他们做得更多(以一种聪明的方式)。

1个回答

这都是 API 级别的问题:如果您使用(通常是特权)低级别 API 拦截事件,那么您可以将其隐藏到更高(非特权)级别的 API。

因此,这两种解决方案最有可能依赖于低级 API,因此拦截击键事件,因此依赖于更高级别 API 的按键记录器(希望如此)不会检测到它们。

在 BCVE 的情况下,他们自己的屏幕似乎非常自我记录,并明确确认了所使用的技术,“Anti-Keylogger 使用低级 Windows 功能”

在此处输入图像描述

在这种情况下,实现相对容易,因为 BCVE 可以直接使用捕获的指向自身的击键。这对卡巴斯基来说有点棘手,因为捕获的击键必须以某种方式发送到标准浏览器中的 HTML 表单字段。

为了实现这一点,卡巴斯基在用户的网页中注入了一个 JavaScript 文件。然后,此脚本充当客户端并联系本地运行的 Kaspersky 服务。这允许脚本在击键时获取它们并相应地填充受保护的输入字段,从而有效地绕过标准键盘输入堆栈。

这里有一些来自卡巴斯基人员的信息证实了这一点,但他们似乎没有发布很多关于他们产品内部的文档。