天机泄露 EasyFi密钥泄漏事件分析

longlasso 热钱包 2022-03-24 07:16:09 助记词和密钥

  通付盾区块链安全团队(SharkTeam)第一时间对此事件进行了分析,并总结了安全防范手段,希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。

  通过分析发现,本次攻击仍是区块链上以窃取私钥为基础,以窃取用户资产为目的的攻击手段。

  通过检查合约发现,合约中的执行逻辑简单并没有可以利用的漏洞。因此可以判定,这是一次因用户私钥或助记词泄露从而窃取用户虚拟资产的攻击。

  在完成攻击获取到大量EASY数字资产后,该攻击者接着在Uniswap中将EASY置换为USDC。交易的记录如下图所示:

  根据整个攻击过程的分析,根本原因在于攻击者可以利用被攻击者的账户地址调用合约,窃取受害者私钥授权合约执行并向攻击者地址进行大额数字资产的转账。

  在之前《黑暗森林中的身份危机:透过Roll被攻击事件看区块链密钥保护的重要性》的分析中,SharkTeam就向大家进行了风险提示并提醒大家进一步重视密钥保护,做好自身安全防护。

  第四步:攻击合约自动执行,通过Uniswap等去中心化交易所将资产转出,防止项目方启动应急机制锁定被盗资产。

  第五步:被盗资产进一步被转移到匿名性更强的混币平台,对抗AML等安全机制。

  那么,既然攻击的起始点是私钥窃取,那我们到底应该如何才能保护好我们的私钥?这里必须要提到区块链钱包,钱包是存储账户地址和使用数字货币的工具,比如以太坊钱包存储以太坊账户地址以及账户的以太币并且可以进行交易。区块链钱包并不是传统意义上的实体的钱包,而是使用加密技术加密保存账户地址的公私钥对的工具,有了钱包密钥就可以拥有钱包中账户地址的支配权,可以支配其中的数字货币,尤其是以太坊钱包,有了密钥不仅可以支配其中的以太币,更可以支配其中的合约地址对应的智能合约。由于私钥是一长串毫无意义且毫无规律的字符,比较难以记忆,因此出现了助记词(Mnemonic)。

  私钥是由加密算法生成的一个32字节随机数,由64个十六进制的字符组成,由于私钥的字符串没有规律可循,并且可读性低难以记忆,因此当我们在使用钱包保存加密货币时,通常会使用到助记词来代替私钥。

  助记词:就是另一种形式的私钥。它通过算法将64位的私钥转换成若干个常见的英文单词,作为区块链数字钱包私钥的友好格式。助记词和私钥是等价的,可以相互转换。

  通常,助记词只会在创建新钱包的时候出现,所以在注册新钱包时,应该用安全的方式记录下这些单词,避免发生遗忘和泄露。在创建钱包时,通常用户会得到12或者是24个单词作为助记词。

  公钥和地址的生成都依赖于私钥,而私钥和助记词是互通的,所以私钥和助记词是黑客窃取的最为核心的目标。而钱包保存了账户地址及其私钥,因此,钱包也是黑客攻击的目标。而私钥通常面“钓鱼攻击”和钱包“私钥保护不当”两类安全风险。

  所谓“网络钓鱼攻击(Phishing)”,指的是攻击者伪装成可以信任的人或机构,通过电子邮件、通讯软件、社交媒体等网络工具,从而获取收件人的用户名、密码、私钥等私密信息。随着技术的发展,网络钓鱼攻击不仅可以托管各种恶意软件和勒索软件攻击,而且更糟糕的是这些攻击正在呈现不断上升的趋势。

  网络钓鱼攻击可以分为两种类型:社会工程和漏洞利用。社会工程是基于欺骗和随后受害者的错误行为,而漏洞利用则是利用漏洞以及软件架构缺陷实施攻击的专业技术。利用网络漏洞以及软件和基础架构的缺陷来实现攻击手段。此类攻击一般包含以下攻击手段:

  在此攻击中,攻击者最初会创建恶意访问点,并诱使客户端连接到运行假DNS服务器的访问点。该服务器将特定站点重定向到攻击者的网络钓鱼服务器。

  该攻击基于使用有效会话(有时也称为会话密钥)来获得对计算机系统上信息或服务的未授权访问。特别是,它用于表示对远程服务器上的用户进行身份验证的cookie盗窃。一种流行的方法是使用源路由的IP数据包。IP数据包通过B的计算机,这使得网络上B点的攻击者可以参与A和C之间的对话。攻击者可以在原始路由被禁用的情况下盲目捕获,发送命令但看不到响应来设置允许从网上其他地方访问的密码。攻击者还可以使用嗅探程序“监视” A和C之间的对话。这就是“中间人攻击”。

  当使用基于恶意软件的网络钓鱼时,恶意软件被用来在被攻击者计算机上存储凭据并将其发送给攻击者,即发送给钓鱼者。例如,可以通过带有附件doc文件的恶意垃圾邮件来传递威胁,该文档文件包含下载恶意程序的Powershell脚本,然后,恶意程序找到存储的钱包和凭据并将其发送给钓鱼者。木马AZORult和Pony Formgrabber以及bot Qbot是最常用的恶意程序。同时,网络犯罪分子还会继续使用以前针对银行的攻击工具,现在成功地使用它们来破解加密钱包,获得钱包的密码以及用户的个人账户等信息。

  通过如上的分析可以看出,虽然不同于传统互联网的账号密码体系,但区块链账户同样面临私钥被盗的风险,由于通常私钥与数字资产紧密相关,其安全风险更高。保护私钥安全,既是用户的责任也是项目方的责任。

  用户应提高私钥保护意识,对访问的网页或下载安装的钱包提高警惕,防止被钓鱼攻击。

  项目方应以用户资产安全为核心,做好热钱包、冷钱包、系统服务、智能合约等相关模块的风险评估和安全审计,确保系统本身安全。

  底层链平台可采用分组密码、环签名等技术,从区块链底层提高账户安全保护能力。

  在不断完善私钥保护等区块链安全机制的同时,在区块链项目开发和运营的各个阶段适时引入合适的安全工具和服务,为用户的数字资产和项目安全发展提供保障已成为行业共识。通付盾作为国内领先的区块链安全服务提供商,为开发者提供智能合约审计服务。

  智能合约自动化审计在通付盾云平台上为用户提供智能合约进行自动化审计服务。运用符号执行、形式化验证等智能合约分析技术,覆盖高级语言、虚拟机、区块链、业务逻辑四个层面一百多项安全风险检测项,保障智能合约安全运行。

  通付盾也为客户提供高级别的区块链安全服务,区块链安全专家团队7*24小时为智能合约提供全生命周期的安全保障,服务包括:VIP安全审计服务、VIP合规审计服务、安全事故应急响应等。

分享: