Web3安全插件工作原理及使用建议_ROB:BLO

在DeFi的黑暗森林中,用户每天面临着各种安全威胁。据报道每年有超过十亿美元的加密资产被走。用户迫切地需要一种钱包卫士来守护资产。上篇文章提到了如?FoxEye这种Web3安全插件,本帖来解释下它们的工作原理。

当谈到反钓鱼时,一个常见的安全模型是基于URL的反钓鱼,因为大部分攻击向量都依赖钓鱼网站,如:

恶意合约高风险代币授权漏洞假NFT危险签名等等面向URL的反钓鱼

建立钓鱼URL的数据库,当用户访问钓鱼网站时进行拦截。

Ultra计划推出Web3游戏市场Ultra Games:金色财经报道,Web3游戏初创公司Ultra计划于4月25日推出其基于Ultra Layer-1网络构建的Ultra Games市场,将允许用户通过二级市场转售其购买的数字游戏。据该公司透露,新的数字PC游戏商店将推出大约60或70款游戏,包括Cards of Ethernity、Cross the Ages、MARS4等Web3游戏。但它也将以没有NFT或代币元素的传统“Web2”游戏为特色,包括Lords of the Fallen、The Walking Dead: The Telltale Definitive Series和Syberia游戏系列。[2023/4/5 13:46:02]

面向URL的反钓鱼只能建立在静态的URL黑名单之上,这种措施有用但比较老套也不够全面:

Web3足球游戏公司Matchday完成2100万美元种子轮融资:金色财经报道,Web3游戏互动娱乐初创公司Matchday宣布完成2100万美元种子轮融资,梅西旗下基金Play Time参投。Matchday将 Web3 和移动游戏结合起来,创建一套由FIFA授权的足球游戏,Matchday首席游戏官Sebastien de Halleux表示相信真正的所有权对于为游戏玩家创造一系列新体验非常重要,希望将数亿球迷吸引到Web3,该公司预计第一款游戏将在第二季度发布。[2023/3/8 12:49:50]

不完备性:并不能涵盖所有的钓鱼网站。新生成的钓鱼网站是盲区。滞后性:在用户反馈和黑名单更新之间有一定延迟。局限性:对DNS劫持等其他攻击手段无效。面向URL的反钓鱼不能满足用户需求,因为它覆盖的不是最终的安全敞口:待签名交易。

元宇宙平台Roblox正在招聘Web3高级软件工程师,以开发Web3解决方案:7月10日消息,据元宇宙平台Roblox官网发布的招聘信息,该公司正在招聘Web3高级软件工程师,以帮助Roblox市场做好Web3准备,开发Web3解决方案并将它们与Roblox中现有的Roblox技术堆栈集成,帮助决定Roblox中Web3的未来以及我们的Web3解决方案的性质。

据悉,Roblox作为大型社区互动游戏,玩家可以通过平台与朋友聊天、互动以及创作,多重属性让Roblox被外界认为是目前最具元宇宙气质的平台。[2022/7/10 2:03:28]

面向交易的反钓鱼

Sapien与Matic Network合作 构建去中心化Web 3社交网络:基于以太坊的社交网络Sapien将与区块链可扩展性平台Matic Network合作,Sapien联合创始人兼首席执行官表示,Sapien想利用Matic Network的技术来构建可扩展的去中心化Web 3社交网络。此外,Sapien正在准备启动名为Alpha Persei的平台新版本。(Cointelegraph)[2020/3/16]

殊途同归,所有的钓鱼都需要发起交易。如果我们能动态地解析交易或签名,并拦截有害的那一部分,就可以实现用户端的安全闭环。

典型的交易过程

本段包含一小部分代码,但不理解代码也可以阅读。标准的交易过程为:

dApp前端通过?ethereum.request调用?eth_sendTransaction?向钱包发送交易信息。?params?包含所有的交易参数。ethereum.request({

method:‘eth_sendTransaction’,

params:

})

钱包要求用户对交易签名。将签过名的交易发送到以太坊节点上。

Hook交易

Hook的意思是钩子。在编程中我们把『拦截系统或软件的函数、信息、事件,并增加或改变其功能』的技术称为hook。

如果我们能hook这个eth_sendTransaction方法,那么就能在其被发送至用户钱包签名前对其进行审查。

在JavaScript中,我们使用基础对象Proxy来完成hook。

创建一个对?ethereum.request的Proxy。

constproxy=newProxy(window.ethereum.request,this.proxyHandler);

window.ethereum.request=proxy;

其中一个参数?this.proxyHandler?中声明了监听到eth_sendTransaction后如何处理,具体细节按下不表,大体为:

拦截交易对象。发送至云端或在本地进行分析。若发现风险行为,警示用户。显然,第二步是这一流程里最关键和最有技术含量的,包括但不限于:

静态分析函数selector,交互地址等调用栈的动态分析链式合约扫描代币检测交易模拟AML库签名分析恶意合约库等等…每一条都可以单独写一篇文章,篇幅所限这里就不展开了。

Tips

最后有几条使用安全插件的几条建议:

仅从官网链接下载。虽然我还没见到仿冒的Web3安全插件,但我可以说它们一定会来的。仅使用开源的插件。Hook是一种很有威力的技术,它不仅能拦截你的交易,也能修改之。你肯定不想后院起火吧。使用有更多功能的插件。简单即弱小。不要在一个Chrome窗口里安装多个安全插件,他们互相之间可能会冲突。如果想体验多个插件,可以装一卸一,或使用Chrome的多用户功能。谨记安全是一种动态追求。风险也在不断变化之中。虽然安全插件能极大提升你的安全水平,但无法保证100%安全。安装安全插件的同时也要提升自己的安全意识。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:15ms0-5:632ms