热门标签

三公大吃小玩法规则教程(www.eth108.vip):联博统计(www.326681.com)_一万五千字讲述教你若何抗击区块链诈骗

时间:1周前   阅读:1

kiếm tiền online uy tín(www.84vng.com):kiếm tiền online uy tín(www.84vng.com) cổng Chơi tài xỉu uy tín nhất việt nam。kiếm tiền online uy tín(www.84vng.com)game tài Xỉu đánh bạc online công bằng nhất,kiếm tiền online uy tín(www.84vng.com)cổng game không thể dự đoán can thiệp,mở thưởng bằng blockchain ,đảm bảo kết quả công bằng.

作者:r0ckgh0st.eth & cybercaf.eth

SeeDAO IR导言:据平安数据显示,今年以来有纪录的因诈骗和平安破绽带来的加密领域损失已近30亿美元。每一个区块链行业的介入者都无异于身处“大西部”,无时不刻受到隐私、财富损失的风险。

虽然业内已经有部门对区块链诈骗、平安破绽举行剖析的事情,但大多只是针对某些案例,或者对背后机制的讨论不够深入。因此,我们很喜悦为人人带来这篇由两位网络平安领域的专家所撰写的万字长文,为人人周全且深入的剖析当前险些所有平安隐患并提供应对战略。

本文作者:

r0ckgh0st.eth:Yumingze,网络平安研究生在读,Conflux ToC 成员,对接并协助孵化Web3应用,在Lecture Notes in Computer Science ,IEEE,信息网络平安等刊物揭晓论文多篇,Seedao Web3平安课程讲师。在Web3方面的研究兴趣涉及区块链钓鱼剖析及提防、区块链供应链攻击机制及抑制,相对善于代码审计。现在正深度介入DID框架开发及整合。

cybercaf.eth:数字游民,Conflux ToC成员,SeeDAO焦点孝顺者,SeeDAO投研公会成员,Web3大学焦点孝顺者,元宇宙与网络平安领域研究者。

前言  

自网络降生以来,攻防领域就一直是研究的热门;区块链降生之后由于其伟大的财富效应与用户对平安的熟悉不足,吸引了无数的黑客挖空心思举行攻击。在近几年Defi与NFT高速生长的环境下,行使区块链网络实行的钓鱼诈骗攻击更是越来越多,各种攻击场景及攻击方式层出不穷。

本文前半部门论述了区块链平安基础知识,重点论述了用户在使用区块链相关应用时应重点关注的平安要素。后半部门整理常见的行使区块链诱骗用户资产的攻击案例,通过对黑客攻击手法举行剖析,引出针对特定攻击手段的防护方案。

1.区块链平安基础  

区块链平安基础头脑导图

凭证柯克霍夫原则,纵然已掌握了密码系统的运作步骤,然则在密钥未被泄露的条件下,密码系统仍然是平安的。在区块链环境下,珍爱钱包私钥,是珍爱链上数字资产的主要措施和条件。

1.1 私钥及助记词平安

区块链钱包软件所治理的私钥通常是256bit长的随机字符串,为便于展示区块链钱包工具会将256bit数据转换为32字节长的16进制编码。“0x40e667191f4497cc3ab018ceb524a32c2f4875fbfb0103322767f46f5b319244”即为区块链钱包软件天生的钱包私钥。通过将私钥导入区块链钱包,用户即可掌握钱包内对应的数字资产。行使椭圆曲线密码框架,开发者可以行使私钥数据便捷的盘算出与之对应的公钥信息,通过对公钥举行keccak256运算[7]并取运算效果的最后20字节,即获得区块链钱包地址。使用以太坊ethers工具库天生公私钥,并凭证公钥信息盘算钱包地址的代码运行效果如下图所示:

公私钥天生钱包地址方式

思量到哈希运算具有抗强碰撞和弱碰撞特征,因此在不掌握钱包私钥的条件下攻击者难以通过随机碰撞的方式组织出两个完全一致的区块链钱包地址。为便于用户影象及保留,在BIP39提升改善设计中引入了使用助记词示意区块链钱包私钥的方式。为便于明白,读者可以以为一组由12、15、18、21或24个单词组成的助记词列表即对应一组区块链钱包私钥。在助记词处于保密状态时,用户的钱包私钥及数字资产是平安的。

在确立区块链钱包时,助记词及私钥数据是异常敏感的,在举行敏感操作前用户检查周边环境是否有可疑人物、高清摄像头等可能发生窥屏事宜的不平安因素。用户通常需要使用纸笔或助记词钢板纪录钱包助记词并妥善保留(如锁入保险箱)。在使用区块链网络时,用户应当做到不向任何人透露与助记词及私钥相关的任何信息,切实保障用户数字资产的平安性。

1.2 智能合约平安

智能合约的泛起使以太坊网络相较比特币网络具备了更好的延展性,开发者可通过以太坊提供的SDK开发工具编写智能合约代码便捷的开发DAPP。在以太坊中,智能合约是一种部署后则代码逻辑无法被改动的盘算机程序。待智能合约部署后,区块链用户即可以根据智能合约对应的代码逻辑与合约举行交互。

用户在与智能合约交互前,应检查:1)智能合约代码是否已通过区块链浏览器完成了开源操作;2)对智能合约代码要害逻辑(例如要挪用的智能合约方式)举行审计,待确保代码不存在恶意使用或转移用户数字资产的敏感行为后,再挪用智能合约方式。

挪用经由合约开源认证或已通过着名智能合约审计公司平安性审计的智能合约方式,能够在一定水平上保障用户持有数字资产的平安性。

1.3 区块链钱包平安

区块链钱包软件为其用户提供了私钥治理,钱包账户治理,远程历程挪用(RPC)节点治理、生意署名、生意治理、与智能合约交互及硬件钱包毗邻等功效。区块链钱包软件存在的主要作用就是为用户提供了一个界面友好的私钥容器、密钥治理系统及生意署名署理工具,确保用户能够在不具备治理私钥及区块链生意广播工具能力的基础上,能够便捷的与区块链网络举行交互。

