查看原文
其他

通过两个数据泄露事件来分析数字政务在API安全上遇到的挑战

The following article is from API安全 Author 老毕

一、先来看两个真实的事件:

1、2022年1月,永安在线工具情报平台发现了一款工具正在对某南方省会城市网上交管业务系统进行攻击,这个工具利用了该政务系统注册环节,某个API的实现逻辑问题,可以通过身份证号查询到任意人的手机号


2、2022年2月,永安在线工具情报平台发现一款工具正在对湖南某政务系统进行攻击,同样,也是可以通过身份证号获取任意人的电话号码


二、这两个事件为什么会发生?

这两个事件虽然是不同的业务系统,但问题发生的原因是相同的,原因我们可以分两个维度来看:

1、首先最直接的原因是业务场景的实现需求,这两个发生风险的API所实现的业务场景需求是相同的。

1)用户输入自己的身份证号

2)系统通过有安全缺陷的API来查询对应的用户真实手机号

3)系统直接给该手机号发送短信验证码

4)如果操作者是真的该身份证号拥有者,则输入验证码完成身份验证

可以说这个体验是相当顺滑的,但是问题出现在业务流程的实现过程中,稍不留意就会给攻击者留下巨大的“后门”,在这里的第二步所用到的API就变成了攻击者获取公民个人信息的弱点。


2、其次,当前的政务数字化正处在第三阶段,在这个阶段,潜在的安全风险环境发生了质的变化。

整个政务的数字化可以分三个阶段:

1)最早的阶段是数据的数字化,是把纸质的数据变成电子的内容,这个阶段下要考虑的是数据本身的存储和权限管理

2)然后是政务内部的协同数字化,政务组织内部的多个团队之间的协同和跨政务体系的协同,提升百姓百事效率,比如说以前要去两个地方办理的手续现在只需要一个地方了,这个就是由多个部门数字化后协同效率打开带来的优化,这个时候安全要开始重视应用安全和权限管理,这些协同是在互联网的协同,但这时候的风险环境并没有发生质的变化。

3)而当前,为了进一步提升办事效率,当前的政务数字化的重点是在业务流程的线上化,这时候带来两个巨大的变化,一个是这时候会直接改造个人办事流程,流程的数字化会增加大量API,且这些API所包含的数据和逻辑更加复杂。其次,这些API都是公网的API,风险面的暴露是无限的。


这时候数字政务所面对的风险环境就发生了质的变化。这是为什么这两个事件会发生的深层次原因。


三、那当前数字政务应该如何避免这类问题的发生?

1、首先,在开发环节就应该要规范API,包含的数据字段,以及不同数据字段敏感度级别的不同授权管控。在开发环节做好开发流程管理后,在测试环节和生产环境下,也需要反复的对API做验证,确保所有API是按照该防范标准所运行。像英国的42crunch的API安全方案,就是从Devops环节为开始,在生产环境不断的动态验证API是否按照设计规范运行。在开发时维护好API Spec,在生产环境下通过旁路方式不断验证API的运行态是否匹配所对应的API Spec。

这种方式基础且必要,但也有现实问题,就是开发环节的改造难度和落地执行的管理难度大。人的问题、流程的问题等等,周期长,同时也很难保证不再发生安全事故。


2、生产环境下的风险监测能力是当下阶段的基础设施

那有没有一个产品可以在不改造开发流程,不增加人员管理成本的情况下,最大程度的避免风险事件的发生呢?


永安在线的API安全管控平台就是以这样的目标设计的。

API安全管控平台有两个核心模块:

API资产管理:

会首先帮助业务梳理API资产,有多少API,以及API包含了哪些类型敏感数据,整个过程都是自动化且动态完成的,可以适应业务的变化。这是API安全管理的基础。


API风险管理:

首先,对API资产做完整的风险评估,找出存在安全缺陷的API,展示缺陷细节,给企业提供一个管理API安全的视角。

其次,基于永安在线的情报能力,监测API架构的风险态势,一旦有攻击发生,有能力在第一时间发现且预警、阻断,避免业务存在安全盲区,这是API安全管理的基础设施。


四、还有什么需要关注的?

最后要提到的是现在API的分类有很多口径,上面内容更多是基于近期我们发现的两个事件展开说明下政务数字化所遇到的挑战和解决思路。但实际上还有很多场景是没有覆盖到的,比如B2B类的API、企业内部系统API,数量都在快速增加,这类API也会有他们所遇到的安全管理难点,后续结合实际案例,我们会继续这个话题。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存