朋友们,你没有看错,作为一名程序员,我尽职尽责的写代码,但是一不小心,与金融诈骗的不法分子杠上了,最后确实进局子了。
1、目标发现
我所在的公司A有一款2B的某行业SAAS软件,每次有企业过来注册时,会发送企微提醒。如果注册的公司名称、公司营业执照编号、公司法人姓名、公司法人身份证编号,这四要素都匹配的话会自动审核通过,然后就可以登录使用系统了。
一天夜里11点半多,莫名其妙的出现多家企业在注册。我从业程序员13年多的经验直觉告诉我这里肯定有问题,顿时没了睡意,起身拿起电脑一探究竟。
通过nginx日志,排查注册信息和注册IP,我发现3点信息:
- 这些注册企业的IP地址,和公司所在城市对不上,并且IP地址大部分是国外的或者是恶意IP。
- 观测了他们的注册时间是无规律的间隔,因为我们系统也有短信校验,并且有短信频率控制,所以判断这不是通过机器人注册,而是人工注册。
- 这些企业注册的信息居然全是对的。
仅凭得到这些信息,我暂时无法判断这些人的恶意到底是什么,但是又不能放任什么都不做,于是我赶紧关掉了系统的自动审核通功能。然后对同一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、关于个人的身份证号码和姓名尽量不要留,防止被不法分子利用。
感谢你的阅读,欢迎关注、点赞、收藏!!!