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

Bitwarden 密码管理软件是否安全?

  •  
  •   yoyoyoyolol · 2022-05-01 03:26:38 +08:00 · 11696 次点击
    这是一个创建于 720 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题:Bitwarden 密码管理软件是否安全?虽然它是开源的,对外声称接受所有人 review 它的源码。但是如何保证 appstore 发布的版本代码和 github 里开源的代码一致呢?是否可能存在 appstore 发布版本把你的主密钥偷偷存在云端的这种情况?

    64 条回复    2022-08-15 09:23:05 +08:00
    zhy0216
        1
    zhy0216  
       2022-05-01 03:29:50 +08:00 via Android
    对的 所以就是你要追求极致的安全 那硬件肯定也得用自己的 不是一直说大使馆的沙子都得从自己国家运吗
    XiLingHost
        2
    XiLingHost  
       2022-05-01 03:41:49 +08:00
    你不会自己构建吗?
    docx
        3
    docx  
       2022-05-01 03:42:36 +08:00 via iPhone
    你可以自己编译一个。任何开源项目都是如此。
    v2tudnew
        4
    v2tudnew  
       2022-05-01 03:48:01 +08:00
    自己审查代码并编译自建,所有开源预编译二进制文件都存在这种风险。
    yoyoyoyolol
        5
    yoyoyoyolol  
    OP
       2022-05-01 03:51:53 +08:00
    @XiLingHost 用这个一方面就是图便宜吧,自己构建往 iPhone 真机上安装需要每年花 688 买开发者账号,那还不如直接买 1password 会员呢吧
    Y29tL2gwd2Fy
        6
    Y29tL2gwd2Fy  
       2022-05-01 04:14:18 +08:00 via Android   ❤️ 18
    @yoyoyoyolol 建议自己写一个,别 bb
    msg7086
        7
    msg7086  
       2022-05-01 06:01:45 +08:00 via Android   ❤️ 11
    @yoyoyoyolol 1password 会员是送你个开发者账号还是当着你的面编译上传到 app store ?

    图便宜,你指的是自己构建客户端还是自己搭建服务器?这可是两件不同的事情,不能混为一谈。
    xlsepiphone
        8
    xlsepiphone  
       2022-05-01 06:52:51 +08:00
    1password 是开源的吗?
    tianxia
        9
    tianxia  
       2022-05-01 07:08:08 +08:00 via Android
    二次验证,还担心泄漏吗
    DianQK
        10
    DianQK  
       2022-05-01 07:12:12 +08:00 via Android
    应当可以用 GitHub Actions 查看到 Bitwarden 会在上面构建 ipa 同时上传到 App Store ,这个 build 号在 Apple 那边不可以重新上传。然后只要在 App Store 下载的 build 号和 GitHub 上的一致即可。但这也不能完全保证是一致的,这里的构建不是 Reproducible 。另外怀疑 Bitwarden 安全性建议用闭源的 1Password 。
    Pastsong
        11
    Pastsong  
       2022-05-01 08:03:54 +08:00   ❤️ 2
    用 bitwarden 是图便宜,不够安全所以使用闭源的 1password ,这几个都和你说的追求极致的安全有冲突吧
    HENQIGUAI
        12
    HENQIGUAI  
       2022-05-01 08:46:46 +08:00
    我其实不太理解为啥要如此执着于密码管理软件的安全性。

    真正最重要的密码难道不是记录在脑子里?(尽管会存在物理丢失的可能)

    使用密码管理软件的基本上都是安全性二级三级的网站,当个密码备忘录罢了。

    本来就没有全盘信任,安全性,差不多就得了。实在过不去这个坎可以考虑硬件加密方案。
    benedict00
        13
    benedict00  
       2022-05-01 09:05:33 +08:00 via Android
    keepass argon2d 加密 再用 cryptomator 加密文件上传 Dropbox onedrive 这类网盘总可以了吧
    krixaar
        14
    krixaar  
       2022-05-01 09:28:22 +08:00
    @yoyoyoyolol #5 所以不要用 iPhone 啊,你看这是个多好的“为了安全所以不该用 iPhone”的例子 /s
    cmdOptionKana
        15
    cmdOptionKana  
       2022-05-01 09:33:33 +08:00   ❤️ 1
    安全与便利总是矛盾的,追求极致安全就意味着追求极致麻烦。

    就像金融投资,风险与收益总是成正比的,追求极高回报就意味着追求极高风险。
    arischow
        16
    arischow  
       2022-05-01 09:55:41 +08:00 via iPhone
    那你买 1p 啊
    runze
        17
    runze  
       2022-05-01 09:59:03 +08:00   ❤️ 6
    ziseyinzi
        18
    ziseyinzi  
       2022-05-01 10:27:31 +08:00   ❤️ 1
    你都用 iphone 了,还追求什么开源可审计?
    SenLief
        19
    SenLief  
       2022-05-01 10:46:42 +08:00
    与其担心 bit 不如担心 iphone 是否窃取。
    Bingchunmoli
        20
    Bingchunmoli  
       2022-05-01 10:51:38 +08:00 via Android
    用 ip 确实不如手机自带管理电脑是 mac 就完全同步,要么就是安卓这种允许旁加载,自己编译打包也不难
    alexwu
        21
    alexwu  
       2022-05-01 11:18:22 +08:00 via Android
    自己编译一次,下载 appstore ipa 砸壳,比对二进制
    testver
        22
    testver  
       2022-05-01 11:22:00 +08:00
    你出了多少钱?或者你准备花多少钱来保证你的安全性?
    yoyoyoyolol
        23
    yoyoyoyolol  
    OP
       2022-05-01 12:13:36 +08:00
    @runze 这个只能证明那个时间点自动化构建了一个版本,上传到 Apple Developer 并且是未提交审核的状态,提审按钮是管理员手动点击的,在未提交审核的阶段,还可以手动构建多个版本上传,在提交审核时会选择一个最终版本进行审核。这个自动化构建工作流没办法证明自动化构建上传的版本的就是那个提交审核完发布的版本,只是证明了自动构建了一个版本并上传,管理员可以选择这个版本提审
    yoyoyoyolol
        24
    yoyoyoyolol  
    OP
       2022-05-01 12:14:14 +08:00
    @DianQK @HENQIGUAI 感谢
    yoyoyoyolol
        25
    yoyoyoyolol  
    OP
       2022-05-01 12:16:59 +08:00
    @SenLief 已经发生过多起交易所宣布破产跑路的事件,我是否可以假设密码管理软件收集到一定量的钱包秘钥后也有可能这样做呢? iphone 窃取反而不必担心,iphone 即时有窃取也是 zf 层面的监控,不会偷盗用户虚拟财产
    KuoYu
        26
    KuoYu  
       2022-05-01 12:28:54 +08:00 via iPhone
    干脆就用苹果自带的,反正 icloud 也看光了
    ltkun
        27
    ltkun  
       2022-05-01 12:37:54 +08:00 via Android
    可以用 fdroid 版本 机器自动编译的 不存在代码被偷偷修改问题 安卓首选 fdroid 软件
    SunsetShimmer
        28
    SunsetShimmer  
       2022-05-01 12:41:06 +08:00
    如果真的有这方面顾虑,**手机从来都不是一个安全的终端**。
    Bitwarden 有第三方的服务器端 Vaultwarden ,浏览器扩展应该也是开源的。自行在 Linux 设备上编译 Chromium 、从源码安装浏览器扩展并连接自建的服务器即可解决这个问题。
    leloext
        29
    leloext  
       2022-05-01 12:53:46 +08:00
    总算有人说 bin 不等于源码编译这个观点了,的确是这样的。如果真的完全追求绝对安全的话,每一行代码都应该检查过,引用的库也需要检查,还有编译器等等。。。嘛,现实中这样是不可能的,需要做一定的妥协。
    YuiTH
        30
    YuiTH  
       2022-05-01 12:54:47 +08:00 via iPhone
    借楼问下自建 bitwarden 需要做什么防护措施吗,bitwarden 自带的防暴力猜密码成熟吗?
    happybabys
        31
    happybabys  
       2022-05-01 13:47:35 +08:00
    @YuiTH 不映射端口到外网,通过 vpn 连接
    zhzy0077
        32
    zhzy0077  
       2022-05-01 14:20:07 +08:00   ❤️ 8
    “我担心 bitwarden 虽然开源免费但是会动手脚 所以选择花钱用闭源的 1password” 承包了我今日的笑点。

    如果要完全控制你的设备推荐 AOSP 呢,比如自主构建 lineage os
    sunhelter
        33
    sunhelter  
       2022-05-01 14:33:12 +08:00   ❤️ 1
    想开点,你的数据没有那么值钱
    zx900930
        34
    zx900930  
       2022-05-01 14:48:44 +08:00
    我就不懂了了, 你那么担心上个 2FA 就完事了, 担心公司跑路就自建服务器.
    都用 iphone 了, 啥都被 apple 看光了, 还在担心 bitwarden 安不安全.
    felixcode
        35
    felixcode  
       2022-05-01 14:50:58 +08:00
    为什么 1password 在你们眼里比 Bitwarden 更安全?因为闭源?
    yaoyao1128
        36
    yaoyao1128  
       2022-05-01 14:51:17 +08:00 via iPhone
    自己编译或者用网页版本
    以及
    ipa 可以用 altstore 七天一次更新
    不过你 bitwarden 用 app store 版本和 1password 用 app store 版本有啥区别???
    parametrix
        37
    parametrix  
       2022-05-01 17:12:42 +08:00
    这些都可以问。但安全是要在满足需求的前提下匹配成本的,脱离条件谈安全没有意义。
    DeWjjj
        38
    DeWjjj  
       2022-05-01 17:31:29 +08:00
    我觉得不安全,因为你们的密码和记录都保存在同一种服务器下。
    那么自然会衍生出一帮人专门对你们的密码和类似的服务器下手。
    我把密码转个 base64 之后直接丢到网盘私密里面,我觉得他会比这些服务器安全。
    Juszoe
        39
    Juszoe  
       2022-05-01 17:47:01 +08:00   ❤️ 1
    @DeWjjj #38 bitwarden 用的 AES-256 加密,数据被偷了都没关系,要是谁攻克了这个算法,不去拿图灵奖盯着密码管理器属实格局小了。这贴里楼主讨论的是 app 是否和开源代码一致,服务器不存在这个问题
    cccer
        40
    cccer  
       2022-05-01 18:41:02 +08:00
    @DeWjjj 就算把 bitwarden 服务器拖库了,除了你主账号的邮箱地址,其他什么都拿不到。
    SenLief
        41
    SenLief  
       2022-05-01 18:46:54 +08:00   ❤️ 2
    @yoyoyoyolol 如果是这样,那反而 1p 和 icloud 更不安全,至少 bit 还有人审核能看到代码,这两个毛都看不到。
    DeWjjj
        42
    DeWjjj  
       2022-05-01 20:03:36 +08:00
    @cccer 本来那些写木马的人还要想想识别窗口类型,有了 1p 和各种密码管理器直接对着 1p 和密码管理器做钩子,还降低识别难度了。

    @Juszoe 黑客思维又不是破解算法,而是针对环节攻击。
    guisheng
        43
    guisheng  
       2022-05-01 20:05:58 +08:00 via iPhone
    最好是大脑自定义一个主密码 然后每个网站设定一下特定的关键字 加密一下就不用记了……
    qwerzl
        44
    qwerzl  
       2022-05-01 20:06:06 +08:00 via iPad
    …那你用的硬件也是闭源的,找点沙子自己提取硅元素吧
    DeWjjj
        45
    DeWjjj  
       2022-05-01 20:15:11 +08:00
    关注一下 OSX/Proton 这种木马你就知道了,用 1p 反而会被人窃取信息。
    对着软件下手的,拿 1p 保护自己的商业信息就跟搞笑一样,只会把密码送到别人的枪口上。
    你个人的隐私也没多少人在乎,而且很多都是二次验证。搞个 1p 和搞个 chrome 无差别。
    felixcode
        46
    felixcode  
       2022-05-01 20:32:05 +08:00 via Android
    @DeWjjj
    针对密码管理器的攻击如果没有公开报道,而且你又无法重现的话,那是否容易被窃取只是你个人的猜想而已。
    locoz
        47
    locoz  
       2022-05-01 21:06:39 +08:00
    @felixcode #46 他上一条回复说的不就是“针对密码管理器的攻击的公开报道”吗...OSX/Proton 一搜就能看到确实存在针对 1password 攻击的情况
    felixcode
        48
    felixcode  
       2022-05-01 21:20:29 +08:00 via Android
    @locoz 我搜了一下,OSX/Proton 是能获取 1password 的本地文件,但没有主密码的话也没用啊,主密码一般都不放在系统里的吧。
    locoz
        49
    locoz  
       2022-05-01 23:21:00 +08:00
    @felixcode #48 这个思路其实是有点问题的...你想想,人家木马都跑起来了,搞个密码还不简单吗?比如经典的监听键盘输入、弹个假窗口之类的,都可以简单粗暴地获取到密码。
    pcmgr456
        50
    pcmgr456  
       2022-05-02 00:00:04 +08:00 via Android
    亲,要绝对安全的话,这边建议别上网呢
    YuiTH
        51
    YuiTH  
       2022-05-02 01:23:19 +08:00 via iPhone
    @happybabys 我架在云服务器上的,不会拿 NAS 做这个。
    bao3
        52
    bao3  
       2022-05-02 02:10:27 +08:00 via iPhone   ❤️ 3
    上面好多人都已经指出来了,楼主一直在和自己杠……

    你如果要极致的安全,那么你的硬件就要安全,系统要安全,输入密码的那个软件(比如浏览器)也要安全,管理密码的软件也要安全,存储密码的介质也要安全,传输密码的方式也要案值,最后使用密码的人也要安全。

    显然你没有一条可以做到的,就算你付费使用 1password 也做不到。你只能在不安全的环境里找到你自己想要的安全,如果使用 1password 你认可其安全性,那就大胆去用。

    最后是 bitwarden ,说到这里,已经是“在不安全的环境里找寻自己认为地安全” 这个主题了。如果此刻你质疑它的安全性,那它就真的不安全,你就放过自己就好了。
    felixcode
        53
    felixcode  
       2022-05-02 02:18:17 +08:00 via Android
    @locoz
    照你的说法,只要有木马,不光木马本身窃取的文件,用户所有期间使用的网站帐户,网银,apple id 帐号,以及解过密的加密数据全都会遭窃了?
    你这样万能的木马真没听说过
    locoz
        54
    locoz  
       2022-05-02 02:24:11 +08:00
    @felixcode #53 你开心就好
    neroxps
        55
    neroxps  
       2022-05-02 06:35:47 +08:00 via iPhone
    @felixcode 监控键盘密码输入不行?窃取主密码。
    felixcode
        56
    felixcode  
       2022-05-02 06:46:59 +08:00 via Android
    @neroxps

    如果这些都做到了,那网银什么的也都可以攻破啊,没多少软件能防的住这些措施一起使用。密码管理器只是相对更加安全的方式。

    而且密码管理器通常都能开二次验证,你也可以说可以木马操纵手机获取二次验证码对吧。

    不说前提谈安全是没法谈的,哪怕电脑不联网那还有电磁泄漏,对人还能用社会工程。
    wonderfulcxm
        57
    wonderfulcxm  
       2022-05-02 08:42:49 +08:00 via iPhone   ❤️ 1
    可能楼主眼里加钱的就是安全的,不加钱就是不安全的。哈哈,笑死人
    Huelse
        58
    Huelse  
       2022-05-02 12:10:54 +08:00
    bitwarden 可以自己部署,你监控他的行为看看啊

    如果真的有问题,拿出你的证明数据,而不是一厢情愿地在这推测怀疑
    89ao
        59
    89ao  
       2022-05-04 10:44:56 +08:00 via iPhone
    懂的不多,又想的太多就会这样吧。
    建议全面了解下各个服务的特点,然后仔细想下自己的人需求。
    neroxps
        60
    neroxps  
       2022-05-04 14:12:10 +08:00 via iPhone
    @felixcode 好像现在很多密码管理工具支持硬检测,例如微软的人脸,或者类似 usbkey 之类的?
    felixcode
        61
    felixcode  
       2022-05-04 15:57:09 +08:00 via Android
    @neroxps
    对,微软的不了解,bitwarden 和 lastpass 都支 YubiKey ,都是属于二次验证吧
    Kazetachinu
        62
    Kazetachinu  
       2022-05-06 17:07:26 +08:00 via iPhone
    @yoyoyoyolol 你都要信任 1password ,还有什么理由怀疑 bitwarden 呢
    yoyoyoyolol
        63
    yoyoyoyolol  
    OP
       2022-05-06 18:08:51 +08:00
    @Kazetachinu 我没信任,那条回复表述不准确,我意思两个都不信任的话,还不如使用便宜的存一些不重要的号码,1password 年费是比买开发者账号自行编译 bitwarden 便宜的^_^
    mschultz
        64
    mschultz  
       2022-08-15 09:23:05 +08:00
    实在有这样的顾虑,可以选择的替代品(不用自己编译)是 pass 而不是 1Password 等更闭源的软件
    https://www.passwordstore.org

    它就是一个纯文本文件,bash 脚本,里面无非就是不断调用 gpg 、git 、vi 等工具。抛开「你的操作系统、bash 、gpg 、git 、vi 等程序有问题」等这些极端情况,pass 相信可以完美解决 OP 对二进制分发的密码管理器的顾虑。

    > file /usr/local/bin/pass
    /usr/local/bin/pass: Bourne-Again shell script text executable, ASCII text

    至于体验(尤其是手机上的体验),就别要求太高了。可以只用它来存重要的密码,放弃手机端。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   869 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 21:52 · PVG 05:52 · LAX 14:52 · JFK 17:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.