警惕! Ubuntu APT 源污染...

2017-12-05 23:54:06 +08:00
 pq

https://paper.seebug.org/270/

你们觉得这篇文章说得靠谱么?我对其中关键的一环持有怀疑: 第三阶段里的

通过对 gpg 进行了解,发现 gpg 可以进行签名伪造,比如 ubuntu 官方的签名邮箱为 mirror@ubuntu.com ,那么我们也可以使用官方签名的邮箱重新进行申请,获得一个签名 key。

这个没太看懂,究竟是伪造一个官方邮箱去 keyserver 申请,还是在本地伪造?官方会有这么明显的漏洞?

9364 次点击
所在节点    Linux
50 条回复
jimzhong
2017-12-06 02:28:41 +08:00
这篇文章是标题党吧。有几个 Linux 用户会不检查指纹盲目导入 Key ?
ryd994
2017-12-06 02:46:08 +08:00
傻逼啊,当整个 Linux 社区都是傻逼么?

Ubuntu 用于验证 deb 的 key 不是从网上接收的,是直接写死在光盘里,后期通过 dpkg-sig 保持更新
所以验证安装光盘很重要

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [证书公钥 ID]
嗯嗯,所以要怎么让受害者运行这条命令呢?我要有能力让别人运行这条命令,我干嘛不直接运行 sudo dd if=/dev/zero of=/dev/sda 呢?

明显就是没用过 gpg 的傻逼。keyserver 就是个公用网盘,可以直接下载证书文件。可它本来就不保证证书是真的啊。验证证书需要 in-person 见面,或者通过信任链间接验证。
RqPS6rhmP3Nyn3Tm
2017-12-06 02:51:17 +08:00
完全不靠谱。楼主可以去了解一下 Web of trust 工作原理,这种阴谋论真的很低级
likuku
2017-12-06 03:02:17 +08:00
@jimzhong [这篇文章是标题党吧。有几个 Linux 用户会不检查指纹盲目导入 Key ?]

除非特别重要的包 /特别重要的机器,一般情况下用户才懒得去检查指纹(与官方渠道给的指纹对比)。
likuku
2017-12-06 03:04:06 +08:00
[由于有些用户喜欢使用 root 用户执行的 apt 命令]....

不用 root 身份,怎么用 apt-get 安装更新软件包?有着办法么? sudo 等同于取得 root 权限,这个不算。
autoxbc
2017-12-06 03:27:24 +08:00
主要 apt 那个 key 错误的提示一点也不友好,既没有除错方法,也没有安全提示。大多数人就是搜索一下,然后按照教程导入 key,又不都是搞安全的,谁知道 GPG 套路这么深。
autoxbc
2017-12-06 03:44:37 +08:00
@ryd994 #22 原理安全不代表实操无漏洞,我演示一下

1. 光盘内置 key 保存在当前系统中,可能在升级中损坏,至少我遇到过一次

2. key 损坏后,任何升级 /安装动作都会提示 key 校验错误

3. 用户第一反应是换源,源出错是很常见的,换源过程中录入一个污染源

4. 仍然无法更新,用户搜索得知需要导入 key,用户大概率不知道 GPG 是什么东西

5. 导入 key 后正常更新,此时已经中招,整个过程十分自然
bao3
2017-12-06 05:19:03 +08:00
兄弟,你申请网站 ssl 证书不也邮箱,但你以为这些场合是以邮箱作为合法验证?其实邮箱在这里只是一个 flag 而已
ryd994
2017-12-06 05:40:16 +08:00
@autoxbc 1.验证光盘是安装前步骤之一,你不做是你的事
2.用户傻逼不能怪系统不安全
这个问题,任何系统都无法解决。Windows 的安装光盘一样可以篡改植入 CA,一样可以劫持系统更新。或者植入管理软件,Windows 本身就支持域管理员设置 wsus。我是不是可以搞个大新闻,说 Windows 或者 Mac 都不安全?
ryd994
2017-12-06 05:41:59 +08:00
@autoxbc Windows,请求管理员权限点一下,什么都出去了。更况且,嫌烦不开 UAC 的人多了去了。
yingfengi
2017-12-06 08:02:57 +08:00
就像 https 你安装莫名其妙的 CA,一个道理
Tyanboot
2017-12-06 08:09:59 +08:00
@Shura Arch 也不能不用 root 跑 pacman。
momocraft
2017-12-06 08:25:03 +08:00
随便找一个命令就敢 root 执行的用户会中任何污染, 这不是 pgp deb 或 debian 的问题.
jyf007
2017-12-06 08:39:15 +08:00
我记得 gentoo 被入侵有一种方式是 portage 树植入木马,条件是 rsync 同步的 portage 树.我已经切换成 git 同步 https 协议的 portage 树了,现在唯一可信的地方是 ca-certification
jasontse
2017-12-06 08:59:10 +08:00
自己挖坑自己跳,这算什么?
Owenjia
2017-12-06 09:05:37 +08:00
@jyf007 gentoo 是比较坑,看着 websync 同步下来几个密钥文件,但默认情况下并没有做验证……
loading
2017-12-06 09:09:04 +08:00
所以一般第三方源还是谨慎,特别是要添加 key-ring 等操作。

其实退一步说,例如 android 的 apk 下载时被劫持,然后一般用户都打开了信任未知来源,怪谁?
loading
2017-12-06 09:09:45 +08:00
系统系统的安全弱点,始终是人。
UnknownR
2017-12-06 10:05:56 +08:00
不 root 运行 apt 会报错
lain0
2017-12-06 11:34:04 +08:00
你都手動把攻擊者的 public key 導入信任了,當然能通過包簽名檢驗。

所以在網頁上看到指示用戶執行的命令,不要不看清楚或不明白意思就在自己機器執行了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/412317

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX