近期,熱門線上課程平台 Coursera 被發現有漏洞。這個問題源於其應用程式介面 (API),據信駭客可能利用了名為「BOLA」的漏洞來了解用戶的課程偏好並影響其課程選擇。
此外,據信最近披露的漏洞在修復前可能已經洩露了用戶資料。這些漏洞是由應用安全測試公司Checkmarx的研究人員發現的,並於上周公布。
這些漏洞與 Coursera 的各種應用程式介面有關,由於 COVID-19 疫情導致線上工作和學習的普及,Coursera 越來越受歡迎,因此研究人員決定深入研究 Coursera 的安全性。
對於不熟悉 Coursera 的人來說,應該知道這是一家擁有 82 萬用戶、與 200 多家公司和大學合作的公司。 值得注意的合作夥伴包括伊利諾伊大學、杜克大學、谷歌、密歇根大學、國際商業機器、倫敦帝國理工學院、斯坦福大學和賓夕法尼亞大學。
我們發現了多個 API 問題,包括透過密碼重設功能列舉使用者/帳戶、 GraphQL 和 REST API 資源不足導致功能受限,以及 GraphQL 設定錯誤。其中,物件級授權問題尤其突出。
當作為普通用戶(學生)與 Coursera Web 應用程序交互時,我們注意到最近查看的課程顯示在用戶界面中。 為了表示此信息,我們檢測到同一端點的多個 API GET 請求:/api/userPreferences.v1/[USER_ID-lex.europa.eu~[PREFERENCE_TYPE}。
BOLA API漏洞被描述為會影響使用者偏好設定。利用此漏洞,即使是匿名用戶也能取得甚至更改用戶偏好設定。某些偏好設置,例如最近瀏覽的課程和證書,也會洩露元資料。 BOLA API缺陷可能會暴露處理物件識別碼的端點,可能引發更廣泛的攻擊。
“這個漏洞可能被濫用來大規模了解一般用戶的課程偏好,但也會以某種方式扭曲用戶的選擇,因為對他們最近活動的操縱影響了主頁上顯示的特定內容用戶,”研究人員解釋說。
“不幸的是,API 的授權問題很常見,”研究人員說。 “將訪問控制驗證集中在單個組件中非常重要,經過良好測試、持續測試和積極維護。 新的 API 端點或對現有端點的更改應根據其安全要求進行仔細審查。”
研究人員指出,授權問題在 API 中很常見,因此集中訪問控制驗證很重要。 這樣做必須通過一個單一的、經過良好測試的、持續的維護組件來完成。
10月5日,Cherkmarx將發現的漏洞提交給了Coursera的安全團隊。 10月26日,Coursera確認收到報告並正在處理。隨後,Coursera致函Cherkmarx,表示已於12月18日至1月2日期間解決了這些問題,之後又提交了一份包含新問題的複測報告。最終,在5月24日,Coursera確認所有問題都已修復。
儘管從披露到糾正需要相當長的時間,但研究人員表示,與 Coursera 安全團隊合作很愉快。
“他們的專業精神和合作,以及他們所承擔的迅速所有權,是我們與軟件公司合作時所期待的,”他們總結道。
資料來源:https://www.checkmarx.com