干货|区块链安全学习入门指南

admin 2022年3月24日23:00:32评论91 views字数 3121阅读10分24秒阅读模式

前言


当前区块链技术和应用尚处于快速发展的初级阶段,面临的安全风险种类繁多,从区块链生态应用的安全到智能合约安全共识机制安全和底层基础组件安全安全问题分布广泛且危险性高对生态体系安全审计技术架构隐私数据保护和基础设施的全局发展提出了全新的考验。


0X01

区块链安全主要涉及哪些方面?


干货|区块链安全学习入门指南

安全审计----

干货|区块链安全学习入门指南

区块链安全审计是一个系统性工作,涉及的环节有很多,不但有很多传统安全方面的工作(如云主机防护、通信安全、手机安全、APP防护、办公安全、人员安全意识 等),还有大量的区块链特色安全内容(如智能合约安全、矿池风控、交易所安防、钱包安全防护、联盟链安全、公链安全、交易风控 等)。


其中:智能合约安全、交易所安全、交易风控信息安全极为重要,同时也是安全问题、安全事件频发的地方;关注“零时科技”公众号,更多内容持续更新!


目前区块链安全审计工作主要是四方面:

1. 区块链安全测评:包括区块链底层测评、智能合约安全审计和测评、钱包安全测评、交易所安全测评和矿池安全测评。

2. 数字加密资产安全防护:包括事前的风险教育、钱包选择、环境检测,事中的私钥管控、转账管控,事后的私钥缺失找回和丢币追踪、应急响应等。

3. 安全数据可视化:包括区块链运行态势监测、运行态势检测与异常行为预警、资金流转检测与异常告警等。

4.加密货币反洗钱和违法犯罪的预警防范。

干货|区块链安全学习入门指南
干货|区块链安全学习入门指南


0X02

区块链安全审计的必要性


区块链行业是一个比较特殊的行业,最突出的特点就是涉及大量数字加密资产的管理,动辄千万上亿的资产全部存在链上,通过一个特有的私钥来确权,谁掌握了这个私钥,谁就是资产的主人。


这使得信息安全在区块链行业的重要性空前提升。可以说对于区块链行业来说,没有安全就没有一切。这不是危言耸听,随着各类安全事件的不断披露,区块链行业对信息安全的重视度也持续升温。

干货|区块链安全学习入门指南
干货|区块链安全学习入门指南


0X03

区块链安全审计和用户的关系


1. 区块链技术带来的资产数字化,使得大量数字加密资产存储在链上,不光人人都看得见,让黑客还有了摸得着的机会,在巨额资产的诱惑下,黑客的攻击动力几乎是无限的;

2. 数字加密资产变现非常容易,与传统的数据盗窃然后非常费劲的变现不同,数字加密资产可以直接通过7*24的交易所变现;

3. 数字加密资产的匿名特性使得黑客非常容易逃避追查,安全性更高。

4. 区块链技术虽然是去中心化的,但是这个行业存在大量的基础设施是中心化的,并且区块链的实现也依赖于很多传统的IT基础设施,如手机、云主机、web service等,这使得黑客可以借助原先的技术手段和工具,攻击门槛并不高。


0X04

什么是智能合约?


智能合约(英语:Smartcontract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。


随着区块链技术的发展,智能合约将会与未来生活密切相关,如今,大多数区块链都具有智能合约功能,用户可以将智能合约应用于各种情况,包括金融衍生品、保险费、合同违约、财产法、金融服务、法律程序和众筹协议、数字身份、供应链管理、数据存储等。

干货|区块链安全学习入门指南


0X05

智能合约审计是什么?


智能合约审计其实就是仔细研究代码的过程,即把合约部署到以太坊(假设此项目是运行在以太坊上的)主网络中,并对其进行错误、漏洞和风险等方面的审查,然后讨论如何改进。因为合约一旦部署不可修改、合约执行后不可逆、所有执行事务可追踪;所以智能合约审计就成为重中之重的工作。

干货|区块链安全学习入门指南


0X06

智能合约审计的必要性


1)“智能合约”是区块链项目的重要部分,合约中如果有漏洞被作恶者利用,将导致资产被盗且往往无法收回,给用户造成巨大损失。


2)由于智能合约部署后不能修改的特性,如果智能合约存在安全风险问题,将无法安全运行,需要重新修改部署,导致浪费资源,项目延期等一些列问题;所以尽量在部署上线前通过专业安全审计机构进行全面安全审计尽可能先于黑客发现安全漏洞。


