73

如何更好地防范撞库和拖库

 5 years ago
source link: http://www.10tiao.com/html/653/201806/2651077805/4.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

近日,继二次元网站A站发生用户信息泄漏事件后,又有一家大型网站的用户账户密码在暗网被销售。


6月15日,笔者发现,前程无忧51Job.com部分用户信息在暗网上被公开销售,黑客甚至展示了部分样本数据,包括邮箱、密码、真实姓名、身份证号码、电话等。前程无忧方面已证实,部分用户账户密码被撞库,但否认该公司数据被拖库。


对非业界人士来说,可能对“撞库”和“拖库”比较陌生。到底什么是撞库?什么又是拖库?我们又该如何防范这些攻击的发生?


    

关于撞库拖库


1. 撞库


撞库

黑客通过收集互联网已泄露的用户+密码信息,生成对应的字典表,尝试批量登录其他网站后,得到一系列密码组合后可以登录的用户。


黑客首先会通过收集互联网已泄露的用户和密码信息,生成对应的字典表,然后再用字典中罗列的用户和密码,尝试批量登陆其他网站。如果用户图省事在多个网站设置了同样的用户名和密码,黑客很容易就会通过字典中已有的信息,登录到这些网站,从而获得用户的相关信息,如:手机号码、身份证号码、家庭住址、支付宝、网银信息等。


2. 拖库


拖库:

也是一个黑客术语,它指的是黑客入侵有价值的网站,把注册用户的资料数据库全部盗走的行为,因为谐音,所以也常被称作“脱裤”。


前几年某知名手机品牌发生的用户信息大量泄露事件,其实就是拖库行为的一个典型案例;在该事件中,用户名和密码大量泄露,黑客反过利用这些用户名和密码,登录该品牌服务器,获得了极其详细的用户资料,其中包括用户的手机号、邮箱甚至通讯录等。


3. 利益驱动


黑客之所以这么做,就是因为“利益”二字。通过撞库拖库,实现对自己的好处,比如获利、报复等攻击行为初衷。



防范策略


数据拥有者应在数据存储方案设计之初,既要考虑重要数据存储的安全,又要考虑数据库访问的安全。数据使用者应不断加强网络安全意识,确保自身的数据信息的安全。


1. 密码存储的防拖库设计


目前,大多数网站对数据库中的密码信息是加密存储的。常见的有MD5加密,理论上说这种方式是不可逆的,但是这种方式仍然是不安全的,只要枚举出所有的常用密码,做成一个索引表,就可以推出来原始密码,这张索引表也被叫做“彩虹表”。


面对以上风险,主流网站后端数据库的密码存储都在MD5的基础上进行加盐;所以不再只保存加密过的口令,而是先将口令和随机数连接起来然后一同加密,加密后的结果放在口令文件中。



随着技术的发展,出现了强认证技术,即二次认证密码:除了对固有密码进行加密存储外,系统还自身生成一个加密密钥。已广泛应用在金融行业及支付行业,我们使用比较多的有手机短信验证码、动态令牌、Ukey、密钥文件等形式。


当然,还有很多加密存储手段,笔者就不一一列举。可能,还有部分网站或系统的密码数据还是采用明文存储;在此,笔者希望不要因为你们的省事,而忽视了用户对你们的信任。


2. 数据库防护方案


除了对数据存储的防拖库设计,对数据库的数据交互、访问过程、运维操作进行安全防护,也是降低拖库风险的有效措施。


(1)数据交互的防护方案


有能力的企业根据自身业务特征、自身IT技术实力,在前端应用与后端数据库的交互过程中,建议设计统一查询接口,便于管理和监控。

 


(2)重要数据信息加密保护方案


可以对数据库采用软件加密技术对重要数据进行防提取和防拷贝等,也可以采用专业的加密设备对重要数据进行加密存储。



(3)数据库运维防护方案


在对数据库管理与维护的过程中,可以使用专业的运维防护工具,如数据库安全网关、堡垒机等。



(4)数据库实时监测方案


我们还需要对数据库进行全方位的监测,包括访问情况、数据交互情况、风险操作情况、网络流量等信息,一旦发现危险操作可及时处置。



3. 最终用户的安全意识


我们的生活已经被密码层层包围:打开锁屏手机,需要输入密码;打开电脑,需要输入密码;上QQ微信聊天,需要输入密码;登录微博论坛购物网站,需要输入密码;使用银行卡支付宝等等,更要需要输入密码……每个人都有自己的一套密码,密码后面就是我们的重要信息、隐私以及财产,其重要性不言而喻,个人密码的安全性和被破译难度将直接影响到用户的数据与信息安全。因此,为自己的各个账户设置一组难以破解的密码是构筑个人信息安全最重要一步。


但是,千万不要做以下密码设置:


  • 不要设定密码为带有生日、电话号码、QQ或邮箱等与个人信息有明显联系的数据,也不要采用字典中的单词,原因很简单,这些都属于弱密码。

  • 不要在多个场合使用同一个密码:为不同应用场合设置不同密码,特别是有关财务的网银及网购账户,避免一个帐户密码被盗,其它帐户密码也被轻易破解。

  • 不要长期使用固定密码:定期或者不定期修改密码,安全更有保障。

  • 不要将密码设置得过短:密码越长,破解的时间也越长。如果不想让黑客在24小时内能破解你的密码,密码长度应该超过14个字符。


可能有的朋友会说“简单了会被破解,复杂了记不住,那我该怎么设置密码呢?”


笔者有以下几点建议:


  • 采用文本或表格的方式记录和保存密码

  • 采用安全的密码生成器保管密码

  • 设置易记的密保问答

  • 尽可能使用平台提供的多重认证方式,如手机验证、动态口令、加密密钥等


结语


不管是对数据的拥有者,还是数据的使用者,都要有安全防范意识。数据拥有者,可以通过风险检测和风险评估帮助内部数据符合规范要求;数据使用者不要在非法的网站或软件里录入自身的身份信息。



About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK