日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

揭秘 Python 軟件基金會首位常駐安全人員工作筆記

來源: 責(zé)編: 時間:2023-12-11 17:19:53 257觀看
導(dǎo)讀整理 | 如煙出品 | 51CTO技術(shù)棧(微信號:blog51cto)Python 已成為世界上最流行的編程語言之一,許多 Web 應(yīng)用程序都是使用它構(gòu)建的。然而,隨著受歡迎程度的增加,安全風(fēng)險和漏洞也隨之增加。2023年年初,Python 軟件基金會(Pytho

整理 | 如煙iqE28資訊網(wǎng)——每日最新資訊28at.com

出品 | 51CTO技術(shù)棧(微信號:blog51cto)iqE28資訊網(wǎng)——每日最新資訊28at.com

Python 已成為世界上最流行的編程語言之一,許多 Web 應(yīng)用程序都是使用它構(gòu)建的。然而,隨著受歡迎程度的增加,安全風(fēng)險和漏洞也隨之增加。iqE28資訊網(wǎng)——每日最新資訊28at.com

2023年年初,Python 軟件基金會(Python Software Foundation,PSF)宣布了啟動為期一年的安全增強計劃。6 月,PSF 聘請 Seth Larson 加入 PSF,成為首位常駐安全開發(fā)人員(SDIR)。iqE28資訊網(wǎng)——每日最新資訊28at.com

一、首位駐場安全開發(fā),要做哪些事情

Larson 在 Python 社區(qū)中廣為人知,并且在他的博客撰寫了大量有關(guān) Python 和安全相關(guān)的文章。他在博客中表示:“Python 社區(qū)是我生活中非常重要的一部分,我很感激有這個難得的回饋機會。我期待與大家合作,構(gòu)建一個更安全的Python生態(tài)系統(tǒng)。”iqE28資訊網(wǎng)——每日最新資訊28at.com

據(jù) Larson 介紹,SDIR 的工作職責(zé)包括:iqE28資訊網(wǎng)——每日最新資訊28at.com

  • 對 PyPI 代碼庫和基礎(chǔ)設(shè)施進(jìn)行安全審計
  • 規(guī)范并改進(jìn) CPython、PyPI 和更廣泛的 Python 社區(qū)的安全實踐
  • 解決 CPython 和 PyPI 等 PSF 項目的安全問題,并提高識別和解決未來問題的能力
  • 與其他致力于安全改進(jìn)的貢獻(xiàn)者合作,包括PSF 招聘的新PyPI安全工程師
  • 建立安全態(tài)勢指標(biāo)以顯示影響

Larson 作為 PSF 首位駐場安全開發(fā)人員,目前提出了哪些有關(guān) Python 的安全問題?又是如何解決的呢?我們從 Larson 的博客中提煉出部分內(nèi)容,以供參考。iqE28資訊網(wǎng)——每日最新資訊28at.com

1.Python發(fā)行版中的捆綁庫漏洞

Python 以其作為“粘合”語言的能力而聞名,這要歸功于它的 C API 以及對用 C、C++、Go、Fortran 和 Rust 編寫的庫的訪問。這一特性可能是 Python 廣泛流行的原因之一。但Python 的這種“超能力”對供應(yīng)鏈安全有一定影響。iqE28資訊網(wǎng)——每日最新資訊28at.com

發(fā)現(xiàn)問題:iqE28資訊網(wǎng)——每日最新資訊28at.com

PyPI(Python Package Index,Python 軟件包倉庫)僅托管 Python 發(fā)行版,包括源發(fā)行版和 Wheel 發(fā)行版。iqE28資訊網(wǎng)——每日最新資訊28at.com

想要利用編譯庫的 Python 發(fā)行版要么需要用戶自己安裝這些編譯庫,要么隨發(fā)行版附帶預(yù)編譯庫。必須使用系統(tǒng)包管理器安裝已編譯的庫,然后從源代碼編譯每個包,這對用戶來講真的很不方便。iqE28資訊網(wǎng)——每日最新資訊28at.com

二進(jìn)制Wheel的常見工作流程是并行運行cibuildwheel和auditwheel repair,從而在許多不同的操作系統(tǒng)和架構(gòu)(manylinux、musllinux、macOS、Windows 等)中構(gòu)建 wheel,然后使用auditwheel repair,這樣需要捆綁的庫就會自動捆綁到 wheel 中。iqE28資訊網(wǎng)——每日最新資訊28at.com

看似操作好像更方便了,但在這個過程中,不斷捆綁的庫也帶來了漏洞風(fēng)險,特別是當(dāng)pdftopng包含易受攻擊的libpng版本時(在其他庫中)。iqE28資訊網(wǎng)——每日最新資訊28at.com

這些捆綁的庫不會出現(xiàn)在requirements.txt或pip freeze中,因此審核工具更難了解正在使用的庫和版本。iqE28資訊網(wǎng)——每日最新資訊28at.com

解決方法:iqE28資訊網(wǎng)——每日最新資訊28at.com

軟件物料清單 (SBOM)可以解決以上問題。通過編程方式了解下載的發(fā)行版中包含哪些內(nèi)容,包括非 Python 組件。如果審核工具可以訪問這些 SBOM 以及相關(guān)組件的漏洞來源,就可以檢查發(fā)行版是否不易受到攻擊,包括其子組件。iqE28資訊網(wǎng)——每日最新資訊28at.com

不僅僅是二進(jìn)制庫,pip等軟件包還捆綁了大量Python庫及其源代碼, jupyter-notebook 捆綁了 TypeScript 和 JavaScript。將這些捆綁項目添加到 SBOM 也將有助于工具查找這些捆綁項目的漏洞。iqE28資訊網(wǎng)——每日最新資訊28at.com

2.Sigstore 簽名很混亂

發(fā)現(xiàn)問題:iqE28資訊網(wǎng)——每日最新資訊28at.com

自 Python 3.11.0 版本以來,所有 Python 版本 tarball 均使用 Sigstore 進(jìn)行簽名。iqE28資訊網(wǎng)——每日最新資訊28at.com

給定 Python 版本(即 3.7、3.8 等)的每個發(fā)布經(jīng)理在 Sigstore 信息頁面都有一個身份(電子郵件地址為@python.org)。Sigstore 使用 OpenID Connect,這意味著我們還需要指定一個身份 (IdP) 來驗證簽名。iqE28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片iqE28資訊網(wǎng)——每日最新資訊28at.com

 iqE28資訊網(wǎng)——每日最新資訊28at.com

據(jù)了解,驗證簽名的說明與工件的簽名方式并不一致。我整理了一些簡單的腳本,這些腳本嘗試根據(jù)其簽名驗證每個 Python 版本工件并發(fā)布結(jié)果。其中發(fā)現(xiàn)了一些問題:iqE28資訊網(wǎng)——每日最新資訊28at.com

  • Ned Deily 和 ?ukasz Langa 使用GitHub 的IdP,Pablo Galindo Salgado 和 Thomas Wouters使用 Google 的 IdP。
  • 所有簽名的 ?ukasz 身份都是lukasz@langa.pl,而不是記錄在案的lukasz@python.org。
  • Python 3.11.4 是使用 Pablo 的正確身份進(jìn)行簽名的,但使用的是 GitHub 的 IdP,而不是 Google 的 IdP。
  • Python 3.7.14 是由 Pablo 簽署的,但 Ned 是 3.7 的發(fā)布經(jīng)理。
  • Python 3.8.14和3.9.14已生成簽名,但由于權(quán)限問題而無法訪問python.org/download。
  • Python 3.10.1 和 3.10.7 及以上版本已簽名,但 3.10.0 和 3.10.2-3.10.6 未簽名。不過這很好,因為只有 3.10.7 及更高版本被記錄為已簽名。

解決辦法:iqE28資訊網(wǎng)——每日最新資訊28at.com

根據(jù)這些發(fā)現(xiàn),發(fā)布經(jīng)理采取了以下步驟,以使簽名驗證保持一致:iqE28資訊網(wǎng)——每日最新資訊28at.com

  • Ned 以自己的身份退出了 3.7.14 版本。
  • Pablo 從 3.11.4 退出了 Google IdP。
  • ?ukasz 修復(fù)了 3.8.14 和 3.9.14 的權(quán)限,使簽名可用。
  • 必須清除 CDN 緩存才能使更新可用。

你可以在對上述數(shù)據(jù)集中看到狀態(tài)的變化。此刻需要做的就是在簽名上修復(fù) ?ukasz 的身份。我還在 Python 的發(fā)布工具中打開了一個 PR ,以使 Sigstore 簽名與未來 Python 版本的文檔保持一致。iqE28資訊網(wǎng)——每日最新資訊28at.com

3.證書和信任庫問題

早在 7 月底,certifi 就發(fā)布了關(guān)于刪除 e-Tugra 根證書的 GHSA 公告。該公告有一個關(guān)聯(lián)的 CVE ID,因此最終應(yīng)該會進(jìn)入 PyPA 公告數(shù)據(jù)庫,但自動化無法自動導(dǎo)入它。該問題解決后,pip 能夠獲得 PR 升級證書到最新版本。iqE28資訊網(wǎng)——每日最新資訊28at.com

發(fā)現(xiàn)問題:iqE28資訊網(wǎng)——每日最新資訊28at.com

Certifi 是Python生態(tài)系統(tǒng)中的一個關(guān)鍵包,由于Python的ssl模塊與 OpenSSL 庫的緊密聯(lián)系,它是配置 SSLContext 實例的最常見方式。iqE28資訊網(wǎng)——每日最新資訊28at.com

每當(dāng)根 CA 出現(xiàn)安全問題時,在 pip 中使用 certifi 的后果(特別是由于捆綁)會導(dǎo)致一系列問題:iqE28資訊網(wǎng)——每日最新資訊28at.com

  • Mozilla Root CA Bundle 中發(fā)生刪除。
  • Certifi 捆綁了 Mozilla Root CA Bundle,需要更新、咨詢和新版本的 certifi。
  • Pip 捆綁了 certifi,需要新版本的 pip。
  • 新的 pip 版本需要發(fā)布get-pip。
  • Python 捆綁了 pip 的默認(rèn)版本,并且最好捆綁不易受任何 CVE 攻擊的 pip 版本(但用戶可以修復(fù)此問題)。

每當(dāng) certifi 中刪除 CA 時,此更新鏈都會導(dǎo)致大量混亂,并且不考慮單個應(yīng)用程序鎖定文件中需要發(fā)生的所有升級。iqE28資訊網(wǎng)——每日最新資訊28at.com

解決辦法:iqE28資訊網(wǎng)——每日最新資訊28at.com

Truststore 是我和 David Glick 編寫的一個庫,可以通過使用系統(tǒng)信任存儲而不是硬編碼捆綁來消除對證書的需求,這樣一來保持信任存儲的責(zé)任就在系統(tǒng)本身上(對于 macOS 和Windows 可以在后臺自動更新)。iqE28資訊網(wǎng)——每日最新資訊28at.com

由于PDM通過 pdm[truststore]或pdm[all]安裝時采用了該庫,Truststore 最近收到了大量消極用戶。如果安裝了 truststore,則會自動使用代碼路徑,這意味著我們可以確保該庫按預(yù)期工作,適用于各種應(yīng)用配置。我一直在監(jiān)控 PDM 的問題跟蹤器中是否存在與信任庫相關(guān)的問題,到目前為止,每天安裝大約 2,000 次后還沒有出現(xiàn)任何問題。iqE28資訊網(wǎng)——每日最新資訊28at.com

如果已經(jīng)安裝了信任庫,pip 目前支持使用信任庫,并且我有一個出色的 PR,可以向 pip 添加信任庫支持,而無需單獨安裝該庫。iqE28資訊網(wǎng)——每日最新資訊28at.com

下面是直接依賴于 certifi 的項目列表(按下載量排序),這些項目也可能是從 certifi 切換到 truststore 的備選方式,但不存在與 pip 相同的捆綁證書問題:iqE28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片iqE28資訊網(wǎng)——每日最新資訊28at.com

該列表是根據(jù) pypi-data 數(shù)據(jù)集上的以下 SQL 查詢生成的。iqE28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片iqE28資訊網(wǎng)——每日最新資訊28at.com

我希望能夠放棄 certifi,以減少使用 PyPI 作為 CA 分發(fā)渠道所產(chǎn)生的流失量。iqE28資訊網(wǎng)——每日最新資訊28at.com

二、三個關(guān)鍵“原則”

在 9 月份的演講中,Larson 強調(diào)了他作為 PSF 駐場安全開發(fā)人員工作的三個“指導(dǎo)原則”:可持續(xù)性、清晰度和可見性。iqE28資訊網(wǎng)——每日最新資訊28at.com

“可持續(xù)性”意味著要專注于產(chǎn)生持久的影響,包括改進(jìn)流程、自動化、處理官僚主義或發(fā)布標(biāo)準(zhǔn)。全職意味著有一個寶貴的機會進(jìn)行改進(jìn),這需要一致和長期的承諾,例如與外部組織合作、跟上新標(biāo)準(zhǔn)以及向其他開源生態(tài)系統(tǒng)安全人員倡導(dǎo) Python 的觀點。開展這項工作并提供成果應(yīng)該有助于解鎖進(jìn)一步的下游改進(jìn),而不會給志愿者帶來時間負(fù)擔(dān)。iqE28資訊網(wǎng)——每日最新資訊28at.com

“清晰度”:開源軟件安全領(lǐng)域一直在經(jīng)歷新舉措、新技術(shù)以及爆炸式增長。隨著新安全工具的不斷出現(xiàn),Larson 努力保持思路清晰,從而找出最適合 Python 生態(tài)系統(tǒng)的方法。iqE28資訊網(wǎng)——每日最新資訊28at.com

“但我一個人做不到!開源領(lǐng)域有很多專家,他們比我更了解他們感興趣的領(lǐng)域。我們可以互相學(xué)習(xí)。”iqE28資訊網(wǎng)——每日最新資訊28at.com

“可見性”:這個角色所做的大部分工作都將公開完成,Larson將通過博客文章和公告的形式,讓Python 生態(tài)系統(tǒng)的安全問題得到更多的關(guān)注。iqE28資訊網(wǎng)——每日最新資訊28at.com

“我對迄今為止所取得的成就感到非常自豪,”Larson 在 10 月份的一篇博客文章中寫道,“這顯示了通過雇用人員全職工作來投資開源安全的價值。”iqE28資訊網(wǎng)——每日最新資訊28at.com

三、寫在最后

針對開源項目和基礎(chǔ)設(shè)施的開源供應(yīng)鏈發(fā)生的安全攻擊與日俱增,讓人們越來越認(rèn)識到 Python 和 PyPI 等提供安全可靠的生態(tài)系統(tǒng)的重要性。iqE28資訊網(wǎng)——每日最新資訊28at.com

此前,PSF 對關(guān)鍵安全問題的改進(jìn),只是從專門的志愿者團(tuán)隊或者現(xiàn)在有基礎(chǔ)設(shè)施工作人員中抽時間來進(jìn)行,或者偶爾收到贈款才會專門去做。iqE28資訊網(wǎng)——每日最新資訊28at.com

如今,PSF 在維護(hù)Python安全和促進(jìn)Python社區(qū)發(fā)展方面做出不少努力。光是2023年,PSF就招聘了一位常駐安全開發(fā)人員,一位 PyPI 安全和安保工程師,以及支持社區(qū)活動和傳播的兩位全職工作人員,讓 Python 社區(qū)變得更加強大和多元。iqE28資訊網(wǎng)——每日最新資訊28at.com

除了招兵買馬壯大隊伍,PSF 今年終于獲得授權(quán)成為 CVE 編號機構(gòu)(CNA)。這是 PSF 改善 Python 生態(tài)系統(tǒng)關(guān)鍵項目漏洞響應(yīng)流程戰(zhàn)略的重要里程碑。Python 軟件基金會 CNA 范圍涵蓋 Python 和 pip,這兩個項目對于 Python 生態(tài)系統(tǒng)至關(guān)重要。iqE28資訊網(wǎng)——每日最新資訊28at.com

Larson 的加入將負(fù)責(zé)解決 CPython 和 PyPI 等 PSF 項目的安全問題,并與社區(qū)志愿者合作實現(xiàn)關(guān)鍵措施的改進(jìn),此外還將建立新的流程和功能,讓預(yù)防、檢測和應(yīng)對安全風(fēng)險變得更容易,從而使整個社區(qū)能夠更輕松、可持續(xù)地識別和解決未來的安全問題,期待 Larson 和他的伙伴們能帶來更多創(chuàng)新和驚喜。iqE28資訊網(wǎng)——每日最新資訊28at.com

參考鏈接:iqE28資訊網(wǎng)——每日最新資訊28at.com

https://thenewstack.io/pythons-new-security-developer-has-plans-to-secure-the-language/iqE28資訊網(wǎng)——每日最新資訊28at.com

https://sethmlarson.dev/blogiqE28資訊網(wǎng)——每日最新資訊28at.com

https://www.python.org/psf-landing/iqE28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-42221-0.html揭秘 Python 軟件基金會首位常駐安全人員工作筆記

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python中的Yield關(guān)鍵字,你了解多少?

下一篇: 了解一下全新進(jìn)化的CSS linear緩沖函數(shù)

標(biāo)簽:
  • 熱門焦點
  • K60 Pro官方停產(chǎn) 第三方瞬間漲價

    雖然沒有官方宣布,但Redmi的一些高管也已經(jīng)透露了,Redmi K60 Pro已經(jīng)停產(chǎn)且不會補貨,這一切都是為了即將到來的K60 Ultra鋪路,屬于廠家的正常操作。但有意思的是該機在停產(chǎn)之后
  • 官方承諾:K60至尊版將會首批升級MIUI 15

    全新的MIUI 15今天也有了消息,在官宣了K60至尊版將會搭載天璣9200+處理器和獨顯芯片X7的同時,Redmi給出了官方承諾,K60至尊重大更新首批升級,會首批推送MIUI 15。也就是說雖然
  • K60至尊版狂暴引擎2.0加持:超177萬跑分?jǐn)孬@性能第一

    Redmi的后性能時代戰(zhàn)略發(fā)布會今天下午如期舉辦,在本次發(fā)布會上,Redmi公布了多項關(guān)于和聯(lián)發(fā)科的深度合作,以及新機K60 Ultra在軟件和硬件方面的特性,例如:“K60 至尊版,雙芯旗艦
  • 服務(wù)存儲設(shè)計模式:Cache-Aside模式

    Cache-Aside模式一種常用的緩存方式,通常是把數(shù)據(jù)從主存儲加載到KV緩存中,加速后續(xù)的訪問。在存在重復(fù)度的場景,Cache-Aside可以提升服務(wù)性能,降低底層存儲的壓力,缺點是緩存和底
  • 得物寵物生意「狂飆」,發(fā)力“它經(jīng)濟(jì)”

    作者|花花小萌主近日,得物宣布正式上線寵物鑒別,通過得物App內(nèi)的“在線鑒別”,可找到鑒別寵物的選項。通過上傳自家寵物的部位細(xì)節(jié),就能收獲擁有專業(yè)資質(zhì)認(rèn)證的得物鑒
  • 年輕人的“職場羞恥感”,無處不在

    作者:馮曉亭 陶 淘 李 欣 張 琳 馬舒葉來源:燃次元“人在職場,應(yīng)該選擇什么樣的著裝?”近日,在網(wǎng)絡(luò)上,一個與著裝相關(guān)的帖子引發(fā)關(guān)注,在該帖子里,一位在高級寫字樓亞洲金
  • 蘋果、三星、惠普等暫停向印度出口筆記本和平板電腦

    集微網(wǎng)消息,據(jù)彭博社報道,在8月3日印度突然禁止在沒有許可證的情況下向印度進(jìn)口電腦/平板及顯示器等產(chǎn)品后,蘋果、三星電子和惠普等大公司暫停向印度
  • 三星折疊屏手機去年銷售近1000萬臺 今年目標(biāo)定為1500萬

    7月29日消息,三星率先發(fā)力可折疊手機市場,在全球市場已經(jīng)取得了非常亮眼的成績,接下來會進(jìn)一步鞏固和擴(kuò)大這一優(yōu)勢。三星在推出Galaxy Z Flip5和Galax
  • Android 14發(fā)布:首批適配機型公布

    5月11日消息,谷歌在今天凌晨舉行了I/O大會,本次發(fā)布會谷歌帶來了自家的AI語言模型PaLM 2、谷歌Pixel Fold折疊屏、谷歌Pixel 7a手機,同時發(fā)布了Androi
Top 主站蜘蛛池模板: 瓮安县| 青州市| 康乐县| 呼伦贝尔市| 县级市| 重庆市| 汕头市| 察隅县| 简阳市| 扎囊县| 晴隆县| 那曲县| 云霄县| 长岛县| 综艺| 策勒县| 玛纳斯县| 隆化县| 江门市| 定安县| 霍州市| 云林县| 株洲县| 定日县| 板桥市| 布尔津县| 碌曲县| 海原县| 曲松县| 贺州市| 来宾市| 安泽县| 澜沧| 甘洛县| 泰宁县| 阳高县| 崇州市| 瑞金市| 临夏县| 铜鼓县| 施甸县|