当前位置: 首页 > news >正文

区块链面临六大安全问题 安全测试方案研究迫在眉睫

区块链面临六大安全问题 安全测试方案研究迫在眉睫

近年来,区块链技术逐渐成为热门话题,其应用前景受到各国政府、科研机构和企业公司的高度重视与广泛关注。随着技术的发展,区块链应用与项目层出不穷,但其安全问题不容忽视。近年来,区块链安全事件日益增多,引发的后果较为严重,造成的经济损失数以亿计。

区块链技术可分为三个层次

狭义上讲,区块链是一种按照时间顺序将数据区块顺序相连组成链式数据结构,并以密码学方式保证不可篡改和不可伪造的分布式账本。广义上讲,区块链技术是利用块链式数据结构验证与存储数据、利用分布式节点共识算法生成和更新数据、利用密码学方式保证数据传输和访问的安全、利用自动化脚本代码组成的智能合约来编程和操作数据的一种全新分布式基础架构与计算范式。

区块链主要分为公有链、联盟链与私有链。公有链对外公开,用户无需授权即可访问区块链信息,节点可自由出入网络。联盟链仅限于联盟成员参与,区块链上的读写权限、参与记账权限按照联盟规则制定,共识过程由预先选好的节点控制。私有链则仅在私有组织使用,区块链上的读写权限、参与记账权限按私有组织规则制定。

此外,美国区块链科学家梅兰妮·斯万按照应用范围和发展阶段将区块链分为3个层次,分别为区块链1.0、2.0、3.0。

区块链1.0—数字货币:区块链1.0解决货币和支付去中心化问题,典型代表是比特币。

区块链2.0—智能合约:区块链2.0是区块链1.0的发展,支撑智能合约应用,解决市场去中心化问题,将区块链拓展到股票、债券、期货等金融领域,典型代表是以太坊平台。

区块链3.0—区块链应用延伸:区块链3.0涵盖了智能化物联网未来的各种应用场景,支持广义资产、广义交换,支持行业应用,由此构建一个大规模协作社会,其典型代表是EOS项目。但目前业界还没有一个成熟的区块链3.0平台。

随着技术的发展,也有公司率先探索区块链4.0的概念。

区块链4.0—完善生态体系:区块链4.0将区块链作为某个行业的基础设施,形成基于区块链的完善生态体系,从而构建全球价值互联网。但区块链4.0尚未在业界达成一致共识。

区块链安全问题不容忽视

目前区块链技术本身仍存在一些安全风险,应用过程中可能会引发一定的安全问题。近年来,区块链安全事件频发,造成重大经济损失。据统计,自2011年到2018年10月,全球范围内因区块链安全事件造成的损失近36亿美元。可见,区块链安全问题不容忽视。

基于业界已有研究报告,本文将区块链面临的风险与挑战分为六大方面:基础设施安全、密码算法安全、协议安全、实现安全、使用安全和系统安全。

基础设施安全:基础设施主要包括交换机和路由器等网络资源、硬盘和云盘等存储资源以及CPU和GPU等计算资源。面临的问题主要有物理安全风险、网络攻击威胁以及数据丢失和泄露等安全风险。

密码算法安全:区块链使用了大量密码算法以保证安全性。但现有的一些密码算法存在一定缺陷,使用有缺陷的密码算法会大大影响安全性。另外,随着量子技术的发展,使用不能够抵抗量子攻击的密码算法都有较大风险。

协议安全:主要指共识机制、P2P网络等存在的安全隐患,主要面临共识算法漏洞、流量攻击以及恶意节点等威胁。

实现安全:智能合约起步较晚,其风险主要来源于代码实现中的安全漏洞。此外,智能合约运行环境的安全性也是区块链安全的重要环节。

使用安全:主要指使用的智能合约、数字钱包、交易所以及应用软件等存在的安全问题。另外,区块链应用所在服务器上的恶意软件、系统的安全漏洞等都可能成为攻击者攻破区块链应用的脆弱点。

系统安全:上述基础设施、密码算法、协议、实现、使用安全漏洞与黑客攻击结合,可使区块链受到致命打击。社会工程学手段与传统攻击方法结合使区块链变得更加脆弱,有组织的攻击行为将对区块链安全造成极大危害。

区块链安全测试方案研究

各国政府、金融机构以及众多企业等纷纷进行区块链的研究和开发。各种区块链联盟、区块链协会以及各种区块链实验室也纷纷成立。区块链相关测试也愈来愈多。

