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