![d2e63e301281a322dfd9f649ca495aca.png](https://i-blog.csdnimg.cn/blog_migrate/5ccbf849bce0208b5ed0ea794bfa78be.png)
我们假设Alice想要通过myGovID登录nottrustworthy.com网站。在可信数字身份框架(TDIF)的语言中,nottrustworthy.com是依赖方(RP),Alice是用户,ATO提供身份交换(IdX),myGovID是(唯一的)身份提供者(IP)。myGovID系统使用Alice在手机上运行的客户端应用程序。nottrustworthy.com不需要myGovID集成的真实IP,只需向Alice展示她可以通过myGovID进行登录即可。
攻击者控制nottrustworthy.com,并希望以欺诈的方式利用Alice账户登录其他站点,我们将该账户称为AlicesTaxService.gov.au。假设AlicesTaxService.gov.au是myGovID系统中的真实RP,因此用户可以使用myGovID登录。
接下来,我们假设Alice已经安装了myGovID应用程序,并熟悉其操作方法,但并不精通信任假设。
3 攻击细节 攻击者在nottrustworthy.com的网页页面上进行篡改,以展示一个虚假的按钮,邀请用户使用myGovID登录。复制一个与真实按钮完全相似的按钮是很容易的。攻击者并没有直接将用户重定向到mygovid.gov.au,而是在它们的网站上,制造一个类似于myGovID登录的虚假frame或页面,并询问用户的电子邮件。 同样,这可以完美地复制真实的myGovID网站,并显示“使用myGovID登录以继续”。警惕的用户可以检测这种攻击,因为它们知道该请求应该来自https://mygovid.gov.au ,但是除非Alice对协议足够了解,否则将不会怀疑虚假的网站发出的电子邮件地址请求。后续的攻击流程如下所示:
当Alice输入电子邮件时,攻击者以手工/自动的方式转到AlicesTaxService.gov.au,单击“使用myGovID登录”以重定向到mygovid.gov.au,然后输入Alice的电子邮件地址。
myGovID系统在攻击者浏览的mygovid.gov.au页面上,展示一个原本打算呈现给Alice的4位数代码。
攻击者读取该代码,并将其重放到Alice正在浏览的nottrustworthy.com页面上,以使其看起来像是来自myGovID的合法代码。
Alice读取代码,并在要求时将其输入到她的应用中。
攻击者现在将以Alice身份登录AlicesTaxService.gov.au
攻击者还会在nottrustworthy.com页面上显示成功登录,以向Alice隐藏此次攻击 。
此次漏洞的关键在于,当要求Alice在myGovID应用程序中输入四位数代码以验证登录时,该应用的用户界面中没有任何内容可以告诉用户请求授权的实体(RP)的名称。爱丽丝认为她同意登录nottrustworthy.com,但是myGovID系统(IdX和IP)都在从AlicesTaxService.gov.au传达攻击者的授权请求。
警惕的用户可以检测到这种攻击,因为他们对协议足够了解,知道他们仅需受 mygovid.gov.au 的 4 位代码(并且知道如何检查 TLS)。但是我们认为这一类用户很少,因为这是一种反直觉的协议,旨在相对于用户习惯逆转信息流。
4 缓解措施 短期的缓解措施是在收到身份验证时,告诉用户哪个网站正在请求登录。而长远来看, 可信数字身份框架(TDIF) 及其所有当前实现应被弃用,替换为一种开放标准(如 OpenID 连接)或具有现有安全公钥基础结构的国家/地区(例如比利时或 爱沙尼亚)为模型的协议 。 建议用户在对协议进行修补之前不要使用myGovID系统,如果必须使用,请确保仅从mygovid.gov.au网站接收4位代码。但这对于大多数用户而言不太切实,因为他们将很难识别具有正确URL的安全网站。![6bd2d9f3118244571bad8e3801405789.png](https://i-blog.csdnimg.cn/blog_migrate/469bbd6ee0f27bb0359ae8fe4261f021.png)
END