国产良妇出轨视频在线_国产高清无码视频在线观看_国产精品亚洲精品久久精品_国产男女猛视频在线观看网站

你的位置:首頁 > 電路保護(hù) > 正文

二進(jìn)制密鑰掃描實(shí)現(xiàn)預(yù)警守護(hù),阻擊潛在供應(yīng)鏈重大安全隱患

發(fā)布時間:2024-08-16 責(zé)任編輯:lina

【導(dǎo)讀】作為一項(xiàng)針對線上社區(qū)的服務(wù),JFrog安全研究團(tuán)隊(duì)持續(xù)掃描Docker Hub、NPM和PyPI等公共倉庫,旨在識別惡意軟件包和泄露的密鑰。一旦發(fā)現(xiàn)潛在威脅,團(tuán)隊(duì)會立即通知相關(guān)維護(hù)人員,確保漏洞在攻擊者對其進(jìn)行利用之前便得到修復(fù)。盡管JFrog團(tuán)隊(duì)以往已多次檢測到相似方式泄露密鑰的安全隱患,但由于此次事件潛在后果影響廣泛,因此尤為嚴(yán)重——假設(shè)攻擊者將惡意代碼注入PyPI軟件包,或者將所有Python包替換為惡意軟件包,這將可能影響到Python語言本身!


JFrog安全研究團(tuán)隊(duì)近期發(fā)現(xiàn)并報告了一起嚴(yán)重的安全事件,一個具有管理員權(quán)限的訪問令牌在Docker Hub上托管的某個公共Docker容器中意外泄露,該令牌可訪問Python、PyPI及Python軟件基金會(PSF)的GitHub倉庫。


作為一項(xiàng)針對線上社區(qū)的服務(wù),JFrog安全研究團(tuán)隊(duì)持續(xù)掃描Docker Hub、NPM和PyPI等公共倉庫,旨在識別惡意軟件包和泄露的密鑰。一旦發(fā)現(xiàn)潛在威脅,團(tuán)隊(duì)會立即通知相關(guān)維護(hù)人員,確保漏洞在攻擊者對其進(jìn)行利用之前便得到修復(fù)。盡管JFrog團(tuán)隊(duì)以往已多次檢測到相似方式泄露密鑰的安全隱患,但由于此次事件潛在后果影響廣泛,因此尤為嚴(yán)重——假設(shè)攻擊者將惡意代碼注入PyPI軟件包,或者將所有Python包替換為惡意軟件包,這將可能影響到Python語言本身!


JFrog安全研究團(tuán)隊(duì)迅速鎖定泄露的密鑰,并即刻向PyPI安全團(tuán)隊(duì)報告,PyPI安全團(tuán)隊(duì)僅在短短17分鐘內(nèi)便撤銷了該令牌,有效遏制了潛在安全危機(jī)。

如今,Python編程語言被廣泛應(yīng)用于絕大多數(shù)的數(shù)字系統(tǒng)中,包括:

  • YouTube、Instagram、Facebook、Reddit、Pinterest以及其他各類社交媒體網(wǎng)站

  • 所有機(jī)器學(xué)習(xí)和人工智能程序

  • 金融支付系統(tǒng),如Venmo、Zelle以及摩根大通和高盛等銀行的內(nèi)部操作系統(tǒng)


我們將深入剖析JFrog是如何發(fā)現(xiàn)并阻止一起可能危及整個Python基礎(chǔ)設(shè)施的GitHub個人訪問令牌(PAT)泄露事件,同時借此案例強(qiáng)調(diào)在密鑰檢測中“右移”策略的重要性,該策略保證了不僅在源代碼中查找密鑰,還將在二進(jìn)制文件和生產(chǎn)制品中加強(qiáng)防范。

我們發(fā)現(xiàn)了什么


我們的密鑰掃描引擎在Docker Hub上的一個公共倉庫中檢測到了一個“傳統(tǒng)”的GitHub令牌。與更新的細(xì)粒度令牌不同,傳統(tǒng)GitHub令牌的風(fēng)險在于,它們授予用戶訪問所有倉庫相似的權(quán)限。


在本次的案例中,該事件主角擁有對Python核心基礎(chǔ)設(shè)施倉庫(包括PSF、PyPI、Python語言及CPython)的管理員權(quán)限。


GitHub團(tuán)隊(duì)

具有管理員訪問權(quán)限的倉庫數(shù)量

python

91

pypa

55

psf

42

pypi

21


可能引發(fā)的后果


如果有他人發(fā)現(xiàn)了這一泄露的令牌,將造成后果極其嚴(yán)重的安全隱患。該令牌的持有者將擁有訪問所有Python、PyPI和Python軟件基金會存儲庫的管理員權(quán)限,并可能借此實(shí)施大規(guī)模的供應(yīng)鏈攻擊。


