Web3安全插件工作原理及使用建议_ETH:Ethereal对应的情侣名

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

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

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

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

报告:未来加密货币交易量的增长很大一部分将来自衍生品领域:8月12日消息,根据Genesis的一份报告,未来加密货币交易量增长的很大一部分将来自衍生品。Genesis 2023年第二季度市场报告称,如果遵循传统金融衍生品的趋势,“加密期权市场有比目前水平增长10倍的空间”。据称,期权已成为机构投资者进入加密货币市场的首选工具。

Genesis的销售和交易董事总经理Gordon Grant表示:“我们看到机构投资者对加密衍生品的资金流入有所增长。CME加密期权在7月份表现出色,是三个月来的最高水平,ETH交易量大幅上升。Deribit的月度交易量继续相对较高。”

他补充说,对于一些顶级机构投资者来说,CME被认为是一个比传统的加密货币交易所更稳定的场所。“他们对与主流加密交易所互动的兴趣不如对CME的稳定性感兴趣。机构投资者,尤其是全球最大的资产配置机构,认为CME拥有安全和可靠的品牌,”Grant补充道。[2023/8/12 16:22:31]

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

Aptos生态NFT市场Souffl3宣布与Blocto达成合作:8月17日消息,Aptos 生态 NFT 市场 Souffl3 宣布与跨链智能合约钱包 Blocto 达成合作。[2022/8/17 12:32:02]

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

面向交易的反钓鱼

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

Solana Labs被指控在新诉讼中出售未注册证券:金色财经报道,Solana Labs和Solana生态系统的主要参与者于7月1日在加利福尼亚联邦法院受到诉讼。该诉讼指控Solana Labs、Solana基金会、Anatoly Yakovenko、著名的加密风险投资公司Multicoin Capital Management及其首席执行官Kyle Samani以及交易平台FalconX从其声称的未注册证券中获取非法利润。原告指控Solana Labs的首席执行官Anatoly Yakovenko就代币的总流通供应量做出故意误导性陈述。(cryptopotato)[2022/7/10 2:02:46]

典型的交易过程

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

Facebook股票代号6月9日正式改为META:金色财经报道,Meta发布消息称,在6月9日股市开市之前A类普通股将以“META”代号在纳斯达克交易,取代目前使用的代号“FB”。去年10月Facebook将公司名称更换为Meta Platform Inc,其目的是重塑品牌,打造“元宇宙”。自2012年上市以来Facebook股票一直以“FB”代号交易。[2022/6/1 3:54:45]

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-1:83ms