Facebook “SDK 攻击” 后的一些思考

前方警告:我们并没有生活在最美好的时代。如果您是那种担心在线隐私和安全性的人,那么这个帖子可能会引起您的焦虑。

2020年5月6日,差不多晚上 8 点的时候,我刚结束一天的工作,正准备从我最喜欢的地方之一订购晚餐,然后我就发现这个应用根本无法启动。每次启动时就崩溃了。

碰巧我有一个在该应用的工程团队工作的朋友,所以我向他们发送了一段这个问题的视频,以确保他们了解这一情况。然而他们告诉我这实际上是 Facebook SDK 的问题,并且其他许多iOS应用程序也因为同样的问题崩溃了。所以我尝试启动TikTok,崩了;Spotify,崩了;我作为承包商工作的应用程序,也崩了。这太糟糕了。

这个问题是由于Facebook服务器向其SDK发送了一些错误数据,导致 SDK 中的代码 crash,进而导致运行SDK的应用程序崩溃。由于这是在SDK初始化期间发生的(在启动应用程序后立即发生的事情),因此这些应用程序变得无法使用。

我后来找到了一种解决方法,可以让我订购晚餐。由于崩溃是由Facebook服务器发送的数据引起的,因此我使用 Pi-Hole 阻止了我网络上的 facebook.com 域(及其所有子域)。这样我就不会因为Facebook而挨饿了。

SDK 带来的问题

这些天人们也在讨论,像苹果和谷歌这样的公司是如何控制其生态系统,它们的垄断地位到底有多危险呢?我不会否认这一点,但是我认为存在另一个更大的问题,这个问题潜伏在我们的应用程序中已经有好几年了,却没有引起足够多的注意:第三方SDK不断涌现。

你使用的每个应用都很可能正在运行来自 Facebook,Google 和其他数据收集与数据挖掘公司的代码。由于此代码的集成方式(通过在构建时链接到动态库),这意味着这些公司可以有效地控制这些应用程序,或者更糟的是,访问这些应用程序可以访问的所有数据。

昨天我们就见证了这种功能的演示:似乎是Facebook激活了一个“应用程序终止开关”,并且它关闭了许多人喜欢的iOS应用程序-苹果的 启示录 https://www.youtube.com/watch?v=z_ceZG0ppkY 视频从未如此真实。当然,这是一个失误,并不是有意为之,但它说明了一点,即他们确实可以控制包含其代码的应用程序。

即使您未在应用中使用Facebook登录,该应用也会在后台运行Facebook的代码。即便你没有 Facebook 账号,也同样可以跟踪你,他们可以很好地用于跟踪行迹。

技术解决方案

在技术上,可以通过一些变通的方法来解决这种问题。许多开发者和用户都希望使用 Facebook 登录,因此“仅删除它” 并不是那么的容易。同样仅使用 Apple 登录也不是很现实。在编程中使用 “仅仅” 这个词,会让高级开发人员感到吃惊。

第一种解决方案是无需使用 SDK 即可使用 Facebook 的登录等功能。Facebook 实际上提供了有关如何实现这一操作的文档。在不使用 SDK 的情况下实现登录流程,可以确保只有实际使用 Facebook 登录的用户才由 Facebook 处理其数据。

另一种解决方案是实现某种形式的沙盒,将这种类型的 SDK 与宿主应用程序的代码隔离。苹果的操作系统已经广泛使用了 XPC,但并未向开发人员开放这种功能。

将分析 SDK 与宿主应用程序代码隔离,可以防止这些 SDK 在宿主没有显式将数据发送给 SDK 时,私下获取用户数据。这同样也可以实现为某种形式的权限对话框。可以假设一下这种情景,启动应用程序时,提示“此应用程序希望将您的位置发送到Facebook。是否可以?”

开发人员仅需谨慎使用他们所调用的 SDK 代码即可。而现实情况是,对于 Facebook SDK 的问题,即使只在应用程序中包含 SDK 而没有调用过任何方法,也会有问题。

需求层面的解决方案

许多人会将这类问题归咎于工程师。“当然是工程师的错,谁让他们使用了这些 SDK 呢?”

尽管从技术上说,是工程师们将这些 SDK 集成到公司的应用中,但通常这些需求并不是工程师们提出的。市场营销部门的人员可能希望对 Facebook 的渠道进行更好的分析,他们与产品人员沟通,而产品人员则将需求提交给开发人员。

这就是问题所在。这种类型的决策必须经过工程设计,营销部门对这种将第三方代码添加到应用中不应有太大的决策权。

