利用廢棄網域攻擊Google OAuth

較早前Google OAuth被發現存在安全漏洞,讓攻擊者能透過廢棄的網域存取已解散組織的帳號,是繼通過「Sign in with Google」繞過公司Google Workspace管理員的控制後,另一個值得機構關注的安全隱憂。

「Sign in with Google」的運作方式

有些機構可能會認為「Sign in with Google」有Google的先進科技提供可靠的驗證機制,並兼備監察用戶的能力,然後現實中的Google OAuth驗證檢查其實頗為基本,只是驗證用戶是否擁有與機構的Google Workspace相連的電郵地址存取權限,而且無需要是Gmail地址(Google帳號可以連繫任何電郵地址),所以經由「Sign in with Google」存取機構服務的安全性,與連繫到Google帳號的電郵相同。

透過廢棄網域使用「Sign in with Google」

另外,攻擊者也可以單憑一個該公司網域內的電郵存取權,就能未經授權存取公司的服務,如果公司已停止運作並放棄其域名的話,要做到這一點相當容易,因為任何人都可以註冊該域名,之後在該域名下隨意創建電郵地址,再用它登入前域名持有機構所使用的服務,即使攻擊者輸入的地址從未被使用,部份服務可能會顯示連繫機構Workspace的真實用戶清單。擁有該清單再加上完全掌控所有廢棄網域內的所有電郵地址,攻擊者就能重新架構已停止運作公司的原本Google Workspace,成功以Google OAuth作為憑證來存取前單工的檔案。

問題的嚴重性

揭露這次Google OAuth安全漏洞的研究人員Dylan Ayrey,主要是希望展示潛在後果的嚴重性,利用Crunchbase的數據,展示了一份超過10萬家已結業初創公司,而他們的域名現正出售。Dylan購買了其中一個作為測試,利用有關的漏洞存取了公司的服務,包括Slack、Zoom、Notion、ChatGPT和HR系統,這攻擊方式不但簡單,所需的資源也極少,就能獲得豐富的機密資料,從員工通訊和便利至HR系統內的個人資料都全部入手,據估計,大約50%初創公司使用Google Workspace,假設平均每家結業初創大約10名員工,市面上便流傳著過百萬個漏洞帳號。

誰的責任和解決方法?

Dylan負責任地已經把有關安全漏洞通知Google,同時也建議了一個長遠的解決方案,為Google帳號和Google Workspace創建真正永久和唯一的識別碼,可惜被評為無需修復,並標誌成「fraud or abuse」。不過在Dylany於黑客會議上發佈他的發現後數個月,該報告戲劇情地重新開啟,而他也從Google的漏洞賞金計劃中獲得$1337,屬於最低的獎金級別。

據說Google承諾修復Google OAuth的安全漏洞,但沒有定下時間和方法,所以「Sign in with Google」機制的問題仍然未解決,潛在受害者包括所有已結業機構而失去帳號控制的前員工,而且沒有人為這些帳號安全負責。比較好的處理方法是機構在事前採取預防性考量,可惜只有很少初創會認真考慮自己的結業問題,更別說往後發生的事。

幸好防範Google OAuth安全漏洞相對直接,而且兩個選項沒有互相抵觸:

  • 使用傳統的登入名稱和密碼來取代「Sign in with Google」,並啟動兩重登入驗證。
  • 如果不幸公司停止營運,不要廢棄公司服務中的workspace,而是刪除他們,其實過程沒有想像中困難。

資料來源:Kaspersky Blog