月考 Python軟體也會中毒,請謹慎預防並及時殺毒
拼寫其實很容易出錯,不是嗎?
Python測驗:這兩個包有什麼區別?
urllib3
urlib3
答案:urllib3,有兩個l的是你打算使用的包。urlib3,帶有一個l的是複製你正在尋找的包的功能的毒包,帶有惡意安裝腳本。
如果發生了,這個安裝腳本只向攻擊者發送適量的信息:你的用戶名,主機名,軟體包版本。但這可能會更糟。你可以自己閱讀完整的報告。好消息是,這些包已經從PyPi中刪除。但以後肯定會出現更多。
早在8月份,在Node生態系統中發現了一個類似的毒包,它滲透了環境變數,用於發現服務密碼和令牌。
今天我能做什麼?
檢查你是否依賴任何毒包。在這種情況下,你可以運行此命令來檢查Python應用程序是否具有惡意依賴關係:
(是的,結尾的空格非常重要)
如果你發現安裝了其中一個毒包,可以使用pip它們來卸載它們。但一般來說,你應該手動從Python安裝目錄中刪除它,以免在卸載腳本中觸發更多惡意代碼的機會。
值得慶幸的是,經過檢測發現現有的毒包差不多就這麼多了,但顯然這只是在即將到來的戰爭中的第一槍。
你以後能做些什麼?
首先,仔細檢查包名稱。是的,這很麻煩,但是由於許多現有的毒包依賴於你犯的一般拼寫錯誤,這需要額外的警惕。
其次,安裝一個安全工具,在有毒包時提醒你。Sqreen - 當然我們是偏心的 - 它不僅可以檢測到惡意包,而且可以檢測到有已知漏洞的合法包,來幫助你保持代碼安全。
第三,如果你發現項目中使用了毒包,那麼是時候更換你的證書了。你應該假設毒包可以完全訪問應用程序的任何內容:
?你需要識別應用程序訪問證書,無論是在環境變數還是配置文件中(你不是將它們硬編碼的,不是嗎?),並將其更改為新的。
?你還需要考慮被攻擊者已經滲透到資料庫中的可能性。分析毒包會告訴你已經泄漏的東西,但是你應該強烈地考慮使用加鹽形式的強哈希存儲密碼,以防萬一。資料庫泄漏的情況下,其他類型的數據更難以脫離別人的手,因此最好採取有力的預防措施。
?攻擊者也可以通過其毒包獲得shell訪問,因此你需要考慮主機本身已被盜用的可能性。始終確保你的Web應用程序在與管理面板或其他高級許可權進程或工具隔離的主機中運行。備份攻擊者可以刪除的任何東西,並將其存儲在Web應用程序無法訪問的隔離系統上。
英文原文:https://blog.sqreen.io/poison-packages-in-python/
譯者:大嘴
點擊展開全文
※Python爬取B站,鹹魚的正確 GET 姿勢
※用 Python 做導熱問題的數值計算
※2 雖然我用來切西瓜,但Python其實是把屠龍刀
※高盛最新調查:Python超過漢語成為未來最重要技能,你準備學哪種編程語言?
※數據專家必知必會的 7款Python 工具
TAG:Python |