从钱包是否与互联网存在直接毗邻举行分类,区块链钱包划分为1)冷钱包;2)热钱包。

从钱包运行平台举行分类,钱包可以划分为1)PC主机钱包;2)浏览器插件钱包;3)移着手机端钱包;4)硬件钱包;5)网页钱包等。

优先选择从官方渠道分发的区块链钱包软件。以浏览器插件钱包为例,用户可以从官方网站,浏览器应用商铺,插件钱包官方Github客栈等渠道下载并安装浏览器插件钱包。在一样平常使用历程中,需要定期更新区块链钱包、底层操作系统、浏览器并保持其版本总是处于最新状态,以此来珍爱用户持有的数字资产平安。

在使用区块链钱包软件时,用户应设置强解锁口令以阻止遭受口令爆破攻击。在脱离电脑前,应自动锁定屏幕和钱包,以阻止遭遇因电脑钱包处于未锁定状态导致数字资产被滥用。Metamask钱包提供的自动锁定准时功效如下所示。

5分钟后钱包自动锁定

用户应当优先选择官方渠道购置的硬件钱包。待收到钱包后,需要接见硬件钱包官方网站对钱包完整性及固件版本举行验证,以阻止遭受供应链攻击。针对硬件钱包实行的攻击层出不穷:在使用硬件钱包署名生意时,用户需查看待署名生意的完整内容,并对生意正当性举行认证,阻止举行盲署名,以阻止遭受非法生意署名攻击进而丢失数字资产。

用户在收到硬件钱包并确立区块链账户时,应当多次执行确立钱包天生助记词功效。通过纪录硬件钱包天生的助记词与之及对应取得区块链钱包地址,比对差异确立钱包操作所天生的助记词差异,确保硬件钱包天生私钥所使用的随机数种子足够平安,确立钱包操作所天生的私钥足够随机。

盲署名 又名 Blind Signing 起源于一个问题:若是给我们提供了一份内容完全密封的条约,只留下署名页可见,你会愿意签署这份条约吗?我的谜底是否认的:不会签署这份条约,阻止签署对自己晦气的条约内容。

在区块链环境中,应用硬件钱包与智能合约举行交互与 Blind Signing 很像,由于签署智能合约交互生意时,用户无法通过硬件钱包获取智能合约的底层行为逻辑。Ledger的屏幕是异常小的,无法向用户与智能合约交互生意的全貌。用户若 enable Blind Signing 时,就代表其已经接受只管 Ledger 无法向用户展示智能合约全貌的条件下,任然行使 Ledger 批准与智能合约举行交互的生意:此时,用户已经赞成信托其发送的生意,而不是选择对生意正当性及行为举行校验。

更多关于 Blind Signing 的资料可参考如下链接:

1.4 可信RPC节点

以太坊中着名的RPC节点服务主要包罗Infura、Alchemy、Moralis等,BSC链的RPC节点服务商主要由BSC链官方提供。

近年来受到关注的新公链解决方案如Polygon、Optimism、Avalanche及Fantom的RPC节点服务主要由Ankr提供,区块链用户在使用特定公链时,需要通过在钱包内添加RPC节点地址链接的方式与对应的区块链RPC节点确立毗邻,以便通过RPC远程挪用的方式实现与区块链的通讯及交互。RPC节点的作用是主要的,若是没有RPC节点,用户小我私人将难以接入区块链网络。

下图给出了 Conflux eSpace 区块链网络对外公然的 RPC 节点信息,通过钱包毗邻RPC节点,在用户提议转账和智能合约交互时,由RPC署理将生意打包发送至区块链网络,最终使生意以区块形式进上链。

用户应当选择平安性经由验证的RPC节点服务商,以保障其钱包数据泉源的可靠性及与区块链网络交互的稳固性。恶意的RPC节点提供商可能会恶意显示不准确的区块链状态并记任命户的链上流动数据,严重危害用户数据平安。

1.5 DM及邮件平安

部门攻击者会通过使用社交网络私信或发送电子邮件等方式向目的用户提议攻击,通过全心设计钓鱼场景的方式使受害者确信:只要根据攻击者指示举行操作(接见特定站点、与特定智能合约举行交互或将助记词导入至区块链钱包),即可获得奖励:当受害者选择信托攻击者时,其已进入了由攻击者全心组织的钓鱼诈骗陷阱。由于区块链生意具有不能改动和不能逆的特征:大量区块链钓鱼攻击受害者在发现资产由于自身疏忽而被转移至攻击者持有的区块链账户后,丢失的资产早已无法挽回。

下图给出了一封以偷取区块链数字资产为目的的钓鱼邮件:用户需要在特定停止日期(DDL)前在平台处挂号区块链钱包,否则就冻结(威胁)账户。在收到这类电子邮件时,不点击邮件或私信中包罗的任何超链接信息或按钮,待与官方核实确认邮件内容正当性后,再对邮件举行处置。

钓鱼邮件

设置防钓鱼码能够在一定水平解决钓鱼邮件的问题,下图给出了premint平台提供的防钓鱼码功效:

1.6 开发环境平安

开发者在开发DAPP应用时所使用的环境即为开发环境,珍爱开发环境平安,是珍爱应用开发者及DAPP应用使用者资产平安的主要条件。DAPP应用是基于区块链网络交互框架开发的(如ethers,web3.js等),为了利便用户使用DAPP,开发者通常需使用基于JavaScript剧本开发的前端框架react或vue构建DAPP应用前端,便于用户直接行使前端UI直接与智能合约举行交互。前端开发框架有助于DAPP开发团队便捷的开发支持DAPP应用运行和使用的前端系统。

选取经由市场验证的SDK能够在一定水平上确保资产平安。

1.7 搜索引擎平安

完全信托搜索引擎效果,是钓鱼攻击乐成实行的缘故原由之一

