原文标题:《全面解析 Discord 安全问题》?
最近看到 Discord 的安全问题频发,近期本人也从 Discord 的普通用户,转变到 Discord 社区的运营者,同时也成为了 Discord 生态上的开发者,所以本文就以 Discord 的安全作为主题给大家分享一下 Discord 上有关安全的问题。
实际上 Discord 的安全问题被诟病已久,但这也不能完全责怪 Discord,因为 Discord 实在是太开放了,就像最初的 Android 一样,任何一个 APP 都可以拿到几乎系统的所有权限,所以任何一个 APP 有安全风险,那么整个系统都会有安全风险。上面说到 Discord 的三个角色(普通用户、运营者、开发者),任何一方未对安全引起重视也都会导致安全问题。
安全无小事,希望这篇文章能够帮助到以上三个角色的读者们。
Discord 上的用户遭受损失主要是因为 Discord 上的钓鱼网站信息太多了,所以对于普通用户来说,为了避免被钓鱼,需要注意以下几点:
关闭私信
关闭私聊
该选项如果打开的话,Discord 的成员可以直接向你发起私聊,而这些成员的头像以及账号也许会与你在 Discord 里看到的管理员一模一样,这时你也许就会放松警惕而轻信这个账号,所以当他们发送某个链接给你的时候也许你就被钓鱼成功了。
Web3通信协议Notifi Network宣布支持Arbitrum:金色财经报道,Web3通信协议Notifi Network宣布支持Arbitrum,在Arbitrum上推出SDK支持和Notifi Hub。通过这一集成,Arbitrum用户现在可以通过短信、电子邮件、Telegram、钱包到钱包DM等方式从Arbitrum上的DApp接收实时通知。此次集成的初步合作伙伴包括Vesta和SynFutures。(Martech Series)[2023/1/20 11:23:01]
另外好友请求也需要注意,最近我在 OpenSea 的 Discord 里问了个问题,结果也是头像和账号和 Discord 管理员一模一样的账号来请求加好友,这种情况直接忽略就好。
不要点击任何未知链接
这个截图是 OpenSea 官方的 Discord 中的消息,大意是说 OpenSea 要和 YouTube 合作发行 NFT,只有 100 个免费名额。小白用户看到这个消息可能立马 FOMO 了,点击截图中的链接后,看到的网站大概长这样。
拳王泰森推特宣布担任Web3社交媒体Metalk DAO社区大使:3月31日消息,世界重量级拳击冠军麦克泰森(Mike Tyson)推特宣布担任Web3社交媒体Metalk DAO社区大使。
Metalk是由Curiousers Labs开发的一款Web3社交应用,支持BAYC等主流NFT创建专属社区等功能,预计于4月初发布Dialoger创世系列NFT。[2022/3/31 14:28:39]
看到域名和网站都没问题,想到只有 100 个名额,也许就赶紧点 Claim 抢 Mint 了,但执行了该交易之后你的 NFT 也就丢了。
所以看到这种消息千万需要提高警惕,一般来说各个项目方发行 NFT 的话都会提前发布消息,这种突然告诉你要发布 NFT 的消息一般都是假的。
如何判断钓鱼网站
有时候在 Discord 里看到无论是谁发来的链接(可能是群友、管理员、机器人发的链接),在点击之前首先需要看访问的域名是不是项目官方的域名,如果不是的话点击进入后就需要十分警惕:
如果该网站唤起 MetaMask 的弹窗只是要求查看你的钱包地址,是安全的,例如下图:
Web3隐私系统Espresso Systems完成3200万美元融资,红杉资本参投:3月7日消息,Web3应用程序扩展和隐私系统EspressoSystems完成3200万美元融资, Greylock Partners 和 Electric Capital 领投,红杉资本、Blockchain Capital 和 Slow Ventures参投。
据悉,Espresso Systems 正在开发第 1 层区块链基础设施,通过将权益证明共识协议与zk rollup机制集成来提供快速、低费用的交易。该项目的以太坊可配置资产隐私 (CAPE) 智能合约应用程序旨在为创建者提供有关发送方和接收方地址以及持有或移动资产的数量和类型的可定制隐私。这些元素都可以设置为公共、私人或仅对选定方透明,将支持 ERC-20 代币的创建和包装,未来还将支持NFT。(Coindesk)[2022/3/7 13:43:02]
该操作只是授权该网站查看你的钱包地址,不会对你的资产有其他操作。
当你继续在该网站上浏览,需要进行钱包相关操作的时候就需要特别留意了,一般网站唤起你的 MetaMask 总共有如下几个操作类型:
转账
柏林风投CherryVentures宣布推出首支加密和Web3基金Cherry Crypto I:2月18日消息??总部位于柏林的风险投资公司CherryVentures宣布推出首支加密和 Web3 基金Cherry Crypto I,基金规模为 3000 万欧元。该基金将构建一个集中的投资组合,仅投资 30 家公司或项目,包括去中心化的网络或公司。
Cherry Ventures 表示,该基金在过去一年里已经将 Lido、Radicle、Morpho、Blackpool、Brahma、Unlock 和 CoW Protocol 等项目纳入基金投资组合。[2022/2/18 9:59:49]
如果网站唤醒的是截图上的转账请求,你需要注意转账的目标地址是不是你希望转出的地址,以及转账的金额是否正确。
对于转账来说比较简单,只要确定收款地址和金额就好了。
签名
一般来说获取签名的目的是为了证明你拥有该钱包地址,例如 Discord 里有个叫 Collabland 的机器人,它就是通过签名来验证你拥有该钱包地址,并且该钱包地址上拥有该 NFT,验证通过后就会给你一个 Holder 身份认证。
本体联合创始人季宙栋:区块链将成为Web3.0的基础设施:金色财经现场报道,7月6日,由杭州市余杭区政府指导,杭州未来科技城管委会、巴比特主办的2020杭州区块链国际周在杭州举办。在主题为《Web3.0:人人都来打造一个美丽新世界》的圆桌上,本体联合创始人季宙栋表示,Web3.0是Web2.0自然的进化,是解决下一时代的需求,帮助人与AI协作起来。在Web3.0时代,区块链将成为其基础的设施,帮助个人在公开透明的环境里实现身份数字化,资产数字化。[2020/7/6]
如果大家看到的签名内容是这种明文可读的就没有什么问题了,你能看明白这段话是什么意思。但注意胡乱签名也是会导致资产损失。
但如果大家看到的签名内容如上面这个截图,看不明白是什么,就别操作了。因为上面这个弹窗的签名内容是 OpenSea 的卖单签名,但卖单的价格可能被攻击者设置为 0.001E,如果你不小心在钓鱼网站对此签名了,你的 NFT 可能就会被低价卖给钓鱼者。
所以对于签名消息有一个大致原则,看得懂就签,看不懂就别签。
合约调用
大家在很多网站上遇到更多的情况是合约调用,例如 mint NFT 之类的操作等。
如果是合约调用,首先需要确定的是调用的「合约地址」是不是官方公布的合约地址,确定合约地址没问题之后再看调用该合约的「功能类型」,如果「调用功能」类型显示 approve、setApprovalForAll、transfer、safeTransferFrom 之类的字样就需要警惕了,因为这是给出授权让别人可以转移走你的资产,这也是最常见的钓鱼方式。
前文所说的 OpenSea 的 Discord 被攻击发出的钓鱼网址,以及本人下面推特分享的案例都是这种方式。
所以对于合约调用的总体原则就是:确认合约地址正确,确认操作类型不是 approve、setApprovalForAll、transfer、safeTransferFrom 等字样。
对于大部分场景做到以上,普通用户就可以避坑了,但是作为 Discord 的运营者,我们需要比普通用户更尽责地保护社区成员的安全,避免因为运营者的安全疏忽导致用户的损失。对于 Discord 的运营者,也有以下几点需要注意的:
没有开启 2FA 的话,一旦账号密码泄漏,那么攻击者就可以利用管理者的账号发布钓鱼信息。
目前发现有针对于 Discord 管理者钓鱼的网站,管理者进入网站被引导后会让攻击者得到管理者的 Discord session,攻击者利用 session 就可以绕开 2FA 及登陆验证,直接以管理员的身份接管 Discord 社区了。下面推文有详细分析,感兴趣的朋友可以看看。
为社区每增加一个 Bot,就会带来多一分的安全风险,任何一个 Bot 被攻击者利用了,都能够对社区的 Discord 发起 SCAM 攻击。
Crepto 社区只引入了一个外部 Bot,CollabLand,用于验证 holder 的身份,毕竟已经是 Discord 标配了。其他 Bot 如果不是必须使用的话,Crepto 社区也就不再引入了。
Discord 管理员引入 Bot 的时候,需要注意 Bot 索取的服务器权限,秉持最小授权原则,如果发现一个功能简单的 Bot 要求管理员权限的话,最好不要引入。因为这个 Bot 的项目方如果被攻击,轻则只是给您的 Discord 社区发送垃圾消息,重则它可以剔出所有用户,删除所有频道和记录。
上面是引入 CollabLand Bot 时索取服务器的权限,CollabLand Bot 要求授权的是「管理员」这个最高权限。CollabLand Bot 的作用是给通过认证了的 holder 授予了某个角色,实际上 CollabLand Bot 只需要索取管理 Member 和 Role 的权限就足够了,但不知道为何索要了最高权限?也希望知道的朋友告知一下。
所以对于 Discord 的管理者来说,Discord 的安全主要在于:
- 管理者账号的安全?
- Bot 的安全
管理者账号的安全可以由团队提升安全意识来保证,但 Bot 的安全对于管理者来说却无能为力,所以管理者只能是秉持能少用 Bot 就少用,能少给授权就少给的原则来处理即可。
Crepto 社区已经开发了两款 Discord Bot,也算是对 Discord 的开发有所了解。所以对于在 Discord 上进行开发的朋友们,也给出了以下几点安全建议:
Bot 的 Token 一定要保证安全
Discord 的开发者都知道,Bot 的生命线就掌握在 Token 上,Token 被攻击者拿到之后,攻击者可以利用你的 Bot 干他想干的任何事情,所以千万需要像重视钱包私钥安全那样去重视 Bot 的 Token。
运行 Bot 的服务器安全
服务器安全的话题可以无限展开,但这里就提醒一点,Bot Token 的安全十分重要,Bot 是在服务器上运行的,所以服务器被攻破意味着 Token 也泄漏了,当然还有 Bot 所获取 Discord 上的所有数据也全泄漏了。
养成定期更换 Token 的习惯
就跟一些网站定期要求用户更换密码一样,虽然 Discord 没有强制要求开发者定期更换 Bot 的 Token,但我认为养成定期更换 Token 是必不可少的,特别是你的 Bot 用户数量多的时候。
Bot 按需索取权限
千万别无脑索取 Discord 服务器的「管理员」权限,确认你的 Bot 需要用到哪些功能,再去索取相应的权限。这样即便你的 Bot 被黑,那么受损程度也被控制在一定范围之内。
对于开发者的总体原则就是保证 Bot Token 的安全,以及最小索取你的 Bot 权限。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。