当前位置:首页>区块链

一万五千字报告教你如何抗击区块链诈骗

日期:2023-03-14

来源:玫瑰财经网

浏览:

    一万五千字报告教你如何抗击区块链诈骗

    作者:r0ckgh0st.ethCybercaf.eth

    SeeDAO IR简介:根据安全数据,今年以来记录的欺诈和安全漏洞造成的加密领域损失接近30亿美元。所有区块链行业的参与者都与《大暑》中的一样,总是受到隐私和财产损失的危险。

    虽然业界已经有部分分析区块链欺诈、安全漏洞的工作,但大部分对特定案例或背后机制的讨论还不够深入。因此,我非常高兴地带来由两位网络安全领域专家编写的万字长文——万字长文,以全面、深入地分析目前几乎所有安全风险并提供应对战略。

    本文作者:

    R0ckgh0st.eth:Yumingze,网络安全研究生,Conflux ToC成员,支持坞站和孵化web 3应用程序,Lecture Notes in Computer Science,IEEE,information nets目前正在深入参与DID框架的制定和整合。

    Cybercaf.eth:数字游民、Conflux ToC成员、SeeDAO核心贡献者、SeeDAO投资组合成员、Web 3大学核心贡献者、MetASLAY

    前言

    互联网诞生以来,攻防领域一直是研究的热点。区块链诞生后,由于用户对巨大财富效果和安全的认识不足,无数黑客在虚耗攻击。近年来,在Defi和NFT高速发展的环境下,利用区块链网络进行的钓鱼诈骗攻击越来越多,各种攻击场景和攻击方法层出不穷。

    本文的前半部分介绍了区块链安全的基本知识,重点介绍了用户在使用区块链相关应用程序时需要关注的安全因素。后半部分将整理利用区块链欺骗用户资产的常见攻击案例,分析黑客攻击手法,提出针对特定攻击手段的保护方案。

    1.区块链安全基础

    区块链安全基本思维导图

    根据柯克霍夫原则,密码系统的操作程序已经掌握,但在密钥未泄露的情况下,密码系统仍然是安全的。(约翰f肯尼迪,密码、密码、密码、密码、密码、密码、密码)在区块链环境中保护钱包私钥是保护链中数字资产的重要措施和前提。

    1.1私钥和助词的安全性

    区块链钱包软件管理的私钥通常是长度为256bit的随机字符串,为了便于显示区块链钱包工具,将256bit数据转换为长度为32字节的十六进制编码。0x40e 667191 f 4497 CC 3AB 018 CEB 524 A 32C 2F 4875 FBFB 0103322767 F 46 F5B 319244’是区块链钱包软件生成的钱包私钥。把私钥导入区块链钱包,用户就能掌握钱包内相应的数字资产。椭圆曲线密码框架允许开发者使用私钥数据轻松计算相应的公钥信息,对公钥进行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仓库等渠道下载并安装浏览器插件钱包。在日常使用过程中,必须定期更新区块链钱包、基本操作系统、浏览器,并使其版本始终保持最新,从而保护用户拥有的数字资产。

    使用区块链钱包软件时,用户必须设置解锁密码,以避免密码爆破攻击。离开电脑前,要积极锁定屏幕和钱包,防止电脑钱包未锁定的情况下数字资产被滥用。元掩码钱包提供的自动锁定计时功能如下:

    5分钟后钱包会自动锁定

    用户应优先选择从官方渠道购买的硬件钱包。收到钱包后,应访问硬件钱包官方网站,确认钱包完整性和固件版本,以防止供应链攻击。对硬件钱包的攻击不断。使用硬件钱包签署交易时,用户必须审查要签署的交易的全部内容,认证交易合法性,防止盲签名。必须防止在非法交易签名攻击中丢失数字资产。

    用户在接收硬件钱包和创建区块链帐户时,需要多次执行钱包生成助记符生成功能。记录硬件钱包生成助记符和相应的区块链钱包地址,比较钱包生成操作生成的助记符之间的差异,验证硬件钱包用于生成私钥的随机数种子是否足够安全,以及钱包生成操作生成的私钥是否足够随机。

    盲签名源于又名Blind Signing的问题。如果给我们提供一份完全密封的合同,只留下签名页面,你愿意签署这份合同吗我的回答是否认:不签这份合同,避免签对自己不利的合同内容。

    在区块链环境中应用硬件钱包类似于与智能合同交互。这是因为在签署智能合同交互交易时,用户无法通过硬件钱包获得智能合同的基本行为逻辑。Ledger的屏幕非常小,无法掌握用户和智能合同之间交互交易的全貌。如果用户启用了智能签名,这意味着即使Ledger无法向用户显示智能合同的全貌,也使用Ledger批准了与智能合同交互的事务。这时,用户同意信任自己发送的交易,而不是选择验证交易合法性和行为。

    有关混合签名的详细信息,请参阅以下链接:

    1.4可信任的RPC节点

    以太坊著名的RPC节点服务主要包括Infura、Alchemy、Moralis等,BSC链的RPC节点服务商主要由BSC链正式提供。

    近年来,Ankr主要提供了新的公共链解决方案,如Polygon、Optimism、Avalanche和Fantom,区块链用户在使用特定公共链时,需要在钱包中添加RPC节点地址可以通过RPC远程调用连接到块。RPC节点的作用很重要。如果没有RPC节点,用户可能很难访问区块链网络。

    下图显示了Conflux eSpace区块链网络向外部公开的RPC节点信息。通过钱包连接RPC节点,当用户开始转账和智能合同交互时,RPC代理将事务包发送到区块链网络,最终将事务连接到区块链。

    用户应选择安全经过验证的RPC节点服务商,以确保钱包数据源的可靠性和与区块链网络交互的稳定性。恶意RPC节点提供者会恶意显示错误的区块链状态,并在用户链上记录活动数据,从而严重损害用户数据安全。

    1.5 DM和邮件安全性

    一些攻击者通过社交网络(SNS)或发送电子邮件等方式向大象用户发起攻击,通过精心设计网络钓鱼场景,按照攻击者的指示操作(访问特定站点、与特定智能协议交互或将尼莫导入区块链钱包),可以获得奖励。当受害者选择信任攻击者时,进入了攻击者精心配置的网络钓鱼诈骗陷阱。区块链交易具有不可篡改、不可逆转的特性,因此,当大量区块链钓鱼攻击受害者发现资产因自己的疏忽转移到攻击者持有的区块链账户后,丢失的资产已经不可挽回。(约翰肯尼迪)。

    下图显示了钓鱼邮件,其目标是用户在特定截止日期(DDL)之前在平台上注册区块链钱包,或窃取冻结(威胁)账户的区块链数字资产。收到这种电子邮件时,不单击电子邮件或图书中包含的超链接信息或按钮,而是与公式一起确认邮件内容的合法性,然后处理邮件。

    钓鱼邮件

    设置反网络钓鱼代码可以在一定程度上解决网络钓鱼邮件问题。下图显示了premint平台提供的反网络钓鱼代码功能。

    1.6开发环境安全

    开发人员开发DAPP应用程序时使用的环境是开发环境,保护开发环境安全是保护应用程序开发人员和DAPP应用程序用户资产的重要前提。DAPP应用程序是基于ethers、web3.js等区块链网络交互框架开发的,开发人员通常使用基于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交易签名安全

    在开始这个内容之前,我们必须明确一个概念。什么是交易什么是签名什么时候签,区块链中的交易有以下类别:

    转帐交易:如果将1ETH转帐到另一个钱包地址。

    与智能合同交互的事务:将NFT移动到另一个钱包地址,例如调用智能合同的SafeTransferFrom方法,就像开始编写智能合同的事务一样。

    所有交易进入链前,必须使用交易发起人进行交易散列签名。在交易链过程中,通过签名结果认证来验证交易合法性,将适用合法交易一揽子链的这一瞬间交易行为。转移的Hash或转移的NFT进入大象地址。

    还有一个签名。例如,登录mirror时,需要签名以确保用户拥有与mirror相关联的区块链帐户。

    确保交易签名安全的重点是:1)确保用户确认交易时看到的签名内容符合用户的期望。2)确认用户签名的事务已发送后,区块链可以按用户对事务的预期执行。用户看到什么就签什么,签什么就签什么。确认用户签署的交易已发送后,执行结果是确保用户预期的签名安全性的重要准则。

    窃取用户私钥的情况:一些黑客有盗用签名数据的歪想法。通过引导用户签署不安全的交易数据,引导用户访问钓鱼页面,钓鱼页面上有资产盗用的交易使用keccak256生成等待签名的数据,并推送给用户。如果用户不小心进行签名操作,黑客将获得可以向区块链节点证明交易合法性的签名数据。这时黑客只要向区块链网络广播签名数据和获救的交易,就可以实现滥用受害者账户数字资产的目的(一般是窃取NFT)。

    下图显示了不安全的签名请求。发起该请求的网站是钓鱼网站https://thejewsnfts.xyz,之后还将说明如何通过复制推特账户进行攻击。

    要签名的数据不安全

    当网站向用户发起签名请求时,用户必须对网站和要签名的数据的合法性进行认证,然后执行签名操作,以确保签名操作执行的链的行为符合用户的期望。如果要签名的消息发现无法以纯十六进制读取的数据,用户必须拒绝签名。

    下图显示了用户使用区块链钱包帐户登录web 3系统而签名的相对安全的签名等待消息。

    用于登录Cryptonatty系统的签名数据

    1.9区块链浏览器

    区块链浏览器为用户友好的查询区块链中的数据提供了接口。以太坊区块链浏览器Etherscan为用户提供了链交易数据查询、资产转移信息查询、智能合同代码查询、智能合同交互、区块数据查询、地址资产分析、计算服务成本估算、区块链名称解析等功能。

    用户可以快速获取帐户的馀额信息。以太坊交易主要包括交易散列、交易状态、交易区块号码、交易时间戳、交易提交账户、交易接收账户、交易发送金额(本例为0.1 hash)、完成交易的交易费用和交易的单位燃料费用等信息。使用区块链浏览器查询交易数据和交易详细信息时,应优先选择区块链正式开发或推荐的区块链浏览器,以确认大象合同的交易安全与否,从而避免潜在的钓鱼或基于合同的授权攻击。

    以太坊交易范例

    区块链浏览器是帮助区块链用户验证交易成功与否的重要工具。用户A声称通过区块链网络向用户B转账了1ETH,事务验证者可以请求用户A共享事务散列,并使用区块链浏览器搜索确定事务信息的事务接收帐户是否为B。另外,确认“事务处理传输金额”字段为1ETH,以确认事务处理的执行。交易验证者还可以通过区块链浏览器直接检查用户B钱包地址馀额的变化,以确定B地址馀额是否增加了1ETH。

    区块链浏览器还提供了智能合同开源显示功能,使您能够在与智能合同交互之前审查代码安全性。用户必须掌握如何确认智能合同已处于开放源代码认证状态。用户应优先选择与完成智能合同代码开源验证的已处理智能合同交互。用户需要通过区块链浏览器审核智能合同代码安全性,确保代码没有滥用权限或恶意使用用户数字资产,然后与合同进行交互。智能合同代码开源验证流程完成后,智能合同将在区块链浏览器中显示如下:

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

    区块链诈骗攻击案例摘要

    本节重点介绍黑客窃取区块链数字资产,通过组织钓鱼场景,在不掌握用户私钥的情况下窃取数字资产。通过分析这些攻击的特性,以1-1对应的方式提供保护方案。例如,DM类仿冒攻击在2.1.1中提出后,将立即介绍DM类钓鱼攻击的安全建议和保护方案。诈骗攻击的原因是用户在努力保护自己的私钥,知道私钥很重要,所以我会使用更合理的方法,让用户直接将数字资产发送给我。

    区块链欺诈攻击思维导图

    2.1仿冒攻击

    2.1.1 DM钓鱼攻击简介

    利用社交平台对用户实施网络钓鱼攻击是比较简单、容易实施的攻击。就是通过组织良好的诈骗场景,引导用户转账到特定的区块链地址或访问网络钓鱼页面。

    用户参加某抽奖活动,中奖的商品免费赠送给用户,但用户必须用特定钱包将0.02ETH转账至gas费用,对方将中奖商品转发给中奖者。

    下图显示了攻击者利用社交平台向用户发起私人对话、实施钓鱼攻击的案例截图。

    钓鱼场景构建:中奖

    DM钓鱼攻击分析及安全建议

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

    Ledger硬件钱包在安全使用建议中特别指出,不要与Discord、Twitter或其他社交平台上发送个人信息的人交互或交互。在web 3环境中,任何人都没有理由直接通过社交联系用户和发送信息。

    使用Discord和Twitter时,您可以关闭DM选项,也可以选择不查看Twitter的个人信件请求。

    2.1.2账号仿冒攻击简介

    以伪造社交账号的方式实施钓鱼攻击:将社交账号名称、头像、介绍等设置为与伪造的社交账号类似的内容,通过社交网络释放钓鱼链接的方式实施钓鱼攻击。在区块链环境中,众所周知的DAPP项目方通常会受到社交账户仿冒类攻击,严重威胁用户持有的数字资产的安全性。

    下图显示了正版社交账号。

    正版账号

    下图显示了通过社交网络发布假帐户的钓鱼网站链接

    伪造账号

    账户伪造攻击分析安全建议

    通过比较分析,可以看出,要想成功实施仿冒攻击,必须满足以下几点:

    相似域名:特别注册“thejewsnfts.xyz”域名,以假混淆,正版域名为“thejewsnft.com”,xyz后缀的域名在DAPP中更常见,为假。

    类似Twitter用户名:为了虚假闹事,攻击者根据正版账号的Twitter用户名设置规则进行了伪造,伪造账号为@TheJewsETH,正版账号为@ Thejewsnft

    类似的Twitter昵称:与正版昵称相比,伪造账户的昵称较多“FREE MINT ALIVE”,表明正在进行用户NFT选角活动,利用用户急于参与活动的心理诱导访问伪造账户,通过社交网络分发钓鱼网站进行铸造NFT工作。

    逼真的钓鱼网站:钓鱼网站实际上不提供NFT铸造功能,而是通过钓鱼将用户持有自己账户的高附加值NFT使用权授予攻击者持有的区块链钱包账户。用户访问钓鱼网站并批准交易后,批准的资产即可被攻击者掌握。

    授权后,攻击者可以直接在NFT匹配协议中调用SafeTransferFrom方法来转移资产。

    对于此次攻击,主要有以下安全建议:

    确认正确的社交帐户

    一万五千字报告教你如何抗击区块链诈骗

    ,必要时通过社交平台搜索进行比较。

    通过可信站点,DAPP应用程序社交帐户(例如,通过premint活动关注的NFT项目端帐户相对安全)。

    访问钓鱼网站并不害怕。可怕的是随意确认从钓鱼网站开始的区块链交易。

    请记住正版推特账户的注册时间等不易伪造的信息。

    看一下账号下的回复数和回复信息质量,有些仿账号为了避免用户破口大骂,会关闭直接回复功能,或者设置为只允许特定用户回复。

    2.1.3域名伪流攻击简介

    域名伪流攻击的实施通常需要满足特定的先验条件。

    攻击者有相似的域名

    攻击者使用拥有的域名部署了类似的DAPP服务。

    攻击者分发的服务可能会误以为访问者访问了官方网站。

    伪造网站最近举办了需要用区块链钱包互动的活动等。

    2022年7月13日左右,明星代表的Theirsverse NFT项目遭到域名伪造攻击,攻击者在仿造正版域名“theirsverse.com”的“Theirsverse.com”上注册伪造域名“Theirsverse . 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批准到攻击者帐户,可以在获得授权后立即转移资产。

    下图是与正版网站页面风格相似的仿网站

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

    站点伪流攻击分析及保护措施

    比较分析表明,为了成功实施网站仿冒攻击,必须满足以下几点:

    把访问者误认为访问了项目官网。

    从访问大象站点的时间来看,众所周知的项目方面通常通过配置负载平衡或CDN来加快加载速度。仿冒网站通常只在单个服务器节点上构建,访问速度无法保证。

    对于此次攻击,主要有以下安全建议:

    使用域名聚合服务(如Linktr和link3)访问项目官方站点。

    安装Revoke.cash插件有助于用户检测资源的批准行为并发送警告

    2.1.5钱包仿冒攻击介绍

    区块链钱包是用户连接和连接区块链网络的重要方法。攻击者可以引导用户下载并激活仿钱包,如果试图使用助词恢复现有的区块链钱包,攻击者可以通过网络自动盗用用户输入仿钱包的助词或私钥,而无需用户知道并开始区块链交易,从而掌握用户的数字资产。

    大多数区块链钱包为了用户审计而进行代码开源,为攻击者应用仿冒产品提供了一些基本条件。下载开源代码,可以快速创建盗用用户记忆逻辑的仿钱包集。也就是说,不提供完整的钱包功能,只保留助记符导入,将用户输入的助记符发送到攻击者控制的服务器的功能。伪造钱包、窃取助词、窃取用户数字资产攻击的特点是,资产被盗时,用户无法准确确认资产损失的原因。

    钱包仿冒攻击分析及保护措施

    类似于网站仿冒攻击:仿冒钱包有类似正版钱包的界面,但有单发辅助语或私钥等恶意行为。类似的界面是钱包仿冒类攻击成功进行的重要原因。

    对于此次攻击,主要有以下安全建议:

    从官方网站或Github官方发行仓库下载钱包。

    请选择众所周知并经过市长/市场验证的钱包。

    在导入尼莫之前,请与钱包内的功能多多互动。有些仿钱包只在为了方便而复制UI的情况下编写导入助手的逻辑和处理程序,完全不使用其他功能。假设用户单击“创建钱包”按钮,将显示错误或界面没有反应的消息。这时开始产生怀疑。

    每次安装新钱包时,如果不制作一套新的助词来拿旧钱包,就比较安全。

    2.2合同交互攻击

    2.2.1合同认证攻击简介

    在以太网中,区块链用户可以持有符合ERC20、ERC721和ERC1155标准的令牌。

    上述令牌通过转移操作,用户可以主动转移到其他帐户,授权操作可以授予用户对特定地址使用或发送令牌的权限。相关ERC标准中引入的许可方法如下:

    ERC20:approve方法(接受具有特定数量令牌权限的特定地址)

    ERC721:approve方法(授予具有使用特定令牌ID的令牌权限的特定地址权限;例如,如果用户有100个inkepass,并且希望在opensea销售1号inkepass,则只需调用inkepass协议中的approve。)。但是,opensea现在默认采用setApprovalForAll方法,因此即使approve有特定编号的NFT,也不能出售。)

    ERC721:setApprovalForAll方法(现在将NFT许可证授予地址。例如,如果一个用户有100个inkepass,并且希望在opensea销售,则只需调用inkepass合同中的setApprovalForAll来批准open即可。

    ERC1155:setApprovalForAll方法(将特定NFT许可证授予地址)

    授权操作在ERC20、ERC721和ERC1155标准中是合法的,但在设置标准时不考虑滥用权限的问题。如果将用户拥有的令牌权限授予黑客控制的区块链地址,则用户的所有资产都有被黑客滥用和盗用的危险。

    合同认证攻击分析及安全建议

    下图是将gOHM令牌授予受害者账户的交易记录。

    授权操作

    通过分析链上的记录分析,受害者0118.eth由攻击者引导,从gOHM Token智能合同中调用approve方法,向攻击者控制的智能合同帐户授予gOHM令牌使用权限。0xa 31573 be 292 BD 03d 36 db 137 B6 C2 ab6 EAA 3d 5e 572:0xa 31573 be 292 BD 03d 36 db 137 B6 C2 ab6 EAA 3d 5e 572接着,攻击者利用自己控制的智能合同账户,将受害者账户中的资产全部转移到以0xc1a7575开头的攻击者账户中。

    转移所有受害者的gOHM代币

    对于此次攻击,主要有以下安全建议:

    有钓鱼行为的域名通常会经常向用户弹出交易请求。例如,如果拒绝第一个弹出的交易请求,立即拒绝第二个弹出并再次弹出,可能会特别吵。不能安心的时候,可以多次拒绝在网站上启动的交易,查看网站行为。不想窃取用户资产的页面按道理不会经常自动向用户弹出交易请求。

    使用带有权限检查的钱包(如Rabby)可以在处理敏感任务时给用户重要提示。

    SetApprovalForAll方法的函数选择器值为0xa22cb465,事务交互数据的前几分钟为0xa22cb465。必须仔细确认大象合同的安全性、交易启动站点的可靠性等。

    安装Revoke.cash插件后,用户可以检测资产的授权行为并发送警告(例如,下图中的ERC20令牌授权操作已确认)

    ERC20令牌批准警报

    在授权NFT操作时,仔细查看Metamask弹出窗口中的交易详细信息,下图显示了用户希望销售Boki NFT时需要批准opensea合同的操作,重点应放在授权请求字段“http://OpenSea .确保以此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页面上),“官网”首先搜索NFT,对于连接的钱包地址,所有用户都可以授权使用(销售)Opensea。

    官网上放置了各种坑,如Free mint按钮(如Stake按钮等)。此签名数据基于Opensea销售NFT的签名逻辑(开源)。(接受并验证用户签名的合同是Opensea官方SeaPort智能合同。

    用户进行签名工作后,先前搜索到的NFT将以0 ETH的价格出售给Opensea发票。

    攻击者部署的脚本是以用户非常低廉的价格销售的NFT自动购买。

    这时用户NFT资产已经没有了。

    钓鱼网站发起的不安全签名攻击分析及安全建议

    SeaPort是Opensea官方交易所使用的智能协议,但发起签名请求的narotunft.com是攻击者钓鱼网站。钓鱼网站提供的签名保留数据对攻击者有益。将签名数据的售价设置为1即可(单位是1ether,而不是1ETH,相当于几乎不花钱就能购买用户订单的NFT),用户在执行签名操作时不认证签名数据源(钓鱼网站)和数据内容的合法性是成功实施攻击的重要原因。

    签署不安全申报书

    对于此次攻击,主要有以下安全建议:

    安装Revoke.cash后,钓鱼站点开始不安全的索赔请求时,请提醒用户。可以看出,实验账户的boki没有被Opensea许可,因此不会出现在警告通知中。

    当网站向用户发起签名请求时,用户必须对网站和要签名的数据的合法性进行认证,然后执行签名操作,以确保签名操作执行的链的行为符合用户的期望。如果要签名的消息发现无法以纯十六进制读取的数据,用户必须拒绝签名。

    2

    一万五千字报告教你如何抗击区块链诈骗

    .3远程控制类攻击

    2.3.1特洛伊程序攻击案例

    引导用户执行有恶意行为的执行程序,远程控制用户计算机,如果用户计算机上有数字资产,直接迁移的特点是黑客通过钓鱼远程实施攻击。

    遥控类攻击主要分为两种类型:1)恶意程序攻击。2)远程控制软件解密类攻击。

    在第一类攻击中,攻击者主要通过社交网络分发恶意代码,并引导用户点击以控制用户主机。如果用户计算机上存在Metamask,并且未锁定,请直接转移资产。如果被锁定,则可以通过键盘挂钩盗用用户输入的解锁密码来解密私钥。

    第二类攻击主要利用一些远程控制软件在引入安全功能时引入的脆弱性。也就是说,解密会话密码后,可以控制管理大象主机。在区块链方案中,一些用户需要自己运行RPC节点才能使用区块链,为了便于掌握节点状态,需要配置远程控制工具,实时查看管理大象主机状态并更新配置文件。大多数用户设置的会话控制密码是弱密码,远程控制工具默认提供的会话密码也很容易被攻击者破解。会话密码被破解后,攻击者直接接管管理大象主机的控制权,窃取区块链数字资产。

    不久前,BoxMrChen遭到了这样的攻击

    钓鱼执行程序攻击分析及安全建议

    设置不安全的exe程序、脚本和弱解锁密码是实施这些攻击的主要原因。

    针对上述攻击的安全建议如下

    好好利用沙箱和虚拟机,从所有用户接受文件,不要直接打开,使用沙箱验证远程连接是否已启动(见下图)。

    远程控制工具有连接到远程主机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钓鱼的那次,我也在群里拦住了很多访问目标站点的网友,我想一定程度上减少了他们的损失,这样大家都很开心。安全的研究和防护往往需要从一件小事做起,才能支撑已经发展了多年还在持续发展的链上系统。

    点击下载

    欧易交易所金融投资欧易交易所又称欧易OKX,是世界领先的数字资产交易所,主要面向全球用户提供比特币、莱特币、以太币等数字资产的现货和衍生品交易服务,通过使用区块链技术为全球交易者提供高级金融服务。这是一款非常老牌的数字货币交易平台,平台为我们提供安全、专业的数字货币交易体验,给新手提供完整的流程引导,让你可以轻松的进行上手,同时还有客服24小时在线为你解答疑惑,为你提供最优质的的服务。

相关文章阅读

Copyright (c) 2022 玫瑰财经网 版权所有

备案号:冀ICP备17019481号

玫瑰财经网发布此信息的目的在于传播更多信息,与本站立场无关。玫瑰财经网不保证该信息(包含但不限于文字、视频、音频、数据及图表)全部或者部分内容的准确性、真实性、完整性、有效性、及时性、原创性等。
相关信息并未经过本网站证实,不对您构成任何投资建议,据此操作,风险自担。