6 个密码安全风险及其避免方法

2025-06-09

6 个密码安全风险及其避免方法

你知道吗?人们很讨厌密码。我们使用弱密码,重复使用密码。或者,我们会把密码写下来,或者以同样不安全的方式存储它们。这些做法使我们的数据非常容易受到攻击。因此,攻击者攻击这些做法也就不足为奇了。

当然,密码验证过程是存在的。不过,获取密码其实很简单。

方法 1:向用户询问密码 方法 2:尝试一个已经被泄露的用户密码 方法 3:向多个用户尝试一个弱密码 ......等等。

2018 年,黑客窃取了 5 亿条个人记录,比 2017 年大幅增长了 126%。因此,组织的密码策略和要求应以最精确和最严格的方式设计。

公司需要的是强大的密码策略,能够主动识别易受攻击的用户账户,并防止使用易受破解的弱密码。能够在攻击者发现之前发现弱密码,是安全方面的必备技能。

在深入探讨保护密码的方法之前,我们首先需要了解最大的密码安全风险。

最大的密码安全风险有哪些?

以下是一些最大的密码安全风险:

1. 网络钓鱼/嗅探器/键盘记录器

获取某人密码最简单的方法之一就是让他们告诉你。通过这种方法,黑客甚至可以绕过密码验证过程。

方法如下:

攻击者通过诱骗用户在他们控制的恶意网站中输入密码(称为网络钓鱼)、渗透不安全、未加密的无线或有线网络(通常称为嗅探)或在计算机上安装键盘记录器(软件或硬件)来攻击用户。

这些方法为攻击者提供了相当简单的方法来窃取用户的凭证,方法是诱骗用户输入密码或读取不安全网络上的流量。

2. 暴力破解

攻击者获取密码的常用方法是暴力破解。这些方法使用软件或自动化工具生成数十亿个密码,并逐个尝试访问用户的帐户和数据,直到找到正确的密码。

暴力攻击是指攻击者根据密码规则尝试所有字母、数字和符号的组合,直到找到有效的组合。

由于通常存在密码锁定规则,暴力破解攻击在“在线”进行时通常不会成功。但是,如果攻击者能够获取系统密码文件的副本,或者从数据库下载哈希密码,则通常可以不被发现,在这种情况下,他们的攻击非常容易得逞。

一旦攻击者获得一个或多个散列密码的副本,就可以很容易地确定实际密码。这被称为离线密码破解。

基本上,破解是一种离线暴力攻击或离线字典攻击。如果你使用了字母、数字、特殊字符等所有可能的组合,这就是离线暴力攻击。

如果您使用经过修改的“词典”,包含大量包含字符替换的单词(跨多种语言)、常用密码等,则这属于离线词典攻击。如果应用程序以不安全的方式存储密码(使用简单的基本哈希算法),这些破解方法(暴力破解或词典攻击)将迅速破解(攻陷)所有下载的密码哈希值。

3. 弱密码

由于用户必须自行创建密码,因此他们很可能不会创建安全的密码。这可能是因为用户想要一个容易记住的密码,或者他们没有及时掌握密码安全最佳实践,又或者他们使用一些模式来生成密码,例如在密码中使用姓名或出生日期。

虽然用户相对容易记住这些模式或密码,但网络犯罪分子也了解人们用来创建密码的公式。这类密码通常强度较低且不安全,容易被破解。

4. 重复使用密码和使用泄露的密码

通常,用户倾向于在不同的网络和系统中使用类似的密码,这使得他们的密码容易受到黑客攻击。

想知道怎么做吗?

网络攻击的数量日益增多,即使一个网站或系统的数据遭到入侵,攻击者也有可能获取用户的凭证。如果用户在不同平台上使用类似的密码,攻击者也可以访问其在其他网站和网络上的数据。

5.密码恢复/重置系统

允许用户在忘记密码时恢复或重置密码的系统也可能被恶意攻击者利用。请记住,忘记密码机制只是另一种验证用户身份的方法,因此必须足够强大!

网络犯罪分子可以模仿用户,并试图通过重置密码来获取用户帐户的访问权限。依赖“生日”或“宠物姓名”等“安全问题”的在线系统通常过于简单,无法进行身份验证,因为攻击者可以轻松地从社交网络帐户中获取用户的基本个人信息。

6. 代码和配置文件中的明文密码

明文密码对密码安全构成严重威胁,因为它们会暴露凭证,允许未经授权的个人模仿合法用户并获得访问其帐户或系统的权限。

什么是明文密码?

它们可以是最终用户输入后仍然在屏幕上可见的密码,也可以是配置文件或代码中以明文形式存储的密码,并且没有加密来保护存储的数据。

明文密码,无论是作为输入还是在配置文件中,都很容易受到密码破解和其他网络攻击。

密码管理和保护:您应该做什么

有很多方法可以保护您的帐户免遭密码破解和其他身份验证违规。

以下是一些最有效、最易于实施且最佳的解决方案,可帮助保护您的密码:

教育

贵组织面临的最大安全威胁之一实际上可能来自贵组织或公司内部。内部攻击被认为是最危险的安全攻击类型之一,因为它们涉及与组织相关的人员,而这些人员非常熟悉基础设施。

通过实施强有力的安全措施(例如安全密码)和遵循最佳安全实践,可以防止许多网络安全漏洞。

通过对员工进行网络安全教育,您可以保护您的组织免受针对企业的一些最常见的网络攻击。

例如,网络钓鱼攻击涉及来自欺骗域名的电子邮件,允许攻击者模仿合法网站或冒充熟悉的人来诱骗员工点击欺诈链接或提供敏感信息。

如果您的员工充分了解最佳安全实践,他们就可以防止一系列网络攻击的发生。

