【51CTO.com原创稿件】雅虎最新公布的消息显示:在过去两年间,有入侵者进行“”攻击,造成3200万账户泄露,用户可能被窃取的信息包括姓名、邮箱、哈希密码、电话号码、生日和一些加密或者未加密的安全问题和答案。。特别要说明的是,此次泄露事件是独立存在的,和前几个月爆出的两次大规模数据泄露不一样(2016年9月曝5亿账户泄露,12月曝10亿账户泄露)。
雪上加霜的是,雅虎接二连三的安全事故已经严重打击了雅虎对用户的信誉,就在上个月雅虎以从起初估值48亿美元到最终同意以3.5亿美元的超低价被Verizon通信公司收购。
来自国家背景的黑客?
雅虎是在周三的一份监管机构文件中提到,本次cookie伪造攻击事件和“具国家背景的黑客”有关,和雅虎于2014年发生的一次5亿账户被窃的事件幕后攻击者应该是同一波人。
雅虎认为未经授权的第三方访问了公司的专属代码,来学习如何伪造相应cookie。外部鉴定专家已经确定有将近3200万账户在2015和2016年间遭到cookie伪造攻击。其中的某些入侵行为,与2014年的安全事件相关国家背景支持的攻击者有关。
何为cookie伪造攻击?
通过cookie伪造攻击(Forged cookies),攻击者在无需输入密码的情况下,就能访问受害者账户。利用伪造的cookie,入侵者无需窃取密码,只需伪造一个web浏览器token即cookie来诱使浏览器相信雅虎用户已经登录。
Cookie如何防伪造?
用户登录的信息为了节省服务器端资源一般是要保存到客户端的,这时候就会用到Cookie,但是大家都知道Cookie是可以被伪造的,那怎么防止被伪造呢?
其实也很简单,可以多添加一个userkey的cookie,该值为userId或者userName加上一个服务器端固定的字符串,然后在经过MD5加密,MD5(userId+"mysite")或者MD5(userName+"mysite"),服务器端在判断权限时,先判断userkey是否正确,如果正确再做其他操作。
这样做在很大程度上杜绝了Cookie伪造导致的网站安全问题,当然如果用户觉得还不够安全,认为MD5可以破解,那完全可以用多重加密的方式,如:sha,base64和MD5等混合使用,黑客在不知道用户加密算法和固定字符串的情况下很难算数userkey。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】
【编辑推荐】