CN109343937A - 一种跨设备部署的分布式计算系统 - Google Patents
一种跨设备部署的分布式计算系统 Download PDFInfo
- Publication number
- CN109343937A CN109343937A CN201811165077.9A CN201811165077A CN109343937A CN 109343937 A CN109343937 A CN 109343937A CN 201811165077 A CN201811165077 A CN 201811165077A CN 109343937 A CN109343937 A CN 109343937A
- Authority
- CN
- China
- Prior art keywords
- client
- sandbox
- server
- code
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 244000035744 Hura crepitans Species 0.000 claims abstract description 104
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims abstract description 29
- 238000013507 mapping Methods 0.000 claims abstract description 9
- 238000011161 development Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 238000002955 isolation Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000013519 translation Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 230000006399 behavior Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 230000001681 protective effect Effects 0.000 claims description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 claims description 2
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 claims description 2
- 230000004048 modification Effects 0.000 claims description 2
- 230000008676 import Effects 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 claims 1
- 230000007246 mechanism Effects 0.000 abstract description 4
- 238000006243 chemical reaction Methods 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract description 2
- 230000018109 developmental process Effects 0.000 description 18
- 239000010410 layer Substances 0.000 description 7
- 238000012827 research and development Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000004087 circulation Effects 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002344 surface layer Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Abstract
本发明设计了一种跨设备部署的分布式计算系统,包含沙盒化的客户端与服务端(包括分布式记账服务端),客户端沙盒对消息与进程进行拦截与重定向,将指令、汇编、编译器缓存与中间文件、文件与注册表操作、程序操作的真实路径等指向服务端对应数据,服务端作为项目与代码的真实存储与映射控制,对客户端所执行的内容下达动态替换,由沙盒执行,从而实现客户端所见非所得,编辑器中的伪代码,编译时被替换为真实代码并编译或执行。并设计了沙盒链多次开发机制。代码动态加载的程序,也同样可以实现其执行功能由服务端实时控制替换。为确保流程安全,客户端被沙盒化成为受限环境。通过内核沙箱将工作空间隔离形成沙盒桥,服务端与客户端可以互通。
Description
技术领域
本发明属于计算机与网络的计算架构领域,特别是数字资产的应用与流转。
背景技术
当今社会在信息化,但是数字资产存在安全与效率两大痛点。
1.安全方面,数字资产易被盗取,易被攻击,仅仅美国每年因为知识产权盗窃造成的损失就高达6000亿美元。数据泄露事件频发,涉及文档、图纸、个人信息以及源代码等各种数据类型。企事业的机密文档,研发源代码,图纸等核心技术机密资料,很容易经内部员工的主动泄密流转到外面,甚至落到竞争对手手中。传统的加密因为速度慢,影响使用,解密后即可泄密,基本已经从市场上淘汰。而DSA数据安全隔离虽然是当前数据防泄密技术中有效手段之一,在实际的使用中却会造成使用者尤其是软件工程师泄密的情况。
2.效率方面,流通效率低,研发效率低。每年全球研发投入已经达到2万亿美元,然而其中60%属于重复研发,基本上每个开发团队都是独立研发。本质原因就是,开发的源文件很难流通。即使在欧美国家,开源项目虽然数量很大,然而仍远远不能满足各行业的研发需求,大部分的项目是不开源的,尤其重要的项目更是很少有开源内容。
所以,如果有这样的一个计算架构,能够让数字资产像沙子做的沙画那样,看得见但拿不走,那么就可以在很大程度上解决安全与效率问题。过去,计算机领域也有沙盒,然而只是用于反病毒反恶意软件。这是因为过去沙盒只做用户层hook,无法改变计算架构。
本发明所涉及的系统会对传统的本地化、中心化的计算架构有所重新设计。
发明内容
本发明设计了一种跨设备部署的分布式计算系统,在文件、指令、程 序、代码和注册表层面实现隔离,并改变了整个局域网机器的I/O处理方式。
系统包含客户端与服务端,服务端可以是是一台专门的服务器,也可以是分布式的服务器节点(包括基于区块链的分布式节点),这些服务端的目的是:1.作为研发项目与代码的真实的存储位置; 2.存管对应与映射关系,指的是伪代码与真实代码之间的对应关系; 3.服务器接收客户端的指令,并控制客户端所执行或编译的代码的动态替换,以及版本控制,权限分级控制。
在客户端部署沙盒程序, 而后通过部署在客户端的沙盒程序对客户端系统的对消息与进程进行拦截与重定向,将客户端的指令、汇编、编译器缓存与中间文件、文件与注册表操作、程序操作等的部分或全部内容的真实路径指向服务端上对应的源代码、或者项目、或者工作空间、或数据库等,服务端作为研发项目与代码等的真实存储与映射管理器,对客户端所执行或编译的代码等内容提供动态替换的内容,由客户端程序执行动态替换,从而实现客户端的所见非所得,如:编辑器中可以插入伪代码,以下简称沙盒宏,这部分代码不是真实代码,而是某种指代,比如//hook(document API, 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. 客户端沙盒监视进程与服务端通讯,沙盒宏替换程序也与服务端通讯,两个通讯相互依赖:沙盒监视进程一旦侦测到了可疑环境,就立即通知服务端关闭沙盒宏服务,服务端接收到异常或者检测到与沙盒宏的通讯本身出现异常都关闭沙盒宏服务,并由沙盒监视进程取证,以及诸如发现有read memory行为的,就关掉沙盒宏的主程序,由沙盒监视进程取证;
3.客户端除了重定向,还部署了特殊环节(主要是可能被攻击的几个环节)的屏幕监控与终端管控,进行取证,可以对客户端的屏幕进行。对于client端如果在虚拟机下运行,或者通过虚拟机进行外部调试的话,就予以立即的取证;
4.区块链公证,对整个沙盒宏的运行过程,包括服务器与项目源主体,以及时间、MAC地址、IP、身份等都进行分布式的永久的不可篡改的记录。
当然,系统的客户端内存与服务端之间的交互都进行了加密。利用沙盒宏的动态属性,沙盒在客户端虚拟出一些进程和文件,以及混淆代码,以诱骗攻击者与窃密者,当这些混淆代码与进程被以某种方式访问的情况下触发报警。
实际案例的产品效果见以下网站:chain.jiamihezi.com
更进一步地,对于深度的涉及底层操作的应用,我们还以以下方案进行了更加底层的沙盒化:
开发了一个精简的虚拟化的平行NT内核,通过控制IRP(i/o Request Packet)将部分关键内核(文件、程序、输入、输出等)操作接管、2000多个主要API替换(其中也有很多是替换参数再调用原函数)、并驻留内存;
进而,形成的这个内核层的重定向沙箱,与用户层的通过inline hook与SSDT hook实现的用户层虚拟化沙箱实现交互,能够将几乎所有文件、程序、系统都变成映射;
再由沙盒对所有的映射进行解析;见说明书附图4。其他部分就与上文所述的方式的一致了。
这个架构下,数字资产的操作、开发、编译,均是虚拟化、链接化的。
并且,这个系统是支持非本地的,因为指向都已经链接化了,这个系统可以跨设备部署。客户端的开发者自身的代码文件可以在本地显示、编辑、运行,来自沙盒宏的则是伪代码,可以在一个工程项目甚至同一个代码文件下一起使用,本地显示编辑的都是伪代码,然而编译出来或运行出来的则是真代码。当脱离系统、不能连接到服务端,或者认证授权过期,则这些伪代码的效果都只是注释。
服务器上的分布式存储也可以有多种模式: 1. 同时将真实文件拆分成多份保存,即在服务端上文件不是以完整的文件形式保存,而是将文件拆分多段分别保存到多个不同的物理机器,每个服务器分别保存一部分,或者多个不同的物理磁盘,但对于客户端上的映射与替换时则还是一个完整的文件;2.采用区块链式的分布式存储;3. 系统的服务端通过沙箱将每个用户的工作空间隔离,一个用户一个沙盒, 不同的沙盒与沙盒之间映射关系不同, 因此文件与进程互相之间不可访问,为每个用户设置对应的真实存储区(网络磁盘或虚拟磁盘或文件夹,或在服务器Ramdisk中创建虚拟存储区域),在同一台计算机上起到了共享计算池、分割计算机的效果。
系统还设计了如下沙盒连通模式,以实现由分布式的客户端来同时作为分布式的服务端:当客户端与服务端连接的时候,由客户端指明服务端,对应的服务端进行认证,认证成功后服务端上生成一个即时产生的沙盒(以下简称沙盒桥,比如在内核层做IRP Hook沙盒隔离来生成具有独立映射关系的用户沙箱,其文件、注册表等完全不会出现在原来主用户的工作空间中,这个生成的用户沙箱建立在硬盘分区下的文件,不会出现在原来主用户的工作空间中),真实代码或内容进入该沙盒,服务端的沙盒与客户端的沙盒连通,彼此适应同一套映射关系,执行操作,通讯结束后,服务端的这一沙盒立即关闭;这种模式下,客户端与服务端的界限是模糊的,客户端也可以随时生成服务型沙盒,以其部分项目或代码(比如上文提到的XY-EFG这样的二次开发内容)进入该临时的服务型沙盒,成为服务端。因为这种主从关系是临时的,也是安全的。
因此,其实在本系统中,因为有沙盒桥的存在,客户端与服务端的关系也可以反过来的,如果可以形成数量庞大的客户端,则实际上也就形成了数量庞大的服务端。见附图5。
本发明的优势在于:
特征1,开发终端可以获得来自沙盒宏服务端的代码输出、项目输出,大大提升研发实力与效率,而整个过程中不会造成泄密或知识产权侵犯,并具有独特的数字资产分布式处理与分布式应用的作用;
特征2,应用程序过去运行都是代码编译后本地化运行, 现在也可以以动态代码运行,本地化编译的只是伪代码, 由沙盒宏服务器作为其运行时候转译到动态真实代码的源头,并实现了分布式记录部署, 服务端不可篡改,客户端不可见真实源代码或者源文件——本发明还可以增强代码动态载入程序以及代码动态绘制型程序的功能,其应用可以超过过去vbs程序,脚本程序,动态代码exe控件,程序窗体由代码动态绘制的程序等,因为现在应用程序可以像网页那样由服务端提供执行代码、功能与架构,其他应用场景包括:a.嵌入式设备与嵌入式系统实现针对设备与环境的应变智能化; b.安卓、PC的应用软件插件化,插件可以灵活增加功能; c.混淆代码以增强反破解等;
特征3,本发明系统的沙盒链结构保证了二次开发的成果可以再利用;
特征4,依托本发明系统的沙盒桥机制,每个客户端也可以转变为服务端,对整个系统形成正向反馈;
特征5. 本发明适用面广泛,除了代码、程序,各种游戏开发、VR虚拟现实开发等,各类数字资产,还可适用于网站程序。一直以来,网站都是以明文的代码传递到浏览器,网站内容存储在服务器上,现在可以是H5接收伪代码,不同的终端可以解析出不同的内容,实现内容的个体化自动分发;
特征 6. 本系统的分布式架构使得其在许多方面可以结合一些同样为分布式架构的区块链的应用,比如,可以在运行中的连通、分发、执行等环节上进行区块链公证,对整个运行过程,包括服务器与项目源主体,以及时间、MAC地址、IP、身份等都进行分布式的永久的不可篡改的记录。
本发明所设计的技术方案中,客户端计算设备既可以是电脑,也可以是便携式计算机包括手机与平板设备,以及嵌入式设备。对于一些权限原因,造成很多民用的移动设备底层操作受限、难以运行完整沙盒重定向程序或者沙盒监视程序,对此我们还设计了一个移动设备中间层方案:通过unity开发了一个跨平台的手机端的无需root权限的APP,并内置有浏览器,支持调用基于WEB的APP,以远程协议访问中间层,该中间层则是远程通过沙盒内核虚拟隔离出来的云主机,虚拟的云主机再连接到分布式的服务器层。
本发明在降低了客户端的设计研发工作与难度同时,会加强辅助性与协同性,客户端应用者本身也可以是服务端的源项目的开发者与提供者,从而形成一个网络。所有的服务端的项目还可以共享token,共享更新 。
本发明已经成功实现了具体实施案例,作为一个具体实施案例,在上述基本架构的基础上,实施案例还做了如下的设置:
1.客户端选取了一台标准的windows7计算机,在上面安装了客户端软件,并经过重启计算机生效;
2.服务端选用windows server 2008服务器3台,安装了服务端内核沙盒,以便为每个客户端创建一个隔离的用户空间沙箱,以及每个用户可以自行上传、管理、分发、控制内容的管理系统,并在连接时启动该沙箱与客户端沙箱联通,作为沙盒桥,这一实例项目的存管基于沙盒隔离与去中心化区块链分布,3台服务端组成IPFS节点网络,数据是拆分存储在所有服务器的,但是任何一台的服务器又不能构成完整性;
3.我们测试了visual studio开发,在仅仅输入hello world的真实代码的情况下,通过在客户端输入沙盒伪代码 //sandbox_test得到了服务端输出的大量代码函数与计数功能,沙盒宏测试成功,输入的代码只是hello world,说明书附图6,其他都是沙盒宏注释,在过去的理论上是只会输出hello world的,然后结果却输出了多个函数,见说明书附图7;
4.然后还测试了unity 3D开发游戏,在仅仅输入背景框架的真实代码的情况下,见说明书附图8,通过服务端输出了大量按钮与图片和动态脚本,见说明书附图9效果;
5.在客户端上访问各类的应用,包括kindle、Netflix等中心化的分发应用,都能通过客户端的沙盒替换程序进行内容与代码替换,替换成服务器上以区块链形式部署的内容,也实现了客户端的无痕化使用与浏览,使用信息在与服务器的沙盒通讯关闭后即自动抹除;
6.为了方便二次开发与代码完善,客户端用户虽然不能够看到内部的代码与算法,但是可以通过沙盒宏的二次开发机制完善项目:对于项目员工团队,管理员可以赋予修改权限,分叉,记录修改分叉, 实时地在服务端节点链条上进行分叉;对于协作团队或者外包分工团队,在转译代码中添加数字水印,并支持管理员将希望被改进的一小部分开放,所有修改实时地在服务端节点链条上进行分叉;
7.为了方便创新项目与代码研发原始项目的价值评估,所有的伪代码到真实代码转译记录,以及动态代码加载记录,终端受众画像,都会在分布式服务器上记录,作为数字资产被估值和确权条件;
8.客户端的所形成的伪代码与二次开发真代码混合的结果,再以新的伪代码的形式提供给其他客户端,结合到了其他客户端的新项目中,得到了成功的编译反馈,原始开发与二次开发的程序都结合到了新项目中,编译正常,验证了沙盒链机制。
附图说明
附图1. 沙盒宏流程图。
附图2.沙盒宏说明图。
附图3.沙盒链流程图。
附图4.针对底层应用的内核注入与多层沙盒架构图。
附图5.沙盒桥流程图。
附图6. VC程序开发具体实施实例效果图——原始代码输入情况。
附图7. VC程序开发具体实施实例效果图——结果输出情况。
附图8. Unity游戏开发具体实施实例效果图——原始代码输入情况。
附图9. Unity游戏开发具体实施实例效果图——结果输出情况。
Claims (14)
1.一种跨设备部署的分布式计算系统,该系统具有如下特征:
a.系统的组成,包含至少一个客户端,至少一个服务端,客户端与服务端可以在同一台计算机上,也可以部署在不同的计算设备上,并经广域网或者局域网联通;
b.系统的工作原理,在客户端部署重定向与内容替换展开程序, 该程序对消息与进程进行拦截与重定向,将客户端的指令、汇编、编译器缓存与中间文件、文件与注册表操作、程序操作等的部分或全部内容的真实路径指向服务端上对应的源代码、或者项目、或者工作空间、或数据库等,服务端作为研发项目与代码等的真实存储与映射管理器,对客户端所执行或编译的代码等内容提供动态替换的内容,由客户端程序执行动态替换,从而实现客户端的所见非所得,如:编辑器中的伪代码,编译时被替换为真实的代码并编译或执行,对于客户端的开发者,输入的看到的均是伪代码,而后编译时被动态替换为真实的代码,使得真实的代码不被使用者获取(简称沙盒宏);又如,应用程序也可以类似地实现动态控制,需先将程序开发为代码动态加载的模式,在软件启动运行过程中也同样可以实现应用程序的执行功能、菜单、效果由服务端实时控制替换。
2.根据权利要求1 的一种系统,其特征在于,系统的架构上,设计了延伸链条(简称沙盒链)以进行自我延展,其控制模式为:系统的处理实现还包含多次转译的设计,如,代码ABCD在第一客户端转译为伪代码XY,假定在这个过程中经过了二次开发,又包含了来自原来第一客户端用户的新的内容EFG,新的代码XY-EFG,再存储到服务端上,然后经过本系统转译,在第二客户端以伪代码XYZ的形式处理,处理时映射回ABCDEFG,从而在过程中包括了更多的开发者的内容。
3. 根据权利要求2 的一种系统,其特征在于,系统设计了如下沙盒连通模式(简称沙盒桥),以实现由分布式的客户端来同时作为分布式的服务端:当客户端与服务端连接的时候,由客户端指明服务端,对应的服务端进行认证,认证成功后服务端上生成一个即时产生的沙盒(比如在内核层做IRP Hook沙盒隔离来生成具有独立映射关系的用户沙箱,其文件、注册表等完全不会出现在原来主用户的工作空间中),真实代码或内容进入该沙盒,服务端的沙盒与客户端的沙盒连通,彼此适应同一套映射关系,执行操作,通讯结束后,服务端的这一沙盒立即关闭;这种模式下,客户端与服务端的界限是模糊的,客户端也可以随时生成服务型沙盒,以其部分项目或代码(比如上文提到的XY-EFG这样的二次开发内容)进入该临时的服务型沙盒,成为服务端。
4.根据权利要求2 的一种系统,其特征在于,服务端通过沙箱将每个用户的工作空间隔离,以实现虚拟化,并为每个用户分别设置对应的真实存储区,比如各自对应的可进行IO控制的虚拟磁盘。
5.根据权利要求3 的一种系统,其特征在于,系统的客户端的沙盒链的多次开发转译的内容以分叉的形式记录在分布式服务端,原始内容与二次开发内容、多次开发内容属于不同的分叉,各自的贡献权重通过归因模型计算;这种方式会造成一定的存储占用的增加,可以通过由大部分客户端同时作为服务端来克服。
6. 根据权利要求1 的一种系统,其特征在于,系统的客户端的缓存指向一个虚拟磁盘,该虚拟磁盘进行IO的控制,还通过对文件与代码的缓存的透明加密实现对用户访问的额外控制,该虚拟磁盘可以是通过内存虚拟出的虚拟磁盘ramdisk,并将部分或全部缓存存在其中。
7.根据权利要求1 的一种系统,其特征在于,在系统的客户端的沙盒化阶段,对于特殊的涉及到深度底层操作的应用场景,本系统还带有一个精简的虚拟化内核,通过控制IRP(i/o Request Packet)将部分关键内核(文件、程序、输入、输出等)操作接管、并驻留内存,进而,形成的这个内核层的重定向沙箱, 与用户层的通过inline hook与SSDT hook实现的用户层虚拟化沙箱实现交互,将关键文件、程序、系统环境变成映射,再由沙盒对上述所有映射进行解析。
8.根据权利要求1 的一种系统,其特征在于,客户端还部署了特殊环节(主要是可能被攻击的几个环节)的屏幕监控与终端管控,进行取证,包括但不限于如下情况:对于client端如果在虚拟机下运行,或者通过虚拟机进行外部调试的话,就予以立即的取证,等等。
9.根据权利要求1 的一种系统,其特征在于,客户端沙盒监视进程与服务端通讯,沙盒宏替换程序也与服务端通讯,两个通讯相互依赖:沙盒监视进程一旦侦测到了可疑环境,就立即通知服务端关闭服务,服务端接收到异常、或者检测到与沙盒宏的通讯本身出现异常都关闭服务,并由客户端沙盒监视进程取证。
10. 根据权利要求1的一种系统,其特征在于,为确保流程安全,客户端被沙盒化成为一种特殊的受限环境:比如,系统的客户端沙盒进程通过修改源程序的IAT(ImportAddress Table)让源程序加载dll来注入所有的进程,校验进程行为,检查常驻进程的保护程序,一旦保护程序自检异常,如果发现内存访问的疑似可疑行为,或者vm虚拟机调试环境等,就终止主程序,通过这种特殊的全局注入,控制所有的API,远程线程,强制全面hook,迫使客户端在沙盒受限环境下运行;又比如建立md5白名单库,编译的时候,编译程序在沙盒下,由客户端部署的程序检查所有进程md5,凡是不在可信md5库内的程序在特殊时间段(主要是可能被攻击的几个环节)均不予运行。
11.根据权利要求1的一种系统,其特征在于,系统在运行中的连通、分发、执行等环节上进行区块链公证,对整个运行过程,包括服务器与项目源主体,以及时间、MAC地址、IP、身份等都进行分布式的永久的不可篡改的记录。
12.根据权利要求1的一种系统,其特征在于,服务端是分布式的以区块链架构比如IPFS方案存储的,如果我们将本系统保护起来的数据、文件、代码与脚本统称为源的话,这些源是分布式存储在各个节点的服务器的,以区块链的方式存储,全量节点存储所有同步记录,其他轻量节点可以部分同步。
13.根据权利要求1 的一种系统,其特征在于,系统的客户端的所有缓存的内容再进行了透明加密。
14.根据权利要求1的一种系统,其特征在于,服务端由N(N大于等于2)台服务器组成,当代码或者文件被重定向到服务器的时候,在服务端上代码或者文件被拆分成多段数据分别保存到多个不同的物理机器,分别保存一部分,但相对客户端进行映射时则还是完整的。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811165077.9A CN109343937A (zh) | 2018-10-07 | 2018-10-07 | 一种跨设备部署的分布式计算系统 |
PCT/CN2019/109833 WO2020073877A1 (zh) | 2018-10-07 | 2019-10-05 | 一种跨设备部署的分布式计算系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811165077.9A CN109343937A (zh) | 2018-10-07 | 2018-10-07 | 一种跨设备部署的分布式计算系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109343937A true CN109343937A (zh) | 2019-02-15 |
Family
ID=65308293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811165077.9A Pending CN109343937A (zh) | 2018-10-07 | 2018-10-07 | 一种跨设备部署的分布式计算系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109343937A (zh) |
WO (1) | WO2020073877A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110324406A (zh) * | 2019-06-03 | 2019-10-11 | 网宿科技股份有限公司 | 一种获取业务数据的方法和云服务系统 |
WO2020073877A1 (zh) * | 2018-10-07 | 2020-04-16 | 张维加 | 一种跨设备部署的分布式计算系统 |
CN111046430A (zh) * | 2019-12-12 | 2020-04-21 | 南京医渡云医学技术有限公司 | 数据处理方法及装置、存储介质及电子设备 |
CN111221626A (zh) * | 2020-01-03 | 2020-06-02 | 北京字节跳动网络技术有限公司 | 一种沙盒系统环境的创建方法、装置、介质和电子设备 |
CN112148364A (zh) * | 2019-10-18 | 2020-12-29 | 广东财经大学 | 一种嵌入式微内核操作系统分区链接方法及系统 |
CN112241309A (zh) * | 2020-10-21 | 2021-01-19 | 海光信息技术股份有限公司 | 一种数据安全方法、装置、cpu、芯片及计算机设备 |
CN112541165A (zh) * | 2020-12-19 | 2021-03-23 | 重庆智庄信息科技有限公司 | 一种程序源代码综合管理系统及方法 |
CN112732256A (zh) * | 2020-12-31 | 2021-04-30 | 广东赛意信息科技有限公司 | 一种基于纯服务端开发语言的跨平台移动app开发架构 |
CN113591041A (zh) * | 2021-09-28 | 2021-11-02 | 环球数科集团有限公司 | 一种防止代码注入或源码反编译的分布式编码系统 |
CN115469878A (zh) * | 2022-09-13 | 2022-12-13 | 上海掌御信息科技有限公司 | 一种Android代码多样性编译方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080016339A1 (en) * | 2006-06-29 | 2008-01-17 | Jayant Shukla | Application Sandbox to Detect, Remove, and Prevent Malware |
CN107403090A (zh) * | 2017-08-05 | 2017-11-28 | 张维加 | 一种跨设备部署的沙盒重定向架构 |
CN108133153A (zh) * | 2017-11-29 | 2018-06-08 | 北京京航计算通讯研究所 | 基于沙箱技术的云存储安全访问方法 |
CN109343937A (zh) * | 2018-10-07 | 2019-02-15 | 张维加 | 一种跨设备部署的分布式计算系统 |
-
2018
- 2018-10-07 CN CN201811165077.9A patent/CN109343937A/zh active Pending
-
2019
- 2019-10-05 WO PCT/CN2019/109833 patent/WO2020073877A1/zh active Application Filing
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020073877A1 (zh) * | 2018-10-07 | 2020-04-16 | 张维加 | 一种跨设备部署的分布式计算系统 |
CN110324406A (zh) * | 2019-06-03 | 2019-10-11 | 网宿科技股份有限公司 | 一种获取业务数据的方法和云服务系统 |
CN110324406B (zh) * | 2019-06-03 | 2022-07-26 | 网宿科技股份有限公司 | 一种获取业务数据的方法和云服务系统 |
CN112148364A (zh) * | 2019-10-18 | 2020-12-29 | 广东财经大学 | 一种嵌入式微内核操作系统分区链接方法及系统 |
CN112148364B (zh) * | 2019-10-18 | 2024-02-06 | 广东财经大学 | 一种嵌入式微内核操作系统分区链接方法及系统 |
CN111046430A (zh) * | 2019-12-12 | 2020-04-21 | 南京医渡云医学技术有限公司 | 数据处理方法及装置、存储介质及电子设备 |
CN111221626A (zh) * | 2020-01-03 | 2020-06-02 | 北京字节跳动网络技术有限公司 | 一种沙盒系统环境的创建方法、装置、介质和电子设备 |
CN111221626B (zh) * | 2020-01-03 | 2023-06-30 | 北京字节跳动网络技术有限公司 | 一种沙盒系统环境的创建方法、装置、介质和电子设备 |
CN112241309B (zh) * | 2020-10-21 | 2022-04-01 | 海光信息技术股份有限公司 | 一种数据安全方法、装置、cpu、芯片及计算机设备 |
CN112241309A (zh) * | 2020-10-21 | 2021-01-19 | 海光信息技术股份有限公司 | 一种数据安全方法、装置、cpu、芯片及计算机设备 |
CN112541165A (zh) * | 2020-12-19 | 2021-03-23 | 重庆智庄信息科技有限公司 | 一种程序源代码综合管理系统及方法 |
CN112732256B (zh) * | 2020-12-31 | 2024-03-19 | 广东赛意信息科技有限公司 | 一种基于纯服务端开发语言的跨平台移动app开发架构 |
CN112732256A (zh) * | 2020-12-31 | 2021-04-30 | 广东赛意信息科技有限公司 | 一种基于纯服务端开发语言的跨平台移动app开发架构 |
CN113591041A (zh) * | 2021-09-28 | 2021-11-02 | 环球数科集团有限公司 | 一种防止代码注入或源码反编译的分布式编码系统 |
CN113591041B (zh) * | 2021-09-28 | 2021-12-31 | 环球数科集团有限公司 | 一种防止代码注入或源码反编译的分布式编码系统 |
CN115469878B (zh) * | 2022-09-13 | 2023-11-24 | 上海掌御信息科技有限公司 | 一种Android代码多样性编译方法 |
CN115469878A (zh) * | 2022-09-13 | 2022-12-13 | 上海掌御信息科技有限公司 | 一种Android代码多样性编译方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020073877A1 (zh) | 2020-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109343937A (zh) | 一种跨设备部署的分布式计算系统 | |
CN103002445A (zh) | 一种安全的提供应用服务的移动电子设备 | |
CN100474253C (zh) | .Net程序保护方法及装置 | |
Yan et al. | Confidentiality support over financial grade consortium blockchain | |
Meyerovich et al. | Object views: Fine-grained sharing in browsers | |
CN109922106A (zh) | 基于Docker容器实现的云端手机系统 | |
CN106569856A (zh) | 一种应用视图资源文件的加载方法和装置 | |
CN104123059A (zh) | 基于web桌面化的云计算管理系统 | |
TWI737172B (zh) | 用於安全作業系統映像之增量解密及完整度驗證之電腦系統、電腦程式產品及電腦實施方法 | |
CN111079097A (zh) | 一种基于网络的编程开发系统 | |
Chen et al. | {MAGE}: Mutual Attestation for a Group of Enclaves without Trusted Third Parties | |
Müller et al. | Tz4fabric: Executing smart contracts with arm trustzone:(practical experience report) | |
CN109413189B (zh) | 一种基于底层转译的电子交易系统 | |
Pecka et al. | Privilege escalation attack scenarios on the devops pipeline within a kubernetes environment | |
CN110597496B (zh) | 应用程序的字节码文件获取方法及装置 | |
Wang et al. | Webenclave: protect web secrets from browser extensions with software enclave | |
Kotipalli et al. | Hacking Android | |
Gallingani | Static detection and automatic exploitation of intent message vulnerabilities in Android applications | |
CN111666596B (zh) | 一种数据处理方法、设备及介质 | |
Watson | New approaches to operating system security extensibility | |
Trček | Security policy conceptual modeling and formalization for networked information systems | |
CN116566629A (zh) | 一种安全测试方法、装置、计算机设备及存储介质 | |
Wang et al. | Modeling and vulnerable points analysis for e-commerce transaction system with a known attack | |
Muñoz-Gallego et al. | A Security Pattern for Cloud service certification | |
CN102779043B (zh) | 一种软件连接的方法及工具软件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190215 |
|
WD01 | Invention patent application deemed withdrawn after publication |