2020年8月9日 星期日

臉書用”它”追蹤Python安全漏洞!

追蹤Python程式碼安全漏洞的法寶是”?

保護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 的開源代碼,以及一些能協助它追踪安2全問題的 bug definitions。

相關文章:

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

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

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

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

人工智慧幫你控管家門,貓主子叼活物”不放行”!

人工智慧讓你做好最佳防疫不越界!

Python課程成功讓他身價行情大躍進!