问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

公有链的安全主要由什么等方式负责维护?

发布网友 发布时间:2022-04-30 08:25

我来回答

16个回答

懂视网 时间:2022-05-15 03:32

本篇文章给大家通过原理的原因分析了node应用的timing-attack安全漏洞问题,有兴趣的朋友阅读参考下。

前言

假如你在项目中遇到过 eslint 报错 Potential timing attack ,不可忽视!这是一个涉及到安全的问题:时序攻击。
eslint 报错原因

首先eslint引入了一个叫做eslint-plugin-security的插件,这个插件有助于识别出潜在的安全问题,但同时也会产生误报的问题,附上插件 源码地址。

首先这个插件会判断本次的运算符是否为 ==、===、!=、!==其中一种,其次检查标识符(字段名)是否包含特殊字符串password、secret、api、apiKey、token、auth、pass、hash,如果同时满足二者情况,eslint 就会编译报错 Potential timing attack。

攻击定义

timing attack:时序攻击,属于侧信道攻击 / 旁路攻击,侧信道攻击指的是利用信道外的信息,比如加解密的数据、数据比较时间、密文传输的流量和途径进行攻击的方式,相当于是“旁敲侧击”。

攻击点

首先讲讲js比较两个字符串大小的原理:

  • 判断字符串长度是否为0,如果为0,就可以直接比较出结果;反之,进入到第二步。

  • 字符串是由一个个字符组成,通过每个字符的charCode进行比较。

  • 在第二步中,只要出现一个字符不同,就 return false,剩余的字符不再做比较。

  • 单个字符的比较是很快的,攻击者可以细化测量时间精度到微秒,通过响应时间的差异推算出是从哪一个字符开始不用的,这样一次次实验或者用 Python 写个脚本去跑,就可以试出正确的密码,密码破解的难度也降低了不少。

    容易受攻击的写法

    防御措施

    每次不同的输入会造成处理时间的不同。为了防止它,我们需要使字符串比较花费相同的时间量,无论输入的密码是什么。
    不容易受攻击的写法

    系统中每一个密码的长度是固定的,每次比较密码是否相同时,使用正确密码的长度作为比较次数,使用异或比较每一个字符的 Unicode 编码是否相等,并且把每一次的比较结果存放到一个数组中,最后再判断数组的每一个元素是否为0(为 0 表示两个字符相同)。

    三方包推荐

    也可以使用 cryptiles 这个 npm 模块来解决这个问题

    上面是我整理给大家的,希望今后会对大家有帮助。

    相关文章:

    NodeJS父进程与子进程资源共享原理与实现方法

    vue中实现图片和文件上传的示例代码

    vue axios 表单提交上传图片的实例

    热心网友 时间:2022-05-15 00:40

    公有链:是指全世界任何人都可以随时进入到系统中读取数据、发送可确认交易、竞争记账的区块链。例如:比特币、以太坊。

    私有链:是指其写入权限由某个组织和机构控制的区块链,参与节点的资格会被严格*。

    联盟链:是指有若干个机构共同参与管理的区块链,每个机构都运行着一个或多个节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。

    联盟链是一种将区块链技术应用于企业的相对较新的方式。公有链向所有人都开放,而私有链通常只为一个企业提供服务,联盟链相对公链来说有更多*,通常为多个企业之间的共同协作提供服务。

    联盟链与公有链的不同之处在于,它是需要获得事先许可的。因此并不是所有拥有互联网连接的任何人都可以访问联盟区块链的。联盟链也可以描述为半去中心化的,对联盟链的控制权不授予单个实体,而是多个组织或个人。

    对于联盟链,共识过程可能与公有链不同。联盟链的共识参与者可能是网络上的一组预先批准的节点,而不是任何人都可以参与该过程。联盟链允许对网络进行更大程度的控制。

    那说到联盟链的优点:

    首先,联盟链受一个特定群体的完全控制,但并不是垄断。当每个成员都同意时,这种控制可以建立自己的规则。

    其次,具有更大的隐私性,因为来验证区块的信息不会向公众公开,只有联盟成员可以进行处理这些信息。它为平台客户创造了更大的信任度和信心。

    最后,与公共区块链相比,联盟链没有交易费用,更灵活一些。公共区块链中大量的验证器导致同步和相互协议的麻烦。通常这种分歧会导致分叉,但联盟链不会出现这种状况。

    联盟链技术可以用来优化大多数传统信息化系统的业务流程,特别适用于没有强力中心、多方协作、风险可控的业务场景。联盟链的共享账本机制可以极大降低该类场景下的对账成本、提高数据获取效率、增加容错能力、巩固信任基础、以及避免恶意造假。

    随着区块链技术的不断发展,越来越多的机构与企业开始加大对区块链的研究与应用。相比公链而言,联盟链具有更好的落地性,受到了许多企业与*的支持。

    联盟链可以理解为是为了满足特定行业需求,内部机构建立起来的一种分布式账本。这个账本对内部机构是公开透明的,但如果有相关业务需求,对该账本的数据进行修改,则还是是需要智能合约的加入。

    智能合约(Smart contract )是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。

    总体来说,目前联盟链智能合约的主流架构是:系统合约 + 业务合约。

    系统合约:在节点启动前配置完成,一般用于系统管理(如BCOS的预编译合约(权限管理、命名管理等),由项目方编写,安全性较高。

    业务合约:根据实际业务编写而成,需要部署,类似公链智能合约,由一般内部机构参与方编写,需遵守一定的要求,安全性一般。

    联盟链合约相较于常规公链在规范性、和安全性都有一定的提升,但在以下几个方面的安全性问题,仍可能存在安全风险:

    (1)、代码语言安全特性

    一种是继续沿用主流公链编程语言,并在其基础上改进(如:BCOS使用的solidity),另一种则是以通用编程语言为基础,指定对应的智能合约模块(如:fabric的Go/Java/Node.js),不管使用什么语言对智能合约进行编程,都存在其对应的语言以及相关合约标准的安全性问题。

    (2)、合约执行所带来的安全性问题

    整型溢出:不管使用的何种虚拟机执行合约,各类整数类型都存在对应的存储宽度,当试图保存超过该范围的数据时,有符号数就会发生整数溢出。

    堆栈溢出:当定义方法参数和局部变量过多,字节过大,可能使程序出现错误。

    拒绝服务攻击:主要涉及到的是执行合约需要消耗资源的联盟链,因资源耗尽而无法完成对应的交易。

    (3)、系统机制导致的合约安全问题

    这里主要是指多链架构的联盟链:

    合约变量的生成如果依赖于不确定因素(如:本节点时间戳)或者某个未在账本中持久化的变量,那么可能会因为各节点该变量的读写集不一样,导致交易验证不通过。

    全局变量不会保存在数据库中,而是存储于单个节点。因此,如果此类节点发生故障或重启时,可能会导致该全局变量值不再与其他节点保持一致,影响节点交易。因此,从数据库读取、写入或从合约返回的数据不应依赖于全局状态变量。

    在多链结构下进行外部链的合约调用时,可能仅会得到被调用链码函数的返回结果,而不会在外部通道进行任何形式的交易提交。

    合约访问外部资源时,可能会暴露合约未预期的安全隐患,影响链码业务逻辑。

    (4)、业务安全问题

    联盟链的智能合约是为了完成某项业务需求执行某项业务,因此在业务逻辑和业务实现上仍是可能存在安全风险的,如:函数权限失配、输入参数不合理、异常处理不到位。

    我们对联盟链安全的建议:

    (1)、简化智能合约的设计,做到功能与安全的平衡

    (2)、严格执行智能合约代码审计(自评/项目组review/三方审计)

    (3)、强化对智能合约开发者的安全培训

    (4)、在区块链应用落地上,需要逐步推进,从简单到复杂,在此过程中不断梳理合约与平台相关功能/安全属性

    (5)、考虑DevSecOps(Development+Security+Operations)的思想

    链平台安全包括:交易安全、共识安全、账户安全、合规性、RPC安全、端点安全、P2P安全等。

    黑客攻击联盟链的手法包括:内部威胁、DNS攻击、MSP攻击、51%的攻击等。

    以MSP攻击为例:MSP是Fabric联盟链中的成员服务提供商(Membership Service Provider)的简称,是一个提供抽象化成员操作框架的组件,MSP将颁发与校验证书,以及用户认证背后的所有密码学机制与协议都抽象了出来。一个MSP可以自己定义身份,以及身份的管理(身份验证)与认证(生成与验证签名)规则。

    针对MSP的攻击,一般来说,可能存在如下几个方面:

    (1)、内部威胁:a)当前版本的MSP允许单个证书控制,也就是说,如果某个内部人员持有了可以管理MSP的证书,他将可以对Fabric网络进行配置,比如添加或撤消访问权限,向CRL添加身份(本质上是列入黑名单的身份),过于中心化的管理可能导致安全隐患。 b)如果有传感器等物联网设备接入联盟链,其可能传播虚假信息到链上,并且因为传感器自身可能不支持完善的安全防护,可能导致进一步的攻击。

    (2)、私钥泄露,节点或者传感器的证书文件一般存储在本地,可能导致私钥泄漏,进而导致女巫攻击、云中间人攻击(Man-in-the-Cloud attack)等

    (3)、DNS攻击:当创建新参与者的身份并将其添加到MSP时,在任何情况下都可能发生DNS攻击。向区块链成员创建证书的过程在许多地方都可能发生攻击,例如中间人攻击,缓存中毒,DDOS。攻击者可以将简单的DNS查询转换为更大的有效载荷,从而引起DDoS攻击。与CA攻击类似,这种攻击导致证书篡改和/或窃取,例如某些区块链成员将拥有的权限和访问权限。传感器网络特别容易受到DDOS攻击。智慧城市不仅面临着实施针对DDOS攻击的弱点的传感器网络,而且面临着弱点的伴随的区块链系统的挑战。

    (4)、CA攻击:数字证书和身份对于MSP的运行至关重要。Hyperledger Fabric允许用户选择如何运行证书颁发机构并生成加密材料。选项包括Fabric CA,由Hyperledger Fabric,Cryptogen的贡献者构建的过程,以及自己的/第三方CA。这些CA本身的实现都有其自身的缺陷。 Cryptogen在一个集中的位置生成所有私钥,然后由用户将其充分安全地复制到适当的主机和容器中。通过在一个地方提供所有私钥,这有助于私钥泄露攻击。除了实现方面的弱点之外,MSP的整体以及因此区块链的成员资格都在CA上运行,并且具有信任证书有效的能力,并且证书所有者就是他们所说的身份。对知名第三方CA的攻击如果成功执行,则可能会损害MSP的安全性,从而导致伪造的身份。Hyperledger Fabric中CA的另一个弱点是它们在MSP中的实现方式。 MSP至少需要一个根CA,并且可以根据需要支持作为根CA和中间CA。如果根CA证书被攻击,则会影响所有根证书签发的证书。

    成都链安已经推出了联盟链安全解决方案,随着联盟链生态的发展,2020年成都链安已配合多省*对当地政企事业单位的联盟链系统进行了从链底层到应用层多级安全审计,发现多场景多应用多形态的联盟链系统及其配套系统的漏洞和脆弱点。

    并且,成都链安已与蚂蚁区块链开展了合作,作为蚂蚁区块链优选的首批节点加入开放联盟链,我们将发挥安全技术、服务、市场优势,与开放联盟链共拓市场、共建生态、并为生态做好安全保驾护航。

    一方面我们的智能合约形式化验证产品VaaS将持续为开放联盟链应用提供『军事级』的安全检测服务,为应用上线前做好安全检测,预防其发生安全和逻辑错误;我们的『鹰眼』安全态势感知系统采用AI+大数据技术,为开放联盟链及其应用提供全面及时的『安全+运营』态势感知、链上合约风险监测、安全预警、报警、防火墙阻断及实时响应处理能力。

    另一方面,我们的安全产品已经积累了数十万的客户群体,我们将发挥我们的全球客户资源和市场优势,与开放联盟链共拓市场。

    在联盟链平台上,我们能提供全生命周期的整体安全解决方案,成都链安以网络安全、形式化验证、人工智能和大数据分析四大技术为核心,打造了面向区块链全生态安全的『Beosin一站式区块链安全服务平台』。

    『Beosin一站式区块链安全服务平台』包含四大核心安全产品和八大明星安全服务,为区块链企业提供安全审计、虚拟资产追溯与AML反洗钱、安全防护、威胁情报、安全咨询和应急等全方位的安全服务与支持,实现区块链系统『研发→运行→监管』全生命周期的安全解决方案。

    我们会积极发挥区块链安全头部企业优势,共同构建安全的区块链商业网络,推动区块链产业健康、安全的发展,探索区块链未来的无限可能。

    热心网友 时间:2022-05-15 01:58

    公有链的安全主要由什么等事方式负责维护,我觉得公有链的安全主要由安全部门儿进行负责维护,这样能够让他们更加安全有效的进行运转。

    热心网友 时间:2022-05-15 03:32

    公有链的安全主要的方式有谁负责康复的话,它是有个责任者进行配发的。

    热心网友 时间:2022-05-15 05:24

    酒店的安全主要是由社会等方式负责维护的,必须有社会的维护,才能有安全的链接

    热心网友 时间:2022-05-15 07:32

    公有链的安全主要由什么等方法负责维护供应链安全,主要由*还有特警,交警等等,好多种*来维护的

    热心网友 时间:2022-05-15 09:56

    安全主要是等方式维护网络安全对吧,等我一下联网过的红客买个。国家的一些保护我方玥中心。

    热心网友 时间:2022-05-15 12:38

    我觉得这个东西的安全性需要大家共同来维护负责

    热心网友 时间:2022-05-15 15:36

    嗯。万群主要有事。维护。好,一定是维护好了。

    热心网友 时间:2022-05-15 18:50

    公有链的安全主要由什么等方式负责维护?保证安全,的方式负责维护

    热心网友 时间:2022-05-15 22:22

    公有链的安全主要是由什么什么的方式来负责维护的,这主要是上下一心的方式来共同维护

    热心网友 时间:2022-05-16 02:10

    公有链的安全主要是由管理部门以及业主代表委员会等联合携手,共同负责维护了

    热心网友 时间:2022-05-16 06:14

    公有练的安全,主要由什么等方式负责维护公有练的安全,主要是安全第一负责自身安全。

    热心网友 时间:2022-05-16 10:36

    有安全的话,我觉得要有他的一个总的固定哪个方式进行维护

    热心网友 时间:2022-05-16 15:14

    公有连的安全主要由于什么等方式推责任维护我因为很大的责任因为我不为

    热心网友 时间:2022-05-16 20:08

    关于公有链的安全主要是由等级是负责维护的,这个算法非常的简单
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    在爱水APP哪个模块中可以填写个人信息,查询自己一天的饮水量? 黄金为什么是避险产品 避险买什么 避险品种是什么 避险产品什么意思 什么是避险产品 ...对联和我们平时使用的印章,说说使用了哪几个字体 对联上写的是什么字 ...有一空是让我评价我自己,请各位哥哥姐姐帮帮忙,帮我编一段,往好了... 艾灸用品哪种好 人寿保险分红型怎么查分红 中国人寿保险公司分红查询 自己怎么查人寿保险分红的红利? 中国人寿保险分红怎么查 人寿保险分红型查分红 生活垃圾和医疗垃圾如何分类处理 医疗垃圾必须采用卫生填埋方式处理对吗 白色羽绒服出现黄印,用蓝月亮洗衣液(手洗)无法洗掉,怎么办?帮帮忙 前置过滤器承受多大压力 家里水主管道压力表显示0.5安全吗今天家里安装前置过滤器,压力显示到0.5左右,正常吗?_百度问一问 宜宾公交可以微信支付吗? 观看网络影视时,如果遇到版权问题该怎么办? 实名制个税增加第二个企业怎样做? 个税系统怎么添加公司 福库电饭锅故障代码EF是什么毛病 苏泊尔电饭锅显示E0故障,怎么解决 10万块8厘3利息一年是多少 cuckoo电饭煲1h:f是什么问题啊? 贷款十万一年利率8厘,一月连本加本还多少? 汨余若将不及兮,恐年岁之不吾与.是什么意思 为什么说联盟链和私链的NFT(数字藏品)就是假的NFT且没有意义? 我想知道中国人寿保险公司的分红帐单怎么查? DBI 联盟链是什么? 人寿保险分红查询方法是什么 有谁知道鸡心玉? 区块链技术中联盟链的特征是什么? 中国人寿保险的分红怎么查 鸡血玉原石值钱吗 中国人寿保险理财分红怎么查询 生态链输帐号安全吗? 孔雀石的价值如何 手机收到信息说注册旅游联盟链是怎么回事 联盟链是什么?现实生活中用得着吗? 一条公链上线后,可以人为地关闭么? 玉石 各式各样的玉石 什么是联盟链?有什么好的项目? 金砂玉是珠宝玉器吗 文玩核桃不太懂,求鉴定这两对价值? 怎样验证玉的真假?如何知道什么样的玉适合自己?玉分哪几种? 如何评定文玩核桃的价值