News - page 21

SHIFT6mq 捐赠

2022 年,德国公司 SHIFT 向 F-Droid 团队成员捐赠了三部型号为 SHIFT6mq 的智能手机,作为 * 终身借用 *。这次捐赠没有要求任何回报。但是,我们确实想分享我们使用这些设备的经验。 SHIFT6mq 手机 © SHIFT。 首先,SHIFT 专注于制造名为 SHIFTphone 的可持续耳机、平板电脑和智能手机,因此他们使用公平贸易材料,甚至使用陶瓷电容器替代特定的稀有金属。他们所有的产品都是模块化的,因此更容易维修。 YouTube 视频链接显示了 SHIFTphone 的模块化程度。 我们的一位团队成员真的带着他的 SHIFT6mq 去了镇上。这些设备带有自己的 Android 版本,称为 ShiftOS-G 并已通过 Google 认证。在他的文章“没有 Google 的 Android:Shiftphones”中,他评论了该设备及其操作系统。然而,他更进一步并通过安装 ShiftOS-Light (ShiftOS-L) 将其去 Google 化。最好先阅读那篇文章,然后再继续阅读本文。那篇文章还帮助其他团队成员更深入地探索这款智能手机。进一步的反馈称赞它的电池寿命和去 Google 化后使用的数据更少。 目前,SHIFT6mq 是 SHIFT 中唯一受 LineageOS 支持的模型,因为此支持是由 SHIFT 的开发人员之一完成的。我们预计他们未来的模型也将与...

向可重复的 F-Droid 前进

针对 F-Droid 的一个常见批评是,F-Droid 使用自己的密钥对已发布的 APK 进行签名。使用我们自己的密钥并不意味着不安全—我们有良好的记录(并且将密钥保存在专用、气隙、离线的机器上) 而其他人可能并非如此—但这确实意味着我们的用户需要信任上游开发者以外的第三方。 拥有不同的签名也会使用户无法从其他渠道安装更新,从而给用户带来不便;当我们难以为应用提供更新时,这尤其麻烦。开发者有时还需要为了 F-Droid 调整设置,例如禁用应用内更新器或添加 F-Droid 签名以进行验证。 F-Droid 并不是唯一发布使用自己的密钥签名的 APK 的应用商店—Google Play 现在也这样做。通过“app bundle 的代码透明性机制”,Google 提供了一种方法来验证 APK 中的 DEX 文件和原生库是否与开发者提供的那些相同。这确实解决了其中的一些问题,但代码透明性机制并不能保护 APK 中的许多其他重要文件,例如解释性代码或资产。而且与 APK 签名不同,它完全是可选的(对开发者来说是一个额外的负担)并且必须手动执行验证。它也没有解决无法安装具有不同签名的 APK 的不便。 对于这些问题,F-Droid 很早以前就有更好的解决方案了:可重复构建。然而,它从未被广泛使用。原因之一是它听起来很难实现。我们几乎没有可重复的应用(准确地说:只有 6 个),并且其中一些因为使用可重复构建而遇到了问题。基本上,除非上游开发者有兴趣,否则我们懒得提及可重复构建。因此,许多开发者甚至从未听说过可重复构建,更不用说知道 F-Droid 支持它们了,也不会尝试将它们用于自己的应用。 为了回应其中的一些批评,我们开始鼓励新应用使用可重复构建。事实证明,对于许多应用来说,可重复构建并不难实现。在过去的几个月里,我们在 F-Droid 中获得了比以前更多的可重复应用。目前我们无法在客户端突出显示哪些应用是可重复的,因此您可能没有注意到有许多使用上游开发者密钥签名的新应用。如果您启用了一些第三方存储库,例如 IzzySoft,您可能会发现有时您可以从主存储库更新应用,即使您是从另一个存储库安装的。 同时,既然我们遇到了比以前多得多的测试用例,我们也发现了许多影响可重复性的新问题。幸运的是,我们还为其中的大多数找到了解决方法,并开发了一些使 APK 可重复的工具,这主要归功于@obfusk 的贡献。还有一些悬而未决的问题,我们仍在努力解决它们。如果您对可重复构建感兴趣,欢迎贡献。

