自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

不破壞依賴樹的情況下修復(fù)間接漏洞

安全 數(shù)據(jù)安全
在本文中,我們將引導(dǎo)您了解如何手動解決傳遞性漏洞,并在最后向您展示 Debriked 解決方案,它允許您自動完成。如果您真的只是對解決方案感興趣,我建議您開始滾動。

?修復(fù)間接漏洞是一項復(fù)雜、乏味且坦率地說是沒有人真正想接觸的無聊任務(wù)。當(dāng)然,有很多方法可以手動完成,但是否可以自動完成而將破壞更改的風(fēng)險降至最低?

布滿脆弱樹木的森林

那么,你甚至從哪里開始呢?

首先,需要有一種方法來修復(fù)漏洞,對于間接依賴而言,這種方法是行不通的。其次,它需要以安全的方式完成,或者沒有任何破壞。

你看,間接依賴關(guān)系是在依賴關(guān)系樹的深處引入的,要得到你想要的確切版本是非常棘手的。正如 Debricked 的研發(fā)主管曾經(jīng)說過的那樣,“你正在通過玩弄你的直接依賴項并祈禱 Torvalds 解決正確的間接包來轉(zhuǎn)動旋鈕。當(dāng) Torvalds 對你有利時,你必須犧牲一些云存儲給叔叔Bob 確保更新不會破壞您的應(yīng)用程序?!?/p>

換句話說,確實應(yīng)該有一種更簡單、壓力更小的方法來做到這一點。

在本文中,我們將引導(dǎo)您了解如何手動解決傳遞性漏洞,并在最后向您展示 Debriked 解決方案,它允許您自動完成。如果您真的只是對解決方案感興趣,我建議您開始滾動。

對依賴樹進(jìn)行精確手術(shù)

在圖數(shù)據(jù)庫項目的研究階段,或者說,今天 Debricked 如何以光速修復(fù)您的開源漏洞,團(tuán)隊偶然發(fā)現(xiàn)了一些解釋如何修復(fù) NPM 中的間接漏洞的文章。

如文章所述,`minimist` 軟件包受漏洞影響,即CVE-2021-44906和CVE-2020-7598。

這些都是“原型污染”漏洞,這意味著沒有正確清理參數(shù)。幸運的是,`minimist` 的維護(hù)者在 1.2.6 版本中修復(fù)了這些漏洞。

圖片

不幸的是,`mocha` 版本 7.1.0 解決了`minimist` 0.0.8,這是在這些漏洞的易受攻擊范圍內(nèi)。正如本文作者所建議的,可以通過幾種不同的方式修復(fù)這些漏洞。

突破性的變化?

第一個建議是簡單地觸發(fā)所有“間接依賴項”的更新,這意味著我們實際上不會更改 `mocha` 的版本。要執(zhí)行此更新,只需運行“npm update”,刪除你的“npm.lock”文件,然后運行“npm install”。這將使用您的間接依賴項的最新可能版本(根據(jù)約束)重新生成依賴項樹。使用這種方法,破壞更改的風(fēng)險非常低,因為您實際上不會更新任何根依賴項,而只是更新您的間接依賴項。

當(dāng)包的功能或接口不向前兼容時,就會發(fā)生重大更改,這意味著包的更新可能會導(dǎo)致您的應(yīng)用程序中斷。常見的重大更改是類/函數(shù)刪除、函數(shù)參數(shù)更改或許可證更改(注意那個?。?。

但生活并不總是那么容易,樹的這種簡單更新并不能解決漏洞。問題是 `mkdirp`實際上已將他們的 `minimist` 版本鎖定為 0.0.8。這意味著 `mkdirp` 的貢獻(xiàn)者已經(jīng)得出結(jié)論,他們與較新版本的 `minimist` 不兼容,并且強制更新 `minimist` 可能會在 `mkdirp` 和 `minimist` 之間引入破壞性更改。

應(yīng)該使用什么版本的 `mocha`,進(jìn)而在不破壞依賴關(guān)系樹的情況下滴流到安全版本的 `minimist`?

什么圖算法可以解決這個問題?NPM 如何解決依賴關(guān)系可能有點復(fù)雜,因為它們可以“拆分”依賴關(guān)系樹。這意味著它們可以擁有一個依賴項的多個版本,以確保我們始終擁有一棵兼容的樹。為了解決這個漏洞,我們需要通過更新所有可以滲透到 `minimist` 的根來確保 `minimist` 的所有實例都是安全的。

用于解決此問題的算法稱為“所有最大路徑安全”。通過遍歷依賴圖并保持最大版本,同時在每個交叉點修剪該包的所有其他版本,我們可以創(chuàng)建依賴樹的近似表示。如果近似值是安全的,那意味著我們真正的樹也是安全的!

通過對“mocha”的所有潛在版本執(zhí)行此算法,我們找到了修復(fù)此漏洞的最小升級。為了獲得我們想要的算法速度,團(tuán)隊必須構(gòu)建一個自定義的Neo4j 程序,它可以在約 150 毫秒內(nèi)處理搜索超過 100 個根版本,搜索深度為 30+。速度快吧?

在這種情況下,我們不必搜索很遠(yuǎn)……因為 `mocha` 的 7.1.1 是安全的!這只是一個補丁更新,這表明破壞更改的風(fēng)險非常低。對于不太復(fù)雜的情況(如本例),“npm audit”可以幫助您使用他們出色的“npm audit fix”命令。

責(zé)任編輯:武曉燕 來源: 河南等級保護(hù)測評
相關(guān)推薦

2019-09-03 09:55:48

DevOps云計算安全

2018-06-27 23:10:12

數(shù)據(jù)中心IT管理運維

2009-04-28 18:59:56

LinuxWindows體驗

2020-06-30 10:35:31

安全漏洞開源

2019-07-26 11:51:20

云計算IT系統(tǒng)

2016-12-28 19:16:55

大數(shù)據(jù)數(shù)據(jù)庫技術(shù)

2016-12-30 14:01:44

數(shù)據(jù)庫投入

2023-03-27 13:00:13

Javascript前端

2020-03-05 13:44:58

暗網(wǎng)威脅情報網(wǎng)絡(luò)攻擊

2021-12-03 10:07:29

網(wǎng)絡(luò)安全內(nèi)存漏洞

2010-07-30 15:32:23

2010-06-30 10:55:13

SQL Server日

2023-11-23 23:52:06

options請求瀏覽器

2021-11-12 21:15:47

前端技術(shù)編程

2010-04-25 17:34:30

負(fù)載均衡實現(xiàn)

2010-10-22 17:26:55

SQL Server刪

2020-04-02 11:16:28

Linux進(jìn)程高并發(fā)

2010-07-13 16:07:26

SQL Server行

2010-10-22 17:22:05

sql server刪

2021-10-26 15:59:18

WiFi 6WiFi 5通信網(wǎng)絡(luò)
點贊
收藏

51CTO技術(shù)棧公眾號