搜索引擎,是一种根据特定战略、运用特定盘算机程序从互联网上采集信息,在对信息举行整理和归纳后,对外向用户所提供的一种检索及效果展示系统,是辅助用户查找特定资料及信息的有力支持工具。

在区块链环境中,用户需接见DAPP官方网站时,通常也会将搜索引擎的检索效果作为参考之一,这给了攻击者可乘之机。攻击者可以通过仿冒着名的DAPP平台界面UI,并对仿冒站点举行SEO优化,使仿冒站点泛起在搜索引擎效果的第一位或靠前位置。出于对搜索引擎效果的信托,最终导致用户持有的数字资产丢失。仿冒DAPP通过SOE优化进入搜索引擎效果靠前位置的案例。只管 Google已将其符号为Ad,但由于其效果泛起在搜索效果第一位,仍然有部门用户中招。

SOE优化使钓鱼站点泛起在搜索效果

被仿冒的DAPP应用为x2y2这一 NFT生意平台,其官方链接为x2y2.io,而仿冒站点链接为x2y2market.com。黑客通常会选取与被仿冒DAPP相近或相关的域名以到达诱骗并偷取用户数字资产的目的。

1.8 生意署名平安

在最先这一内容前,我们需要明确一个看法,什么是生意?什么是署名?什么时刻会署名,在区块链中的生意有以下几类。

所有生意在上链之前,都需要使用生意提议人对生意Hash举行署名,在生意上链的历程中,通过对署名效果认证的方式验证生意正当性,正当的生意打包上链的这一刻生意行为将生效:不管是转账的ETH照样转移的NFT都市进入目的地址中。

此外,另有另外一种署名,好比登录mirror时需要署名来验证用户掌握毗邻mirror的区块链账户。

确保生意署名平安的重点是:1)确保用户在确认生意时所看到的待署名内容是符适用户预期的;2)确保用户署名的生意发送后,区块链能够根据用户对生意的预期执行。用户所见即所签,所签即所行。确保经用户署名的生意被发送后,执行效果是符适用户预期的是保障署名平安的主要指导目的。

在窃取用户私钥无果的条件下:部门黑客打起了盗用署名数据的歪心思:通过诱导用户对不平安的生意数据举行署名:诱导用户接见钓鱼页面并在钓鱼页面中将存在偷取资产操作的生意行使keccak256天生待署名数据推送至用户,若用户因疏忽举行了署名操作,则黑客即获取到能够向区块链节点证实生意正当性的署名数据。此时,黑客只需要将署名数据和组织的生意广播至区块链网络,即可实现滥用受害者账户数字资产的目的(通常为偷取NFT)。

下图给出了一个不平安的待署名请求,提议该请求的站点为钓鱼站点 https://thejewsnfts.xyz,在后文我们还将对其通过仿冒推特账户实行攻击的方式举行论述。

不平安的待署名数据

在站点向用户提议署名请求时,用户需要对站点和待署名数据的正当性举行认证,经确认无误后再执行署名操作,确保署名操作执行的链上行为符适用户预期。在遇到待署名新闻为纯16进制不能读数据时,用户应坚持拒绝署名。

下图给出了一个相对平安的待署名新闻,用户通过署名该新闻实现使用区块链钱包账户登录进入Web3系统的目的:

登录cryptonatty系统所使用的署名数据 

1.9 区块链浏览器

区块链浏览器为用户提供一个界面友好的查询区块链链上数据的接口。以太坊区块链浏览器Etherscan为用户提供了链上生意数据查询,资产转移信息查询,智能合约代码查询,智能合约交互,区块数据查询,地址资产剖析、运算服务用度估算、区块链域名剖析等功效,行使这些功效,

用户可以快速的获取账户的余额信息;对智能合约代码举行平安审计,实时查询链上生意用度等。一笔以太坊生意主要包罗以下信息:生意hash,生意状态,生意区块号,生意时间戳,生意提交账户,生意吸收账户,生意发送金额(案例中为0.1Eth),为完成生意所支付的生意用度及生意的单元燃料用度成本等。在使用区块链浏览器查询生意数据及生意详情时,应优先选择由区块链官方开发或推荐的区块链浏览器,通过检查目的合约的生意平安与否规避潜在的钓鱼或基于合约的授权攻击。

以太坊生意样例

区块链浏览器是辅助区块链使用者验证生意是否乐成的一项主要工具:用户A声称其通过区块链网络向用户B转账了1ETH,生意验证者可要求用户A分享生意Hash并使用区块链浏览器搜索检查生意信息中的生意吸收账户是否为B,同时检查生意发送金额字段是否为1ETH来验证生意执行情形。此外,生意验证者还可以通过区块链浏览器直接检查用户B钱包地址余额更改情形,以验证B地址余额是否已增添1ETH。

区块链浏览器还提供了智能合约开源展示的功效,便于用户在与智能合约交互前对代码平安性举行审查。用户应当掌握检查智能合约是否已处于开源验证状态的方式。用户应当优先选择与已完成智能合约代码开源验证的处置的智能合约举行交互。用户应通过区块链浏览器,对智能合约代码平安性举行审计,在确保代码不存在权限滥用或恶意使用用户数字资产的行为后,再与合约举行交互。已完成智能合约代码开源验证处置的智能合约在区块链浏览器中的展示信息如下所示:

完成合约认证的智能合约代码

2.区块链诈骗攻击案例总结 

在这一章节,我们将重点先容黑客以偷取区块链数字资产为目的,通过组织钓鱼场景的方式在不需要掌握用户私钥的条件下偷取数字资产,通过剖析这类攻击的特征,根据1-1对应的方式,给出防护方案。例如2.1.1中给出了DM类仿冒攻击后马上即先容针对DM类钓鱼攻击的平安建议及防护方案。诈骗攻击的发生缘故原由也就呼之欲出:既然用户在起劲珍爱自己的私钥,也知道私钥很主要,那我就用一个更合理的设施让用户亲自把数字资产送给我。