3)因为智能合约的创新性和区块链项目的去中心化特性,导致很多应用开发者初心不正,在合约中加入隐藏的漏洞后门,未经安全审计很难发现安全漏洞,导致项目上线后用户投资资产被跑路。


4)智能合约之间的高耦合性导致的非预期安全问题;目前基于智能合约的去中心化应用多种多样;比如借贷、去中心化交易平台、抵押、聚合器、预言机等;很多项目直接相互调用,导致高耦合性,从而出现一些未知的安全问题,这些问题往往无法测试到,所以通过专业的安全审计团队丰富的审计经验,找出其中存在的安全风险。


0X07

智能合约审计流程介绍


为了检查合约的安全性,一般会测试多种攻击,模拟多种攻击场景,通过标准审计流程进行安全审查,以确保合约是否安全。


正常审计流程应包括前期应用审计的需求沟通,比如审计合约内容、审计时间、审计预算等;确定审计需求后需要签订协议、达成共识;然后安全团队开始安全审计,以及审计报告的输出,开发团队针对报告中的安全问题进行修复,安全团队协助修改后的复测,确保安全问题已修复,提升合约的安全性。

干货|区块链安全学习入门指南

智能合约代码审计方式:

- 了解智能合约协议的逻辑运转流程

- 分析智能合约逻辑设计规范和设计目的

- 工具测试智能合约存在的安全风险

- 测试针对智能合约的常见攻击手法

- 根据项目流程进行模拟算法漏洞测试


0X08

智能合约常规漏洞有哪些?


1)以太坊智能合约

  • 重入攻击

  • 浮点数和数值精度

  • 非预期的Ether

  • 整数溢出

  • 重入攻击

  • 浮点数和数值精度

  • 默认可见性

  • Tx.origin身份验证

  • 错误的构造函数

  • 未验证返回值

  • 不安全的随机数

  • 时间戳依赖

  • 交易顺序依赖

  • Delegatecall调用

  • Call调用

  • 拒绝服务

  • 逻辑设计缺陷

  • 假充值漏洞

  • 短地址攻击

  • 未初始化的存储指针

  • 代币增发

  • 冻结账户绕过

  • 合约Gas 优化

  • 变量覆盖

  • 恶意后门


2)EOS合约

  • 权限校验漏洞

  • 转账通知伪造漏洞

  • Apply函数权限校验漏洞

  • 整数溢出漏洞

  • 权限校验漏洞

  • 转账通知伪造漏洞

  • Apply函数权限校验漏洞

  • 弱随机数种子漏洞

  • 冻结账户绕过漏洞

  • 拒绝服务漏洞

  • 代码逻辑漏洞

  • 假币攻击

  • 回滚攻击

  • 重放攻击

  • 恶意后门

干货|区块链安全学习入门指南


0X09

智能合约审计报告的结构


1)审计报告的封面:

审计报告的封面中体现审计对象的名称、审计团队及报告的发布日期。

2)审计概述及项目背景:

概述和项目背景进行细致划分,使得审计报告更加清晰明了,其中项目背景对项目简介和审计范围做了详细介绍。

3)合约架构分析:

通过目录结构和合约详情说明该项目合约文件及对应合约的主要方法参数等。

4)审计详情:

在审计详情中通过风险分布、风险审计详情重点介绍合约审计过程中存在的相关风险,其中包括风险名称、漏洞描述、风险等级、安全建议、修复状态及审计结果等信息。


作为关心项目方安全的投资者,通过以上几个部分基本可以了解到如何审阅项目;剩下的部分则是审计团队安全审计的工具介绍、免责声明及安全审计团队的基本信息。

智能合约审计报告不是验证代码安全的法律文件;没有人能100%确保代码在未来不会发生错误或产生漏洞。审计团队对项目的审计报告只表示审计团队对项目进行过安全评估,这仅仅是保证你的代码已被专家校订过,基本上是安全的。选择权最终掌握在项目方及投资者手中。

干货|区块链安全学习入门指南


推荐阅读



点赞,转发,在看


文章来源

公众号:零时科技

已获授权转发

干货|区块链安全学习入门指南

本文始发于微信公众号(HACK学习君):干货|区块链安全学习入门指南

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月24日23:00:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   干货|区块链安全学习入门指南http://cn-sec.com/archives/536534.html

发表评论

匿名网友 填写信息