臉書開源了自家用來偵測Instagram伺服器程式碼庫臭蟲的安全工具Pysa,Pysa是一個程式碼靜態分析工具,以Python類型檢查器Pyre為基礎,Pysa能分析資料流通過程式碼的方式,找出資料流隱藏的安全和隱私問題。在2020上半年,Instagram伺服器中有44%的安全性問題,是利用Pysa偵測到的。

臉書提到,去年他們釋出的靜態分析工具Zoncolan,已經用來分析了超過1億行程式碼,找出了大量的安全性問題,由於Zoncolan解決方案的成功,因此讓他們決定另外開發Python靜態分析器(Python Static Analyzer)Pysa,以提升自家Python程式碼的安全性。

Pysa可以用來偵測常見的安全性以及隱私問題,諸如檢查Python專案是否有使用臉書某些內部隱私框架,以保護用戶資料與防止洩漏,另外,Pysa還可以偵測常見的網頁應用程式的安全性問題,包括XSS和SQL注入攻擊漏洞,臉書主要將Pysa用於Instagram伺服器的程式碼庫,以確保Python應用程式的安全性。

用戶可以將Pysa應用於自己的Python程式碼中,以探索各種安全性問題。由於臉書在內部專案使用Django和Tornado等開源框架,因此當用戶的專案也有使用這些框架,便能以Pysa方便地找出專案的安全漏洞,而沒有使用Pysa覆蓋的框架也沒關係,用戶只要加入幾行設定,告訴Pysa伺服器程式的資料進入點,Pysa就可以開始偵測工作。

Pysa使用靜態分析演算法,追蹤程式中的資料流,使用者需要定義資料來源(Source)以及資料接收器(Sink),資料來源也就是指重要資料的來源處,而資料接收器處理資料,但不能是資料結束的地方。臉書提到,以安全的應用程式來說,最常見的資料來源是用戶控制資料進入應用程式的位置,像是Django的HttpRequest.GET字典(Dictionary),而接受器的種類更多,包括可以執行程式碼的API如eval,或是存取檔案系統的API都屬於接受器。

#python #pysa #developer

臉書開源可偵測Python程式碼安全與隱私問題的工具Pysa
1.65 GEEK