风险提示:央行等十部委发布《关于进一步防范和处置虚拟货币交易炒作风险的通知》, 请读者提高风险意识。

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

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

Ben Law
Ben Law
热度 ...

原文作者:Ben Law

原文来源:medium

原文标题:钱包卫士:Web3安全插件工作原理

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

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

  • 恶意合约
  • 高风险代币
  • 授权漏洞
  • 假NFT
  • 危险签名
  • 等等

面向URL的反钓鱼

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

ethereum面向URL的反钓鱼只能建立在静态的URL黑名单之上(虽然这个名单可以更新),这种措施有用但比较老套也不够全面:

  • 不完备性: 并不能涵盖所有的钓鱼网站。新生成的钓鱼网站是盲区。
  • 滞后性: 在用户反馈(应该已经受害了)和黑名单更新之间有一定延迟。
  • 局限性: 对DNS劫持等其他攻击手段无效。

面向URL的反钓鱼不能满足用户需求,因为它覆盖的不是最终的安全敞口:待签名交易(或消息)。

面向交易的反钓鱼

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

ethereum典型的交易过程

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

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

ethereum.request({

method: ‘eth_sendTransaction’,

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

})

关于【Web3安全插件工作原理及使用建议】的延伸阅读

  • Solana NFT 市场是如何在过去 30 天内超越以太坊?

    NFT是独特的数字资产,代表数字物品所有权。Solana和Ethereum是两大NFT平台,Solana因高速和低费用受关注。它已超过Ethereum,在过去一个月铸造3200万个NFT,远超过Ethereum的100万个,展示了其颠覆性影响力。Solana的低费用使创作者获得更多收益,Ethereum的用户基础和销售量意味着更高曝光率和价格。Solana成功展示了处理大规模操作的效率和速度,成为NFT创作者的首选。虽然Ethereum仍保持优势,但Solana吸引了更多活跃参与者,是高效且成本效益高的选择。对于收藏家和投资者来说,Ethereum仍是首选。Solana的价格上涨和积极情绪显示出市场对其的信心,但多空比下降可能预示着市场修正。总的来说,Solana在NFT领域表现出色,但Ethereum仍是高价值NFT项目的首选。

  • 以太坊经济学简明指南

    本文介绍了区块链经济学的定义和重要性,它是在加密经济网络中协调“价值创造和分配”的“机制、激励以及宏观经济政策”。区块链经济学结合了经济学设计和软件开发,旨在构建一个更好的“价值互联网”。为了实现安全、公平和成本效益,需要进行经济设计和研究。以太坊生态系统提供了许多研究机会,包括资源分配、市场结构和用户体验等方面。研究和开发齐头并进,以确保系统稳健运行。以太坊基金会也提供了资助计划和开放问题清单,促进研究工作。

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

ethereumHook交易

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

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

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

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

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

window.ethereum.request = proxy;

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

  1. 拦截交易对象。
  2. 发送至云端或在本地进行分析。
  3. 若发现风险行为,警示用户。

显然,第二步是这一流程里最关键和最有技术含量的,包括但不限于:

  • 静态分析函数selector,交互地址等
  • 调用栈的动态分析
  • 链式合约扫描
  • 代币检测
  • 交易模拟
  • AML库
  • 签名分析
  • 恶意合约库
  • 等等…

每一条都可以单独写一篇文章,篇幅所限这里就不展开了。

Tips

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

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


免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:Ben Law,如有侵权请联系删除。转载或引用请注明文章出处!

标签:

分享至
https://www.chainlook.cn/toutiao/1691130660.html

下一篇:

SBF推特私信:后悔宣布FTX破产,未挪用客户存款

“目前的首要任务是设法筹集80亿美元。”

免责声明:
链观CHAINLOOK作为区块链技术应用与Web3行业研究的智库媒体,旨在为中国区块链专家、学者们提供最新的行业资讯信息与数据样本,用于区块链技术研究与创新。本站所发布的文章仅代表作者的个人观点,不代表链观CHAINLOOK官方立场,本站所发布的区块链行业研究报告与数据分析成果是通过人工智能算法对数据内容进行分析与归纳生成,不代表任何投资暗示与建议,链观CHAINLOOK不承担法律责任。

风险提示:
虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险,链观CHAINLOOK坚决反对各类代币炒作,请读者提高风险意识,理性看待区块链技术应用及市场风险。

© 链观CHAINLOOK All Rights Reserved. 京ICP备18054193号-5