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

关于新款 macbook 的 usb-c 的脑洞

  •  
  •   smartdie · 2015-04-12 22:44:17 +08:00 · 2792 次点击
    这是一个创建于 3517 天前的主题,其中的信息可能已经有所发展或是发生改变。

    usb-c混合的电源,AV接口,usb接口。但是这种接口用什么来判断当前传输的数据是视频信号,usb数据还是单纯的充电呢?是否接口之后还要有模块将信号分类,或是单纯通过软件来区分?那存不存在这样一种手段,可以像计算机软件漏洞那样,利用接口复用的缺陷,迷惑判断逻辑模块,例如把病毒伪装成视频信号。
    我不懂硬件……

    3 条回复
    Septembers
        1
    Septembers  
       2015-04-12 23:18:33 +08:00
    USB只是一个载体 规范定义了电气特性/细节
    USB依靠VID和PID识别匹配驱动 驱动实现通信 通信细节由驱动决定
    (非专业回答 欢迎吐槽
    freewizard
        2
    freewizard  
       2015-04-12 23:52:12 +08:00
    很好的问题,但凡涉及到USB设备,两个层面都会有安全风险

    * USB接口层面,USB协议带来的安全隐患,主要依赖于USB宿主(Macbook/Chromebook/etc)的固件实现是否有漏洞:
    http://www.theverge.com/2015/3/16/8226193/new-apple-macbook-usb-type-c-security-risk-badusb

    * Payload层面,主要依赖对应软件是否足够安全,这个就有比较多的应用了,例如Windows 95以来利用系统autorun特性传播的病毒,或者是利用解码器漏洞构造的视频数据等等。
    yyfearth
        3
    yyfearth  
       2015-04-13 09:05:02 +08:00
    @smartdie 这个不用太担心
    你想想啊 你把鼠标和U盘一起插到USB Hub 然后一起插到你的电脑上面
    你觉得电脑会把这两者弄错么?

    何况USB-c我记得没错 兼容DP协议的部分和普通USB数据应该不是一起的
    再加上 你插入的AV信号(VGA/HDMI)会经过转换 本来就不会和USB数据混淆

    唯一的安全风险其实是那个可以用来充电的USB-c口 或者本身带的这个USB-c接口 (就是说USB口本身)
    最好确定充电的电源是你自己的或者苹果官方的电源
    因为USB口本身就有漏洞 LS的意见说了
    另外就是软件漏洞 比如windows原来那个autorun.INF
    或者USB keylogger等木马硬件(就是一个特殊的USB设备)

    如果你用了别人精心设置的恶意电源 你插入了你的设备进行充电
    实际上他是一个特殊的USB设备(可以是我一个带病毒的U盘,或者Keylogger之类)
    那么不就相当于你主动把一个捡来的USB设备插入到你的设备上面了么

    当然这个问题一直就存在 比如你的手机的USB口 既可以充电也可以用来数据
    但是由于手机设计的时候就考虑到了这点 所以往往会有额外的保护措施
    比如iPhone会问你是否信任之类
    但是电脑可能就不会这么聪明 可能你在充电的时候 毫不知觉的插入了恶意USB设备

    但是我觉得这个可以通过软件升级来避免
    或者外设厂家可以设计销售一种特殊的转换头来解决:
    这个转换头可以有2种:
    一种仅仅是一个USB-c转USB-A/USB-c的线 但是只包含供电的线路 (说白了就是大功率USB充电线)
    另一种是USB hub,包含一个特殊的口用来充电(屏蔽数据线路)剩下的就是普通的USB hub
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1017 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:55 · PVG 05:55 · LAX 13:55 · JFK 16:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.