区块链诈骗攻击头脑导图

2.1 仿冒类攻击

2.1.1 DM类钓鱼攻击先容

行使社交平台向用户提议私聊实行钓鱼攻击,是一种相对简朴且易于实行的攻击:通过全心组织的诈骗场景诱导用户向特定区块链地址转账或接见钓鱼页面。

用户介入某抽奖流动并中奖,奖品是免费向用户赠予的,但用户需要向特定钱包转账0.02ETH作为gas费,对方再将中奖奖品转发给中奖用户。

下图给出了攻击者行使社交平台向用户提议私聊并实行钓鱼攻击的案例截图

钓鱼场景搭建:中奖

DM类钓鱼攻击剖析及平安建议

黑客希望通过利益冲昏被钓鱼者的头脑,在使用区块链时,应当坚信没有免费的午餐。

Ledger硬件钱包在其平安使用建议中专门指出:不要与在Discord、Twitter或任何其他社交平台上给你发送私人信息的人举行互动及交互,在Web3环境中,任何人都没有理由直接通过社交联系用户,并向其发送信息。

在使用 Discord 及 Twitter时,可以选择关闭DM选项或不查看推特的私信请求,眼不见为净。

2.1.2 账号仿冒类攻击先容

通过仿冒社交账号的方式实行钓鱼攻击:将社交账号名称,头像,先容等信息设置为与被仿冒社交账号相近的内容,并通过社交网络释放钓鱼链接的方式实行钓鱼攻击。在区块链环境中,着名的DAPP项目方通常会遭受社交账号仿冒类攻击,严重威胁到用户持有的数字资产平安。

下图给出了一个正版社交账号:

正版账号

下图给出了仿冒账号通过社交网络释放的钓鱼站点链接

仿冒账号

账号仿冒类攻击剖析平安建议

通过比对剖析能够发现仿冒攻击乐成实行需要知足以下要点:

  • 相似的推特用户名:为了以假乱真,攻击者还专门根据正版账户的推特用户名设置规则举行了仿冒,仿冒账户为@TheJewsETH,正版账户为@TheJewsNFT;

  • 相似的推特昵称:仿冒账户的昵称与正版昵称相比仅多了“FREE MINT ALIVE”,示意用户NFT铸造流动正在举行中,行使用户急切介入流动的心理诱导其接见仿冒账户通过社交网络分发钓鱼站点执行铸造NFT操作;

  • 足够真切的钓鱼站点:钓鱼站点现实并没有提供铸造NFT的功效,而是通过钓鱼诱导用户将其账户持有的高价值NFT使用权授权给攻击者持有的区块链钱包账户。若用户接见钓鱼站点并授权生意,则其授权资产将被攻击者掌握;

  • 获得授权后,攻击者可直接挪用NFT对应合约中的SafeTransferFrom方式,将资产转移。

针对该攻击,主要有以下平安建议:

  • 认准准确的社交账号,需要时通过社交平台搜索举行对比;

  • 通过可信的站点关注DAPP应用社交账号,例如通过premint流动关注的NFT项目方账号是相对平安的;

  • 接见钓鱼站点并不能怕,恐怖的是随意确认钓鱼站点处提议的区块链生意;

  • 记着正版推特账号的注册时间等不易被仿冒的信息。

  • 查看账户下的回复数及回复信息质量,部门仿冒账号为了阻止用户在其下骂街会直接关闭回复功效,或设置只允许特定用户回复。

2.1.3 域名仿冒类攻击先容

域名仿冒类攻击实行通常需要知足一定的先验条件:

  • 攻击者持有相似的域名

  • 攻击者行使持有的域名部署了类似的DAPP服务;

  • 攻击者部署的服务能够以假乱真,使接见者误以为其接见的是官方网站;

  • 被仿冒站点在近期举行了需要使用区块链钱包举行交互的流动等。

在2022年7月13日左右,由明星代言的Theirsverse NFT项目就遭遇了域名仿冒攻击,攻击者仿造正版域名“theirsverse.com”注册了仿冒的域名“theirverse.com”,为了使接见到仿冒站点的用户加倍确信其接见的是官方网站,攻击者举行了如下事情使其站点看起来加倍真实:

  • 复制了部署在“theirsverse.com”域名的前端界面并部署到仿冒域名DNS指向的Web服务器处;

  • 通过重构代码的方式对前端逻辑举行了修改及调整,添加诱导用户通过区块链钱包举行approve代币授权操作,并在获得用户授权后直接偷取用户数字资产的逻辑。

经链上数据剖析发现了一名遭遇仿冒域名钓鱼攻击的受害者:其损失的数字资产跨越1.3w美金。这名受害者的遭遇为许多区块链用户提供了主要的警示作用。Theirsverse项目刊行的NFT在7月13日左右正在举行铸造NFT的流动,用户可以支付0.15ETH并mint一个Theirsverse NFT。

受害历程如下:

1)受害者为了实时介入到抢购流动,在开车时实验使用手机钱包接见项目官方网站;

2)由于受害者没有记着项目方提供的官方网站域名,在输入域名时错将正版域名输入为仿冒域名,由于此时受害人正在开车,并没有注重到域名的差异;

3)攻击者专门在仿冒域名处部署一套完全克隆了官方网站的代码,使受害人确信其接见的站点为项目官方站点;

4)仿冒网站与官方网站相差无异,此时受害者已进入攻击者所部署的钓鱼陷阱,在没有毗邻区块链钱包并举行生意授权时,此时其数字资产仍然是平安的;

5)受害者使用区块链钱包毗邻仿冒网站,仿冒站点已具备查看受害者钱包地址信息的权限,用户持有的数字资产及价值已被攻击者获取;

6)此时仿冒站点最先频仍向用户提议授权请求;

7)受害者误以为自己正在接见Theirsverse官方网站,且与区块链交互所需支付的gas费极低,误以为钓鱼站点发出的生意请求是兑换Theirsverse NFT的生意,因此点击了确认按钮。

