欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

Cellebrite 取证软件漏洞剖析:从移动设备提取器到自身安全危机

1970/1/1网络安全

Signal 团队逆向分析 Cellebrite UFED 与 Physical Analyzer,发现其作为解析不可信数据的取证工具,自身却缺乏基本安全防护,可被任意文件触发代码执行并篡改历史报告。

背景:Cellebrite 是谁?

Cellebrite 是一家提供移动设备数据物理提取与索引自动化软件的公司。它的产品处于一个灰色地带——企业级品牌包装与"数字情报"(digital intelligence)商业诉求相结合,客户名单中包括白俄罗斯、俄罗斯、委内瑞拉和中国的威权政权,孟加拉国的敢死队,缅甸的军政府,以及土耳其、阿联酋等寻求滥用和压迫手段的实体。这些产品经常与全球被监禁记者和活动家的迫害相关联,但关于其软件实际做什么或如何运作的技术细节却鲜少被公开讨论。

核心前提:物理接触才是一切的开端

首先需要明确:涉及 Cellebrite 的一切操作,都始于某人物理上持有你的设备。Cellebrite 不做任何数据拦截或远程监控。其产品体系由两款主要 Windows 软件构成:

  • UFED (Universal Forensic Extraction Device):创建设备备份到运行 UFED 的 Windows 机器上,本质上是对 Android 的 adb backup 和 iPhone 的 iTunes backup 的前端封装,外加一些额外解析逻辑。
  • Physical Analyzer:解析备份文件,将数据以可浏览的形式呈现出来。

当 Cellebrite 宣布"新增对 Signal 的支持"时,其真实含义不过是 Physical Analyzer 增加了解析 Signal 使用的文件格式的能力,从而能展示从一台已解锁且被 Cellebrite 用户物理占有的设备中提取的 Signal 数据。

一个更直白的理解方式:如果某人物理上持有你已解锁的手机,他们可以打开任意应用、截图保存所有内容供日后分析。Cellebrite 产品本质上就是替这种"手持设备的人"自动完成了这一过程。

戏剧性的获取:一次散步的"偶遇"

Signal 作者 Moxie Marlinspike 描述了一次离奇的经历:散步时看到一辆卡车前面掉下一个小包裹,靠近后发现是 Cellebrite 的企业字体。包裹内包含:

  • 最新版本的 Cellebrite 软件
  • 一个防止盗版的硬件加密狗(这侧面反映了其客户群体!)
  • 数量多得离谱的线缆适配器

安全分析的起点:解析不可信数据是主要攻击面

任何熟悉软件安全的人都会立即意识到:Cellebrite 软件的主要任务,就是解析来自各种应用、多种格式的不可信数据。也就是说,Cellebrite 需要提取和显示的数据,最终是由设备上的应用生成和控制的,而非来自"可信"来源。因此 Cellebrite 完全不能对接收到的格式化数据的"正确性"做任何假设。

这正是几乎所有安全漏洞的发源地。既然 Cellebrite 几乎全部代码都在解析可能被异常格式化、从而触发内存破坏或其他解析漏洞的不可信输入,按理说 Cellebrite 应当极其谨慎。然而考察 UFED 和 Physical Analyzer 后,研究者惊讶地发现其自身软件安全防护十分松懈。

具体问题:行业标准缓解措施缺失

  • 过时的第三方库:软件捆绑了 2012 年编译的 FFmpeg DLL,此后从未更新。该时间跨度内有超过一百个安全更新,但无一被应用。
  • 缺乏现代漏洞利用缓解技术:ASLR(地址空间布局随机化)、DEP(数据执行保护)、堆保护等措施未见或未正确启用。

漏洞利用:任意代码执行仅需一份"无辜"文件

鉴于存在大量可利用机会,研究者发现:只要在任意应用的目录中放置一个经过特殊格式化但表面看来完全无害的文件,当该设备后续被接入 Cellebrite 进行扫描时,即可在 Cellebrite 机器上执行任意代码。

对可执行代码几乎没有限制。以下为具体影响场景:

数据完整性彻底崩塌

通过在设备某应用中放置特殊格式化的无害文件(该设备随后被 Cellebrite 扫描),攻击者可以执行代码来:

  • 修改当前正在生成的 Cellebrite 报告
  • 修改所有历史报告——即从所有此前扫描过的设备生成的报告
  • 修改所有未来报告——任何未来扫描设备生成的报告
  • 任意插入或删除任何类型的数据:文本、邮件、照片、联系人、文件等
  • 保持时间戳和校验和不变——检测不到任何痕迹

更阴险的变体是随机性篡改:以一定概率随机修改报告内容,这将导致 Cellebrite 报告的数据可信性从根本上被瓦解——每次分析结果都可能被污染,且无法追溯。

攻击面的广泛性

任何应用都可能包含此类文件。在 Cellebrite 无法以极高置信度修复所有漏洞之前,Cellebrite 用户唯一的补救措施就是完全不扫描设备。虽然 Cellebrite 可以通过更新软件、停止扫描它认为对这些数据完整性风险高的应用来降低风险,但这也不能提供保证。