第三次审计结果

我们收到了对官方 Android 客户端应用 + API(3 天)和新前端网络服务器设置(1 天)中新 “index-v2” 工作的审计。在网络服务器设置中没有发现问题,因此本文中的分析涉及 F-Droid 客户端应用。审计由 Radically Open Security 进行,它是 F-Droid 的天然合作伙伴,因为他们同样关注自由软件和开放流程。感谢 NLnet 找到审计员并支付雇用他们的费用。我们提供原始报告以供下载。 这篇文章是本着以开诚布公的精神对待每个漏洞风险的技术细节而写的。 我们欢迎进一步审查。有关 F-Droid 的安全实践的更多信息,请参阅有关安全模型的文档。 CLN-002 – XML 解析器可能容易受到 XXE 攻击 漏洞类型:输入验证 威胁等级:高 应用的 XML 解析器实现可能容易受到 XML 外部实体 (XXE) 攻击。 影响 如果 XML 解析器对外部和内部实体没有限制,那么在解析 XML 输入时,这可能会导致任意文件泄露或服务器端请求伪造 (SSRF) 漏洞。 我们的回应 原始索引文件,版本 0 格式,是作为任何存储库的一部分生成的...

UnifiedPush:一种去中心化的开源推送通知协议

现代 Android 智能手机依赖于大量服务,从应用商店和日历到消息传递和推送通知。他们中的大多数都有开放的替代方案,但直到现在,推送通知的唯一选择是 Google 的专有服务,Firebase Cloud Messaging (FCM)。 UnifiedPush 是一种新的替代方案,它允许您在不依赖于单个公司的情况下获得推送通知。 推送通知对于现代移动体验至关重要,因为它们允许应用与用户实时通信,即使未在主动使用时。依赖 Google 提供的推送通知导致了对隐私和独立性的担忧。专有的 FCM 库不能包含在 F-Droid 应用中,并且依赖于 Google 服务。因此,通常会看到 FOSS 应用采用应用和服务器之间的持久直接连接作为替代方案。 应用-服务器直接连接的局限性 虽然从技术上讲每个应用都可以连接到自己的服务器并直接接收通知,但有多种原因导致这种方法可能并不实用或有效。 在应用和服务器之间建立和维护直接连接可能会占用大量资源,影响设备的电池、CPU 和网络资源。 为了最大限度地减少资源负载,操作系统 (OS) 会尝试挂起未被主动使用的应用。但是,如果每个应用都主动维护服务器连接,则操作系统无法暂停它们。 多个应用以可变的时间间隔 ping 自己的服务器会阻止设备进入低功耗睡眠模式,这会更快地耗尽设备的电池。 让一个特殊的应用能够建立优先连接可以最大限度地减少这些问题,并允许操作系统有效地挂起其他应用并进入睡眠状态,从而节省资源并减少电池消耗。 作为开发者,管理后台服务和优化连接可能既复杂又耗时。通过使用推送通知服务,您可以将此责任转移到专门的应用,让您专注于应用的其他方面。 作为用户,我要如何开始使用 UnifiedPush? 支持 UnifiedPush 的应用可以通过专用的 UnifiedPush 应用接收通知,该应用维护单个服务器连接以接收所有通知。我们将此“UnifiedPush 应用”称为 分发器;它将推送通知分发到设备上的其他应用。您可以选择要使用的分发器,自行托管服务器部分,甚至创建自己的分发器。有关分发器的更多信息,请查看完整列表。 要在支持它的应用上使用 UnifiedPush,您必须安装和配置您的分发器。您可以使用 UP-Example 作为简单的测试应用。 所有分发器与应用都兼容 TL;DR 关于 Android...

应用描述的更新