8)受害者点击了3次生意确认按钮,将钱包中持有的WETH及gOHM代币以及某着名NFT的spend权限(至少可以转移)授予至攻击者控制的区块链合约地址,此时攻击者已具备转账其WETH、gOHM这两种ERC20代币权限。

9)仿冒站点仍然连续弹出生意确认请求,此时受害者觉察异常,最先拒绝该网站提议的任何生意请求,才没有造成更严重的损失。

10)在获得转账权限后攻击者通过运行自动化剧本马上将用户持有的WETH、gOHM代币转移至其小我私人钱包地址,链上数据剖析工具debank提供的受害者账户资产被偷取的历史纪录如下图所示:

受害者被钓鱼后授权了攻击者地址具备spend其WETH及gOHM代币的权限

域名仿冒类攻击剖析及平安建议

通过比对剖析能够发现域名仿冒攻击乐成实行需要知足以下要点:

  • 受害者对站点的真实域名不够熟悉;

  • 攻击者持有的域名与真实域名极端相似;

  • 在仿冒域名DNS指向的服务器处部署了与真实域名相似的服务,使接见者误以为接见的是项目官方网站。

针对该攻击,主要有以下平安建议:

  • 认准准确的域名,需要时可向其他用户举行求证;

  • 使用linktr及link3这类域名聚合服务接见项目官方站点;

  • 通过合约介入mint,但部门白名单项目需要提供hex proof,需要一定的前端调试基础。

  • 安装Revoke.cash插件,能够辅助用户检测资产的授权行为并发出告警。如下图所示:

revoke.cash

  • 存在钓鱼行为的域名,通常会向用户频仍地弹出生意请求:好比你拒绝了第一个弹出的生意请求,他马上会弹第二个,再拒绝再弹,会显得稀奇嘈杂,以是不放心的时刻可以多拒绝几回站点提议的生意看站点行为。一个不希望偷取用户资产的页面按原理是不会频仍地给用户自转动出生意请求的。

通过申请相近的域名,克隆目的网站的代码逻辑并修改其中与区块链交互的逻辑,使攻击者能够从钓鱼攻击中赚钱。

2.1.4 站点仿冒类攻击先容

通过仿冒站点通常会提议两类钓鱼生意:

  • 诱导用户转账特定数目ETH到攻击者账户;肉包子打狗有去无回

  • 诱导用户授予攻击者账户使用其ERC20及ERC721等代币的spend权限等。如诱导用户挪用SetApprovalForAll方式将持有的NFT授权至攻击者账户,获得授权后马上转移资产。

下图为仿冒站点,与正版站点页面样式相差无二

,

以太坊高度

,

三公大吃小玩法规则教程www.eth108.vip)(三公大吃小)是用以太坊区块高度哈希值开奖的棋牌游戏,有别于传统三公开船(三公大吃小)棋牌游戏,三公开船(三公大吃小)绝对公平,结果绝对无法预测。三公开船(三公大吃小)由玩家PK,平台不参与。

,

www.326681.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。

,

仿冒站点完全复制了官方站点的界面

站点仿冒类攻击剖析及防护方案

通过比对剖析能够发现站点仿冒攻击乐成实行需要知足以下要点:

  • 使接见者误以为接见的是项目官方网站。

  • 考察接见目的站点的时间,着名的项目方通常会设置负载平衡或CDN,加载速率较快;仿冒站点通常只会部署在单服务器节点,接见速率得不到保障。

针对该攻击,主要有以下平安建议:

  • 使用linktr及link3这类域名聚合服务接见项目官方站点;

  • 安装Revoke.cash插件,能够辅助用户检测资产的授权行为并发出告警

2.1.5 钱包仿冒类攻击先容

区块链钱包是用户接入及区块链网络的主要方式:若是攻击者能够诱导用户下载并启用仿冒钱包,并实验使用助记词恢复自己已有的区块链钱包,那么攻击者就有时机在用户不知情且无需提议区块链链上生意的情形下通过网络传输的方式自动窃取用户输入到仿冒钱包内的助记词或私钥,进而掌握用户的数字资产。

大部门区块链钱包都市举行代码开源以供用户审计,这也为攻击者举行应用仿冒提供了一定的基础条件。通过下载开源代码的方式可以快速地构建一套带有盗用用户助记词逻辑的仿冒钱包:在不提供完整的钱包功效的情形下仅保留助记词导入、将用户输入的助记词外发至攻击者所控制服务器的功效。仿冒钱包偷取助记词进而偷取用户数字资产攻击的特点是:在资产被盗时,用户无法准确简直定资产丢失缘故原由。

钱包仿冒类攻击剖析及防护方案

与站点仿冒攻击类似:仿冒钱包拥有正版钱包相似的界面,但存在外发助记词或私钥等恶意行为。相似的界面是钱包仿冒类攻击乐成实行的主要缘故原由。

针对该攻击,主要有以下平安建议:

  • 从官方站点或Github官方release客栈处下载钱包;

  • 选择着名及经由市场验证认可的钱包;

  • 在实验导入助记词前,多与钱包内功效举行交互。部门仿冒钱包为了省事,只会在复制UI的条件下仅编写导入助记词的逻辑及处置函数,其他的功效一律不写,假设用户点击确立钱包按钮,会提醒错误或界面没有任何反映,这时就要最先有所嫌疑;

  • 每次安装一个新钱包,都天生一套新的助记词,不导入老钱包,会相对平安。

2.2 合约交互类攻击

2.2.1 合约授权类攻击先容

在以太坊中,区块链用户可以持有相符ERC20、ERC721及ERC1155尺度的代币。