负责任披露的矛盾立场

Signal 团队提出了一个有讽刺意味的交换条件:"我们当然愿意将已知的特定漏洞负责任地披露给 Cellebrite——前提是 Cellebrite 也将其在物理提取及其他服务中使用的所有漏洞,分别披露给相应的厂商,现在和未来皆然。"

这指出了 Cellebrite 商业模式的内在矛盾:它利用各类操作系统和应用的漏洞进行数据提取(通常不向厂商报告),却期望自己的软件漏洞被对手负责任地披露。

演示视频

Signal 团队发布了 UFED 的漏洞利用演示视频(Physical Analyzer 存在类似漏洞)。视频中,UFED 在扫描过程中遇到一个文件,随即在 Cellebrite 机器上执行了任意代码。该漏洞载荷使用 Windows MessageBox API 弹出一个带消息的对话框作为验证。演示仅用于展示目的——实际恶意载荷可以执行任何代码,典型攻击行为可能是:

  • 无痕篡改历史报告
  • 破坏未来报告的完整性(也许是随机性篡改!)
  • 从 Cellebrite 机器窃取数据

意外发现:Apple 组件被未经授权嵌入

Physical Analyzer 的安装包中包含两个 MSI 安装包:

  • AppleApplicationsSupport64.msi
  • AppleMobileDeviceSupport6464.msi

这两个 MSI 包由 Apple 数字签名,看起来是从 iTunes 12.9.0.167 的 Windows 安装程序中提取出来的。Physical Analyzer 安装程序将其安装到 C:\Program Files\Common Files\Apple 目录下。这些包中的 DLL 实现了 iTunes 与 iOS 设备交互所需的功能。

Cellebrite 的 iOS Advanced Logical 工具会加载这些 Apple DLL,利用其功能从 iOS 设备中提取数据。截图显示,Apple DLL 被加载到 UFED iPhone Logical.exe 进程中(即 iOS Advanced Logical 工具对应的进程名)。

Signal 团队认为,Apple 几乎不可能已授权 Cellebrite 在其产品中重新分发和嵌入 Apple DLL。这可能对 Cellebrite 及其用户构成法律风险。

完全无关的后续声明

Signal 团队以一句耐人寻味的讽刺结尾:"在完全无关的消息中,Signal 未来版本将定期获取一些文件放入应用存储。这些文件在 Signal 内部从不用于任何用途,也从不与 Signal 软件或数据交互,但它们看起来美观,而美学在软件中很重要。文件只针对已安装活跃一段时间的账号返回,且仅根据手机号分片以较低百分比概率发放。我们有几种不同版本的文件,我们认为它们在美学上…"

这里显然是在暗示:Signal 会通过在应用存储中放置某些文件,利用 Cellebrite 的漏洞来反制取证。文件本身无恶意,但它会触发 Cellebrite 软件中的代码执行路径——攻击者(Signal)可以借此在 Cellebrite 机器上运行任意代码。这段话实际上是在宣布 Signal 对其用户的一种防护机制:若取证人员试图对 Signal 用户设备运行 Cellebrite,其软件本身将变得不可信。

深度分析:取证工具的安全悖论

此事件揭示了一个深层的安全悖论:

  1. 取证软件的安全性至关重要:法院采纳数字证据的前提是取证链的完整性和工具的可信性。如果取证工具自身可被轻易攻破,那么其输出的报告就失去了作为法律证据的效力。
  2. 取证软件的业务本质使其成为高价值目标:Cellebrite 用于调查记者、活动家和异见人士,这些人群有充分的动机让取证结果不可信。
  3. 不可信数据解析是不可避免的攻击面:只要有新应用出现,取证工具就不得不引入新解析器。每个解析器都是新的攻击机会。
  4. 零日漏洞生态的恶性循环:Cellebrite 靠挖掘系统漏洞吃饭,自己却忽视了基本安全实践。要求别人不对你使用你所使用的手段,在道德上难以站住脚。

技术启示与总结

  • 安全不是附属品: Cellebrite 证明,即使产品本身是"黑客工具",开发者仍然可能把自己的软件安全做得如此糟糕。行业标准的缓解措施(ASLR、DEP、现代编译器保护、依赖库更新)不是可选项。
  • 解析不可信输入是安全工作的重中之重: 大量漏洞源于解析器。对任何接受外部数据的程序,都应进行模糊测试、内存安全审查和隔离。
  • 数据完整性攻击比数据窃取更具破坏性: 对于取证场景,如果攻击者能让"证据"变得不可信且无法追溯篡改来源,其杀伤力远大于单纯的窃取数据。
  • 反击方式可以是非直接的: Signal 的"美学文件"策略表明,通过让攻击者的工具自取其辱,可以有效地保护用户,而不需要直接对抗国家行为者。

原文链接:https://signal.org/blog/cellebrite-vulnerabilities/


本文为深度笔记形式,基于 Signal 官方博客文章结合技术背景展开。原文发布于 2021 年 4 月 21 日,作者 moxie0 (Moxie Marlinspike)。

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消