Web3平安插件工做原理及利用定见

6天前 (02-10 15:40)阅读1回复0
路人甲
路人甲
  • 管理员
  • 注册排名2
  • 经验值129890
  • 级别管理员
  • 主题25978
  • 回复0
楼主

Web3平安插件工做原理及利用定见

免责声明:本文旨在传递更多市场信息,不构成任何投资定见。文章仅代表做者看点,不代表MarsBit官方立场。

免责声明:本文旨在传递更多市场信息,不构成任何投资定见。文章仅代表做者看点,不代表MarsBit官方立场。

小编:记得存眷哦

来源:Ben Law

原文题目:钱包卫士:Web3平安插件工做原理

在DeFi的暗中丛林中,用户天天面对着各类平安威胁。据报导每年有超越十亿美圆的加密资产上当走。用户迫切地需要一种钱包卫士来守护资产。上篇文章提到了如 FoxEye那种Web3平安插件,本帖来阐明下它们的工做原理。

当谈到反垂钓时,一个常见的平安模子是 基于URL的反垂钓,因为大部门进攻向量都依靠垂钓网站,如:

歹意合约

高风险代币

受权破绽

假NFT

求助紧急签名

等等

面向URL的反垂钓

成立垂钓URL的数据库,当用户拜候垂钓网站时停止拦截。

面向URL的反垂钓只能成立在静态的URL黑名单之上(固然那个名单能够更新),那种办法有用但比力老套也不敷全面:

不齐全性: 其实不能涵盖所有的垂钓网站。重生成的垂钓网站是盲区。

滞后性: 在用户反应(应该已禁受害了)和黑名单更新之间有必然延迟。

局限性: 对DNS劫持等其他进攻手段无效。

面向URL的反垂钓不克不及称心用户需求,因为它笼盖的不是最末的平安敞口:待签名交易(或动静)。

面向交易的反垂钓

殊途同回,所有的垂钓都需要倡议交易。假设我们能动态地解析交易或签名(签名也需要之后在当地或长途交易),并拦截有害的那一部门,就能够实现用户端的平安闭环。

典型的交易过程

本段包罗一小部门代码,但不睬解代码也能够阅读。原则的交易过程为:

ethereum.request({

method: ‘eth_sendTransaction’,

params: [{…, to, data, …}]

Web3平安插件工做原理及利用建议

展开全文

Hook交易

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

假设我们能hook那个eth_sendTransaction办法,那么就能在其被发送至用户钱包签名前对其停止审查。

Web3平安插件工做原理及利用建议

在Java中,我们利用根底对象Proxy来完成hook。

创建一个对 ethereum.request(此中包罗eth_sendTransaction)的Proxy。

const proxy = new Proxy(window.ethereum.request, this.proxyHandler);

window.ethereum.request = proxy;

此中一个参数 this.proxyHandler 中声了然监听到eth_sendTransaction后若何处置,详细细节按下不表,大致为:

显然,第二步是那一流程里最关键和最有手艺含量的,包罗但不限于:

静态阐发函数selector,交互地址等

挪用栈的动态阐发

链式合约扫描

代币检测

交易模仿

AML库

签名阐发

歹意合约库

等等…

每一条都能够零丁写一篇文章,篇幅所限那里就不展开了。

Tips

最初有几条利用平安插件的几条定见:

仅从官网链接下载。固然我还没见到仿冒的Web3平安插件,但我能够说它们必然会来的。

仅利用开源的插件。Hook是一种很有能力的手艺,它不只能拦截你的交易,也能修改之。你必定不想后院起火吧。

利用有更多功用的插件。简单即弱小。

不要在一个Chrome窗口里安拆多个平安插件,他们互相之间可能会抵触。假设想体验多个插件,能够拆一卸一,或利用Chrome的多用户功用。

谨记平安是一种动态逃求。风险也在不竭改变之中。固然平安插件能极大提拔你的平安程度,但无法包管100%平安。安拆平安插件的同时也要提拔本身的平安意识。

0
回帖

Web3平安插件工做原理及利用定见 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息