CN110390184B - 用于在云中执行应用的方法、装置和计算机程序产品 - Google Patents

用于在云中执行应用的方法、装置和计算机程序产品 Download PDF

Info

Publication number
CN110390184B
CN110390184B CN201810359410.3A CN201810359410A CN110390184B CN 110390184 B CN110390184 B CN 110390184B CN 201810359410 A CN201810359410 A CN 201810359410A CN 110390184 B CN110390184 B CN 110390184B
Authority
CN
China
Prior art keywords
data
application
user
authorization level
cloud
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.)
Active
Application number
CN201810359410.3A
Other languages
English (en)
Other versions
CN110390184A (zh
Inventor
陈飞
刘福财
王鲲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201810359410.3A priority Critical patent/CN110390184B/zh
Priority to US16/295,181 priority patent/US11005847B2/en
Publication of CN110390184A publication Critical patent/CN110390184A/zh
Application granted granted Critical
Publication of CN110390184B publication Critical patent/CN110390184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

本公开的实施例提供了用于在云中执行应用的方法、装置和计算机程序产品。在根据本公开的一个实施方式的方法中,接收来自用户的在云中执行应用的应用执行请求。响应于所述应用执行请求,在运行时环境中加载监控模块和保护数据配置,该保护数据配置定义不允许低授权级别的用户存取的敏感数据。通过所述监控模块来基于保护数据配置监控用户在所述应用的执行期间的数据输入和数据输出,以避免低授权级别的用户对所述敏感数据的存取。通过本公开的实施例,实现了在云中执行应用的过程中对敏感数据的有效保护。

Description

用于在云中执行应用的方法、装置和计算机程序产品
技术领域
本公开的实施例涉及云技术领域,并且更具体地,涉及用于在云中执行应用的方法、装置和计算机程序产品。
背景技术
目前,已经存在使用多个云来提供在线计算服务、存储服务等等的技术和应用。用户可以在云中存储他们自己的数据并且部署和运行他们的应用程序。
现场可编程门阵列(FPGA,Field Programmable Gate Array)是一种数字集成电路,其能够由用户进行配置以实现期望的功能。近来,人们开始将FPGA应用在云中,而且在云中使用FPGA正在成为一种趋势。例如在亚马逊云服务AWS、Nimbix云、华为云等云***中都已经配置了FPGA。用户可以使用专用的二进制数据来重新配置FPGA,以使得FPGA能够成为某些应用的硬件加速器。例如,可以将压缩/解压缩FPGA二进制数据重新配置到FPGA中,以加速文件压缩应用程序Gzip。FPGA二进制数据通常以二进制文件形式存储在应用中的特定位置,在使用时需要将用户的工作量数据和FPGA二进制文件两者都拷贝到云中的运行时环境中。
然而,在云中使用FPGA时可能引发一些安全性问题。在现有技术中,出于安全性的考虑,已经采用软件许可机制针对软件提供保护。然而,FPGA二进制文件本身是用于硬件电路的数据而不是通常意义上的软件。因此,针对软件提供保护的软件许可机制并不能用来保护FPGA二进制文件。同时,云中的FPGA器件是作为普通的共享硬件而提供的,因此FPGA二进制文件在通过标准应用程序编程接口(API)而被配置到FPGA硬件时,不能采取任何加密措施。而在这种情况下,只要用户能够接触到这些未加密的二进制文件或能够访问应用程序运行时环境,用户就能够复制FPGA二进制文件并在其他地方使用这些数据。
但是,这些FPGA二进制文件通常是由专家团队研发或者从第三方购买的,具有较高价值,因而在企业环境中通常不能允许运行应用程序的人员访问这些有价值的FPGA二进制文件。这样,在外部云中运行应用程序时如何保护有价值的FPGA二进制文件成为一个亟待解决的问题。
发明内容
本公开的实施例提供了一种用于在云中执行应用的技术方案,以解决或者至少部分上缓解现有技术终的至少部分问题。
在本公开的第一方面中,提供了一种用于在云中执行应用的方法。该方法包括接收来自用户的在云中执行应用的应用执行请求。该方法还包括响应于所述应用执行请求,在运行时环境中加载监控模块和保护数据配置。所述保护数据配置定义不允许低授权级别的用户存取的敏感数据。该方法进一步包括通过所述监控模块来基于保护数据配置监控用户在所述应用的执行期间的数据输入和数据输出,以避免低授权级别的用户对所述敏感数据的存取。
在本公开的第二方面中,提供了一种用于在云中执行应用的装置。该装置包括处理器以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使装置执行动作。所述动作包括接收来自用户的在云中执行应用的应用执行请求。所述动作还包括响应于所述应用执行请求,在运行时环境中加载监控模块和保护数据配置。所述保护数据配置定义不允许低授权级别的用户存取的敏感数据。该动作进一步包括通过所述监控模块来基于保护数据配置监控用户在所述应用的执行期间的数据输入和数据输出,以避免低授权级别的用户对所述敏感数据的存取。
在本公开的第三方面中,提供了一种用于在云中执行应用的装置。该装置包括:执行器前端、执行器后端和监控模块。所述执行器前端可以被配置为接收来自用户的在云中执行应用的应用执行请求。所述执行器代理可以被配置为响应于来执行器前端的操作请求,在运行时环境中加载监控模块和保护数据配置,其中所述保护数据配置定义不允许低授权级别的用户存取的敏感数据。所述监控模块可以被配置为基于保护数据配置来监控用户在所述应用的执行期间的数据输入和数据输出,以避免低授权级别的用户对所述敏感数据的存取。
在本公开的第四方面中,提供了一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行根据第一方面的方法。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们将在下文的具体实施方式中被进一步描述。发明内容部分并未意在标识本公开的关键特征或主要特征,也并未意在限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开的实施例可以在其中被实施的一个示例环境的示意图;
图2示出了根据本公开的一个实施例的用于在云中执行应用的方法的流程图;
图3示出了根据本公开的一个实施例的用于在云中执行应用的***的方框图;
图4示出了根据本公开的一个实施例的用于在云中执行应用的***中的各个模块的授权级别的示意图;
图5示出了根据本公开的一个实施例的用于在云中执行应用的具体过程的流程图;以及
图6示出了可以用来实施本公开的实施例的示例设备的框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
图1示出了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图。在该环境中,存在多个云,如图1中示出的亚马逊网络服务102、私有云104、微软Azure 106等等。所述多个云例如可以是具有供用户使用的异构设备的混合云,当然其也可以是不具有异构设备的多云。应当注意,图1中所示的多云仅是示例,而非对多云的限制,多云中可以包括任意数量的云。
多云工具120包括执行器121、调度器122、云驱动器123、验证器124、安装器125、存储库126、元数据存储装置127。多云工具120用于从用户设备130接收执行应用的请求,然后将与请求的应用对应的可执行文件部署到云中。多云工具102可以被设置在用户的计算设备上,或者被设置在服务器上。此外,多云工具可以以各种方式连接到云,例如通过网络而连接到多云中的各个云。
执行器121用于从用户接收来自用户的执行应用的请求,然后从请求中至少获取将要被执行的应用的标识符。用户请求中还可以包括使用该应用的文件或数据。备选地或附加地,所述用户请求中还包括一些参数。所述参数可以应用默认的参数。所述参数中的至少部分参数可以由用户进行设置。
调度器122从执行器121接收应用程序的标识符。然后,调度器基于所接收的应用程序标识符以及调度策略来从存储库108中选择出对应的可执行文件标识符,该可执行文件标识符是可用于混合云中异构设备的该应用的可执行文件。在一个示例中,调度策略可以在多云工具中针对该用户预先设置或者是由用户预先确定的。此外,调度策略还可以由多云工具基于以下方式其中任何一种或者多种来确定:基于学习算法来确定,基于用户以前使用该多云工具的调度策略来确定,基于其他用户使用该应用的调度策略来确定,基于使用异构设备的成本,异构设备的性能或数据的安全性等信息相关的策略来确定,或者根据用户在某方面的需求(例如花费的时间、花费的费用等)来确定。调度器122还可以从存储库108中获取与应用的标识符相对应的应用可执行文件,然后这些可执行文件可以被部署到云中的异构设备中,以利用不同类型的异构设备来执行所述应用。
安装器125用于接收用户安装应用的请求,将接收的应用的源代码生成与混合云中的异构设备的类型相对应的可执行文件,并存储在存储库126中。在一个示例中,所述混合云工具内还具有配置器,其内存储有与所述混合云工具相连接的混合云中的每个云的配置信息。例如,包括每个云中异构设备的标识信息、该异构设备的类型等。备选地或附加地,该配置信息中还具有登陆每个云的账户相关信息,以便于混合云工具可以登陆每个云。安装器322从配置器中获得异构设备的类型信息。
存储库126用于存储应用的可执行文件。为了便于查找可执行文件,存储库108内还存储与生在的可执行文件相关联的应用索引、可执行文件标识符、云标识符和设备标符信息。备选的,在存储库108中将相对应的应用索引、可执行文件标识符、云标识符和设备标符存储为一项信息。备选地或附加地,该项信息还可以包括用户需要存储的其他信息。
元数据存储装置127,其中存储有应用的元数据,所述元数据至少包括应用索引、云标识符、设备标识符以及与设备的性能、使用成本和/或安全性有关的信息。在一个示例中,元数据可以包括信息:应用索引、云A、设备A以及每小时每特定量数据花费多少。备选地或附加地,元数据还可以包括应用索引、云标识符、设备标识符、时钟频率、功率消耗等信息。备选的或附加地,元数据可以包括与用户相关联的账户信息。备选的或附加地,元数据可以包括与应用索引及用户账户对应的用户级别信息,该级别信息可以确定用户能够使用哪些类型的设备。
云驱动器123用于将应用的可执行文件部署到多云中。在一个示例中,云驱动器316使用来自配置器的关于云的账户信息来登陆云,并且与云交互。云驱动器316可用于创建虚拟机以在执云中执行应用。云驱动器316将应用的可执行文件部署到相应的云中的异构设备中。
验证器用来对用户进行验证,例如基于用户的账户信息和应用索引,来执行所述验证。可以通过验证用户来确定用户的授权级别,所述授权级别确定用户可以使用的资源。
在图1的示例应用环境中,能够对用户是否能够执行应用进行授权和验证。但是当在云中使用FPGA时仍然可能引发一些安全性问题。如前所述,FPGA二进制文件是硬件的配置数据,其并非是软件,因此针对软件提供保护的软件许可机制并不能用来保护FPGA二进制文件。而由于其共享性质,也不能对其应用任何加密技术。然而,FPGA二进制文件通常对于企业而言具有较高的价值,因此在企业环境中不能允许运行应用程序的人员访问这些有价值的FPGA二进制文件。这样,存在当在外部云中运行应用程序时如何保护有价值的FPGA二进制文件的问题。
为此,在本发明中提供了一种用于在执行应用的过程中保护诸如FPGA二进制文件的等敏感数据的方案,以解决或者至少部分上缓解现有技术中的至少一部分问题。根据该方案,将在创建运行时环境时向其中注入监控模块和保护数据配置,借助该监控模块基于保护数据配置来监控应用执行期间的数据输入和数据输出,以便避免用户对敏感数据的存取。下面将参考图2-图6来描述在本公开中的提出的用于在云中执行应用的方案。需要特别说明的是,尽管在下面的实施方式中将结合图1所示的示例环境进行描述,但是本发明并不局限于此,而是还可以应用至任何存在类似问题的环境中。
首先,将参考图2来描述在本公开中提出的用于在云中执行应用的方法,其中图2示出了根据本公开的一个实施例的用于在云中执行应用的方法的流程图。
如图2所示,首先在步骤210,接收来自用户的在云中执行应用的应用执行请求。在用户需要在多云中执行应用时,其可以通过用户操作界面来向多云工具发出使用应用的请求。该请求中可以包括例如用户想要执行应用的应用索引。此外,还可以包数据输入列表,数据输出列表和一些相关参数,所述参数可以是应用默认的参数,也可以由用户设置的参数。在一个示例中,执行器所接收到的应用执行请求的一个示例形式例如可以是:{应用索引,参数,{输入数据列表:数据1,数据2,…},{输出数据列表:输出1,输出2,…}}。
接着,在步骤220,响应于所述应用执行请求,在运行时环境中加载监控模块和保护数据配置。保护数据配置例如可以是一个保护表,其定义了诸如FPGA二进制文件的敏感数据。
在接收到应用执行请求后,在用户具有应用执行权限的情况下,可以在选择的外部云中启动虚拟机(VM),以创建运行时环境。在一个实施方式中,所述应用执行请求的接收可以在较低的用户授权级别中来执行,而运行时环境的创建可以在较高的授权级别进行。由于在较高授权级别运行,所以将能够获知用来控制控制运行时环境的所有所需信息。这些信息的示例包括VM的IP地址、登陆VM的账户信息(诸如用户名,密码等)等等。因此,可以根据应用执行请求而创建运行时环境。例如,可以基于应用索引从存储库中获取所需的二进制文件,并在没有加密的情况将这些敏感二进制文件传输到运行时环境中。但是,由于创建运行时环境、获取所需的二进制文件以及二进制文件的传输是在较高的授权级别执行的,所以该传输与低授权级别的用户是完全隔离的,用户无法接触到敏感数据。
此外,为了保护诸如FPGA二进制文件的敏感数据,还在运行时环境中加载监控模块和保护数据配置,这里如可以通过Linux安全外壳(SSH)协议、Linux安全拷贝(SCP)协议来实现。所述监控模块和保护数据配置的加载也可以在比接收所述应用执行请求的授权级别更高的授权级别中进行,这样可以保证监控模块和保护数据配置的可靠性和安全性。
保护数据配置例如可以是一个保护表,其定义了诸如FPGA的敏感数据。此外也有可能进一步定义对应的访问权限。换句话说,保护数据配置定义了哪些内容是需要特别保护的敏感数据,或者说哪些数据不能由低授权级别的用户进行存取。例如其中可以记录需要被标记为敏感数据的二进制文件的列表。一个示例的形式包括{Path_to_File_A:True;Path_to_File_B:True;;Path_to_File_C:False},其中Ture表示已经被标记为敏感数据,False表示并未被标记为敏感数据。此外,还有可能进一步定义对应的访问权限。
监控模块被配置为提供在应用程序执行期间对数据输入和数据输出的监控服务,其可以具有较高的授权级别。
接着,在步骤230,可以通过所述监控模块来基于保护数据配置监控用户在所述应用的执行期间的数据输入和数据输出,以避免低授权级别的用户对所述敏感数据的存取。
监控模块可以基于保护数据配置来监控用户在所述应用的执行期间的数据输入和数据输出,以避免低授权级别的用户对所述敏感数据的存取,即敏感数据的写入和读取(例如查看、复制等)。
在根据本公开的一个实施方式中,数据输入和数据输出可以通过预定的端口执行,并且监控模块监听所述预定的端口上的数据输入和数据输出,并且响应于确定所述数据输入或所述数据输出涉及到对所述保护数据配置中定义的敏感数据的存取,阻止所述数据输入或数据输出的执行。
例如,监控模块被配置为监听至少一个IP端口。当监控模块启动时,可以向执行器后端返回一个IP端口参数。执行器前端可以通过该IP端口与执行器后端进行数据通信。执行器后端将监听该IP端口,并根据保护数据配置表中的信息来控制执行器前端与执行器后端之间的数据传送,从而仅仅允许非敏感数据的在本地环境和运行时环境之间的传输,而禁止低授权级别用户接触敏感数据。
所有的输入数据可以将该返回的IP端口从本地环境传输到运行时环境,从而借助于监控模块来实现对于数据输入的监控,以避免例如低授权级别用户对敏感数据的写入。用户的数据输出可以通过监控模块提供的IP端口进行下载。这将监控模块可以监听数据输出,使得低授权级别用户仅仅能够将在保护数据配置中未被标记为敏感数据的数据下载至其本地环境,而不能下载其他敏感数据。这样,借助于监控模块和保护数据配置,就可以将低授权级别用户与敏感数据隔离开,从而为敏感数据提供了有效的保护,提高其安全性。
图3示出了根据本公开的一个实施例的用于在云中执行应用的***的方框图。需要说明的是,在图3中为了简化起见仅仅示出了与本公开提议的方案相关的部分,但是这并不代表在具体实现时必然不包括并未示出的其他部分。
如图3所示,***300包括执行器前端321A、执行器后端321B、安装器325和存储库326。执行器前端321A可以用于与用户对接,例如接收用户的应用执行请求,将应用执行的结果返回给用户等。执行器前端321A可以在较低授权级别运行。执行器后端321B用于后台处理,其可以针对用于应用执行请求进行相应的处理,诸如创建运行时环境230、启动敏感数据保护功能等,其可以在较高授权级别运行。在本公开的一个实施方式中,该执行器后端321B可以运行在与执行器前端隔离的设备上。
安装器325是用于安装应用的模块。在用户请求安装应用时,安装器325响应于用户请求执行应用安装,安装器325将应用的可执行文件和其他数据信息例如存储在存储库326中和/或任何其他适当的数据库中,并向用户返回所安装应用的应用索引。这样,用户可以使用该应用索引来执行应用,同时可以保证用户无法直接接触到应用的执行文件。
执行器后端321B可以负责为用户创建应用的运行时环境330。执行器后端321B基于应用的应用索引从存储库中读取所需的二进制文件和数据并将其传送至运行时环境330中,如图中的敏感数据336所指示。特别地,为了启用敏感数据保护功能,执行器后端330还在该运行时模块中注入监控模块332和保护数据配置334。
保护数据配置334例如可以是一个保护表,其定义了诸如FPGA二进制文件的敏感数据。此外,还有可能进一步定义对应的访问权限。例如其中可以记录需要被标记为敏感数据的二进制文件的列表。一个示例的形式包括{Path_to_File_A:True;Path_to_File_B:True;;Path_to_File_C:False},其中Ture表示已经被标记为敏感数据,False表示并未被标记为敏感数据。
监控模块332被配置为提供在应用程序执行期间对数据输入和数据输出的监控服务,其可以具有较高的授权级别。用户输入可以在监控模块的监视下从用户的本地环境上传到运行时环境中,而且应用执行生成的输出数据也存储在运行时环境中,并可以在监控模块的监控下被下载到用户的本地环境中。数据输入和数据输出可以通过预定的端口执行。所述监控模块可以被进一步配置为监听所述预定的端口上的数据输入和数据输出,并且响应于确定所述数据输入或所述数据输出涉及到对所述保护数据配置中定义的敏感数据的存取,阻止所述数据输入或数据输出的执行。
在根据本公开的方案中,针对敏感数据的保护是在高授权级别下进行的,因此其具有较高的安全性和可靠性。同时,仅仅向低授权级别的用户赋予受限的数据使用功能,从而实现对敏感数据的保护。
图4中示意性地示出了图3所述***的各个模块的授权级别。如图4所示,其中在点画线框中的模块包括本地环境中的输入/输出数据328、执行器前端321A、运行时环境中的输入/输出数据338,这些模块可以在较低的授权级别执行操作。在虚线框中的模块包括监控模块332、敏感数据336、保护数据配置334、执行器后端321B、安装器325以及存储库326,这些模块可以在较高的授权级别中执行操作。通过这种方式,可以将具有较低授权级别的用户与敏感数据隔离,使其无法接触到敏感数据,从而对不能通过软件许可机制进行保护的敏感数据提供有效的保护。
接下来,出于说明的目的,将参考图5详细说明根据本公开的一个实施方式的在云中执行应用时的过程的具体示例。
如图5所示,首先在步骤510,接收用户的应用执行请求。在用户需要在多云中执行应用时,其可以通过用户操作界面来向多云工具发出使用应用的请求。该请求中可以包括例如用户想要执行应用的应用索引,还可以包括输入/输出数据228,例如数据输入列表,数据输出列表和一些相关参数,所述参数可以是应用默认的参数,也可以由用户设置的参数。在一个示例中,执行器所接收到的输入的一个示例形式例如可以是{应用索引,参数,{输入数据列表:数据1,数据2,…},{输出数据列表:输出1,输出2,…}}。
执行器前端221A在接收来自用户的在云中执行应用的应用执行请求。在用户具有应用执行权限的情况下,执行器前端221A可以向执行器后端221B发送一个带有应用索引的操作请求。
接着,在步骤520,创建应用的运行时环境。执行器后端221A例如可以基于该操作请求,在相应的外部云中启动虚拟机(VM),以创建运行时环境。在这种情况下,由于具有较高授权级别,所以执行器后端将具有用来控制运行时环境的所有所需信息。这些信息的示例包括VM的IP地址、登陆VM的账户信息(诸如用户名,密码等)等等。
然后,在步骤530,可以获取应用执行所需的文件和数据,并将其上传至运行时环境。执行器后端221B例如可以基于应用索引从存储库中读取所有二进制文件和数据,并在没有加密的情况将这些敏感数据(例如FPGA二级制文件)传输到运行时环境中。由于是在较高的授权级别执行该二进制文件的传输,所以敏感二进制文件的传输与低授权级别的用户是完全隔离的,用户无法接触到敏感数据236。
此后,在步骤540,向运行时环境注入监控模块和保护配置数据,以启动敏感数据保护功能。在VM已经就绪且可供用户登录后,执行器后端221B在运行时环境中加载监控模块和保护数据配置,这里如可以通过Linux SSH协议、Linux SCP协议来实现。此处,保护数据配置例如是一个保护表格,保护数据配置例如可以是一个保护表,其定义了诸如FPGA的敏感数据。换句话说,保护数据配置定义了哪些内容是需要特别保护的敏感数据,此外,还可以定义哪些授权级别可以对该数据进行存取和/或哪些授权级别的用户不能对数据进行存取。
监控模块提供监控服务,其可以具有较高的授权级别,可以基于保护数据配置来监控用户在所述应用的执行期间的数据输入和数据输出,以避免低授权级别的用户对所述敏感数据的存取,即敏感数据的写入和读取(例如查看、复制等)。监控模块被配置为监听至少一个IP端口。执行器前端可以通过该IP端口与执行器后端进行通信。执行器后端将会根据保护数据配置表中的信息来控制通过该IP端口进行的执行器前端与执行器后端之间的数据传送,从而仅仅允许非敏感数据的在本地环境和运行时环境之间的传输,而禁止低授权级别用户接触敏感数据。
当监控模块启动时,可以向执行器后端返回该IP端口参数,该IP端口参数进而会继而被返回给执行器前端。
接着,在步骤550,可以在监控模块的监控下,将用户输入数据上传至运行时环境。执行器前端可以将所有的输入数据通过该返回的IP端口从本地环境传输到运行时环境,从而借助于监控模块来实现对于数据输入的监控,以避免例如低授权级别用户对敏感数据的写入。
然后,在步骤560,可以开始基于输入数据来运行时环境中执行应用。当应用和输入数据在运行时环境中都已准备就绪时,可以在监控模块监控之下执行应用。执行应用的结果存储在运行时环境中。
在步骤570,在监控模块的监控下下载输出数据。应用的数据输出可以通过监控模块提供的IP端口进行下载,因而监控模块可以控制数据输出,使得低授权级别用户仅仅能够将并未包括在保护数据配重的下载至其本地环境,而不能下载敏感数据。这样,借助于监控模块和保护数据配置,就可以将低授权级别用户与敏感数据隔离开,从而保持敏感数据的安全性。
图6示出了可以用来实施本公开内容的实施例的示例设备700的示意性框图。例如,如图1所示的多云工具中的各个模块和图3中的321A、321B、325、326以及运行时环境330中个各个模块的任一个或多个均可以由设备600来实施。如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200和过程500,可由处理单元601执行。例如,在一些实施例中,方法200和过程500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到RAM603并由CPU 601执行时,可以执行上文描述的方法200或过程500的一个或多个动作。
本公开的实施例可以以方法、装置、***和/或计算机程序产品的形式来实现。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中已有技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (19)

1.一种用于在云中执行应用的方法,包括:
接收来自用户的在云中执行应用的应用执行请求,其中所述应用执行请求包括针对所请求应用的应用索引;
响应于所述应用执行请求,为用户创建应用的运行时环境,基于所述应用索引获取执行所述应用所需的数据和文件,将执行所述应用所需的数据传输至所述运行时环境,在所述运行时环境中加载监控模块和保护数据配置,其中所述保护数据配置定义不允许低授权级别的用户存取的敏感数据;以及
通过所述监控模块来基于保护数据配置监控用户在所述应用的执行期间的数据输入和数据输出,以避免低授权级别的用户对所述敏感数据的存取。
2.根据权利要求1所述的方法,其中监控所述数据输入和所述数据输出在比接收所述应用执行请求的授权级别更高的授权级别中进行。
3.根据权利要求1所述的方法,其中加载所述监控模块和保护数据配置在比接收所述应用执行请求的授权级别更高的授权级别中进行。
4.根据权利要求1所述的方法,其中所述数据输入和所述数据输出通过预定的端口执行,并且监控用户在所述应用的执行期间的数据输入和数据输出包括:
监听所述预定的端口上的数据输入和数据输出;以及
响应于确定所述数据输入或所述数据输出涉及到对所述保护数据配置中定义的敏感数据的存取,阻止所述数据输入或数据输出的执行。
5.根据权利要求1所述的方法,包括:
其中创建所述运行时环境、获取执行所述应用所需的数据和文件以及传输执行所述应用所需的数据和文件在比接收所述应用执行请求的授权级别更高的授权级别中进行。
6.根据权利要求1至5其中任一项所述的方法,其中所述敏感数据包括现场可编程门阵列(FPGA)二进制文件。
7.一种用于在云中执行应用的装置,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述装置执行动作,所述动作包括:
接收来自用户的在云中执行应用的应用执行请求,其中所述应用执行请求包括针对所请求应用的应用索引;
响应于所述应用执行请求,为用户创建应用的运行时环境,基于所述应用索引获取执行所述应用所需的数据和文件,将执行所述应用所需的数据传输至所述运行时环境,在所述运行时环境中加载监控模块和保护数据配置,其中所述保护数据配置定义不允许低授权级别的用户存取的敏感数据;以及
通过所述监控模块来基于保护数据配置监控用户在所述应用的执行期间的数据输入和数据输出,以避免低授权级别的用户对所述敏感数据的存取。
8.根据权利要求7所述的装置,其中监控所述数据输入和数据输出在比接收所述应用执行请求的授权级别更高的授权级别中进行。
9.根据权利要求7所述的装置,其中加载所述监控模块和保护数据配置在比接收所述应用执行请求的授权级别更高的授权级别中进行。
10.根据权利要求7所述的装置,其中所述数据输入和所述数据输出通过预定的端口执行,并且监控用户在所述应用的执行期间的数据输入和数据输出包括:
监听所述预定的端口上的数据输入和数据输出;以及
响应于确定所述数据输入或所述数据输出涉及到对所述保护数据配置中定义的敏感数据的存取,阻止所述数据输入或数据输出的执行。
11.根据权利要求7所述的装置,其中创建所述运行时环境、获取执行所述应用所需的数据和文件以及传输执行所述应用所需的数据在比接收所述应用执行请求的授权级别更高的授权级别中进行。
12.根据权利要求7至11其中任一项所述的装置,其中所述敏感数据包括现场可编程门阵列(FPGA)二进制文件。
13.一种用于在云中执行应用的装置,包括:
执行器前端,被配置为接收来自用户的在云中执行应用的应用执行请求,其中所述应用执行请求包括针对所请求应用的应用索引;
执行器后端,被配置为响应于来执行器的操作请求,为用户创建应用的运行时环境,基于所述应用索引获取执行所述应用所需的数据和文件,将执行所述应用所需的数据传输至所述运行时环境,在所述运行时环境中加载监控模块和保护数据配置,其中所述保护数据配置定义不允许低授权级别的用户存取的敏感数据;以及
监控模块,被配置为基于保护数据配置来监控用户在所述应用的执行期间的数据输入和数据输出,以避免低授权级别的用户对所述敏感数据的存取。
14.根据权利要求13所述的装置,其中所述监控模块的授权级别比所述执行器前端的授权级别更高。
15.根据权利要求13所述的装置,其中所述执行器后端的授权级别比所述执行器前端的授权级别更高。
16.根据权利要求13所述的装置,其中所述数据输入和所述数据输出通过预定的端口执行,并且所述监控模块被进一步配置为:
监听所述预定的端口上的数据输入和数据输出;以及
响应于确定所述数据输入或所述数据输出涉及到对所述保护数据配置中定义的敏感数据的存取,阻止所述数据输入或数据输出的执行。
17.根据权利要求13所述的装置,其中所述执行器后端在比所述执行器前端的授权级别更高的授权级别中创建所述运行时环境、获取执行所述应用所需的数据和文件以及传输执行所述应用所需的数据和文件。
18.根据权利要求13至17其中任一项所述的装置,其中所述敏感数据包括现场可编程门阵列(FPGA)二进制文件。
19.一种计算机可读存储介质,其上包括计算机可读指令,所述计算机可读指令在被执行时使计算机执行根据权利要求1至6中任一项所述的方法。
CN201810359410.3A 2018-04-20 2018-04-20 用于在云中执行应用的方法、装置和计算机程序产品 Active CN110390184B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810359410.3A CN110390184B (zh) 2018-04-20 2018-04-20 用于在云中执行应用的方法、装置和计算机程序产品
US16/295,181 US11005847B2 (en) 2018-04-20 2019-03-07 Method, apparatus and computer program product for executing an application in clouds

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810359410.3A CN110390184B (zh) 2018-04-20 2018-04-20 用于在云中执行应用的方法、装置和计算机程序产品

Publications (2)

Publication Number Publication Date
CN110390184A CN110390184A (zh) 2019-10-29
CN110390184B true CN110390184B (zh) 2022-12-20

Family

ID=68238442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810359410.3A Active CN110390184B (zh) 2018-04-20 2018-04-20 用于在云中执行应用的方法、装置和计算机程序产品

Country Status (2)

Country Link
US (1) US11005847B2 (zh)
CN (1) CN110390184B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131240B (zh) * 2020-09-30 2023-09-26 腾讯科技(深圳)有限公司 脏数据的处理方法和装置、存储介质及电子设备
CN112989324A (zh) * 2021-03-10 2021-06-18 中国民航信息网络股份有限公司 数据交互的方法、装置、电子设备及存储介质
EP4057144A1 (en) * 2021-03-12 2022-09-14 Atos Spain S.A. Control interface for the deployment of an application, system and method using such a control interface
CN113742174B (zh) * 2021-08-31 2024-04-02 北京百度网讯科技有限公司 云手机应用监控方法、装置、电子设备和存储介质
US20230370461A1 (en) * 2022-05-12 2023-11-16 Oracle International Corporation Intercloud service gateway

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799827A (zh) * 2011-07-26 2012-11-28 卡巴斯基实验室封闭式股份公司 移动设备上数据的有效保护
CN104065651A (zh) * 2014-06-09 2014-09-24 上海交通大学 一种面向云计算的信息流可信保障机制
CN106797383A (zh) * 2014-10-07 2017-05-31 微软技术许可有限责任公司 多租户环境中的安全性上下文管理
CN107003815A (zh) * 2014-12-09 2017-08-01 国际商业机器公司 云环境中机密数据的自动化管理
CN107409126A (zh) * 2015-02-24 2017-11-28 思科技术公司 用于保护企业计算环境安全的***和方法
CN107873092A (zh) * 2015-06-25 2018-04-03 亚马逊科技公司 控制对命令执行的用户访问

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308208B1 (en) * 1998-09-30 2001-10-23 International Business Machines Corporation Method for monitoring network distributed computing resources using distributed cellular agents
FR2801118B1 (fr) * 1999-11-17 2001-12-21 Bull Cp8 Procede de chargement d'applications dans un systeme embarque multi-application, systeme embarque correspondant, et procede d'execution d'une application du systeme embarque
US7181617B2 (en) * 2002-06-10 2007-02-20 Kelley Wise Remote virtual medical diagnostic imaging viewer
US9626511B2 (en) * 2008-08-26 2017-04-18 Symantec Corporation Agentless enforcement of application management through virtualized block I/O redirection
US8909925B2 (en) * 2008-11-17 2014-12-09 Prakash Baskaran System to secure electronic content, enforce usage policies and provide configurable functionalities
US8769622B2 (en) * 2011-06-30 2014-07-01 International Business Machines Corporation Authentication and authorization methods for cloud computing security
CN103368904B (zh) * 2012-03-27 2016-12-28 百度在线网络技术(北京)有限公司 移动终端、可疑行为检测及判定***和方法
US9910969B2 (en) * 2012-04-06 2018-03-06 Wayne Odom System, method, and device for delivering communications and storing and delivering data
US9195294B2 (en) * 2012-11-13 2015-11-24 International Business Machines Corporation Cooperatively managing enforcement of energy related policies between virtual machine and application runtime
US10038726B2 (en) * 2013-06-12 2018-07-31 Visa International Service Association Data sensitivity based authentication and authorization
US10061915B1 (en) * 2014-09-03 2018-08-28 Amazon Technologies, Inc. Posture assessment in a secure execution environment
US10681006B2 (en) * 2017-10-31 2020-06-09 Cisco Technology, Inc. Application-context-aware firewall
US10984109B2 (en) * 2018-01-30 2021-04-20 Cisco Technology, Inc. Application component auditor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799827A (zh) * 2011-07-26 2012-11-28 卡巴斯基实验室封闭式股份公司 移动设备上数据的有效保护
CN104065651A (zh) * 2014-06-09 2014-09-24 上海交通大学 一种面向云计算的信息流可信保障机制
CN106797383A (zh) * 2014-10-07 2017-05-31 微软技术许可有限责任公司 多租户环境中的安全性上下文管理
CN107003815A (zh) * 2014-12-09 2017-08-01 国际商业机器公司 云环境中机密数据的自动化管理
CN107409126A (zh) * 2015-02-24 2017-11-28 思科技术公司 用于保护企业计算环境安全的***和方法
CN107873092A (zh) * 2015-06-25 2018-04-03 亚马逊科技公司 控制对命令执行的用户访问

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Online Algorithm for Secure Task Offloading in Dynamic Networks;Yuchong Luo 等;《2017 IEEE International Symposium on Parallel and Distributed Processing with Applications and 2017 IEEE International Conference on Ubiquitous Computing and Communications (ISPA/IUCC)》;20171215;第66-71页 *
基于DDS的云协作平台的研究与实现;杨星华;《中国优秀硕士学位论文全文数据库信息科技辑》;20160215(第02期);第I139-136页 *
基于应用行为监控的Android隐私保护模型研究;安博辉;《中国优秀硕士学位论文全文数据库信息科技辑》;20180415(第04期);第I138-193页 *

Also Published As

Publication number Publication date
CN110390184A (zh) 2019-10-29
US20190327238A1 (en) 2019-10-24
US11005847B2 (en) 2021-05-11

Similar Documents

Publication Publication Date Title
CN110390184B (zh) 用于在云中执行应用的方法、装置和计算机程序产品
US9686278B1 (en) Method and system for configuring computing devices
US20210185095A1 (en) Virtualized controllers for in-vehicle and iot networks
JP7397557B2 (ja) セキュア実行ゲスト所有者環境制御
EP2618266A1 (en) Method for interworking trust between a trusted region and an untrusted region, method, server, and terminal for controlling the downloading of trusted applications, and control system applying same
CN108289098B (zh) 分布式文件***的权限管理方法和装置、服务器、介质
US10333925B2 (en) Seamless provision of authentication credential data to cloud-based assets on demand
CN108351923B (zh) 与统一可扩展固件接口***可执行的脚本有关的阈值
CN110199283B (zh) 用于在网络功能虚拟化环境中认证平台信任的***和方法
CN110058894B (zh) 在混合云中执行应用的方法、设备和计算机程序产品
CN107835181B (zh) 服务器集群的权限管理方法、装置、介质和电子设备
US20170279806A1 (en) Authentication in a Computer System
US10771462B2 (en) User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal
WO2017001117A1 (en) Resource provisioning in distributed computing environments
CN113039542A (zh) 云计算网络中的安全计数
CN118159967A (zh) 对在隔离环境中实现的计算资源的访问的控制
CN111966422A (zh) 一种本地化插件服务方法、装置、电子设备及存储介质
WO2022068322A1 (en) Software access through heterogeneous encryption
US11947660B2 (en) Securing pods in a container orchestration environment
US20220114023A1 (en) Infrastructure as code deployment mechanism
US20230106879A1 (en) Virtualized applications on managed virtual machines
EP3987391A1 (en) Method and system for service image deployment in a cloud computing system based on distributed ledger technology
US20230127956A1 (en) Building and deploying an application
CN116541853B (zh) 基板管理控制器固件的管理方法、装置、设备及存储介质
US20240095338A1 (en) Isolated runtime environments for securing secrets used to access remote resources from compute instances

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
GR01 Patent grant
GR01 Patent grant