0x00 我理解的業(yè)務(wù)安全
業(yè)務(wù)安全,按照百度百科的解釋:業(yè)務(wù)安全是指保護(hù)業(yè)務(wù)系統(tǒng)免受安全威脅的措施或手段。廣義的業(yè)務(wù)安全應(yīng)包括業(yè)務(wù)運(yùn)行的軟硬件平臺(操作系統(tǒng)、數(shù)據(jù)庫等)、業(yè)務(wù)系統(tǒng)自身(軟件或設(shè)備)、業(yè)務(wù)所提供的服務(wù)的安全;狹義的業(yè)務(wù)安全指業(yè)務(wù)系統(tǒng)自有的軟件與服務(wù)的安全。
我的理解:某個(gè)平臺上的業(yè)務(wù)是指該平臺用戶在使用過程中涉及到的一系列流程,而業(yè)務(wù)安全就是保證這些流程按照預(yù)定的規(guī)則運(yùn)行。
0x01 通用業(yè)務(wù)及威脅
由于互聯(lián)網(wǎng)企業(yè)的特性,其主要業(yè)務(wù)直接體現(xiàn)在其平臺上。其中有不少通用的業(yè)務(wù)流程:
1.賬號體系
A.注冊
B.登錄
C.密碼找回
D.用戶信息存儲
2.其他具體業(yè)務(wù)
A.購買/支付
B.優(yōu)惠活動
C.搶購活動
D.…
來看看分別有哪些威脅:
1.對于賬號體系:
A.惡意用戶批量注冊賬號
B.撞庫(賬號安全)
C.批量重置用戶賬號,威脅其他用戶賬號
2.其他具體業(yè)務(wù)
A.惡意訂單(下單未支付)
B.低價(jià)購買
C.批量刷優(yōu)惠券&其他獎(jiǎng)勵(lì)
D.搶購
E.竊取其他用戶優(yōu)惠券
F.購買限制(購買數(shù)量限制/未開放購買商品限制/特殊用戶商品限制)
G.價(jià)格爬蟲
H.作弊
I.黃牛限制
J.垃圾信息(用戶欺詐)
K.交易風(fēng)控(交易限額/交易信息/用戶支付信息)
L.信息泄露(未開放業(yè)務(wù)上線)
M.黑色產(chǎn)業(yè)
N.虛假交易(刷信用/套現(xiàn))
O.…
從上面的一些威脅可以看出,賬號體系安全是其他業(yè)務(wù)的基礎(chǔ),與許多業(yè)務(wù)直接相關(guān)。
0x02 部分威脅解決方案
可以從兩個(gè)方面尋找不同的解決方案:
1.從技術(shù)上看
A.賬號體系
a.注冊限制:
通過圖片驗(yàn)證碼、短信驗(yàn)證碼、郵件驗(yàn)證碼等增加批量注冊的成本
收集注冊用戶數(shù)據(jù),分析注冊后用戶的行為。通過對比正常用戶與馬甲用戶的行為、指紋等,標(biāo)識馬甲用戶?;騼鼋Y(jié)沒有行為的賬戶
b.登錄:
將分散的登錄入口統(tǒng)一,防止由于遺漏而造成撞庫
增加圖片驗(yàn)證碼等人機(jī)識別方式,防止登錄撞庫
限制賬號登錄頻率以及次數(shù)
通過數(shù)據(jù)分析用戶登錄趨勢圖,區(qū)分不用時(shí)間用戶嘗試登陸曲線、用戶登錄失敗曲線、用戶登錄成功曲線,可以在發(fā)生撞庫行為時(shí)做到及時(shí)響應(yīng)
提示高危賬號進(jìn)行密碼修改(登錄后推送)
建立用戶價(jià)值體系,通過用戶記錄、信用、行為等不同維度數(shù)據(jù)建立用戶價(jià)值體系
c.密碼找回
優(yōu)化密碼找回邏輯,防止邏輯錯(cuò)誤
對返回用戶信息進(jìn)行脫敏處理
通過數(shù)據(jù)分析用戶重置密碼趨勢圖,可以在發(fā)生批量用戶密碼重置時(shí)做到及時(shí)響應(yīng)
d.用戶信息存儲
例子: WooYun: 高德某站嚴(yán)重用戶信息泄漏(包含明文密碼)
對用戶信息進(jìn)行加鹽哈希等處理
B.其他具體業(yè)務(wù)
a.惡意訂單
通過用戶成功下單、支付等建立維度,凍結(jié)不符合規(guī)范的賬號,或在某段時(shí)間內(nèi)限制其下單
b.低價(jià)購買&購買限制
驗(yàn)證購買/支付流程,后臺增加校驗(yàn)機(jī)制
c.批量刷優(yōu)惠券&其他獎(jiǎng)勵(lì)&其他用戶優(yōu)惠券
例子: WooYun: 餓了么邏輯漏洞之免費(fèi)吃喝不是夢
綁定優(yōu)惠券與賬號,限制單個(gè)號碼/賬號獲取的優(yōu)惠券數(shù)量
對于批量注冊馬甲賬號的行為可以通過賬號體系進(jìn)行限制
調(diào)整獎(jiǎng)勵(lì)規(guī)則(現(xiàn)金變成券),增加使用成本(綁定身份證、銀行卡)
d.搶購&黃牛
縱深防御,從賬號體系開始
購買過程中,增加人機(jī)識別,加大惡意搶購成本
增加黃牛檢測機(jī)制,通過收貨地址、賬號、訂單數(shù)量、手機(jī)號碼、收貨人等不同維度檢測黃牛賬號
過濾從其他維度獲取的黃牛賬號
白名單用戶直接通過黃牛驗(yàn)證
將付款后異常退款加入加入黑名單,標(biāo)識賬號、收貨地址為黃牛賬號
e.價(jià)格爬蟲&信息泄露
規(guī)范業(yè)務(wù)上線流程,防止未開放業(yè)務(wù)上線
增加反爬蟲機(jī)制,對訪問來源進(jìn)行限制
f.垃圾信息(用戶欺詐)
例子: http://tech.qq.com/a/20150820/051352.htm
處理這類風(fēng)險(xiǎn)較復(fù)雜,可以從用戶行為特征、用戶賬號信任評級加以區(qū)分
同時(shí)開啟用戶舉報(bào)功能
g.交易風(fēng)控
例子:
WooYun: 攜程安全支付日志可遍歷下載 導(dǎo)致大量用戶銀行卡信息泄露(包含持卡人姓名身份證、銀行卡號、卡CVV碼、6位卡Bin)
WooYun: 騰邦國際某重要系統(tǒng)SQL注入24個(gè)庫DBA權(quán)限(涉及百萬酒店訂單信息+八萬信用卡信息+信用卡明文CVV碼)
合規(guī)性檢查,符合《銀聯(lián)卡收單機(jī)構(gòu)賬戶信息安全管理標(biāo)準(zhǔn)》
h.黑色產(chǎn)業(yè)
分析具體業(yè)務(wù),找出攻擊者獲利點(diǎn)
建立黑名單共享聯(lián)盟,將惡意的IP、用戶ID、郵箱地址、手機(jī)號碼等列入黑名單
在上面的部分中,可以對用戶行為進(jìn)行分析、建模,例如:
A.正常用戶的流程/記錄為:注冊—>登錄—>查詢—>下單—>支付—>查看訂單—>收貨
B.異常用戶的流程/記錄為:注冊—>登錄—>領(lǐng)取優(yōu)惠券
還可以對日志進(jìn)行實(shí)時(shí)分析:
A.url深度(單斜桿出現(xiàn)次數(shù))
B.訪問離散度(頁面數(shù)/訪問次數(shù))
C.200響應(yīng)比例
D.用戶訪問入口
2.從流程上看
A.項(xiàng)目立項(xiàng)風(fēng)控、安全測試介入
業(yè)務(wù)評審、評估業(yè)務(wù)風(fēng)險(xiǎn)點(diǎn)
業(yè)務(wù)上線前經(jīng)過安全測試,包括傳統(tǒng)安全、業(yè)務(wù)接口、業(yè)務(wù)邏輯、黑白盒測試
B.業(yè)務(wù)數(shù)據(jù)實(shí)時(shí)監(jiān)控
C.異常事件介入分析
通過數(shù)據(jù)實(shí)時(shí)分析,確定當(dāng)前數(shù)據(jù)是否符合預(yù)期
D.業(yè)務(wù)規(guī)則動態(tài)調(diào)整
當(dāng)出現(xiàn)非預(yù)期的狀況時(shí),適當(dāng)調(diào)整、優(yōu)化規(guī)則
E.止損控制
當(dāng)業(yè)務(wù)從需求上無法控制時(shí),就要降低損失比例,減少業(yè)務(wù)損失
F.業(yè)務(wù)隔離
隔離重要業(yè)務(wù)與風(fēng)險(xiǎn)業(yè)務(wù),使其單獨(dú)運(yùn)行
0x03 業(yè)務(wù)安全挖掘思路
要挖掘業(yè)務(wù)漏洞,需要先了解業(yè)務(wù)邏輯(業(yè)務(wù)類型/流程),評估風(fēng)險(xiǎn)點(diǎn)。在業(yè)務(wù)流程中列出正常訪問與異常訪問區(qū)別,分析攻擊者的目的及獲利方式,對癥下藥,同時(shí)還要排除傳統(tǒng)安全威脅。