发布日期:2024/05/28
在上一期中,我们深入探讨了API鉴权问题可能带来的安全风险。特别值得注意的是,接口未鉴权或弱鉴权所引发的数据泄露问题,已成为近年来频繁出现且直接威胁用户业务安全的重要风险点。互联网、金融、医疗、教育等多个行业均面临着不同程度的接口数据泄露风险。
为了应对这一挑战,本期我们将聚焦在API接口数据安全的识别与防范上。通过深入剖析这一问题的本质,提出有效的识别和防范策略,以助您更好地保护业务数据和用户隐私。
为什么说API接口已经成为数据泄露的主要途径之一?
API多用于提供数据服务,权限难以控制,对外暴露不可避免。不论是前后端系统交互、第三方业务协同等场景,API接口通常都是用来调用数据的直接途径,因此也是对外暴露的主要通道,尽管有加密、混淆包括权限控制等一系列保障手段,但仍然难以保证客户端的绝对可信,一旦API接口给出,业务方很难确定调用是否安全可靠;
API涉及的敏感数据类型多,有账号类数据,也有个人隐私等。API接口可以用于登录认证、信息核验和数据调取等多种场景,也广泛应用在政务、金融、医疗等各种行业领域,因此涉及多种类型的敏感信息,既有账号密码等数据,也涉及身份信息、联系方式以及企业敏感数据等各类信息,如果违规使用或接口权限设置不严格,则很容易造成数据过度暴露等风险,从而被恶意爬取下载,造成泄露风险。
针对API接口数据泄露,WAF能做什么?
大部分对外提供服务的API接口均依托于HTTP协议通信,因此也面临Web类攻击的威胁,但无法单纯依赖WAF对其进行安全防护:
WAF善于防范基于规则的典型攻击。对外交互的API接口多采用HTTP协议通道,如Restful格式等,因此API的会话活动也会经过WAF的检测分析。WAF的工作原理是基于规则或算法来对攻击特征进行识别,因此能够对SQL注入、跨站脚本攻击、非法扫描攻击等典型攻击类型进行检测防护;
WAF难以识别逻辑漏洞利用攻击。WAF可以防范明确的攻击行为,但无法理解API的逻辑设计,也难以对API的调用活动做长期跟踪,因此对于无显性攻击特征的逻辑漏洞攻击行为,如接口越权访问、数据违规调用、低频数据爬取等威胁类型缺乏有效的识别与控制手段。
用了DLP方案,还会发生API接口数据泄露吗?
防君子难防小人。DLP是最常见的数据防泄露手段,能够依赖规则和策略来识别敏感数据并对其进行访问控制,可以针对各种数据通道来制定保护策略,但随着API接口的开放,尤其是数据服务类接口的广泛应用,敏感数据的传输活动越来越多但权限却难以鉴别,而权限的根本控制点在于人,因此说DLP无法解决人为的错误设定;
安全投入难平衡。企业级的DLP解决方案覆盖系统、终端、网络及应用等各个节点,需要全面部署和持续维护,尤其是一些新型的DLP技术可能要从数据产生之初即参与控制,投入成本高、建设周期长,难以适用于所有的用户单位。
API接口问题导致的数据泄露风险都有哪些常见情况?
信息查询接口未作权限控制,可以直接访问获取数据
接口名称:批量获取用户列表
接口URL:/api/v1/users/bulk
问题描述:该接口用于一次性获取大量用户的信息,以提高效率。然而,该接口没有实施适当的权限验证和请求限制,任何知道接口URL的外部实体都可以发送请求并获取大量的用户数据,一方面可能导致数据泄露,另一方面还可能造成系统过载,由于缺乏权限控制,攻击者可以发送大量的请求,导致系统过载、响应延迟甚至崩溃。
信息校验接口未作细分限制,过度暴露个人隐私信息
接口名称:用户信息查询接口
接口URL:/api/v1/users/info
问题描述:该接口用于返回用户的基本信息,如姓名、性别、年龄等,由于接口没有对返回数据做足够的限制,因此可能会过度暴露用户的个人隐私类信息,比如身份证号码、详细地址、银行卡信息等,一旦被未授权的第三方获取,则可能导致严重的隐私泄露。
访客身份ID可被任意修改,接口被遍历返回账号信息
接口名称:获取用户详细信息
接口URL:/api/v1/users/{userId}/details
问题描述:该接口用于提供指定用户的详细信息,包括用户名、邮箱地址、手机号码、家庭地址等敏感信息。然而,该接口没有实施任何身份验证和授权机制,通过修改userID即可遍历访问该接口,并获取到大量其他用户的敏感数据。
针对API接口的数据安全保护应该怎么做?
从接口安全设计的角度而言,有以下措施可以参考:
定期检查身份验证和授权,确保只有经过合法权限的用户才能访问敏感数据接口;
限制可信的访问范围,即白名单机制,可以通过限定IP范围来进行访问限制;
数据脱敏和加密,即在数据传输和存储过程中通过加密等技术来保护数据的安全性;
数据最小化处理,即仅返回必要的数据字段,避免返回非必要的详细信息;
设定请求频率限制,通过设定合理的请求频率或数据量的限制,防止攻击者发送大量请求来爬取数据甚至造成系统过载;
访问审计及监控,通过对接口访问情况进行详细的安全审计,检测数据泄露的风险行为。
尽管在接口开发设计当中可以增加足够的安全性设计,但接口的主要目的是灵活的提供服务,且会随着业务的调整、规模的变化等情况而改变使用模式,很难在业务层面直接设定过于严格的安全限制,因此从安全保护的角度而言,还需要依赖专用的API风险监测与防护能力,一方面针对接口权限进行行为监测和安全加固,另一方面针对返回数据做识别审计和访问限制,从而能够协同业务系统或API网关来做好业务可用性与安全性的平衡。
API安全防护系统(RayAPI)有哪些优势特点?
盛邦安全API安全防护系统(以下简称“RayAPI”)是一款从API接口活动监测审计出发,通过权限识别、数据识别等机制,对数据流转进行安全检测与加固防护的专用产品,主要具有如下几点技术优势:
全面的敏感数据识别能力
RayAPI可以从接口活动流量中自动识别可能包含的敏感信息,包括个人隐私信息、企业敏感数据、业务敏感信息等,除预定义的敏感信息类型之外,还可以根据实际情况来自定义添加识别规则,从而实现全面的敏感数据发现能力。
直观的数据流转监控能力
RayAPI可以对数据调用源、调用区域、调用账号、调用接口、关联资产和详细请求信息进行关联分析与跟踪统计,既能够为数据保护策略提供分析依据,还能够以直观的分析视角进行监控审计,从而帮助管理员实现清晰的监控管理。
丰富的敏感数据保护策略
RayAPI支持丰富的敏感数据保护策略,包括数据接口调用频率限制、数据调用数量限制、隐私信息监控统计与脱敏保护策略,可以应对机器人攻击、低频撞库、非法爬虫、数据窃取等攻击类型,避免数据多度暴露等脆弱性风险。此外,RayAPI还可以结合访问权限、数据标签等综合条件设定监控策略,及时发现数据异动、数据泄露等风险情况并提供对应的加固保护能力。
敬请关注“大话API安全系列”,让我们共同守护,网络空间的安全和有序。