电商系列之风控安全
> 插:AI时代,程序员或多或少要了解些人工智能,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
坚持不懈,越努力越幸运,大家一起学习鸭~~~
风控,简单来说就是风险的控制,随着整个互联网技术的发展,有另外一种技术也在默默的发展、壮大,甚至形成一种上下游闭环的产业链,即“黑产”。黑产遍布整个互联网各行各业、各个角落,今天来跟大家说说关于电商黑色产业哪些事儿。
在电商的研发体系中有一个叫做“风控”的部门,整个部门负责保障整个网站的安全、可靠。是一个比较神秘的组织,每天需要与形形色色的黑客、黄牛斗智斗勇。
那么一个电商网站会存在哪些安全隐患呢?
1.数据的泄露
数据的重要性不言而喻,尤其是电商的数据,包含了个人信息(姓名、性别、收货地址、电话)以及购物信息,还是比较敏感的,现在国内比较大的电商平台都在搞大数据,可以算出每个用户的喜好是什么,根据每个人的不同喜好做定制的推送。甚至像阿里、京东在搞的金融业务,背后也是依赖这些常年积累下来的用户数据,基于这些数据可以对用户进行信用评级。
如果这些数据遭到泄露公司将受到巨大的损失,用户也会受到相应的损害,现在大家经常收到的各类骚扰电话,就是广告商通过各种渠道拿到用户信息,这信息基本都来自非正常渠道。
之前网上有黑客爆料过多家知名网站的用户数据信被窃取,如果爆料情况属实,那么可以看出我们目前所处的互联网环境并没有那么的安全,只是在不知不觉中我们的数据已经被泄露。好消息是目前关于安全的问题各大公司已经开始非常重视,尤其是用户的隐私信息,所以这里建议大家不要在一些不是很出名的网站上留下个人的敏感信息,因为目前中小网站的自我保护能力还没那么的强。
2.黄牛刷单
电商平台常用的促销手段一般为满减、满赠,当有稀缺商品或者价格力度比较大的话会上秒杀。由于活动促销确实非常给力,这时候会招来黄牛,黄牛可以说大家都比较熟悉了,在火车站旁、在医院旁、在演唱会门口、在电影院、在体育馆。。。可以说只要有稀缺资源的地方都有黄牛的身影。
在电商网站上只要搞大型促销活动,也会出现黄牛的身影。但是商家搞促销活动是希望能够吸引新用户,激活老用户,本质是一种花钱买潜在用户的过程,所以商家才愿意赔本搞促销。如
果商家投入了很大的成本搞了一场促销,结果他的商品都被黄牛买走了,真正它希望的目标用户没有买到,那么这是商家不愿意看到的情况;这个时候就需要电商平台有办法、有机制能够识别出黄牛,这就是一个跟黄牛斗智斗勇的过程。
互联网时代的黄牛也会使用互联网的工具,不仅仅像线下一样单纯靠人肉、体力去排队。互联网时代的黄牛会采用更智能化的工具,自动进行热门商品的抢购。
每年过年回家的时候相信大家都使用过自动抢票工具,黄牛使用的工具类似,只是对象变成了个各大平台的促销商品,这里的工具需要针对每个电商平台的特定协议进行定制开发。所以现在的黄牛已经不仅仅是一个人,已经是一个生态闭环的产业链:
- 有人专门提供工具
- 有人专门负责收集各大平台促销信息
- 有人负责定时的抢购商品
- 有人负责将抢到的商品通过各种渠道卖出去。
已经是一个比较专业的团队,团队内部分工明确,专业度也较高,这就为电商平台带来了比较大的挑战。是一个魔高一尺道高一丈的不断升级对抗的过程。
3.恶意攻击
上面提到的黄牛刷单尽管对业务有一定的影响,但不管怎样人家也是付了钱买东西的。还有一类更恶意的攻击就是他不仅不买东西,还让正常的用户无东西可以买。
这种恶意行为又具体分为两类:
其一是钻空子
因为现在电商平台下单有一个业务的逻辑是:如果你下了单,但是没付款,那么这个商品的库存会被你先占用掉,等30分钟你仍然不付款,那么系统会将这个订单自动取消,然后释放库存。但是在这30分钟内你购买的商品库存是被你占用的,别人无法购买。
有点抽象,举个例子。
如果你在京东上买了一个iPhone7,这部iPhone7 京东的仓库里面一共有100件,你下单后京东会帮你锁定一件库存,表示你有购买意愿,给你预留着,等你付款后仓库会帮你发货。如果你30分钟没付款系统会把你的订单取消,但是在你下了单没付款的这30分钟里面,京东实际对外只能卖99件iPhone7,尽管他仓库里面有100件,因为有一件是给你预留的。
主流的电商基本都是这么玩的,只是大家等待的时间不一样,有的是半个小时、有的是1个小时、有的是2个小时。
有人利用这个业务特点会写工具进行批量下单但是不付款,导致电商平台上某段时间热门商品无法售卖,像上面的例子,如果黑客知道京东有100件iPhone7,那么他就把仓库的iPhone7 100件全部下单,但是不付款,就会导致京东有明明有很多iPhone7,但是商详上无法购买,会显示“到货通知”,因为库存全部被恶意占用了。
还有一种类似的攻击方法,现在很多网站支持货到付款。那么攻击者就将上面例子中的iPhone7买下来,但是支付方式选择“货到付款”,等配送员辛辛苦苦实际送到的时候再拒收。那么他同样占用了这个商品的库存,并且占用的时间更长,消耗的资源更多(还消耗了仓库捡货、配送资源)。如果再采用批量下单恶意占用某些商品的话,那么电商平台将遭受比较大的损失。
批量下单的方法有很多种,有的是一单下多个数量,但是主流平台一般会对一次购买数量有一个上限的控制。然后攻击者会通过各种渠道拿到很多注册账号,每个注册账号下多单等等。关于恶意注册也是常见的一种攻击方式,淘宝上也有卖各个平台的注册账号,也是一个完整的产业链,这里就不详细说了。
另外一种是大量恶意请求攻击导致网站不用
这种攻击手段比较偏技术些,细分下来也有两种:一种是DDOS攻击,简单暴力,导致整个网站请求流量过大而失去响应。另外一种是针对业务的攻击,专业术语叫“CC”攻击,比如写工具批量请求商详或者加入购物车的接口。因为每一次请求都会耗费服务端的资源,服务端响应的能力又是有限的,如果攻击的请求量比较大的话会导致正常用户的请求无法响应最终使得整个电商平台失去响应。这种攻击的目的就是导致网站不可用,需要网站具有快速扩容的能力与恶意流量清洗的能力。
上面介绍了几种常见的攻击手段,并不是很全面,现实中还会有一系列的问题需要解决,比如:虚假注册、盗号、套现、劫持、欺诈等等以及相应的预防手段,这里只能说水很深,很深!
相关文章:

电商系列之风控安全
> 插:AI时代,程序员或多或少要了解些人工智能,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家…...

计算机网络针对交换机的配置
实验 目的 交换机的基本配置,交换机VLAN配置 实验条件 Windows,Cisco packet tracer 实验 内容 交换机的基本配置,交换机VLAN配置 实验 过程 一、交换机的基本配置 进入特权模式 Switch>enable 进入配置模式 Switch#configure ter…...

Python爬虫之分布式爬虫
分布式爬虫 1.详情介绍 分布式爬虫是指将一个爬虫任务分解成多个子任务,在多个机器上同时执行,从而加快数据的抓取速度和提高系统的可靠性和容错性的技术。 传统的爬虫是在单台机器上运行,一次只能处理一个URL,而分布式爬虫通过将…...

服务器硬件基础知识解析
导言 在当今信息化时代,服务器扮演着至关重要的角色,它们是存储、处理和传输数据的关键设备。本文将介绍服务器硬件的基础知识,包括服务器的组成部分、硬件选型和性能评估等内容,旨在帮助读者更好地理解和应用服务器技术。 服务…...

【芯片设计- RTL 数字逻辑设计入门 1.1 -- Verdi 使用入门介绍 1】
请阅读【芯片设计 RTL 数字逻辑设计扫盲 】 文章目录 Verdi 介绍Verdi 特点和功能Verdi 基本操作Verdi -elab与-dbdir区别-elab 参数介绍-dbdir 参数介绍区别总结Verdi 介绍 Verdi 是由Synopsys公司开发的一款业界领先的自动化电子设计自动化(EDA)工具,主要用于功能验证和调…...

