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