如果需要向大量网站提供随机、独立的密码,密码管理软件是个不错的选择。但这种方法的致命弱点在于,只需要一个主密码就可以开启整个密码库。
然而,一组研究人员已经开发出了一种密码管理软件,如果用户输入了错误的主密码,它会显示一个诱饵密码库。
这一软件名为NoCrack,其设计目的是让黑客发现自己攻击失败时更加困难、耗费更多的时间。
作为攻击者,你不知道哪个密码库才是真的。攻击者没有其它选择,只有在网站上对密码进行试错。”
密码管理软件的一大问题是,这类软件会把所有密码存在一个加密文件里。如果攻击者从受害者的电脑上偷走这个文件,就可以使用它进行暴力破解攻击。在暴力破解攻击中,攻击者会连续尝试成千上百的密码。
如果键入了错误的密码,攻击者很容易发现它是错的。生成的文件是垃圾,因此攻击者不会通过在线网站服务对密码进行试错。对每一次错误的尝试,NoCrack都会生成一份看上去合理的密码库,诱饵的上限是无穷无尽的。确认这些登录信息是否正确的唯一方式就是在网站上一个一个地试。
这种方法“昂贵且缓慢”。
由于大多数在线服务都会限制猜测密码的次数,攻击者不会得到很多发现真相的机会。
NoCrack并不是第一个在此领域作出尝试的软件。另一个被称为Kamouflage的软件与其类似。不过,NoCrack的设计者表示Kamouflage在生成主密钥诱饵方面存在缺陷。
Kamouflage的诱饵主密钥是基于真实版本生成的。通过研究诱饵主密钥,攻击者可以了解到真实的主密钥的结构,进而发现它们。NoCrack团队在这方面做得更好。
NoCrack使用了自然语言编码(NLE)算法,具有讽刺意味的是,该方法也被用在密码破解应用上。根据论文中的描述,NLE算法会对比特串进行编码,得出自然语言中的文本,即使输入相同,每次得到的输出也会不同。
研究者发现,如果攻击者使用基于简单机器学习的工具,试图从诱饵密钥中猜出真实密钥,NLE会阻止这种类型的攻击。
不过还有一个巨大的问题:如果用户错拼了密码怎么办?在这种情景下,软件也会生成一份诱饵密钥库,用户没办法访问自己的账户。
NoCrack团队表示正在研究解决方案。一个可行的策略是:创建主密钥的哈希值,并将其链接到一张输入密码时会显示的图片上。合法用户在碰到错误图片时会意识到问题,攻击者则不会。另一个策略是,如果密码只是稍微偏离正确版本,就对它进行自动矫正。
NoCrack还没有商业化计划。
原文地址:http://www.aqniu.com/tools/7867.html