3

每个安全系统都有其局限性。我知道硬件键盘记录器无法被击败,因为它连接到硬件本身。在这一点上也不是一个问题,因为大多数时候程序员和道德黑客使用它来记录自己,除此之外,大多数时候谨慎的用户将能够在视觉上识别任何不需要的硬件(忘记政府机构)。

但是作为开发人员,保护用户通常是一个问题!那么,作为一名程序员,我是否有可能在我的 Windows 窗体中集成一层安全性,通过实施某种反钩子技巧,能够禁用用户系统上的任何活动按键记录器(即基于软件)?加上现在大部分软件按键记录器都支持“截图”,有什么办法可以逃脱吗?

4

5 回答 5

2

我想您担心用户输入他们的凭据并被捕获。

如果是这种情况,那么您需要建立一种方法来确保不使用任何捕获的详细信息。

许多银行甚至现在的魔兽世界都采用的一种方法是使用便携式令牌生成器。然后用户输入他们的用户名、密码,通常是令牌生成器上显示的 PIN。这些 PIN 仅存在几秒钟,从不重复。这意味着拦截凭据的恶意用户无法对其进行身份验证。

我从未使用过它们,也不知道如何获取它们,但你可以在这里阅读它们:

http://en.wikipedia.org/wiki/Security_token

在我看来,这比试图阻止键盘记录器攻击您的应用程序更好。

于 2009-11-21T23:51:51.617 回答
2

更短的答案:不是来自 c#。出于原因,我什至不打算进去。即使您可以遍历所有插入键盘钩子的模块,您如何确定它是否是键盘记录器,而不是合法的?

于 2009-11-21T23:57:00.207 回答
0

这是可能的,但是检测一个的启发式方法不值得花时间。允许 PC 具有良好的防病毒/恶意软件是合适的。如果您真的很偏执,您可以编写一个屏幕键盘,通过鼠标为您的应用程序输入,这与ING Direct的 PIN 输入非常相似。

于 2009-11-21T23:38:44.800 回答
0

简短的回答:可能,但可能不值得努力。

于 2009-11-21T23:39:14.923 回答
0

对手在机器上拥有管理员权限。你已经输了。

如果您想保护用户免受此类攻击,最佳做法是在“红色”网络上运行应用程序并限制软件进入该网络。并防止来自“红色”网络的数据被带走。甚至安全机构也开始厌倦这样做的成本和不便。

于 2009-11-22T00:46:49.027 回答