為了簡化使用者必須逐一申請、記憶各式網頁應用程式帳號密碼的不便,採用OAuth身分驗證機制的作法,讓使用者只要透過臉書、Google、推特等服務的帳號,就能存取網站服務的做法,也越來越普遍,然而,一旦網站開發者實作不夠完整,就有可能讓攻擊者有機可乘,發動類似帳號填充(Credential Stuffing)的手法,透過某些看似合法的管道取得Token,就有機會存取使用者透過OAuth進行身分驗證的其他網路服務。

這種情況資安業者Salt Security今年3月開始提出警告,當時他們針對訂房網站Booking.com,以及開發人員用於建置OAuth驗證功能的框架Expo,說明這種漏洞的危險性。到了最近,他們一口氣公布3個存在類似漏洞的網站服務,強調這種漏洞可能廣泛存在多種網路服務當中。

研究人員於今年2月至4月發現,有多個線上服務的OAuth身分驗證措施存在嚴重的資安漏洞,這些平臺包括:文法檢查服務Grammarly、印度影音串流服務Vidio、印尼電子商務網站Bukalapak。此漏洞可能導致攻擊者得以竊取使用者的身分,或是竊取信用卡資料、私人訊息、健康記錄等各式個人資料,也有可能將相關資料拿來進行財務詐騙的行為。

研究人員揭露駭客如何「合法」取得使用者OAuth身分驗證所需的Token,攻擊者架設可透過臉書、Google等網站的帳號存取的網站服務(YourTimePlanner.com),由於攻擊者是網站的所有者,他們理所當然能夠取得所有存取該網站服務的Token,而有機會將其用於挾持使用者的其他服務帳號。

以Grammarly為例,當使用者試圖透過臉書帳號存取這項服務的過程當中,網頁編輯器會將使用者輸入的資料儲存在帳號裡,研究人員發現存取臉書帳號的OAuth身分驗證流程缺乏Token驗證步驟,而使得攻擊者有機會利用另一個App ID產生的Token,利用臉書帳號來收集用戶的Token,然後對提供服務的網站發動攻擊,進而接管用戶帳號。

研究人員說明文法檢查服務Grammarly進行OAuth身分驗證的步驟,和另外兩種網路服務流程略有不同的是,Grammarly的OAuth驗證方式同時支援Token與程式碼,若是回傳的資料是程式碼,伺服器需要將其轉換成Token來進行後續工作。但研究人員發現仍能利用類似的手法,植入不同網站服務的Token進行攻擊。

Vidio、Bukalapak也有類似的缺陷,而有可能導致網站服務的用戶帳號遭到挾持。上述3家業者獲報後,皆已完成修補。但研究人員警告,類似的弱點也有可能出現在其他採用OAuth的網頁應用程式上。

熱門新聞

Advertisement