当前位置: 首页 > 科技观察

电商平台物流API存在安全隐患

时间:2023-03-20 00:04:07 科技观察

如果电商平台物流API存在安全漏洞,将暴露大量消费者个人信息。物流API集成了企业与第三方供应商之间的数据和服务,以满足各种市场需求。如果API未正确集成,则可能存在泄露个人身份信息(PII)的风险。许多使用API进行通信的垂直行业应该得到充分保护,尤其是在传输敏感数据时。否则,无意中披露PII不仅会对未能履行其法律或合规义务的组织造成严重后果,还会对暴露PII的消费者造成严重后果。什么是外部物流供应商?外部物流提供商只是商家用来运送产品的快递服务(第二方物流或2PL),或者它们可以是第三方物流(3PL)服务,包括仓储、电子商务平台和交付的产品。下图显示了外部物流提供商在不同用例中的工作方式。外部物流提供商如何在不同的用例中工作最初,研究人员调查了3PL和4PL提供商,他们通过不安全的方法无意中暴露了PII。但随着我们研究的深入,我们也发现,除了3PL和4PL提供商暴露敏感信息外,其系统中集成的服务也存在自身的安全漏洞,从而加剧了整个电子商务生态系统的风险。电子商务平台允许商家通过API整合现有的外部物流供应商,将不同的服务整合到一个平台中。电子商务平台和物流提供商共享的API密钥和身份验证密钥旨在促进安全的通信渠道。PII是如何从电子商务和物流API实现中泄露的?PII可以通过多种方式从与不安全编码实践相关联的物流API实现中公开。URL查询参数一种无意中暴露PII的编码实践涉及电子商务平台和物流API中的URL查询参数。电子商务平台通常要求客户登录帐户或选择访客结账选项。一些在线购物网站使用一个唯一的URL,通过电子邮件或短信发送给用户,将他们重定向到一个他们可以访问订单信息的网站。认为发送到收件人拥有的电子邮件地址或电话号码的唯一URL组合足以保护PII的假设是有问题的,因为它会产生一种错误的安全感。研究表明,未经授权的各方仍然可以通过直接访问URL来检索客户PII,而无需进一步的身份验证。URL参数中的身份验证密钥当消费者在在线商店下订单时,商店会向他们发送一封确认电子邮件,其中包含URL链接和URL参数上的身份验证密钥,以查看订单详细信息。此密钥用于验证检查订单页面的用户是否是电子邮件的收件人。订单页面包含客户姓名、电子邮件地址、电话号码和付款方式等信息。将身份验证密钥作为URL参数的一部分传递的做法可能会泄露PII,因为仍然可以使用其他方式检索这些密钥,例如访问用户的浏览历史记录和路由器日志。使用未加密的URL查询参数会使PII容易受到嗅探和中间人攻击。未经身份验证的3PLAPI虽然在线零售商使用的3PL服务的基本组件包括订单处理、运输和跟踪,但我们还发现3PL提供商的API(在下图中称为X公司)是通过未经身份验证的API服务披露的个人身份信息。其他四家3PL提供商正在使用此API服务来显示客户订单信息。四家3PL公司使用另一家3PL公司的API检索订单和跟踪信息研究人员发现,他们正在查看的页面在后台向另一家3PL供应商发出HTTP请求以获取订单详细信息。从API请求中检索到的数据揭示了一组完整的客户信息。研究人员仔细检查了订单信息页面URL的参数。其中一个在后台发出的API请求使用未经身份验证的方法对API请求进行身份验证,该请求返回有关客户和购买的物品的完整信息集。因此,任何有权访问订单信息URL的人都可以重建URL以检索客户的PII。超出建议期限的会话和cookie另一种不安全的编码做法是某些3PL提供商使用过期日期设置不当的会话和cookie。我们观察到许多3PL提供商不遵守特定于使用会话和cookie来规范身份验证的安全最佳实践的实例。这种方法是开放Web应用程序安全项目(OWASP)推荐的最佳实践之一,尽管会话生存时间(TTL)应该始终在事务完成或用户注销连接后立即过期。攻击者可以使用检测到的cookie密钥重放交易并获取PII,他们可以利用这些PII来启动恶意计划。该列表显示其到期日期设置超过OWASP建议持续时间的cookie,从而使攻击者可以使用cookie信息来重播交易。解决不安全编码实践的安全建议。在两者中发挥的关键作用有力地证明了利益相关者需要采取一种深思熟虑的方法来确保物流API实施的安全性。以下是关于如何改进编码实践的一些建议:1.会话和cookie过期会话过期决定何时终止会话与服务器的已验证连接。默认情况下,这被设置为一天,或者会话在用户停止连接到网站后终止。相同的机制适用于cookie过期。一旦用户不再在站点上执行任何操作,应激活会话超时以防止重复使用过期的cookie。2.过度数据暴露当暴露的数据多于交易所需的数据时,就会发生过度数据暴露。一些开发人员实现了发送交易的所有信息,但没有实现完成交易所需的信息。这会造成数据暴露给访问受限或权限有限的帐户的情况。从物流API泄??露的数据可用于诈骗或欺诈。API响应中过多信息的暴露开发人员应采取一种做法,识别交易所需的重要客户信息并对其风险级别进行分类。3.对象级授权的破坏对象级授权通常在编码阶段实现,是一种访问控制策略,用于保证只有授权用户才能访问对象。应在每个接收对象ID并对该对象执行任何类型操作的API端点中实施对象级授权检查。这些测试确保登录用户有权对请求的对象执行操作。在处理PII时,加密数据并在授予访问权限之前要求用户身份验证更安全。使用3PLAPI集成时,PII在与相关3PL供应商共享时应得到充分保护。有许多不同的身份验证算法可用于保护API事务。诸如JSONWeb令牌(JWT)或使用盐编码的base64生成的自定义令牌之类的令牌对于保护API调用至关重要。总之,开发人员应该记住在整个交易过程中应该提供什么数据以及应该采取什么认证措施。针对电子商务平台用户的安全建议消费者在最大限度地降低PII暴露风险方面扮演着同样重要的角色。以下安全实践可以帮助他们保护PII的安全:正确处理运输信息并确保带有PII的标签被切碎或混淆,这样攻击者就无法再读取它们。删除浏览历史记录,尤其是在公共或共享设备上。避免将未知的浏览器扩展安装到可以读取和收集未加密的URL查询字符串的Web浏览器。在公共Wi-Fi网络上使用合法的虚拟专用网络(VPN)以减少个人数据的暴露。为电子商务平台和其他需要用户输入PII的网站实施双因素或多因素身份验证。