隨著網(wǎng)絡威脅變得越來越強大和越來越普遍,檢測應用程序中的安全漏洞至關重要。
應用程序安全性是一個通過查找、修復和增強應用程序安全性以使應用程序更安全的流程。雖然大部分發(fā)生在開發(fā)階段,但是其中包含了可在應用程序部署后對其進行保護工具和方法。隨著黑客越來越多地將他們的攻擊目標鎖定為應用程序,這一流程也變得越來越重要。
應用程序安全性正在受到越來越多的關注。目前已經(jīng)有數(shù)百種工具可用于保護應用程序組合的各種組件,從鎖定編碼更改到評估不經(jīng)意的編碼威脅,評估加密選項以及審核權限和訪問權限。移動應用程序、基于網(wǎng)絡的應用程序以及為Web應用程序設計的防火墻也都有專門的工具。
應用程序的安全性為什么如此重要
安全測試公司Veracode在其發(fā)布的《軟件安全狀況》報告中指出,其測試的85000個應用程序中有83%至少存在一個安全漏洞。許多應用程序則有著更多的漏洞,因為他們的研究總共發(fā)現(xiàn)了1000萬個漏洞,并且在所有應用程序中,20%至少有一個嚴重的漏洞。雖然所有這些漏洞并非都會構成重大的安全風險,但是數(shù)量之多令人感到不安。
在軟件開發(fā)過程中越早越快發(fā)現(xiàn)并修復安全問題,企業(yè)也就越安全。每個人都會犯錯誤,因此能否及時發(fā)現(xiàn)這些錯誤是一項挑戰(zhàn)。例如,常見的編碼錯誤可能允許未經(jīng)驗證的輸入。這個錯誤可能演變成SQL注入攻擊,如果黑客發(fā)現(xiàn)了它們就導致數(shù)據(jù)泄漏。
集成到應用程序開發(fā)環(huán)境中的應用程序安全工具可以讓這一流程和工作流變得更為簡潔高效。如果要進行合規(guī)性審核,那么這些工具也是非常有用的,因為它們可在審核人員發(fā)現(xiàn)問題之前找到問題,從而節(jié)省了時間和費用。
在過去幾年中,企業(yè)應用程序的構建方式在不斷地發(fā)生著變化,這有力地推動了應用程序安全領域的快速增長。如今,IT部門需要數(shù)月時間才能完善需求、構建和測試原型并將最終產(chǎn)品交付給最終用戶部門的日子已經(jīng)一去不復返了。這種理念在現(xiàn)在看來也已經(jīng)過時了。
取而代之的是被稱為連續(xù)部署和集成的新工作方法,這些方法每天(有時甚至是每小時)都會優(yōu)化應用程序。這意味著安全工具必須在這個持續(xù)變化的環(huán)境中工作,并迅速發(fā)現(xiàn)代碼中的問題。
Gartner在有關應用程序安全炒作周期的報告中指出,IT經(jīng)理“需要識別常見的應用程序開發(fā)中的安全性錯誤并防止常見的攻擊技術。”Gartner的報告列舉了十幾種不同類別的產(chǎn)品,并詳細描述了它們在“炒作周期”中的位置。
在這些類別中,許多正在興起并且使用了相對較新的產(chǎn)品。這表明隨著威脅變得越來越復雜,越來越難以被發(fā)現(xiàn),并且對網(wǎng)絡、數(shù)據(jù)和企業(yè)聲譽的潛在損害更為嚴重,同時市場也正在迅速發(fā)展。
應用程序安全工具
盡管已經(jīng)有了許多應用程序安全軟件產(chǎn)品類別,但是問題的關鍵在于以下兩個方面:安全性測試工具和應用程序屏蔽產(chǎn)品。前者有著一個更加成熟的市場和數(shù)十家知名供應商,其中不乏軟件行業(yè)中的佼佼者,例如IBM、CA和MicroFocus。這些工具已經(jīng)非常完善,Gartner為此創(chuàng)建了一個魔力象限并對其重要性和成功進行了分類。IT CentralStation之類的評論網(wǎng)站也對這些供應商進行調查和排名。
Gartner將安全測試工具分為以下幾個大類,這對確定以什么方式保護需要保護的應用程序組合非常有用:
●靜態(tài)測試,用于在開發(fā)過程中分析固定節(jié)點上的代碼。這有助于開發(fā)人員在編寫代碼時檢查代碼,以確保在開發(fā)期間引入了安全性問題。
●動態(tài)測試,用于分析正在運行的代碼。由于它們可以模擬對生產(chǎn)系統(tǒng)的攻擊并揭示使用聯(lián)合系統(tǒng)發(fā)展出的更復雜的攻擊模式,因此非常有用。
●交互式測試,其結合了靜態(tài)和動態(tài)測試的元素。
●移動測試,是專門針對移動環(huán)境設計的,其可以檢查攻擊者是如何利用移動操作系統(tǒng)及在其上運行的所有應用程序。
另一種測試工具的分類方法是看它們的交付方式,是通過本地部署工具還是通過基于SaaS的訂閱服務(提交代碼進行在線分析)交付的。有的同時采取了上述兩種方式。
需要注意的是每個測試服務提供商都有自己支持的編程語言。有些將他們的工具限制為僅一種或兩種語言(Java通常是一個安全的選擇)。另一種被廣泛支持的是Microsoft .Net。集成開發(fā)環(huán)境(IDE)也是如此:某些工具可以作為這些IDE的插件或擴展來運行,這使得測試代碼就如同點擊按鈕一樣簡單。
另一個問題是,是否將任何工具與其他測試結果隔離開來,或者是否可以將其整合到自己的分析中。IBM是少數(shù)幾家能夠從手工代碼審查,滲透測試,漏洞評估和競爭對手的測試中導入發(fā)現(xiàn)結果的廠商。如果有多個工具需要跟蹤,那么這將非常有用。
此外,不要忽視應用程序屏蔽工具。這些工具的主要目的是強化應用程序的安全性,讓攻擊變得更加困難。這是一個較少提及的領域。在這里,你會發(fā)現(xiàn)大量的小眾產(chǎn)品。許多情況下,這些產(chǎn)品的歷史和客戶群都很有限。其目標不僅是測試漏洞,還可以積極防止應用程序損壞或受到破壞。它們可以分為以下幾個不同的大類:
●運行時應用程序自我保護(RASP):這些工具可以被視為是測試和屏蔽的組合。它們提供了一些措施,防止可能的逆向工程攻擊。RASP工具會持續(xù)監(jiān)視應用程序的行為,這在移動環(huán)境中非常有用,尤其是當應用程序可以被重寫,或是在root過的手機上運行,亦或是將濫用權限轉變?yōu)閻阂庑袨闀r。RASP工具可以發(fā)送警報,終止錯誤流程或在發(fā)現(xiàn)受到威脅時終止應用程序本身。
RASP可能會成為許多移動開發(fā)環(huán)境中的默認設置,并被內(nèi)置作為其他移動應用程序保護工具的一部分。我們期望看到擁有可靠的RASP解決方案的軟件供應商建立起更多的聯(lián)盟。
●代碼混淆:黑客經(jīng)常使用混淆方法來隱藏其惡意軟件?,F(xiàn)在工具也可以讓開發(fā)人員這樣做,以幫助保護其代碼免受攻擊。
●加密和防篡改工具:這些工具可以用來阻止不法之徒洞悉我們的代碼。
●威脅檢測工具:這些工具會檢查應用程序正在運行的環(huán)境或網(wǎng)絡,并對潛在威脅和濫用的信任關系進行評估。一些工具還可以提供設備“指紋”,以確定手機是否已經(jīng)被root或是遭到破壞。
應用程序安全挑戰(zhàn)
部分問題在于IT必須滿足多個不同層面的要求才能保護其應用程序安全。他們首先必須跟上不斷發(fā)展的安全和應用程序開發(fā)工具市場,但是這只是切入點。
隨著越來越多的企業(yè)更深入地接觸數(shù)字產(chǎn)品,并且他們的應用程序組合需求也變成了更為復雜的基礎架構,因此IT部門必須要預測業(yè)務需求。與此同時,他們還必須了解如何構建和保護SaaS服務。這是一個非常頭疼的問題,最近對500位IT經(jīng)理進行調查后發(fā)現(xiàn),他們普遍缺乏基本的軟件設計知識。該報告指出,“首席信息官可能會發(fā)現(xiàn)自己在企業(yè)高管中處于極為尷尬的位置,需要負責降低復雜性、保持預算和加快現(xiàn)代化以適應業(yè)務需求。”
最終,應用程序安全性的責任可能會在IT運營中分解到多個不同的團隊中。網(wǎng)絡人員可能負責運行Web應用程序防火墻和其他以網(wǎng)絡為中心的工具,服務器人員可能負責運行面向端點的測試,各個開發(fā)小組可能還要負責其他的一些工作。這導致很難開發(fā)出一種可以滿足每個人需求的工具,這也是市場會變得如此分散的原因。
應用程序安全趨勢
2019年,Imperva發(fā)布了《2018年度Web應用程序漏洞狀態(tài)》??傮w調查結果是積極的。盡管Web應用程序漏洞的數(shù)量持續(xù)增長,但是增長速度正在放緩。
這主要歸功于物聯(lián)網(wǎng)漏洞的減少,2018年僅報告了38個新漏洞,而2017年為112個。API漏洞在2018年增加了24%,但是還不及2017年的一半(2017年的增長率為56%)。
據(jù)Imperva的報告顯示,出現(xiàn)大量漏洞的另一個領域是內(nèi)容管理系統(tǒng),尤其是Wordpress。該平臺報告的漏洞數(shù)量增加了30%。
該報告指出,盡管Drupal內(nèi)容管理系統(tǒng)不如Wordpress那么受歡迎,但是由于存在兩個漏洞:Drupalgeddon2(CVE-2018-7600)和Drupalgeddon3(CVE-2018-7602)而成為了攻擊者的目標。這兩個漏洞都允許攻擊行為連接到后端數(shù)據(jù)庫,使用惡意軟件掃描并感染網(wǎng)絡和客戶端,或者是挖掘加密貨幣。Imperva稱在2018年阻止的攻擊中,使用這些漏洞的攻擊超過了50萬次。
Veracode報告顯示最常見的漏洞類型為:
●信息泄漏(64%)
●密碼問題(62%)
●CRLF注入(61%)
●代碼質量(56%)
●輸入驗證不足(48%)
●跨站點腳本(47%)
●目錄遍歷(46%)
●憑證管理(45%)
以上的百分比代表測試應用程序中的普遍性。自從Veracode在十年前開始跟蹤這些漏洞以來,上述所有漏洞的發(fā)生率都在增加。
Veracode的研究發(fā)現(xiàn)了一個積極趨勢,那就是在修復應用程序漏洞的速度和時間方面,應用程序掃描發(fā)生了很大的變化。總體修復率(尤其是針對高危漏洞的修復率)正在提升,由2018年的52%提高到了56%,級別最高的高危漏洞的修復率達到了75.7%。經(jīng)常掃描和測試軟件的DevSecOps方法可縮短修復漏洞的時間。每年被掃描12次或更少次數(shù)的應用程序的修復時間平均為68天,而每天至少掃描一次可以將修復時間提高到19天。
作者:David Strom 在CSOOnline、Network World、Computerworld網(wǎng)站和其他出版物上發(fā)表了許多以安全性、網(wǎng)絡和通信為主題的文章。
編譯:陳琳華
原文網(wǎng)址:https://www.csoonline.com/article/3315700/what-is-application-security-a-process-and-tools-for-securing-software.html