Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有可能有一个内置反键盘记录器的C#Winform吗?_C#_Winforms_Security_Keylogger - Fatal编程技术网

有可能有一个内置反键盘记录器的C#Winform吗?

有可能有一个内置反键盘记录器的C#Winform吗?,c#,winforms,security,keylogger,C#,Winforms,Security,Keylogger,每个安全系统都有其局限性。我知道硬件键盘记录器不能被打败,因为它连接到硬件本身。此外,在这一点上它也不是一个问题,因为大多数时候程序员和有道德的黑客使用它来登录自己,在大多数时候,谨慎的用户将能够直观地识别任何不需要的硬件(忘记政府机构) 但是作为一个开发人员,保护用户往往是一个值得关注的问题!那么,作为一名程序员,我是否有可能在我的windows窗体中集成一个安全层,通过实施某种反挂接技巧来禁用用户系统上任何活动的键盘记录器(即基于软件的)?再加上现在大多数的软件密钥记录器都支持“屏幕截图”,

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


但是作为一个开发人员,保护用户往往是一个值得关注的问题!那么,作为一名程序员,我是否有可能在我的windows窗体中集成一个安全层,通过实施某种反挂接技巧来禁用用户系统上任何活动的键盘记录器(即基于软件的)?再加上现在大多数的软件密钥记录器都支持“屏幕截图”,有什么办法可以逃脱吗?

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

简短回答:可能,但可能不值得这么做。

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

如果是这种情况,那么您需要建立一种方法来确保捕获的任何细节都没有用处

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

我从未使用过它们,也不知道您将如何获取它们,但您可以在此处阅读它们:


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

更简短的回答:不是来自c。因为这个原因,我甚至都不打算进去。即使您可以遍历插入键盘挂钩的所有模块,您如何确定它是否是键盘记录器,而不是合法的东西?

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


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

明天会有一个问题“是否有可能对禁用活动键盘记录程序的应用程序进行键盘记录”。如果你能找到一种有效的解决方案,试着为其申请专利并将其出售给所有安全公司。这就像输入保护中的圣杯。若你们不在屏幕上显示任何东西,你们可以避免截图。除此之外:不。如果是网络表单应用,请向客户端推荐谷歌Chrome操作系统,该操作系统是只读的,不能被篡改。记录器可以截屏并记录鼠标点击。说真的,如果你非常偏执,你不应该这样做。跟踪这些东西会更加困难。即使是双因素身份验证(即现在的情况)也不安全,它很容易受到中间人的攻击。怎么会这样呢?毫无疑问,只是有兴趣。@slugster:我认为,如果有笔记本电脑制造商加入,一个安全键盘/令牌接口的开源标准可能会很有用。从概念上讲,这不应该太难。如果硬件有指示灯或其他指示器来指示它正在做什么,我甚至不确定是否需要为接口定义任何加密协议(例如,通过令牌打开指示灯,以指示键盘何时通过该令牌专门连接)我现在很清楚,它不是很实用,但只是出于好奇,说它可以做到。如果它在登录表单上实现,它是否合法重要?