一种安全沙箱的控制方法及装置转让专利

申请号 : CN201611111596.8

文献号 : CN106650425B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 姜楠马铮

申请人 : 中国联合网络通信集团有限公司

摘要 :

本发明实施例提供一种安全沙箱的控制方法及装置,涉及网络安全领域,能够提高安全沙箱的分析效率。该方法包括:安全沙箱的控制装置获取控制信息,该控制信息包括第一控制指令和配置参数,该第一控制指令用于指示该安全沙箱生成具有指定操作系统的第一虚拟机,该配置参数用于修改该操作系统的系统参数;该控制装置根据该第一控制指令生成具有该指定操作系统的该第一虚拟机;该控制装置根据该配置参数对该指定操作系统的系统参数进行修改,以使得修改参数后的该指定操作系统形成模拟运行环境,该模拟运行环境用于运行待监控的程序。

权利要求 :

1.一种安全沙箱的控制方法,其特征在于,所述方法包括:

安全沙箱的控制装置获取控制信息,所述控制信息包括第一控制指令和配置参数,所述第一控制指令用于指示所述安全沙箱生成具有指定操作系统的第一虚拟机,所述指定操作系统为实际主机上运行的操作系统,所述配置参数用于修改所述指定操作系统的系统参数;

所述控制装置根据所述第一控制指令生成具有所述指定操作系统的所述第一虚拟机,所述第一虚拟机上的指定操作系统的系统参数为所述指定操作系统默认的系统配置参数;

所述控制装置根据所述配置参数对所述指定操作系统的系统参数进行修改,以使得所述第一虚拟机上的指定操作系统的系统参数与实际主机上运行的操作系统当前的系统参数相同,修改参数后的所述指定操作系统形成模拟运行环境,所述模拟运行环境用于运行待监控的程序。

2.根据权利要求1所述的方法,其特征在于,所述第一虚拟机的个数为M个,M个第一虚拟机中的每个第一虚拟机具有一种指定操作系统,M>1,M为整数,所述控制装置根据所述配置参数对所述指定操作系统的系统参数进行修改,包括:

所述控制装置根据所述配置参数对M个指定操作系统中的每个指定操作系统的系统参数进行修改;

所述控制信息还包括第二控制指令,所述第二控制指令用于控制所述控制装置连接所述M个第一虚拟机,所述控制装置根据所述配置参数对M个指定操作系统中的每个指定操作系统的系统参数进行修改之后,所述方法还包括:所述控制装置根据所述第二控制指令将所述M个第一虚拟机进行连接,以使得所述模拟运行环境包括M个修改参数后的指定操作系统。

3.根据权利要求2所述的方法,其特征在于,所述控制信息还包括第三控制指令,所述第三控制指令用于控制所述控制装置生成背景流量,所述控制装置根据所述第二控制指令将所述M个第一虚拟机进行连接之后,所述方法还包括:所述控制装置根据所述第三控制指令控制所述M个第一虚拟机生成所述背景流量,以使得所述模拟运行环境存在所述背景流量。

4.根据权利要求1所述的方法,其特征在于,所述控制信息还包括第四控制指令,所述第四控制指令用于指示所述控制装置将至少一个第二虚拟机连接到所述模拟运行环境中,所述至少一个第二虚拟机中的每个第二虚拟机均具备一种网络功能,所述控制装置根据所述配置参数对所述指定操作系统的系统参数进行修改之后,所述方法还包括:所述控制装置根据所述第四控制指令将所述至少一个第二虚拟机连接到所述模拟运行环境中,以使得所述模拟运行环境包括修改参数后的所述指定操作系统和至少一种网络功能。

5.根据权利要求1-4任一项所述的方法,其特征在于,所述控制装置形成所述模拟运行环境之后,所述方法还包括:所述控制装置接收所述待监控的程序;

所述控制装置控制所述程序在所述模拟运行环境中运行;

所述控制装置记录并分析所述程序在所述模拟运行环境中运行时产生的行为,以获取所述程序的行为监控报告;

所述控制装置显示所述行为监控报告。

6.一种安全沙箱的控制装置,其特征在于,包括:

获取单元,用于获取控制信息,所述控制信息包括第一控制指令和配置参数,所述第一控制指令用于指示配置单元生成具有指定操作系统的第一虚拟机,所述指定操作系统为实际主机上运行的操作系统,所述配置参数用于修改所述指定操作系统的系统参数;

所述配置单元,用于根据所述获取单元获取的所述第一控制指令生成具有所述指定操作系统的所述第一虚拟机,所述第一虚拟机上的指定操作系统的系统参数为所述指定操作系统默认的系统配置参数;

所述配置单元,用于根据所述获取单元获取的所述配置参数对所述指定操作系统的系统参数进行修改,以使得所述第一虚拟机上的指定操作系统的系统参数与实际主机上运行的操作系统当前的系统参数相同,修改参数后的所述指定操作系统形成模拟运行环境,所述模拟运行环境用于运行待监控的程序。

7.根据权利要求6所述的控制装置,其特征在于,所述配置单元生成的所述第一虚拟机的个数为M个,M个第一虚拟机中的每个第一虚拟机具有一种指定操作系统,M>1,M为整数,所述配置单元,具体用于根据所述配置参数对M个指定操作系统中的每个指定操作系统的系统参数进行修改;

所述获取单元获取的所述控制信息还包括第二控制指令,所述第二控制指令用于控制所述配置单元连接所述M个第一虚拟机,所述配置单元,还用于在根据所述配置参数对M个指定操作系统中的每个指定操作系统的系统参数进行修改之后,根据所述第二控制指令将所述M个第一虚拟机进行连接,以使得所述模拟运行环境包括修改参数后的所述M个修改参数后的指定操作系统。

