网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > 网络渗透测试

全面梳理区块链诈骗攻击案例及防范措施(4)

不安全的待签名数据

不安全的待签名数据

  在站点向用户发起签名请求时,用户需要对站点和待签名数据的合法性进行认证,经确认无误后再执行签名操作,确保签名操作执行的链上行为符合用户预期。在遇到待签名消息为纯16进制不可读数据时,用户应坚持拒绝签名。

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

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

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

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

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

以太坊交易样例

以太坊交易样例

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

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

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

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

  在这一章节,我们将重点介绍黑客以盗取区块链数字资产为目标,通过构造钓鱼场景的方式在不需要掌握用户私钥的前提下盗取数字资产,通过分析这类攻击的特性,按照1-1对应的方式,给出防护方案。例如2.1.1中给出了DM类仿冒攻击后马上即介绍针对DM类钓鱼攻击的安全建议及防护方案。诈骗攻击的产生原因也就呼之欲出:既然用户在努力保护自己的私钥,也知道私钥很重要,那我就用一个更合理的办法让用户亲自把数字资产送给我。

(责任编辑:admin)