摘要: 在企业云上安全中,除了服务器内部漏洞风险和DDOS攻击等外部攻击风险外,还有一种风险是内部用户风险,由于这类风险往往是由内部用户的异常操作造成的,且内部用户的操作在安全检测中天然拥有高可靠性,因此具有极高的隐蔽性,在真正发生安全事件后往往引起巨大危险。 腾讯...
-
是否高风险:该用户在14天内的操作记录是否涉及高风险权限(用户权限提升、资产高风险权限修改) -
是否api:该用户在14天内的操作记录是否存在规律性 -
是否人类:该用户除去规律性操作外是否存在其他操作 - 操作密度:该用户7天内的操作密度。由7天内每天操作记录总数的四分位数得出,具体规则如下所示:
min | 25% | 50% | 75% | max | 操作密度 |
<200 | <200 | <200 | <200 | <200 | 0 |
>=200 | — | — | — | — | 1 |
— | >=200 | — | — | — | 2 |
— | — | >=200 | — | — | 3 |
— | — | — | >=200 | — | 4 |
— | — | — | — | >=200 | 5 |
— | — | — | — | =0 | 6 |
根据得到的用户各身份因子,可以得到用户的具体身份,规则如下所示:
是否高风险 | 是否api | 是否人类 | 操作密度 | 身份 |
— | — | — | 6 | silent_user |
是 | 是 | — | <=2 | high_dense_api_ops |
否 | 是 | 是 | <=2 | high_dense_api_user |
否 | 是 | 否 | <=2 | high_dense_api_pure |
是 | 否 | — | <=2 | high_dense_ops |
否 | 否 | — | <=2 | high_dense_user |
是 | 是 | — | >2 | normal_dense_api_ops |
否 | 是 | 是 | >2 | normal_dense_api_user |
否 | 是 | 否 | >2 | normal_dense_api_pure |
是 | 否 | — | >2 | normal_dense_ops |
否 | 否 | — | >2 | normal_dense_user |
是 | 是 | — | =0 | high_risk_api_ops |
否 | 是 | 是 | =0 | low_dense_api_user |
否 | 是 | 否 | =0 | low_dense_api_pure |
是 | 否 | — | =0 | high_risk_ops |
否 | 否 | — | =0 | low_dense_user |
(一)用户权限提升
(二)资产高风险权限修改
基于以上需求,用户权限提升场景的检测逻辑如下:
(二)资产高风险权限修改
该类场景聚焦于资产高风险权限修改类的操作事件,例如修改安全组规则。这一类操作事件在实际工作中基本由运维人员操作产生,但是可能存在运维人员为了方便工作,为自己的子账号提权后也进行了该类操作。由于目前未对子账号身份作进一步划分,因此未对这类子账号做特殊处理。这类场景与用户权限提升场景的检测逻辑类似,如下所示:
(三)用户权限遍历
该类场景聚焦于用户在单位时间内涉及的操作事件种类数。结合历史数据以及实际工作需求来看,一个行为正常的子账号在单位时间内操作事件的种类必然不会太多,若子账号在一定时间段内执行的操作种类数超过预警值,则可以说明该类用户存在试探性操作的可能性,可能是对业务不熟悉或者黑客入侵。
基于以上需求,用户权限遍历的场景检测逻辑如下所示:
(四)新用户高危操作
该类场景关注的是用户在被创建后的一小时内是否存在风险。在实际工作环境中,一个低风险的新用户在被创建后一般不会进行大量高风险操作,而是会较小心的查看一些数据,例如查看服务器流量情况,这类操作本身就是低风险的,而且涉及的事件类型也比较固定。因此,首先对所有的事件类型进行粗略的风险评估,抽取其中高风险的事件类型,然后重点关注用户新入后的操作记录中涉及这些高风险事件类型的操作。若高危操作过多,则该新用户可能为误操作或为黑客创建。
基于以上需求,新用户高危操作的场景检测逻辑如下所示:
在排查用户权限遍历告警中,我们发现该子用户当天进行了大量的存储桶相关操作以及一些权限检查操作,因操作种类数超过了场景检测阈值,因此进行了相应告警。之后又分析了用户操作行为日志中来自境外的操作记录,发现这些操作记录均属于API调用。调查到这里,安全人员发现了该事件的严重性,在与相关人员沟通后,确认到该子用户的SecretKey已经泄漏,客户确认该子用户操作与以往不符,随即进行了一系列响应和补救措施,防止更严重的安全事件发生。在确定风险来源后,除了删除已经泄漏的SecretKey外,在安全人员的建议下,该用户还开启了安全运营中心的泄漏检测模块,防止以后类似的事情发生。