身份认证基础设施:身份协议
身份认证协议是计算机网络中实现身份验证和授权的基本机制。随着互联网的发展,越来越多的应用程序需要提供对远程用户的访问控制和身份认证机制。为了更加安全和可靠地实现身份认证,人们不断地提出新的身份认证协议,例如基于密钥的Kerberos协议、基于XML的SAML协议、基于开放标准的OAuth2.0协议等。这些协议都各自具有不同的特点和应用场景,为用户提供了更加安全、智能和便捷的身份认证服务。未来随着新技术的涌现,身份认证协议也将继续发展和创新,为用户带来更好的使用体验。
身份协议发展简史
早期的身份认证协议主要基于口令或密码的方式进行验证。这些协议存在着明文传输、重放攻击、中间人攻击等安全问题,因此容易被黑客攻击和破解。其中最著名的是基于口令认证协议(Password Authentication Protocol,PAP)和基于挑战-应答认证协议(Challenge-Response Authentication Protocol,CRAP)等。
随着加密技术和公钥基础设施(Public Key Infrastructure,PKI)的发展,出现了一系列基于公钥加密技术和数字证书的身份认证协议,例如基于安全套接字层(Secure Sockets Layer,SSL)和传输层安全协议(Transport Layer Security,TLS)的协议,以及基于X.509数字证书的身份认证协议。这些协议可以提供更高的安全性和可信度,但是由于证书的管理和分发问题,使得它们不够灵活和易用。
在Web 2.0时代,身份认证协议得到了重要的发展和创新。2005年,OpenID协议首次提出,它是一种轻量级的分布式身份认证协议,允许用户使用一个身份在多个网站上进行身份验证。OpenID采用分散式的身份提供商(Identity Provider,IdP)模式,用户可以在不同的网站上使用相同的凭据进行登录。2010年,OAuth协议提出,它是一种用于授权的开放标准协议,允许用户授权第三方应用程序代表其访问受保护的资源。
OAuth采用令牌(Token)的方式进行授权,用户可以授权第三方应用程序访问特定的资源,而无需向其提供用户名和密码等敏感信息。
另外,还有SAML(Security Assertion Markup Language)协议和Kerberos协议等,它们是一种基于令牌的身份认证协议,可以提供更高级别的安全保护和互操作性。SAML协议是一种基于XML的开放标准协议,用于在不同安全域之间传递身份认证和授权信息。它采用了信任模型和单点登录(Single Sign-On,SSO)技术,可以实现跨域认证和授权。Kerberos协议是一种对称密钥身份认证协议,它可以提供更高的安全性和效率,并广泛应用于企业网络和操作系统中。
除了上述协议,还有一些其他的身份认证协议,例如LDAP(Lightweight Directory Access Protocol),NTLM(NT LAN Manager),以及最近流行的OIDC(OpenID Connect)等。LDAP是一种基于客户端-服务器模型的协议,用于访问和维护分布式目录服务。NTLM是微软公司开发的一种基于Windows域的身份验证协议,用于在Windows操作系统中进行身份验证。OIDC是一种建立在OAuth2.0之上的开放标准协议,用于在Web应用程序中实现身份验证和授权。
身份协议攻击面
身份协议发展到今天,已经被广泛地应用于网络世界的方方面面。当身份协议带来便利的同时也或多或少存在着各种各样的风险,并且正被攻击者所利用。根据身份协议威胁调研,可从协议维度梳理如下身份协议的常见风险。
在windows域内,Kerberos、NTLM、LDAP这三个身份协议往往被攻击者配合使用形成一个完美的攻击链。开始,攻击者会通过LDAP协议进行信息收集,寻找域内敏感用户或敏感组等,获取域内尽可能多的敏感信息。然后,为了扩大成果,获得更多主机控制权,攻击者可能会用NTLM的PHT、relay横向到其它主机。获取到域管权限之后,攻击者为了对对域进行持久控制,可能会通过kerberos相关的黄金票据、白银票据、委派等攻击方式进行权限维持。总之,在域内攻击者对这三个协议灵活运用,会起到显著的攻击效果,造成的影响重大。
来到web端,我们可常常见到OAuth2.0、OIDC、SAML、CAS等协议,攻击者会利用泄露的凭据、伪造凭据、会话劫持、CSRF等攻击方式对身份协议发起攻击。比如OAuth2.0 协议允许第三方应用程序获取用户受保护资源的有限访问权限,攻击者可以利用用户的 OAuth 授权令牌来访问其资源而无需用户知情同意,这可能会导致用户的隐私泄露,并使攻击者能够访问用户的敏感信息。另外,在SAML协议中,攻击者可能会利用Golden SAML实施攻击,获得对应系统的所有访问权限,伪装成目标系统上的任何用户。
随着单点登录技术的逐步发展,基于多种身份认证协议的IAM成为受到企业及开发者青睐的身份基础设施,与此同时,攻击者的矛头也逐渐转向针对此类身份基础设施的攻击与研究,常见的针对身份基础设施的攻击手法如下:
-
身份泄露:身份泄露是指黑客通过各种手段窃取合法用户的账号和密码,进而获得访问受保护资源的权限。黑客可以利用社交工程学攻击、网络钓鱼等方式获取用户的身份认证信息。
-
身份盗用:身份盗用是指黑客通过使用其他人的身份信息来获得合法用户的权限,或者在系统中创建一个新的账户,并假冒合法用户来获取权限。黑客可以通过暴力破解、Token窃取、会话固定等方式实施身份盗用攻击。
-
身份提升:身份提升是指黑客通过某种手段将自己的权限提升为更高级别的权限,以获得对更高级别资源的访问权限。黑客可以通过绕过身份验证、修改用户账户设置等方式实施身份提升攻击。
-
跨站点请求伪造(CSRF):CSRF攻击是指黑客通过欺骗用户点击恶意链接,来使用户的浏览器向服务器发送伪造的请求,以执行黑客所期望的恶意操作。黑客可以通过CSRF攻击来伪造用户的身份、执行非法的操作等。
-
会话劫持:会话劫持是指黑客通过某种手段获取合法用户的Session,并以此来访问系统受保护的资源。黑客可以通过窃取会话Cookie、使用会话固定攻击等方式实施会话劫持攻击。
由此可见,身份协议存在众多风险,在真实环境中,攻击者往往会利用身份协议去突破企业的纵深防御,攻陷企业重要系统。关于身份协议的更多详细攻击方式请参考《ITDR身份认证协议》白皮书。
身份协议安全如何保证
身份协议作为身份认证与授权的底层支撑,如果它的安全性受到威胁,那么依赖它传输的数据以及系统内部的资源的安全性也得不到保障。因此,保护身份协议免受攻击意义重大。为了保护身份协议免受攻击,可通过中安网星ITDR平台对身份基础设施进行安全加固及实时攻击检测。
ITDR(身份威胁检测与响应)平台是中安网星推出的针对身份威胁检测与响应高级威胁分析平台。主要围绕Identity及Infrastructure为核心进行防护,涵盖主流身份基础设施及集权设施,围绕从攻击的事前加固、事中监测,事后阻断出发,产品的设计思路覆盖攻击者活动的全生命周期。
中安网星ITDR平台通过对常见身份认证协议进行深度解析,并结合对接身份认证源的业务系统日志,利用UEBA分析引擎从登录模式、设备特征、行为模式、威胁情报、地理位置、用户权限、外部威胁、数据流量、规则监控等维度,对协议数据包、应用日志、用户实体行为进行深入分析,发现其中的异常行为和潜在威胁,包括常见的异常用户活动、Token窃取、异常数据包请求等攻击。
通过结合多种方式对身份基础设施进行实时保护,有力防止敏感数据失窃,防范未知攻击, 降低其面临的安全威胁,增强其业务灵活性和可持续性。
原文始发于微信公众号(中安网星):身份认证协议攻击:黑客不希望你了解的事情