採訪 Code Risk – WordPress 插件的免費源代碼分析服務
已發表: 2018-10-17與 WordPress 核心中的漏洞相比,WordPress 插件中的漏洞是導致更多網站被黑客入侵的原因。 發生這種情況的原因之一是缺乏資源。 軟件總會有漏洞,儘管 WordPress 的核心代碼已經過數千人的審查。 此外,基金會還分配了資源以確保代碼盡可能安全。
另一方面,許多插件開發人員沒有可用的資源來確保他們的插件代碼是安全的,特別是如果它是一個小插件。 儘管這一切都會改變,正如 Hendrik Buchwald 在這次採訪中解釋的那樣。 Hendrik 是 RIPS Technologies 的軟件工程師、安全研究員和聯合創始人。
RIPS 技術是做什麼的?
RIPS Technologies 是一家位於德國波鴻的高科技公司。 我們為 PHP 應用程序提供自動化安全分析,作為本地軟件安裝或高度可擴展的雲服務。 我們專門針對 PHP 語言的創新代碼分析算法可以識別現代應用程序中的複雜安全漏洞,這是其他解決方案所無法比擬的。 我們的使命是為開發人員和安全專家提供最準確、最有效的安全分析。
您認為開發人員最常犯的安全錯誤是什麼,您在 WordPress 插件中看到的前 3 個漏洞是什麼?
不出所料,最常見的問題是跨站點腳本 (XSS) 漏洞,只要在未對 HTML 響應頁面進行適當清理的情況下打印用戶輸入時就會出現這種漏洞。 一方面,這些問題經常出現,因為輸出數據是 PHP 應用程序最常見的操作,因此比其他操作更容易受到安全違規的影響。 其次,鑑於 HTML 上下文的多樣性及其在清理方面的缺陷,這些問題很容易引入。 跨站腳本 (XSS) 漏洞在 WordPress 中非常嚴重,因為它們可用於例如通過模板編輯器注入 PHP 代碼。 幸運的是,它們確實需要與管理員交互。
第二個最常見的問題是 SQL 注入漏洞。 SQL 注入比跨站點腳本漏洞更嚴重,因為在最壞的情況下,它們可用於從數據庫中提取敏感信息(例如密碼),而無需任何用戶交互。 因此,它們可用於全自動惡意攻擊。
您認為最受歡迎/下載的 1,000 個插件的整體安全狀況有多好或多壞?
這很難回答,因為我沒有詳細查看 1000 個最受歡迎的插件。 這樣的操作需要幾個月的時間才能完成,當我們準備好時,我們需要重新開始,因為一些插件更新非常頻繁。
因此,為什麼使用 Code Risk 等自動化安全服務很重要。 儘管從我們對存儲庫進行的自動和未經驗證的源代碼掃描生成的 CodeRisk 評分來看,我可以說大多數的代碼都不錯,儘管也有一些插件評分不佳。 這些插件中的大多數都非常大,並且具有很多功能。 這會自動增加在某處出現錯誤的機會。 從我們的手動測試中,我們也可以說大型插件經常存在邏輯漏洞。
你能告訴我們一些關於你為 WordPress 插件開發者提供的東西嗎?
我們最新的項目 CodeRisk 幫助開發人員和用戶免費評估其插件代碼的安全風險。 目前,這僅限於託管在官方 WordPress 存儲庫中的 WordPress 插件。
我們會自動從 WordPress 存儲庫中獲取新插件,並使用我們的 PHP 安全掃描器 RIPS 對其進行掃描。 RIPS 的詳細結果組合成易於理解的風險值。 該值考慮了成功利用的嚴重性、與代碼大小相關的已發現問題的數量以及問題被第三方濫用的可能性。
插件開發人員可以通過自動化系統為自己的插件請求完整的詳細結果。 他們可以使用這些信息來修復可能的漏洞並強化他們的代碼,從而使 WordPress 生態系統更加安全。 CodeRisk 背後的想法是讓插件開發人員能夠自行發現代碼中的問題,即使他們並不精通安全。 雖然我們對 WordPress 安全性進行了大量研究,並向開發人員報告了許多漏洞,但插件太多,無法手動分析它們。
是否有許多插件開發人員訂閱和使用您的免費源代碼分析服務? WordPress 社區的反應如何?
目前有幾十個插件開發人員使用 CodeRisk 來降低其插件中的安全漏洞風險。 到目前為止,我們收到了很多很好的反饋,CodeRisk 已經幫助解決了數百個問題。
自動掃描儀傾向於報告可能無法利用的誤報和邊緣情況。 考慮到許多開發人員並不精通安全,您正在採取哪些措施來幫助他們避免誤報?
我們的用戶應該意識到我們會突出顯示存在安全風險的代碼。 在意外的安全漏洞中,這還包括其他發現,例如可能在以後成為威脅的弱保護。
您不必知道某個問題是否以及如何被利用,以確保它在未來不會成為安全威脅。 例如,如果您打印函數的返回值,請確保對其進行正確編碼以防止跨站點腳本漏洞。 即使返回值還不包含用戶輸入,將來也可能不會出現這種情況。
您認為這個免費的 WordPress 項目將走向何方? 你有計劃嗎? 也許為手持開發人員提供優質服務,幫助他們了解結果並充分利用它們?
CodeRisk 的下一個版本將增加對 WordPress 主題的支持,因為它們是大多數博客不可或缺的一部分,並且通常也包含漏洞。 在某些時候,我們希望將 CodeRisk 擴展到其他內容管理系統。 目前沒有提供優質服務的計劃,但如果有足夠的需求,這可能會改變。
您能否為 WordPress 開發人員提供兩到三個安全開發最佳實踐,以便他們編寫更安全的代碼?
如果您想編寫更安全的代碼,切勿盲目相信現有代碼。 始終假設函數可能會返回用戶輸入並將其視為此類。 有關如何編寫安全 PHP 代碼的一般信息,請查看 2018 年構建安全 PHP 軟件指南。
有關該服務的更多信息,請訪問 CodeRisk 網站。 如果您是 WordPress 插件開發人員,並且您的插件位於 WordPress 插件存儲庫中,請註冊一個免費帳戶以查看您的插件可能存在哪些漏洞。