密碼不夠安全如今已成為IT界的共識,紛紛尋求各種強化身分認證的方式或替代的作法。以程式碼共享平台GitHub為例,他們在5月4日宣佈新政策,要求所有在GitHub.com貢獻程式碼的使用者,須於2023年底啟用雙因素驗證(2 factor authentication,2FA)。
GitHub安全長Mike Hanley指出,密碼驗證已不足以提供防禦,因此,他們這幾年來陸續提升身分防護機制。例如,在2019年,他們要求使用者若未在GitHub啟用雙因素驗證,想經由陌生裝置存取GitHub,需透過電子郵件傳送驗證碼的方式來進行身分查核;2020年11月,他們強制要求所有Git操作及API呼叫,都需要透過權杖進行身分驗證(token-based authentication),用户可使用個人存取權仗、OAuth權仗,或是GitHub App安裝的權仗,向系統證明自己是合法使用者。

此外,有鑑於GitHub開發者帳號因未啟用雙因素驗證而遭到冒用,導致NPM套件被置換的狀況,GitHub也在2021年11月投入NPM帳號安全性強化的工程,逐步要求NPM套件須實施雙因素驗證,希望能盡力提升所有開發者帳號的安全性。

NPM套件維護者帳號2FA啟用率偏低,已陸續強制推動
多年以來,大型軟體與雲端服務業者持續呼籲所有使用者,應積極採用這類強化身分驗證方式,例如,在2019年,微軟強調多因素驗證(MFA)可阻擋99.9%以上的帳號滲透攻擊;今年2月,Google也表示兩階段驗證(2SV)能將帳號遭到滲透的比例,降至50%,不過,就整個軟體生態系而言,採用雙因素驗證的比例仍然偏低。以目前來看,他們發現在GitHub的活躍用户當中,僅有16.5%使用2FA,NPM用户採行2FA的比例更只有6.44%。
為此,GitHub決定展開幾波強制實行2FA的行動。自今年2月1日起,這個開發平台將針對前1百大NPM套件的所有維護人員,強制啟用2FA;到了3月,他們將所有NPM帳號設置成強化登入驗證的組態;而在5月底之前,前5百大NPM套件所有維護人員也將被強制啟用2FA。
他們表示,最終將要求具有高影響力的套件的維護者配合,但有哪些套件是「高影響力」?GitHub也公佈具體條件與執行時程,以適用的軟體套件而言,一種是與其相依的模組超過500個的套件,另一種是每週下載次數超過100萬的套件;至於政策啟用的時間,是今年第三季,屆時這些軟體的維護人員帳號都將強制導入2FA保護政策。
而針對NPM套件實施2FA的過程當中,GitHub也獲取了不少實務經驗,他們將秉持這些歷練所學習的作法,努力推廣到整個GitHub.com。
GitHub呼籲開發人員儘速啟用2FA驗證,未來幾個月內會公佈更多細節及時程,也會設法改善用户的體驗。
從平台維運者的角度而言,強制所有人啟用2FA驗證勢在必行,但我們還是可以超前部署,不需等到業者來強制套用。以GitHub的個人用户而言,可以使用他們推出的GitHub行動App,就能進行相關設定;

若是GitHub的組織或企業用户,管理者可以透過設定,要求參與的成員或員工使用2FA。值得注意的是,一旦組織或企業啟用這樣的設定之後,未啟用 2FA的成員甚至專案負責人就會從既有的組織或企業當中移出。