2015年04月30日,綠盟科技發(fā)布2014年互聯(lián)網(wǎng)金融安全報(bào)告。報(bào)告收集了在2014年互聯(lián)網(wǎng)金融行業(yè)中的134份安全漏洞,對(duì)互聯(lián)網(wǎng)金融常見的安全漏洞進(jìn)行了統(tǒng)計(jì)及深入分析,并從業(yè)務(wù)設(shè)計(jì)角度給出了防護(hù)方案,包括越權(quán)漏洞代碼防護(hù)、任意用戶密碼修改、惡意注冊(cè)代碼防護(hù)、惡意短信代碼防護(hù)等。報(bào)告對(duì)于互聯(lián)網(wǎng)金融組織及從業(yè)人員具有參考價(jià)值。以下是報(bào)告全文。
互聯(lián)網(wǎng)金融安全狀況堪憂。據(jù)不完全統(tǒng)計(jì),截至2014年底,已有近165家P2P平臺(tái)由于黑客攻擊造成系統(tǒng)癱瘓、數(shù)據(jù)被惡意篡改、資金被洗劫一空等。目前很多P2P平臺(tái)整體安全技術(shù)水平跟其業(yè)務(wù)的風(fēng)險(xiǎn)性不相匹配,缺乏專業(yè)、核心的防范黑客攻擊技術(shù),給了黑客乘虛而入的機(jī)會(huì),如何提升平臺(tái)安全能力成為亟待解決的問題。中國(guó)人民銀行原副行長(zhǎng)、著名經(jīng)濟(jì)學(xué)家吳曉靈表示:“根據(jù)世界反黑客組織的最新通報(bào),中國(guó)P2P已經(jīng)成為全世界黑客宰割的羔羊” 。
互聯(lián)網(wǎng)金融異軍突起。2015年3月5日,十二屆全國(guó)人大三次會(huì)議盛大召開。李克強(qiáng)總理在《政府工作報(bào)告》中多次提到互聯(lián)網(wǎng)金融,明確指出“互聯(lián)網(wǎng)金融異軍突起 ”,并提出要“促進(jìn)互聯(lián)網(wǎng)金融健康發(fā)展”。 民建中央向全國(guó)政協(xié)提交的關(guān)于進(jìn)一步規(guī)范與發(fā)展我國(guó)互聯(lián)網(wǎng)金融的提案,列出互聯(lián)網(wǎng)金融行業(yè)存在的六大突出問題,其中安全性是其中一個(gè)重要方面。
近幾年互聯(lián)網(wǎng)金融行業(yè)新上線的系統(tǒng)非常多,綠盟科技NSTRT安全團(tuán)隊(duì)收集了在2014年互聯(lián)網(wǎng)金融行業(yè)中的134份安全漏洞報(bào)告,并對(duì)漏洞類型和數(shù)量做了統(tǒng)計(jì),報(bào)告中的主要觀點(diǎn)如下:
觀點(diǎn)1:互聯(lián)網(wǎng)金融安全敲詐事件攀升,利益驅(qū)動(dòng)明顯。
觀點(diǎn)2:安全漏洞呈現(xiàn)部分集中化,個(gè)別漏洞非常普遍。
觀點(diǎn)3:互聯(lián)網(wǎng)金融行業(yè)入行門檻過低,安全開發(fā)重視不足。
觀點(diǎn)4:開發(fā)安全管理落后導(dǎo)致漏洞修復(fù)成本過高。
安全漏洞
按照漏洞類型的分類和數(shù)量統(tǒng)計(jì),我們得出了最常見的12種漏洞類型,漏洞類型按照數(shù)量和風(fēng)險(xiǎn)值進(jìn)行疊加后排序,得出如下漏洞數(shù)據(jù)分布:
安全漏洞分析
從上面的圖表中可以看到,在漏洞統(tǒng)計(jì)結(jié)果中,除了常見的一些如注入、跨站、CSRF、惡意上傳等Web漏洞外,部分金融平臺(tái)在業(yè)務(wù)功能設(shè)計(jì)上存在著嚴(yán)重的風(fēng)險(xiǎn),如任意用戶密碼重置、交易參數(shù)惡意篡改等,與常見的注入、惡意上傳不同,這些業(yè)務(wù)邏輯的漏洞不會(huì)直接影響服務(wù)器的安全,但卻會(huì)直接影響用戶的資金、賬號(hào)的安全,其風(fēng)險(xiǎn)程度有過之而無不及,若被黑客所利用或被曝光,將嚴(yán)重影響業(yè)務(wù)數(shù)據(jù)安全和平臺(tái)公信力。下面報(bào)告就常見的幾種情況做簡(jiǎn)要分析解讀:
業(yè)務(wù)設(shè)計(jì)缺陷造成的風(fēng)險(xiǎn)最高
所謂業(yè)務(wù)設(shè)計(jì)缺陷造成的風(fēng)險(xiǎn),是為區(qū)別于那些通用的常規(guī)安全漏洞。常規(guī)漏洞包括SQL注入、XSS跨站腳本漏洞、系統(tǒng)命令執(zhí)行漏洞、溢出漏洞等。業(yè)務(wù)設(shè)計(jì)缺陷造成的漏洞一般與系統(tǒng)業(yè)務(wù)掛鉤,在漏洞的利用代碼上無明顯的攻擊特征,也就難以用通用的Web應(yīng)用防護(hù)設(shè)備(例如WAF)來進(jìn)行防護(hù)。在所有漏洞類型中,因業(yè)務(wù)設(shè)計(jì)缺陷造成的安全風(fēng)險(xiǎn)占的比重高達(dá)27%。常規(guī)的安全漏洞大多數(shù)能夠用Web應(yīng)用防火墻等防護(hù)設(shè)施去進(jìn)行防護(hù),但是因業(yè)務(wù)設(shè)計(jì)缺陷造成的風(fēng)險(xiǎn)非常難以進(jìn)行通用而全面的安全防護(hù)。因此對(duì)業(yè)務(wù)設(shè)計(jì)缺陷造成的安全風(fēng)險(xiǎn)防范和檢測(cè)尤為重要。
業(yè)務(wù)設(shè)計(jì)缺陷分類統(tǒng)計(jì)
NSTRT安全團(tuán)隊(duì)根據(jù)統(tǒng)計(jì)的類型和數(shù)量,列出了在互聯(lián)網(wǎng)金融行業(yè)中比較常見的業(yè)務(wù)設(shè)計(jì)缺陷,并做了專門的典型案例介紹。值得一提的是,由于各個(gè)系統(tǒng)的業(yè)務(wù)有所差別,加上業(yè)務(wù)本身的復(fù)雜性,業(yè)務(wù)設(shè)計(jì)缺陷造成的漏洞可能是其它地方?jīng)]有遇到過的,這些非常少見的漏洞也難以進(jìn)行分類。最常見的一些業(yè)務(wù)設(shè)計(jì)缺陷分類統(tǒng)計(jì)如下表格:
平行越權(quán)是常見的業(yè)務(wù)設(shè)計(jì)缺陷
平行越權(quán)問題是指相同權(quán)限等級(jí)的不同用戶之間可以越權(quán)獲取或操作他人的數(shù)據(jù)。根據(jù)漏洞數(shù)量的統(tǒng)計(jì)結(jié)果,在所有業(yè)務(wù)設(shè)計(jì)造成的缺陷中,平行越權(quán)問題幾乎占到了一半。平行越權(quán)問題主要包括平行越權(quán)查詢、平行越權(quán)下載、平行越權(quán)修改這三種。
以越權(quán)查詢?yōu)槔诤芏嗟膱?chǎng)景下,開發(fā)人員在設(shè)計(jì)用戶查看本人信息的功能時(shí),服務(wù)端會(huì)檢查用戶是否為登錄狀態(tài),進(jìn)而判斷用戶是否具有查看信息的權(quán)限。在這樣的設(shè)計(jì)下,開發(fā)人員只考慮了用戶是否具有查詢權(quán)限或是否為登錄狀態(tài),但沒有考慮用戶查詢的具體內(nèi)容是否與用戶的權(quán)限匹配,由此造成了用戶可能查詢到其它人員的信息。
平行越權(quán)問題雖然原理上并不復(fù)雜,但是金融行業(yè)中非常常見。此類風(fēng)險(xiǎn)如此常見,安全開發(fā)意識(shí)不足是一個(gè)原因,另一方面原因是這種業(yè)務(wù)邏輯問題無法使用Web應(yīng)用防火墻等設(shè)備來進(jìn)行防護(hù)。要解決這類安全風(fēng)險(xiǎn),還要從業(yè)務(wù)安全設(shè)計(jì)和安全編碼兩個(gè)方面抓起。
XSS是最常見的安全漏洞
在每年的OWASP TOP 10中,跨站腳本漏洞(即XSS)多年來一直名列前茅。在互聯(lián)網(wǎng)金融行業(yè)中也不例外,在各種常規(guī)漏洞中,XSS是出現(xiàn)頻率最多的漏洞類型,占到了13%。其中主要包括反射型XSS和存儲(chǔ)型XSS。
跨站腳本漏洞可能會(huì)導(dǎo)致網(wǎng)頁(yè)掛馬、用戶權(quán)限被盜用、釣魚攻擊等多種安全風(fēng)險(xiǎn)。
值得一提的是,CSRF(跨站點(diǎn)請(qǐng)求偽造漏洞)也比較常見,在所有漏洞數(shù)量中占了6%。在真實(shí)的攻擊中,CSRF往往會(huì)結(jié)合XSS來一起利用,進(jìn)而形成巨大的威力。在很多情況下,利用一個(gè)存儲(chǔ)型XSS加上一個(gè)CSRF漏洞,能夠在短時(shí)間內(nèi)對(duì)大量用戶進(jìn)行攻擊,攻擊效果非常明顯。
短信驗(yàn)證是最易受攻擊的安全功能
在統(tǒng)計(jì)中高風(fēng)險(xiǎn)漏洞中,與手機(jī)短信相關(guān)的漏洞占比高達(dá)13%。在所有安全功能中風(fēng)險(xiǎn)最高。手機(jī)短信驗(yàn)證功能是一個(gè)系統(tǒng)為了驗(yàn)證用戶身份而增加的安全功能,但是這個(gè)安全功能本身卻帶來了一些直接的安全風(fēng)險(xiǎn)。在手機(jī)短信驗(yàn)證功能出現(xiàn)的風(fēng)險(xiǎn)類型中,最常見的有手機(jī)短信炸彈、手機(jī)短信驗(yàn)證流程繞過、手機(jī)短信破解、手機(jī)短信重復(fù)利用這幾個(gè)問題。
用戶登錄功能也是安全重災(zāi)區(qū)
在互聯(lián)網(wǎng)金融系統(tǒng)中,用戶登錄功能是一項(xiàng)重要的系統(tǒng)安全功能之一,也是賬號(hào)安全的第一道防線。遺憾的是,這一防線在很多地方都不夠強(qiáng)大,導(dǎo)致攻擊者往往能夠有機(jī)會(huì)突破這一防線,形成各種各樣的攻擊。
用戶登錄功能處常見的安全風(fēng)險(xiǎn)主要包括暴力破解、登錄流程繞過、用戶信息泄露、批量賬號(hào)鎖定等。
大多數(shù)地方的用戶登錄功能都有各種類型的驗(yàn)證碼校驗(yàn),但是根據(jù)統(tǒng)計(jì)發(fā)現(xiàn),很大一部分的登錄驗(yàn)證碼校驗(yàn)存在安全缺陷,導(dǎo)致攻擊者可以繞過驗(yàn)證碼進(jìn)而執(zhí)行暴力破解。
在大量用戶信息被泄露的今天,賬號(hào)的安全非常重要。在之前大量用戶數(shù)據(jù)泄露之后,暴力破解用戶賬號(hào)密碼的成功率越來越高。因此,賬號(hào)和登錄的安全值得我們重視。
互聯(lián)網(wǎng)金融安全領(lǐng)域還不成熟
考慮到互聯(lián)網(wǎng)金融行業(yè)的門檻低,效益高的特點(diǎn),互聯(lián)網(wǎng)金融行業(yè)在近幾年呈大幅度的增長(zhǎng)態(tài)勢(shì)。在金融行業(yè),銀行使用的各種網(wǎng)銀系統(tǒng)都已經(jīng)經(jīng)過了多年的安全檢測(cè),在安全性上已經(jīng)有了明顯的進(jìn)步。但是互聯(lián)網(wǎng)金融的各個(gè)平臺(tái)都還比較年輕,很多企業(yè)還沒有對(duì)自己的安全風(fēng)險(xiǎn)有足夠的認(rèn)識(shí)。例如:2014年上半年, 國(guó)內(nèi)互聯(lián)網(wǎng)安全問題反饋平臺(tái)烏云曝出某p2p平臺(tái)系統(tǒng)存在嚴(yán)重安全漏洞,稱“系統(tǒng)任意上傳漏洞涉及涉及金錢交易數(shù)千萬”,據(jù)統(tǒng)計(jì),該漏洞涉及的國(guó)內(nèi)網(wǎng)貸平臺(tái)不少于15家。
互聯(lián)網(wǎng)金融的研發(fā)團(tuán)隊(duì)大多都是新建立的團(tuán)隊(duì),開發(fā)規(guī)范不夠健全,開發(fā)人員的經(jīng)驗(yàn)和安全意識(shí)也大多參差不齊。
緊急項(xiàng)目增加安全風(fēng)險(xiǎn)
有很多企業(yè)在進(jìn)入互聯(lián)網(wǎng)金融行業(yè)的時(shí)候,沒有給系統(tǒng)的開發(fā)預(yù)留足夠多的時(shí)間,導(dǎo)致出現(xiàn)了大量的快速開發(fā)現(xiàn)象。安全分析是一項(xiàng)需要耐心而又細(xì)致的工作??焖匍_發(fā)可能會(huì)導(dǎo)致開發(fā)人員為了進(jìn)度而放棄安全上的考慮。同時(shí),在進(jìn)度的壓力下,測(cè)試人員更多的會(huì)考慮系統(tǒng)的可用性,在安全上的測(cè)試則難以顧及。
互聯(lián)網(wǎng)金融安全開發(fā)保障
我們不僅希望自己更少遇到風(fēng)險(xiǎn),更希望自己遇到風(fēng)險(xiǎn)之后能夠有足夠強(qiáng)的能力應(yīng)對(duì)。針對(duì)一個(gè)企業(yè)來說,開發(fā)人員應(yīng)該通過安全培訓(xùn)來具備足夠強(qiáng)的安全風(fēng)險(xiǎn)意識(shí)和安全開發(fā)能力。對(duì)于企業(yè)的安全管理,應(yīng)該要具備一套健全的安全開發(fā)規(guī)范制度和系統(tǒng)上線運(yùn)營(yíng)安全流程。在一個(gè)互聯(lián)網(wǎng)金融的項(xiàng)目上線之前,應(yīng)該做好完善的安全準(zhǔn)備,建立各個(gè)層面的安全防線,從項(xiàng)目的各個(gè)階段引入安全控制,從源頭上來避免安全風(fēng)險(xiǎn)。一個(gè)完善的開發(fā)項(xiàng)目應(yīng)該引入SDL(Security Development Lifecycle,安全開發(fā)生命周期)流程,從安全風(fēng)險(xiǎn)管理的視角來避免安全風(fēng)險(xiǎn)。
SDL從需求階段、設(shè)計(jì)階段、實(shí)施階段、測(cè)試階段和發(fā)布響應(yīng)階段來引入安全管理。SDL的各個(gè)階段相關(guān)內(nèi)容可參考下圖:
在各種類型的安全漏洞中,大多數(shù)常規(guī)的安全漏洞(例如XSS、SQL注入等)能夠使用Web應(yīng)用防護(hù)設(shè)備等措施來進(jìn)行通用的防護(hù),但是業(yè)務(wù)設(shè)計(jì)缺陷造成的漏洞無法用這些措施來進(jìn)行通用的防護(hù),唯一解決方案就是從設(shè)計(jì)上避免它、在代碼上修復(fù)它。
為了讓互聯(lián)網(wǎng)金融的研發(fā)團(tuán)隊(duì)能夠避免重蹈覆轍,綠盟科技NSTRT報(bào)告曾經(jīng)對(duì)最常見的一些業(yè)務(wù)設(shè)計(jì)缺陷做了詳細(xì)的介紹 ,并一一給出了對(duì)應(yīng)的防護(hù)方案,這里提要如下:
越權(quán)漏洞代碼防護(hù)
針對(duì)平行越權(quán)漏洞,我們建議讓訪問和操作的對(duì)象增加用戶屬性,當(dāng)對(duì)目標(biāo)對(duì)象進(jìn)行訪問和操作時(shí),服務(wù)端對(duì)會(huì)話和對(duì)象的用戶屬性進(jìn)行校驗(yàn),通過校驗(yàn)后再執(zhí)行讀取和操作。
針對(duì)垂直越權(quán)漏洞,我們建議使用默認(rèn)拒絕所有的訪問機(jī)制,然后對(duì)于每個(gè)功能的訪問,-明確授予特定角色的訪問權(quán)限,同時(shí)用戶在使用該功能時(shí),系統(tǒng)應(yīng)該對(duì)該用戶的權(quán)限與訪問控制機(jī)制進(jìn)行校對(duì)。
任意用戶密碼修改
針對(duì)重置密碼功能中的任意用戶密碼重置問題,首先要保證短信驗(yàn)證碼校驗(yàn)功能本身的安全,給隨機(jī)驗(yàn)證碼的認(rèn)證次數(shù)設(shè)定限制,當(dāng)認(rèn)證超過次數(shù)限制則使當(dāng)前驗(yàn)證碼失效。其次,要保證短信驗(yàn)證碼的驗(yàn)證流程不會(huì)被繞過,在短信驗(yàn)證通過之后重置密碼操作時(shí),需要從服務(wù)端會(huì)話信息來判斷用戶是否經(jīng)過了短信驗(yàn)證碼的校驗(yàn)。最后,要保證重置密碼功能不能被換位使用,重置密碼的目標(biāo)賬號(hào)不能從客戶端參數(shù)中獲得,而應(yīng)該從服務(wù)端會(huì)話信息中獲得。
惡意注冊(cè)代碼防護(hù)
惡意注冊(cè)漏洞一般是由于手機(jī)短信或郵箱認(rèn)證功能存在缺陷或能被惡意利用導(dǎo)致。在設(shè)計(jì)注冊(cè)功能時(shí),要注意對(duì)手機(jī)短信或郵件的錯(cuò)誤認(rèn)證次數(shù)設(shè)置限制。尤其要注意郵箱認(rèn)證內(nèi)容要具備不可預(yù)測(cè)性。在經(jīng)過手機(jī)或郵箱認(rèn)證后,要保證注冊(cè)的目標(biāo)賬號(hào)為會(huì)話中保存的認(rèn)證的手機(jī)或郵箱。
惡意短信代碼防護(hù)
針對(duì)惡意短信類的安全問題,我們建議可以通過以下3種方式進(jìn)行防護(hù):
1、 從服務(wù)端限制每個(gè)號(hào)碼的發(fā)送頻率和每天的發(fā)送次數(shù),防止攻擊者利用短信接口進(jìn)行惡意轟炸。
2、 在發(fā)送短信之前要求經(jīng)過圖形驗(yàn)證碼的認(rèn)證,防止攻擊者遍歷手機(jī)號(hào)來發(fā)送短信。
3、 發(fā)送短信的內(nèi)容應(yīng)直接由系統(tǒng)內(nèi)部進(jìn)行定義,客戶端可通過數(shù)字或字符的方式,對(duì)所需要發(fā)送的內(nèi)容進(jìn)行選擇,如messagetype=1 為密碼找回,messtype=2為注冊(cè),然后通過數(shù)字來索引要發(fā)送的內(nèi)容。
在曾經(jīng)很長(zhǎng)一段時(shí)間,金融行業(yè)中最典型的網(wǎng)銀系統(tǒng)經(jīng)歷了多年的安全教訓(xùn)和考驗(yàn)。如今,我們欣然看到多年前那些常見的高危漏洞在網(wǎng)銀系統(tǒng)中已經(jīng)很難被發(fā)現(xiàn)。
曾幾何時(shí),互聯(lián)網(wǎng)金融浪潮給金融行業(yè)帶來了一輪新的風(fēng)雨。它比網(wǎng)銀系統(tǒng)更加開放和多樣化,自身風(fēng)險(xiǎn)更高,防護(hù)起來更加復(fù)雜。2014年的各大安全事件讓我們認(rèn)識(shí)到,在商業(yè)利益驅(qū)動(dòng)下,風(fēng)險(xiǎn)來得比大家想的還要快。
捻亂止于河防。在2014年對(duì)互聯(lián)網(wǎng)金融行業(yè)的信息安全領(lǐng)域依然缺乏足夠的監(jiān)管,但我們相信,在各方的努力下,互聯(lián)網(wǎng)金融行業(yè)一定能夠變得安全、健康。