一种防止代码注入或源码反编译的分布式编码系统技术方案

技术编号:30638058 阅读:13 留言:0更新日期:2021-11-04 00:26
本发明专利技术提供了一种防止代码注入或源码反编译的分布式编码系统;所述编码系统基于分布式系统制定;所述编码系统包括对需要完成编码任务的总任务进行编码阶段和子任务项的拆分并根据分布式系统内的运算节点运算能力,进行子任项的分派后进行分布式编码;其后,通过分布式系统内的多个验证节点,对已经完成编码的代码进行多次的代码注入测试,寻找和分析其中可能存在的代码注入漏洞;进一步,通过在代码中写入密文段信息,以及由多个所述计算节点的共识下增加伪入口信息,使反编译的难度大幅提高,从而阻止外人对源码进行反编译操作。从而阻止外人对源码进行反编译操作。从而阻止外人对源码进行反编译操作。

【技术实现步骤摘要】
一种防止代码注入或源码反编译的分布式编码系统


[0001]本专利技术涉及分布式编码
具体而言,涉及一种防止代码注入或源码反编译的分布式编码系统。

技术介绍

[0002]随着人工智能的发展,针对越来越庞大的应用场景以及高速增长的万物互联要求,对计算系统的算力消耗不断高速增加,所要求的算力、算法甚至是网络通讯速度都对当前相应的
提出前所未有的要求高度。尤其对于全自动人工智能应用场景,例如智慧景区、智慧医院等领域,涉及的节点、信息,需要处理和编码的数据量巨大,静态、动态的数据变化快,同时需要采用高度灵活的算法针对不同事件作出最优化响应。海量的编码要求,催生了分布式编码技术;利用分布式编码技术,对原有的一个编码任务进行任务切分,并通过分配机制发放到各运算节点上进行编码,最后汇总完成阶段性任务。分布式编码区别于传统中心式编码系统,大大利用了目前服务器节点分散布局,但同时无线网络速度和带宽增长速度快的系统特点,有效地提高了编码的效率。
[0003]进一步的,在当前复杂的网络空间环境下,对用户输入数据缺乏有效性验证及过滤的各种程序而言,黑客可通过构造各种畸形数据使得软件或者程序实体在具体执行过程中违背设计者初衷,从而改变程序控制流继而窃取程序控制权或者窃取程序背后的数据库等保密数据,是网络和系统当前所面临最为严重的安全威胁。针对注入型脆弱性与接收外部输入行为密切相关这一特征。
[0004]进一步,代码在执行过程中,出于客户端的各种原因,可能会对源代码进行截取并进行反编译,从而获得源代码或者源代码所包含的逻辑、算法、执行流程等不应该被外界所知的知识部分,继而对源代码开发者的权益带来损失。
[0005]查阅相关地已公开技术方案,公开号为US2021089645A1提出一种生成随机安全标签并写入指令块内,并在指令块执行时根据标签的指向两个异或域的随机互相验证的方式,阻止指令块出现异常时不会被发送到处理器执行;CN112231651(A)提出一种对源码核心进行MD5值进行非对称加密的方式,加强源码核心的解密难度,从而提高解密和反编译的时间和算力成本。然而以上技术方案都是针对过往中心化编码的运算方式,并未适合目前讨论的分布式编码方式。

技术实现思路

[0006]本专利技术的目的在于,提供一种防止代码注入或源码反编译的分布式编码系统;所述编码系统充分利用了分布式系统具有的多节点、多并发特点,将程序的编码、执行和合法性验证的进程,通过分拆和指派后,由各节点分别进行编码和合法性验证,并在此过程中记录足够多的特征记录作为编码算法优化依据,有效提高了编码和执行时的效率和安全性;并且本编码系统利用区块链对完整代码进行加密性后的加密验证信息保存,有效防止加密信息在某一节点泄漏后对代码的一致性质疑 。
[0007]本专利技术采用如下技术方案:一种防止代码注入或源码反编译的分布式编码系统,所述编码系统包含调度模块、检查模块和处理模块;所述调度模块运行于分布式系统上至少一个节点上;所述调度模块对需要进行的编码任务生成任务编号和预留相应的分布式云存储空间,并根据拆分规则将编码任务拆分为k个编码阶段,并将每个所述编码阶段进一步拆分为j个子任务项;根据分布式当前部署情况,所述调度模块分配所述子任务项到分布式系统内的指定节点进分编码处理;所述检查模块对完成编码的子任务项进行监察和校验,并反馈校验结果;所述处理模块位于分布式所有运算节点上,用于对所述子任务项进行编码运算,加密编码结果,进行数字签名以及打包上传运算结果的操作;其中,分布式系统内部建立一个联盟链组织并且在联盟链上维护一条代码主链;在接到编码任务时,由分布式系统上所有的n个节点通过共识机制推选第一节点;所述第一节点作为响应编码请求和分派编码任务操作的第一响应节点;通过调用所述调度模块,所述第一节点要求分布式系统中的其他节点担当编码节点或者验证节点的角色,并形成相应的分派节点记录以提供合法性和可回溯性的验证可能性;所述编码节点在完成编码任务后,请求验证节点中的其中至少一个对完成编码后的代码进行验证测试以找出其中可能存在的代码漏洞;所述联盟链内的每一个节点都拥有一对属于所述节点的公钥Pkey和私钥Skey;所述公钥Pkey和私钥Skey通过非对称加密方式生成;所述节点的所述公钥Pkey广播到所述联盟链上,并由链上所有节点记录;所述私钥Skey由节点自行保存和保密,并在进行所述子任务的编码操作时,用于加密操作;通过所述公钥Pkey加密的信息只能由所述私钥Skey进行解密;通过所述私钥Skey加密的信息只能由所述公钥Pkey进行解密;所述第一节点在被推选出来后,联盟链使用所述第一节点的所述第一公钥加密所述调度模块的登陆通证;所述第一节点通过第一私钥解密所述登陆通证,并获得所述调度模块的调度权限,执行任务调度操作;所述第一节点通过调用所述调度模块,发送其中一个所述子任务项到除所述第一节点外的(n

1)个节点进行预编码,通过测算所述(n

1)个节点运算能力以及负载比,计算每个节点的能力值;所述调度模块统计各节点的能力值,选择(n

1)个节点中的j个节点作为计算节点;j个所述计算节点组成计算节点组;所述第一节点将一个所述编码阶段中的j个所述子任务项分派到所述计算节点组,并编写形式为<任务编号