8.根据权利要求7所述的控制装置,其特征在于,所述获取单元获取的所述控制信息还包括第三控制指令,所述第三控制指令用于控制所述配置单元生成背景流量,所述配置单元,还用于在根据所述第二控制指令将所述M个第一虚拟机进行连接之后,根据所述第三控制指令控制所述M个第一虚拟机生成所述背景流量,以使得所述模拟运行环境存在所述背景流量。

9.根据权利要求6所述的控制装置,其特征在于,所述获取单元获取的所述控制信息还包括第四控制指令,所述第四控制指令用于指示将至少一个第二虚拟机连接到所述模拟运行环境中,所述至少一个第二虚拟机中的每个第二虚拟机均具备一种网络功能,所述配置单元,还用于在根据所述配置参数对所述指定操作系统的系统参数进行修改之后,根据所述第四控制指令将所述至少一个第二虚拟机连接到所述模拟运行环境中,以使得所述模拟运行环境包括修改参数后的所述指定操作系统和至少一种网络功能。

10.根据权利要求6-9任一项所述的控制装置,其特征在于,所述控制装置还包括:控制单元、分析单元以及显示单元,所述获取单元,还用于在所述配置单元形成所述模拟运行环境之后,接收所述待监控的程序;

所述控制单元,用于控制所述获取单元获取的所述程序在所述模拟运行环境中运行;

所述分析单元,用于记录并分析所述程序在所述模拟运行环境中运行时产生的行为,以获取所述程序的行为监控报告;

所述显示单元,用于显示所述分析单元获取的所述行为监控报告。

说明书 :

一种安全沙箱的控制方法及装置

技术领域

[0001] 本发明涉及网络安全领域,尤其涉及一种安全沙箱的控制方法及装置。

背景技术

[0002] 安全沙箱是一种对未知程序的行为进行分析的分析工具,可以有效地分析未知程序是否对用户的主机或操作系统具有威胁,并在发现威胁时分析该未知程序所利用的安全漏洞、攻击模式、威胁程度等,以帮助用户判断该未知程序是否应当被封堵,以及帮助用户寻找应对该未知程序的解决方案。
[0003] 传统的安全沙箱通常基于特定的一个操作系统的典型配置设置用于运行未知程序的运行环境。例如,windows操作系统的典型配置为windows操作系统刚刚安装完成时,windows操作系统的默认系统参数配置,包括windows自带的防火墙配置、允许使用的协议、开放的端口等。但是随着用户使用操作系统,在主机中安装各种应用软件,在这个过程中,主机的系统参数可能随着用户的操作改变。例如,windows操作系统默认关闭TELNET端口,而随着某些应用软件的安装,导致该主机的TELNET端口打开。假设某程序利用TELNET端口控制其他网络设备,由于传统的安全沙箱中的运行环境是基于windows操作系统的典型配置设置的,因此,传统的安全沙箱就无法发现该程序利用TELNET端口所执行的操作,从而导致用户无法确定该程序为具有威胁的程序。因此,传统的安全沙箱的分析效率较低。

发明内容

