微信号:coding_net

介绍:Coding.net 提供代码托管,运行空间,质量控制,项目管理等功能,为开发者提供技术讨论和协作的平台.关注新浪微博@Coding,联系我们请邮件至:link@coding.net

史上最严重的数据泄露事件,代码安全任重道远

2018-08-29 17:45 扣钉Coding

每一起严重事故的背后,必然有 29 次轻微事故和 300 起未遂先兆以及 1000 起事故隐患。

在航空界,飞机涡轮机的发明者——德国人帕布斯·海恩曾提出过一条关于安全飞行的法则,随着近期滴滴顺风车的事故,这则定论再次进入大众视野。昨天上午,各大论坛和社交平台开始疯狂流传一张暗网论坛中有人发帖公开出售华住旗下所有酒店数据的截图,包括汉庭、美爵、禧玥、漫心、诺富特、美居、CitiGo、桔子、全季、星程、宜必思、怡莱、海友等多家连锁酒店。通过海恩法则,我们意识到国内企业对待代码安全问题的态度是多么地不重视。根据 IBM Security 和 Ponemon Institute 的一项研究,数据泄露的平均成本为 386 万美元。像这次华住集团的事故属于“超大型泄露行为”的范畴,造成的直接损失至少在 5 亿美元以上。

2018 Cost of a Data Breach Study: Global Overview by IBM Security and Ponemon Institute.

此次泄露的数据包括华住官网注册用户数据 1.2 亿条,而数据的内容从用户注册、到全部开房记录,涉及的个人信息无一幸免,全被窃取,全部数据售价 8 个比特币(约 40 万人民币)或 520 门罗币,其中主要包括三块:

华住官网注册资料(crm.txt),包括姓名、手机号、邮箱、身份证号、登录密码等信息,共 53 G,大约 1.23 亿条记录;
酒店入住登记的身份信息(cusinfo),包括姓名、身份证号、家庭住址、生日、内部 ID 号,共 22.3 G,大约 1.3 亿人身份证信息;
酒店开房记录(history),包括内部 ID 号,同房间关联号、姓名、卡号、手机号、邮箱、入住时间、离开时间、酒店 ID 号、房间号、消费金额等信息,共 66.2 G,大约 2.4 亿条记录。

而这次数据泄露的原因也让人啼笑皆非,紫豹发布快讯表示此次拖库貌似是因为公司工作人员不慎将数据库配置信息传到了 GitHub 上,数据库信息居然是 20 天前上传的,而拖库是在 14 天前进行,但是具体细节现在仍未得到官方证实。我们仔细查看了各大媒体发布的项目泄露图,发现极有可能是开发环境的一个配置被上传了,而黑客根据开发环境的配置推断出生产环境的配置,从而相对容易的对整个数据库进行了拖库。整个事件暴露出如华住集团这样体量的公司也未重视代码安全问题。

让我们来详细分析在疑似泄露代码包中的短短 18 行代码中,整个系统暴露出的安全隐患:

  • 核心代码违规上传、分享

  • 共享的代码包中带有真实配置文件

  • 网络没有隔离,数据库访问 IP 没有做限制

  • root 直连数据库

  • 密码设置安全程度极低

  • 明文储存用户信息,没有加密处理

  • 数据库异常没有及时发现

而这可能只是冰山一角,在暗网数据库的销售说明中还留有如果未来权限仍然有效,则可以免费更新数据库信息的介绍,让人怀疑在华住系统内部是否还存在其他漏洞可供用来窃取信息。而这也不是连锁酒店行业第一次发生用户信息泄露事故,2013 年就发生过如家的开房记录泄露事件,当时超过 2000 万条个人信息在网上疯传,甚至还有专门的付费查询网站,不少人深受其害,而那次的事故原因也很低级,竟是因为数据传输过程中没有加密,导致被人发现漏洞直接拖库。

对此不禁要问,明明已经发生过多次同类型事件,为什么还是无法引起企业的重视?随着企业业务的复杂程度不断增加,研发部门的架构也变得越来越复杂,中间还可能夹杂着不同的供应商和项目外包公司。在这样的现状下我们认为事故频发的原因主要有四点:

01

项目管理工具不统一



企业研发部门之间、研发部门和外包公司之间使用不同的项目管理系统,无法统一安全标准和代码质量,导致事故频发。

02

代码权限控制不足



大部分企业内部的网络安全性堪忧,权限管理混乱的现象非常普遍。企业内部本身有各种各样的项目,再加上外部供应商和外包公司的接入,对于自建代码系统的企业来说,如何严格界定哪些成员可以提交代码、哪些成员只能阅读、哪些成员不能看代码但是能提交 Bug 等情况就变得异常复杂,一个疏忽可能就会导致类似华住集团的事故再次上演。

03

系统性漏洞



使用如 Gitlab 等开源软件搭建企业代码管理系统的企业,也会受到开源软件漏洞的影响导致被他人利用,窃取用户信息。

04

缺少代码审核机制



缺少代码审核机制导致如 “username = root,password = 123456” 这样的低质量代码出现在核心代码中,增加安全隐患。


CODING 能够解决企业代码安全问题

一站式项目管理

CODING 研发管理系统以 Git 代码托管与发布为核心,涵盖代码托管、代码提交、代码审查、持续集成、Bug 追踪等开发场景,全面覆盖企业研发流程,同时 CODING 研发管理系统的任务、文件、Wiki 等工具,获取需求管理、任务追踪、知识库管理等一系列协作功能方便各个团队和外包公司在同一平台工作,实现一站式项目管理,统一安全标准,保证核心代码安全性。

权限灵活配置

企业管理员可在企业/项目层面分配不同权限角色,同时支持企业认证和审计系统,如 LDAP 等,多维度权限管理,灵活配置,帮助企业管理每一个成员的权限,通过项目组的方式天然分割和保护每一个项目,保障企业代码安全。

自主研发,确保安全性

CODING 完全自主研发的 Git 后端服务保证极速响应,分布式计算 + 存储保证整套系统的可用性、稳定性。

Code Review

CODING 研发管理系统中的 Code Review 功能帮助工程师在开发过程中,每一次提交代码都能对源代码变动进行系统性的检查,查找系统缺陷提高代码质量。同时企业成员每次操作均有详细的日志记录,点击每一步都可以看到步骤详情和日志,帮助管理者溯源和查看每一次的记录和结果。

在这个信息爆炸的时代,数字资产已经成为企业的立命之本,建立行之有效的安全管理规范和运用合适工具减少安全隐患成为企业的当务之急。CODING 作为国内首家企业级研发管理系统供应商,凭借在研发管理领域多年的深耕经验,协助企业管理核心数字资产的同时进行研发管理流程升级,实现企业研发效能提升。

CODING 研发管理系统即将上线持续集成功能,敬请期待!


更多阅读



 
扣钉Coding 更多文章 2017年 DevOps 状况报告 CODING 送图书,每月 10 本! IT 部门必须要能掌控变化 6 组数字告诉你,为什么要做 IT 自动化? 北京 | 高通骁龙™ 游戏及 XR 开发技术开放日
猜您喜欢 平安金融科技测试技术周报(第二十九期) 网站导航全新形式:全屏菜单 【Meetup 预告】Apache Kylin & Alluxio&nb Android JavaPoet 动态生成Java源码(2) OPPO,vivo,索尼等..25种手机固件漏洞,这些厂商的安全部门到底在干嘛?