在头条删库上了头条。
6月23日晚,脉脉上有网友爆料——字节跳动的实习生删除了公司所有GB级别以下的机器学习模型。
GB级别以下的机器学习模型也就是lite(TensorFlowLite)模型,而且由于实习生删除的是父目录且加了skiptrash操作,被删除模型无法恢复。于是当晚全公司通报,并且列入P0事故等级(严重事故)。
这时候,笔者开始思考几个问题:
1、为什么会出现这种删库行为?
(1)实习生为什么准备删目录。据称实习生是在清理HDFS上的目录,发现一个目录最近更新时间是3月份,认为这是不用的一个目录。
(2)实习生删目录行为前是否询问过领导。据称当时实习生有过询问行为,但依然实施了删除操作,这也涉及到内部相关人的把控不严。
(3)实习生为什么拥有删目录的权限。权限分配逻辑是否存在不严谨、员工出现不当操作时为什么没有提醒,这是安全措施和内部流程不到位的结果。
2、实习生怎么处理?
有网友表示:“只要不是主观故意的”就不会被开除。
同时,我们也邀请了娄鹤律师分享对此次事件归责的看法:从上述的信息来看,此次事故主要是公司的内控问题:如实习生的权限包含此类删除是否合适?没法恢复说明公司没有任何备份?操作流程是怎么规范的?而实习生最多是存在过失,相较于追责实习生,更重要的是追究内部人员的失职和公司安全管理存在的问题。
权限管理一直是企业需要不断优化的安全工作,在微盟删库事故启示录中,FreeBuf也分享过,权限管理是业务风险管控的重要手段。常见的操作包括:
权限授予
授权主要分为工单申请、动态授权、静态授权。
工单申请即通过内部系统向领导提交工单申请,保障操作可追溯,有审核;静态授权则是根据角色工作需求进行策略配置,从更小的细粒度来授予权限,且一般是低权限账号;动态授权则是目前更流行以及更灵活的方式,基于角色、设备类型、地点等的变化,动态授予对象不同的权限。
数据库权限管理
1)最小化权限原则
2)分库分表
数据库主从及备份
1)主从:当出现故障时能够进行故障迁移,满足高可用
2)备份:
实时备份:在线备份数据库进行读写分离,用于数据恢复
离线备份:日常异地离线备份,用于数据灾难恢复
备份数据权限控制
1)设置备份数据的操作权限策略,限制高危敏感操作,如drop、rm等
2)设置备份数据的访问控制策略,否则易导致另一种的数据泄露问题
指令控制和审计
1)操作系统的敏感/关键指令的限制和监控,并对操作指令历史进行采集和远程存储分析
2)数据库审计,对数据库流量或日志审计,设定告警通知机制
管理流程优化改进
1)线上变更的流程审批,申请变更时段和操作细节,效率会慢一点,但提升了安全性
2)系统性的风险评估,识别与量化风险,进行风险处置,降低风险
3)BCP(业务连续性计划)和DRP(灾难恢复计划)的制定、评估和周期性演练。达到一定规模体量的企业,是有必要认真考虑这两个计划。
来源:FreeBuf.COM