F-Droid 旨在为应用开发者提供一种向用户展示其应用的好方法。每个应用都可以包含描述、相关元数据和翻译。我们刚刚更新了应用说明中允许的 HTML 格式标签列表,以更清楚地说明哪些有效,哪些无效。这应该可以帮助开发者更轻松地将描述文本与其他也允许使用某些 HTML 的应用商店同步。网站生成过程有两个关键更改: 不允许的 HTML 标签现在在它们被转义之前(例如 <script>)就被自动删除(“剥离”)。 现在我们将严格执行允许的标签列表。 Loofah 中的一些安全问题促使我们做出了此项更改,我们依赖该工具从应用描述中删除危险的 HTML。f-droid.org 使用多层防御,极大地限制了安全漏洞的范围。例如,此站点包含对属于本网站的 URL 禁用最危险功能并限制其余功能的内容安全策略。 对于那些对技术细节感兴趣的人:HTML 允许通过 data: 方案内联包含数据块。然后可以滥用它来加载恶意内容。Loofah 没有正确处理这些。该站点的内容安全策略已经禁止对 data: 的所有使用,因此这不是问题。self 关键字表示“仅允许来自当前来源的资源”,也就是 https://f-droid.org。

即将发布的 F-Droid 客户端的 alpha 版本

终于, Android 官方 F-Droid 客户端应用的大改造的第一个 alpha 即将发布。这一轮的工作主要是对客户端中一些最古老的代码进行现代化处理:下载、索引解析和数据库层。这些代码现在被结构化为独立的库,以便其他项目也能从使用它中受益。这改变了大量的代码,我们已经确认它修复了许多错误并改进了广泛的功能。当它最终完成时我们将会进一步说明。 这也意味着会有故障,所以这个 alpha 版本可能会比过去几年的 alpha 版本更不稳定。我们总是感谢测试、反馈、问题和崩溃报告。但是如果你的 F-Droid 是以一种你不愿意重置的方式定制的,那么你可能想静待这个 alpha 测试周期结束。如果你有一个备用设备,测试设备,或者使用 Android 模拟器,我们也很乐意你测试我们的每日构建。请注意:每日构建来自 GitLab CI/CD,所以不像官方发布那样有安全的发布过程。可以同时安装正式版本和每日版本。开始使用每日构建的最简单方法是将它的存储库添加到现有的 F-Droid 安装中,然后搜索 “Nightly”,然后选择 “F-Droid Debug”。 这项工作由 FFDW-DVD 资助资助

为什么内容管理和去中心化比数百万的应用更好

每台电脑或移动设备都有某种形式的 “应用商店”。Android 有 F-Droid。Debian 的核心是“软件库”。然后也有真正庞大、专有的应用商店:苹果应用商店和 Google Play。这些应用商店有数以百万计的应用,而 Debian 有几万个,F-Droid 大约有 4000 个。这些大应用商店宣传自己时经常提及这个统计数字。当通过这个数字进行比较时,F-Droid 微不足道。但实际上,你需要你的应用商店里有多少个应用呢? 每一个软件集合从根本上说都是一种内容管理行为。只有有用的软件才会被收录。恶意软件被过滤掉。在你所在地区被认为是非法的软件被阻止。任何不符合标准或服务条款的软件都被删除。在由社区进行内容管理的发行版(如 Debian 或 F-Droid)中,贡献者通过选择值得他们关注的应用来进行内容管理。没有一个主要的面向最终用户的软件发行版是不进行内容管理的。理想的情况是,这些软件对你这个用户是有用的。可悲的是,实际情况往往并非如此。想想那些优先考虑监控资本主义的公司:它们包括旨在捕捉你的注意力的软件,以便它们可以卖给广告商。或者一些承诺对应用进行隐私保护,但随后豁免他们自己的软件的公司。 从用户的角度来看,理想的应用商店将仅包含用户想要的东西。没有人在他们的设备上安装数百万个应用。所有这些额外的应用只会妨碍寻找重要应用。更糟的是,在大型应用商店里,它不仅仅是噪音,它是恶意软件或公司试图诱使你加入一些东西。他们正试图成为最闪亮的东西,以便人们点击“购买”按钮。或者更糟糕的是,他们试图让你上瘾,以便他们可以将你的数据卖给广告商。 F-Droid 是围绕不同原则组织的:用户选择、去中心化和社区控制的内容管理。这意味着 F-Droid 默认为你提供选定的应用,没有封禁或审查。当你安装 F-Droid 应用时,它会自动连接到由这个社区维护的 f-droid.org 上的集合。F-Droid 还使任何人都能轻松根据他们自己的审查规则发布存储库。Repomaker 是一个用于发布的简单网络应用,而 fdroidserver 命令行工具为 f-droid.org 提供了动力。 这样的组织方式使很多困难的问题消失了。儿童、黑客、宗教人士、祖父母、活动家、单身汉和成人电影演员;我们都使用日历,阅读新闻,需要帮助导航,玩游戏。多年来,在 f-droid.org 社区内形成了一个粗略的共识,即我们的集合应该这样进行内容管理。事实证明,这与其他自由软件社区,如 Debian 相当相似。这篇博文的目的是让我们的用户更清楚地了解这一点。 每个社会都有公认的对冒犯性事物进行沟通的方式。如果 f-droid.org 是软件的唯一来源,那么我们的内容管理将是审查制度,因为我们将阻止言论。作为自由软件和隐私的支持者,我们也不希望与审查制度有关。这就是去中心化的意义所在。去中心化意味着人们可以以精细的方式选择他们信任的人,而不是全都要或全都不要。我们投入了大量的工作,使任何人都可以轻松地制作他们自己的应用存储库,这些存储库可以遵循其创建者想要的任何规则。由于 F-Droid 存储库是一种用户控制的订阅形式,它不是 F-Droid 贡献者做决定的地方。F-Droid 用户在自己的设备中包含哪些应用或存储库完全取决于他们。 关于去中心化系统的一个常见的抱怨是,它们不好用。对于 Android 应用生态系统,以及一般的软件分发来说,这并非事实。软件库通常不是单一的,大型移动应用商店才是例外。Windows 允许许多来源。GNOME 软件有一个基于...

自由软件和检查是我们可以信赖的软件的关键

检查软件对于了解该软件实际在做什么至关重要。自由软件意味着所有用户都有机会全面检查他们所依赖的源代码。网络安全行业建立在检查软件以发现恶意软件并建立防御的基础上。恶意软件扫描器使用大量软件特征签名来扫描数十亿台设备,而发现新的攻击需要代码审计,技术分析和取证。这是最著名的软件检查领域。还有志愿者、学者和民间社会组织寻找跟踪,针对性攻击,令人上瘾的黑暗模式,监视资本主义和其他不道德的做法。 F-Droid 社区也建立在检查之上,确保我们分发自由软件并标记负面特征。 一些开发者会描述这些功能,但会忽略关键细节。这可能只是一个简单的疏忽,也可能他们知道用户会不高兴,因此他们的目标是让这些细节远离公众视线。即使是努力保持透明并诚实地为用户服务的开发者也可能掉进坑里。我们有庞大的设施告诉开发者在他们的应用中包含了哪些库和服务,因为这将改善功能或开发过程。 “寻找创收机会应该轻而易举!” “出色的数据收集软件使您能够最大限度地提高生产力!” “应用货币化是一种帮助您从移动应用中赚钱而无需收费的方式。” 这些通常包括用户不想要的东西。这些行业实际上在说的是:收集尽可能多的个人数据,跟踪用户,用令人上瘾的黑暗模式留住他们,并吸引他们的注意力向他们展示尽可能多的广告。这些是我们正在努力揭露的事情,并且我们正在构建工具以提高效率并使更多人可以参与其中。 使用签名进行扫描 人工检查软件的最可靠方法之一是自动扫描感兴趣特征的签名并将结果展示给人工审查者。签名可以是二进制机器代码块、URL、函数名、域名或元数据位(如 API 密钥 ID)。二进制代码签名是各种恶意软件扫描程序使用的主要方法。恶意软件研究人员致力于寻找特定恶意软件独有而其他软件没有的小模式。以下是此类签名的示例,它是 Silentbanker 木马的 YARA 配置文件: strings: $a = {6A 40 68 00 30 00 00 6A 14 8D 91} $b = {8D 4D B0 2B C1 83 C0 27 99 6A 4E 59 F7 F9} $c = "UVODFRYSIHLNWPEJXQZAKCBGMT"...

RSS RSS