[0004] 本发明的实施例提供一种安全沙箱的控制方法及装置,能够提高安全沙箱的分析效率。
[0005] 为达到上述目的,本发明的实施例采用如下技术方案:
[0006] 第一方面,本发明实施例提供一种安全沙箱的控制方法,所述方法包括:
[0007] 安全沙箱的控制装置获取控制信息,所述控制信息包括第一控制指令和配置参数,所述第一控制指令用于指示所述安全沙箱生成具有指定操作系统的第一虚拟机,所述配置参数用于修改所述操作系统的系统参数;
[0008] 所述控制装置根据所述第一控制指令生成具有所述指定操作系统的所述第一虚拟机;
[0009] 所述控制装置根据所述配置参数对所述指定操作系统的系统参数进行修改,以使得修改参数后的所述指定操作系统形成模拟运行环境,所述模拟运行环境用于运行待监控的程序。
[0010] 在第一方面的第一种可能的实现方式中,所述第一虚拟机的个数为M个,M个第一虚拟机中的每个第一虚拟机具有一种指定操作系统,M>1,M为整数,
[0011] 所述控制装置根据所述配置参数对所述指定操作系统的系统参数进行修改,包括:
[0012] 所述控制装置根据所述配置参数对M个指定操作系统中的每个指定操作系统的系统参数进行修改;
[0013] 所述控制信息还包括第二控制指令,所述第二控制指令用于控制所述控制装置连接所述M个第一虚拟机,所述控制装置根据所述配置参数对M个指定操作系统中的每个指定操作系统的系统参数进行修改之后,所述方法还包括:
[0014] 所述控制装置根据所述第二控制指令将所述M个第一虚拟机进行连接,以使得所述模拟运行环境包括M个修改参数后的指定操作系统。
[0015] 结合上述第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制信息还包括第三控制指令,所述第三控制指令用于控制所述控制装置生成背景流量,所述控制装置根据所述第二控制指令将所述M个第一虚拟机进行连接之后,所述方法还包括:
[0016] 所述控制装置根据所述第三控制指令控制所述M个第一虚拟机生成所述背景流量,以使得所述模拟运行环境存在所述背景流量。
[0017] 结合上述第一方面,在第一方面的第三种可能的实现方式中,所述控制信息还包括第四控制指令,所述第四控制指令用于指示所述控制装置将至少一个第二虚拟机连接到所述模拟运行环境中,所述至少一个第二虚拟机中的每个第二虚拟机均具备一种网络功能,所述控制装置根据所述配置参数对所述指定操作系统的系统参数进行修改之后,所述方法还包括:
[0018] 所述控制装置根据所述第四控制指令将所述至少一个第二虚拟机连接到所述模拟运行环境中,以使得所述模拟运行环境包括修改参数后的所述指定操作系统和所述至少一种网络功能。
[0019] 结合上述第一方面或第一方面的第一种可能的实现方式至第一方面的第三种可能的实现方式中的任一种实现方式,在第三种可能的实现方式中,所述控制装置形成所述模拟运行环境之后,所述方法还包括:
[0020] 所述控制装置接收所述待监控的程序;
[0021] 所述控制装置控制所述程序在所述模拟运行环境中运行;
[0022] 所述控制装置记录并分析所述程序在所述模拟运行环境中运行时产生的行为,以获取所述程序的行为监控报告;
[0023] 所述控制装置显示所述行为监控报告。
[0024] 第二方面,本发明实施例提供一种安全沙箱的控制装置,包括:
[0025] 获取单元,用于获取控制信息,所述控制信息包括第一控制指令和配置参数,所述第一控制指令用于指示所述安全沙箱生成具有指定操作系统的第一虚拟机,所述配置参数用于修改所述操作系统的系统参数;
[0026] 所述配置单元,用于根据所述获取单元获取的所述第一控制指令生成具有所述指定操作系统的所述第一虚拟机;
[0027] 所述配置单元,用于根据所述获取单元获取的所述配置参数对所述指定操作系统的系统参数进行修改,以使得修改参数后的所述指定操作系统形成模拟运行环境,所述模拟运行环境用于运行待监控的程序。
[0028] 在第二方面的第一种可能的实现方式中,所述配置单元生成的所述第一虚拟机的个数为M个,M个第一虚拟机中的每个第一虚拟机具有一种指定操作系统,M>1,M为整数,[0029] 所述配置单元,具体用于根据所述配置参数对M个指定操作系统中的每个指定操作系统的系统参数进行修改;
[0030] 所述获取单元获取的所述控制信息还包括第二控制指令,所述第二控制指令用于控制所述配置单元连接所述M个第一虚拟机,
[0031] 所述配置单元,还用于在根据所述配置参数对M个指定操作系统中的每个指定操作系统的系统参数进行修改之后,根据所述第二控制指令将所述M个第一虚拟机进行连接,以使得所述模拟运行环境包括修改参数后的所述M个修改参数后的指定操作系统。
[0032] 结合上述第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取单元获取的所述控制信息还包括第三控制指令,所述第三控制指令用于控制所述配置单元生成背景流量,
[0033] 所述配置单元,还用于在根据所述第二控制指令将所述M个第一虚拟机进行连接之后,根据所述第三控制指令控制所述M个第一虚拟机生成所述背景流量,以使得所述模拟运行环境存在所述背景流量。
[0034] 结合上述第二方面,在第二方面的第三种可能的实现方式中,所述获取单元获取的所述控制信息还包括第四控制指令,所述第四控制指令用于指示将至少一个第二虚拟机连接到所述模拟运行环境中,所述至少一个第二虚拟机中的每个第二虚拟机均具备一种网络功能,
[0035] 所述配置单元,还用于在根据所述配置参数对所述指定操作系统的系统参数进行修改之后,根据所述第四控制指令将所述至少一个第二虚拟机连接到所述模拟运行环境中,以使得所述模拟运行环境包括修改参数后的指定操作系统和至少一种网络功能。
[0036] 结合上述第二方面或第二方面的第一种可能的实现方式至第二方面的第三种可能的实现方式中的任一种实现方式,在第三种可能的实现方式中,所述控制装置还包括:控制单元、分析单元以及显示单元,
[0037] 所述获取单元,还用于在所述配置单元形成所述模拟运行环境之后,接收所述待监控的程序;
[0038] 所述控制单元,用于控制所述获取单元获取的所述程序在所述模拟运行环境中运行;
[0039] 所述分析单元,用于记录并分析所述程序在所述模拟运行环境中运行时产生的行为,以获取所述程序的行为监控报告;
[0040] 所述显示单元,用于显示所述分析单元获取的所述行为监控报告。
[0041] 第三方面,本发明实施例提供一种安全沙箱的控制装置,包括处理器、存储器、系统总线和通信接口。
[0042] 所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述系统总线连接,当所述控制装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述控制装置执行如第一方面或第一方面的任一可选方式所述的安全沙箱的控制方法。
[0043] 第四方面,本发明实施例提供一种可读介质,包括计算机执行指令,当安全沙箱的控制装置的处理器执行所述计算机执行指令时,所述控制装盒子执行如上述第一方面或第一方面的任意一种实现方式中所述的安全沙箱的控制方法。
[0044] 本发明实施例提供的安全沙箱的控制方法及装置,能够通过控制信息对安全沙箱进行控制,以使得该安全沙箱的控制装置能够根据该控制信息生成具有指定操作系统的第一虚拟机,并对该该指定操作系统的系统参数进行修改以形成模拟运行环境。即采用本发明实施例提供的控制方法能够通过控制信息控制安全沙箱形成与实际主机中运行的操作系统的系统参数相同的指定操作系统作为模拟运行环境。因此,相比于现有的安全沙箱中固定的运行环境,本发明实施例中安全沙箱在控制信息的控制下形成的模拟运行环境与实际主机中运行的操作系统的当前运行环境具有更高的相似度,从而在将待监控的程序导入该模拟运行环境后,该程序在该模拟运行环境中运行时的行为,能够更加真实的反应该程序在该当前运行环境中的行为,进而能够更加准确的判断该程序是否会对实际主机中运行的操作系统产生有害行为,提高了该安全沙箱的分析效率。

附图说明

[0045] 图1为本发明实施例提供的一种安全沙箱的功能系统框图;
[0046] 图2为本发明实施例提供的一种基于软件定义网络(Software Defined Network,SDN)的物理系统框图;
[0047] 图3为本发明实施例提供的一种安全沙箱的控制方法流程图一;
[0048] 图4为本发明实施例提供的一种安全沙箱的控制方法流程图二;
[0049] 图5为本发明实施例提供的一种安全沙箱的控制方法流程图三;
[0050] 图6为本发明实施例提供的一种安全沙箱的控制方法流程图四;
[0051] 图7为本发明实施例提供的一种安全沙箱的控制方法流程图五;
[0052] 图8为本发明实施例提供的一种安全沙箱的控制装置的结构示意图一;
[0053] 图9为本发明实施例提供的一种安全沙箱的控制装置的结构示意图二;
[0054] 图10为本发明实施例提供的一种安全沙箱的控制装置的硬件结构示意图。

