用什么措施來保護危在旦夕的應用程序?
雖然應用程序安全的威脅問題在變化,企業的規模大小不一,與應用程序相關的安全事件的影響程度也不同,但如果企業還沒有為應用程序部署安全防護措施,是時候抓緊了。因為這會對企業產生積極的影響。
數據竊賊首先通過登錄到保留其信用卡號的網站上,進入網站后,他們會將各種賬戶數字插入到位于瀏覽器地址欄中的一個文本串中,從而在不同的賬戶之間跳轉。黑客的代碼系統自動并大量地執行這種操作,使其可以捕獲關鍵的私密數據。
在應用程序安全方面,這種問題叫做直接對象引用。攻擊者能夠操縱對一個內部實施對象(如一個文件,目錄或數據庫的密鑰等)的直接引用來訪問未授權的數據時,就會發生這種攻擊。
這不是危言聳聽,本文將引導企業關注應用程序安全,并采取措施捍衛應用程序。
為什么現在必須著手解決應用程序的安全問題
成功的企業都能從應用程序的安全中獲益。這有多方面的原因。首先是應用程序安全威脅狀況的動態屬性。據報道,在已報告的安全漏洞中,有近一半都與Web應用程序有關,公司不但要應對各種臭名昭著的漏洞,還要應對新出現的漏洞(如移動平臺應用程序中的漏洞)。其次,是典型的應用軟件組合的規模和種類。很多企業使用的應用程序種類多達上百種上,其中包括內部開發的各種軟件,以及開源軟件、商品軟件,外包軟件等。此外,一次安全事件的實質影響所帶來的成本會更高。應用程序的安全事件,其發生的可能性、發生頻率、發生后的影響都是很高的。適時地解決此類型事件,可以有效地減少成本。
從何處開始
根據其功用,我們逐個來看一下可以有效解決應用程序安全問題的重要舉措:
1、 確認應用程序組合
如前所述,企業使用的應用程序種類很多,且隨著業務的變化,幾乎每年都在增加。而且,使用應用程序的終端用戶數量也在增加,這些因素都會極大地增加面向互聯網的企業應用程序被攻擊和滲透的可能性。顯然,首先要調查企業已擁有的應用程序都有哪些。
2、 確認最大的風險
幾乎沒有哪家公司能同時修復所有應用程序的安全漏洞。事實上,并非所有的應用程序漏洞都是一樣的(不妨回想一下其發生的可能性、發生的頻率、每次安全事件所生產的經濟影響)。所以,最合適的做法是把最高的優先權給與最大的風險。
例如,基于Web的前端應用程序,.NET應用程序,基于Java的Web應用程序,以及Web2.0應用程序被許多公司認為是具有最大風險的程序。由于企業中移動設備(如智能電話、平板電腦等)的增加,可以預見,在不遠的將來,企業級移動應用程序將會躍升為具有極大風險的程序。
3、 理解并使用自己的工具
滲透測試、應用程序漏洞掃描、人工源代碼檢查是應用程序安全領域最常見的技術。此外,還有靜態源代碼分析、動態源代碼分析等。
公司不但要知道目前正在使用、計劃、評估哪些技術和工具,更要知道哪些工具與其同類公司相關,從而達到更好的結果。要將性能和結果與人員的能力、過程、技術結合起來,用以提供最佳的防護。
4、 選擇最佳的部署方案
有多種方案可供企業選擇。例如,本地軟件、按需解決方案或軟件即服務(SaaS)。企業的部分選擇要以公司內部的熟練安全技術人員為轉移;例如,對有些企業來說,按需TaaS(測試即服務)可能是開始工作時最具成本效益的方法。而對其他公司來說,本地動態測試則可能是最恰當的方法,同時,配合企業需要的外部專家會是確保成功的明智方法。
確立明確的權責
要求一個管理人員或團隊負責一項企業范圍內應用程序安全,這對保證企業業務的可持續性發展至關重要。例如,將開發人員的部分時間用來解決應用程序漏洞掃描和滲透測試工具所確認的高風險漏洞,這樣做是否更為有效?
確認漏洞及其修復的優先順序
沒有哪家企業能夠同時修復所有的漏洞,況且所有應用程序的安全漏洞是動態變化的,所以一個高效的分類系統是至關重要的。要高度重視修復那些被評估為具有潛在影響和發生可能性的漏洞。應用程序掃描和測試工具可以幫助你確認特定的應用程序漏洞,借助于工具以及你自己的經驗和判斷你可以確定需要解決的漏洞的優先順序。
讓IT安全與應用程序開發聯合起來
通常情況下,通過對單位已經部署的應用程序實施掃描和測試技術,IT安全團隊將是開始應用程序安全工作的人員。你需要避免的是,IT安全團隊找到了漏洞,然后將其交給應用程序的開發團隊去解決。如前所述,開發人員的職責主要是增加應用軟件的功能,加速版本的更新等,而不是解決由主動掃描和測試所確認的漏洞。只有當IT安全和應用程序的開發團隊在思考問題時考慮的是“我們”而不是區分為“我們”和“他們”時,才能真正為解決問題起到建設作用。
在IT安全、操作、應用程序的開發團隊之間建立良好的交流將有助于確認和修復應用程序的安全漏洞。
采用一種主要的策略
在你主動解決問題的早期階段,你可以將主動掃描和測試中得到的結果,作為向應用程序開發團隊提供的確鑿證據。你最終將涉及討論的核心問題,即在規范的應用程序開發周期的重要階段:分析、設計、實施、測試、發布、部署、持續支持。只有這樣,你才能認識到應用程序的安全漏洞如何以最恰當的方式來確認和修復。
在這個問題上,正確的看法應當是:公司應當從源頭上解決安全問題,也就是將安全的應用程序開發工具和方法集成到軟件的開發周期中,而不是在查找、修復漏洞的旋渦中掙扎。
雖然“源頭安全”是目前最常見的方法,但它不可能一蹴而就,應在開發應用程序的過程中時刻牢記此觀念。
培訓開發人員
事實上,在應用程序安全策略中的教育和培訓中,不同的公司之間并沒有什么明顯的差距。因此公司還有很多改進的空間。簡言之,不要僅僅告訴開發人員說“你弄錯了”,而要讓其認識到如何正確地安全地開發程序。
與管理層交流
管理部門不僅要確立應用程序安全的優先權,而且要分配必要的工具和資源。安全管理人員要明明白白地表達真實的安全事件,這樣企業的領導人就會有時間來思考安全問題,從而確保資源的分配與企業的戰略保持一致。
總結
應用程序所帶來的安全威脅局勢,以及企業應用程序組合的規模和種類都在發生著變化,一次真正的安全事件的實質影響是企業在應用程序安全方面進行投資的最顯著動因。但最重要的因素是,投資于應用程序安全可以給企業帶來巨大的投資回報。最好的做法就是現在行動。企業不妨采用一種基于風險的方法:1、確認你的應用程序組合,理解企業已經擁有的應用程序種類和數量。2、確認最大的風險,把最高的優先權給與特定的應用程序。3、確認特定應用程序的漏洞,根據應用程序安全工具的使用和自己的經驗和判斷,區分應用程序修復的優先順序。
而且要理解并使用自己的工具,要充分利用應用程序漏洞的掃描、滲透測試和人工源代碼檢查、靜態源代碼分析和驗證、動態源代碼分析。實踐證明,這些工具和技術正是在安全問題上區分不同公司的關鍵所在。當然,企業必須選擇可以給企業最大靈活性的解決方案。