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