Google OAuth與幽靈帳號

有時候公司會倚靠Google OAuth對用戶進行身份驗證,但如果盲目假設它是全能和智能,便有機會「Sign in with Google」而引發嚴重漏洞,Google OAuth容許已離職的員工存取公司資源,而利用臭蟲連陌生人也能取得存取。

Google OAuth登入的問題

有關的安全漏由幾個因素所組成,首先是Google容許用戶利用任何電郵創建Google帳號而不限於Gmail,要登入到公司的Google Workspace,通常會用到公司域名的電郵地址,例如公司名叫Example Inc.,加上員工的名字在前方便會成為alanna@example.com。其次是Google(以及其他網上服務)支援子地址,容許在現有的電郵地址中間加入(+)號,而且不受限制,好處是可以管理電郵的流向,例如網上銀行帳號便使用alanna+bank@example.com,電訊公司則用alanna+telco@example.com,儘管不同的地址,但所有電郵都會送到相同的收件箱alanna@example.com。

第三是很多工作平台,例如Zoom和Slack會使用登記Google帳號時使用的電郵地址特定域名,例如連線Example Inc.的workspace example.slack.com,便需要@example.com的電郵地址。最後是用戶可以在Google帳號更改電郵地址,配合子地址的話就是alanna+whatever@example.com,可以使用alanna@example.com登記新的Google帳號,結果造成兩個不同Google帳號都能夠經由google Oauth登入到Example Inc.工作平台,問題是公司Google Workspace管理員並不會發現第二個電郵地址,即是不能刪除或關閉有關帳號,造成已離職的員工仍能存取公司資源。

無需初始訪問便利用Google OAuth安全漏洞

理論說完了,在現實中有幾可行?研究人員在自己公司的Slack和Zoom中,測試利用Google OAuth安全漏洞的可能性,發現可以創建幽靈帳號,而且無需要是專家,一般用戶也能夠達成,不需要特別知識或技能。特別要注意是有關漏洞並非只限於Slack和Zoom,所有使用Google OAuth驗證的工具都受影響。在某些個案,攻擊者甚至沒有公司電郵的初始存取,仍能存取公司的雲端工具,而Zendesk的工單處理系統就是其中之一。

由於服務容論透過電郵提交請求,有公司域名的電郵地址便會應請求而創建,而請求的創立人(可以是任何人)能看到所有相關請求的所有內容,藉此就能獲得確定連結,繼而登入到目標公司的Zoom和Slack帳號之內。

防範Google OAuth安全漏洞

雖然研究人員透過Google的臭蟲獎金計劃向公司匯報,也得到獎金(1337美元),但被定為低優先和嚴重性,研究人員也向部份網上服務供應商匯報,但似乎無人急於進行修復,防範的工作就落到公司工作平台的管理員肩上,幸好大部份個案只要關閉「Sign in with Google」選項就能完事,如果想進一步防範更深入的滲透公司資訊設施,可以考慮較為節省資源與人力的Kaspersky Managed Detection and Response方案。

資料來源:Kaspersky Blog