这是一次关于企业API安全建设的思考与探索,从API安全问题与挑战、建设思路、解决方案、实践案例出发。具体背景就不细说了,直接上菜。
1. API安全问题与挑战
首先思考API安全可能存在的一些问题与挑战:
一、API安全技术常见问题与难点
三连招:首先要肯定对手太狡猾,手段多样;然后是问题太多难以应对;最后是作战方案可能有缺陷。
有图有真相:


二、API安全治理常见的问题与挑战
本着优点可能各有不同,但问题可能都类似,整理了一些常见的问题,主要包括:
- API 资产难以进行全面梳理;
- API 资产难以全面的脆弱性评估;
- 难以对 API 风险进行有效识别;
- 自动化程度较低;
- API开发安全不足;
- 跨部门协同存在难题。

三、目前API安全能力短板
说明企业目前API安全能力有哪些不足,可以从以下几个方面去思考:
- 先找出已发现的问题,再去推出问题根本原因;
- 提出的问题根本原因,需要在后面的解决方案中体现解决方法。
最好是将问题能够量化,并有图有真相。如果职责是找问题(比如挖漏洞),也可以把一些找到的问题作为亮点进行展示,体现工作成绩。
2. API安全保障体系建设思路
不管是网络安全建设,还是API安全建设,思路和方法应该是相通的。因此,采用生命周期构建安全模型、IPDRR、“事前.事中.事后”的模式来进行思考。
2.1 思路一:基于API生命周期构建安全模型
生命周期的安全管理应该都是大同小异,根据API的一些固有特性和自己的理解,进行了整理,为了排版略有缩减,直接上图:

2.2 思路二:基于安全模型的API安全建设
参考IPDRR网络安全模型,通过分阶段的方法分解事项,涵盖安全运营的思路。
通过分析“事前、事中、事后”三个阶段的重点工作项,把API安全代入进来,快速形成一个实用的工作框架。

2.3 API安全体系建设思路归纳
将前面的思路进行简单归纳,从体系化、全面化、整体化进行了考虑。这些考虑是很有必要的,从不同角度和维度进行认识,形成系统化的认知。

3. API安全体系设计
API安全体系采用顶层设计结构,根据行业内已有的知识,加上自己的理解稍加整理。

因为不同厂商、企业的安全管理体系和安全能力设备会各有不同,这里不作解读。
3.1 安全能力体系
一、API资产管理的一些核心思想
- 建设 API 资产管理系统,实现对 API 资产的统一管理,并识别出哪些是需要保护的API 资产;
- 采用动态识别和静态识别,确保API识别完整性;
- 及时清理沉默、失活API接口,发现超期审批、未经审批的数据处理API接口。
稍微整理一些API资产识别常用方法:

二、API风险监测的一些核心思想
- 对账号访问API行为进行监测、记录;
- 对API 暴露面调用行为、数据访问行为进行监测记录;
- 对API访问数据、流转过程进行监测,重点关注重要数据、个人信息的泄漏风险;
- 形成API 接口正常访问行为基线,对用户行为、异常行为实时监测,阻断高危异常访问,例如API 数据报文内容、API 调用的参数特征以及 API调用频率情况等,评估是否存在安全隐患;
- 对重点IP(例如不受信IP、境外IP)访问API 的情况进行监测,发现可能的数据异常访问;
- 识别数据包重放、数据传输篡改、未授权访问、越权访问、弱口令、信息泄露等安全风险。
三、第三方使用管理的一些核心思想
- 对第三方调用 API 过程进行风险评估,对其数据安全防护能力进行审核;
- 通过制度管理进行约束,例如保密协议、承诺书等。
四、应用安全的一些核心思想
- 对调用 API 的具体过程采用相关的接口防护措施,例如接口签名、人机识别、频率控制、多因素验证、时间控制、异常环境检测、代码混淆、终端标记等技术手段;
- 对API接口精细化访问控制,例如源 IP、访问频率、客户端指纹、API 令牌、HTTP请求特征等报文内容进行校验;
- 对API写入、生成恶意数据内容进行识别,通过风险控制策略等技术手段,保护业务正常运营。
五、开发安全的一些核心思想
- 上线前,评估接口业务逻辑、组件评估、接口功能的安全风险隐患;
- 开发编码阶段,遵循必要的接口安全编码规范,对接口的身份验证、授权、输入验证和过滤、输出转义、错误处理、加密等功能进行测试;
- 强化开发阶段的安全技术策略,例如采用数据加密、数据报文签名、token 授权认证、时间戳超时、限流机制、黑白名单、数据脱敏、数据参数合法性校验等接口安全技术措施。
在设计、测试以及发布API 的时候所需要核对的重要安全措施,例如:




参考来源:yosriady/api-development-tools- 用于构建 RESTful HTTP + JSON API 的有用资源集合。
六、安全防
已在FreeBuf发表 0 篇文章
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)



