黑客攻击(撞库)事件复盘:黑客都比你努力
注:在电商、互联网金融、OTA等平台,黑客攻击很常见。针对黑客攻击,我们能做什么?一起来看看作者的亲身经历。 一直知道有黑客的存在,一直知道有“黑产”的存在,但没想到过有一天我如此近距离的接触黑客以及所谓的黑产。 事情的经过大概是这样的:
综合上面的信息,我们初步判断这应该是一次典型的黑客撞库行为。 何为撞库? 所谓撞库行为,就是黑客在别的地方,一般是安全程度不高的网站被入侵,拿到了这个网站所有用户的用户名,密码信息。然后拿这些用户名、密码在其他网站进行登录尝试,因为有不少人是存在一个普遍行为,即在不同的网站用的是同一个用户名,密码。 这样A网站如果被入侵,泄露了用户的个人信息,黑客可以拿这些用户名、密码到B网站去登录,如果同一个用户既注册了A网站又注册了B网站,这样黑客就可以用A网站得到的信息登录B网站,从而进入用户在B网站的账号。 以为解决掉了 发现了这个行为后,我们先想的是如何禁止黑客的暴力登录;这样不仅存在撞库风险,由于请求量比较大还会影响普通正常用的体验。 研发抓了日志,经过分析,基本可以确定黑客是通过工具进行批量进行登录。 黑客的请求,来源IP比较分散,每次都尝试不同的用户名和密码,想简单的采用封IP的方案是不行了,最后发现所有的异常请求里面,有一个http header是有相同的特征,拉上运维人员一起商量,最后决定在nginx这里对这类的请求进行拦截。 整个流程花费了大概 1 个半小时,最后nginx策略生效后确实有效的把异常流量给封住了,那会也快晚上 12 点了,又观察了一会,发现对方没有新的动作,以为这件事就这样结束了。 噩梦才真正开始 第二天上午接到用户投诉,说我们的网站泄露了用户的隐私,有人打电话给用户,冒充网站的客服人员,对用户进行欺诈。 经过跟几个被诈骗的客户了解,基本搞清楚了黑客的诈骗手段。 首选黑客登录用户的账号,看了下用户最新的订单信息,然后打电话给用户,冒充网站的客服人员,说这个客户买的某个商品质量有问题,网站要进行召回,请进行退货处理。退货地址的详细地址在用户的个人地址里面。黑客特意修改了用户的个人收货地址,并在里面藏了一个钓鱼网站的连接,诱导用户点击这个钓鱼网站。这个钓鱼网站完全模仿支付宝登录界面,除了域名不一样,其他一模一样,有些用户没注意,就在这个界面输入了自己的支付宝账号信息,黑客通过这个办法拿到了用户的支付宝账号,然后自己登录用户的支付宝账号——下面就不说了,大家懂的。。。 对于这种欺诈行为,有一定的迷惑性,因为对方可以清晰的报出用户买的东西以及订单号、下单时间、收货地址,有些警觉性比较低的用户就真的会相信这是网站“官方”的行为,然后按照引导去操作,最后支付宝账号信息被盗取。 一上午的时间,客服陆续接到近 10 起类似投诉,其中有一个用户支付宝被盗了 2 万块,要求我们进行补偿——这个时候,我们才意识到问题的严重性:首先我们不知道黑客具体拿到了多少我们网站的用户信息,然后还不知道即将有多少用户因此受骗。 魔高一尺道高一丈 我们紧急先找了下昨晚攻击时间段的请求日志,尝试发现哪些用户被黑客撞库成功了。 由于我们没有记录详细的登录日志,所以单从日志上看不出来这个信息,最后只能把攻击的那个时间段内,所有成功登录过的用户信息全部拉出来,悲观的认为这些都是被黑客攻击的账号;然后批量给这些用户发短信进行提醒,为了防止黑客还能登录这些账号进行欺诈,我们立刻把这些账号的密码置空,要求用户立即修改密码。 我们以为这样黑客就没办法再登录这些账号进行欺诈了,结果又被现实狠狠的打脸,因为还陆续有客服反馈有用户来投诉,这就让我们很不理解:为什么黑客都不能登录了,还能看到用户的信息进行诈骗呢?难道黑客把这些信息存下来拉? 我们立刻又去翻日志,最后发现:黑客在撞库成功后,立刻就把用户的订单信息,个人信息全部用脚本查询了一遍,并且把这些信息存了下来。 这时候才发现,黑客在攻击我们之前,已经对我们网站的接口进行了细致的分析,制定了一套相对完整的攻击方案。 黑客都比你努力 经过这次攻击,发现黑客还是很用心的做了很多准备工作。
现在看下来,整个流程事先都是准备好的,而我们的响应方案确实漏洞百出。 吃一堑长一智 这次攻击也暴漏了系统很多的问题,总结几点。
关于作者 DearNicole,前京东产品经理、研发经理,主攻电商的方方面面。 (编辑:ASP站长网) |