不过,这种情况很难改变,因此更多的可能是从技术上来解决。

就差您点一下了

作者 | Guilherme Rambo
来源 | https://rambo.codes/


https://mp.weixin.qq.com/s/QWZs0imjUzGrgbDOXs9Kkg

kkFileView

使用spring boot打造文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4,mp3以及众多类文本如txt、html、xml、java、properties、sql、js、md、json、conf、ini、vue、php、py、bat、gitignore等文件在线预览

发布于:2天以前  |  28次阅读  |  详细内容 »

谷歌确认将推出新功能 对标苹果AirDrop

北京时间7月1日早间消息,据外媒报道,此前几个月中一直有传言称谷歌将为Android手机添加一个类似苹果AirDrop的新功能。如今,谷歌终于证实,他们的确将推出这个功能,其正式名称为“Nearby Share”。一些Android手机用户已经测试了该功能的beta版本。

发布于:9天以前  |  50次阅读  |  详细内容 »

老干妈回应:腾讯公司被骗了 并没有与腾讯有任何的合作

6月30日,中国裁判文书网显示,广东省深圳市南山区人民法院发布一则民事裁定书,同意原告腾讯请求查封、冻结被告老干妈公司公司名下价值人民币16240600元的财产。但6月30日下午,老干妈声明称,经核实,公司从未与腾讯或授权他人与腾讯就“老干妈”品牌签署《联合市场推广合作协议》,且从未与腾讯进行过任何商业合作。

发布于:9天以前  |  50次阅读  |  详细内容 »

移动端常见崩溃指标

崩溃分析,是将 Android 和 iOS 平台常见的 APP 崩溃问题进行归类分析,帮助企业根据崩溃指标快速发现、定位问题。

发布于:10天以前  |  118次阅读  |  详细内容 »

58同城一季度净利润16.386亿元,同比增134.7%

6月26日讯,生活服务平台58同城(NYSE:WUBA)公布了截至2020年3月31日第一季度未经审计的财务报告。财报显示,58同城第一季度实现营收25.603亿元,同比下滑15.5%;净利润16.386亿元,同比增134.7%。

发布于:12天以前  |  49次阅读  |  详细内容 »

马斯克豪宅以2900万美元出手,买家为网易CEO丁磊

6月20日早间消息,据《华尔街日报》周五援引公开记录报道,特斯拉首席执行官埃隆·马斯克(Elon Musk)以2900万美元的价格出售了他在洛杉矶Bel-Air地区的一处房屋。报道称,买家是与中国亿万富翁丁磊有联系的公司。

发布于:19天以前  |  83次阅读  |  详细内容 »

甲骨文公司泄露数十亿条网络数据记录

据外媒报道,科技巨头「甲骨文」的数据管理平台BlueKai因为在服务器上不加密码从而泄露了全球数十亿条数据记录。甲骨文发言人黛博拉·海林格(Deborah Hellinger)对媒体表示,该消息属实。

发布于:19天以前  |  75次阅读  |  详细内容 »

罗永浩:筹备脱口秀节目,正在组建团队

6月21日晚间消息,极客公园与哔哩哔哩联合举办的Rebuild2020科技全明星峰会上,罗永浩在对话中透露,自己准备在一个比较大的平台上做一档综艺节目,是一档脱口秀节目,当下正在组建团队。“做这一档节目不是为了赚钱。”罗永浩说。

发布于:19天以前  |  68次阅读  |  详细内容 »

最多阅读

简化Android的UI开发 8月以前  |  199568次阅读
Android设计与开发工作流 7月以前  |  2340次阅读
Google Enjarify:可代替dex2jar的dex反编译 1年以前  |  2334次阅读
Android多渠道打包工具:apptools 1年以前  |  1955次阅读
Android权限 - 第一篇 1年以前  |  1913次阅读
Google Java编程风格规范(中文版) 1年以前  |  1900次阅读
Stetho 1年以前  |  1833次阅读
Android UI基本技术点 1年以前  |  1829次阅读
30分钟搭建一个android的私有Maven仓库 1年以前  |  1808次阅读
2015 Google IO带来的新 Android 开发工具 1年以前  |  1724次阅读
你应该知道的布局和属性 1年以前  |  1679次阅读
听FackBook工程师讲*Custom ViewGroups* 1年以前  |  1671次阅读
Gradle小知识#3:任务的顺序 1年以前  |  1649次阅读
MVP在Android平台上的应用 1年以前  |  1647次阅读