当前位置: 首页 > 专利查询>张维加专利>正文

一种跨设备部署的分布式计算系统技术方案

技术编号:20362673 阅读:73 留言:0更新日期:2019-02-16 16:26
本发明专利技术设计了一种跨设备部署的分布式计算系统,包含沙盒化的客户端与服务端(包括分布式记账服务端),客户端沙盒对消息与进程进行拦截与重定向,将指令、汇编、编译器缓存与中间文件、文件与注册表操作、程序操作的真实路径等指向服务端对应数据,服务端作为项目与代码的真实存储与映射控制,对客户端所执行的内容下达动态替换,由沙盒执行,从而实现客户端所见非所得,编辑器中的伪代码,编译时被替换为真实代码并编译或执行。并设计了沙盒链多次开发机制。代码动态加载的程序,也同样可以实现其执行功能由服务端实时控制替换。为确保流程安全,客户端被沙盒化成为受限环境。通过内核沙箱将工作空间隔离形成沙盒桥,服务端与客户端可以互通。

【技术实现步骤摘要】
一种跨设备部署的分布式计算系统
本专利技术属于计算机与网络的计算架构领域,特别是数字资产的应用与流转。
技术介绍
当今社会在信息化,但是数字资产存在安全与效率两大痛点。1.安全方面,数字资产易被盗取,易被攻击,仅仅美国每年因为知识产权盗窃造成的损失就高达6000亿美元。数据泄露事件频发,涉及文档、图纸、个人信息以及源代码等各种数据类型。企事业的机密文档,研发源代码,图纸等核心技术机密资料,很容易经内部员工的主动泄密流转到外面,甚至落到竞争对手手中。传统的加密因为速度慢,影响使用,解密后即可泄密,基本已经从市场上淘汰。而DSA数据安全隔离虽然是当前数据防泄密技术中有效手段之一,在实际的使用中却会造成使用者尤其是软件工程师泄密的情况。2.效率方面,流通效率低,研发效率低。每年全球研发投入已经达到2万亿美元,然而其中60%属于重复研发,基本上每个开发团队都是独立研发。本质原因就是,开发的源文件很难流通。即使在欧美国家,开源项目虽然数量很大,然而仍远远不能满足各行业的研发需求,大部分的项目是不开源的,尤其重要的项目更是很少有开源内容。所以,如果有这样的一个计算架构,能够让数字资产像沙子做的沙画那样,看得见但拿不走,那么就可以在很大程度上解决安全与效率问题。过去,计算机领域也有沙盒,然而只是用于反病毒反恶意软件。这是因为过去沙盒只做用户层hook,无法改变计算架构。本专利技术所涉及的系统会对传统的本地化、中心化的计算架构有所重新设计。
技术实现思路
本专利技术设计了一种跨设备部署的分布式计算系统,在文件、指令、程序、代码和注册表层面实现隔离,并改变了整个局域网机器的I/O处理方式。系统包含客户端与服务端,服务端可以是是一台专门的服务器,也可以是分布式的服务器节点(包括基于区块链的分布式节点),这些服务端的目的是:1.作为研发项目与代码的真实的存储位置;2.存管对应与映射关系,指的是伪代码与真实代码之间的对应关系;3.服务器接收客户端的指令,并控制客户端所执行或编译的代码的动态替换,以及版本控制,权限分级控制。在客户端部署沙盒程序,而后通过部署在客户端的沙盒程序对客户端系统的对消息与进程进行拦截与重定向,将客户端的指令、汇编、编译器缓存与中间文件、文件与注册表操作、程序操作等的部分或全部内容的真实路径指向服务端上对应的源代码、或者项目、或者工作空间、或数据库等,服务端作为研发项目与代码等的真实存储与映射管理器,对客户端所执行或编译的代码等内容提供动态替换的内容,由客户端程序执行动态替换,从而实现客户端的所见非所得,如:编辑器中可以插入伪代码,以下简称沙盒宏,这部分代码不是真实代码,而是某种指代,比如//hook(documentAPI,z.dll),正常情况下这本来应该是一行注释文字,如果客户端计算机不能连接到服务端的话,编译器也就是将其作为一行注释,不会有任何内容添加到程序中。然而,当这台客户端连接到服务端的时候,这行注释就会被沙盒宏替换为一行对所有文件操作相关的API进行全面hook并注入z.dll的代码,并编译供执行。又如,应用程序也可以类似地实现动态控制,需先将程序开发为代码动态加载的模式,在软件启动运行过程中也同样可以实现应用程序的执行功能、菜单、效果由服务端实时控制替换。见说明书附图1。而除运行与编译环节外,无论任何获取方式获取,打印或显示或编辑,均为伪代码,见说明书附图2。本系统客户端代码还包含多次转译的流程,在系统的架构上,设计了延伸链条以进行自我延展,其控制模式为:系统的处理实现还包含多次转译的设计,如,代码ABCD在第一客户端转译为伪代码XY,假定在这个过程中经过了二次开发,又包含了来自原来第一客户端用户的新的内容EFG,新的代码XY-EFG,再存储到服务端上,然后经过本系统转译,在第二客户端以伪代码XYZ的形式处理,处理时映射回ABCDEFG,从而在过程中包括了更多的开发者的内容。这种链条结构以下简称沙盒链。见说明书附图3。除了编译开发的环节,在执行的环节也可以替换。将程序开发为代码动态加载的模式,窗体等也通过代码动态绘制,就可以实现应用程序的执行情况由服务端实时控制替换。在缓存文件上,首先都是经过透明加密保护的,然后还可以不写入客户端系统,而是在内存创建一个的Ramdisk虚拟磁盘存储区,虚拟化为虚拟磁盘从而进行I/O控制,并同时执行在客户端上的缓存、中间文件等的透明加密。所有的通讯都是加密传输的,所有的中间内容也都是透明加密的。进一步地,为了确保代码或者中间文件在客户端这个环节,不会被内存dump、断点调试、虚拟机外部调试等手段截获,我们将客户端配置成一个受限制的环境:1.客户端沙盒进程实现对client端的限制,客户端被沙盒化成为一种特殊的受限环境,系统的客户端沙盒进程通过控制IRP注入所有的进程,校验进程行为,检查常驻进程的保护程序,一旦保护程序自检异常,如果发现内存访问的疑似可疑行为,或者vm虚拟机调试环境等,就终止主程序,通过这种特殊的全局注入,控制所有的API,远程线程,强制全面hook,迫使客户端在沙盒受限环境下运行,又比如建立md5白名单库,编译的时候由客户端部署的程序检查md5,凡是不在可信md5库内的程序在特殊时间段(主要是可能被攻击的几个环节)均不予运行;2.客户端沙盒监视进程与服务端通讯,沙盒宏替换程序也与服务端通讯,两个通讯相互依赖:沙盒监视进程一旦侦测到了可疑环境,就立即通知服务端关闭沙盒宏服务,服务端接收到异常或者检测到与沙盒宏的通讯本身出现异常都关闭沙盒宏服务,并由沙盒监视进程取证,以及诸如发现有readmemory行为的,就关掉沙盒宏的主程序,由沙盒监视进程取证;3.客户端除了重定向,还部署了特殊环节(主要是可能被攻击的几个环节)的屏幕监控与终端管控,进行取证,可以对客户端的屏幕进行。对于client端如果在虚拟机下运行,或者通过虚拟机进行外部调试的话,就予以立即的取证;4.区块链公证,对整个沙盒宏的运行过程,包括服务器与项目源主体,以及时间、MAC地址、IP、身份等都进行分布式的永久的不可篡改的记录。当然,系统的客户端内存与服务端之间的交互都进行了加密。利用沙盒宏的动态属性,沙盒在客户端虚拟出一些进程和文件,以及混淆代码,以诱骗攻击者与窃密者,当这些混淆代码与进程被以某种方式访问的情况下触发报警。实际案例的产品效果见以下网站:chain.jiamihezi.com更进一步地,对于深度的涉及底层操作的应用,我们还以以下方案进行了更加底层的沙盒化:开发了一个精简的虚拟化的平行NT内核,通过控制IRP(i/oRequestPacket)将部分关键内核(文件、程序、输入、输出等)操作接管、2000多个主要API替换(其中也有很多是替换参数再调用原函数)、并驻留内存;进而,形成的这个内核层的重定向沙箱,与用户层的通过inlinehook与SSDThook实现的用户层虚拟化沙箱实现交互,能够将几乎所有文件、程序、系统都变成映射;再由沙盒对所有的映射进行解析;见说明书附图4。其他部分就与上文所述的方式的一致了。这个架构下,数字资产的操作、开发、编译,均是虚拟化、链接化的。并且,这个系统是支持非本地的,因为指向都已经链接化了,这个系统可以跨设备部署。客户端的开发者自身的代本文档来自技高网...

