你聽說了嗎?臉書開源Python語言工具的Pysa!



你聽說了嗎?臉書開源Python語言工具的Pysa!



Python工具到底有什麼作用?這篇為你解釋!



▲ Pysa 檢測 Python 程式碼中安全漏洞的官方說明影片

Facebook 近日開源了一個用於檢測Python 程式碼中安全漏洞的自動化工具「Pysa」。該工具最初是用來保護旗下的 Instagram。

Pysa 為「Python Static Analyzer」的縮寫,是Python靜態分析工具的意思,與另一套同名的勒索軟件 Pysa 毫無關係──希望讀者別把這兩者混為一談。

Pysa 專門用於追蹤大規模的 「Python 代碼庫──如驅動 Instagram 的 Python 程式碼──中的潛在安全漏洞。

這套工具會在代碼運行 / 編譯之前,以靜態模式掃描程式碼,著眼於數據流經系統的方式,查找潛在已知的錯誤模式、然後幫助開發者標註出潛在的問題:

安全漏洞

Facebook 資安工程師 Graham Bleaney 和 Sinan Cepel 寫道:「分析數據流是非常管用的,因為許多安全和隱私問題,都可被建模為數據而流入不該進入的地方。」
舉例來說,遠端代碼執行的漏洞,會被視為一般的用戶輸入,而到達系統程式碼內未經授權的部分。

Facebook 表示:在 2020 年的前半年,Pysa 就偵測到有 44% 的安全漏洞,是藏在 Instagram 伺服器端的 Python 代碼中。

Pysa 是基於開源代碼 Pyre 項目而建立的。Pyre 項目本是用來提高Python程式碼的品質的自動化工具,經過特別修改以協助發現安全漏洞。

去年,Facebook 就有推出了一個類似的工具 Zoncolan,該工具是用於 Hack 語言 (一種類 PHP 語言,用於 Facebook 應用程序的主要代碼庫) 中尋找安全漏洞。

無論是 Pysa 還是 Zoncolan,掃描程式均會尋找潛在危險的資料型態。這些資料型態可能會利用漏洞以允許跨網站指令碼攻擊 (XSS)、遠端程式碼攻擊、SQL 注入或用戶資料外洩等。當掃描到這些有害的數據後,即會通知程式開發人員。

及時檢查

「就像 Zoncolan 用於 Facebook 的 Hack;Pysa 幫助我們擴展了 Python 的應用程式安全性,尤其是那驅動 Instagram 伺服器的代碼庫。」Facebook 資安工程師 Bleaney 和 Cepel 寫道。

「這些結果將直接傳送給程式開發人員或是轉到資安工程師,取決於檢測到的問題類型以及我們針對該問題的信噪比 (S/N Ratio)。」

Facebook 表示,它讓 Pysa 開源,以讓更多開發者用來檢查自己的 Python 程式碼。

開源

Bleaney 和 Cepel 表示: 「因為我們在自家產品上使用開源 Python 伺服器端框架,如 Django 以及 Tornado。Pysa 可以從一開始就找出應用這些框架的項目的安全性問題。」

他們補充說:將 Pysa 用於尚不支持的框架可以很簡單,只需添加幾行配置,即可告訴 Pysa 數據進入伺服器的位置。

Facebook 已在 GitHub 上正式發布了 Pysa 的開源代碼,以及一些能協助它追踪安全問題的 bug definitions。



相關文章:

是怎樣的Python課程,讓他成功轉職為大醫院的網站工程師?

Python和R語言,哪個適合機器學習或人工智慧?(上)

讓我們利用AI工具搭配Python,讓行銷工作變得簡單!(上)

人工智慧貓砂盆 - 因愛貓腎病過世 工程師研發預防性貓用醫療品

非資工系出身!產品工程師「Python 課程」結業後轉職大醫院的網站工程師

人工智慧結合汽車雷達偵測行車視線死角 「駕駛盲區」即將走入歷史?

Python 教學 - 控制結構篇 - while 迴圈

這個網誌中的熱門文章

Python控制結構一點就通!(5)while迴圈

前端工程師絕不能搞錯的CSS中:逗號.空格的差別!

網頁前端CSS必學兩屬性:display與visible