上述代币既可以通过转账操作由用户自动转移至其他账户,也可以通过授权操作授予特定地址使用或转移代币的权限。相关ERC尺度中引入的授权方式如下所示:

  • ERC20:approve方式(授权特定地址,具备使用特定数目代币权限)

  • ERC721:approve方式(授权特定地址,具备使用特定tokenID的代币权限,好比一个用户持有100个inkepass,希望在opensea上卖其中编号为1的inkepass,只需要挪用inkepass合约的approve,将编号为1的inkepass授权opensea的seaport合约,即可允许在opensea使用其编号为1的inkepass。然则opensea现在默认要走setApprovalForAll方式,以是纵然approve了特定编号的NFT也没法卖)

  • ERC721:setApprovalForAll方式(将当前NFT使用权授予某个地址,好比一个用户持有100个inkepass,希望在opensea上卖,只需要挪用inkepass合约的setApprovalForAll,授权opensea的seaport合约,即可在opensea上挂售其所有的inkepass)

  • ERC1155:setApprovalForAll方式(将特定NFT使用权授予某个地址)

授权操作在ERC20,ERC721及ERC1155尺度中是正当的,然则在尺度设立时没有思量权限滥用问题:若用户将其持有的代币使用权限授予黑客所控制的区块链地址,那么用户所有资产将面临被黑客滥用及偷取的风险。

合约授权类攻击剖析及平安建议

下图为受害者账户授权gOHM代币给攻击者账户的生意纪录:

授权操作

通过剖析链上纪录剖析,受害者0118.eth在攻击者诱导下,挪用gOHM Token智能合约中的approve方式,将gOHM代币的使用权限授予至攻击者控制的智能合约账户:0xA31573be292BD03d36DB137B6C2AB6eAA3d5e572,授权其转移的代币数目是8.8058个(精度为18位)。随后攻击者行使其控制的智能合约账户,将受害者账户中的资产所有转移至0xc1a7575开头的攻击者账户。

将受害者的gOHM代币所有转移

针对该攻击,主要有以下平安建议:

  • 存在钓鱼行为的域名,通常会向用户频仍地弹出生意请求:好比你拒绝了第一个弹出的生意请求,他马上会弹第二个,再拒绝再弹,会显得稀奇嘈杂,以是不放心的时刻可以多拒绝几回站点提议的生意看站点行为。一个不希望偷取用户资产的页面按原理是不会频仍地给用户自转动出生意请求的。

  • 使用Rabby这类带有授权检查的钱包,在举行敏感操作时会对用户举行显著的提醒。

  • SetApprovalForAll方式的函数选择器值为0xa22cb465,在看到与生意交互数据前几位为0xa22cb465,一定要郑重确认目的合约平安性,生意提议站点的可信度等。

  • 安装Revoke.cash插件,能够辅助用户检测资产的授权行为并发出告警,好比下图的ERC20代币授权操作即被检查出

ERC20代币授权告警

  • 授权NFT操作时仔细考察一下Metamask弹出的生意详情,下图给出了用户在希望卖出Boki NFT 的时刻,需要授权opensea合约的操作,重点需要关注权限请求字段“http://opensea.io may access and spend this asset”,一定要确保这个https开头的站点域名用户是信托的,而若是在钓鱼站点弹出的权限请求字段会是这样“钓鱼站点域名 may access and spend this asset”,若是发现其中域名你无法信托时,一定要拒绝生意。需要时还可点击“您正在允许以下条约接见您的资金”中的合约,去区块链浏览器查询下目的地址的行为及操作,若是有恶意行为(例如频仍转移用户资产)就拒绝,若是是私人地址而不是合约地址一定要拒绝。

ERC721授权接口

  • 授权ERC20代币时同样需要考察生意详情,下图给出了授权https://app.primex.finance使用用户持有的WETH的生意请求,一定要确保这个https开头的站点域名用户是信托的,而若是在钓鱼站点弹出的权限请求字段会是这样“钓鱼站点域名 可以接见并使用此最大数额”,若是发现其中域名你无法信托时,一定要拒绝生意。需要时还可点击“您正在允许以下条约接见您的资金”中的合约(红框圈出了),去区块链浏览器查询下目的地址的行为及操作,若是有恶意行为(例如频仍转移用户资产)就拒绝,若是是私人地址而不是合约地址一定要拒绝。

授权合约使用用户持有的ERC20代币

2.2.2 钓鱼站点提议的不平安合约署名攻击

这一节内容异常主要,攻击者瞄准的目的是用户已授权给Opensea合约Seaport的NFT,如下图所示,已完成步骤1的这类NFT:

授权

用户可以在Etherscan上查看其授权给Seaport合约的NFT,这类NFT都是攻击者希望窃取的目的:

看到了吗,就是下面这些NFT是攻击者的目的,由于这些NFT用户已经授权Opensea使用了,随时可以通过上图Confirm listing操作,只要一个署名就可以举行挂售及调低挂售金额:

已授权给OpenSea的NFT都是攻击目的

钓鱼站点提议的不平安署名攻击先容

黑客还可以凭证开源合约代码组织正当署名数据,并诱导用户举行签署,使攻击者通过署名赚钱,这一攻击造成的结果是严重的:攻击者能够以极低的价钱购置受害者持有的NFT。这一攻击的基本实行流程如下:

有的攻击者会接纳空投NFT的方式实行攻击,也有的会直接分发钓鱼站点,并在页面部署一个吸引用户点击的按钮(如mint按钮),用户点击,署名就会中招。

以下游程展示了攻击者以Opensea为目的平台,对用户举行钓鱼的方案:

  • 攻击者向受害者地址空投小图片 NFT

  • 攻击者对空投的 NFT 提议一个高额出价(通常高于 1 WETH)

  • 用户选择接受攻击者的出价,然而 Opensea 上授权失败(缘故原由是该 NFT 的合约只允许特定地址执行授权,例如 onlyOwner 修饰符)

  • 用户前往“NFT项目官网”查询缘故原由(此“官网”往往会在 Opensea 上该 NFT 页面上显示),“官网”首先对毗邻的钱包地址搜索所有用户授权允许 Opensea 使用(售卖)的 NFT

  • “官网”部署了种种坑,好比 Free mint 按钮,好比 Stake 按钮等等等等,都是为了指导用户署名,该署名数据是凭证 Opensea 挂售 NFT 的署名逻辑(已开源)组织的(接受并验证用户署名的合约为 Opensea 官方的 SeaPort 智能合约,然而署名请求是通过钓鱼站点向用户提议的,待署名数据由攻击者组织并向用户提供)

  • 一旦用户执行署名操作,前面搜索出来的其持有的 NFT 将以0 ETH 的价钱在 Opensea 挂单售卖

  • 攻击者部署的剧本会自动抢购用户的以极低价钱挂售的 NFT;

  • 此时用户 NFT 资产已经没了。