【技术保护点】
1.一种跨设备部署的分布式计算系统,该系统具有如下特征:a.系统的组成,包含至少一个客户端,至少一个服务端,客户端与服务端可以在同一台计算机上,也可以部署在不同的计算设备上,并经广域网或者局域网联通;b.系统的工作原理,在客户端部署重定向与内容替换展开程序, 该程序对消息与进程进行拦截与重定向,将客户端的指令、汇编、编译器缓存与中间文件、文件与注册表操作、程序操作等的部分或全部内容的真实路径指向服务端上对应的源代码、或者项目、或者工作空间、或数据库等,服务端作为研发项目与代码等的真实存储与映射管理器,对客户端所执行或编译的代码等内容提供动态替换的内容,由客户端程序执行动态替换,从而实现客户端的所见非所得,如:编辑器中的伪代码,编译时被替换为真实的代码并编译或执行,对于客户端的开发者,输入的看到的均是伪代码,而后编译时被动态替换为真实的代码,使得真实的代码不被使用者获取(简称沙盒宏);又如,应用程序也可以类似地实现动态控制,需先将程序开发为代码动态加载的模式,在软件启动运行过程中也同样可以实现应用程序的执行功能、菜单、效果由服务端实时控制替换。

【技术特征摘要】
1.一种跨设备部署的分布式计算系统,该系统具有如下特征:a.系统的组成,包含至少一个客户端,至少一个服务端,客户端与服务端可以在同一台计算机上,也可以部署在不同的计算设备上,并经广域网或者局域网联通;b.系统的工作原理,在客户端部署重定向与内容替换展开程序,该程序对消息与进程进行拦截与重定向,将客户端的指令、汇编、编译器缓存与中间文件、文件与注册表操作、程序操作等的部分或全部内容的真实路径指向服务端上对应的源代码、或者项目、或者工作空间、或数据库等,服务端作为研发项目与代码等的真实存储与映射管理器,对客户端所执行或编译的代码等内容提供动态替换的内容,由客户端程序执行动态替换,从而实现客户端的所见非所得,如:编辑器中的伪代码,编译时被替换为真实的代码并编译或执行,对于客户端的开发者,输入的看到的均是伪代码,而后编译时被动态替换为真实的代码,使得真实的代码不被使用者获取(简称沙盒宏);又如,应用程序也可以类似地实现动态控制,需先将程序开发为代码动态加载的模式,在软件启动运行过程中也同样可以实现应用程序的执行功能、菜单、效果由服务端实时控制替换。2.根据权利要求1的一种系统,其特征在于,系统的架构上,设计了延伸链条(简称沙盒链)以进行自我延展,其控制模式为:系统的处理实现还包含多次转译的设计,如,代码ABCD在第一客户端转译为伪代码XY,假定在这个过程中经过了二次开发,又包含了来自原来第一客户端用户的新的内容EFG,新的代码XY-EFG,再存储到服务端上,然后经过本系统转译,在第二客户端以伪代码XYZ的形式处理,处理时映射回ABCDEFG,从而在过程中包括了更多的开发者的内容。3.根据权利要求2的一种系统,其特征在于,系统设计了如下沙盒连通模式(简称沙盒桥),以实现由分布式的客户端来同时作为分布式的服务端:当客户端与服务端连接的时候,由客户端指明服务端,对应的服务端进行认证,认证成功后服务端上生成一个即时产生的沙盒(比如在内核层做IRPHook沙盒隔离来生成具有独立映射关系的用户沙箱,其文件、注册表等完全不会出现在原来主用户的工作空间中),真实代码或内容进入该沙盒,服务端的沙盒与客户端的沙盒连通,彼此适应同一套映射关系,执行操作,通讯结束后,服务端的这一沙盒立即关闭;这种模式下,客户端与服务端的界限是模糊的,客户端也可以随时生成服务型沙盒,以其部分项目或代码(比如上文提到的XY-EFG这样的二次开发内容)进入该临时的服务型沙盒,成为服务端。4.根据权利要求2的一种系统,其特征在于,服务端通过沙箱将每个用户的工作空间隔离,以实现虚拟化,并为每个用户分别设置对应的真实存储区,比如各自对应的可进行IO控制的虚拟磁盘。5.根据权利要求3的一种系统,其特征在于,系统的客户端的沙盒链的多次开发转译的内容以分叉的形式记录在分布式服务端,原始内容与二次开发内容、多次开发内容属于不同的分叉,各自的贡献权重通过归因模型计算;这种方式会造成一定的存储占用的增加,可以通过由大部分客户端同时作为服务端来克服。6.根据权利要求1的一种系统,其特征在于,系统的客户端的缓存指向一...

【专利技术属性】
技术研发人员:张维加
申请(专利权)人:张维加
类型:发明
国别省市:浙江,33

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

1