如何知道固件是否在窃取我的信息?

信息安全 隐私 间谍软件 固件
2021-09-02 18:48:44

最近的新闻中国之星 N9500 Android 智能手机包含工厂安装的木马,称安全公司已促使我考虑固件安全性。新闻提到间谍软件是设备固件的一部分。

这让我很担心:如何检测固件何时窃取我的信息?我能做些什么来缓解这个问题?

我担心手机(Android)和路由器。有人有关于检测程序的一些信息吗?

[编辑]:我问的原因是我正在考虑使用中国品牌的路由器-如果是其他品牌的路由器,价格会高得多。它来自 Mi.com。这款路由器售价 699 元或 112 美元,包括一个 1TB 2.5 英寸硬盘。价格很诱人,但我担心我的信息可能不安全。

4个回答

您可以使用 Wireshark 之类的工具来分析出站流量(您需要位于设备的上游)并查找意外/可疑的出站流量。当然,它可能很少发生或仅由某些活动触发,因此您需要大量数据来分析。而且您需要能够分析(至少是流量分析)加密流量以及明文。

或者,您可以转储设备的闪存并对设备中的固件进行逆向工程。当然,您需要考虑所有固件:

  • 手机
    • 安卓操作系统和应用
    • 引导加载程序
    • 基带 (GSM/LTE)
    • 蓝牙
    • 无线控制器
  • 路由器
    • 路由器操作系统(Linux、VxWorks、RouterOS、JunOS、iOS 等)
    • 无线控制器
    • 调制解调器(如果适用)

不要让我在笔记本电脑或台式机上开始......

所以,长话短说,你在谈论一个规模巨大的项目,这是安全领域的重大开放性问题之一。我们如何信任硬件?查看有关 NSA 植入​​程序的所有故事以及试图保护其基础设施的企业的问题。

根据您的威胁模型,您可能会找到一些东西,但除非您自己制造所有芯片和软件,否则几乎不可能确定什么都没有。

固件被入侵的威胁已经存在了十年。这样做的全部目的是在无法从操作系统扫描的级别上破坏机器。它甚至低于操作系统的内核级别。您需要使用外部系统对其进行分析,以确定危害来自固件。如果分析手机的安全公司必须完全拆卸它们以确定木马已被嵌入固件,我不会感到惊讶。

您可以主动确定您的手机是否受到威胁而没有所有这些的唯一方法是在您的手机上安装某种形式的安全软件(即防火墙和防病毒软件)来监控和阻止可疑行为,然后持续监控日志。您可能需要将手机设置回出厂默认设置两到三遍,才能确定它已受到如此严重的破坏。

反病毒软件也受到阻碍,因为它只能阻止它识别的行为。如果编写软件的公司不知道安装的恶意软件,那么它将无法阻止它。此外,防火墙不会阻止任何程序与您允许这样做的互联网联系。

Android 是目前最不安全的手机操作系统。时期。它也是最有针对性和被利用的。

对于您的路由器和您的网络,在防火墙和防病毒方面应用相同的保护,但您也可以设置一个数据包捕获系统来捕获离开您网络的所有内容的样本数据包。它可能无法阻止入侵,但您可以确定哪些信息已被破坏,它源自哪些系统和端口,然后从那里继续。

对于电话以外的任何东西,我会主张一种不太困难的组合解决方案。

如果它不是电话,例如路由器或笔记本电脑/台式机,一个有用的方法是让系统网络记录由系统允许的最低级别的工具执行,甚至是假的“交换机”(代理)在系统和路由器之间。同时,使用一种工具来捕获和记录来自路由器的所有信息。然后,比较这两个日志 - 进入路由器的内容与输出的内容。或者,在系统级别,系统日志所说的内容与实际内容相比(从而暴露了固件隐藏的内容)。

因此,有问题的设备发出的任何未被请求的东西都是可疑的 - 以及任何以意想不到的方式改变的信息。

使电话问题变得如此棘手的原因是上游,或捕获所有进出流量,成本和难度要大得多。使用有线网络设备可以选择,但使用电话 - 安全公司愿意付出这样的努力是一件好事!

然而,关于测试你想要的路由器,我知道没有简单的工具或软件/硬件配对解决方案可以让你在没有大量低级知识和努力的情况下完成这一切。

正如 Davids 的出色回答所理解的那样,实际验证设备(如手机)的专有固件不会/永远不会获取您的信息或能够根据要求这样做是一项艰巨的任务,几乎是一个荒谬的提议.

'Stallman 解决方案'将使这种验证更容易,因为源代码更易于阅读看看用于路由器的 Tomato/OpenWRT 或用于 Android 手机的尚未完成的 Replicant 项目。

自由软件/开源运动的希望是其他人已经完成了这个分析(并且做得很好/完全),所以你不必这样做。至少这里的后门需要伪装成错误才能通过维护者和/或团队,除非他/她/他们是恶意的或他/她/他们的机器[s]受到损害

然后你需要担心硬件......