淺談電商系統的風控設計


風控,即風險控制,存在於各行各業中。作為一個風控方面的門外漢,風控在我心里的位置卻是極其重要的,對於電商系統,我會把風控放在命門的位置上,也就是沒有一定的風控能力,整個系統將岌岌可危,我甚至覺得沒有上線的必要,反正遲早都要被搞垮。

我這么覺得是因為知道有大量黑灰產、羊毛黨的存在,這些人已不是單打獨斗的形式,早就與時俱進地團隊作戰了。如果系統不針對這些人的行為進行防范,隨時有可能因為被惡意使用而導致系統癱瘓,從而無法給真正的用戶提供服務。因此,在電商系統里面,風控最好是一個獨立的子系統,其它子系統在進行業務交互時,先調用風控系統的接口判斷是否應該放行當前調用。

業務系統的開發人員很少會去想風控的事情,他們聚焦於提供功能服務。風控系統應該由專門的風控人員進行設計,由開發人員實現,以API的形式給其它子系統提供服務,然后業務系統開發人員在相應的地方,調用風控系統接口。然而說起來容易,實際上要做一個風控系統可真不簡單,尤其是創業初期的小團隊,要人沒人,要錢沒錢,寶寶心里苦啊。這種情況下,作為技術人員,我們也只能盡量去想象那些黑灰產人員大概都會有怎樣的行為,然后針對這些行為進行處理,雖然不會有專門的風控人員那么專業,但我相信風控的朴素邏輯應該也是這樣的。

針對任何系統的風險行為,總是有一個入口,而對於電商的業務系統來說,這些入口就是前端界面可輸入的地方,本質上是后端那些非get類型的接口。

舉例來說,消費者使用的前端是APP形式,商家使用的前端是PC Web形式的商家管理系統,那么這兩個前端界面可輸入的地方,都會存在安全隱患。這些可輸入的內容,比如文字、圖片、視頻等存在的風險,屬於內容風險。我們需要對文字進行敏感詞過濾,對圖片進行簽黃以及對圖片上的文字進行審核,對視頻的內容也需要進行審核。

光有內容審核還不夠,還需要對用戶的行為進行風險識別。比如注冊登錄時,對於惡意地大批量注冊行為、登錄時對密碼進行暴力破解等行為的識別。這些屬於行為反欺詐的一部分,首先阻止非正常用戶進入系統,也就限制了這些用戶進一步操作的能力,將風險行為扼殺在最前端以防蔓延到后端更多的子系統。

假設用戶正常通過上面的關卡進入系統了,接下來還需要進行很多的策略設計。比如對接口的權限檢查,看看該用戶是否具有調用某些接口的權限。有些人會覺得,如果用戶沒有調用該接口的權限,那APP上就不會給他操作的機會好了。這就是思維不夠全面的一個例子,接口權限是由后端控制的,用戶並不一定都通過APP來使用接口,只要你接口暴露出去了,攻擊者就可以在自己的代碼中調用接口,這時候就沒有諸如按鈕變灰不讓用戶操作這種事情的存在。假設權限檢查通過了,部分接口還是需要進行某些其它限制,比如時間間隔。假設某個用戶通過自動化腳本惡意下單不付款,可能會造成很多商家庫存一下子都變為為零(具體要看扣庫存的行為是在哪一步,下單后還是付款后)的假象,這樣會損害商家的利益,同時系統中充斥了大量惡意的無用的訂單。

即使針對上面提到的風險都進行了防范設計,但很可能做得不夠好,怎么辦呢?那就盡量隱藏后端接口相關信息吧,如果不知道后端接口地址,也就不知道怎么進行調用。我們可以對APP進行加固,防止反編譯,避免通過反編譯看到接口的地址及調用方式。目前騰訊的應用寶在進行APP上架審核時,都需要用戶先對APP進行加固,並且提供了加固工具,挺方便的。其他應用市場可能不需要加固,但我們可以使用應用寶提供的加固工具加固后,再上傳到其它應用市場。

以上就是我作為一個技術人員,暫時能想到的風險相關的內容,而即便就這么多內容,對於小公司來說,也是花大量的投入才能做好。目前一些第三方平台有相應的服務供使用,比如阿里雲的內容安全和風險識別API,是阿里自身平台沉淀下來並對外輸出的服務,其它雲平台估計也有類似服務。對於小企業來說,初期沒有辦法進行大量投入的,可考慮使用第三方服務。

前面說過,對於風控,我不是專業的,只是門外漢,這里整理了一些自己能想到的內容,如果有專業的風控人員路過,或許要被笑話了。不過沒關系,如果今后在這方面有新的想法和更多的實踐,我還會在這里繼續分享,其實就算被笑話,也並不羞恥,重要的是,自己有沒有一直在成長!

 

文章來自:技術人成長

 

歡迎關注公號:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM