
区块链安全
区块链安全
FLy_鹏程万里
国内网络安全研究员,专注于Web渗透、移动安全、代码审计、应急响应、内网渗透、区块链安全、云安全等研究方向,擅长渗透测试、红蓝对抗、内网渗透、云安全、区块链安全。
展开
-
区块链安全思考
本文对区块链技术的安全问题和面临的一些挑战进行了分析,并提出一些安全建议。区块链(Blockchain)是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。可以运用区块链的一些领域包括智能合约、证券交易、电子商务、物联网、社交通讯...转载 2018-07-09 10:13:50 · 655 阅读 · 0 评论 -
区块链安全—详谈共识攻击(三)
一、前言我们在前面进行了两讲共识机制,在前文的讲述中,我们讲解了部分共识的具体流程以及优缺点。本文中,我们补充剩下的共识理念并分析其对应的优缺点。除此之外,我们针对相关的共识漏洞进行分析,为安全爱好者提供更多攻击的参考模型。二、Ripple Consensus—瑞波共识算法1、 协议流程在介绍协议前,我们简单的介绍下瑞波的由来。简单来说,瑞波是一个基于互联网的全球开放的支付网络,人...转载 2018-11-19 10:16:15 · 1371 阅读 · 0 评论 -
区块链安全—详谈共识攻击(一)
本篇详细讲述了区块链中非常重要的“共识”算法及其安全性,由于文章内根据不同应用环境讲述了不同的共识算法及其安全,所以涉及到的内容相对比较丰富。前言部分区块链作为一种去中心化的分布式公共数据库,其并没有中央管理机构进行管理工作,而是通过分布式节点共同利用密码学协议共同维护。而各个节点在维护整个系统的的时候要通过底层的共识协议来保证账本的一致性。而在区块链中我们又可以分为公有链和许可链,而由于...转载 2018-11-15 09:53:42 · 3254 阅读 · 0 评论 -
区块链安全—详谈共识攻击(二)
上一篇文章中我们讲述了传统的Pow以及Pos相关的延伸共识算法。而在这篇文章中,我们讲述一下区块链的精髓PBFT以及其延伸算法。在安全方面,我们给大家科普一下日蚀攻击已经贿赂攻击。并且一步一步带大家复现一下前些日子爆出的区块链整数溢出攻击。希望大家能够从文章中了解到区块链的共识算法,并对相应的攻击手段有所掌握。为了便于初学者接受,文章选择从基础开始讲起。有需要讨论的同学下方留言即可。...转载 2018-11-15 11:02:04 · 1727 阅读 · 0 评论 -
区块链安全—详谈共识攻击(四)
一、前言我们在前文讲述了许多区块链这几年发展演进过来的共识机制。在之前的内容中,我们讲述的共识多属于区块链1.o与2.0的知识。这次,我们着重讲述下区块链3.0时代的HyperLedger Fabric中的共识机制以及相关特性。而今,比特币与以太坊多用于币圈的应用,然而根据行业的发现现状来看,超级账本的未来发展更倾向于商业落地项目,所以对这类机制的深入研究对我们后续的发展大有裨益。Fabr...转载 2018-11-19 12:53:14 · 1286 阅读 · 1 评论 -
区块链安全—详谈合约攻击(一)
一、合约何以智能?在前文中,我们详细的讲述了Pos、DPos、BFT等常用的落地项目中的一些共识机制。而读者在了解了共识机制的具体流程后也应该会向我一样惊共识的协议之美。在区块链中,除了共识机制以外,还有另外一种富含魅力的技术,那就是“智能合约”。智能合约的引入增强的区块链的发展轨迹,也为区块链技术带来了更多生机。而智能合约的重要性到底是如何呢?我们应该如何看待智能合约?提及智能合...转载 2018-12-18 08:57:44 · 1054 阅读 · 0 评论 -
区块链安全—详谈合约攻击(二)
一、前言在前文中,我们简单提及了“智能合约”的概念以及其安全属性。之后针对一些严重的事件展开合约安全的深入分析。在本文中,我们详细的介绍一下智能合约的概念,并且为大家讲述一些关于智能合约方面的攻击事例。并针对相关事例列举防御手段。而我们知道智能合约的漏洞常存在于以太坊的Solidity中,所以本文中会有大量的合约代码分析。我也会为大家讲述相关合约分析流程。本文为原创稿件,如有疑问大...转载 2018-12-18 08:57:51 · 909 阅读 · 0 评论 -
区块链安全—详谈合约攻击(五)
一、前言在上文中,我们详细介绍了sened()函数,并且用相关实例介绍了send()函数。而倘若Solidity代码开发者进行编写时没有注意相关逻辑,那么就有可能导致变量覆盖顺序不当而产生安全问题。尤其是当函数失败回滚但系统函数却没有发觉,仍然继续执行后续代码。而本文我们将讲述合约安全中经典的“重入攻击”。简单来说,此类型攻击带来的危害极大,并且开发者在开发智能合约的时候很容易产生此问...转载 2018-12-03 12:51:18 · 567 阅读 · 0 评论 -
Bctf Blockchain 两则详解——带你玩转区块链
近来各大ctf中,纷纷冒出了一个新题型——Blockchain,从HCTF开始到BCTF,作为一只web狗,还是要紧跟时代学习一下(毕竟web狗啥都要学),今天我们就来详细讨论一下这两题的解法,以及用到的知识点。EOSGame题目地址为:This contract is at 0x804d8B0f43C57b5Ba940c1d1132d03f1da83631F in Ropsten...转载 2019-01-07 16:49:51 · 3157 阅读 · 0 评论 -
区块链安全—合约存储机制安全分析
一、前言作为不太成熟的编程语言,Solidity函数由于其运行机制等问题目前能找到很多的安全问题。在之前的分析中,我们针对共识、合约等方向进行过概括性的研究,而最近区块链安全的研究热也激起了研究者对以太坊的深入了解。最近的几次CTF比赛中,区块链的题目出现的频率也越来越高,也逐渐进入大家的视野中。今天,我们就针对部分区块链的CTF题目以及生产环境中的实例进行一些相关技术分析,并带领读者一步...转载 2019-01-07 17:41:59 · 839 阅读 · 0 评论 -
区块链安全—简单函数的危险漏洞分析(一)
一、前言部分在以太坊中使用Solidity编写智能合约的过程中会由于机制的问题而导致各种各样的问题出现。我们都知道,越是简单的函数,越是使用方便那么越会使开发人员对其掉以轻心。而这些方便的函数又会在开发的过程中被大量使用,也就意味着倘若它们存在某些机制上的问题,那么带来的影响是十分巨大的。而在本章中,我们主要介绍两个函数的漏洞详情,Fackback()以及Tx.Origin。而在合约的编写...转载 2019-01-08 09:24:38 · 1175 阅读 · 1 评论 -
区块链安全—简单函数的危险漏洞(二)
一、前言上回文章中我们提到了简单函数的漏洞利用情况。我们对Fallback()这个回调函数进行了安全漏洞的分析,也针对竞赛题目复现了一些漏洞利用过程。在本篇文章中,我们继续对简单函数进行安全机制分析。本文我们将要对构造函数以及tx.orgin、msg.sender进行安全分析。在真实的合约开发中,上述这几个函数的使用频率是十分高的,而对于合约来讲,由于其面向对象的特性所迫,所以在编写合约的...转载 2019-01-08 09:54:29 · 715 阅读 · 0 评论 -
区块链安全—随机数安全分析(上)
一、前言“随机数”在计算机程序中并不少见,开发人员也会经常使用随机数进行数值的模拟、预测。在C++程序里,我们经常使用一定的种子来进行随机数的生成过程。在计算机程序中,随机数可以被分为真随机数与伪随机数。而真随机数是十分难实现的,例如使用筛子、转轮等等。对于伪随机数来说,我们又分为:强伪随机数:难以预测的随机数,常用于密码学。 弱伪随机数:易于预测的随机数。随机数有3个特性,具体...转载 2019-01-08 10:13:24 · 1029 阅读 · 0 评论 -
区块链安全—随机数安全分析(下)
一、前言在上文中,我们主要是针对随机数安全进行了理论方面的密码学研究。在理论层面上我们又进行了简单代码的分析。而本文不在过多的介绍理论知识,而更多的将重点放在代码层面,针对现实实例中的代码进行安全分析。二、比特币随机种子生成详解首先我们来研究下区块链最大的应用——比特币在随机数方面是如何实现的。首先我们将源码下载到本地,对random.h进行查看。得到源码:/* Seed O...转载 2019-01-08 10:30:18 · 1571 阅读 · 0 评论 -
条条大路通罗马:实现数字货币双花攻击的多种方法
[摘要]2008年,中本聪提出了一种完全通过点对点技术实现的电子现金系统(比特币)。该方案的核心价值在于其提出了基于工作量证明的解决方案,使现金系统在点对点环境下运行,并能够防止双花攻击。如今比特币已经诞生十年,无数种数字货币相应诞生,但人们对双花攻击的讨论似乎仍然停留在比特币51%攻击上。实际上,我们的研究发现,实用的数字货币双花攻击还有很多种其他形式。在本文中,我们通过介绍我们发现的针对E...转载 2018-11-21 09:51:05 · 804 阅读 · 0 评论 -
Protecting From Replay Attacks After Recent BCH Hard Fork
Since the BCH hard fork on 11/16 and splitting into BCH ABC and BCH SV chains, PeckShield has detected huge amount of (small value) transactions replayed on ABC and SV chains. On a single day of 11/18...转载 2018-11-21 09:22:54 · 319 阅读 · 0 评论 -
区块链安全————DAO攻击事件解析
0x00 前言最近关注了一下区块链方面的安全,因此翻出来之前的DAO攻击事件研究了一番,形成此文。之后可能还会发一些其他的安全分析文章。0x00 基础知识1.跨合约调用智能合约之间的调用本质上是外部调用,可以使用message call或者创建智能合约对象的形式进行调用。(1)使用message call比如合约1调用合约2的某个方法:bytes4 methodId = bytes4(keccak...转载 2018-06-18 14:00:35 · 1785 阅读 · 0 评论 -
区块链安全————区块链技术安全讨论
0x00 背景介绍区块链技术是金融科技(Fintech)领域的一项重要技术创新。作为分布式记账(Distributed Ledger Technology,DLT)平台的核心技术,区块链被认为在金融、征信、物联网、经济贸易结算、资产管理等众多领域都拥有广泛的应用前景。区块链技术自身尚处于快速发展的初级阶段,现有区块链系统在设计和实现中利用了分布式系统、密码学、博弈论、网络协议等诸多学科的知识,为学...转载 2018-06-18 13:59:40 · 5258 阅读 · 0 评论 -
DASP智能合约Top10漏洞
该项目是NCC集团的一项举措。这是一个开放的合作项目,致力于发现安全社区内的智能合约漏洞。GitHub地址 https://github.com/CryptoServices/dasp在了解智能合约Top10之前,我们简单说一下,OWASP Top10。OWASP: Open Web Application Security Project这个项目会公开十大web应用程序安全风险...转载 2018-08-24 14:15:38 · 1124 阅读 · 0 评论 -
SMT整型溢出漏洞分析笔记
此次漏洞发生的虚拟货币为SmartMesh(简称SMT),目前该货币以以太坊智能合约的形式发布,Token为0x55f93985431fc9304077687a35a1ba103dc1e081,最初触发漏洞的交易记录位于下图所示的交易记录上:根据图中Input Data中的信息,定位到SMT中发生错误的智能合约函数transferProxy,该函数主要用于没有以太币的SMT币拥有者,将签署过的交易...转载 2018-06-19 20:20:46 · 539 阅读 · 0 评论 -
MEWKit: Cryptotheft 的最新武器
转载 2018-06-19 10:13:05 · 270 阅读 · 0 评论 -
浅谈最近流行的三起区块链51%算力攻击
很多人可能早就听说过 51% 算力攻击,但更多的可能源于各种媒体渠道中“比特币的缺陷”文章之流。实际上,这个说法并不准确,根据比特币百科上所描述,这种攻击被称为多数人的攻击(Majority attack),攻击者在控制全网较多算力时,他将可以做这些事情:1.逆转已发出的交易,也就是双花交易;2.阻止其他交易的确认;3.阻止其他块的挖出。并且在攻击者控制全网大于50%算力时,攻击的成功率将达到10...转载 2018-06-19 10:41:59 · 2154 阅读 · 0 评论 -
区块链安全 | 修饰器(modifier)相关漏洞分析
一、前言修饰器(modifier)可以改变函数的行为,例如作为前置的检测条件。同时修饰器具有可继承属性,可以由派生合约中的定义覆盖。本次BUGX.IO区块链安全课堂给大家进行修饰器的相关漏洞分析。二、什么是修饰器修饰器具有可继承属性,可以由派生合约中的定义覆盖,如下示例代码,由于 onlyOwner 的修饰,给 foo 函数加了一个前置条件,即只有 owner 才能成功调用此函数,...转载 2018-11-21 16:04:30 · 543 阅读 · 0 评论 -
区块链安全—区块链P2P网络详细分析
区块链技术大量依赖于P2P网络,可以说没有P2P就没有区块链现在的发展。而区块链拥有去中心化的应用理论,所以对P2P的过程有着近似严苛的安全要求。本文围绕P2P网络的基础架构以及安全协议展开论述。内容是通过我的大量文献阅读之后进行的提炼。希望大家多多交流!一、概述P2P网络1 、何为P2P?P2P(peer-to-peer)网络又称为对等式网络,或者点对点网络。这是一种无中心的...转载 2018-12-17 18:03:15 · 5851 阅读 · 0 评论 -
区块链中“鸡肋”的RPC漏洞
一、前言——NEO RPC漏洞之争12月1日下午16:34,腾讯湛卢实验室宣布发现NEO的RPC漏洞。官微发文如下:而NEO官方微博,在四个小时之后迅速回应腾讯,回应如下。谁对谁错?公链RPC模块安全情况到底如何?二、RPC和RPC漏洞介绍首先介绍下RPC。远程过程调用(Remote Procedure Call)是一个计算机通信协议。该协议允许运行于一台计算机的程序调...转载 2019-01-08 11:16:45 · 1542 阅读 · 0 评论