导图社区 OSG9第十四章 控制和监控访问
第十四章 控制和监控访问,CISSP(Certification for Information System Security Professional)即信息系统安全专业认证,这一证书代表国际信息系统安全从业人员的权威认证
编辑于2023-07-18 10:04:07 广东关于GBT 35273—2020个人信息安全规范的思维导图,本标准规定了开展收集、存储、使用、共享、转让、公开披露、删除等个人信息处理活动应遵循的原则和安全要求。
CISSP(Certification for Information System Security Professional)即信息系统安全专业认证,这一证书代表国际信息系统安全从业人员的权威认证
CISSP(Certification for Information System Security Professional)即信息系统安全专业认证,这一证书代表国际信息系统安全从业人员的权威认证
社区模板帮助中心,点此进入>>
关于GBT 35273—2020个人信息安全规范的思维导图,本标准规定了开展收集、存储、使用、共享、转让、公开披露、删除等个人信息处理活动应遵循的原则和安全要求。
CISSP(Certification for Information System Security Professional)即信息系统安全专业认证,这一证书代表国际信息系统安全从业人员的权威认证
CISSP(Certification for Information System Security Professional)即信息系统安全专业认证,这一证书代表国际信息系统安全从业人员的权威认证
第十四章 控制和监控访问
14.1 比较访问控制模型
在验证主体身份后,下一步就是进行授权。授权主体访问客体的方法取决于 IT 系统采用的访问控制方法。
14.1.1 比较权限、权利和特权
权限
权限:通常是指授予对客体的访问权限,并明确允许对客体执行的操作。
如果具有文件的读取权限,那么你可打开并读取文件
你可以授予用户创建、读取、编辑或删除文件的权限。同样,你可以授予用户对某个文件的访问权利,因此在此场景中,访问权利和权限是同等含义
例如,如果获得应用程序文件的读取和执行权限,你就拥有运行应用程序的权 利。此外,你可以获得某个数据库的数据权利,因而可以检索或更新数据库中的信息
权利
权利: 权利主要是指对某个客体采取行动的能力
例如,用户可以有权利修改计算机系统时间或恢复备份数据
特权
特权:特权是权利和权限的组合
例如,计算机管理员将拥有全部特权,即授予计算机管理员对计算机的全部权利和权限
14.1.2 理解授权机制
隐式拒绝:访问控制的基本原则是隐式拒绝,大多数授权机制使用隐式拒绝,可以将其视为默认拒绝。开始创建的账户无任何权限
访问控制矩阵:是一种包含主体、客体和分配权限的表格,访问控制矩阵并非只是一个访问控制列表(Access Control List,ACL,以客体为中心) ,矩阵中列出的每个文件都有一个单独的 ACL, ACL 列举此文件的授权用户及其分配的权限。
能力表(capability table):是另一种确定主体所分配权限的方式。与 ACL 不同能,力表主要关注主体(如用户、组或角色),例如,为会计角色创建的能力表包括允许会计角色访问的所有客体列表,以及针对这些客体为会计角色授予的具体权限(以主体为中心)
约束接口 :应用程序利用受约束或受限制的接口,限制用户可执行或可查看的内容,如果用户拥有受限特权,其访问也受限,一种常见方法是在用户无权使用某功能时隐藏该功能
基于内容的控制:基于内容的访问控制依据客体内容来限制对数据的访问,例如,数据库中的客户表包含客户姓名、电子邮件地址、电话号码和信用卡数据
基于上下文的控制:基于上下文的访问控制在授予用户权限之前需要用户执行特定的活动。例如在线销售数字商品的交易数据流,购买后才可以进行下载流程,也可以使用日期和时间控件,例如,根据当前日期和I或时间,我们限制用户对计算机和应用程序的访问。如果用户尝试在允许时间之外访问资源,系统将拒绝
因需可知: 这个原则确保主体仅能访问为完成工作任务和工作职能而需要知道的内容。
最小特权: 最小特权原则确保主体仅拥有执行工作任务和工作职能所需的权限。和因需可知唯一区别,最小特权还包括在系统上执行操作的权利
职责分离:职责分离原则确保将敏感职能划分为两个或多个员工共同执行的任务。创建一个检查和制衡系统,防止欺诈和错误的发生
14.1.3 使用安全策略定义需求
安全策略是一种定义组织安全需求的文档,确定了组织需要保护的资产、安全解决方案 以及所需保护的程度
安全策略可以帮助组织内的人员知悉哪些安全需求十分重要,所以该策略是访问控制的 重要元素。高级领导批准安全策略,并在此过程中提供组织安全需求的概述
安全策略通常不会详细介绍如何满足安全需求或如何实施策略
例如,安全策略可能声明需要实施和执行职责分离和最小特权原则,但并不说明如何实施
14.1.4 介绍访问控制模型
自主访问控制
非自主访问控制
基于角色的访问控制
基于规则的访问控制
基于属性的访问控制
强制访问控制
基于风险的访问控制
集中式/分散式访问控制
14.1.5 自主访问控制(DAC)
采用自主访问控制的系统允许客体的所有者、创建者或数据托管员控制和定义对该客体的访问。所有客体都拥有所有者,访问控制权基于所有者的自由裁量权或决定权
例如,如果用户创建新的电子表格文件,则该用户既是文件的创建者,又是文件的所有者,可以修改文件的权限以允许或拒绝其他用户的访问
微软 Windows 的 NTFS 文件系统使用 DAC 模型来管理文件。每个文件和文件夹都有一个ACL, 用于标识授予任何用户或组的权限,并且所有者可修改权限。
Owoner说了算
14.1.6 非自主访问控制
在非自主访问控制模型中,访问并不关注用户身份,而是使用一组静态规则集来管理访 问。非自主访问控制系统是集中控制的,虽然不够灵活,但易于管理
1. 基于角色的访问控制(RBAC)
基于角色(Role-Based Access Control,RBAC):或基于任务的访问控制的系统,根据主体角色或分配任务来定义访问客体的能力。通常通过组来实现。
例如,银行可能有信贷员、柜员和经理等角色。管理员可创建一个名为“信贷员”的组,将每个信贷员的账户纳入该组,并为该组分配适当的权限,如图 14.1 所示
基于角色的访问控制可以预防特权蠕变,有助于加强最小特权原则的实施。
特权蠕变:是用户随着角色和访问需求的变化而积累特权的趋势
人员职位变动时,管理员只需要从组中删除用户的账户即可轻松撤销不必要的权限
RBAC 在人员频繁变动的动态环境中非常有用,因为管理员只需要将新用户添加到适当 的角色即可轻松授予多个权限
微软操作系统通过组实现RBAC,某些组如本地Administrators组,是系统预定义的,但管理员可以创建其它组,从而匹配组织的工作职能或角色
因为RBAC模型可以通过从角色中移除账户来轻松撤销权限,所以该模型对于实施最小特权原则非常有帮助
RBAC和DAC区别
在自主访问控制(Discretionary Access Control ,DAC) 模型中,客体有所有者,所有者可以确定谁有权访问客体
在 RBAC 模型中,管理员可以确定主体的权限,并为角色或组分配适当的权限
基于任务的访问控制(task-based access control,TBAC):TBAC 与 RBAC类似,但不是将用户分配给一个或多个角色,而是为每个用户分配一组任务
例如, Microsoft Project 使用 TBAC。每个工程拥有多项任务。项目经理将任务分配给项目团队人员。团队人员可以处理自己的任务,如添加评论、指示进度等,但不能处理其他任务
许多应用程序使用 RBAC 访问控制模型,因为角色可以降低维护应用程序的总体人工成本。举一个简单的例子:WordPress 是一款流行的基千 Web 的应用程序,应用于博客和内容管理系统
2. 基于规则的访问控制
基于规则的访问控制:模型使用一组规则、限制或过滤器,决定系统允许和禁止发生的操作
基于规则的访间控制模型的常见示例是防火墙
适用于所有主体的全局规则
防火墙包含一个最终规则(即隐式拒绝规则),拒绝所有其他流量。开始规则识别出防火墙允许的流量,而隐式拒绝规则拒绝所有其他流量。
3. 基于属性的访问控制(ABAC)
基于属性的访问控制(Attribute Based Access Control,ABAC):模型包含适用于所有主体(如用户)的全局规则
时间、位置、IP
属性可以是用户、网络和网络上的设备的几乎任何特征。例如,用户属性可以包含组成 员身份、工作部门以及其使用的设备,如台式计算机或移动设备
许多软件定义网络(SDN)应用程序使用 ABAC 模型
例如,软件定义广域网(SD-WAN)解决方案可以实施策略来允许或阻止流量
简明语句来创建 ABAC 策略,例如“允许管理人员使用平板电脑或智能手机访问 WAN”。
4. 强制访问控制(MAC)
强制访问控制(mandatory access control,MAC):模型依赖分类标签的使用。一个分类标签代表一个安全域或安全领域。所有主体和客体都有标签
基于标签的访问控制
安全域:是共享相同安全策略的主体和客体的集合
美国军方使用绝密、秘密和机密标签对数据进行分类
营组织经常使用机密(或专有)、私有、敏感和公开等标签
MAC 模型通常被称作基于格子的模型。图 14.2 显示一种基于格子的 MAC 模型的示例。
例如,公开和敏感之间的区域包含了标记为敏感(上边界)的客体。拥有敏感标签的用户可以访问敏感数据。
MAC 模型还允许标签标识出更多定义的安全域。机密区域(私有和机密之间)中有 4 个单 独的安全域,分别为 Lentil、 Foil 、 Crimson 和 Matterhorn,用户不仅需要拥有机密标签,还需要附加标签才能访问这些隔离区中的数据
例如,若要访问 Lentil 区域中的数据,用户需要同时拥有机密标签和 Lentil 标签
图 14.2 中的标签是第二次世界大战军事行动的名称,但组织可以将任何名称用作标签。
在 MAC 模型中使用隔离区,有助于加强因需可知原则
MAC 模型是禁止性的,而不是允许性的,遵循隐式拒绝原则
MAC 模型的分类使用以下三类环境
分层环境 :分层环境将各种分类标签关联到按低安全性、中等安全性、高安全性排序的 结构,如机密、秘密和绝密
分区环境:在分区环境中,一个安全域和另一个安全域之间是无关联的。每个域代表一 个单独的隔离区。如果需要访问客体,主体必须拥有该客体安全域的明确许可口
混合环境: 混合环境结合了分层和分区的概念,因此每个分层级别可能包含多个子分 区,这些子分区之间是相互隔离的,图 14.2 是混合环境的示例。
安全分类和许可
5. 基于风险的访问控制
基于风险的访问控制:相对较新,其实现可能相当复杂。该模型试图通过研究几个元素来评估风险,例如:
环境
情景
安全策略
例如,考虑一个包含患者信息的信息系统,供医疗专业人员使用。医生、护士和其他人 员在医院急诊室(ER)工作,需要访问出现在急诊室中的所有患者的数据。在这种情况下
环境是急诊室
场景是医疗急救
安全策略可能判定这是一个低风险的行为,并授予医生和护士对患者数据的所有访问权限。
在策略授予访问权限之前,我们可以检查或要求实施另外两个措施。
多因素身份认证: 系统拒绝仅使用一种身份认证因素的用户访问。
合规的移动设备:该策略可以要求智能手机和平板电脑满足特定的安全要求,例如最新的操作系统和设备加密。
14.2 实现认证系统
联合身份管理(Federated Identity Management FIM): 允许不同组织联合使用 SSO 。例如,员工在登录 A 公司网络后,不必再次登录即可访问 B 公司的网络资源。
14.2.1 互联网上实现 SSO
SAML、 OAuth、 OpenID 和 OIDC 等解决方案为用户SSO提供安全性。
1. XML
可扩展标记语言(eXtensible Markup Language,XML):并非仅通过实际描述数据来描述如何显示数据。XML 可以包含标记,从而描述所有所需数据
例如,以下标签将数据标识为参加考试的结果:
XML 存在许多特定模式,如果公司之间对 XML 模式达成共识,则公司之间可以轻松共享信息。许多云提供商使用基于 XML 的语言来共享身份认证和授权信息。
许多云提供商不是直接使用 XML, 而是使用其他基于 XML 的语言
2. SAML(IDaas)
安全断言标记语言(Security Assertion Markup Language,SAML):是一种基于 XML 的开放标准,通常用于在联邦纠织之间交换身份认证和授权(AA)信息。 SAML 提供支持浏览器访间的 SSO 功能。
2005 年将SAML2.0 纳入 OASIS 标准,并一直保持到现在。
SAML2.0 规范使用三个实体:委托人、服务提供商和身份提供者。比如,假设 Sally 正 在访问自己在 ucanbeanlillionaire.com 上的投资账户。该站点要求 Sally 登录自己的账户,并且该站点使用 SAML
SAML2.0 规范使用三个实体
委托人或用户代理 :为简单起见,我们将 Sally 视为委托人。 Sally 正在尝试切问自己在 ucanbeamillionaire.com 上的投资账户。
服务提供商(Service Provider),SP) : 在此场景中, ucanbeamillionaire.com 站点提供服务并且是服务提供商。
身份提供者(Identity Provider,IdP): IdP 是持有用户身份认证和授权信息的第三方。
当 Sally 访问该站点时,站点提示 Sally 输入身份凭证。当 Sally 输入身份凭证时,该站点会将 Sally 的身份凭证发达至 IdP 。然后, IdP 使用 XML 消息进行响应,验证(或拒绝)Sally的身份凭证,并明确允许 Sally 访问的内容。然后该站授予 Sally 访问其账户的权限口
IdP 可以发送三种类型的 XML 消息(称为声明):
认证声明: 此声明证明用户代理提供了正确的身份凭证,标识身份认证方法,并标识用户代理登陆的时间
授权声明: 此声明表明用户代理是否有权访问所请求的服务。如果消息表明访问被拒绝,消息会说明原因
属性声明: 属性可以是关于用户代理的任何信息。
SAML 是互联网上流行的 SSO 标准,用于交换身份认证和授权(AA)信息。
3. OAuth
OAuth 2.0(意含开放授权):是 RFC 6749 中描述并由互联网工程任务组(IETF)维护的授权框架
例如,假设你拥有一个 Twitter 账户并下载了 Acme 应用程序。 Acme 应用程序可以与你 的 Twitter 账户交互并提前安排推文。类似第三方使用的服务,使用QQ/微信授权登陆
许多在线站点支持 OAuth2.0, 但不支持 OAuth1.0,且OAuth2.0 不向后兼容 OAuth 1.0 。
OAuth 是一个授权框架,而不是身份认证协议。 OAuth 交换 API 消息并使用令牌来显示访问是否已获得授权。
4. OpenlD
OpenID :也是一个开放标准,但由 OpenID Foundation 维护,它不是 RFC 标准。
OpenID提供去中心化身份认证,允许用户使用一组凭证登录多个不相关的网站,这些凭证由第三方服务维护,这类第三方被称为 OpenID 提供商。使用谷歌邮箱账号,可以登录多个平台的服务
当用户访问支持 OpenID 的网站(也称为依赖方)时,系统会提示用户提供 OpenID 标识作为 URI。随后,启用 OpenID 的网站和 OpenID 提供商交换数据并创建安全通道。
5. OIDC
OpenID Connect (OIDC):是使用 OAuth2.0 授权框架的身份认证层
关键点是 OIDC 同时提供身份认证和授权。
OIDC 建立在 OpenID 创建的技术之上,但使用 JavaScript 对象表示法(JSON) Web 令牌(JSON Web Tokens,JWT) ,你也可称之为ID 令牌。
一般步骤如下:
使用Goole账户登录eBay举例
(1) 如果你没有 Google 账户,谓注册一个 Google 账户。
(2) 确保你已退出 eBay 和 Google, 访问 eBay 网站,然后单击 Sign In 。
(3) 单击 Continue With Google 。打开一个对话框,提示你输入 Google 电子邮件。对话框 还指出 Google 将与 eBay 网站共享的内容。
(4) 输入你的电子邮件地址,然后按回车键。
(5) 输入你的密码,然后单击 Next 按钮。
(6) 如果你在 Google 账户上启用了两步验证,系统会提示你获取并输入验证码。
OIDC 使用 OAuth 框架来授权,并基于 OpenID 技术进行身份认证。 OIDC 使用 JSON 网络令牌。
6. 比较 SAML 、 OAuth 、 OpenlD 和 OIDC
SAML 要点概述如下:
SAML2.0 是一种基于 XML 的开放标准。
OASIS 在 2005 年将 SAML2.0 纳入标准。
SAML2.0 使用三个实体,即主体(如用户)、服务提供商(如网站)和身份提供者(持有认证和授权信息的第三方)。
SAML 可以提供主体的认证、授权和属性信息。
OAuth 要点概述如下:
OAuth 是一个授权框架,而不是一个认证协议。
RFC 6749 描述了 0Auth2.0 。
OAuth 使用 API 交换信息。
应用程序从身份提供者那里获取访问令牌。
随后,应用程序包含用于授权的访问令牌。
OpenID 要点概述如下:
OpenID 是一种身份认证标准。
它由 OpenID Foundation 维护。
OpenID 提供商提供去中心的身份认证。
用户在站点上输入OpenID 标识符(如 bobsmith2021.myopenid.com), OpenID 提供商会验证此标识符。
OIDC 要点概述如下:
OIDC 是使用 0Auth2.0 的身份认证层。
它建立在 OpenID 身份认证标准之上。
它提供身份认证和授权。
它建立在 OpenID 之上,但使用 JSONWeb 令牌。
14.2.2 在内部网络上实现 SSO
SSO 解决方案也适用于内部网络。 Kerberos 是最常见的 SSO 解决方案,也是 CISSP 考试需要了解的重要身份认证系统。
两种常见的远程访问协议是RADIUS 和 TACACS+
了支持 SSO,RADIUS 和 TACACS+还提供身份认证、授权和计费。
1. AAA 协议
提供身份认证、授权和计费的协议被称为 AAA 协议。
AAA 协议通过远程访问系统,如虚拟专用网络(VPN)和其他类型的网络访问服务器,提供集中式访问控制。
有助于确保内部局域网身份认证系统和其他服务器免受远程攻击
常见的 AAA 协议
Kerberos
票证身份认证是一种采用第三方实体来证明身份并提供身份认证的机制。Kerberos 是最 常见和最著名的票证身份认证。
Kerberos 的主要目的是身份认证
这个名字出自希腊神话,Kerberos 地狱三头犬
Kerberos 为用户提供单点登录解决方案并保护登录凭证。
许多 Kerberos 角色可以集中在单个服务器上,但也可部署在不同的服务器上
Kerberos 使用几个不同的要素,务必理解这些要素:
Kerberos 身份认证服务器
Kerberos 身份认证服务器承载密钥分发(Key Distribution Center,KDC) 的功能:票证授予服务(TGS)和身份认证服务(AS)
AS
TGS
可以在另一台服务器上托管票证授予服务
身份认证服务验证或拒绝票证的真实性和时效性。此服务器通常被称为 KDC
票证: 票证是一种加密消息,可证明主体被授权访问对象,如果主体已通过身份认证并被授权访问该对象, Kerberos 会向主体颁发票证。Kerberos 票证具有特定的生命周期和使用参数
票证授予的票证(Ticket–Granting Ticket,TGT):提供证据,证明主体已通过 KDC 的身份认证并且可以请求禀证来访问其他对象。TGT 是经过加密的,包括对称密钥、到期时间和用户 IP地址。当请求访问对象的禀证时,主体将出示 TGT
Kerberos 主体
Kerberos 向 Kerberos 主体发出票证。 Kerberos 主体通常是用户,但也可以是请求票证的任何实体。
Kerberos 领域
一般而言,领域是指由某物控制或统治的区域
Kerberos 领域是由Kerberos 控制的逻辑区域(如域或网络)。领域内的主体可以从 Kerberos 请求票证,而 Kerberos可以向领域内的主体发出票证。
kerberos 需要一个账户数据库,它通常存储在目录服务,例如微软的目录服务(AD) 。
Kerberos 在客户端、网络服务器和 KDC 之间交换票证,从而证实身份并提供相互身份认证。
允许客户端从服务器请求资源,客户端和服务器可以相互确认身份
加密票证还可确保登录凭证、会话密钥和身份认证消息永远不会以明文形式传输
Kerberos 登录流程的工作原理如下
当试图访问一个对象(如托管在网络上的资源)时,客户端必须通过 Kerberos 服务器获得票证。此过程包括以下步骤:
TGS 网络票证授权服务(ticket-granting service)
Kerberos 是一种通用身份认证机制,适用于本地局域网、远程访问和客户端/服务器资源请求
Kerberos 存在单点故障,即 KDC。如果 KDC 被泄露,则网络上每个系统的密钥也会泄露。此外,如果 KDC 脱机,则无法开展主体的身份认证。
Kerberos 也具有严格的时间要求,默认配置要求所有系统保持 5分钟以内的时间同步。时间上同步或时间被修改,那么之前签发的 TGT 将会失效,系统便无法接收任何新的票证,客户端将无法访问所有受保护的网络资源。
管理员通常在网络内部配置 个时间同步系统。在活动目录域中,一个域控制器(DC)与外部网络时间协议(NTP)服务器在时间上保持同步
RADIUS
远程认证拨入用户服务(RADIUS)集中认证远程访问连接,例如 VPN 或拨号访问
RADIUS 通常适用于组织拥有多台网络访问服务器(或远程访问服务器)的情况
许多互联网服务提供商(internet service provider,ISP)使用 RADIUS 实施身份认证。用户可以从任何地方访问 ISP,ISP 服务器将用户的连接请求转发至 RADIUS 服务器以进行身份认证。
组织也可以使用 RADIUS, 且通常基于位置的安全来实现 RADIUS。例如,如果用户使用 IP 地址连接,则系统可以利用地理定位技术来识别用户所在的位置
RADIUS 默认使用用户数据报协议(UDP,1812,1813端口),仅加密口令的交互过程。 RADIUS 不会加密整个会话,但RADIUS 可以使用其他协议来加密会话。
使用 TLS 时, RADIUS 使用 TCP2083 端口。 RADIUS 使用 UDP 1812 端口传输 RADIUS消息,并使用 UDP 1813 端口传输 RADIUS 计费信息
RFC 6614 描述了如何使用 RADIUS/TLS 保护 RADIUS 流量
RADIUS 在网络访问服务器和共享身份认证服务器之间提供AAA 服务。网络访问服 务器是RADIUS 认证服务器的客户端。
TACACS+
Cisco 开发了增强型终端访问控制器访问控制系统(TACACS+),后来将其作为开放标准发布。
TACACS+对早期版本和 RADIUS 进行了多项改进。
TACACS+将身份认证、授权和计费划分为独立的进程,如果需要,可将其托管在三个不同的服务器上
TACACS+使用 TCP49 端口,为数据包的传输提供更高级别的可靠性。
TACACS+可以加密所有身份认证信息,而不仅仅口令
验证保护
14.3 了解访问控制攻击
风险管理试图通过实施控制措施或对策来减少或消除漏洞,或减少潜在威胁的影响。消除风险是不可能或不可取的
风险:是威胁利用漏洞造成损失(例如资产损坏)的可能
威胁:是可能导致不良结果的潜在事件,包括犯罪分子或其他攻击者的潜在攻击,还包括洪水或地震等自然事件,以及员工的意外行为
漏洞:是任意类型的弱点。弱点可能是硬件或软件的缺陷或限制造成的,也可能源自安全控制的缺乏,例如计算机上没有安装防病毒软件。
14.3.1 常见访问控制攻击
访问控制攻击试图绕过或规避访问控制方法
访问控制攻击通常试图窃取用户凭证。攻击者窃取了用户的凭证后,可通过用户身份登录并访问用户的资源,从而发起在线模拟攻击
14.3.2 特权提升
特权提升是指给予用户的特权超过了其应有特权的情况
1. 使用 SU 和 sudo 命令
Linux 系统存在一个 root 账户,有时被称为超级用户(superuser)账户。
SU 命令默认切换到 root 怅户,并提示用户输入 root 账户口令
另一种选择是 sudo 命令,有时也被称为超级用户执行(superuser do)
2. 尽量减少 sudo 命令的使用
CISSP 目标提到尽量减少 sudo 命令的使用
3. 口令攻击
口令是最脆弱的身份认证方式,并且存在许多口令攻击方法。
强口令有助于防止口令攻击
对口令进行哈希计算时,务必使用强哈希函数。
4 字典攻击
字典攻击是指尝试通过使用预定义数据库中的每个可能密码或公共或预期密码列表来发现密码
passwordl :password2 、 lpassword 和 passXword简单变体
5. 暴力破解攻击
暴力破解攻击是指通过尝试所有可能的字母、数字和符号的组合来找到用户的口令
当用户使用进行了哈希计算的口令进行身份认证时,将发生以下三个步骤:
(1) 用户输入凭证,如用户名和口令。
(2) 系统对口令进行哈希处理,并将哈希值发送到身份认证系统
(3) 系统将此哈希值与存储在密码数据库文件中的哈希值进行比对。如果哈希值匹配, 则表明用户输入了正确的口令。
6. 喷射攻击
喷射攻击(spraying attack):是一种特殊类型的暴力破解攻击。攻击者在在线密码攻击中使用喷射攻击,并试图绕过账户锁定的安全控制措施
想象一下,如果同一账户在 30 分钟内尝试输入错误口令 5 次,而喷射攻击在 15 分钟内遍历整个列表,那么锁定策略将锁定该账户。如果 30 分钟内输入错误口令两次, 30 分钟的计时器将重置,因此系统不会锁定账户。
7. 凭证填充攻击
凭证填充攻击仅检查每个站点的单个用户名及口令。撞库
Gus 在 eBay、 NetF监和 Disney+等各类网站上拥有数百个账户。 Gus 感到难以跟踪所有网站的凭证,因此在每个网站上使用相同的凭证
如果人们在所有站点上使用不同的口令,凭证填充攻击将失败
8. 生日攻击
生日攻击的重点是寻找碰撞。
生日悖论:指出,如果一个房间里有 23 个人,那么其中任何两个人拥有相同生日的可能性为 50%
SHA-3(安全哈希算法版本 3 的简称)可使用多达 512 位,并被认为可安全地抵御生日攻击和冲突
9. 彩虹表攻击
如果通过猜测、哈希计算,然后将其与有效的口令哈希值进行比对来寻找口令,这个过程需要很长时间
彩虹表通过使用大量预计算的哈希数据库来减少所需的时间
通过以下方式创建彩虹表:
(1) 猜测口令
(2) 计算猜测口令的哈希值
(3) 将猜测的口令及其哈希值放入彩虹表中。
许多系统通常使用加盐(salt) 口令来降低彩虹表攻击的有效性,盐是在进行哈希计算之前添加到口令中的一组随机位
Argon2 、 bcrypt 和 PBKDF2(基于口令的密钥派生函数 2)是三种常用的加盐密码算法
一个基于 MD5 的彩虹表如果包含所有 8 个字符长的口令(含 4 种字符类型),其大小约为 460 GB
10. Mimikatz
Mimikatz 已经成为黑客和渗透测试人员手中的流行工具,基于C语言,Mimikatz 通过改取内存凭证来进行漏洞利用。
Mirnikatz 的一些功能
从内存中读取口令: 可以提取和读取存储在本地安全机构子系统服务进程中的明文口令和 PIN。
提取 Kerberos 票证 :工具 包含一个访问 Kerberos API 的 Kerberos 模块。 ”Kerberos漏洞利用攻击“部分讨论了几种使用 Mirnikatz 及类似工具实施的票证攻击。
提取证书和私钥: 工具包含一个 Windows CryptoAPI 模块,该模块可以提取系统上的证书以及与证书相关联的私钥。
读取内存中的 LM 和 NTLM 口令哈希值:尽管可以阻止 Windows 系统将 LM 哈希值存 的证书以及与证书相关联的私钥。在内存中。储在本地安全账户管理器(SAM)数据库中,但某些 Windows 系统仍会创建哈希值并将其存储
在本地安全机构子系统服务(LSASS)中读取明文口令: LSASS 通常不会以明文形式存储口令,但恶意软件可以修改注册表,启用摘要认证(digest authentication) 。启用后, Mimikatz可以读取口令
枚举正在运行的进程: 攻击者可以使用此功能来识别用于向其他目标发起攻击的进程。
11. 哈希传递攻击
哈希传递(PtH)攻击是指攻击者将捕获的口令哈希值发送到身份认证服务
渗透测试人员和攻击者使用 Mirnikatz 和其他工具(如 DCSync)来捕获口令哈希值,然后使用口令哈希值来模拟登录过程
哈希传递攻击大致步骤
(1) 使用 Mirnikatz 等工具捕获用户口令哈希值,信息存储在内存中运行的 lsass.exe进程中。
(2) 然后攻击者使用凭证进行身份认证
(3) 一旦成功登录,攻击者就可以使用该账户在整个网络中漫游
最好的保护措施是防止第一台计算机被感染。
12. Kerberos 漏洞利用攻击
Kerberos 容易受到利用开源工具(如 Mimikatz) 的多种漏洞利用攻击
Kerberos 漏洞利用攻击包括以下内容
超哈希传递攻击: 当网络上禁用 NTLM 时,可以使用这种方法替代哈希传递攻击。即使网络上禁用 NTLM, 系统仍会创建 NTLM 哈希值并将其存储在内存中。攻击者可以使用用户口令哈希值请求票证授予的票证(TGT)并使用 TGT 访问网络资源。这种攻击有时被称为传递密钥
票证传递:在票证传递攻击中,攻击者试图获取 lsass.exe 进程中保存的票证。在获取票 证后,攻击者注入票证以冒充用户
白银票证(silver ticket) : 白银票证使用截获的服务账户 NTLM 哈希值来创建票证授予服务(TGS)票证。服务账户使用 TGS 票证,而不是 TGT 票证。
黄金票证:如果能获得 Kerberos 服务账户(KRBTGT)的哈希值,攻击者就可以在活动目录中随意创建票证。这给了攻击者非常大的权力,因此被称为黄金票证。理员账户的访问权限,如果获得域管理员权限攻击者就可以远程登录域控制器并运行 Mimikatz来提取哈希值
Kerberos 暴力破解:攻击者可以在 Linux 系统上运行 Python 脚本 kerbrute.py 或在 Windows 系统上运行Rubeus 。除了猜测口令,这些工具还可猜测用户名。
ASREPRoast: 此攻击识别未启用 Kerberos 预身份认证的用户。
Kerberoasting: 此攻击收集加密的票证授予服务(TGS)票证,此攻击试图找到没有 Kerberos 预身份认证的用户
13. 嗅探攻击
嗅探是指捕获通过网络发送的数据包,其目的是分析数据包。
Wireshark 是一种流行的协议分析器,可免费下载。
数据加密
14. 欺骗攻击
欺骗(也称为伪装)是指伪装成某种东西或某个人
电子邮件欺骗:垃圾邮件发送者通常在“发件人”字段中使用假冒的电子邮件地址,进而让电子邮件看起来像来自其他发件人
电话号码欺骗:来电显示服务允许用户识别来电者的电话号码。
14.3.3 核心保护方法
控制对系统的物理访问:与安全相关的一旬老话是,如果能拥有一台计算机的不受限制 的物理访问权限,攻击者就拥有该计算机
控制对文件的电子访问:严密控制和监控对所有重要数据的电子访问,包括保存口令的 文件
哈希和加盐口令:使用 Argon2、 bcrypt 和 PBKDF2 等协议为口令加盐,并考虑使用外部胡椒来进一步保护口令
使用口令掩码:确保应用程序永远不会在屏幕上以明文形式显示口令,而是通过替代字符(如*)来屏蔽口令的显示。这个措施能降低肩窥的危害,攻击者可以通过观察用户的键盘键入来获取口令
部署多因素身份认证:部署多因素身份认证,例如使用生物识别或令牌设备。
使用账户锁定控制:账户锁定控制有助于抵御在线口令攻击。
使用上次登录通知:许多系统显示消息,包括上次成功登录的时间、日期和位置(如计算 机名称或 1P 地址)
用户安全意识培训:用户经过适当培训之后可以更好地理解安全的重要性以及使用强口 令的好处。