
第一次遭遇安全攻击
2016年9月14日,中秋前一天,我遇到了人生中第一次的信息安全攻击。
这件事大致如下:
我作为PM负责一个手机端网页产品,通过微信的「摇一摇」把这个页面传递给用户。14日早上起来,运营妹纸告诉我有些还没有对外开放的页面被访问了。之后这个情况一直持续到18日,也就是今天。
情况分析:
通过分析这些用户的信息,了解到反复访问这些页面的用户应该是机器人,而非真实的用户,因为操作频率太高,接近于系统设定的刷新时间限制,而且持续时间久,如果是真实用户的话,那太过于无聊。
只要我们新创建一个页面,不超过5分钟就会有好几个机器人开始重复访问,这说明攻击者有一个不断维护的访问地址目录。有两种可能,一是我们的页面地址命名太有规律,二是攻击者使用爬虫遍历了我们的网站。
目前这些攻击还不至于使我们的业务受到致命的影响,但对于运营人员来讲很麻烦。
网站的bug:
- 页面地址命名规律太明显;
- 网站根目录没有反爬虫文件;
- 网站访问没有设置验证码这一流程;
- 网站没有设置黑名单,限制访问;
对应的解决方案:
- 修改页面地址命名规则,让攻击者无法通过规则直接生成链接访问,这一步屏蔽掉手动攻击的人群;
- 增加反爬虫文件,理论上屏蔽爬虫遍历地址,这只是「君子协议」,无法限制恶意爬虫;
- 增加滑动图片验证手段,这一步可以极大程度上屏蔽掉机器人,但是对现有用户访问体验不够友好;
- 增加网站黑名单功能,可以多维度进行屏蔽,比如说IP地址(可以屏蔽掉机器人)、OpenID(屏蔽掉该微信用户)、Mac地址(这个考虑当中,存在一定得误伤可能性)。
评论:
因为这个网站是找外包团队做的,所以解决问题的反馈速度有些慢。中秋放假三天就没有处理这个问题了。还是要尽快自己组建技术团队,现在我的问题就是无法区分靠谱的技术人员。Naive!