RSAC2022 |深入解读API安全如何破解困境

发布时间 2022-06-23
编者按:

在今年的RSAC中,以色列的API安全公司Neose入选创新十强,同样在2019年获得RASC创新十强的Salt Security,也是一家以API安全为主的公司。本文启明星辰集团结合了自身丰富的经验沉淀与实践积累,为您深入解读API安全,厘清API安全防护的解决之道。


API面对的安全问题


OWASP在2019年公布的 API TOP10风险分别是失效的对象授权、失效的用户身份验证、过度数据暴露、资源缺失和速率限制、失效的功能级授权、批量分配、安全配置错误、注入攻击、资产管理不当、日志监控不足。针对这10类安全风险,列举部分利用原理和使用示例:


失效的对象授权:对象授权是一种在代码层面实现的访问控制机制,用于限制用户仅能访问其有权访问的对象,但入侵者可以通过改变ID来攻击存在“失效的对象级授权”漏洞的API。例如,由于没有完善的权限控制机制,入侵者可以在前后台交互中,通过改变链接中的ID值来控制API返回不同的用户数据,因存在水平越权问题从而造成敏感信息泄漏。


过度的数据暴露:API在对查询进行响应的时候返回了过多的敏感信息。例如:某用户名查询接口,本应设计为只返回用户名,但实际向接口发起数据查询时却将用户所有信息均返回给客户端,造成数据泄露。


资产管理不当:由于现代应用程序开发的交付周期较短,DevOps团队经常将更多的API部署到生产环境中,这带来了资产管理问题。首先,向后兼容的要求迫使DevOps团队让旧版本API继续运行。攻击者通常觊觎这些旧版本,钻安全检查机制的空子。同时,其他的API也可能未遵守数据治理政策,使其成为数据暴露的关键入口点。


API安全防护的解决之道


对比OWASP TOP 10和OWASP API TOP 10,发现这两部分有较大的重合性,但是API业务的场景和架构更加复杂,所以Gartner针对API安全给出了一个参考建议:API安全可以由WAF和API网关两部分构成。


微信图片_20220623131808.png


API安全防护架构及分工


在API安全解决方案中,作为WAF企业来说,产品增强API安全防护可以从以下几个方面来考虑:


1、API资产梳理和监控


发现API资产并进行逐一盘点和跟踪,建立API清单并识别每个API的用途,同时对于内部API和外部API进行区别对待;基于盘点的API清单进行访问策略的详细配置,尽量避免不同的对象属性,使用相同的API策略。


WAF产品上的API的资产管理,需要具备API协议的识别、API资产的自动发现、灵活的API资产分组、API资产的导入导出、API资产的下线处理、API资产访问的策略配置、自动化的API资产管理接口等基础能力。


2、API攻击识别和防护


针对OWASP API TOP 10的安全风险,在WAF的API安全防护模块的功能设计和实现上,需要具备API请求合法性校验、防范撞库和暴力破解、API的对象格式的限制、可定义允许的响应数据类型、针对相关标识具备修改、多种防注入攻击、自定义检测规则等能力。


在对API业务攻击上,注入类入侵占据了很大的比率,对于注入累入侵的检测可以通过特征检测、算法检测、AI检测等技术手段,协同作用实现精准的注入类入侵检测。


3、API异常访问行为分析


行为特征提取是整个行为分析建模的基础,需结合实际的业务需求,以数据实体为中心,规约数据维度类型和关联关系,形成符合业务实际情况的建模体。


基于异常行为分析,能发现无明显特征的攻击行为,或者是针对业务的异常访问,比如发现大量的数据传输、异常的访问对象、被攻击利用的过期API或者是僵尸API、过度暴露的数据等。


4、API访问性能监控


API访问性能监控能够在出现大量API请求的情况下,保证API的服务能正常工与系统的韧性。


在API访问性能监控中,一是需要能区分正常业务访问和机器的访问流量,对机器的访问流量可以做过滤;二是处理正常访问的时候,在某些特殊场景下需要做到请求限流、服务降级或者是有条件的服务熔断等操作,以最大限度保证API业务不彻底瘫痪。


5、敏感数据识别和过滤


在API访问中会传输大量的数据,数据的传输分为正常访问和数据窃取等,对于正常的数据访问,可以在数据分级分类的情况下,在API安全网关上实现对数据的脱敏和混淆等功能;对于数据窃取的情况下,需要识别异常的数据泄露,并阻断异常访问和连接。


API作为链接数据的一种便捷高效的方式,已经成为了IT和DT时代最重要的应用模式之一,其承载的数据拥有巨大的价值,也带来多种商业模式蓬勃发展,引起了各种恶意组织和个人大量的关注。


随着国内外的数据安全法规、行业和组织的API安全规范的颁布与实行,企业扩大对API安全的需求,业务开发团队安全意识的提升,安全检测技术和安全解决方案的快速发展和演进,都将为API链接的数据保驾护航,API安全防护能力将成为数据大厦的稳固基座之一。


小贴士:


API:是指应用程序接口(Application Program Interface),是一种程序之间的接口,因其便捷性和微服务架构,得到了广泛的应用,目前已覆盖了移动应用程序,物联网IOT,云服务客户端,内部应用程序,合作伙伴应用程序等IT领域的多个方面。


API安全:通过对API通信行为的采集、监控、防御等手段,发现并收敛API生产过程中的风险,拦截针对API的漏洞攻击及数据窃取行为。