2017年5月,区块链技术和应用峰会暨中国区块链开发大赛成果发布会在杭州举行,发布首个区块链标准《区块链参考架构》,并公布了参考架构的首次测试结果。同时,贵阳区块链测试中心正式挂牌并开展试运行区块链测试工作。另外,中国信息通信研究院也对太一云的区块链超导交易网络进行了性能与功能测试。2017年9月,可信区块链峰会在北京召开,公布了可信区块链标准和测评结果。2018年6月,可信区块链评测方案讨论会在北京召开,会议确定了可信区块链的测试方法与性能测试规范,并讨论了开源基准测试工作组的任务安排。

区块链测评内容可分为功能测试、性能测试、可靠性测试与安全性测试。已有测试多偏重于功能测试、性能测试与可靠性测试,本文着重讨论安全性测试,建议从以下几方面着手。

共识机制安全测试:主要测试采用的共识机制能否抵御双花攻击(同一数字货币重复使用多次)、重放攻击等常见的攻击手段,以及是否有良好的容错能力。

智能合约安全测试:主要检查智能合约是否存在常见的安全漏洞、是否可信以及是否符合规范和流程。此外,还可进行代码审计工作,在代码层次寻找可能存在的漏洞。

Web与移动客户端应用安全测试:面向终端用户的区块链项目一般都有Web或移动客户端应用程序。可检查其是否存在注入、XSS等常见Web漏洞。还可进行渗透评估测试,发现潜在的安全威胁。

身份认证与鉴别测试:对于联盟链与私有链平台,应测试身份认证与鉴别、成员管理以及审计记录等功能,防止出现越权等漏洞。

此外,还可以对激励机制及其他自有协议进行测试,尽量保证其安全性。

小结

区块链技术可有效解决传统交易模式中数据流造假行为,可被应用到金融、物联网、供应链管理等多个领域,可实现从信息互联网到价值互联网的转变。但区块链安全问题亦不可忽视,本文从技术角度分析区块链技术面临的安全风险,并探索区块链技术安全测试方案,希望为以后区块链安全测试的工作带来一定的参考意义。

相关文章:

区块链面临六大安全问题 安全测试方案研究迫在眉睫

区块链面临六大安全问题 安全测试方案研究迫在眉睫 近年来,区块链技术逐渐成为热门话题,其应用前景受到各国政府、科研机构和企业公司的高度重视与广泛关注。随着技术的发展,区块链应用与项目层出不穷,但其安全问题不容忽视。近年…...

K8S---kubelet TLS 启动引导

一、引导启动初始化过程(Bootstrap Initialization ) 1、kubeadm 生成一个Token,类似07401b.f395accd246ae52d这种格式,或者自己手动生成2、使用kubectl命令行,生成一个Secret,具体详见认证、授权3、kubelet 进程启动 (begin)4、kubelet 看到自己没有对应的 kubeconfig…...

Android系统修改驱动固定USB摄像头节点绑定前后置摄像头

前言 Android系统中usb摄像头节点会因为摄像头所接的usb口不同或者usb设备识别顺序不一样而出现每次开机生成的video节点不一样的问题。由于客户app调用摄像头时,需要固定摄像头的节点。因此需要针对前面的情况做处理。 方式1:通过摄像头名称固定摄像头节点 --- a/kernel…...

RT-Thread 内核移植

内核移植 内核移植就是将RTT内核在不同的芯片架构、不同的板卡上运行起来,能够具备线程管理和调度,内存管理,线程间同步等功能。 移植可分为CPU架构移植和BSP(Board support package,板级支持包)移植两部…...

springboot中entity层、dto层、vo层通俗理解三者的区别

entity:这个类的属性是跟数据库字段一模一样的(驼峰命名),当我们使用MyBatis-Plus的时候经常用得到。 dto:用于后端接收前端返回的数据,一般是post请求,前端会给我们返回一个json对象&#xff…...

TypeScript_队列结构-链表

队列 队列(Queue),它是一种受限的线性表,先进先出(FIFO First In First Out) 受限之处在于它只允许在队列的前端(front)进行删除操作而在队列的后端(rear)进…...

STM32G0 定时器PWM DMA输出驱动WS2812配置 LL库

通过DMA方式输出PWM模拟LED数据信号 优点:不消耗CPU资源 缺点:占用内存较大 STM32CUBEMX配置 定时器配置 定时器通道:TIM3 CH2 分频:0 重装值:79,芯片主频64Mhz,因此PWM输出频率&#xff1a…...

记录错误:Access denied for user ‘root‘@‘localhost‘ (using password:No) 解决方案

