根据标题,在验证访问权限时,可以做些什么来击败键/击键记录?
我刚刚发布了一个相关问题(how-to-store-and-verify-digits-chosen-at-random-from-a-pin-password),询问有关从PIN /密码中选择随机数字的建议。还有哪些其他合理不显眼的方法?
任何和所有解决方案都赞赏。
答案 0 :(得分:6)
击败键盘记录器的一个解决方案是不关心它们是否捕获了你键入的内容。
一次性密码(搜索:“OTP”)是一种解决方案。智能卡身份验证是另一种。
答案 1 :(得分:5)
你可以有一个带有字母的可点击图片。你的用户会非常生气......
答案 2 :(得分:5)
任何需要使用键盘的解决方案都不会欺骗基于硬件的键盘记录程序。因此,要绕过那些,您只需要通过鼠标输入。但是,可以通过在您自己的代码中添加键盘钩子来停止基于软件的键盘记录器,该键盘钩子捕获键,并且不会调用钩子列表中的下一个钩子过程。但是如果使用错误,键盘挂钩往往会触发防病毒软件,如果你在任何带有错误参数的动态库中使用它们会导致错误。
基本上,键盘记录器会使用键钩来捕获击键。通过在恶意软件keyhook上添加自己的keyhook,您将禁用键盘记录器。
但是,有一些键盘记录器会隐藏在内核中更深层,所以您很快就会遇到一个会再次绕过您的安全的键盘记录器。
不要过分关注键盘记录器的危险性。这只是黑客用来获取各种帐户信息的众多方法之一。更糟糕的是,您无法保护用户免受社交工程技巧的侵害。基本上,黑客获取帐户信息的最简单方法是向受害者询问此信息。通过虚假网站,虚假应用程序和各种其他技巧,他们可以通过阻止键盘记录器来收集您试图保护的任何信息。但键盘记录器并不是最大的危险。
一个建议是使用可爱的小猫(或小狗)的图片供用户点击。你可以做的是使用一组10张图片,让用户选择其中四张为“pincode”。然后,每当用户需要输入他们的代码时,以任意随机顺序显示图片,这样黑客就无法使用它的位置。如果它是一个Web应用程序,也给图片一个随机名称,然后让服务器知道哪个是哪个。为了使它更复杂,您可以创建10组10张图片,其中每张图片显示单个对象,但从不同的角度,不同的角度或不同的颜色。设置1将是一把椅子,设置2一张桌子,设置3一只小猫,设置四只小狗等。用户然后只需要记住:桌子,小猫,椅子,小狗。 (或小狗,椅子,椅子,桌子。或小猫,小狗,小狗,小狗......)
答案 3 :(得分:2)
您可以仅允许使用屏幕键盘输入密码。
或者您可以编写模块(例如在flash上)进行手写(通过鼠标或静止)密码识别。
答案 4 :(得分:1)
唯一真正的方法是进行适当的第二因素认证:这个人的任何一种:指纹,虹膜扫描。或者他们拥有的东西:一次性密码列表/生成器;加密发生器。
答案 5 :(得分:1)
假设只捕获键盘而不是鼠标输入,您可以按顺序输入密码,用鼠标移动光标。
但我真的很喜欢这种一次性方法。
答案 6 :(得分:1)
标准密码的变体怎么样?例如,你可以有一个单词列表,让程序从每个单词中留下随机字母。除此之外,它会从列表中遗漏一个用户必须记住并输入的单词
如果单词形成一个句子,那么用户就更容易记住它,但另一方面,句子的创建会更加困难,因为你需要使用不能从句子的上下文中猜出的单词。
另一种变化可能是让程序随机要求用户将所有字母i替换为1或a替换为4,或者在每三个字母A或类似字母后面放置字母R.
基本上有一个密码可以随意修改,并向用户显示如何修改密码的说明。
现在我想到了,我不确定我的想法是多么不引人注目......
答案 7 :(得分:1)
我银行的网上银行门户网站有一个很好的方式,我发现它非常不引人注目。创建帐户时,您可以定义一个6位数的PIN(除了普通密码)。输入密码后,系统会要求您在2个随机位置输入6位数PIN码的2位数字。例如,如果您的PIN码是654321,它会询问您的数字2和5,然后您将点击5和2(它有一个数字小键盘点击)。即使您使用键盘输入数字,它仍然是安全的,因为攻击者不会知道您被要求的数字(除非他也捕获屏幕,也许使用暴风雨)。
所以,简短回答:只按随机顺序询问密码/密码的某些部分。让用户使用鼠标可以提高安全性。
还有一个想法:如果你有一个PIN(数字密码),请要求用户修改某些数字,例如“第二位加上3位,第四位减1”。