V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
getadoggie
V2EX  ›  硬件

隐私保护—驱动级别的疑问

  •  
  •   getadoggie · 2021-01-25 01:28:00 +08:00 via iPhone · 3033 次点击
    这是一个创建于 1432 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前很多驱动都是闭源的,比如无线网卡驱动。那么问题来了:驱动具备怎样的底层操作能力呢?如果它要窃取用户隐私,能窃取到何种程度呢?
    我感觉,一个闭源无线网卡驱动,它能够得到操作系统发出的所有网络请求,并能将这些网络隐私发送给后门服务器,如果厂商这么做的话,而我们对此一无所知。
    听说 intel 某些网卡已经内置微型 CPU 和内存,运行微型操作系统了。
    使用这类驱动,不就像自己的电脑被随时抓包了吗?
    那么解决办法就只能是不使用这类闭源驱动,不使用这些硬件吗?
    25 条回复    2021-02-10 12:44:11 +08:00
    terence4444
        1
    terence4444  
       2021-01-25 01:34:44 +08:00 via iPhone   ❤️ 1
    的确是这样的,不知道 Windows 上微软认证会不会好一点。软硬件厂商沆瀣一气用户好像也没办法?

    不过在此之前,腾讯阿里就很喜欢装驱动拦截 LSP,我觉得更要担心他们。
    wangxiyu191
        2
    wangxiyu191  
       2021-01-25 01:45:37 +08:00
    被动的方法:可以在上游网络设备做审计。
    主动的方法:驱动可以逆向掉,然后做审计。网卡里的程序搞法差不多,硬件化的部分比较难搞(在硬件里面植入后门成本也更高)。
    有安全公司专门搞这种的。不仅仅是为了防止有后门,还有为了防止有无意引入的漏洞。可以搜下 BleedingBit 。
    wevsty
        3
    wevsty  
       2021-01-25 01:46:53 +08:00   ❤️ 1
    驱动具备系统中最高级别的权限,而且驱动不仅可以在系统层面做任何事情,还可以直接访问或者操作硬件。

    使用开源驱动并不能完全阻止制造商来使坏,很多的硬件内部都有自己的程序(固件),你难以保证这些固件不会使坏,只能说使用开源驱动可检验性更高一些。

    如果你认为硬件制造商会想办法刻意偷窃你的隐私,那么不使用该厂商的硬件是唯一的办法。
    anguiao
        4
    anguiao  
       2021-01-25 01:51:10 +08:00 via Android   ❤️ 1
    数据在网络上传输,经过的每一个设备都能读取这些数据,考虑这个有用吗?
    TypeError
        5
    TypeError  
       2021-01-25 01:52:32 +08:00 via Android   ❤️ 1
    国产软件的驱动和服务绝对不要装

    硬件的看厂家
    ryd994
        6
    ryd994  
       2021-01-25 05:16:59 +08:00 via Android
    “我感觉,一个闭源无线网卡驱动,它能够得到操作系统发出的所有网络请求,并能将这些网络隐私发送给后门服务器,如果厂商这么做的话,而我们对此一无所知。”

    大胆点,何止是网络数据。内核态驱动作为内核的一部分,可以访问绝大多数内核空间和用户空间的内存数据。所以不知道哪来的驱动绝对不能乱装。

    但是影响不一定后那么大。单位的出口网关都是有审计的。抓包很容易发现。

    硬件厂真有心要偷你东西,都不用驱动,直接搞硬件木马不就好了。

    解决办法?没啥办法,除非你自己挖沙子从头制造。银行、军队、大公司,都是采购的硬件。或者自己设计再外包制造。它们都是和硬件厂合作,整个供应链全程都有审计。


    ame 可以彻底禁用。保密单位,airgap 还是必要的。
    msg7086
        7
    msg7086  
       2021-01-25 05:41:32 +08:00 via Android
    你键盘就能用来窃取数据。硬件和驱动层面确实是很危险的。这就是为什么驱动有大厂的签名认证,没有签名的野生驱动是禁止安装的。
    ggabc
        8
    ggabc  
       2021-01-25 09:19:01 +08:00 via iPhone
    以前有个键盘记录器的设备,就是半路上偷窥键盘输入
    getadoggie
        9
    getadoggie  
    OP
       2021-01-25 10:38:52 +08:00 via iPhone
    感谢楼上的科普,现在就是感觉自己想往极致的安全上靠一靠🤣
    起因是意外了解到了 Linux 内核居然会内置许多闭源驱动,从而运行闭源代码,打破了我对 Linux 开源就代表安全的认知。
    进而了解到了 gnu 的自由软件,gnu 认证的完全自由的操作系统,可以不内置闭源驱动,然而经过我尝试,发现不能驱动我的无线网卡…
    唉,感觉第一次尝试完全纯净的系统失败了,似乎越是极致安全,越是困难。
    不过我还是看到了未来:未来可能会有统一的无线网卡硬件与驱动审计,该驱动必须开源,或者设想一种可能性:“用技术手段,即能保证商业公司闭源软件的利益,也能保证他们无法窃取用户隐私”
    最近对这些挺感兴趣
    ScepterZ
        10
    ScepterZ  
       2021-01-25 10:42:25 +08:00
    你搞定了 pc,然后路由器呢?一样能拿到你全部数据啊,这一套下去总有你没法控制的地方
    chinvo
        11
    chinvo  
       2021-01-25 10:43:58 +08:00 via iPhone
    Linux 没有内置必源驱动

    你说的是某些发行版

    平时大家使用的 Linux 其实是指 Linux/POSIX/GNU (或按 GNU 的说的,是 GNU/Linux ),指 Linux 内核、POSIX 和 GNU 套件 的组合

    发行版在此基础上整合软件(包括驱动)
    murmur
        12
    murmur  
       2021-01-25 10:46:27 +08:00
    你说的以前有个研究方向,叫硬件木马,核心思路就是洋人大大的坏了,给我们的芯片都带了后门可以操控

    这就太深奥了,一般人研究不了
    no1xsyzy
        13
    no1xsyzy  
       2021-01-25 15:36:23 +08:00
    @chinvo ( POSIX 是一个上至命令行参数下至进程信号的标准,Linux 和 GNU 组合起来实现了这个标准(的大部分?),并且还有扩充)
    但目前来说 GNU/Linux 已经成为事实标准。

    @getadoggie 那建议你关注、有条件的话宣传一下 RISC-V
    不过我记得 Intel 的驱动是开源的或者有开源版本的来着?可能只是你的特定发行版裁剪掉了( Linux 内核可以裁到一个驱动都不带,也就是没法启动(真的有意义吗?)),或者你用的是 Hurd ?这里得说明一下,开源不代表相互通用。如果我猜得没错的话,Linux 是 GPLv2,Hurd 估计是 GPLv3+,两者并不互通。

    另外,推荐一句话:你完全可以安全加固到不能使用的地步。
    如果要 100% 安全,你至少需要:断网、关机、塞进保险箱、封进水泥、沉进东京湾。
    There is always tradeoffs.
    no1xsyzy
        14
    no1xsyzy  
       2021-01-25 15:45:43 +08:00
    @no1xsyzy 好,看了一眼 Hurd=GPLv2+
    不通用,GPLv2+ 包含 GPLv3,GPLv4……
    但是 Linux 的许多代码没有通过 GPLv3+ 授权。
    Hurd 并不能直接把代码复制过去用。

    再提一句,Intel 的 CPU (时间范围不确定)包含一个完整的 Minix 。
    一个 CPU,里面有一个操作系统 ← ¿这什么操作?
    warcraft1236
        15
    warcraft1236  
       2021-01-25 15:49:19 +08:00
    你的这个担心就是国家为什么一定要从硬件到软件都自主可控的原因,想一下军方的设备如果能被控制,那就不用打仗了,直接 gg
    matrix67
        16
    matrix67  
       2021-01-25 15:52:46 +08:00
    这个换成操作系统也一样的吧。

    目前 windows 、macos 都是闭源的。那么问题来了:操作系统具有底层操作能力呢?如果它要窃取用户隐私,能窃取到何种程度呢?

    我感觉,一个闭源操作系统,它能够得到操作系统发出的所有网络请求,并能将这些网络隐私发送给后门服务器,如果厂商这么做的话,而我们对此一无所知
    boris93
        17
    boris93  
       2021-01-25 15:58:00 +08:00 via Android
    @getadoggie 没有极致的安全
    你偷窥数据,没有任何惩罚,那也就不用谈安全
    你偷窥数据,条子就踹你门,军队就给你精准快递,那你是不是就要掂量下是不是值得了,如果值得,那还是要偷窥的
    MakeItGreat
        18
    MakeItGreat  
       2021-01-25 15:58:56 +08:00 via Android
    terence4444
        19
    terence4444  
       2021-01-25 16:17:56 +08:00 via iPhone
    @anguiao
    @ScepterZ 非本机只能拿到证书加密后的数据。

    但网络上所有设备的确可以看到用户看过哪个页面。不过这是另外一回事了。
    ruixue
        20
    ruixue  
       2021-01-25 17:17:06 +08:00
    @terence4444 TLS 加密后网络中间设备只能看到 SNI 的域名(例如本帖的 www.v2ex.com),看不到具体的页面路径(例如本帖的 /t/747996)
    getadoggie
        21
    getadoggie  
    OP
       2021-01-25 18:19:56 +08:00 via iPhone
    目前看来,对于驱动级别的安全,只能做到使用大厂的闭源驱动了,不然就得更换自己的硬件?个人用暂时没考虑这些。
    下面就是操作系统级别的安全,我目前是希望用 Linux,加上一些安全防护软件,如 opensnitch,firejail 。
    Jirajine
        22
    Jirajine  
       2021-01-25 18:26:02 +08:00 via Android
    是这样的,某些厂商通过 Windows update 往 driver store 里面加自己的用户态服务。并且这样装的程序没法卸载,一旦你卸载 Windows update 就会自动装回来。
    Linux 相对而言要好一点。这种偷隐私的服务一般是跑在用户态的。
    systemcall
        23
    systemcall  
       2021-01-25 20:07:04 +08:00
    无线网卡有自己的 CPU 、自己的 SRAM 和 ROM 、自己的操作系统不算什么,Intel 的 ME 和 AMD 的 agesa 连主板厂家都不能完全控制
    一些硬件有 DMA 的,权限比你想象的要大。之前 Intel 雷电 3 的一个漏洞就是通过 DMA 来提权,而且不太容易观察到
    一个闭源无线网卡驱动不仅仅可以得到所有网络请求,它还可以截屏、读文件,不难弄
    现在的 CPU,启动的时候都会加载芯片内部的代码来初始化硬件,之后才能使用内存和运行别的代码,这个过程你也没办法控制
    tanghongkai
        24
    tanghongkai  
       2021-01-26 18:32:05 +08:00
    你的网卡不是直接量子传输到另外一个设备上的,你的数据路上随便哪个设备都能看到,要担心的地方多了去了,不然 tls 这些拿来干嘛用的
    dvbuzhidao1
        25
    dvbuzhidao1  
       2021-02-10 12:44:11 +08:00
    题主说的没错,所以尽量用开源驱动。nsa 和 guo an 肯定都有类似的东西。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1029 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:00 · PVG 05:00 · LAX 13:00 · JFK 16:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.