零时科技 HACK学习君
微信号 XHacker1961
功能介绍 HACK学习,专注于网络安全攻防与黑客精神,分享技术干货,代码审计,安全工具开发,实战渗透,漏洞挖掘,网络安全资源分享,为广大网络安全爱好者和从业人员提供一个交流学习分享的平台
__
收录于话题
#智能合约 ,1
#区块链 ,1
#区块链安全 ,1
前言
当前区块链技术和应用尚处于快速发展的初级阶段,面临的安全风险种类繁多,从区块链生态应用的安全、到智能合约安全、共识机制安全和底层基础组件安全、安全问题分布广泛且危险性高、对生态体系、安全审计、技术架构、隐私数据保护和基础设施的全局发展提出了全新的考验。
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%确保代码在未来不会发生错误或产生漏洞。审计团队对项目的审计报告只表示审计团队对项目进行过安全评估,这仅仅是保证你的代码已被专家校订过,基本上是安全的。选择权最终掌握在项目方及投资者手中。
推荐阅读
**
**
- 交易所安全测试--信息收集
- 交易所安全测试--信息收集进阶篇
- 交易所安全测试--业务逻辑
- 交易所安全测试--信息泄露
- 交易所安全测试--输入输出安全
- 交易所安全测试--配置安全
- 交易所安全测试--用户认证
- 交易所安全测试--接口安全
- 交易所安全测试--APP安全测试 · 上篇
- 交易所安全测试--APP安全测试 · 下篇
点赞,转发,在看
文章来源
公众号:零时科技
已获授权转发
预览时标签不可点
收录于话题 #
个 __
上一篇 下一篇
阅读
分享 收藏
赞 在看
____已同步到看一看写下你的想法
前往“发现”-“看一看”浏览“朋友在看”
前往看一看
看一看入口已关闭
在“设置”-“通用”-“发现页管理”打开“看一看”入口
我知道了
__
已发送
取消 __
发送
干货|区块链安全学习入门指南
最多200字,当前共字
__
发送中
写下你的留言
微信扫一扫
关注该公众号
知道了
微信扫一扫
使用小程序
取消 允许
取消 允许
: , 。 视频 小程序 赞 ,轻点两下取消赞 在看 ,轻点两下取消在看