钓鱼站点提议的不平安署名攻击剖析及平安建议

SeaPort为Opensea官方生意所使用的智能合约,但提议署名请求的narotunft.com为攻击者钓鱼站点:钓鱼站点提供的待署名数据对攻击者有益,通过将署名数据中的售卖价钱设置为1(单元不是1ETH而是1ether,相当于险些不花钱就可以买走用户挂单的NFT),诱导用户签署(签署后,对应的NFT将以低价挂售)最终赚钱。用户在实行署名操作时没有看待署名数据泉源(钓鱼站点)及数据内容正当性举行认证是攻击乐成实行的主要缘故原由。

不平安的挂单署名

针对该攻击,主要有以下平安建议:

  • 安装revoke.cash,在钓鱼站点提议不平安挂单请求时,会提醒用户注重。可以看到由于实验账户中的boki没有授权给Opensea,以是不会泛起在告警提醒中。

  • 在站点向用户提议署名请求时,用户需要对站点和待署名数据的正当性举行认证,经确认无误后再执行署名操作,确保署名操作执行的链上行为符适用户预期。在遇到待署名新闻为纯16进制不能读数据时,用户应坚持拒绝署名。

2.3 远控类攻击

2.3.1 木马程序攻击案例

通过诱导用户执行存在恶意行为的可执行程序,远程控制用户电脑,若用户电脑中存在数字资产,则直接转移是黑客通过钓鱼远控实行攻击的特点。

远控类攻击主要分为两种类型:1)恶意程序攻击;2)远控软件口令破解类攻击。

  • 在第一类攻击中,攻击者主要通过社交网络分发恶意代码并诱导用户点击到达控制用户主机的目的。若是用户电脑中有Metamask且未锁准时,直接转走资产;若是锁定,可以通过键盘钩子窃取用户键入的解锁口令,行使该口令破解私钥。

  • 第二类攻击主要行使了部门远控软件在引入平安特征时引入的懦弱点:破解会话口令即可控制受控主机。在区块链场景下,部门用户为使用区块链需要自行运行RPC节点,为利便随时掌握节点运行情形需要设置远控工具以便实时查看受控主机状态,更新设置文件。大部门用户所设置的会话控制口令为弱口令,远控工具默认提供的会话口令也易于被攻击者破解。当会话口令被破解,攻击者将直接接受受控主机的控制权限,偷取区块链数字资产。

前段时间BoxMrChen就遭遇了这类攻击

钓鱼可执行程序类攻击剖析及平安建议

运行不平安的exe程序,剧本,设置较弱的解锁口令是上述攻击实行的主要缘故原由。

针对上述攻击提供的平安建议如下

  • 善用沙箱及虚拟机,从随便用户处接受的文件,不要直接打开,用沙箱考察一下有没有提议远程毗邻(IP毗邻,如下图):

远控工具存在毗邻远程主机185.106.92.91的行为

  • metamask设置强解锁口令,这个口令是介入加密钱包私钥的,若是太弱的口令被黑客推测并破解后,用户的私钥也是不平安的。

  • 不要随便拿Windows电脑运行exe文件,或解压缩zip文件并马上运行其中的可执行程序。

  • 主要资产存在硬件钱包内。

  • 优先使用Mac作为主机。

  • 安装杀软及防火墙

2.3.2 0day攻击

通常是尚未披露的应用类破绽,攻击者行使这类破绽通常能够实现远程溢出,并执行随便下令实现控制用户电脑。在控制用户电脑后查询内陆安装钱包的信息,并实验举行资产转移。

0day攻击剖析及平安建议

  • 实时更新系统版本

  • 实时更新浏览器插件版本

  • 钱包设置强解锁口令

2.4 私钥扫描攻击

部脱离发者在开发代码时,由于缺乏平安意识,直接将其持有的钱包私钥以明文形式存储至所开发的应用代码中,攻击者可直接行使Github等开源平台的API编写自动扫描剧本,在匹配并获取私钥后快速检测目的账户中持有的数字资产并转移。

针对该攻击,主要有以下平安建议:

  • 善用.gitignore文件,并将私钥设置信息放入.env文件内,阻止被推送至Github,下图给出了使用hardhat天生DAPP项目时默认的。gitignore文件

  • 为项目开发专门注册一个新钱包,好比我可以使用Metamask举行链上交互,开发钱包可以使用Rabby Wallet,使开发账户与一样平常使用区块链的账户举行助记词级其余隔离。把rabby Wallet内的钱包私钥导入到Metamask也能很利便的举行开发,纵然私钥丢失,丢失的也是开发账户的资产。

  • 不往开发账户内充值任何主网资产,只存测试网资产。

2.5 供应链攻击

区块链中的供应链攻击主要包罗以下几类:

  • 开发环境供应链攻击,代码投毒

  • 硬件钱包供应链攻击:快递替换,固件改动

  • 软件钱包供应链攻击:加入恶意代码窃取用户助记词,直接加后门等

2.5.1 开发环境供应链攻击

随着前端开发框架应用场景逐步扩张,越来越多的前端框架平安破绽被披露,在2022年7月份,着名的NFT白名单领取平台premint就遭遇了黑客攻击,黑客在premint平台的前端代码中注入恶意JS剧本以实行钓鱼攻击:通过诱骗用户签署将NFT使用权授予攻击者钱包地址的生意而实行。这一攻击所造成的结果是严重的,为抵偿用户损失,premint共向受害者赔付了跨越340ETH。

