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





更多閱讀:
Python 教學 - 控制結構篇 - while 迴圈

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

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

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

人生要自己決定怎麼過!品保人員靠Python課程翻轉人生!

化繁為簡,善用Python讓行銷工作簡易上手!(上)

Python與R語言究竟哪個最適合機器學習?(上)

熱門文章