Socket——通過下一代包分析保護開源軟件免受供應鏈攻擊
已發表: 2022-05-30隨著互聯網的出現和無處不在,企業越來越依賴數字化在當今的商業環境中生存和發展。 但是隨著技術進步帶來的優勢,這些企業需要應對的問題。 網絡安全違規對公司來說是一個重大問題,可能會造成很大損失。 因此,為了解決這個問題,Socket 推出了其網絡安全平台,以幫助公司保護自己免受軟件供應鏈攻擊。 這些企業使用網絡安全平台來保護其軟件應用程序和關鍵服務免受源自開源代碼的惡意軟件和安全威脅。
另請閱讀:資源管理對小型企業很重要的 7 個原因
該公司由 Feross Aboukhadijeh 創立,成立於 2021 年,其願景是保護公司的開源生態系統。 它的重點是開源軟件,它使團隊能夠在更短的時間內構建強大的應用程序。 此外,小組中的任何人都可以檢查代碼並為代碼做出貢獻。 Aboukhadijeh 意識到,作為一個普遍信任的社區,一些攻擊者利用這種信任和開放性來進行無恥的供應鏈攻擊。 開源惡意軟件的規模出現了前所未有的增長。 這就是關於持續使用開源軟件的擔憂的增長速度。
嘗試過且受信任的方法無法保護開源是有原因的。 整個安全行業一直專注於掃描已知漏洞,這是阻止主動供應鏈攻擊的一種過於被動的方法。 暴露可能需要數週或數月才能被發現。
在當今快速開發的文化中,惡意依賴可以在幾天甚至幾小時內更新、合併並在生產中運行。 沒有足夠的時間來創建 CVE 並使其進入團隊使用的漏洞掃描工具。
供應鏈攻擊和漏洞非常不同,它們需要非常不同的解決方案:
️ 漏洞是由開源維護者意外引入的。 有時,如果影響較小,可以將漏洞發佈到生產環境。
️ 供應鏈攻擊是攻擊者故意引入的。 發送惡意軟件來展示是絕對不行的。 您必須在安裝或依賴它之前捕獲它。
想要解決供應鏈攻擊的團隊目前有兩種選擇:
- 進行全面審計——閱讀所有依賴項中的每一行代碼。 很少有公司這樣做,但這是防止供應鏈攻擊的黃金標準。 需要一個全職團隊來管理這個過程——審計、更新、許可名單和應用關鍵安全補丁。 除了最知名的公司或最安全的關鍵應用程序之外,這種方法對所有人來說都是遙不可及的。 工作量大,速度慢,而且成本高。
- 什麼都不做——交叉手指,希望最好。 這是大多數團隊採取的選擇。 在大多數單元上,任何開發人員都可以安裝任何依賴項來完成工作,甚至沒有人在批准拉取請求之前查看這些依賴項中的代碼。 正如您所料,這種方法使公司完全容易受到供應鏈攻擊。
這兩種方法都不理想。
另請閱讀:軟件測試成為當今職業發展領域的 10 個原因
在開發 Wormhole 應用程序(一種端到端的加密文件傳輸工具)時,該公司在供應鏈攻擊的持續衝擊中遇到了選擇、管理和更新開源依賴項的挑戰。 這導致需要一個可怕的解決方案來解決這個問題。 因此,該公司調查了攻擊者在破壞程序包後的實際行為。 JavaScript 生態系統中幾乎所有的供應鏈攻擊都遵循一個熟悉的模式。 一旦攻擊者控制了一個包,他們就會添加安裝腳本、網絡連接、shell 命令、文件系統訪問或混淆代碼。 其他人則使用社會工程學,例如拼寫錯誤; 這為解決方案提供了正確的方向。 創新的解決方案假定所有開源軟件包都可能是惡意的,並且會向後工作以主動檢測受損軟件包的跡象。 該公司尋求在不損害可用性的情況下減輕這種風險的最簡單方法。 因此,他們著手幫助開發人員在不犧牲開發速度的情況下安全地使用開源。 在接下來的幾個月裡,Socket 憑藉其流行的開源軟件包應運而生。

該公司可以通過靜態分析開源軟件包及其依賴關係來檢測供應鏈攻擊的跡象。 然後,當包以安全相關的方式發生變化時,它會提醒開發人員,突出顯示安裝腳本、混淆代碼或使用特權 API(如 shell、網絡、文件系統和環境變量)等事件。 例如,為了檢測一個包是否使用網絡,Socket 會查看 fetch()、Node 的 net、dgram、DNS、HTTP 或 HTTPS 模塊是否在包或其任何依賴項中使用。 如果軟件包的新版本——尤其是次要版本或補丁版本——添加了與網絡通信的代碼,這是一個巨大的危險信號。 因此,包問題被檢測到。
客戶對公司的數字產品和服務的反應非常好! 自成立以來的兩個月內,該公司一直在保護數千個組織和數万個存儲庫。
該公司的客戶包括希望保護自己免受攻擊的企業。 通過安裝公司應用程序,只需幾分鐘即可免受供應鏈攻擊。
下一個故事:Kaaruka——藝術愛好者的新鮮服裝品牌!
給客戶和觀眾的信息:
“開源庫比以往任何時候都更受歡迎。 由於開源代碼佔大多數代碼庫的 80-90%,因此有效管理它以降低組織的安全風險至關重要。 軟件供應鏈攻擊在過去一年呈爆炸式增長,開源組件越來越多地被用作向量。 在未經適當審查的情況下使用第三方依賴項可能會導致黑客攻擊、違規和各種安全問題。 Socket在災難發生前檢測供應鏈攻擊,實時預防開源代碼帶來的安全問題。 Socket 提供的不僅僅是基本的漏洞掃描。 通過直接集成到開發人員工作流程中,Socket 可以防止您意想不到的攻擊——惡意軟件、隱藏代碼、拼寫錯誤和誤導性軟件包。 Socket 通過告訴開發人員他們正在使用什麼開源、正在做什麼(或可以做什麼)以及哪些組件的風險最高,從而幫助開發人員負責其依賴項的健康。 通過直接在 GitHub 和其他源代碼控制系統中顯示安全信息,開發人員可以在將其投入生產之前避免安全問題。”