写个代码也能进局子

简介: 朋友们,你没有看错,作为一名程序员,我尽职尽责的写代码,但是一不小心,与金融诈骗的不法分子杠上了,最后确实进局子了。

朋友们,你没有看错,作为一名程序员,我尽职尽责的写代码,但是一不小心,与金融诈骗的不法分子杠上了,最后确实进局子了。

1、目标发现

我所在的公司A有一款2B的某行业SAAS软件,每次有企业过来注册时,会发送企微提醒。如果注册的公司名称、公司营业执照编号、公司法人姓名、公司法人身份证编号,这四要素都匹配的话会自动审核通过,然后就可以登录使用系统了。

一天夜里11点半多,莫名其妙的出现多家企业在注册。我从业程序员13年多的经验直觉告诉我这里肯定有问题,顿时没了睡意,起身拿起电脑一探究竟。

通过nginx日志,排查注册信息和注册IP,我发现3点信息:

  1. 这些注册企业的IP地址,和公司所在城市对不上,并且IP地址大部分是国外的或者是恶意IP。
  2. 观测了他们的注册时间是无规律的间隔,因为我们系统也有短信校验,并且有短信频率控制,所以判断这不是通过机器人注册,而是人工注册。
  3. 这些企业注册的信息居然全是对的。

仅凭得到这些信息,我暂时无法判断这些人的恶意到底是什么,但是又不能放任什么都不做,于是我赶紧关掉了系统的自动审核通功能。然后对同一IP注册系统做了频率限制。

此时已经到夜里1点了,本来还想继续通过nginx日志深度排查,但是想想我们一个2B的行业SAAS软件,他们注册进来能干啥呢,又能咋样了。再加上自己已经很困了,所以就放弃了,带着一点点的不安睡觉去了。

2、无法猜测到的恶意

第二天一早,我们短信供应商突然发给我几条微信,说我们系统发送了诈骗短信。

当时我的反应是:不可能,绝对不可能。

但是一看短信里的公司名称似乎有点面熟,我CAO,我终于猜到了昨晚哪些恶意注册的意图了。他们是想通过注册系统之后购买短信包,然后利用系统发送诈骗短信(我们为了方便客户发送营销短信,对不分短信没做备案),这样就算被查,也不会查到他们头上。没想到这么隐蔽的短信营销的功能居然被他们摸索到了,太厉害了,我对不法分子也是大写的“服”字。

不法分子的意图至此已经清晰明了,接下来就看我怎么办了。

3、对抗过程

我通过系统注册记录,发现这种恶意注册的情况大概已经出现几天了,大部分都是夜里进行的注册,短信也是在夜里小批量发送的,于是继昨晚之后的“限制同一个IP注册频率”和“关闭自动审核”之后,我又赶紧采取如下紧急措施。

3.1、紧急封号 。首先赶紧排查发送过金融诈骗短信的公司,然后对其进行封号。然后再人工排查最近注册的公司里经营范围没有我们所在行业的,也进行封号。

3.2、保存现场。对于当时的日志进行保存,方便日后继续排查,或者作为相关证据。

3.3、排查短信订单。这些不发分子注册公司后,登录到系统,花钱够了大量的短信包套餐,我们对订单和支付单进行了统一整理。

3.4、排查被发送对象。整理了接收到诈骗短信的手机号,批量发送提醒短信,提醒相关号主要注意金融诈骗。

事情至此还未结束。

在排查短信发送记录的过程中,我发现这些不法分子发送了几万条诈骗短信。我们系统接受短信的对象必须是录入到系统里的客户,难道他们真的录入了客户?他们是手动注册系统的,难道真的会手动录入客户信息?抱着好奇心态的我赶紧继续排查数据库里的客户录入记录,我CAO,他们居然是通过手机抓包抓到了录入客户的接口,然后再通过他们登录后的token,去批量调用我们接口。

至此谜底全解解开。这群金融诈骗的不法分子看来也是同道中人啊。他们懂得深夜里小批量操作数据,他们懂得切换国外IP地址,他们懂得抓包去调接口。

