6月7日訊 英國軟件公司 Snyk 的安全團(tuán)隊(duì)2018年 6月5日公開披露影響處理壓縮文件的開源編碼庫的嚴(yán)重漏洞“Zip Slip(“壓縮失誤”)”,它是一種影響廣泛的存檔文件提取漏洞,允許攻擊者在系統(tǒng)上編寫任意文件,可引發(fā)遠(yuǎn)程命令執(zhí)行問題。Snyk 已發(fā)布技術(shù)白皮書詳細(xì)介紹了該漏洞。
影響重要企業(yè)數(shù)千個(gè)項(xiàng)目
Snyk 的首席執(zhí)行官蓋·伯德扎尼,安全研究人員早在過去就曾注意到這個(gè)漏洞,但從未預(yù)料到它會得到如此廣泛的傳播。
可導(dǎo)致文件被解壓到錯(cuò)誤的位置
Zip Slip 屬于任意文件覆蓋漏洞,通過目錄遍歷攻擊被觸發(fā),可從存檔文件中提取文件,可導(dǎo)致攻擊者將文件解壓到正常的解壓路徑中并覆寫敏感文件,例如重要的OS庫或者服務(wù)器配置文件。該漏洞影響了大量壓縮格式,包括 tar、jar、war、cpio、apk、rar和7z。
雖然該漏洞廣泛存在于 JavaScript、Ruby、.NET、Go 等多種程序語言中,其影響了包括谷歌、甲骨文、IBM、Apache、亞馬遜、Spring/Pivotal、Linkedin、Twitter、阿里巴巴、Eclipse、OWASP、ElasticSearch 和 JetBrains 在內(nèi)的數(shù)千個(gè)項(xiàng)目,但該漏洞主要影響的是 Java 生態(tài)系統(tǒng),因?yàn)槠淙狈?a target="_blank">中心程序庫對存檔文件進(jìn)行高級處理,導(dǎo)致開發(fā)人員必須自己編寫代碼或使用共享代碼。
關(guān)于“Zip Slip”漏洞
Snyk 在技術(shù)白皮書中寫道,攻擊者可使用特制、含有目錄遍歷文件名(例如../../evil.sh)的存檔文件來觸發(fā)該漏洞。攻擊者要利用該漏洞需具備兩個(gè)前提條件:1、惡意存檔文件;2、提取代碼不執(zhí)行驗(yàn)證檢查。
研究人員指出,選用合適的工具創(chuàng)建惡意存檔文件很容易,而且存在缺陷的庫/代碼片段相當(dāng)多,因此該漏洞很容易被利用發(fā)起攻擊。
伯德扎尼認(rèn)為漏洞之所以存在,又兩個(gè)原因:
程序代碼本身很復(fù)雜,不具備安全專家知識的開發(fā)人員通常將工作重點(diǎn)放在按時(shí)完成代碼編寫上,因此安全漏洞的問題容易被忽略。
在不斷擴(kuò)展的開源世界中,開發(fā)人員嚴(yán)重依賴共享的庫,并復(fù)制 StackOverflow 等社交網(wǎng)絡(luò)的代碼。這種重用的做法有助于加速開發(fā),但也意味著共享代碼庫(或其它)中的漏洞傳播速度更快,Zip Slip 就是如此。
研究人員也公布了PoC代碼,便于開發(fā)人員檢測漏洞是否存在。Snyk 還發(fā)布了利用該漏洞的視頻演示:
漏洞修復(fù)可能不徹底
伯德扎尼表示,許多大型的庫和項(xiàng)目現(xiàn)已修復(fù)問題,但這不意味著所有人都將使用最新版的庫。
Snyk 安全團(tuán)隊(duì)提供了建議措施,以供檢查項(xiàng)目是否受到 Zip Slip 漏洞影響,包括在項(xiàng)目中搜索易受攻擊的代碼。Snyk 還舉例羅列了不同程序語言中易受攻擊的代碼以及可供檢查的驗(yàn)證代碼。
Snyk 未提及攻擊者利用該漏洞的情況。伯德扎尼指出,由于利用的結(jié)果只是簡單體現(xiàn)在系統(tǒng)的文件中,因此難以檢測系統(tǒng)是否已被利用。檢測工具可檢查 Zip 和通過其它來源進(jìn)入網(wǎng)絡(luò)的其它存檔文件來識別攻擊,檢查其中列出的文件,并標(biāo)記指向外部文件夾的文件(例如../../evil.exe)。值得注意的是,存檔文件可上傳到應(yīng)用程序或從內(nèi)部下載,因此應(yīng)當(dāng)監(jiān)控這兩種流量來源。
-
編碼
+關(guān)注
關(guān)注
6文章
942瀏覽量
54815 -
漏洞
+關(guān)注
關(guān)注
0文章
204瀏覽量
15368
原文標(biāo)題:Zip Slip 漏洞席卷數(shù)千個(gè)采用“壓縮文件開源編碼庫”項(xiàng)目
文章出處:【微信號:EAQapp,微信公眾號:E安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論