MASTG-TEST-0054:确定是否与第三方共享敏感数据
概述¶
敏感信息可能通过多种方式泄露给第三方。在 iOS 上通常是通过嵌入在应用中的第三方服务。
这些服务提供的功能可能包括跟踪服务以监控用户在使用应用时的行为、销售横幅广告或改善用户体验。
缺点是开发者通常不知道通过第三方库执行的代码的详细信息。 因此,不应向服务发送超出必要的信息,并且不应泄露任何敏感信息。
大多数第三方服务通过两种方式实现
- 使用独立库
- 使用完整的 SDK
静态分析¶
要确定第三方库提供的 API 调用和函数是否按照最佳实践使用,请查看其源代码、请求的权限并检查是否有任何已知漏洞。
发送给第三方服务的所有数据都应匿名化,以防止暴露 PII(个人身份信息),从而使第三方能够识别用户帐户。不应将任何其他数据(例如可以映射到用户帐户或会话的 ID)发送给第三方。
动态分析¶
检查所有对外部服务的请求中是否嵌入了敏感信息。 要拦截客户端和服务器之间的流量,您可以执行动态分析,方法是发起中间人(MITM)攻击( 基本网络监控/嗅探),例如使用 Burp Suite 或 ZAP。 一旦你通过拦截代理路由流量,你可以尝试嗅探在应用程序和服务器之间传递的流量。 应对所有未直接发送到托管主要功能的服务器的应用程序请求,检查其中是否包含敏感信息,例如跟踪器或广告服务中的 PII。