首页 > 解决方案 > FileVault登录的MacOS授权插件奇怪行为

问题描述

我在使用我们插入到授权数据库中的 macOS 授权插件时遇到了奇怪的行为。当我们从 macOS 定期注销和登录时,该插件运行良好。

当我们直接从 FileVault 登录(并启用自动登录)登录时,奇怪的行为就开始了。如果用户正在取消我们的插件(我们的插件在他插入用户+密码后显示一个 UI 视图作为登录的一部分)并且用户返回到密码插入屏幕,他可以插入任何他想要的密码,系统将保存这个密码作为该用户的新密码(替换旧密码),然后再次触发我们的插件,而不是插入密码并继续我们的插件的常规流程。我从未见过这种用户在登录过程中插入密码的行为,它只会将他插入的任何密码保存为新密码(安全漏洞?)。这是我们的机制链:

    <string>builtin:policy-banner</string>
    <string>loginwindow:login</string>
    <string>builtin:login-begin</string>
    <string>builtin:reset-password,privileged</string>
    <string>loginwindow:FDESupport,privileged</string>
    <string>builtin:forward-login,privileged</string>
    <string>builtin:auto-login,privileged</string>
    <string>builtin:authenticate,privileged</string>
    <string>PKINITMechanism:auth,privileged</string>
    <string>builtin:login-success</string>
    <string>loginwindow:success</string>
    <string>HomeDirMechanism:login,privileged</string>
    <string>HomeDirMechanism:status</string>
    <string>MCXMechanism:login</string>
    <string>CryptoTokenKit:login</string>
    <string>our-auth:prepare,privileged</string>
    <string>our-auth:main</string>
    <string>our-auth:cleanup,privileged</string>
    <string>loginwindow:done</string>

所以,总结一下流程:

  1. 用户打开 Mac 电源并插入 FileVault 密码。
  2. 解密过程完成后,我们的插件触发。
  3. 用户在视图中取消了我们的插件,因此视图被删除,用户返回密码插入屏幕。
  4. 用户可以插入他想要的任何密码(它不会向他提及他正在更改或更改密码)。
  5. 我们的插件作为链的一部分再次触发。
  6. 用户批准我们的插件并登录。
  7. 尝试使用旧密码不起作用。从那一刻开始,只有新密码才起作用。

我必须说,只有在用户第一次尝试取消我们的插件时才会发生这种情况。如果他不取消插件,它将继续使用当前密码。

有人可以帮我理解为什么会这样吗?

标签: macossecurityauthenticationauthorizationfilevault

解决方案


推荐阅读