28

浅谈电商系统的风控设计

 3 years ago
source link: https://www.nndev.cn/archives/2007
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

跳至内容

技术人成长 – 聊技术,话成长

C/C++ C# Java Python PHP JavaScript 云计算 大数据 物联网 人工智能 区块链

risk-defence.jpg

风控,即风险控制,存在于各行各业中。作为一个风控方面的门外汉,风控在我心里的位置却是极其重要的,对于电商系统,我会把风控放在命门的位置上,也就是没有一定的风控能力,整个系统将岌岌可危,我甚至觉得没有上线的必要,反正迟早都要被搞垮。

我这么觉得是因为知道有大量黑灰产、羊毛党的存在,这些人已不是单打独斗的形式,早就与时俱进地团队作战了。如果系统不针对这些人的行为进行防范,随时有可能因为被恶意使用而导致系统瘫痪,从而无法给真正的用户提供服务。因此,在电商系统里面,风控最好是一个独立的子系统,其它子系统在进行业务交互时,先调用风控系统的接口判断是否应该放行当前调用。

业务系统的开发人员很少会去想风控的事情,他们聚焦于提供功能服务。风控系统应该由专门的风控人员进行设计,由开发人员实现,以API的形式给其它子系统提供服务,然后业务系统开发人员在相应的地方,调用风控系统接口。然而说起来容易,实际上要做一个风控系统可真不简单,尤其是创业初期的小团队,要人没人,要钱没钱,宝宝心里苦啊。这种情况下,作为技术人员,我们也只能尽量去想象那些黑灰产人员大概都会有怎样的行为,然后针对这些行为进行处理,虽然不会有专门的风控人员那么专业,但我相信风控的朴素逻辑应该也是这样的。

针对任何系统的风险行为,总是有一个入口,而对于电商的业务系统来说,这些入口就是前端界面可输入的地方,本质上是后端那些非get类型的接口。

举例来说,消费者使用的前端是APP形式,商家使用的前端是PC Web形式的商家管理系统,那么这两个前端界面可输入的地方,都会存在安全隐患。这些可输入的内容,比如文字、图片、视频等存在的风险,属于内容风险。我们需要对文字进行敏感词过滤,对图片进行签黄以及对图片上的文字进行审核,对视频的内容也需要进行审核。

光有内容审核还不够,还需要对用户的行为进行风险识别。比如注册登录时,对于恶意地大批量注册行为、登录时对密码进行暴力破解等行为的识别。这些属于行为反欺诈的一部分,首先阻止非正常用户进入系统,也就限制了这些用户进一步操作的能力,将风险行为扼杀在最前端以防蔓延到后端更多的子系统。

假设用户正常通过上面的关卡进入系统了,接下来还需要进行很多的策略设计。比如对接口的权限检查,看看该用户是否具有调用某些接口的权限。有些人会觉得,如果用户没有调用该接口的权限,那APP上就不会给他操作的机会好了。这就是思维不够全面的一个例子,接口权限是由后端控制的,用户并不一定都通过APP来使用接口,只要你接口暴露出去了,攻击者就可以在自己的代码中调用接口,这时候就没有诸如按钮变灰不让用户操作这种事情的存在。假设权限检查通过了,部分接口还是需要进行某些其它限制,比如时间间隔。假设某个用户通过自动化脚本恶意下单不付款,可能会造成很多商家库存一下子都变为为零(具体要看扣库存的行为是在哪一步,下单后还是付款后)的假象,这样会损害商家的利益,同时系统中充斥了大量恶意的无用的订单。

即使针对上面提到的风险都进行了防范设计,但很可能做得不够好,怎么办呢?那就尽量隐藏后端接口相关信息吧,如果不知道后端接口地址,也就不知道怎么进行调用。我们可以对APP进行加固,防止反编译,避免通过反编译看到接口的地址及调用方式。目前腾讯的应用宝在进行APP上架审核时,都需要用户先对APP进行加固,并且提供了加固工具,挺方便的。其他应用市场可能不需要加固,但我们可以使用应用宝提供的加固工具加固后,再上传到其它应用市场。

以上就是我作为一个技术人员,暂时能想到的风险相关的内容,而即便就这么多内容,对于小公司来说,也是花大量的投入才能做好。目前一些第三方平台有相应的服务供使用,比如阿里云的内容安全和风险识别API,是阿里自身平台沉淀下来并对外输出的服务,其它云平台估计也有类似服务。对于小企业来说,初期没有办法进行大量投入的,可考虑使用第三方服务。

前面说过,对于风控,我不是专业的,只是门外汉,这里整理了一些自己能想到的内容,如果有专业的风控人员路过,或许要被笑话了。不过没关系,如果今后在这方面有新的想法和更多的实践,我还会在这里继续分享,其实就算被笑话,也并不羞耻,重要的是,自己有没有一直在成长!

欢迎关注微信视频号:

%E8%A7%86%E9%A2%91%E5%8F%B7%E4%BA%8C%E7%BB%B4%E7%A0%81-4.jpg

张贴在杂集架构


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK