一、什么是API
API技术解决的是程序之间的连接问题。
API提供能力,调用方不用访问源码或理解程序内部工作机制。
二、API安全形势
1、API发展趋势
目前随着互联网、物联网等快速发展,越来越多的开发者会使用API接口为客户提供各种微服务并通过云原生应用快速部署容器进行快速迭代开发。因此无论是在互联网访问网络资源或者通过物联网进行系统应用的控制都会利用API接口。
为了让客户获得更好的服务体验,银行机构正在采用、甚至迁移到API式的敏捷模型中,以实现高效、强适应性的金融安全架构。
医疗保健行业的从业人员通过各种可用的API,向患者和客户提供集成化的医疗保健服务,并能提高自身产品的互操作性。
零售商正在使用API为其客户提供更加智能化的电子商务平台,例如:多元化的移动支付应用等。
2、API安全面临的挑战
据统计,API请求已占所有应用请求的83%,预计2024年API请求命中数将达到42万亿次。与此同时,针对API的攻击成为了恶意攻击者的首选,相对于传统WEB窗体,API的性能更高、攻击的成本更低,有专家预测,到2024年API滥用将使得针对API的攻击成为最常见的攻击方式。之所以API安全问题如此严重,主要是因为API安全面临着如下挑战:
(1)应用和逻辑迁移上云,暴露更多攻击面
随着云计算技术的广泛应用,越来越多的Saas被迁移上云,在为更多的用户提供服务的同时,也将API暴露到云中,相对于传统数据中心的单点调用,东西向和南北向都可能成为API的攻击面。
(2)创新强调速度和灵活,忽略构建API安全
敏捷开发模式是当今主流开发模式,敏捷开发强调个体和互动、工作的软件、客户合作、响应变化,虽然提升了创新速度和灵活性,但是对于如何构建API安全性却缺少合适的方法,导致在软件构建过程中难以顾及API安全。
(3)API接口对外不可见,引发多种攻击隐患
由于API是由程序员书写,除了编写代码的程序员,很少有人意识到这些API的存在,缺少维护的API经常容易被忽略,然而恶意攻击者却可以利用网络流量、逆向代码、安全漏洞等各种手段找到不设防API并实施攻击。
(4)组织经常低估API风险,造成安全措施遗漏
人们通常会假设程序会按照想象中的过程运行,从而导致API被攻击的可能性以及影响被严重低估,因此不去采取充分的防护措施。此外,第三方合作伙伴系统的API,也容易被组织所忽视。
3、API安全面临的威胁
(1)凭证类攻击
(2)可用性攻击
(3)漏洞利用攻击
4、API相关的常见数据安全问题
(1)数据滥用风险
(2)数据泄露风险
(3)隐私合规风险
三、OWASP API Top 10
A1:失效的对象级授权
(1)基于用户策略和继承关系来实现适当的授权机制
(2)使用随机且不易推测的IDs (UUIDs)
A2:失效的用户身份认证
(1)凭据重置、忘记密码端应被视作认证端点,在暴力破解、请求频率限制和锁定保护上同等对待
(2)使用标准认证、令牌生成、密码存储、多因素认证
A3:过度的数据暴露
预防措施:
A4:资源缺失&速率限制
预防措施:
A5:失效的功能级别授权
预防措施:
A6:批量分配
预防措施:
A7:安全配置错误
预防措施:
A8:注入
预防措施:
A9:资产管理不当
预防措施:
A10:日志和监控不足
预防措施:
四、API安全治理
1、API风险调查
溯源定位
通过将告警的源地址与资产数据进行匹配,以及提取APIurl中的账号等参数信息,来识别出告警主体的更多信息。如果是来自内部的操作,则可以直接定位到当事的操作员工,以及所在团队或者营业部。
告警聚集性挖掘
情报印证
API告警的背后,是疑似API被滥用和数据被泄露。我们将告警中涉及的数据与外部泄露情报进行自动比对,如果比对印证成功,则API被滥用和数据被泄露的实锤加大,同时也省去了大量人工调查环节的证据搜索时间。
行为链路梳理
一个真实的风险事件,可能会伴随着一系列的异常行为。如通过频繁调用API接口获取了大量个人隐私数据,后续可能会出现数据外发的DLP事件,或者之前已申请离职,意图将敏感数据带走等。因此对于一条告警,我们会搜索告警时点前后的重要行为,并将其展现到调查面板中。
2、API管理
3、API安全防护措施
使用令牌技术
通过令牌建立API接口的可信身份,然后使用属于可信身份的令牌才能够实现对服务和数据资源等进行访问以及控制。
使用加密和签名技术
例如使用TLS等加密方式对数据进行加密,保证数据在传输过程中被加密并防止被篡改。使用签名技术可以保证只有拥有数据访问权限的用户才能够对数据进行解密并对数据进行修改。
主动识别API中的漏洞
可以使用检测嗅探器对API安全进行检测并检查数据被泄漏的情况,确保在网络环境下API服务的安全性,实时追踪API接口是否被非法黑客进行攻击以及漏洞被利用的情况。
使用API安全网关
目前API安全网关已经被作为防护API安全的一个关键技术被使用,由于API安全网关可以用来控制和管理API接口的使用情况,同时也可以对使用API接口和服务的用户进行身份认证,因此在保护数据和API安全性上具备一定优势。
对API接口的访问频率进行限制
由于业务的不同,API接口被调用的情况也会不同,通过分析和监测API接口被访问和调用的频率来确保API接口未被攻击者攻击以及数据被泄漏。一般来说被攻击的API接口往往会出现被调用次数增多或者频率与正常情况出现较大差异,因此通过限制API接口被访问的情况,进行限流等方式可以防护API出现被攻击者攻击甚至是拒绝服务的情况。
4、API安全检视
从发现、保护和分析三个维度,制定API安全检视列表,持续对API进行安全检视,以此发现隐患,制定策略、实施防护。在发现维度检视API开发、测试和部署的安全措施是否全面。在保护维度,检视用户标识、DDOS攻击防护措施、数据校验黑白名单是否完整。在分析维度,检视API风险评估、API审计日志是否充分。
5、展望