報告介紹
互聯(lián)網(wǎng)+時代的到來,人們充分享受新時代科技創(chuàng)新成果的便利同時,萬物互聯(lián)帶來的信息安全風(fēng)險也日漸提高,信息泄密事件層出不窮,在資金體量龐大、用戶信息集中、安全隱患影響深遠(yuǎn)的金融領(lǐng)域,所面臨的安全問題尤為凸顯。人們真切地感知到,原有的金融服務(wù)模式被顛覆,網(wǎng)銀、第三方支付、互聯(lián)網(wǎng)金融等新興模式異軍突起。用戶也在這些新的業(yè)務(wù)模式下,將自身姓名、身份證號碼、手機(jī)號碼等身份認(rèn)證信息與業(yè)務(wù)緊密綁定關(guān)聯(lián)。所以說,互聯(lián)網(wǎng)的發(fā)展為傳統(tǒng)的信息防御體系劃開了一道口子,打破看似牢不可破的安全防護(hù)狀態(tài),直逼用戶核心數(shù)據(jù)。在這樣的背景下,本次安華金和數(shù)據(jù)庫攻防實(shí)驗室選擇以近三個月金融行業(yè)數(shù)據(jù)安全高危漏洞為分析樣本,就金融行業(yè)安全漏洞的分布狀態(tài)、原因分析及對應(yīng)的安全防御辦法詳盡描述。
本次報告核心觀點(diǎn)
金融行業(yè)漏洞細(xì)分狀況分析
金融數(shù)據(jù)泄露原因分析
金融行業(yè)漏洞入侵防御建議
報告正文
2015年9月至11月三個月的時間里,安華金和在烏云漏洞平臺上匯總金融行業(yè)已被客戶確認(rèn)的安全漏洞共206個。其中高危漏洞195個,中危漏洞9個,低危漏洞2個。而這206個漏洞中,直接與數(shù)據(jù)泄露相關(guān)的漏洞110個,占漏洞總量的的53%。
金融行業(yè)漏洞細(xì)分狀況分析
近幾年來隨著行業(yè)政策和市場需求的推動,金融行業(yè)已經(jīng)開始嘗試服務(wù)互聯(lián)網(wǎng)化,普通業(yè)務(wù)以及更深層次的業(yè)務(wù)也會逐漸互聯(lián)網(wǎng)化,逐漸促進(jìn)整個金融行業(yè)向互聯(lián)網(wǎng)全面遷移。由于金融業(yè)多金的本質(zhì),各類不法分子一直對這個行業(yè)虎視眈眈;一些內(nèi)部從業(yè)人員,也會因為利益的驅(qū)使,放下道德底線,從內(nèi)部竊取數(shù)據(jù),導(dǎo)致安全堡壘從內(nèi)部被攻破,內(nèi)外安全問題集中,使得金融業(yè)的安全更加危機(jī)四伏。金融行業(yè)多年沉淀的邊界安全防御機(jī)制應(yīng)面對互聯(lián)網(wǎng)帶來的新問題往往顯得力不從心。
安華金和本次將金融行業(yè)安全漏洞進(jìn)行了細(xì)分,以銀行、保險、互聯(lián)網(wǎng)金融、金融機(jī)構(gòu)(包括證券、基金、期貨、支付和與金融相關(guān)的其他機(jī)構(gòu))四類進(jìn)行漏洞劃分。近三個月時間在烏云已經(jīng)確認(rèn)的金融行業(yè)206個漏洞中,其中銀行42個,保險和互聯(lián)網(wǎng)金融各47個,其余來自證券、基金、期貨、支付等金融機(jī)構(gòu)。平均每月各細(xì)分領(lǐng)域曝出的漏洞在10個到20個之間。
2015年9至11月金融細(xì)分行業(yè)漏洞分布
金融機(jī)構(gòu)由于包含業(yè)務(wù)種類繁多,漏洞數(shù)量最高、新興互聯(lián)網(wǎng)金融,由于對業(yè)務(wù)的追趕速度和要求遠(yuǎn)高于安全需求,雖然業(yè)務(wù)發(fā)展不長,但暴露的安全數(shù)量和威脅卻名列前茅。截至2015年11月底,全國范圍內(nèi)近100家互聯(lián)網(wǎng)金融平臺被爆出存在漏洞。
金融數(shù)據(jù)泄露原因分析
安華金和通過對大量金融行業(yè)安全漏洞進(jìn)行統(tǒng)計分析,發(fā)現(xiàn)SQL注入依然是金融業(yè)最大威脅。命令執(zhí)行(框架漏洞)緊隨其后占據(jù)了13%的比例。而其中越權(quán)類漏洞數(shù)量占比明顯高于其他行業(yè)。
2015年9至11月金融行業(yè)安全漏洞類型
按照各行業(yè)深入探查不難發(fā)現(xiàn):
1.銀行行業(yè)中民營銀行安全漏洞數(shù)量明顯高于國有銀行。
2.金融業(yè)漏洞威脅大,高危漏洞占到總漏洞數(shù)的94.56%
3.銀行的APP業(yè)務(wù)成為隱含漏洞的重災(zāi)區(qū)
4.應(yīng)用系統(tǒng)權(quán)限繞過漏洞五花八門
5.雖然有WAF,但SQl注入依然強(qiáng)勁。
整個金融行業(yè)中漏洞種類最全的就是互聯(lián)網(wǎng)金融。下面我們著重介紹一下互聯(lián)網(wǎng)金融業(yè)中的漏洞。
互聯(lián)網(wǎng)金融安全漏洞類型
互聯(lián)網(wǎng)金融業(yè)的漏洞數(shù)量雖然不是最多,但種類最全,分布也較為平衡。因為簡單易用,用戶對互聯(lián)網(wǎng)金融的接受度普遍比較高。從各種寶到名目繁雜的P2P,互聯(lián)網(wǎng)金融是金融業(yè)界的新寵兒。但由于該行業(yè)缺乏嚴(yán)格的政策管理和代碼審計,業(yè)務(wù)發(fā)展的速度又遠(yuǎn)超安全可提供的支撐能力,前臺代碼質(zhì)量較低,導(dǎo)致出現(xiàn)大量設(shè)計邏輯錯誤、SQL注入、跨站腳本攻擊;從業(yè)人員安全意識低,管理不到位,導(dǎo)致出現(xiàn)大量弱口令、框架漏洞、配置錯誤、敏感信息泄露;軟件更新緩慢,導(dǎo)致框架錯誤。
其中最為嚴(yán)重的是系統(tǒng)設(shè)計邏輯安全威脅。這些設(shè)計錯誤多體現(xiàn)在失敗的權(quán)限約束上,形成一系列越權(quán)漏洞和SQL注入。越權(quán)本質(zhì)并不復(fù)雜,例如平行越權(quán)查詢、平行越權(quán)修改、垂直越權(quán)操作、批量注冊、人以用戶密碼修改、密碼暴力破解、平行越權(quán)下載、身份偽造漏洞、退出功能失效、任意郵箱注冊漏洞、郵箱激活功能漏洞、刷積分漏洞、邀請碼暴力破解、一號多戶問題等等。
其中越權(quán)類查詢在設(shè)計錯誤中占到了29%左右。舉個簡單的例子比如A用戶的訂單是111。B用戶的訂單號是112。A原本不能查詢B的訂單,但A用戶可以通過修改訂單號來越權(quán)查詢B的訂單,這就是一個平行越權(quán)漏洞。這類問題主要就是程序代碼自身邏輯錯誤導(dǎo)致。這和很多互聯(lián)網(wǎng)企業(yè)過度注重擴(kuò)展速度,不關(guān)注自身安全的行為很相似,需要加強(qiáng)代碼審計來規(guī)避這種風(fēng)險。
例如烏云上爆出的?wuyun-2015-147026漏洞是一個標(biāo)準(zhǔn)的因為設(shè)計權(quán)限導(dǎo)致可充值任意用戶密碼的漏洞。按照流程在網(wǎng)站上注冊一個用戶,選擇忘記密碼。去郵箱打開鏈接。重新輸入密碼和確認(rèn)密碼。點(diǎn)擊發(fā)送,劫持客戶端的網(wǎng)絡(luò)包。
在包中把當(dāng)前用戶名替換成目標(biāo)用戶名再發(fā)送給服務(wù)器,達(dá)到修改目標(biāo)用戶密碼的目的。至此入侵者獲得一組被人的賬號,為入侵者可進(jìn)一步實(shí)施入侵奠定基礎(chǔ)。
面對SQL注入雖然有WAF的輔助,但WAF難免有關(guān)鍵字過濾不到的時候。于是在金融業(yè)界出現(xiàn)了大量的SQL注入漏洞。由于WAF采用的是正則匹配的方式,于是出現(xiàn)了以下3種常見繞過WAF的手段:
(1)編碼繞過
在大小寫繞過的基礎(chǔ)上開始出現(xiàn)編碼繞過,主要出現(xiàn)了三種:URL編碼、十六進(jìn)制編碼、Unicode編碼。在瀏覽器中輸入URL會進(jìn)行一次URL編碼,黑客會通過多次編碼來進(jìn)行WAF繞過,例如:Id.php?id=1%2520union/**/select,數(shù)據(jù)庫得到的Id.php?id=1 union/**/select。如果只解碼一次得到的是Id.php?id=1%20union/**/select,很有可能繞過WAF入侵?jǐn)?shù)據(jù)庫。針對這一問題可以采用多次循環(huán)解碼來應(yīng)對。其中Unicode編碼種類很多,如果只是基于黑名單過濾,無法處理全部情況,其中UTF-32曾經(jīng)實(shí)現(xiàn)過對GOOGLE的繞過。
(2)注釋繞過
不但可以采用編碼改寫關(guān)鍵字,還可以采用注釋改寫關(guān)鍵字,避免正則匹配。例如z.com/index.php?page_id=-15%55nION/**/%53ElecT 1,2,3,4 'union%a0select pass from users#?。就是用符號編碼代替一部分字母和判定的空格來逃避正則匹配。(selectxxx不會被攔截,因為可能是函數(shù)名等。select?空格xxx則一定會被攔截,去掉空格成為繞過的關(guān)鍵)。同樣還有針對MYSQL版本的/*!5000union*/系列。
(3)等價替換
等價替換是個比較大的分類,主要可以分為等價函數(shù)、等價符號、特殊符號、比較符號等4類。
等價函數(shù),就是同功能函數(shù)替換。WAF禁止了一些函數(shù),但對另外一些函數(shù)沒有禁止例如?Substring()可以用mid(),substr()這些函數(shù)來替換。還將可以采用生僻函數(shù)迂回完成原函數(shù)的功能,進(jìn)行WAF關(guān)鍵字繞過。and or?這種關(guān)鍵字在PHP中可以用||?和&&代替。于是語句id=1 or 1=1就可以寫成id=1 || 1=來進(jìn)行繞過。同樣!=?、>、<等都可以代替等號進(jìn)行繞過。
除去繞過關(guān)鍵字和關(guān)鍵符號外,最關(guān)鍵的是繞過空格。想各種方式避免空格出現(xiàn)。
例如?原句?id=1 or 1=1
可以寫成?id=1+or+1=1
? ? ? ? ? ? id=1%0bor%0b1=1
? ? ? ? ? ? id=1--s%0aor--s%0a1=1
? ? ? ? ? ? id=1/*!or*/1=1
? ? ? ? ? ? id=1()or(1=1)?等多種形式進(jìn)行嘗試?yán)@過
金融行業(yè)漏洞入侵防御建議
金融行業(yè)除去人為因素造成的漏洞外,最主要的兩大類漏洞分別是SQL注入和程序邏輯錯誤。
1.解決人為因素
人為因素會造成弱口令、錯誤配置等。人為因素只能從人的角度進(jìn)行規(guī)范。通過加強(qiáng)安全團(tuán)隊建設(shè)、人員安全意識培訓(xùn)等方式應(yīng)該可以解決人為因素造成的問題。
2.解決SQL注入
SQL注入是金融行業(yè)數(shù)據(jù)安全面臨的最大威脅。只依賴WAF不足以完全保障程序免收SQL注入的困擾。這是由于WAF擅長解析過濾http協(xié)議,不能對SQL進(jìn)行解析過濾。針對這個缺陷,可以在WEB應(yīng)用和數(shù)據(jù)庫之間加入數(shù)據(jù)庫防火墻進(jìn)行SQL部分的解析和過濾。數(shù)據(jù)庫防火墻對從WEB應(yīng)用發(fā)向數(shù)據(jù)庫的SQL語句進(jìn)行語法解析,可以理解SQL語句的真實(shí)含義,并做以下四點(diǎn)判斷:
語句是否含有明顯的SQL注入特征;
語句訪問的對象是否屬于該用戶訪問權(quán)限;
語句的關(guān)鍵謂詞是否被禁用;
限制語句的返回行數(shù),把危險控制在最低限。
加入數(shù)據(jù)庫防火墻后,數(shù)據(jù)庫防火墻會在WEB應(yīng)用和數(shù)據(jù)庫之間獲取WEB應(yīng)用發(fā)送給數(shù)據(jù)庫的SQL語句。通過拿到的SQL語句,按照不同數(shù)據(jù)庫進(jìn)行SQL協(xié)議解析,通過協(xié)議解析把應(yīng)用發(fā)送的SQL語句還原成標(biāo)準(zhǔn)模式(去掉各種加入的符號,轉(zhuǎn)譯碼等),防止黑客利用上述繞過WAF的手法繞過數(shù)據(jù)庫防火墻進(jìn)行SQL注入。
首先還原后的SQL語句和黑名單中的禁止語句結(jié)構(gòu)進(jìn)行匹配,如果認(rèn)為是威脅語句,則禁止該語句發(fā)送到數(shù)據(jù)庫端,并通過發(fā)送短信、郵件等方式及時通知管理員進(jìn)行處理;語句結(jié)構(gòu)判斷沒有問題后防火墻接下來會對語句中的操作對象和謂詞進(jìn)行判斷,如果對象或謂詞有控制,則依舊禁止該語句發(fā)送到數(shù)據(jù)庫端;最后即便規(guī)則全部符合,SQL語句被發(fā)送到數(shù)據(jù)庫端,數(shù)據(jù)庫防火墻還可以通過行數(shù)控制來限制數(shù)據(jù)庫每次的返回行數(shù)把威脅減到最小。
3.解決程序邏輯錯誤
程序邏輯錯誤主要指每個用戶權(quán)限的劃分時存在邏輯問題。這需要對業(yè)務(wù)系統(tǒng)中邏輯錯誤進(jìn)行代碼修改,并加強(qiáng)關(guān)鍵部分的邏輯防守。特別需要注意加強(qiáng)防守的功能點(diǎn)有購物車、支付功能、提現(xiàn)功能、用戶數(shù)據(jù)查詢、訂單數(shù)據(jù)查詢、API接口、密碼設(shè)置/重置等。同時要注重重要業(yè)務(wù)系統(tǒng)的運(yùn)維管理、遵循安全開發(fā)最佳實(shí)踐、對密碼本身進(jìn)行可靠的存儲(數(shù)據(jù)庫中只存儲加鹽的HASH而不是密碼本身)、使用加密的傳輸協(xié)議。
安全其實(shí)就是這樣一種形態(tài),平時不出狀況看不到安全的效果,一旦爆發(fā)數(shù)據(jù)泄露事件,無論對于企業(yè)還是用戶本身,甚至國家信息安全,其損失不可估量。業(yè)務(wù)在發(fā)展,安全領(lǐng)域攻與防的對抗將長期持續(xù)。
?
作者:
劉思成:[email protected]?微信:liusc87
付蓉潔:[email protected]?微信:bernice-fu
沈雪峰:[email protected]?微信:shenfeng617
版權(quán)所有:鄭州三中網(wǎng)安科技有限公司 豫ICP備2020036495號-1 ?? | 豫公網(wǎng)安備 41019702002241號 | 站點(diǎn)地圖 | 人才招聘 | 聯(lián)系我們 |