因使用域名過期郵箱,數千 npm 帳號面臨被輕易劫持風險
微軟和北卡羅來納州立大學去年合作開展了一個學術研究項目,研究人員通過分析上傳到 Node Package Manager (npm) 的大約 163 萬個庫的元數據,發現數千名 JavaScript 開發者正在使用域名過期的郵箱作為其 npm 帳戶,從而導致他們托管在 npm 的項目會輕易被劫持。
據稱,npm 上所有用戶的郵件地址都是公開的。通過請求個人資料頁面即可返回郵件地址:
npm 是最大的 JavaScript 軟件包倉庫。研究人員發現 2818 名項目維護者的帳戶仍在使用域名過期的郵箱地址,而部分過期的域名正在 GoDaddy 等網站上出售。因此研究人員認為,攻擊者可通過購買已過期的域名,然后在郵件服務器上重新注冊這些維護者的地址,從而實現重置維護者的帳戶密碼并接管 npm 軟件包。
下面的圖片展示了一名開發者嘗試接管ajv-formats軟件包(維護者是additiveamateur)并成功“劫持”的過程:
0. 首先是獲取帳戶的注冊郵件地址:carlo[@]machina.bio
1. 購買已過期的域名:machina.bio
2. 通過域名接管了帳戶的郵件地址后,嘗試重置密碼:
此步驟遭遇了一些問題,但開發者通過聯系技術支持得到解決:
最后成功重置了ajv-formats軟件包維護者的帳戶密碼:
登錄并成功接管項目:
研究人員表示,他們在研究報告發布前將其研究結果發送給了 npm 安全團隊,雖然對方沒有反饋,但在研究報告正式發布前,npm 宣布了逐步為開發者帳戶強制執行 2FA(雙因素認證)的計劃。
本文轉自OSCHINA
本文標題:因使用域名過期郵箱,數千 npm 帳號面臨被輕易劫持風險
本文地址:https://www.oschina.net/news/182636/npm-accounts-use-email-addresses-with-expired-domains