陜西中尚安全評(píng)估有限公司
公司電話:029-86689491
手機(jī):15691756786
聯(lián)系人:李總
地址:陜西省西安市經(jīng)濟(jì)技術(shù)開發(fā)區(qū)鳳城十二路66號(hào)首創(chuàng)國際城25幢12107室
網(wǎng)址:http://m.apjieming.com
發(fā)布時(shí)間:2018-06-20 字號(hào):大 中 小
web應(yīng)用程序的安全漏洞為惡意攻擊者提供了大量的機(jī)會(huì)。通過利用應(yīng)用程序體系結(jié)構(gòu)和管理中的錯(cuò)誤,攻擊者可以獲得敏感信息、干擾web應(yīng)用程序功能、執(zhí)行DoS攻擊、攻擊應(yīng)用程序用戶、滲透企業(yè)局域網(wǎng)、獲得關(guān)鍵資產(chǎn)的訪問權(quán)等。
這份報(bào)告提供了公司在2016年實(shí)施web應(yīng)用程序安全評(píng)估過程中收集到的一些數(shù)據(jù),為了便于比較,也列出了一些2014年和2015年的數(shù)據(jù)。
對(duì)這些數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,我們?cè)噲D解釋攻擊者的行動(dòng)路徑,從某個(gè)層面上回答下述疑問:web應(yīng)用程序在開發(fā)和操作過程中,需要注意哪些安全缺陷?如何識(shí)別潛在的威脅?最有效的安全評(píng)估技術(shù)是什么?同時(shí)我們還將在信息安全的背景下探討Web應(yīng)用程序開發(fā)的發(fā)展趨勢(shì)。
1 材料和方法
這份報(bào)告的數(shù)據(jù)來自于2016年評(píng)估過的73個(gè)web應(yīng)用程序,其中一些應(yīng)用程序可以在Internet上公開可用,而另一些應(yīng)用程序則用于內(nèi)部業(yè)務(wù)。本報(bào)告中排除了在滲透測(cè)試、邊界掃描和網(wǎng)上銀行安全審計(jì)中發(fā)現(xiàn)的漏洞。
漏洞評(píng)估是通過手動(dòng)的黑盒、灰盒和白盒測(cè)試(借助自動(dòng)化工具)或自動(dòng)源代碼分析進(jìn)行的。黑盒測(cè)試意味著從外部攻擊者的角度來看待應(yīng)用程序,而外部攻擊者對(duì)應(yīng)用程序沒有預(yù)先的或內(nèi)部的知識(shí)。灰盒測(cè)試類似于黑盒測(cè)試,只不過攻擊者被定義為在web應(yīng)用程序中具有某些特權(quán)的用戶。最嚴(yán)格的方法是白盒掃描,預(yù)先假定了測(cè)試者掌握了應(yīng)用程序的所有相關(guān)信息,包括它的源代碼。本報(bào)告第5節(jié)中給出了手動(dòng)安全評(píng)估的結(jié)果,而自動(dòng)化掃描結(jié)果被放在了第6節(jié)進(jìn)行展示。
根據(jù)Web Application Security Consortium Threat Classification (WASC TC v. 2)的分類方法對(duì)漏洞進(jìn)行分類,排除了輸入/輸出處理不當(dāng)?shù)那闆r,因?yàn)檫@些威脅是作為其他攻擊的一部分實(shí)現(xiàn)的。此外,我們還增加了三種類型的漏洞:不安全會(huì)話、服務(wù)器端請(qǐng)求偽造和點(diǎn)擊劫持。這些類別在WASC分類中是不存在的,但是經(jīng)??梢栽诒辉u(píng)估的web應(yīng)用程序中找到。
不安全的會(huì)話(Insecure Session),包括會(huì)話安全漏洞,比如“missing Secure and HttpOnly flags”,這允許攻擊者在各種攻擊中攔截用戶的cookie信息。
服務(wù)器端請(qǐng)求偽造(Server-Side Request Forgery),這類漏洞允許攻擊者冒充系統(tǒng)發(fā)送任意的HTTP請(qǐng)求。在接收到URL或HTTP消息后,web應(yīng)用程序在發(fā)送請(qǐng)求之前執(zhí)行了一個(gè)不充分的目的地檢查。攻擊者可以利用這個(gè)漏洞,將請(qǐng)求發(fā)送到具有受限訪問權(quán)限的服務(wù)器(例如,局域網(wǎng)上的計(jì)算機(jī)),這可能導(dǎo)致機(jī)密數(shù)據(jù)泄漏、訪問應(yīng)用程序源代碼、DoS攻擊和其他問題。例如,攻擊者可以獲取外部用戶無法使用的網(wǎng)段結(jié)構(gòu)的信息、訪問本地資源、掃描端口(服務(wù))。
點(diǎn)擊劫持(Clickjacking)是一種利用視覺欺騙用戶的攻擊手段。本質(zhì)上,一個(gè)易受攻擊的應(yīng)用程序被加載了一個(gè)透明的或偽裝的iframe,通過調(diào)整iframe頁面的位置,誘使用戶在頁面上進(jìn)行點(diǎn)擊(通常會(huì)提供一些按鈕或其他元素)。通過單擊該元素,用戶將在該網(wǎng)站的上下文中執(zhí)行攻擊者選擇的操作。當(dāng)應(yīng)用程序沒有返回X-Frame-Options header時(shí),就可能會(huì)發(fā)生這種攻擊。在某些瀏覽器中,這個(gè)漏洞也允許執(zhí)行跨站點(diǎn)腳本攻擊。
我們的報(bào)告只包含代碼和配置漏洞。其他普遍存在的安全漏洞(比如軟件更新管理過程中的缺陷),不在本文討論范圍內(nèi)。
漏洞的嚴(yán)重程度是根據(jù)通用評(píng)分系統(tǒng)(CVSS v.3)計(jì)算出來的?;贑VSS的評(píng)分,我們將漏洞分為三種危險(xiǎn)等級(jí):高、中、低。
2 關(guān)鍵發(fā)現(xiàn)
評(píng)估的所有web應(yīng)用程序都存在漏洞
在分析的所有應(yīng)用程序中都發(fā)現(xiàn)了安全漏洞。58%至少有一個(gè)高危漏洞。與此同時(shí),我們看到了一個(gè)積極的趨勢(shì):與2015年相比,有高危安全漏洞的網(wǎng)站數(shù)量減少了12%。
應(yīng)用程序的用戶不受保護(hù)
大多數(shù)應(yīng)用程序允許對(duì)其用戶進(jìn)行攻擊。此外,許多應(yīng)用程序?qū)τ脩魯?shù)據(jù)的保護(hù)不夠。例如,在處理個(gè)人數(shù)據(jù)的應(yīng)用程序中,20%的應(yīng)用程序都被我們獲取到了訪問用戶信息的權(quán)限,這中間包括銀行和政府網(wǎng)站。
敏感信息泄漏仍然是一個(gè)緊迫的問題
大約有一半的web應(yīng)用程序存在關(guān)鍵數(shù)據(jù)泄漏的問題,包括源代碼和個(gè)人數(shù)據(jù)。63%的web應(yīng)用程序公開了正在使用的軟件版本。
Web應(yīng)用程序漏洞是局域網(wǎng)滲透的一個(gè)簡單媒介
大約有1/4的web應(yīng)用程序允許對(duì)LAN資源進(jìn)行攻擊。例如,攻擊者可以訪問局域網(wǎng)中的文件、掃描局域網(wǎng)中的硬件,或者攻擊網(wǎng)絡(luò)資源。此外,1/4的web應(yīng)用程序中容易受到SQL注入(高危)的影響,這允許攻擊者訪問應(yīng)用程序的數(shù)據(jù)庫,還可能允許攻擊者讀取任意文件或創(chuàng)建新的文件,以及啟動(dòng)DoS攻擊。
制造行業(yè)的企業(yè)是最脆弱的
幾乎一半的制造業(yè)的web應(yīng)用程序在評(píng)估中都得到了最低的等級(jí)。除了金融行業(yè)之外,其他所有行業(yè)的web應(yīng)用程序都存在高危的安全漏洞,而對(duì)于金融行業(yè),“只有”38%的應(yīng)用程序存在高危漏洞。
64%的ASP.NET應(yīng)用程序包含高危漏洞
另外,大約50%的PHP和Java應(yīng)用程序中包含一個(gè)高危漏洞。PHP應(yīng)用程序受到特別的影響,存在高危漏洞的比率是1/2.8。
生產(chǎn)系統(tǒng)的應(yīng)用程序更容易受到攻擊
2016年,生產(chǎn)系統(tǒng)受保護(hù)的程度較低。在手工測(cè)試中,50%的測(cè)試系統(tǒng)和55%的生產(chǎn)系統(tǒng)都發(fā)現(xiàn)了高危漏洞。應(yīng)用程序中發(fā)現(xiàn)的高危和中危漏洞的數(shù)量,生產(chǎn)系統(tǒng)是測(cè)試系統(tǒng)的兩倍。
源代碼分析比黑盒測(cè)試更有效
對(duì)源代碼的手工分析使我們的專家能夠在75%的應(yīng)用程序中發(fā)現(xiàn)高危漏洞,而黑盒測(cè)試顯示只有49%的web應(yīng)用程序存在高危漏洞。
自動(dòng)化測(cè)試是發(fā)現(xiàn)漏洞的一種快速方法
對(duì)源代碼的自動(dòng)化分析發(fā)現(xiàn),平均每個(gè)應(yīng)用程序有4.6個(gè)高危、66.9個(gè)中危和45.9個(gè)低危漏洞。在自動(dòng)化工具的幫助下,源代碼分析可以識(shí)別出所有的出口點(diǎn),換句話說,就是可靠而快速的發(fā)現(xiàn)所有可能被利用的漏洞。
3 評(píng)估對(duì)象
評(píng)估的應(yīng)用程序,覆蓋了許多行業(yè)的多個(gè)公司,包括金融、政府、媒體、電信、制造業(yè)和電子商務(wù)。
這些應(yīng)用程序中約有有三分之二(65%)是生產(chǎn)站點(diǎn),換句話說,就是目前直接向用戶提供操作的站點(diǎn)。
今年,PHP和java是最常用的開發(fā)語言,ASP.NET應(yīng)用程序的比例與去年同期相比有所增加,“other”類別(如Ruby、Python)中開發(fā)語言的應(yīng)用程序僅占7%。
4 趨勢(shì)分析
所有的web應(yīng)用程序,無論是使用手動(dòng)的還是自動(dòng)的安全評(píng)估工具進(jìn)行檢查,都包含了各種危害級(jí)別的安全漏洞。只有1%的應(yīng)用程序具有完全的低危漏洞。我們可以看到,在具有高危漏洞的應(yīng)用程序中,情況有所改善,占比從2015年的70%下降到2016年的58%。發(fā)生這種改善的部分原因是,在開發(fā)新的web應(yīng)用程序時(shí),公司考慮到了去年的安全發(fā)現(xiàn),也許最重要的是,他們集中修復(fù)了嚴(yán)重的安全漏洞。
5 統(tǒng)計(jì)分析
在手動(dòng)測(cè)試中發(fā)現(xiàn)的所有漏洞,大多數(shù)(81%)是中危漏洞,十分之一是高危漏洞。與2015相比,高危漏洞的份額大幅度下降,但同時(shí)也看到2016年在每個(gè)應(yīng)用程序中檢測(cè)到更多的中危漏洞。
所有Web應(yīng)用程序都發(fā)現(xiàn)了安全漏洞。手動(dòng)測(cè)試揭示了分析的應(yīng)用程序中的54%存在高危漏洞,44%存在中危漏洞,僅有2%的應(yīng)用程序只有低危漏洞。
平均而言,手動(dòng)分析發(fā)現(xiàn)每個(gè)應(yīng)用程序有17個(gè)中危漏洞、2個(gè)高危漏洞和2個(gè)低危漏洞。
5.1 最常見的漏洞類型
在2016中,排名前10的漏洞類型中,有一半允許對(duì)Web應(yīng)用程序的用戶進(jìn)行攻擊。
與2015一樣,跨站點(diǎn)腳本攻擊(中危)位列首位,在被檢查的Web應(yīng)用程序中有75%個(gè)被發(fā)現(xiàn)存在XSS問題。成功利用此漏洞可能允許攻擊者向?yàn)g覽器會(huì)話注入任意的HTML標(biāo)記和Java腳本,進(jìn)而獲取會(huì)話ID、進(jìn)行網(wǎng)絡(luò)釣魚攻擊等等。
與過去幾年類似,正面技術(shù)利用其信息攻擊Web應(yīng)用程序,以創(chuàng)建最常見的攻擊列表。數(shù)據(jù)源是部署PT應(yīng)用防火墻的試點(diǎn)項(xiàng)目。為了破解網(wǎng)站或攻擊用戶,攻擊者試圖利用Web應(yīng)用程序設(shè)計(jì)和管理中的各種漏洞進(jìn)行攻擊。研究表明,參與試點(diǎn)項(xiàng)目的58%的應(yīng)用程序試圖用跨站點(diǎn)腳本攻擊用戶,這是今年評(píng)級(jí)中最常見的漏洞。
在63%的應(yīng)用程序中發(fā)現(xiàn)了泄露當(dāng)前軟件版本(指紋)信息的缺陷,位居第二。此外,超過一半的Web應(yīng)用程序(54%)容易受到信息泄漏的影響,如源代碼和個(gè)人數(shù)據(jù)泄漏。
排名第三的是暴力破解,指通過蠻力攻擊來對(duì)付可憐的或根本不存在的保護(hù)的對(duì)象。易受這種脆弱性影響的應(yīng)用程序的百分比比去年增加了10%。
不安全的會(huì)話和點(diǎn)擊劫持出現(xiàn)在我們的前10強(qiáng)名單中。這兩個(gè)類別在2016年第一次,所以無法與前一年進(jìn)行比較。盡管開發(fā)人員更加努力地、小心地消除那些可能對(duì)用戶造成威脅的高危漏洞,但造成用戶損害的缺陷卻仍在今年占據(jù)了中心地位。35%的Web應(yīng)用程序中檢測(cè)到跨站點(diǎn)請(qǐng)求偽造的漏洞,該漏洞允許攻擊者對(duì)用戶進(jìn)行攻擊。
如前所述,包含高危漏洞的網(wǎng)站的總份額已經(jīng)下降,今年只有1個(gè)高危的SQL注入漏洞排在前10名之內(nèi),但它仍然存在于25%的Web應(yīng)用程序中。根據(jù)我們的研究,這種漏洞是2016中最常用的漏洞:攻擊者試圖在84%的Web應(yīng)用程序中利用它。
在2016檢查的所有應(yīng)用程序中,有59%檢測(cè)到客戶端的漏洞。這些漏洞包括跨站點(diǎn)腳本、跨站點(diǎn)請(qǐng)求偽造、會(huì)話安全缺陷以及其他可能攻擊Web應(yīng)用程序用戶的安全問題。其余的41%的安全漏洞,主要是信息泄漏和授權(quán)認(rèn)證不足,均發(fā)生在服務(wù)器端。
檢測(cè)到的大多數(shù)漏洞(73%)都是在軟件代碼中發(fā)現(xiàn)的,它們與開發(fā)錯(cuò)誤(如SQL注入)有關(guān)。Web服務(wù)器配置錯(cuò)誤產(chǎn)生的問題大約占了四分之一。
5.2 威脅和安全級(jí)別分析
對(duì)Web應(yīng)用程序的安全級(jí)別進(jìn)行劃分,主要依據(jù)發(fā)現(xiàn)的漏洞被利用的可能性。從“非常差”到“可接受的”。一個(gè)“非常差”的安全級(jí)別,意味著高危的安全漏洞。例如,允許外部的攻擊者遠(yuǎn)程命令執(zhí)行或?qū)е旅舾行畔⑿孤丁R话銇碚f,如果Web應(yīng)用程序存在高危漏洞,其安全級(jí)別出于“非常差”到“低于平均值”的范圍內(nèi)。
Web應(yīng)用程序安全的總體水平仍然很低。專家們認(rèn)為16%的Web應(yīng)用程序的安全性“非常差”。
約有32%Web應(yīng)用程序的安全級(jí)別“非常差”,只有5%的應(yīng)用程序得到了充分保護(hù)。
2016的最低等級(jí)(”poor” 和 “extremely poor”)屬于電子商務(wù)、制造業(yè)公司和電信公司的應(yīng)用程序:它們中間半數(shù)以上的的安全級(jí)別為”poor” 或 “extremely poor”。34%的電子商務(wù)(34%)和43%的制造公司的Web應(yīng)用程序的安全等級(jí)最低:“extremely poor”。金融行業(yè)和政府的Web應(yīng)用程序的安全性稍微好一些。只有15%的電信的Web應(yīng)用程序可以吹噓為“acceptable”的安全性。媒體行業(yè)的應(yīng)用程序的樣本不足,所以無相關(guān)比例。