- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑到您通常登录的网站有多大,似乎在某个时间点公司服务器会以明文形式将您的密码存储在内存中。这是真的吗?安全吗?
这类似于大多数大型网站让您登录的方式:
在第 4 步和第 5 步之间查看
使用非对称加密私钥解密密码
4.5。简要地有一些带有纯文本密码的变量服务器端
这意味着虽然整个哈希方案是为了防止攻击者获取密码,即使服务器受到威胁,但熟练的黑客还是可以获取密码。
我错过了什么吗?更重要的是,是否有更安全的替代方案?
最佳答案
是的,它是“安全的”,因为内存中的任何内容都在您服务器的内存中,并且不应该能够从外部读取。
安全在引号中,因为一切都是相对的,风险级别取决于您感知的威胁模型 - 即您要防御的威胁是什么?
大肆宣传Heartbleed该漏洞允许攻击者以 64KB block 的形式从服务器内存中检索项目。但是,这里的策略是进行漏洞管理(修补过程),而不是围绕这些类型的问题进行编码。
关于加密密码 - 这是您应该依赖 HTTPS 的事情,而不是在客户端使用 Javascript 加密它们。当它们到达您的服务器存储时,并使用慢速算法(如 bcrypt、scrypt 或 pbkdf2)以散列格式比较它们。还可以使用标有安全和仅 http 标志的 cookie,实现 HSTS 策略,您应该可以在密码存储和传输方面做好准备。
CERT 关于处理内存中敏感数据的建议 is here .
与您的问题最相关的部分是:
This means that while the whole hashing scheme is to prevent an attacker from gaining access to passwords EVEN IF the server is compromised, a skilled hacker could get at it anyway.
请记住,拥有安全的系统不仅仅意味着您需要拥有安全的编码实践和安全的基础设施。这是因为您永远无法拥有 100% 的安全性。这将丢失的部分难题是任何形式的入侵检测/预防 (IDS/IPS)。这认为系统会在某个时候受到损害,因此与其试图阻止每一种可能的攻击类型,不如检测它,从而允许您立即采取适当的行动。如果攻击者设法破坏您的系统并开始收集在登录过程中到达的凭据,这将为您提供保障。
关于security - 以纯文本形式在内存中短暂保存用户密码是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28524213/
我有一个测验应用程序,用户可以在其中使用单选按钮回答一些问题。只有一个答案是正确的。 当我单击我的按钮以显示正确答案时,它会显示在 textView 中。 到目前为止,我还有另一个按钮可以导航到下一个
当使用 IoC 容器时,我可以指定当需要给定的依赖项时,要么每次传入一个新对象,要么传入的对象始终是同一个实例。 我曾认为内部和外部模块分别提供了该功能,但现在我不太确定。此外,我发现在使用“内部”模
我是一名优秀的程序员,十分优秀!