自從有了"它",臉書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幫你複雜工作簡單做!(上)

arrow
arrow

    jimchen19901212 發表在 痞客邦 留言(0) 人氣()