ssm034学生请假系统+jsp
学生请假系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本学生请假系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处…...

Leetcode 165. 比较版本号
给你两个版本号 version1 和 version2 ,请你比较它们。 版本号由一个或多个修订号组成,各修订号由一个 ‘.’ 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开…...

LeetCode-279. 完全平方数【广度优先搜索 数学 动态规划】
LeetCode-279. 完全平方数【广度优先搜索 数学 动态规划】 题目描述:解题思路一:Python 动态规划五部曲(完全平方数就是物品(可以无限件使用),凑个正整数n就是背包,问凑满这个背包最少有多少物品…...

rust项目组织结构和集成测试举例
概述 在学习rust的过程中,当项目结构略微复杂的时候,写集成测试的时候发现总是不能引用项目中的代码,导致编写测试用例失败。查阅了教程,一般举例都很简单。查阅了谷歌和百度以及ai,也没有找到满意的答案。这里记录一…...

软件文档交付清单(直接套用合集)
软件文档交付清单是指在软件开发项目完成后,开发团队需要准备的一份详细清单,用于确保交付的软件产品符合客户需求并达到预期的质量标准。以下是软件文档交付清单中可能包含的一些关键要素 软件开发文档:这包括需求文档、设计文档、测试文档等…...

ModuleNotFoundError: No module named ‘ultralytics.utils‘
项目场景he 问题描述 提示:这里简述项目相关背景: model YOLO(modelr./yolov8m-cls.pt) 加载预训练模型时报错。 ModuleNotFoundError: No module named ultralytics.utils warning: bug: 原因分析: 很可能是提前下载的预训练模型出了…...

2024智能计算、大数据应用与信息科学国际会议(ICBDAIS2024)
2024智能计算、大数据应用与信息科学国际会议(ICBDAIS2024) 会议简介 智能计算、大数据应用与信息科学之间存在相互依存、相互促进的关系。智能计算和大数据应用的发展离不开信息科学的支持和推动,而信息科学的发展又需要智能计算和大数据应用的不断拓展和应用。智…...

秋招复习笔记——八股文部分:操作系统
笔试得刷算法题,那面试就离不开八股文,所以特地对着小林coding的图解八股文系列记一下笔记。 这一篇笔记是图解系统的内容。 硬件结构 CPU执行程序 计算机基本结构为 5 个部分,分别是运算器、控制器、存储器、输入设备、输出设备…...

每日一题:C语言经典例题之杨辉三角
题目描述 输出杨辉三角形。 输入 第一行输入一个整数 n (1<n<10)。 输出 输出杨辉三角形的前n行,每个数字占8格左对齐。 样例输入 4 样例输出 1 1 1 1 2 1 1 3 3 1 代码: #inc…...

1. TypeScript: JavaScript 的超集,为大型应用而生
引言 在现代的前端开发领域,JavaScript 无疑是一门极其流行的语言。然而,随着前端项目的日益复杂,JavaScript 本身的一些特性使得维护和扩展大型代码库变得困难。这就是 TypeScript 应运而生的背景。TypeScript 是一种由微软开发的开源语言&…...

vex-table—— 获取插入或修改数据后的tableData
例子来自vxe-table。在开发过程中发现新增数据后,输出this.tableData,发现数据并没有被修改 想要获取更新的数据方式为 mounted () {const $table this.$refs.xTableconsole.log("🚀 ~ mounted ~ $table:", $table.tableData)},...

通俗易懂地解释Go语言不同版本中垃圾回收机制的演进过程
完整课程请点击以下链接 Go 语言项目开发实战_Go_实战_项目开发_孔令飞_Commit 规范_最佳实践_企业应用代码-极客时间 Go 1.3时代 - 标记清除算法 这就像一个人要打扫房间,首先需要暂停其他活动。然后开始查看房间里的每件物品,对于自己仍需要使用的物品做上记号。查看完毕后…...

shamrockcms代码审计-啥也没有
shamrockcms 环境搭建 使用阿里源,创建数据库,运行shamrockcms.sql文件,将configure.properties中的jdbc修改为自己本地或者其他ip数据库连接,并且将ueditor.config.json中的master修改为localhost或者其他自己设置的ip 危险组件…...

【C++】排序算法 --快速排序与归并排序
目录 颜色分类(数组分三块思想)快速排序归并排序 颜色分类(数组分三块思想) 给定⼀个包含红⾊、⽩⾊和蓝⾊、共 n 个元素的数组 nums ,原地对它们进⾏排序,使得相同颜⾊ 的元素相邻,并按照红⾊、…...

(Python)根据经纬度从数字高程模型(DEM)文件获取高度
基本介绍 在地理信息系统(GIS)和遥感中,数字高程模型(Digital Elevation Model,简称DEM)是一种表示 地表或地形高程信息的重要数据。DEM数据通常以栅格(raster)形式存在࿰…...

【WPF应用41】WPF中的Expander控件详解
Windows Presentation Foundation(WPF)中的Expander控件是一个用于显示详细信息的交互式UI元素。它允许用户通过点击标题来展开或折叠内容区域。Expander控件通常用于在界面上组织内容,提供一种可见/隐藏的功能,以帮助用户专注于当…...

golang变量初始化顺序
顺序: 1.引用的包 2.全局变量 3.init()函数 4.main()函数 package pkgimport "fmt"func init() {fmt.Println("pkg init") }package mainimport ("fmt"_ "gg/pkg" )var v val()func val() int {fmt.Println("func()…...

魔众 文库配置异步转换
同步转换 系统默认使用同步转换,即用户上传文档提交接口瞬间,系统会立即进行转换。 同步转换容易造成页面卡顿,转换时间超长的情况下,系统接口会超时。 异步转换 系统支持异步转换,即用户上传文档提交接口瞬间&…...

创建型模式--2.简单工厂模式【人造恶魔果实工厂1】
1. 工厂模式的特点 在海贼王中,作为原王下七武海之一的多弗朗明哥,可以说是新世界最大的流氓头子,拥有无上的权利和无尽的财富。他既是德雷斯罗萨国王又是地下世界的中介,控制着世界各地的诸多产业,人造恶魔果实工厂就…...

一些考研经验
前言 考研结束已有半个月,之前一直想写经验贴,奈何感觉自己本身就比较菜,考了两年才堪堪上岸,所以有些犹豫,拖拖沓沓到现在,思虑再三最终决定把自己对于考研的一些拙见记录一下,供各位参考。 …...

StockTrading AI小模型股票自动交易系统 转载
Stock-Trading StockTrading AI小模型股票自动交易系统 项目文档 Stock-Trading 语雀 项目展示 功能介绍 对接证券平台,实现股票自动化交易使用QuartZ定时任务调度,每日自动更新数据使用DL4J框架实现LSTM模型指导股票买入,采用T1短线交易策…...

01背包问题合集 蓝桥OJ
一、蓝桥OJ 1174小明的背包1 模板题 思路: 用二维数组dp判断最大价值,i表示物品数量,j表示物品体积,如果 j > V 则无需继续, j > w 物品还能再增加,同样价值也增加,否则继承之前的价值&am…...

Nuxt3 实战 (三):使用 release-it 自动管理版本号和生成 CHANGELOG
release-it 能做什么? 增加版本号并提交 Git生成变更日志(Changelog)并提交到 Git创建 Git 标签并推送到远程仓库发布到 npm 等软件仓库在 GitHub、GitLab 等平台创建发行版 前置知识 在看这篇文章之前,我们有必要了解一下 Sem…...

鸿蒙OS开发实战:【自动化测试框架】使用指南
概述 为支撑HarmonyOS操作系统的自动化测试活动开展,我们提供了支持JS/TS语言的单元及UI测试框架,支持开发者针对应用接口进行单元测试,并且可基于UI操作进行UI自动化脚本的编写。 本指南重点介绍自动化测试框架的主要功能,同时…...

算法(二分查找)
1.给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1…...