OpenSSF和OpenJS基金會共同呼籲所有開源維護者,應該對社交工程接管的嘗試意圖保持警惕,及早辨識出威脅模式,並採取措施保護開源專案。由於OpenJS基金會攔截到類似XZ Utils後門(CVE-2024-3094)的接管企圖,因此兩基金會也提醒開源維護者,XZ Utils後門恐非獨立事件。

OpenJS基金會跨專案委員會收到一系列可疑電子郵件,其中包含許多類似的訊息、不同名稱以及GitHub相關的電子郵件,這些電子郵件要求OpenJS,指定他們為熱門JavaScript專案的新維護者,儘管他們之前幾乎未參與過這些專案。OpenJS基金會指出,這種作法與Jia Tan進入XZ/liblzma專案,植入後門的手法非常類似。

OpenJS團隊在另外兩個非OpenJS基金會管理的熱門JavaScript專案中,發現類似的可疑模式,並已向OpenJS領導層及CISA報告潛在的安全問題。OpenJS基金會認為,雖然開源專案歡迎來自各地任何人的貢獻,但是要授予個人作為維護者,使其擁有程式碼管理存取權限,需更高層級的信任,同時,不能因為想要快速解決問題而犧牲基本原則。

OpenSSF、OpenJS基金會聯合Linux基金會,希望提高開源維護者對這類威脅的警覺,並識別可疑行為,這包括當一些不為人知的社群成員,以友好卻具侵略性的方式接近,試圖建立關係以獲得對維護者或其所屬組織的影響力,該行為可能是社交工程攻擊的一部分。

還有當新加入的人士要求提升成為維護者身分,或來自不知名成員的背書,支持其他不明身分人士的地位或決策,維護者都要特別小心。另外,由於XZ Utils後門包含在一個非人類可讀的檔案中,因此開源維護者也應注意包含二進位檔案的拉取請求。

偏離典型的編譯、建置和部署實踐,都可能使外部惡意程式具有插入到二進位檔案、壓縮檔或其他二進位構件的能力。這些有心人士可能會從看似無害的更改開始,以測試維護者的反應和警覺性,像是把safe_fprintf()替換為fprintf()等,甚至會營造虛假的急迫感,迫使維護者降低審查嚴謹程度或跳過部分控制程序,以快速應對「緊急」情況。

OpenSSF基金會提出一系列可提升開源專案安全的建議步驟,像是遵循標準的安全最佳實踐,採用強身分驗證、雙因素驗證和密碼管理器等。此外,也應該制定安全政策,啟用分支保護和簽章提交,如果條件允許,OpenSSF基金會建議程式碼合併之前,進行雙重程式碼審查,強化程式碼可讀性要求,並且限制NPM發布權限。專案管理員應深入了解提交者和維護者,並定期進行審查。

維護開源專案安全替維護人員帶來不少壓力,雖然許多商業公司仰賴由社群主導的JavaScript專案,但這些專案經常只由小型團隊或單一開發人員維護,而他們獲得的資源非常有限,往往不足以支援相應的工作負擔。為此,多個開源基金會提供資源協助這些開源專案,包括OpenSSF相關專案的Alpha-Omega計畫。德國聯邦政府資助的主權科技基金也正向OpenJS基金會及其他開源組織提供資金,以強化基礎設施與安全。

熱門新聞

Advertisement