他说我没输入密码,但是我输入了啊??于是,我试了试这儿,password 一改就好了。。。 他原来是是我打的很快,快速生成的。。。。...

python爬虫实战(5)--获取小破站热榜

1. 分析地址 打开小破站热榜首页,查看响应找到如下接口地址 2. 编码 定义请求头 拿到标头 复制粘贴,处理成json 处理请求头代码如下: def format_headers_to_json():f open("data.txt", "r", encoding"utf-8") # 读…...

单目标应用:基于麻雀搜索算法SSA的微电网优化调度MATLAB

一、微网系统运行优化模型 参考文献: [1]李兴莘,张靖,何宇,等.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程, 2021, 37(3):7 二、麻雀搜索算法简介 麻雀搜索算法 (Sparrow Search Algorithm, SSA) 是一种新型的群智能优化算法,于2020…...

C# easymodbus

库介绍 EasyModbus是用于 .NET 和 Java 平台上的Modbus TCP/UDP/RTU通讯协议库,支持多种编程语言,如C#、VB.NET、Java、C 与更多C#的变体,如Unity、Mono、.NET Core等等。 EasyModbus的Java版本至少需要Java 7,而C#版本兼容 .NE…...

HikariCP源码修改,使其连接池支持Kerberos认证

HikariCP-4.0.3 修改HikariCP源码,使其连接池支持Kerberos认证 修改后的Hikari源码地址:https://github.com/Raray-chuan/HikariCP-4.0.3 Springboot使用hikari连接池并进行Kerberos认证访问Impala的demo地址:https://github.com/Raray-chuan/springboot-kerberos-hikari-im…...

5分钟看明白rust mod use

rust把mod简单的事没说清,一片混乱,似懂非懂. mod语句查找只有一条规则:先找mod名1.rs,没有就我同名文件夹下的mod名1.rs,如果没有,就同名文件夹下的mod名1/mod.rs,再没有就error. 在mod.rs中,pub mod 文件…...

【Java核心知识】ThreadLocal相关知识

ThreadLocal 什么是ThreadLocal ThreadLoacal类可以为每个线程保存一份独有的变量,该变量对于每个线程都是独占的。实现原理为每个Thread类中包含一个ThreadHashMap,key为变量的对应的ThreadLocal对象,value为变量的值。 在日常使用中&…...

《Python基础教程(第三版)》阅读笔记 1

目录 1 快速上手:基础知识2 列表和元组3 字符串4 字典5 条件、循环及其他6 抽象7 再谈抽象8 异常9 魔法方法、特性和迭代器10 开箱即用 本文参考自《Beginning Python: from novice to professional》,中文版为《Python基础教程(第三版&#…...

坦克400 Hi4-T预售价28.5万元起,越野新能源好理解

8月25日,在以“智享蓉城,驭见未来”为主题的成都国际车展上,坦克品牌越野新能源再启新程,首次以全Hi4-T新能源阵容亮相展台,释放坦克品牌加速布局越野新能源的强烈信号。 Hi4-T架构首款落地车型坦克500 Hi4-T上市至今斩…...

我的Vim学习笔记(不定期更新)

2023年9月3日,周日上午 学到了啥就写啥,不定期更新 目录 字体 文件 标签页 分屏 调用系统命令 字体 设置字体大小 :set guifont字体:h字体大小 例如,:set guifontMonospace:h20 查询当前使用的字体和字体大小 :set guifont? 查看…...

spring boot项目生成容器并运行

一个安静的周末,shigen又睡懒觉了,上次说的拖延症的惩罚来了:早晚各100个健腹轮练习,早上的已经完成了。今天的文章来的有点晚,但是依旧保持质量。 springboot项目生成容器并运行 背景 将springboot项目打包成jar包&…...

Vue之html中特殊符号的展示

Vue之html中特殊符号的展示 在html中使用特殊字符时直接展示会报错&#xff0c;需要使用实体名称或者实体编号才能展示。 最常用的字符实体 显示结果 描述 实体名称 实体编号空格 < 小于号 < &…...

数据结构1 -- leetcode练习

三. 练习 3.1 时间复杂度 用函数 f ( n ) f(n) f(n) 表示算法效率与数据规模的关系&#xff0c;假设每次解决问题需要 1 微秒&#xff08; 1 0 − 6 10^{-6} 10−6 秒&#xff09;&#xff0c;进行估算&#xff1a; 如果 f ( n ) n 2 f(n) n^2 f(n)n2 那么 1 秒能解决多…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...