技術交流

軟體程式開發如何用 Fortify 安全編碼?

對軟體、應用程式公司而言,確保程式開發的安全是落實資安的基本功。在程式開發初期,建議進行原始碼檢測,不只滿足程式的安全設計,也可降低程式開發的成本。Fortify SCA 靜態原始碼檢測提供的 Security Assistant 能讓開發人員在編寫程式時,即時分析寫出來的程式碼,找出因不安全的寫法所造成的安全問題,並提供問題說明、修補建議及參考;另外資通電腦的顧問團隊也可根據檢測報告給予程式修復建議,協助進行程式碼修補工作,強化程式開發安全。

首先須了解一下 Fortify Security Assistant 的功能:

  • Fortify Security Assistant 目前支援的 IDE:Visual Studio、Eclipse。
  • Fortify Security Assistant Extension for Visual Studio 可檢測:C#(.cs)、Razor(.cshtml)、WebForms(.aspx)、.config、.xml、.ini 檔案。
  • Fortify Security Assistant Plugin for Eclipse 可檢測:Java 程式。

接下來將以 Eclipse 為例,介紹 Fortify Security Assistant 在 Eclipse 上的使用。

一、安裝 Fortify Security Assistant Plugin for Eclipse

安裝需求:

  • 有效的 Fortify SCA 授權
  • Security Content(檢測規則)
  • Eclipse 2020-x、2021-x
  • JDK 11

安裝方式:

  1. 啟動 Eclipse,選擇 Help > Install New Software,開啟安裝精靈,顯示 Available Software 步驟。
  2. 單擊 Add,接著單擊 Archive,然後選擇 Fortify_SecurityAssistant_Eclipse_Plugin_.zip 以指定檔案路徑,接著再單擊 Add。
  3. 勾選 Fortify Security Assistant Plugin,單擊 Next。
    單擊 Next
  4. 依序進行後續步驟並接受授權聲明,最後單擊 Finish,安裝完畢,單擊 Restart 重新啟動 Eclipse。
  5. 重新啟動後,可發現 menu bar 中多了 Fortify menu。
  6. 選擇 Fotyify → Update Security Content 以更新 Security Content,過程中若跳出 Locate Fortify License File 視窗時,請選擇有效的 Fortify SCA License 檔案(fortify.license)位置。

二、使用 Fortify Security Assistant Plugin for Eclipse

編寫程式碼的好幫手

在開發人員一邊撰寫程式碼時,Fortify Security Assistant 能即時找出程式碼中的安全問題。

Fortify Security Assistant 將程式碼中可能的安全問題以高亮區塊標示,此時將游標移至問題處將出現工具提示框,單擊提示框中的問題。

將可能的安全問題以高亮區塊標示

開啟 Security Help 視窗顯示問題的「詳細說明」、「修補建議」與參考文件。開發人員依據說明、建議與參考即時修改不安全的程式碼。

詳細說明
修補建議

掃描專案找出安全問題

若要針對整個專案進行掃描,可用滑鼠右鍵單擊專案名稱,選擇 Inspect the Project。

右鍵選擇 Inspect the Project

Fortify Security Assistant 將掃描整個專案,掃描完畢會開啟 Security Assistant Issues 視窗列出找到的安全問題清單,並按嚴重等級區分群組。此時雙擊滑鼠左鍵清單中的任一安全問題,游標立刻移至有問題的程式碼位置。

Security Assistant Issues 依嚴重等級區分群組

若是單擊滑鼠右鍵任一安全問題將開啟功能選單。

  • Description:選擇 Description 時將開啟 Security Help 視窗顯示該問題的詳細說明、修補建議與參考文件。
  • Go to Source:如果是 Dataflow 問題,選擇 Go to Source 時會將游標立刻移至受污染資料的源頭程式碼位置。
  • Go to Resource:游標立刻移至有問題的程式碼位置。

另外,Security Assistant Issues 視窗除了依嚴重等級區分群組之外,也可以依問題分類來區分群組。

Security Assistant Issues 依問題分類區分群組

以上是 Fortify Security Assistant Plugin for Eclipse 的基本功能介紹。Fortify Security Assistant 提供結構和設定分析器,專為速度和效率而生,所以可以提供最即時的安全反饋,協助開發人員在編寫程式碼期間即時發現並修復 20% 的安全問題,最後結合 Fortify SCA 進行全面性的靜態掃描分析,以更全面的角度了解程式碼的安全問題。