根據(jù)Akamai發(fā)布的最新數(shù)據(jù)顯示,針對(duì)Web應(yīng)用程序的攻擊正在增加,2017年第四季度的Web應(yīng)用程序攻擊數(shù)量與2016年同期相比增加了10%。
該公司的高級(jí)安全倡導(dǎo)者M(jìn)artin McKeay在其最近的《互聯(lián)網(wǎng)安全狀態(tài)報(bào)告》中寫道,
絕大多數(shù)的Web應(yīng)用程序攻擊都是非目標(biāo)掃描尋找易受攻擊系統(tǒng)的結(jié)果,但也有少數(shù)攻擊者試圖破壞特定目標(biāo)。但是,無論是有目標(biāo)還是無目標(biāo)的Web應(yīng)用程序攻擊都是非常頻繁且“難辨的”——換句話說,就是很難準(zhǔn)確檢測(cè)到,很多組織都只是簡(jiǎn)單地運(yùn)行著Web應(yīng)用程序防火墻,沒有任何額外防御層來檢測(cè)系統(tǒng)究竟丟失了哪些信息。
組織需要改進(jìn)他們的安全編碼實(shí)踐以降低自身在網(wǎng)絡(luò)中的安全風(fēng)險(xiǎn)。以下這份清單重點(diǎn)介紹了組織的Web應(yīng)用程序所面臨的一些最大威脅:
1.SQL注入漏洞
Web應(yīng)用程序大多涉及服務(wù)器端的動(dòng)態(tài)處理,同時(shí),開發(fā)人員可能在開發(fā)過程中疏忽參數(shù)的輸入檢查,因此會(huì)出現(xiàn)各種Web應(yīng)用安全問題,并產(chǎn)生相關(guān)漏洞,例如目錄遍歷漏洞、信息泄露漏洞以及SQL注入漏洞等,給攻擊者留下可乘之機(jī)。
而由于SQL注入漏洞利用Web應(yīng)用開放的端口,通常防火墻等設(shè)備無法檢測(cè)到,所以其隱蔽性非常高,如果攻擊者不留下痕跡,或是管理員沒有查看數(shù)據(jù)庫(kù)日志的習(xí)慣,就基本上不會(huì)發(fā)現(xiàn)其存在。
自安全研究人員Jeff Forrestal首次詳細(xì)介紹了第一個(gè)SQL注入漏洞至今,已經(jīng)過去了20余年。但是,即便是現(xiàn)在,SQL注入仍然是大量網(wǎng)站和Web應(yīng)用程序的重要威脅。根據(jù)美國(guó)國(guó)家漏洞數(shù)據(jù)庫(kù)(NVD)的統(tǒng)計(jì)數(shù)據(jù)顯示,SQL注入在針對(duì)Web應(yīng)用程序攻擊手段中名列榜首,是互聯(lián)網(wǎng)最大的安全漏洞。
此外,根據(jù)Alert Logic發(fā)布的另一項(xiàng)最新研究顯示,SQL注入攻擊仍然是長(zhǎng)期以來最主要的Web攻擊類型,其在安全監(jiān)控公司跟蹤的所有客戶攻擊事件中占據(jù)55%。
2.不安全的反序列化
序列化就是把對(duì)象轉(zhuǎn)換成一種數(shù)據(jù)格式,如Json、XML等文本格式或二進(jìn)制字節(jié)流格式,便于保存在內(nèi)存、文件、數(shù)據(jù)庫(kù)中或者在網(wǎng)絡(luò)通信中進(jìn)行傳輸。反序列化是序列化的逆過程,即由保存的文本格式或字節(jié)流格式還原成對(duì)象。
很多編程語(yǔ)言都提供了這一功能,但不幸的是,如果應(yīng)用代碼允許接受不可信的序列化數(shù)據(jù),在進(jìn)行反序列化操作時(shí),可能會(huì)產(chǎn)生反序列化漏洞,黑客可以利用它進(jìn)行拒絕服務(wù)攻擊、訪問控制攻擊和遠(yuǎn)程命令執(zhí)行攻擊。
事實(shí)上,反序列化漏洞已經(jīng)出現(xiàn)很久了,一直到現(xiàn)在都很流行,以致OWASP組織將“不安全的反序列化”列為2017年10項(xiàng)最嚴(yán)重的Web應(yīng)用程序安全風(fēng)險(xiǎn)榜的第8位。針對(duì)不安全的反序列化的攻擊所能造成的破壞類型最明顯的例子之一,就是2017年Equifax公司發(fā)生的大規(guī)模泄漏事件,據(jù)悉,Equifax公司正是由于未安裝補(bǔ)丁以修復(fù)Apache Struts中的相關(guān)安全漏洞,才導(dǎo)致于去年夏季發(fā)生了大規(guī)模的數(shù)據(jù)泄露事件。
3.依賴有風(fēng)險(xiǎn)的開源組件
說到Equifax數(shù)據(jù)泄露事件,攻擊者所利用的反序列化漏洞并非存在于底層軟件代碼本身。相反的,它是存在于廣泛使用的Apache Struts組件(嵌在軟件中)之中。
這突出體現(xiàn)了Web應(yīng)用安全中的另一個(gè)致命隱患——即依賴有風(fēng)險(xiǎn)且未打補(bǔ)丁的開源組件。開發(fā)商越來越多地使用開源組件來構(gòu)建他們的軟件,而且通常不去跟蹤哪個(gè)組件被部署到了哪些地方,更不用說跟蹤哪些版本被使用以及這些組件本身是否依賴于其他易受攻擊的組件。
Arbor Networks公司安全評(píng)估工程師Will Chatham表示,
開發(fā)人員傾向于更多的依賴給定JavaScript庫(kù)的流行度來確定其安全性,這就產(chǎn)生了一個(gè)錯(cuò)誤的假設(shè)——即如果很多開發(fā)人員正在使用它,那么它必然是安全的。顯然,這是一種非常錯(cuò)誤的想法。在一個(gè)框架內(nèi),一個(gè)庫(kù)可能依賴另一個(gè)庫(kù),從而形成一個(gè)錯(cuò)綜復(fù)雜的依賴關(guān)系鏈。在這些鏈條的深處,可能存在缺乏安全保護(hù)的庫(kù),甚至可能容易受到多種類型的惡意行為的影響,從而導(dǎo)致他們面臨所謂的‘供應(yīng)鏈攻擊’。
4.沒有內(nèi)容安全策略來阻止XSS
Imperva公司的Daniel Svartman解釋稱,
跨站點(diǎn)腳本(XXS)是一種常見的向量,可以將惡意代碼插入到易受攻擊的Web應(yīng)用程序中。與其他Web攻擊類型(如SQLi)不同,其目標(biāo)不是您的Web應(yīng)用程序。相反地,它針對(duì)的是您的用戶,從而損害客戶安全以及組織的聲譽(yù)。
不過,與SQLi一樣的是,XSS也已經(jīng)存在了很長(zhǎng)一段時(shí)間,且至今仍在威脅組織安全。正如Mozilla的April King所解釋的那樣,阻止XSS攻擊最有效的方法之一就是使用內(nèi)容安全策略(Content Security Policy,簡(jiǎn)稱CSP),該策略的普及率已經(jīng)實(shí)現(xiàn)了大幅的增長(zhǎng),但仍然很少被大多數(shù)網(wǎng)站使用。
根據(jù)Mozilla Observatory(一款網(wǎng)站分析工具)針對(duì)Alexa排名前一百萬(wàn)的網(wǎng)站進(jìn)行的掃描結(jié)果顯示,只有大約0.022%的網(wǎng)站使用了內(nèi)容安全策略(CSP)。此外,使用了內(nèi)容安全策略但忽略了串聯(lián)式樣式表(Cascading Style Sheets,簡(jiǎn)稱CSS)的網(wǎng)站比率略有提高,占據(jù)Alexa Top 1M的0.112%。
5.信息泄露助力黑客攻擊
據(jù)White Hat Security公司稱,每?jī)蓚€(gè)應(yīng)用程序中就有一個(gè)具有某種類型的信息泄漏漏洞。同時(shí),Veracode認(rèn)為這一比例應(yīng)該更高,所有應(yīng)用程序中有65.8%會(huì)顯示有關(guān)應(yīng)用程序、網(wǎng)絡(luò)環(huán)境或用戶的敏感信息,這些信息可能會(huì)被惡意行為者用于當(dāng)前的或未來的針對(duì)應(yīng)用程序的攻擊活動(dòng)。
White Hat分析公司在其《2017年應(yīng)用程序安全統(tǒng)計(jì)報(bào)告》中解釋稱,
根據(jù)泄露信息的具體內(nèi)容,其危害程度也不盡相同,它可能與泄露的用戶名和密碼一樣嚴(yán)重,也可能與泄露的軟件版本號(hào)一樣是‘良性的’。好消息是,它通常只需要進(jìn)行一個(gè)簡(jiǎn)單的重新配置修復(fù),但修復(fù)通常取決于泄露的數(shù)據(jù)類型——敏感的泄露問題得到了解決,其他的問題則沒有。
問題在于,即使像軟件版本號(hào)這樣“良性的”泄漏事件也會(huì)為黑客的攻擊行為帶來啟示。通常而言,即使是再小的信息泄露也可以為惡意行為者提供可用于構(gòu)建未來攻擊藍(lán)圖的信息。
6.API缺陷
據(jù)Chatham稱,去年在Web應(yīng)用程序中出現(xiàn)的最大威脅之一就是安全性較差的API。他說,
近些年來,API越來越流行,開發(fā)人員在構(gòu)建應(yīng)用程序時(shí)開始更頻繁地使用它們,作為將其服務(wù)或數(shù)據(jù)提供給其他應(yīng)用程序的一種方式。但是不幸的是,它們正在被實(shí)現(xiàn)到Web應(yīng)用程序中,且完全忽略了安全問題。讓情況變得更糟的是,欠缺保護(hù)的API往往并非傳統(tǒng)應(yīng)用安全測(cè)試過程的一部分。
這可能就是OWASP去年將“不受保護(hù)的API”列入其“web應(yīng)用程序十大安全風(fēng)險(xiǎn)”榜單前十名的原因。隨著越來越多的組織將API用作當(dāng)今DevOps商店所青睞的各種輕量級(jí)快速部署軟件之間的“潤(rùn)滑劑”,這種威脅勢(shì)必會(huì)引發(fā)更為廣泛的關(guān)注。
根據(jù)Imperva幾個(gè)月前進(jìn)行的研究顯示,公司平均管理著363種不同的API,其中三分之二是面向公眾和其合作伙伴的公開API。
7. 忽略傳輸層保護(hù)
好消息是,現(xiàn)在組織在部署HTTPS方面變得越來越積極。但壞消息是,部署現(xiàn)狀仍不容樂觀,還有很長(zhǎng)的路要走。
根據(jù)上個(gè)月Mozill Observatory進(jìn)行的掃描結(jié)果顯示,在Alexa排名前一百萬(wàn)(Top 1M)網(wǎng)站中,大約有54.3%的網(wǎng)站使用了HTTPS,這一比例較去年夏天增長(zhǎng)了19%。但是,這仍然意味著還有大約一半的頂級(jí)網(wǎng)站仍在使用落后且不安全的HTTP協(xié)議。
所以可以說,想要實(shí)現(xiàn)讓大多數(shù)網(wǎng)站禁用HTTP的目標(biāo),仍然還有很長(zhǎng)的路要走。這一過程需要通過HSTS實(shí)現(xiàn),它是國(guó)際互聯(lián)網(wǎng)工程組織IETE正在推行一種新的Web安全協(xié)議,旨在幫助網(wǎng)站將用戶從不安全的HTTP版本重定向到安全的HTTPS版本,強(qiáng)制客戶端(如瀏覽器)使用HTTPS與服務(wù)器創(chuàng)建連接。而根據(jù)Mozilla的掃描結(jié)果顯示,使用HSTS的網(wǎng)站僅占Alexa Top 1M的6%左右。