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