據(jù)悉,將于2023年9月11日至15日在盧森堡舉行的國際軟件工程學(xué)術(shù)會議(ASE 2023, the 38th IEEE/ACM International Conference on Automated Software Engineering)接受了學(xué)院方勇教授團(tuán)隊最新的研究成果《An Empirical Study of Malicious Code In PyPI Ecosystem》。該工作由永利yl23411官網(wǎng)、南洋理工大學(xué)合作完成,其中永利yl23411官網(wǎng)為第一署名單位,2020級碩士研究生郭文博作為第一作者(導(dǎo)師方勇、黃誠),通訊作者為方勇教授。
ASE由IEEE和ACM聯(lián)合主辦,是軟件工程領(lǐng)域國際知名的頂級會議之一。ASE針對大型軟件系統(tǒng)的自動化分析、設(shè)計、實現(xiàn)、測試和維護(hù)等方面,給來自學(xué)術(shù)界和工業(yè)界的軟件工程研究者和實踐者提供了共同討論的平臺,分享相關(guān)領(lǐng)域最新研究成果、技術(shù)和工具等信息,是中國計算機(jī)學(xué)會推薦國際學(xué)術(shù)會議(軟件工程、系統(tǒng)軟件與程序設(shè)計語言)A類會議(CCF A)。本屆會議共收到629篇投稿,最終接收134篇,接收率為21.3%。
論文簡介:PyPI為開發(fā)人員提供了一個方便易用的包管理平臺,使他們能夠快速實現(xiàn)特定功能,提高工作效率。然而,PyPI生態(tài)系統(tǒng)的快速發(fā)展也導(dǎo)致了嚴(yán)重的惡意包傳播問題。惡意貢獻(xiàn)者將惡意軟件包偽裝成正常包給終端用戶帶來了重大安全風(fēng)險。為此,本研究對PyPI生態(tài)惡意代碼做了大規(guī)模的實證研究,以了解其生命周期的特征和現(xiàn)狀。首先構(gòu)建了自動化數(shù)據(jù)采集框架,并構(gòu)建了包含4669個惡意包文件的多源惡意代碼數(shù)據(jù)集,這是當(dāng)前最大的開源可用數(shù)據(jù)集。
根據(jù)惡意行為特征,論文設(shè)計了自動化的分類模型,初步將惡意代碼分為五類。研究發(fā)現(xiàn),超過 50% 的惡意代碼表現(xiàn)出多種惡意行為,其中信息竊取和命令執(zhí)行尤其普遍。此外,還發(fā)現(xiàn)了幾種新穎的攻擊向量和反檢測技術(shù)。安裝時攻擊是將惡意代碼嵌入在setup.py文件中,當(dāng)惡意包被安裝時會觸發(fā)其中的惡意代碼。運行時攻擊的惡意代碼嵌入在“other.py”中,當(dāng)受害者調(diào)用具體的方法時才會觸發(fā)。
引入時攻擊是將惡意代碼嵌入在__init__.py文件中,當(dāng)惡意包被import時才會觸發(fā)其中的惡意代碼。
分析顯示,74.81%的惡意包通過源碼安裝成功進(jìn)入終端用戶項目,從而增加了安全風(fēng)險。同時,研究發(fā)現(xiàn)惡意軟件包持續(xù)存在于全球PyPI鏡像服務(wù)器中,其中超過72%的惡意軟件包在被發(fā)現(xiàn)后仍長期存在于鏡像服務(wù)器中。
最后,本研究給出了PyPI生態(tài)系統(tǒng)中惡意代碼的生命周期圖,有效反映了惡意代碼在不同階段的特征。并提出了一些建議的緩解措施,以提高Python開源生態(tài)系統(tǒng)的安全性。