按 Enter 到主內容區
:::

TWCERT-電子報

:::
發布日期:
字型大小:

身分驗證整合平台Auth0修補token參數核驗破綻與CSRF瑕疵

CVE編號 CVE-2018-6873 CVE-2018-6874
影響產品 Auth0 authentication 14591以後版本 /Auth0 Lock 11.0.0之前版本/ Auth0 auth0.js 9.0.0之前版本
解決辦法 (1)Auth0開發套件與函式庫覆寫至Lock 11.0.0與auth0.js 9.0.0。

(2)於Auth0管控儀表板,停用Legacy Lock API旗標

張貼日 2018-04-12
上稿單位 TWCERT/CC

●概述:
為整合平台間複雜的身分驗證,大型‘Identity-as-a-service’供應商Auth0扮演代理人角色,幫助開發人員連通自家系統和第三方,融合現行主流authentication(認證)和authorization(授權)協定,當第三方登入之際,Auth0的API封裝授權協議,提供統一介面,完成用戶認證流程,再回應系統是否認證成功,經Cinta Infinita研究員滲透測試,查Auth0 authentication出現嚴重安全破綻,藉由token-based認證,駭客得以繞過JSON Web Token(JWT)之audience參數檢查,將token移花接木假冒他人,越權獲得暨控制資料;另啟動Legacy Lock API旗標之租戶,恐在驗證帳密後,HTML表單遭截獲,令受害者連線被非法帳號頂替,行動遭駭客一覽無遺,綜合前述弱點,攻擊者循不同社交軟體媒介,可接觸目標系統之入口並實施攻擊,估計全球逾2000企業以日均4200萬次登入量,依賴Auth0服務平台,漏洞影響幅員頗鉅,所幸Auth0於獲報4小時內補強JWT audience參數檢查功能,另宣布將於今年7月16日強制停用Legacy Lock API。
●編註:
(1)Auth0認證平台瑕疵
(1-1)JWT audience參數未受核驗
在Auth0驗證服務中某段流程,將JWT放行給終端用戶/login/callback鑑別介面,token內容可資參考audience參數,該參數涉及Auth0租戶資訊,囿於Auth0並未適當核驗audience參數,使得配賦給特定租戶的token可被移花接木,用於旁人,畢竟Auth0客戶資料庫可被所有租戶存取,只要有正式身分證號即可產生token,駭客僅須掌握受害租戶身分證資料,趁audience檢查鬆散,登入連線後系統誤認駭客為受害租戶,值得關注者,若攻擊者用社交工程手法,取得租戶授權管理者識別碼,可擴權管理Auth0客戶資料庫,悉數閱覽客戶資料。
(1-2)跨站台請求偽冒
服務租用戶,若在控制儀表板上能顯示Legacy Lock API旗標,意即Legacy Lock介面被啟動,將面臨CSRF風險,按照身分驗證原理,用戶填入帳密後,一份HTML表單會交付給用戶瀏覽器且自動執行,使用POST將JWT送至/login/callback介面,此際受到跨網域session管控限制,不會直接處理token內含使用者識別訊息,而當下欠缺session綁定,容易被偽冒請求詐騙,擁有正式用戶憑證之攻擊者,若能截獲上述HTML表單,繼而採社交工程或滑鼠點擊劫持等伎倆,控制受害瀏覽器執行HTML表單,則受害租戶竟被視作駭客所持帳號登入,受害者所作所為,駭客皆可得見,但駭客並非取得受害者既有權限,故駭客在系統內帳號權限過低,也無法檢視受害者高權限作業,且既然受害租戶被系統鑑定為駭客所持帳號,在帳號圖示或作業環境應有蛛絲馬跡,可以識破惡意行為。
(2)JSON Web Token(JWT)簡介
JWT是一種開放標準(RFC 7519),在網路服務的身分認證協定中,傳遞常見的權杖(token),有助於在前後端分離環境,安全地實踐用戶登入,JWT結構包含表頭(Header)、載荷(Payload)、簽名(Signature)等3部分,因JSON編碼體積小,傳送快,JWT又能用於internet廣泛應用,減輕多平台用戶(尤其是移動端)對JSON Web Token的處理難度,而其應用層面有二:
(2-1)信息交換
JSON Web Token係介於多方傳輸信息的技術,經過簽名可確認發送方真實身分,另簽名是由Header和Payload計算而得,故能驗證信息是否遭篡改。
(2-2)身份驗證
此為最主要應用方式,若用戶密碼成功登入,server傳回JWT並存放用戶端本機,用戶接收token,無論何時用戶想要訪問服務資源,客戶端請求必包含JWT,方可觸及資源,此屬無狀態(stateless)的認證機制,用戶狀態未存放在server,server會檢查Authentication表頭中JWT之合法性,也因JWT自我包含相關信息於內,減少查詢資料庫頻率。

回頁首