技術交流

善用 Fortify 檢測工具建立應用程式安全性(上)

Norman Norman

駭客與犯罪集團常利用軟體安全漏洞竊取各項資料,或發起各種攻擊中斷資訊系統營運,進而造成企業與政府機關的巨大損失。根據研究,其中 84% 的安全漏洞來自軟體本身,33% 的應用程式甚至從未測試過安全漏洞。

近年由於應用程式安全意識的提升,加上企業為了進一步簡化工作流程,縮短上市時間,促使許多開發團隊轉向更敏捷的軟體開發流程 DevOps(Development + OperationsIT 開發維運並進思考),以一種全新的軟體開發生命週期,從頭到尾結合安全測試,更全面的看軟體開發流程。

兼顧應用程式安全性的新型態軟體開發生命週期

資通 Fortify 企業資安監測方案,提供橫跨軟體開發生命週期(System Development Life Cycle; SDLC)最廣泛的軟體安全測試,展現全面且可靠的安全性支援。快來看看如何利用其中的 Fortify SCA、WebInspect 與 Fortify SSC(Software Security Center)確保應用程式安全性。

Fortify SCA(Static Code Analyzer)-SAST、白箱測試、源碼掃描

Fortify SCA 白箱測試解決方案,是一種靜態應用程式安全性測試,主要進行源碼掃描,在開發階段中找出程式碼的安全漏洞,此時的修復成本也是最低的。Fortify SCA 不僅可找出程式碼中安全漏洞的根本原因,確定問題的嚴重等級,並提供解決這些問題的詳細指導,讓開發人員在集中式的軟體安全管理中,以最短的時間解決問題。

Fortify SCA 的工作原理與編譯器非常相似,讀取程式碼後將其轉譯成一種中間格式檔,接著再由多個專用分析器組成的分析引擎,使用安全編碼規則找出違反規則的安全漏洞位置。

  • 主要特色
    1. 支援包括 ABAP/BSP、ActionScript、Apex、ASP.NET、C#(.NET)、C/C++、Classic ASP(with VBScript)、COBOL、ColdFusion CFML、HTML、Java(including Android)、 JavaScript/AJAX、JSP、MXML(Flex)、Objective C/C++、PHP、PL/SQL、Python、Ruby、Swift、T-SQL、VB.NET、VBScript、Visual Basic、XML 等 25 種程式語言。
    2. 提供與 CI/CD 工具(IDEs、Bug Trackers、Open Source)的整合
      • 支援主要的 IDE:Eclipse、Visual Studio、IntelliJ IDEA(包含 Android Studio)
      • 支援的服務:Bugzilla、Micro Focus ALM/QC/SSC Bug Tracker、Microsoft TFS/VSTS、JIRA
      • 開放原始碼:Sonatype、WhiteSource、Snyk、BlackDuck
      • 支援的建置工具:Ant、Banboo、Gradle、Jenkins、Maven、MSBuild、Xcodebuild
      • Security Assistant 為開發人員提供即時(也就是輸入程式碼的同時)的安全性分析及結果,目前 Security Assistant 只支援 Microsoft Visual Studio 2017 及 Eclipse。建議將 Security Assistant 用作開發人員的編碼輔助工具,並與完整靜態掃描結合使用,以便針對安全問題獲得更全面的視角。
  • 主要效益
    1. 找的更多
      • Fortify SCA 在開發初期可捕獲大部分與安全問題有關的程式碼。
      • Fortify SCA 可檢測 25 種程式語言中的 788 種獨特類別的漏洞,並涵蓋超過 1,007,000 個 API。
      • 在 OWASP 1.2b Benchmark 測試中呈現了 100% 的準確性。
    2. 修正更容易
      • 透過識別那些會造成最大威脅的漏洞並排定優先順序,以降低風險。
      • 可與包括 Jenkins、ALM Octane、Jira、Atlassian Bamboo、Microsoft VSTS、Eclipse 及 Microsoft Visual Studio 等 CI/CD 工具整合。
      • 透過對應程式碼行數,更快找到漏洞位置;透過修正建議,更快修正程式。
        透過修正建議,更快修正程式
        透過修正建議,更快修正程式
    3. 縮短開發時間及成本
      • 當嵌入 SDLC 時,開發時間及成本可減少 25%。Production/Postrelease 階段的修正成本將是在 SDLC 早期發現時修正成本的 30 倍。

除了上述 Fortify SCA 之外,Fortify WebInspect 與 Fortify SSC 檢測工具要如何運用呢?詳情請見下期電子報