原文标题:《全面解析 Discord 安全问题》?
最近看到 Discord 的安全问题频发,近期本人也从 Discord 的普通用户,转变到 Discord 社区的运营者,同时也成为了 Discord 生态上的开发者,所以本文就以 Discord 的安全作为主题给大家分享一下 Discord 上有关安全的问题。
实际上 Discord 的安全问题被诟病已久,但这也不能完全责怪 Discord,因为 Discord 实在是太开放了,就像最初的 Android 一样,任何一个 APP 都可以拿到几乎系统的所有权限,所以任何一个 APP 有安全风险,那么整个系统都会有安全风险。上面说到 Discord 的三个角色(普通用户、运营者、开发者),任何一方未对安全引起重视也都会导致安全问题。
安全无小事,希望这篇文章能够帮助到以上三个角色的读者们。
Discord 上的用户遭受损失主要是因为 Discord 上的钓鱼网站信息太多了,所以对于普通用户来说,为了避免被钓鱼,需要注意以下几点:
关闭私信
关闭私聊
该选项如果打开的话,Discord 的成员可以直接向你发起私聊,而这些成员的头像以及账号也许会与你在 Discord 里看到的管理员一模一样,这时你也许就会放松警惕而轻信这个账号,所以当他们发送某个链接给你的时候也许你就被钓鱼成功了。
Web3社交平台SO-COL完成450万美元融资:金色财经报道,Irene Zhao创立的Web3社交平台SO-COL完成450万美元新一轮融资,本轮融资完全由DWF Labs支持。此前消息,Web3社交平台SO-COL去年2月宣布完成由DeFiance Capital和Animoca Brands领投的175万美元种子轮融资。该平台是一个帮助创作者发行NFT的社交平台,致力于打造成为Discord、Snapshot和OnlyFans的去中心化替代品。[2023/3/29 13:31:47]
另外好友请求也需要注意,最近我在 OpenSea 的 Discord 里问了个问题,结果也是头像和账号和 Discord 管理员一模一样的账号来请求加好友,这种情况直接忽略就好。
不要点击任何未知链接
这个截图是 OpenSea 官方的 Discord 中的消息,大意是说 OpenSea 要和 YouTube 合作发行 NFT,只有 100 个免费名额。小白用户看到这个消息可能立马 FOMO 了,点击截图中的链接后,看到的网站大概长这样。
ShopNEXT与Visa合作推出Web3忠诚度平台:10月7日消息,基于BNB Chain的Web3忠诚度项目ShopNEXT与Visa达成合作,推出Web3忠诚度平台。
任何拥有Visa卡的用户可以在购物的同时获得代币奖励。ShopNEXT还引入应用内游戏玩法和NFT卡,为用户提供增加奖励的选项,并实现Shop-To-Earn模式。(PRNewswire)[2022/10/7 18:41:45]
看到域名和网站都没问题,想到只有 100 个名额,也许就赶紧点 Claim 抢 Mint 了,但执行了该交易之后你的 NFT 也就丢了。
所以看到这种消息千万需要提高警惕,一般来说各个项目方发行 NFT 的话都会提前发布消息,这种突然告诉你要发布 NFT 的消息一般都是假的。
如何判断钓鱼网站
有时候在 Discord 里看到无论是谁发来的链接(可能是群友、管理员、机器人发的链接),在点击之前首先需要看访问的域名是不是项目官方的域名,如果不是的话点击进入后就需要十分警惕:
如果该网站唤起 MetaMask 的弹窗只是要求查看你的钱包地址,是安全的,例如下图:
Tether首席技术官:P2P通信是优雅的,但目前Web3仍由服务器控制一切:金色财经消息,Tether首席技术官Paolo Ardoino发推称,P2P通信是优雅的。Peers具有对称的能力和价值,而在客户端/服务器模型中(在Web3中仍然大量存在),服务器控制一切。[2022/6/29 1:37:41]
该操作只是授权该网站查看你的钱包地址,不会对你的资产有其他操作。
当你继续在该网站上浏览,需要进行钱包相关操作的时候就需要特别留意了,一般网站唤起你的 MetaMask 总共有如下几个操作类型:
转账
如果网站唤醒的是截图上的转账请求,你需要注意转账的目标地址是不是你希望转出的地址,以及转账的金额是否正确。
对于转账来说比较简单,只要确定收款地址和金额就好了。
签名
一般来说获取签名的目的是为了证明你拥有该钱包地址,例如 Discord 里有个叫 Collabland 的机器人,它就是通过签名来验证你拥有该钱包地址,并且该钱包地址上拥有该 NFT,验证通过后就会给你一个 Holder 身份认证。
Web3钱包Rainbow完成1800万美元融资:2月15日消息,Web3移动钱包初创公司Rainbow完成1800万美元A轮融资,由Reddit联合创始人Alexis Ohanian的风险投资公司Seven Seven Six领投。去年10月,该项目曾完成150万美元种子轮融资。
据悉,Rainbow 是一家构建移动钱包应用程序的加密初创公司,它允许用户与以太坊区块链上的去中心化应用程序进行交互,并试图从流程中提取尽可能多的技术知识,让购买或出售价值数千美元的 NFT 之类的事情像 Uber 打车之类的任务一样简单,近期已推出适用于 Android 的 Rainbow 应用程序公开测试版。(Techcrunch)[2022/2/16 9:54:17]
如果大家看到的签名内容是这种明文可读的就没有什么问题了,你能看明白这段话是什么意思。但注意胡乱签名也是会导致资产损失。
但如果大家看到的签名内容如上面这个截图,看不明白是什么,就别操作了。因为上面这个弹窗的签名内容是 OpenSea 的卖单签名,但卖单的价格可能被攻击者设置为 0.001E,如果你不小心在钓鱼网站对此签名了,你的 NFT 可能就会被低价卖给钓鱼者。
ChainSafe获Chainlink资助,将维护和更新web3.js库:7月17日消息,去中心化预言机Chainlink宣布资助区块链技术开发公司ChainSafe,用于扩展和维护web3.js代码库。通过web3.js提供的代码库,开发者可以创建一个网站或客户端应用程序,通过HTTP、WebSocket或IPC连接与以太坊节点的JSON RPC进行交互,该开发框架通常用于促进用户与以太坊区块链的互动,目前广泛使用在DApp中。[2021/7/17 0:59:30]
所以对于签名消息有一个大致原则,看得懂就签,看不懂就别签。
合约调用
大家在很多网站上遇到更多的情况是合约调用,例如 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 权限。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。