【问题标题】:Security weak link安全薄弱环节
【发布时间】:2009-11-18 23:13:54
【问题描述】:
我已经阅读了大量关于散列和加盐密码、该做什么、不该做什么等的信息。我看到的问题是:如果黑客要通过窃取散列密码列表的努力,不然后他就不能访问所有受密码保护的数据吗?这就像将组合存储到保险箱中,in 保险箱。闯入,窃取组合。如果我是小偷,我会拿走钱。
现在一家大公司可能有一个单独的服务器仅用于身份验证。然而,黑客想要的是数据,而不是密码。因此,如果两台服务器相等,我会闯入保存数据的那台。
我在这里遗漏了一些计算机安全的基本缺陷吗?是否有非社交方式在没有哈希文件的情况下破解密码?
感谢您的帮助。
--戴夫
【问题讨论】:
标签:
web-services
security
security-roles
【解决方案1】:
您假设这样的人可以访问整个数据库。情况并非总是如此。他们可能偶然发现了哈希值意外暴露给用户的页面(因此无法访问数据库的其他部分),或者他们可能使用 SQL 注入以有限的方式提取某些数据(例如,他们可能已经发现您的用户表称为users,但没有发现您的信用卡表称为lolcats)。
另一个安全考虑因素是您的内部 IT 人员。对数据库具有合法访问权限的开发人员通常仍不应该以明文形式查看每个人的密码。
【解决方案2】:
一个原因是大多数用户对多个帐户使用相同的密码。未经哈希处理的密码意味着我在其他网站上的帐户可能会受到威胁——尤其是因为电子邮件是登录的常用字段。通过散列密码,如果网站的数据库被盗,我的电子邮件帐户将同时受到保护。
【解决方案3】:
大多数用户会在多个系统中重复使用密码。如果攻击者闯入您的系统,您不希望他能够使用您的数据闯入您在不同网站上的用户帐户。
此外,如果您使用用户密码加密数据,并且只存储密码的哈希值,那么即使攻击者获取了您的整个数据库,他也无法做任何事情,除非他能够破解哈希值。请注意,这将完全不可能实现“忘记密码”功能,除非您有办法使用安全答案解密数据(使其成为第二个密码)