我默默的想到了我40岁以后除了开滴滴,送外卖,又多了一条谋生手段,哈哈......

4、警局报案登记

报案之后,我们协同警方去了派出所,把相关事情的经过,和相关数据全部整理好发给警方,并且做了登记。警方也提醒我们要加强系统安全建设。

这已经不是我第一次进警局了,上一次进去是因为别人被骗,我了解点情况而被喊过去的。这次是公司系统被攻击了进去报案的。

进警局的时候,我瞪眼一看,咋还是上次的警官呢。可爱的警官瞥了我一眼,估计心里在想,大兄弟啊,怎么又是你呢?

5、故事总结

以上故事基本属实,少部分自己虚构。

针对这个事件,我做了几点总结,希望同行的朋友们引以为戒,避免犯这样的错误。

1、做事要严谨,不能因为前期缺少客户,或者为了客服运营同事们的方便,而降低系统的严谨性。比如审核企业这一步,一点都不能放松。

2、对可疑行为要保持敬畏之心,不能抱有侥幸心里。比如那天夜里我没有继续排查,我们要明白一个道理,没有利益的事情是没人愿意做的。

3、系统安全的警钟长鸣。诈骗分子无孔不入,我们写每一个接口,写每一个逻辑的时候,都要考虑是否有漏洞,是否会被人利用漏洞。

4、系统即使是开发客户便利的功能,但是坚决不能留有漏洞,否则这个功能宁可不开发。

5、系统要尽早建立用户操作行为脉络,这样可以最快的排查到用户可疑行为。

6、关于个人的身份证号码和姓名尽量不要留,防止被不法分子利用。

感谢你的阅读,欢迎关注、点赞、收藏!!!

相关文章
|
7月前
|
C语言 索引
一堆数组程序
一堆数组程序
29 0
|
设计模式 消息中间件 JavaScript
干掉 “重复代码”,这三种方式绝了!
干掉 “重复代码”,这三种方式绝了!
36965 2
干掉 “重复代码”,这三种方式绝了!
|
Java Spring
一不小心,你就掉进了Spring延迟初始化的坑!
由于 spring bean 的默认作用域是:singleton。所以在启动的时候 bean 会被初始化,如果被标记了@Lazy,会延迟初始化,但是如果被非懒加载的 Bean 注入了,@Lazy会失效。
|
小程序 开发工具 开发者
【小程序】第一个小程序——创建小程序项目
【小程序】第一个小程序——创建小程序项目
146 0
【小程序】第一个小程序——创建小程序项目
|
设计模式 算法 Java
干掉 “重复代码” 的技巧有哪些
软件工程师和码农最大的区别就是平时写代码时习惯问题,码农很喜欢写重复代码而软件工程师会利用各种技巧去干掉重复的冗余代码。
137 0
干掉 “重复代码” 的技巧有哪些
|
存储 移动开发 NoSQL
开源代码分析技巧之一——打印调用逻辑
在研究开源代码时,大家或许都有这样的感慨: (1)代码太庞大,少则几万行代码,多则几百万行代码,不知道如何入手; (2)相关的帮助文档有限,很难短时间内理清头绪; (3)有了代码在手,但代码之间的调用相当复杂,一层一层追踪总是理不清调用逻辑顺序。
268 0
开源代码分析技巧之一——打印调用逻辑
|
设计模式 安全 算法
避免掉进“重造轮子”的坑: 从审核系统说起
别重造轮子了,大把时光可以去快活呀
997 0
避免掉进“重造轮子”的坑: 从审核系统说起
|
小程序 JavaScript DataX
小程序 — 实现左滑删除效果②
前言:这章我们为movable-view添加点击事件,完善左滑效果。 GitHub:https://github.com/Ewall1106/miniProgramDemo 1、 拖动事件 (1)在上一章中,我们给movable-view绑定了一个...
1248 0
|
Web App开发 容器
小程序 — 实现左滑删除效果①
前言:实现这个效果有几种方式,大家可以看看这篇文章从京东购物,印象笔记看小程序左滑交互的实现,而我们就使用最新的方案,就是用movable-view来实现左滑删除的效果。
2920 0