具体实施方式

[0055] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
[0056] 需要说明的是,本文中术语“和”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0057] 当本发明实施例提及术语“包括”和“具有”以及它们任何变形时,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0058] 如图1所示,为本发明实施例提供的一种安全沙箱的系统功能框图,包括用户界面、网络功能虚拟化(Network Function Virtual,NFV)管理与编排器,控制器以及虚拟化功能数据库。
[0059] 其中,用户界面提供人机交互功能,可以向用户提供相应的服务界面,包括但不限于操作系统选择、网络架构设计、可疑程序导入、分析功能选择、分析结果导出以及系统状态监控等服务界面中的一项或多项。用户可以根据实际需求通过该用户界面输入相关的控制信息,以控制该安全沙箱形成响应的模拟运行环境。
[0060] NFV管理与编排器负责根据用户的输入的控制信息形成模拟运行环境,包括但不限于虚拟机的生成、虚拟机的位置分配、虚拟机的资源分配、虚拟机的参数配置、虚拟机间的接口配置、虚拟机的关闭,以及日志信息的收集、汇总和分析工作等,其中,日志信息包括记录的每个虚拟机上程序运行时产生的行为。
[0061] 控制器可以是SDN控制器负责流量的生成、流量调度、通信链路的搭建、控制指令下发以及分析结果上传等。
[0062] 其中,该用户界面、NFV管理与编排器和控制器构成了该安全沙箱的控制装置。
[0063] 虚拟化功能数据库负责提供各类操作系统的信息,用于NFV管理与编排器通过调用相应的操作系统的信息生成运行有对应操作系统的第一虚拟机,具体可以包括但不限于Windows、Linux、Android、iOS、Unix以及Netware等操作系统的信息;该虚拟化功能数据库还负责提供具备各类网络功能的第二虚拟机,例如,具备虚拟路由器、虚拟交换机、分布式拒绝服务是(Distributed Denial of service,DDOS)防护、防火墙、入侵检测系统(Intrusion Detection Systems,IDS)/入侵防御系统(Intrusion Prevention System,IPS),以及病毒、木马、蠕虫查杀等网络功能的第二虚拟机。
[0064] 如图2所示,为本发明实施例提供的一种基于SDN的物理系统,包括开放式虚拟交换机(open vSwitch)和通用服务器,本发明实施例提供的安全沙箱可以基于该物理组件系统实现。
[0065] 其中,开放式虚拟交换机作为该安全沙箱的数据转发工具,该多台通用服务器中的一台通用服务器用于实现该安全沙箱的控制功能,即该安全沙箱的包括NFV管理编排器、控制器以及用户界面以及虚拟化功能库可以在同一台通用服务器上实现,其余的通用服务器用于部署该安全沙箱根据用户输入的控制信息生成的各个虚拟机。
[0066] 示例性的,上述通用服务器可以是x86服务器。可以理解的是,当通用服务器的数量或者性能无法满足该安全沙箱的要求时,可以直接将更多的通用服务器连接到虚拟交换机,作为安全沙箱系统的一部分。
[0067] 基于上述如图1所示的安全沙箱,如图3所示,本发明实施例提供一种安全沙箱的控制方法,该方法可以包括:
[0068] S101、安全沙箱的控制装置获取控制信息,该控制信息包括第一控制指令和配置参数。
[0069] 其中,第一控制指令用于指示该控制装置生成具有指定操作系统的第一虚拟机,该指定操作系统为实际主机上运行的操作系统(下文中简称实际操作系统),该配置参数用于修改该指定操作系统的系统参数,以使得该第一虚拟机的参数与该实际操作系统当前的系统参数相同。
[0070] 在一个示例中,该第一控制指令可以是用户通过用户界面输入的一系列指令,例如,包括操作系统的选择指令和确定指令等。在该示例中,用户可以根据实际主机上运行的操作系统从该用户界面呈现的操作系统的图标中点击选择操作系统的图标,并在选择完成后点击确定图标,从而该控制装置即可根据用户通过点击操作系统的图标输入的选择指令确定该指定操作系统,并根据用户通过点击确定图标输入的确定指令确定开始生成具有该指定操作系统的第一虚拟机。
[0071] 在一个示例中,该第一控制指令中也可以包括该指定操作系统的标识,以使得该控制装置可以根据该指定操作系统的标识确定指定操作系统。
[0072] 该配置参数与实际操作系统当前的系统参数相同,为用户根据实际操作系统当前的系统参数设置的,然后通过该用户界面输入该控制装置,以控制该控制装置可以根据该配置参数对该指定操作系统的系统参数进行修改,以使得该指定操作系统的系统参数与实际操作系统的系统参数相同。
[0073] S102、该控制装置根据该第一控制指令生成具有该指定操作系统的第一虚拟机。
[0074] 在一个示例中,该控制装置中的NFV编排与控制器可以根据该第一控制指令,从虚拟化功能数据库中调用该指定操作系统的信息,并根据该信息生成具有该指定操作系统的第一虚拟机。
[0075] S103、该控制装置根据该配置参数对该指定操作系统的系统参数进行修改,以使得修改参数后的该指定操作系统形成模拟运行环境,该模拟运行环境用于运行待监控的程序。
[0076] 示例性的,以windows操作系统为例,该控制装置根据第一控制指令生成的具有widows操作系统的第一虚拟机,此时,该第一虚拟机上的widows操作系统的系统参数为windows操作系统默认的系统配置参数。假设,windows操作系统默认的系统配置参数中的TELNET端口参数为指示该TELNET端口关闭的参数。而实际主机上运行的windows操作系统当前的TELNET端口参数为指示该TELNET端口开放的参数。该控制装置获取的配置参数为实际主机上运行的windows操作系统当前的TELNET端口参数,该控制装置根据该配置参数将该第一虚拟机中的windows操作系统的TELNET端口参数修改为实际主机上运行的windows操作系统当前的TELNET端口参数,使得第一虚拟机中的windows操作系统具有与实际主机上运行的windows操作系统相同的程序运行环境。
[0077] 在一个示例中,可以由该控制装置中的NFV编排与控制器执行指定操作系统的系统参数的修改操作。
[0078] 在本发明实施例中,通过将修改参数后的指定操作系统作为模拟运行环境,使得该模拟运行环境与实际操作系统的当前运行环境相同,这样,在将待监控的程序输入该模拟运行环境运行后,该程序在该模拟运行环境中运行时的行为,可以更加真实可靠地反映该程序在当前运行环境中运行时的行为,从而可以根据该程序在该模拟运行环境中运行时的行为,能够更加准确的判断该程序是否会对当前运行环境产生有害行为,提高了该的分析效率。
[0079] 可选的,本发明实施例提供的安全沙箱,还可以提供联机环境的模拟运行环境。具体的,在一个示例中,该安全沙箱的控制装置生成的第一虚拟机的个数为M个,M个第一虚拟机中的每个第一虚拟机具有一种指定的操作系统,M>1,M为整数,即在该示例中,第一控制指令具体可以用于指示该控制装置生成M个具有指定操作系统的第一虚拟机。从而,结合如图3,如图4所示,上述S103中,具体可以包括:
[0080] S103a、该控制装置根据配置参数对M个指定操作系统中的每个指定操作系统的系统参数进行修改。
[0081] 进一步的,如图4所示,在上述S101中,控制装置获取的控制信息还可以包括第二控制指令,该第二控制指令用于控制该控制装置连接该M个第一虚拟机。在上述S103a之后,该方法还可以包括:
[0082] S104、该控制装置根据该第二控制指令将该M个第一虚拟机进行连接,以使得模拟运行环境包括M个修改参数后的指定操作系统。
[0083] 在本示例中,控制装置生成M个第一虚拟机,并根据配置参数将该M个指定操作系统的系统参数修改为与M个实际操作系统的系统参数相同的参数后,即可根据第二控制指令将该M个第一虚拟机进行连接,以形成模拟运行环境,即此时,该模拟运行环境包括M个修改参数后的指定操作系统。其中,M个实际操作系统可以是同一实际主机上运行的M个操作系统,也可以是分别运行于M个实际主机的M个操作系统。
[0084] 这样,当该安全沙箱接收到待监控的程序,并由该控制装置控制该程序在该模拟运行环境中运行时,该控制装置不仅可以根据该程序在该模拟环境中运行时产生的行为,分析该程序是否会对单个操作系统产生攻击行为,还可以分析该程序在M个第一虚拟机中运行时产生的网络行为是否具有危害。
[0085] 其中,网络行为可以包括该程序在M个第一虚拟机之间传播的方式,例如,利用主机的漏洞获取网络中其他设备的信任或权限,将该程序复制到其他设备中以实现传播效果等具有危害性的传播方式(例如,病毒或木马的传播方式)。示例性的,若该程序采用病毒或木马的传播方式在该M个第一虚拟机之间进行传播,且该程序为恶意程序,则该程序会对该模拟运行环境中的多个第一虚拟机产生攻击行为。即说明,当当前运行环境由多个实际主机上运行的操作系统构成时,若将该程序导入当前运行环境中的某个实际主机中运行的操作系统中,则该程序不仅会对该操作系统产生攻击行为,还可能对该当前运行环境中的其他实际主机上运行的操作系统产生攻击行为。
[0086] 网络行为还可以包括,该程序在某个第一虚拟机中的指定操作系统中运行时,是否尝试通过SSH端口、TELNET端口等登陆该模拟运行环境中的其他第一虚拟机以获取管理员权限等行为。示例性的,若该程序在某个第一虚拟机中的指定操作系统中运行时,尝试通过TELNET端口向其他第一虚拟机设备传输TELNET流量,则表示该程序尝试利用TELNET端口控制其他第一虚拟机。即说明,若将该程序导入当前运行环境中的某个实际主机中运行的操作系统,则该程序可能会利用TELNET端口控制该当前运行环境中的其他实际主机。
[0087] 在本发明实施例中,控制装置可以在该程序所触发的数据中随机获取数据包,并从获取的数据包中获取该程序所使用的协议、端口等信息,以通过这些信息分析该程序在该模拟运行环境中运行时产生的网络行为是否具有危害。相比于现有技术中安全沙箱仅针对单一操作系统的运行环境,本发明实施例中安全沙箱可以在控制信息的控制下形成针对M个实际操作系统的模拟运行环境,从而该控制装置在将程序导入该模拟运行环境后,还能够对该程序的网络行为进行分析,进一步提高了安全沙箱的分析效率。
[0088] 可选的,结合图4,如图5所示,上述S101中该控制装置获取的控制信息还包括第三控制指令,该第三控制指令用于控制该控制装置生成背景流量,在上述S104之后,本发明实施例提供的安全沙箱的控制方法还可以包括:
[0089] S105、该控制装置根据该第三控制指令控制该M个第一虚拟机生成背景流量,以使得该模拟运行环境存在该背景流量。
[0090] 其中,背景流量是指当前运行环境中用户正常使用网络时产生的流量,根据不同的网络系统(即实际运行环境)的用途、对应的行业等具有不同的流量特征。例如,在银行系统中,设备之间通常采用虚拟专用网络(Virtual Private Network,VPN)传输加密的数据流量;在运营商的语音通信系统中,设备之间通常传输语音数据流量;在对等(Peer-to-peer,P2P)系统中,提供P2P下载服务的云数据中心中,通常会传输采用P2P传输协议的数据流量。一些恶意程序可能会基于当前运行环境中的背景流量的传输,产生一些有害的网络行为。
[0091] 在本发明实施例中,可以通过第三控制指令控制安全沙箱中形成具有背景流量的模拟运行环境。示例性的,该第三控制指令可以包括流量特征的标识,流量转发策略以及访问控制策略等,用于指示该安全沙箱的控制装置控制M个第一虚拟机生成该流量特征的标识对应的背景流量,并按照指定的流量转发策略以及访问控制策略进行该背景流量的传输,从而使得该安全沙箱中形成的模拟运行环境存在与当前运行环境相同的背景流量。这样,当后续将待监控的程序导入该模拟运行环境中运行时,即可根据该程序在该模拟运行环境中运行时的行为,分析该程序是否会基于该背景流量的传输产生有害的网络行为。
[0092] 在一个示例中,可以由该安全沙箱的控制器执行模拟运行环境中背景流量的生成,该控制器可以根据第三控制指令,向该M个第一虚拟机发送指令,控制该M个第一虚拟机生成指定的背景流量,并根据该M个第一虚拟机的运行状态、以及网络带宽等网络状况和该第三控制指令指示的流量转发策略以及访问控制策略,控制该M个第一虚拟机对该背景流量进行转发,以使得该背景流量在模拟运行环境中传输,以进一步提高该模拟运行环境与当前运行环境的相似度,从而进一步提高该安全沙箱的分析效率。
[0093] 可选的,本发明实施例提供的安全沙箱还可以将具有特定网络功能的至少一个第二虚拟机连接到如图3-5任一所示方法中形成的模拟运行环境中,该至少一个第二虚拟机中的每个第二虚拟机均具备一种网络功能。例如,可以是具备路由器、防火墙、IDS/IPS、病毒查杀、木马查杀等网络功能的第二虚拟机。
[0094] 示例性的,结合图3,如图6所示,上述S101中控制装置获取的控制信息还可以包括第四控制指令,该第四控制指令用于指示该控制装置将至少一个第二虚拟机连接到该模拟运行环境中。从而,在上述S103之后,本发明实施例提供的安全沙箱的控制方法还可以包括:
[0095] S106、该控制装置根据该第四控制指令将该至少一个第二虚拟机连接到该模拟运行环境中,以使得该模拟运行环境包括修改参数后的指定操作系统和至少一种网络功能。
[0096] 示例性的,该第四控制指令可以包括至少一个第二虚拟机的标识和连线指令,该第四控制指令可以是用户通过用户界面输入的。该控制装置根据该至少一个第二虚拟机的标识,从该安全沙箱的虚拟化功能数据库中调取对应的至少一个第二虚拟机,然后根据该连线指令将至少一个第二虚拟机连接到模拟运行环境中,即将该至少一个第二虚拟机和修改参数后的第一虚拟机连接以形成模拟运行环境。
[0097] 可选的,该第四控制指令也可以包括至少一个第二虚拟机的标识和组网模板选择指令。在该示例中,用户可以根据当前运行环境的组网模式,从该用户界面呈现的组网模板的列表中点击选择对应的组网模板,以输入组网模板选择指令,从而该控制装置即可根据该组网模板选择指令确定对应的组网模板,进而该控制装置根据至少一个第二虚拟机的标识确定对应的至少一个第二虚拟机后,即可将该至少一个第二虚拟机和修改参数后的第一虚拟机按照该组网模板连接起来,形成模拟运行环境。
[0098] 示例性的,该安全沙箱提供的组网模板可以包括:基于星形、环形、总线型、树形等基本网络拓扑结构的组网模板,基于私有网络接入互联网、家庭网络、数据中心等应用环境的组网模板,以及基于安卓设备接入模型、IOS设备接入模型等终端类型的组网模板。
[0099] 在一个示例中,该第四控制指令中还可以包括网络配置参数,该控制装置可以根据该网络配置参数对第二虚拟机的网络参数进行修改,例如,修改第二虚拟机的IP地址、MAC地址等,还可以对不同类型的第二虚拟机修改不同的网络配置,例如,对于服务器,可以修改服务器类型、对于防火墙,可以修改防护规则、白名单、黑名单等。
[0100] 值得说明的是,在本发明实施例中,可以通过第四控制指令控制控制装置将具有路由器、防火墙、IDS\IPS、DDOS防护、病毒查杀、木马查杀、蠕虫查杀等网络功能的第二虚拟机加入到模拟运行环境中,这样,当后续将待监控的程序导入该模拟运行环境中运行时,可以通过该模拟运行环境中的具有安全防护功能的网络功能对该待监控的程序进行分析,还可以根据该程序在该模拟运行环境中的行为,分析该程序是否会对当前运行环境中的防火墙、路由器等网络设备产生影响,例如,修改交换机、路由器的系统配置,后台登录防火墙、修改防火墙的权限等,从而进一步提高了该安全沙箱的分析效率。
[0101] 在一个示例中,该安全沙箱提供的第二虚拟机还可以包括不同品牌,不同厂商生产的安全防护产品所对应的虚拟机,即包括不同品牌,不同厂商生产的防火墙、异常流量监测和清洗装置、IDS/IPS等安全防护产品对应的第二虚拟机。当用户需要对一些安全防护产品进行性能测试时,即可将对应的第二虚拟机连接到模拟运行环境中,再将恶意程序导入该模拟运行环境中,以检测该第二虚拟机是否能够检测并拦截该恶意程序。
[0102] 例如,用户购买了一套入侵防御系统,希望检测该入侵防御系统对某种特定的入侵方式是否具有防护能力,则该用户可以控制该安全沙箱将该入侵防御系统对应的第二虚拟机连接到模拟运行环境中,再将采用该特定的入侵方式的程序导入该模拟运行环境中运行,若该安全沙箱未能成功拦截该程序,该安全沙箱的控制装置则可以根据该程序在该第二虚拟机中运行时产生的行为,分析该程序的入侵行为的实现原理以及该入侵防御系统中存在的漏洞。例如,若该入侵防护系统不具备TELNET端口防护的功能,那么利用TELNET端口进行入侵的程序即可通过该入侵防护系统对应的第二虚拟机,此时控制装置即可通过分析该程序在该第二虚拟机中运行的行为,发现该程序是通过TELNET端口进行入侵攻击,而该入侵防护系统并不检测该TELNET端口,从而使用户能够准确地确定该程序的攻击原理以及应对措施。
[0103] 进一步的,在本发明实施例中,当该安全沙箱基于控制信息成功形成模拟运行环境之后,即可将待监控的程序导入该安全沙箱,以使得该安全沙箱可以控制该程序在该模拟运行环境中运行,并对该程序在该模拟运行环境中运行时产生的行为进行记录、分析以获取该程序的行为监控报告,以及将该行为监控报告通过用户界面显示给用户,从而告知用户该程序是否会对实际运行环境造成危害、造成危害的类型、造成危害的方式以及造成危害的严重程度等。
[0104] 示例性的,结合图6,如图7所示,本发明实施例提供的安全沙箱的控制方法还可以包括:
[0105] S107、该控制装置接收该待监控的程序。
[0106] 示例性的,该安全沙箱的用户界面提供可疑程序导入界面,从而用户可以通过该可疑程序导入界面将该程序程序导入该安全沙箱。
[0107] S108、该控制装置控制该程序在该模拟运行环境中运行。
[0108] 当控制装置接收到用户导入的该程序后,该控制装置即可控制该程序在该模拟运行环境中运行,例如,该控制装置的控制器可以控制该模拟运行环境中的虚拟机(包括上述第一虚拟机和第二虚拟机),按照该程序的指令生成对应的数据流量,并对该数据流量进行转发等。
[0109] S109、该控制装置记录并分析该程序在该模拟运行环境中运行时产生的行为,以获取该程序的行为监控报告。
[0110] 示例性的,该安全沙箱可以启用日志功能,由日志模块将每个虚拟机中该程序运行时产生的行为记录到日志信息中,并将该日志信息同步到NFV编排与控制器,由VNF编排与控制器对这些日志信息中记录的该程序运行时产生的行为进行汇总与分析,确定该程序是否会对当前运行环境造成危害,并在该程序会对当前运行环境造成危害的情况下,分析造成危害的类型、造成危害的方式以及造成危害的严重程度等,然后根据这些分析结果得到该程序的行为监控报告。
[0111] 其中,该日志模块和该模拟运行环境中的每个虚拟机署在不同的物理资源上,例如,基于如图2所示的物理系统,可以在一个单独的通用服务器上部署该日志模块,也可以将该日志模块和该控制装置(包括控制器、NFV编排与控制器以及用户界面)以及虚拟化数据库部署在同一通用服务器上,从而避免该模拟运行环境中的虚拟机在该程序的攻击下崩溃,导致该控制装置无法及时获知该程序在虚拟机中运行时产生的行为。
[0112] S110、该控制装置显示该行为监控报告。
[0113] 可以理解的是,当NFV编排与控制器获取并保存该行为监控报告后,可以同时将该行为监控报告发送至用户界面,显示给用户,该用户也可以通过用户界面输入调取指令,以从该NFV编排与控制器处请求查看该行为监控报告。
[0114] 能够通过控制信息对安全沙箱进行控制,以使得该安全沙箱的控制装置能够根据该控制信息生成具有指定操作系统的第一虚拟机,并对该该指定操作系统的系统参数进行修改以形成模拟运行环境。即采用本发明实施例提供的控制方法能够通过控制信息控制安全沙箱形成与实际主机中运行的操作系统的系统参数相同的指定操作系统作为模拟运行环境。因此,相比于现有的安全沙箱中固定的运行环境,本发明实施例中安全沙箱在控制信息的控制下形成的模拟运行环境与实际主机中运行的操作系统的当前运行环境具有更高的相似度,从而在将待监控的程序导入该模拟运行环境后,该程序在该模拟运行环境中运行时的行为,能够更加真实的反应该程序在该当前运行环境中的行为,进而能够更加准确的判断该程序是否会对实际主机中运行的操作系统产生有害行为,提高了该安全沙箱的分析效率。
[0115] 如图8所示,本发明实施例提供一种安全沙箱的控制装置,执行如图3-6任一所示的安全沙箱的控制方法的步骤,该安全沙箱的控制装置可以集成在该安全沙箱中,示例性的,该安全沙箱的控制装置包括:
[0116] 获取单元10,用于获取控制信息,所述控制信息包括第一控制指令和配置参数,所述第一控制指令用于指示配置单元11生成具有指定操作系统的第一虚拟机,所述配置参数用于修改所述操作系统的系统参数。
[0117] 所述配置单元11,用于根据所述获取单元10获取的所述第一控制指令生成具有所述指定操作系统的所述第一虚拟机。
[0118] 所述配置单元11,用于根据所述获取单元10获取的所述配置参数对所述指定操作系统的系统参数进行修改,以使得修改参数后的所述指定操作系统形成模拟运行环境,所述模拟运行环境用于运行待监控的程序。
[0119] 可选的,所述配置单元11生成的所述第一虚拟机的个数为M个,M个第一虚拟机中的每个第一虚拟机具有一种指定操作系统,M>1,M为整数。
[0120] 所述配置单元11,具体用于根据所述配置参数对M个指定操作系统中的每个指定操作系统的系统参数进行修改。
[0121] 所述获取单元10获取的所述控制信息还包括第二控制指令,所述第二控制指令用于控制所述配置单元11连接所述M个第一虚拟机.
[0122] 所述配置单元11,还用于在根据所述配置参数对M个指定操作系统中的每个指定操作系统的系统参数进行修改之后,根据所述第二控制指令将所述M个第一虚拟机进行连接,以使得所述模拟运行环境包括修改参数后的所述M个修改参数后的指定操作系统。
[0123] 可选的,所述获取单元10获取的所述控制信息还包括第三控制指令,所述第三控制指令用于控制所述配置单元11生成背景流量。
[0124] 所述配置单元11,还用于在根据所述第二控制指令将所述M个第一虚拟机进行连接之后,根据所述第三控制指令控制所述M个第一虚拟机生成所述背景流量,并对所述背景流量进行转发,以使得所述模拟运行环境存在所述背景流量。
[0125] 可选的,所述获取单元10获取的所述控制信息还包括第四控制指令,所述第四控制指令用于指示将至少一个第二虚拟机连接到所述模拟运行环境中,所述至少一个第二虚拟机中的每个第二虚拟机均具备一种网络功能。
[0126] 所述配置单元11,还用于在根据所述配置参数对所述指定操作系统的系统参数进行修改之后,根据所述第四控制指令将所述至少一个第二虚拟机连接到所述模拟运行环境中,以使得所述模拟运行环境包括修改参数后的所述指定操作系统和至少一种网络功能。
[0127] 可选的,结合图8,如图9所示,所述控制装置还包括:控制单元12、分析单元13以及显示单元14,
[0128] 所述获取单元10,还用于在所述配置单元11形成所述模拟运行环境之后,接收所述待监控的程序。
[0129] 所述控制单元12,用于控制所述获取单元10获取的所述程序在所述模拟运行环境中运行。
[0130] 所述分析单元13,用于记录并分析所述程序在所述模拟运行环境中运行时产生的行为,以获取所述程序的行为监控报告。
[0131] 所述显示单元14,用于显示所述分析单元13获取的所述行为监控报告。
[0132] 本发明实施例提供的一种安全沙箱的控制装置,能够通过控制信息对安全沙箱进行控制,以使得该安全沙箱的控制装置能够根据该控制信息生成具有指定操作系统的第一虚拟机,并对该该指定操作系统的系统参数进行修改以形成模拟运行环境。即采用本发明实施例提供的控制方法能够通过控制信息控制安全沙箱形成与实际主机中运行的操作系统的系统参数相同的指定操作系统作为模拟运行环境。因此,相比于现有的安全沙箱中固定的运行环境,本发明实施例中安全沙箱在控制信息的控制下形成的模拟运行环境与实际主机中运行的操作系统的当前运行环境具有更高的相似度,从而在将待监控的程序导入该模拟运行环境后,该程序在该模拟运行环境中运行时的行为,能够更加真实的反应该程序在该当前运行环境中的行为,进而能够更加准确的判断该程序是否会对实际主机中运行的操作系统产生有害行为,提高了该安全沙箱的分析效率。
[0133] 如图10所示,本发明实施例提供一种安全沙箱的控制装置,包括:处理器20、存储器21、系统总线22和通信接口23。
[0134] 所述存储器21用于存储计算机执行指令,所述处理器20与所述存储器21通过所述系统总线22连接,当所述安全沙箱的控制装置运行时,所述处理器20执行所述存储器21存储的所述计算机执行指令,以使所述安全沙箱的控制装置执行如图3至图7任意之一所述的安全沙箱的控制方法。具体的安全沙箱的控制方法可参见上述如图3至图7任意之一所示的实施例中的相关描述,此处不再赘述。
[0135] 本实施例还提供一种存储介质,该存储介质可以包括所述存储器21。
[0136] 所述处理器20可以为中央处理器(英文:central processing unit,缩写:CPU)。所述处理器20还可以为其他通用处理器、数字信号处理器(英文:digital  signal processing,简称DSP)、专用集成电路(英文:application specific integrated circuit,简称ASIC)、现场可编程门阵列(英文:field-programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0137] 所述处理器20可以为专用处理器,该专用处理器可以包括具有安全沙箱的控制装置其他专用处理功能的芯片。
[0138] 所述存储器21可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);所述存储器21也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);所述存储器21还可以包括上述种类的存储器的组合。
[0139] 所述系统总线22可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图10中将各种总线都示意为系统总线22。
[0140] 所述通信接口23具体可以是安全沙箱的控制装置上所述处理器20通过与其他设备进行通信的接口。
[0141] 在具体实现过程中,上述如图3至图7任意之一所示的方法流程中的各步骤均可以通过硬件形式的处理器20执行存储器21中存储的软件形式的计算机执行指令实现。为避免重复,此处不再赘述。
[0142] 本发明实施例提供的一种安全沙箱的控制装置,能够通过控制信息对安全沙箱进行控制,以使得该安全沙箱的控制装置能够根据该控制信息生成具有指定操作系统的第一虚拟机,并对该该指定操作系统的系统参数进行修改以形成模拟运行环境。即采用本发明实施例提供的控制方法能够通过控制信息控制安全沙箱形成与实际主机中运行的操作系统的系统参数相同的指定操作系统作为模拟运行环境。因此,相比于现有的安全沙箱中固定的运行环境,本发明实施例中安全沙箱在控制信息的控制下形成的模拟运行环境与实际主机中运行的操作系统的当前运行环境具有更高的相似度,从而在将待监控的程序导入该模拟运行环境后,该程序在该模拟运行环境中运行时的行为,能够更加真实的反应该程序在该当前运行环境中的行为,进而能够更加准确的判断该程序是否会对实际主机中运行的操作系统产生有害行为,提高了该安全沙箱的分析效率。
[0143] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0144] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接。
[0145] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0146] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元可以采用软件功能单元的形式实现。
[0147] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。所述存储介质是非短暂性(英文:non-transitory)介质,包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0148] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。