什么是Web應(yīng)用程序安全?
Web應(yīng)用程序安全是保護(hù)網(wǎng)站、應(yīng)用程序和API免受攻擊的做法。這是一門廣泛的學(xué)科,但其最終目標(biāo)是保持Web應(yīng)用程序平穩(wěn)運(yùn)行,并保護(hù)企業(yè)免受網(wǎng)絡(luò)破壞、數(shù)據(jù)盜竊、不道德競爭和其他會產(chǎn)生負(fù)面影響的后果。
互聯(lián)網(wǎng)的全球普及使Web應(yīng)用程序和API暴露于來自許多位置以及各種規(guī)模和復(fù)雜級別的攻擊。因此,Web應(yīng)用程序安全包含多種策略,涵蓋軟件供應(yīng)鏈的許多部分。
常見的Web應(yīng)用程序安全風(fēng)險(xiǎn)有哪些?
Web應(yīng)用程序可能會面臨多種攻擊類型,具體取決于攻擊者的目標(biāo)、目標(biāo)組織的工作性質(zhì)以及應(yīng)用程序的特定安全漏洞。常見的攻擊類型包括:
·零日漏洞:這些是應(yīng)用程序制造商不知道的漏洞,因此沒有可用的修復(fù)程序。我們現(xiàn)在每年看到超過20,000個(gè)零日漏洞。攻擊通常會快速利用這些漏洞,并且試圖繞過安全防護(hù)供應(yīng)商實(shí)施的保護(hù)措施。
·跨站點(diǎn)腳本(XSS):XSS是一個(gè)漏洞,攻擊者可以利用該漏洞將客戶端腳本注入網(wǎng)頁中,以便直接訪問重要信息,冒充用戶或誘使用戶泄露重要信息。
·SQL注入(SQi):SQi攻擊者通常會通過數(shù)據(jù)庫執(zhí)行搜索查詢來利用這一漏洞。攻擊者使用SQi來訪問未經(jīng)授權(quán)的信息,修改或創(chuàng)建新的用戶權(quán)限,或以其他方式操縱或破壞敏感數(shù)據(jù)。
·拒絕服務(wù)(DoS)和分布式拒絕服務(wù)(DDoS)攻擊:攻擊者可以利用多種手段和途徑通過不同類型的攻擊流量使目標(biāo)服務(wù)器或其周圍基礎(chǔ)設(shè)施超載。當(dāng)服務(wù)器不再能夠有效處理傳入請求時(shí),它開始運(yùn)行緩慢,最終拒絕為合法用戶的傳入請求提供響應(yīng)服務(wù)。
·內(nèi)存損壞:內(nèi)存中的位置被無意修改時(shí),會發(fā)生內(nèi)存損壞,從而可能導(dǎo)致軟件出現(xiàn)意外行為。惡意的攻擊者將試圖通過代碼注入或緩沖區(qū)溢出攻擊之類的方法來嗅探并利用內(nèi)存損壞。
·緩沖區(qū)溢出:緩沖區(qū)溢出是在軟件將數(shù)據(jù)寫入內(nèi)存中定義的空間(稱為緩沖區(qū))時(shí)發(fā)生的異常。緩沖區(qū)容量的溢出會導(dǎo)致相鄰的內(nèi)存區(qū)域被數(shù)據(jù)篡改??梢岳么诵袨閷阂獯a注入內(nèi)存,從而有可能在目標(biāo)計(jì)算機(jī)設(shè)備中創(chuàng)建漏洞。
·跨站點(diǎn)請求偽造(CSRF):跨站點(diǎn)請求偽造包括誘騙受害者使用其身份驗(yàn)證或授權(quán)進(jìn)行請求。通過利用用戶的帳戶特權(quán),攻擊者能夠發(fā)送偽裝成該用戶的請求。一旦用戶的帳戶受損,攻擊者便可以竊取,破壞或修改重要信息。通常會以高特權(quán)帳戶(例如管理員或高級別執(zhí)行官)為目標(biāo)。
·憑證填充:攻擊者可能會使用機(jī)器人將大量竊取的用戶名和密碼組合快速輸入到Web應(yīng)用程序的登錄門戶中。如果這種做法使攻擊者能夠訪問真實(shí)用戶的帳戶,他們可能會竊取用戶的數(shù)據(jù)或以用戶的名義進(jìn)行欺詐性購買。
·頁面抓?。汗粽哌€可能使用機(jī)器人大規(guī)模竊取網(wǎng)頁內(nèi)容。他們可能會使用所竊取到的內(nèi)容來獲得相對于競爭對手的價(jià)格優(yōu)勢,出于惡意目的或其他原因模仿頁面所有者。
·API濫用:API(應(yīng)用程序編程接口)是允許兩個(gè)應(yīng)用程序相互通信的軟件。與任何類型的軟件一樣,它們也可能存在漏洞,允許攻擊者將惡意代碼發(fā)送到其中一個(gè)應(yīng)用程序,或在敏感數(shù)據(jù)從一個(gè)應(yīng)用程序移動到另一個(gè)應(yīng)用程序時(shí)進(jìn)行攔截。隨著API使用的增加,這是一種越來越常見的攻擊類型。OWASP API Top 10清單簡明扼要地總結(jié)了當(dāng)今組織面臨的主要API安全風(fēng)險(xiǎn)。
·影子API:開發(fā)團(tuán)隊(duì)向來都會以高效的工作效率快速來滿足實(shí)現(xiàn)業(yè)務(wù)目標(biāo)的需求,在不及時(shí)通知安全團(tuán)隊(duì)的情況下頻繁構(gòu)建和發(fā)布API的情形十分常見。這些未知的API可能會暴露敏感的公司數(shù)據(jù),相當(dāng)于在“影子”中運(yùn)行,因?yàn)樨?fù)責(zé)保護(hù)API的安全團(tuán)隊(duì)并不知道它們的存在。
·第三方代碼濫用:許多現(xiàn)代Web應(yīng)用程序使用各種第三方工具——例如,使用第三方支付工具的電子商務(wù)網(wǎng)站。如果攻擊者在其中一個(gè)工具中發(fā)現(xiàn)漏洞,他們極可能會入侵該工具,竊取它處理的數(shù)據(jù)、阻止它運(yùn)行,或者利用所發(fā)現(xiàn)的漏洞在應(yīng)用程序的其他位置注入惡意代碼。Magecart攻擊就是這種攻擊類型的一個(gè)例子,它從支付處理器中盜取信用卡數(shù)據(jù)。這些攻擊也被認(rèn)為是瀏覽器供應(yīng)鏈攻擊。
·攻擊面配置錯(cuò)誤:企業(yè)或組織的攻擊面是其可能容易受到網(wǎng)絡(luò)攻擊的整個(gè)IT足跡覆蓋面:包括可從互聯(lián)網(wǎng)訪問的服務(wù)器、設(shè)備、SaaS和云資產(chǎn)。由于某些元素被忽略或配置錯(cuò)誤,此攻擊面則會比較容易成為攻擊目標(biāo)。
有哪些重要的Web應(yīng)用程序安全策略?
如前所述,Web應(yīng)用程序安全是一個(gè)廣泛的、不斷變化的學(xué)科。因此,隨著新的攻擊和漏洞的出現(xiàn),對應(yīng)的最佳實(shí)踐也會發(fā)生變化。但現(xiàn)代互聯(lián)網(wǎng)威脅形勢非常活躍,如果沒有某些符合其業(yè)務(wù)特定需求的安全服務(wù)作為“籌碼”,任何組織都無法抵擋攻擊威脅:
·DDoS緩解:DDoS緩解服務(wù)位于服務(wù)器和公共互聯(lián)網(wǎng)之間,使用專門的過濾和極高的帶寬容量來防止惡意流量激增使服務(wù)器不堪重負(fù)。這些服務(wù)很重要,即使是最具彈性的服務(wù)器也會被許多現(xiàn)代DDoS攻擊提供的惡意流量所淹沒。
·Web應(yīng)用程序防火墻(WAF):過濾掉已知或懷疑利用Web應(yīng)用程序漏洞的流量。WAF很重要,因?yàn)樾碌穆┒闯霈F(xiàn)得太快而且悄無聲息,幾乎所有組織都無法自行捕捉。
·API網(wǎng)關(guān):有助于識別被忽視的“影子API”,并阻止已知或懷疑以API漏洞為目標(biāo)的流量。它們還幫助管理和監(jiān)控API流量。(了解有關(guān)API安全性的更多信息。)
·DNSSEC:此協(xié)議可確保Web應(yīng)用程序的DNS流量安全路由到正確服務(wù)器,讓用戶不會被中間人攻擊者攔截。
·加密證書管理:由第三方管理SSL/TLS加密過程的關(guān)鍵元素,如生成私鑰、更新證書、因漏洞而撤銷證書等。這消除了這些元素被忽視和暴露私人流量的風(fēng)險(xiǎn)。
·機(jī)器人管理:它使用機(jī)器學(xué)習(xí)和其他專門的檢測方法來區(qū)分自動流量和人類用戶,并防止前者訪問Web應(yīng)用程序。
·客戶端安全:檢查新的第三方JavaScript依賴項(xiàng)和第三方代碼更改,幫助組織更快地捕獲惡意活動。
·攻擊面管理:可操作的攻擊面管理工具應(yīng)該提供一個(gè)單一的界面來有效映射攻擊面,識別潛在的安全風(fēng)險(xiǎn),而且只需幾次點(diǎn)擊即可緩解風(fēng)險(xiǎn)。
組織應(yīng)該期望他們的供應(yīng)商提供哪些應(yīng)用程序安全最佳實(shí)踐?
Web開發(fā)人員可以對應(yīng)用程序進(jìn)行精心設(shè)計(jì)和構(gòu)建,以防止攻擊者訪問私有數(shù)據(jù)、欺詐性訪問用戶帳戶和執(zhí)行其他惡意操作。OWASP Top 10清單列出了開發(fā)人員應(yīng)該注意的最常見的應(yīng)用程序安全風(fēng)險(xiǎn)。預(yù)防這些風(fēng)險(xiǎn)的做法包括:
·要求輸入驗(yàn)證:阻止格式不正確的數(shù)據(jù)通過應(yīng)用程序的工作流程,有助于防止惡意代碼通過注入攻擊進(jìn)入應(yīng)用程序。
·使用最新的加密技術(shù):以加密方式存儲用戶數(shù)據(jù),并使用HTTPS加密入站和出站流量的傳輸,協(xié)助防止攻擊者竊取數(shù)據(jù)。
·提供強(qiáng)身份驗(yàn)證和授權(quán):內(nèi)置和強(qiáng)制實(shí)施強(qiáng)密碼控制、提供包括硬密鑰在內(nèi)的多因素身份驗(yàn)證選項(xiàng)、提供訪問控制選項(xiàng)以及其他做法,讓攻擊者更難以欺詐方式訪問用戶帳戶并在您的應(yīng)用程序內(nèi)橫向移動。
·跟蹤API:有一些工具可用于識別可能構(gòu)成攻擊面的被忽視的“影子API”,如果所有API從一開始就不會被忽視時(shí),API安全管理就會變得更為容易。
·記錄代碼更改:這有助于安全和開發(fā)團(tuán)隊(duì)更快地修復(fù)新引入的漏洞。
Cloudflare如何保證Web應(yīng)用程序的安全?
Cloudflare運(yùn)行的全球網(wǎng)絡(luò)遍布300座城市,提供上面列出的多種安全服務(wù),包括DDoS緩解、Web應(yīng)用程序防火墻、API保護(hù)、DNSSEC、托管SSL/TLS、機(jī)器人管理、客戶端安全等。
這些服務(wù)都設(shè)計(jì)為可以從我們網(wǎng)絡(luò)中的任一數(shù)據(jù)中心運(yùn)行,從而使它們能夠在靠近來源的地方阻止攻擊。這些安全服務(wù)全部與我們的網(wǎng)站性能服務(wù)相集成,因此添加其中任何一項(xiàng)新的安全保護(hù)都不會造成流量減慢。此外,所有這些服務(wù)都適用于各種網(wǎng)站基礎(chǔ)設(shè)施,通常在幾分鐘內(nèi)即可啟動。