論壇文章
Fortify—軟體安全 讓應用程式自己保護自己
傳統的安全解決方案是有缺陷的,防火牆、病毒防護和入侵偵測服務已不能保護那些沒有防護措施的和易受攻擊的應用程式免受來自外部的威脅。

讓應用程式自己保護自己

傳統的安全解決方案是有缺陷的,防火牆、病毒防護和入侵偵測服務已不能保護那些沒有防護措施的和易受攻擊的應用程式免受來自外部的威脅。企業安全防護只建立用來阻擋潛在的入侵者攻擊網路或主機是不夠的,當這些方案提供周邊防護的同時,重要「應用軟體」的執行會因業務的需要必須能夠越過這些限制因而造成安全的漏洞,包括供應商、客戶、合作夥伴、以及在不斷增加的具有瀏覽權限的內部及外部人員。

應用軟體不再安全

如今幾乎每個部署的主要應用程式都存在漏洞,並且可能會對業務和資產造成相當大的危害。外部的駭客、甚至是內部的員工可以使用這些開放的通道來攻擊應用程式以達成破壞或盜取資訊的目的,在CERT的報告說明它有532%的增長,與前幾年相比顯示電子犯罪與入侵正在不斷增長。顯然前幾年大家花費在網路安全和其它周邊解決方案,並沒有實際解決應用程式的安全問題。
圖一描述了為何應用程式在網路和周邊解決方案中不再安全。
當今的開發人員處在盡快研發並交付下一階段產品的壓力下。功能的進度是可以直接測量的,但是軟體是否安全則無法測量。現今大多數人都同意在開始的時候就編寫安全的程式碼比將來修復程式碼來得廉價得多。傳統的至理名言告訴我們,從開發、測試到上線修復一個Bug將要花費十倍的代價。不幸地是,不僅如今還沒有編寫安全軟體的規則,開發者們也很少受到編寫安全程式碼的正式培訓。即使受過正式的培訓,開發者也是人,很難避免犯錯。

軟體安全解決方案

一般的解決方案是人工審核程式碼,雖然這是有效的解決方案之一,但是它的所必需的技術和時間;是非常昂貴的投資。此外,即使人能夠有效深入地分析局部的問題,但是同時跟蹤數以萬計的程式碼以及這些程式碼是如何產生的是人腦難以勝任的任務。這個任務適合電腦來進行分析。
現今的應用程式很少由單一的程式語言或平台來編寫。業界多採行的應用軟體多屬多層次結構,而且每一層可以用不同的程式語言來編寫,並在不同的平台上執行。安全分析軟體必須支援開發組織所使用的語言,並能夠整合不同層次的內容。一個只能分析一種或二種語言的工具在解決商業問題上是沒有效率的。
建構工具的整合和開發環境的整合是程式碼分析工具是否成功的關鍵原因。為了讓一個程式碼分析工具變成應用程式開發團隊DNA的一部分,它必須能夠方便地將用在多種平台上的現存編譯器和建構工具,如Make 和Ant,整合在一起。
Fortify Software擁有先進的技術並提出了一種能夠從內到外地保護軟體應用程式的新方案,增加軟體自身的安全性並且確保軟體自己能夠抵禦攻擊。

應用程式資安的守護神Fortify Source Code Analysis

Fortify Source Code Analysis Suite是一套能夠讓你的組織高效率掃瞄、追蹤及修復存在於應用程式內的漏洞。Fortify SCA(Source Code Analysis)為經業界證明可整合現行開發工具,提供了準確、一致的結果而大大減少了識別及修補軟體安全缺陷的時間。經過大多數高要求的商業組織機構的實際證明並且成為Software Magazine’s Jolt Award for Excellence的贏家。

Fortify SCA可以完成以下工作:

按優先級區分及修復安全漏洞。強大的分析技術,包括專利的多層次結構分析和使用最新技術的交互結果查看並將高風險的漏洞顯示在最前面。
用更少的時間審查更多的程式碼。Fortify SCA能夠高效地處理龐大而複雜的程式碼並顯示未被發現的安全問題。這在某種程度上大幅縮短了產生報告及修復漏洞的時間
增強了組織的安全技術。Fortify SCA提供給開發人員需要的安全程式碼的基礎知識技術,並且允許安全專家透過更多的專案來建立他們的知識庫。

Fortify SCA可以完成以下工作

安全團隊和開發的負責人使用Fortify SCA來執行最徹底、最完整的複查,盡可能地保證所有重要的安全漏洞在部署前被移除。另外,能夠使安全的負責人更高效地調查、審核、評價及透過先進的程式碼導航技術和便利的使用者界面特徵來標注問題的嚴重性。
軟體開發者使用開發環境(IDEs)整合Fortify SCA用來在開發階段的初期去除安全漏洞並能夠加強編碼安全措施。透過這種強大的功能,組織機構能夠在開發人員需求和安全需求之間取得一個平衡。

 

Fortify SCA是如何工作的?

Fortify SCA以一種類似於程式碼編譯器的方式處理程式碼。Fortify SCA讀取一個或一組程式碼並把它們轉換成一個對安全分析的中間結構,使用這種中間格式來定位安全漏洞。
Fortify SCA分析你的應用程式裡是否存在可被利用的安全漏洞。它使用了五個不同的分析器- 數據流、控制流、語義、結構和配置。每個分析器從不同角度分析原始碼綜合識別問題。
Fortify Software提供的高可伸縮性算法及使用擴展的安全程式碼規則包來執行一個深度的、徹底的、對應用程式,甚至是由上百萬行代碼組成的應用系統的分析。

安全程式碼碼規則包的特徵包括:

安全知識:每個規則包都存放了多年積累關於軟體的安全知識以及在程式開發過程中頻繁使用的編程技巧的資料庫,每個規則收入了一個在應用程式程式碼中特定惡意行為的表現。
即時的保護:規則包不斷地在被Fortify Software的安全專家和Fortify的合作夥伴所更新。更新是基於我們內部的分析和外部的漏洞發現。
配置安全級別:可配置的安全級別可以讓你快速查看產生的結果,這個結果尋找了每個可能的問題並按優先級區分。
自訂規則:自訂的規則包能夠被很容易的使用Rules Builder來建立,這可以滿足一些特定開發環境下的需求。Rules Builder允許你簡單地透過建立新應用程式特性、第三方程式庫等來擴展你的分析能力。
Fortify為您的單位帶來以下利益:
提高應用軟體的安全性:精確地定位應用軟體安全漏洞,如暫存溢出、字串格式漏洞、輸入未檢測和很多其他可攻擊的問題。Fortify程式碼分析程式使得貫穿軟體發展週期的開發、品質監控、專案設計和安全性審核活動能夠找到和修復漏洞。
降低成本:提高發現和修復軟體安全問題的能力。由Fortify SCA執行的自動化分析要比執行人工分析快速得多,而且成本少得多。這也使得審核人員能夠將他們的時間有效地利用在專門的案例中。
管理軟體安全性風險:Fortify程式碼分析透過允許你建立基準、設置策略和授予你能夠查看開發團隊外部內部安全程式碼開發習慣的能力,提供了一個針對應用程式安全風險管理的量化方法。