编码阶段

子任务项

计算节点编号>的计算节点分派记录;所述第一节点根据所述计算节点分派记录执行分派操作,将一个编码阶段中的j个所述子任务项分发到j个所述计算节点进行编码运算;所述计算节点分派记录由所述第一节点写入所述代码主链的区块中;所述计算节点组通过联盟链内的共识机制由全体节点确认其合法性;所述联盟链向所述计算节点组内的j个所述计算节点发送由各自的公钥Pkey加密的启用所述处理模块权限的通证;每个所述计算节点通过各自的所述私钥Skey解密所述处理模块权限的通证,从而获得调用所述处理模块的权限,并利用所述处理模块进行编码处理;在所述计算节点组被指定后,所述调度模块指定其余的(n

j

1)个节点为验证节点,并由所述调度模块生成验证节点分派记录<任务编号

编码阶段

子任务项

验证节点编号>;
所述验证节点分派记录由所述第一节点写入所述代码主链的区块中;所述验证节点组通过联盟链内的共识机制由全体节点确认其合法性;所述联盟链向所述验证节点组内的(n

j

1)个验证节点发送由各自的公钥Pkey加密的启用所述检查模块权限的通证;每个所述验证节点通过各自的所述私钥Skey解密所述检查模块权限的通证,从而获得调用所述检查模块的权限,并利用所述检查模块进行编码监察;当一个所述计算节点完成所述一个子任务项并获得对应的代码段后,请求至少一个所述验证节点进行代码注入测试;至少一个所述验证节点通过利用已知的或者可能存在的代码本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种防止代码注入或源码反编译的分布式编码系统,其特征在于,所述编码系统包含调度模块、检查模块和处理模块;所述调度模块运行于分布式系统的至少一个节点上;所述调度模块对需要进行的编码任务生成任务编号和预留相应的分布式云存储空间,并根据拆分规则将编码任务拆分为k个编码阶段,并将每个所述编码阶段进一步拆分为j个子任务项;根据分布式当前部署情况,所述调度模块分配所述子任务项到分布式系统内的指定节点进分编码处理;所述检查模块对完成编码的子任务项进行监察和校验,并反馈校验结果;所述处理模块位于分布式所有运算节点上,用于对所述子任务项进行编码运算,加密编码结果,进行数字签名以及打包上传运算结果的操作;其中,分布式系统内部建立一个联盟链组织并且在联盟链上维护一条代码主链;在接到编码任务时,由分布式系统上所有的n个节点通过共识机制推选第一节点;所述第一节点作为响应编码请求和分派编码任务操作的第一响应节点;通过调用所述调度模块,所述第一节点要求分布式系统中的其他节点担当编码节点或者验证节点的角色,并形成相应的分派节点记录以提供合法性和可回溯性的验证可能性;所述编码节点在完成编码任务后,请求验证节点中的其中至少一个对完成编码后的代码进行验证测试以找出其中可能存在的代码漏洞。2.根据权利要求1所述一种防止代码注入或源码反编译的分布式编码系统,其特征在于,所述联盟链内的每一个节点都拥有一对属于所述节点的公钥Pkey和私钥Skey;所述公钥Pkey和私钥Skey通过非对称加密方式生成;所述节点的所述公钥Pkey广播到所述联盟链上,并由链上所有节点记录;所述私钥Skey由节点自行保存和保密,并在进行所述子任务的编码操作时,用于加密操作;通过所述公钥Pkey加密的信息只能由所述私钥Skey进行解密;通过所述私钥Skey加密的信息只能由所述公钥Pkey进行解密。3.根据权利要求2所述一种防止代码注入或源码反编译的分布式编码系统,其特征在于,所述第一节点在被推选出来后,联盟链使用所述第一节点的第一公钥加密所述调度模块的登陆通证;所述第一节点使用第一私钥解密所述登陆通证,并获得所述调度模块的调度权限,执行任务调度操作。4.根据权利要求3所述一种防止代码注入或源码反编译的分布式编码系统,其特征在于,所述第一节点通过调用所述调度模块,发送其中一个所述子任务项到除所述第一节点外的(n

1)个节点进行预编码,通过测算所述(n

1)个节点运算能力以及负载比,计算每个节点的能力值;所述调度模块统计各节点的能力值,选择(n

1)个节点中的j个节点作为计算节点;j个所述计算节点组成计算节点组;所述第一节点将一个所述编码阶段中的j个所述子任务项分派到所述计算节点组,并编写形式为<任务编号

编码阶段

子任务项

计算节点编号>的计算节点分派记录;所述第一节点根据所述计算节点分派记录执行分派操作,将一个编码阶段中的j个所述子任务项分发到j个所述计算节点进行编码运算。5.根据权利要求4所述一种防止代码注入或源码反编译的分布式编码系统,其特征在于,所述计算节点分派记录由所述第一节点写入所...

【专利技术属性】
技术研发人员:张卫平丁烨张浩宇
申请(专利权)人:环球数科集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1