安全的用户密码存储

保护用户密码存储至关重要,以防止攻击者获取密码,即使系统或应用程序受到威胁。

与密码学一样,需要考虑各种因素。

一个用于安全存储用户密码的流行概念是哈希。它是一种单向函数,这意味着不可能“解密”哈希值并获取密码。强哈希值有助于确保攻击者无法解密哈希函数并获取密码。

但仅仅对密码进行哈希处理是不够的,你还需要确保当数据库被入侵,密码哈希值被泄露时,攻击者很难破解这些密码。你需要做两件事。

首先,对密码进行加盐。作为哈希过程的一部分,每个密码都会被附加一个盐值(一个唯一的、随机生成的字符串)。如果用户的密码非常简单,例如“passw0rd”,则在哈希之前会附加一个随机盐值。使用简单的哈希值,攻击者只需生成一个庞大的字典即可破解每个用户的密码。如果使用了加盐值,攻击者只需为每个用户重新生成一个最短的字典(使用每个用户的盐值)。这使得攻击者的攻击更加困难。

此外,与其仅仅使用可以快速计算哈希值的哈希算法(例如安全哈希算法 2 (SHA-2)),不如使用工作量因子来减慢攻击者的速度。工作量因子本质上会增加计算密码哈希值所需的时间。它们还会增加攻击者计算哈希值所需的内存量。

对于用户来说,四分之一秒计算哈希值是可以接受的登录时间。但对于想要使用专用硬件每秒计算数百万个密码的攻击者来说,四分之一秒的计算时间成本太高。您可以使用自适应哈希算法来消耗时间和内存,从而大大提高攻击者破解密码的难度。

多重身份验证

多因素身份验证 (MFA) 是指要求用户在系统或应用程序上提供多种类型的证据来验证自己的身份。

MFA 可以结合使用不同类型的身份验证证据(例如密码、PIN、安全问题、硬件或软件令牌、短信、电话、证书、电子邮件、生物识别、源 IP 范围和地理位置)来验证用户身份。

MFA 应该用于日常身份验证。如果对此存在抵触,至少应该在执行敏感操作时实施,例如:

• 更改密码或安全问题
• 登录尝试失败后的身份验证
• 更改与帐户关联的电子邮件地址或手机号码
• 使用特权功能
• 异常用户行为,例如从新设备、不同
时间或地理位置登录
• 禁用 MFA

MFA 是防御大多数密码相关攻击的最佳方法之一,包括密码破解、密码喷洒和凭证填充。

密码恢复

大多数应用程序和系统都为忘记密码或只想重置密码的用户提供了密码恢复系统。攻击者经常会尝试利用密码恢复系统来入侵用户账户。

请记住,密码恢复是一种身份验证形式,因此用户必须能够提供证据来证明其身份。

使用多因素身份验证,结合使用与用户帐户关联的注册电子邮件地址或电话号码上的密码、PIN 和限时密码重置令牌来验证其身份。

此外,向用户发送有关其密码更改的短信通知或电子邮件,以确保只有经过身份验证的用户才能访问他们的帐户。

强制使用强密码

确保用户使用强密码,且不设字符数上限。确保密码由大小写字母、符号和数字组成。密码的挑战在于,为了确保安全,密码必须独特且复杂。

然而,复杂的密码往往难以记住,这意味着它们不一定方便用户使用。为了在确保安全性的同时方便用户使用,可以考虑使用长密码。

密码短语是一串随机字母,更容易记住,但比普通密码略长。一般来说,一个好的密码短语至少应该包含 6 个单词,并且应该生成,因为日常词汇通常不够强。

例如:“vitals.toad.nestle.malachi.barfly.cubicle.snobol”

建议使用密码管理器为您生成独特且复杂的密码。它们还能防止密码重复使用,并确保生成的每个密码都是唯一的。

加密系统密码

加密是当今密码最重要的安全功能之一。许多系统都存在默认管理员帐户,并设置了一个简单的默认密码。这些密码很容易被破解。请勿使用默认密码。

硬编码密码通常写在代码或配置文件中。攻击者一旦获得系统的基本访问权限,就可以很容易地在系统中查找这些凭据。然后,他们使用这些明文系统密码来入侵其他系统。

只要有可能,就应该使用加密密钥以加密格式存储密码。

那么用于加密数据的密钥怎么样?

一般规则是,您应该避免使用密钥,因为攻击者可以轻松获取密钥或您的代码,从而使加密失效。您需要将密钥安全地存储在密钥管理框架(通常称为 KeyStore)中。它具有两个功能:

• 随机生成密钥
• 安全存储密钥

有了这些功能,存储密钥变得轻而易举。由于 KeyStore 随机生成并安全管理密钥,因此只有您的代码才能读取它,从而使攻击者难以解密密码。

最后的想法

实施强密码策略是加强安全性的有效方法,企业应该投入更多的时间和资源来确保所有利益相关者(包括员工、第三方和客户)遵守严格的密码协议。

您可以通过多种方式实施更好的密码策略 - 强制执行严格的密码要求、使用工具安全地存储数据、使用加密等。

Cypress Data Defense 使用可以发现和阻止弱密码的下一代工具,保护您的组织免受密码破解和其他基于身份验证的攻击。

有关身份验证和密码强制执行的更多信息,您可以联系我们,我们将确保您的数据安全。

这篇文章最初发表于CypressDataDefense.com

鏂囩珷鏉ユ簮锛�https://dev.to/joywinter90/6-password-security-risks-and-how-to-avoid-them-53e4
PREV
9 个 Web 应用程序安全代码审查最佳实践
NEXT
3 个鲜为人知但实用的 Vim 技巧