如果出現(xiàn)這一情況,可能會發(fā)生各種形式的供應(yīng)鏈攻擊。其中一種可能的攻擊方式是,攻擊者將惡意代碼藏匿于CPython中,該組件包含Python語言的核心庫,由C語言編寫。鑒于Python的廣泛應(yīng)用,惡意代碼一旦混入Python分發(fā)版,其潛在影響將波及全球數(shù)以千萬計的計算機(jī)。


二進(jìn)制密鑰掃描實(shí)現(xiàn)預(yù)警守護(hù),阻擊潛在供應(yīng)鏈重大安全隱患


另一種可能遭受攻擊的場景是,向PyPI的Warehouse代碼中滲透惡意代碼,該代碼用于管理PyPI包管理器。如果攻擊者通過插入代碼獲得通往PyPI存儲的后門的權(quán)限,他們將隨意操縱熱門PyPI包,并且在其中隱藏惡意代碼或用惡意代碼完全替換原有內(nèi)容。盡管這一攻擊方式并不十分高明,但其危害性不可小覷。


二進(jìn)制密鑰掃描實(shí)現(xiàn)預(yù)警守護(hù),阻擊潛在供應(yīng)鏈重大安全隱患


為什么該令牌僅在二進(jìn)制文件中找到?


在Docker容器內(nèi)的一個編譯后的Python文件——__pycache__/build.cpython-311.pyc中發(fā)現(xiàn)了身份驗(yàn)證令牌:


二進(jìn)制密鑰掃描實(shí)現(xiàn)預(yù)警守護(hù),阻擊潛在供應(yīng)鏈重大安全隱患


然而,在匹配的源代碼文件中,該令牌并未包含在相同功能的部分當(dāng)中。


這就意味著原作者:

1.曾經(jīng)短暫地將授權(quán)令牌添加到了他們的源代碼中,并運(yùn)行了源代碼

2.這項(xiàng)被運(yùn)行的源代碼(Python腳本) 是帶有授權(quán)令牌的 .pyc二進(jìn)制文件

3.盡管原作者從源代碼中刪除了授權(quán)令牌,但沒有同步清理 .pyc

4.將修正版本的源代碼和未修正的 .pyc二進(jìn)制文件都推送到了Docker鏡像中

例如,以下是反編譯的build.cpython-311.pyc文件與Docker容器中實(shí)際源代碼的比較:


二進(jìn)制密鑰掃描實(shí)現(xiàn)預(yù)警守護(hù),阻擊潛在供應(yīng)鏈重大安全隱患


從二進(jìn)制文件“build.cpython-311.pyc”中重構(gòu)的源代碼


二進(jìn)制密鑰掃描實(shí)現(xiàn)預(yù)警守護(hù),阻擊潛在供應(yīng)鏈重大安全隱患


Docker容器中匹配文件的實(shí)際源代碼


可以發(fā)現(xiàn),盡管從 .pyc緩存文件中反編譯的代碼與原始代碼相似,但其含有了一個包含有效GitHub令牌的授權(quán)數(shù)據(jù)頭。

僅在源代碼中掃描密鑰是不夠的

此事件警醒我們,為了預(yù)防類似的安全隱患,雖然與基于文本的文件相比,在二進(jìn)制文件中搜索泄露的機(jī)密信息更為困難,但是很多情況下關(guān)鍵數(shù)據(jù)只存在于二進(jìn)制數(shù)據(jù)當(dāng)中,因此對發(fā)布的Docker鏡像中的源代碼和二進(jìn)制數(shù)據(jù)進(jìn)行全面審核將成為最佳的解決方案。

二進(jìn)制密鑰掃描實(shí)現(xiàn)預(yù)警守護(hù),阻擊潛在供應(yīng)鏈重大安全隱患


PyPI的快速響應(yīng)


在本次事件報告中,我們由衷感謝PyPI安全團(tuán)隊(duì)的迅速響應(yīng)。


面對難以規(guī)避的泄露風(fēng)險,企業(yè)和相關(guān)組織應(yīng)以最快速度采取行動,評估并減輕潛在損害。


在此次事件中,在發(fā)現(xiàn)令牌后,JFrog立即將這一情況通知了PyPI的安全團(tuán)隊(duì)和令牌的所有者。PyPI的安全團(tuán)隊(duì)迅速響應(yīng),僅在17分鐘后就做出回應(yīng),撤銷了這一具有安全隱患的令牌。與此同時,PyPI進(jìn)行了全面的檢查,確認(rèn)該令牌尚未涉及任何具有安全威脅的可疑活動。


我們可以從密鑰檢測中汲取哪些經(jīng)驗(yàn)?


從此次事件中,我們汲取了寶貴經(jīng)驗(yàn):

1.在源代碼和文本文件中掃描密鑰已經(jīng)不足以排除安全隱患?,F(xiàn)代集成開發(fā)環(huán)境(IDE)和開發(fā)工具雖然可以有效地在源代碼中檢測密鑰并防止其泄露,但它們的范圍僅限于代碼,卻往往忽略由構(gòu)建和打包工具生成的二進(jìn)制制品。我們在開源注冊表中遇到的大多數(shù)密鑰都位于環(huán)境、配置和二進(jìn)制文件中。