部门灰色产业行使开源代码配合供应链的攻击方式,行使担保理分发存在恶意行为的区块链开发框架,行使恶意框架黑客可直接偷取DAPP开发者的账户私钥,严重影响用户和开发者的数字资产平安。下图给出了被供应链共计污染的区块链开发框架,黑客可直接提取开发者所使用的钱包助记词并发送至黑客控制的亚马逊云服务器,对DAPP程序开发者和用户持有的数字资产平安带来严重的威胁。

窃取助记词

开发环境供应链攻击剖析及平安建议

开发者在选用区块链SDK开发套件时,需要对开发框架的合规性及平安性举行剖析,阻止使用被供应链攻击污染的SDK开发套件。通过对开发框架所包罗组件的数据完整性,软件包内容分发网络平安性举行检验,能够阻止因供应链攻击或前端框架破绽导致存在恶意行为的JS剧本注入到DAPP运行网站的现实营业逻辑中所引发代码污染风险,切实有用的保障DAPP用户持有的数字资产平安。

2.5.2 软硬件钱包供应链攻击

2022年8月4日,着名公链Solana发生大规模用户丢币事宜,大量用户声称其持有的SOL及SPL尺度代币被转移至特定的四个Solana钱包,随后Solana官方平安研究职员发现,盗币事宜与支持Solana的区块链钱包Slope相关:Slope钱包违规使用了sentry监控服务,将用户的任何行为及操作数据都市被上传至Slope官方的服务器并被纪录:在用户确立Solana钱包时,钱包对应的助记词及私钥都以明文形式上传至服务器。平安研究职员通过抓包检测到Slope钱包存在明文传输用户隐私信息行为如下:

不管该钱包是新确立的,照样用户导入的,其私钥都市被发送至Slope钱包服务器处保留

软硬件钱包供应链攻击剖析及平安建议

私钥丢失了,资产就不受用户控制了,只是缺少一个触发的偷窃动作的时间点。在Slope钱包攻击案例中:不管该钱包是新确立的,照样用户导入的,其私钥都市被发送至Slope钱包服务器处保留。

硬件钱包的供应链攻击也是一样的,半路被人换取一个一模一样的钱包,但固件已被人改动的可能性同样存在。

针对上述平安攻击给出的平安建议如下:

  • 选择着名及经由市场验证的钱包

  • 从官方渠道购置硬件钱包,阻止李鬼李逵

  • 在使用硬件钱包确立地址时,多天生几回助记词,看看助记词随机性怎么样,有一些攻击就是通过扰乱硬件钱包的随机数种子,使攻击者易于天生一样的私钥并偷取用户资产。

  • 选购带有抗供应链攻击的硬件钱包,如ledger和keystone

Ledger Live会对硬件钱包举行检测

2.6 NFT钓鱼攻击案例剖析

这应该是本文的最后一个案例,是一样平常遇到的一个很有意思的钓鱼,攻击者先通过推特分发了一个钓鱼链接,进去之后就会弹窗要连钱包,随后请求授权,简朴看了一下站点的源代码。

钓鱼站点后台设置逻辑

该站点有两种偷取用户数字资产的营业逻辑:

1)以0.02ETH的价钱销售NFT,但支付的0.02ETH会直接通过转账打入黑客账户;

2)检测已毗邻钱包内持有的NFT资产,一旦该NFT在最近7天内的最低生意价钱大于0.1ETH,即诱导用户授权攻击者账户具备转账对应NFT的权限,在授权后将NFT转移至攻击者账户并变现。

3.结语  

编写本文的缘由来自SeeDao投研工会的一次讨论,舟舟那时提出了一个在2.2.2中先容的钓鱼攻击怎么实行的问题及为何会乐成的缘故原由:正巧我最近在总结整理相关的案例,在一样平常使用中也遇到了一些通过这类方式实行的钓鱼攻击,就连系自己的明白做领会答。人人后续讨论了下,以为很有需要整理一篇相关的攻击手段及平安建议,供人人举行参考,这即是此篇文章发生的缘故原由。在这里也要稀奇谢谢SeeDao及舟舟的提议。

行使区块链网络实行钓鱼诱骗及诈骗类的攻击越来越多,各种攻击手段层出不穷。追本溯源,许多钓鱼攻击实在是通过简朴的攻击举行组合后实行的,通过行使用户着急介入流动、希望通过Web3赚取更多利润等心理向用户实行攻击。

在这篇文章中所论述的攻击案例,基本上都是我及一些Web3的深度介入用户一样平常遇到的,素材所有是自己截图及使用的,希望人人能够尊重原创。为了这篇文章的出炉,我写了两天时间,但素材的积累和整理破费了跨越2个月的时间,原本希望以另一种形式与人人碰头(可能是论文),然则发现该类文章的实践性偏强,时效性不适合在论文中揭晓。但未来我也会仍然连续的探索,用加倍通用的方式揭晓相关的内容。此文中参考他人的内容,基本都已通过外链的方式放入,也稀奇谢谢相关作者在构建加倍平安的Web3使用环境所做出的起劲。

作为一名网络平安专业的学生,我也深感幸运和责任,掌握屠龙刀法应该让我们更好的惩恶扬善,纵然没有惩恶的能力(至少我这菜鸡没有),但把已有的攻击案例总结归纳,让人人有一颗提防之心,应该能在一定水平上削减受害者的损失及受害几率。就像Nice discord钓鱼的那次,我也在群里拦住了许多接见目的站点的网友,我想一定水平上削减了他们的损失,这样人人都很开心。平安的研究和防护往往需要从一件小事做起,才气支持已经生长了多年还在连续生长的链上系统。

    查看更多

    上一篇:约搏以太坊单双博彩游戏:舞.动 燕尾蝶 叶赐伟.何天虹

    下一篇:sòng bạc trực tuyến:审视外围环境 汇丰:必要时再上调

    网友评论