2.用新的令牌替換老式的GitHub令牌以實(shí)現(xiàn)更好的可見性。最初,GitHub 使用的是十六進(jìn)制編碼的 40 個字符的令牌字符串,與 SHA1 哈希字符串無異,大多數(shù)密鑰掃描工具都無法捕捉到這種字符串。2021年,GitHub改用了一種新的令牌格式,該更新并未強(qiáng)制要求所有用戶重新生成他們的令牌。新格式的令牌包含可識別的前綴 ghp_,同時還嵌入了校驗(yàn)和,允許密鑰檢測工具能更輕松、更準(zhǔn)確地識別它們。

3.您的令牌只能訪問使用它的應(yīng)用程序所需的資源。將令牌權(quán)限設(shè)置為最大并非明智決定。兩年前,GitHub引入了新的細(xì)粒度令牌。與傳統(tǒng)令牌不同,它們允許用戶選擇個人訪問令牌可用的權(quán)限和倉庫,并將其范圍限制為相應(yīng)任務(wù)所需的最小范圍。我們強(qiáng)烈建議使用此功能,從而最大程度避免類似于對整個基礎(chǔ)設(shè)施具有最終訪問權(quán)限的令牌在一個輔助項(xiàng)目或臨時的“hello-world”應(yīng)用程序中被泄露的情況。


二進(jìn)制密鑰掃描實(shí)現(xiàn)預(yù)警守護(hù),阻擊潛在供應(yīng)鏈重大安全隱患


JFrog Secrets Detection – 二進(jìn)制優(yōu)勢


即使關(guān)鍵令牌被泄露在一個編譯后的Python二進(jìn)制文件(.pyc)中,JFrog的密鑰檢測引擎依然能夠?qū)⑵渥R別。我們能夠檢測到泄露的令牌主要得益于兩個重要原因:

1.JFrog Secrets Detection在開發(fā)人員的IDE內(nèi)部實(shí)現(xiàn)左移運(yùn)行,也可以在已部署的Docker容器內(nèi)部進(jìn)行右移運(yùn)行。

2.JFrog Secrets Detection能夠?qū)崿F(xiàn)在文本文件和二進(jìn)制文件中搜索泄露的密鑰,實(shí)現(xiàn)全方位的保護(hù)。


JFrog的檢測基于JFrog Xray針對配置文件、文本文件和二進(jìn)制文件進(jìn)行掃描,查找純文本憑據(jù)、私鑰、令牌和類似的密鑰信息。通過利用持續(xù)更新且擁有超過150種特定類型證書列表,以及專有的通用密鑰匹配器,JFrog將盡可能的在掃描過程中實(shí)現(xiàn)最佳的文件覆蓋范圍。


關(guān)于JFrog


JFrog Ltd.(納斯達(dá)克股票代碼:FROG)的使命是創(chuàng)造一個從開發(fā)人員到設(shè)備之間暢通無阻的軟件交付世界。秉承“流式軟件”的理念,JFrog軟件供應(yīng)鏈平臺是統(tǒng)一的記錄系統(tǒng),幫助企業(yè)快速安全地構(gòu)建、管理和分發(fā)軟件,確保軟件可用、可追溯和防篡改。集成的安全功能還有助于發(fā)現(xiàn)和抵御威脅和漏洞并加以補(bǔ)救。JFrog 的混合、通用、多云平臺可以作為跨多個主流云服務(wù)提供商的自托管和SaaS服務(wù)。全球數(shù)百萬用戶和7200多名客戶,包括大多數(shù)財富100強(qiáng)企業(yè),依靠JFrog解決方案安全地開展數(shù)字化轉(zhuǎn)型。一用便知!

(作者:Yoav Landman,JFrog聯(lián)合創(chuàng)始人兼首席技術(shù)官、Shachar Menashe, JFrog安全研究高級總監(jiān))


免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理。


推薦閱讀:

使用環(huán)路供電隔離器解決接地環(huán)路問題

有源全波整流器無需匹配電阻?來看看這個非常規(guī)設(shè)計

麥克風(fēng)傳感器的選擇與設(shè)計技巧

全方面的高功率直流快速充電解決方案

電動汽車電源轉(zhuǎn)換器的藍(lán)圖


特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
壓控振蕩器 壓力傳感器 壓力開關(guān) 壓敏電阻 揚(yáng)聲器 遙控開關(guān) 醫(yī)療電子 醫(yī)用成像 移動電源 音頻IC 音頻SoC 音頻變壓器 引線電感 語音控制 元件符號 元器件選型 云電視 云計算 云母電容 真空三極管 振蕩器 振蕩線圈 振動器 振動設(shè)備 震動馬達(dá) 整流變壓器 整流二極管 整流濾波 直流電機(jī) 智能抄表
?

關(guān)閉

?

關(guān)閉