首页> 中国专利> 一种面向高性能计算的内涵式安全防护方法与系统

一种面向高性能计算的内涵式安全防护方法与系统

摘要

本发明公开了一种面向高性能计算的内涵式安全防护方法及系统,本发明包括作业管理系统加载登录用户所提交的作业到目标计算结点,创建该作业的进程并加入进程白名单中以免被限制运行资源;目标计算结点在隔离运行环境中执行该作业,执行完毕后作业管理系统将该作业的计算结果返回给登录结点,并将该作业的进程从目标计算结点的进程白名单中移除。本发明能够实现从更低的层次完全杜绝了用户对计算结点环境的非授权式恶意访问,安全防护用户无感知、对用户透明,在保证了内涵式安全的同时,引入了几乎可以忽略的性能开销,既保证了功能,又保持了性能。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-26

    实质审查的生效 IPC(主分类):G06F21/53 专利申请号:2022103914911 申请日:20220414

    实质审查的生效

  • 2022-08-09

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及高性能计算系统的安全防护技术,具体涉及一种面向高性能计算的内涵式安全防护方法与系统。

背景技术

在高性能计算系统中,物理结点主要分为登录结点和计算结点。典型的用户使用方式为:用户登录到登录结点,通过作业管理系统将计算作业提交到计算结点上运行。作业管理系统根据用户的需求,为用户的作业分配相应的计算资源。同时,作业管理系统具有统计和计费的功能。高性能计算系统的管理员或运维人员可以利用作业管理系统的统计和计费功能,统计每个用户的资源使用情况,并据此来向用户收费。

但是,从安全的角度出发,用户可能通过某些非法的手段获得了计算结点的root登录权限,例如非法获取了计算结点root用户的ssh密码或者秘钥。这种情况下,用户可以忽略登录结点,直接登录到计算结点上,通过本地执行应用程序的方式来运行用户自己的作业。因此在高性能计算系统中,这种方式带来的危害有:(1)这种作业运行方式完全绕开了作业管理系统。对于这种非授权式访问运行的作业,高性能计算系统管理员无法对其计费;(2)作业管理系统也无法感知到这类恶意作业的运行。虽然这些计算结点中的资源已经被占用,但是在作业管理系统的角度来看,这些计算结点仍然是空闲的。如果此时作业管理系统将该计算结点分配给某个计算任务,那这个计算任务的效率将受到极大的影响。(3)除此之外,如果用户实现了对计算结点的root权限访问,那么该结点上的数据安全也受到了极大的威胁。

考虑到SSH是远程登录高性能计算系统的最常见的方式,从SSH安全性的角度出发,目前SSH登录方式均可以通过验证手段来增强其安全性。在高性能计算系统中,从用户的角度来看,目前SSH主要提供两种级别的安全验证方式:

(i)、基于口令的安全验证。用户直接通过账号和密码就可以实现远程登录。所有传输的数据都会被加密,但是安全级别比较低。这种方式存在以下缺点:(1)密码被暴力破解的可能性较大,安全性将受到较大的考验;(2)应对“中间人攻击”(Man-in-the-MiddleAttack,简称MIMT攻击)的能力较差。如图1所示,中间人攻击是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。

(ii)、基于秘钥的安全验证。首先需要创建一对秘钥,分别是公钥和私钥,然后把公钥放在服务器上。当远程连接SSH服务器时,客户端就会向服务器发出用秘钥进行安全验证的请求。服务器收到请求之后进行比对。如果两个秘钥匹配,服务器就用公钥加密“质询”(challenge)并发送给客户端。客户端收到质询之后再用私钥解密后发送给服务器。这种方式加密所有数据,不需要在网络中传输口令,相对于基于口令的安全验证方式安全级别更高,有效防止了“中间人攻击”。但是这种方式下如果秘钥被泄露,或者用户通过某些非法手段获取到了秘钥信息,那么用户依然能够在高性能计算系统中进行非授权式应用程序加载运行。

总结来说,对于现在的SSH安全性防护手段来说,目前基于口令的安全验证和基于秘钥的安全验证这两种方式都存在安全隐患,都存在一些情况下普通用户可能通过root用户SSH验证的可能性,这对于高性能计算系统来说,将会造成计算资源泄露、作业运行低效以及数据安全风险等问题。

综上所述,当前高性能计算系统中存在普通用户可能通过root用户SSH验证的安全隐患,使得用户可以绕开作业管理系统进行应用程序的非授权式运行,从而造成高性能计算系统计算资源泄露、作业运行低效以及数据安全风险等问题,当前的SSH安全验证方式难以完全避免。

发明内容

本发明要解决的技术问题:针对现有技术的上述问题,提供一种面向高性能计算的内涵式安全防护方法及系统,本发明能够实现从更低的层次完全杜绝了用户对计算结点环境的非授权式恶意访问,安全防护用户无感知、对用户透明,在保证了内涵式安全的同时,引入了几乎可以忽略的性能开销,既保证了功能,又保持了性能。

为了解决上述技术问题,本发明采用的技术方案为:

一种面向高性能计算的内涵式安全防护方法,包括:

1)作业管理系统加载登录用户所提交的作业到目标计算结点,创建该作业的进程、并将该进程加入到目标计算结点的进程白名单中以使目标计算结点在执行该作业时不会被其中的进程监控服务限制运行资源;

2)目标计算结点在隔离运行环境中执行该作业,所述隔离运行环境与目标计算结点的裸机环境的进程相互隔离,且所述隔离运行环境中运行有用于为登录用户提供登陆服务的登陆服务进程、登录用户登录到目标计算结点上只能登陆到隔离运行环境而不是裸机环境;执行完毕后跳转下一步;

3)作业管理系统将该作业的计算结果返回给登录结点,并将该作业的进程从目标计算结点的进程白名单中移除。

可选地,步骤2)中目标计算结点在隔离运行环境中执行该作业时,还包括将该作业的执行中间结果输出在隔离运行环境中以便于登录用户登录到目标计算结点的隔离运行环境中查看该作业的执行中间结果。

可选地,所述隔离运行环境的文件系统采用层次化文件系统,所述层次化文件系统将目标计算结点裸机环境的根目录“/”作为层次化文件系统的低层、空目录作为层次化文件系统的高层,将低层、高层两层对外提供统一的合并文件系统视图并挂载到隔离运行环境中,使得在隔离运行环境中直接继承目标计算结点的标准系统环境,并通过高层支持定制化操作,所有的定制化操作均发生在层次化文件系统的高层,对于低层文件系统中文件的修改会通过写时复制COW机制先将文件拷贝到高层中然后对高层中的文件进行修改,管理员维护和管理低层系统的标准系统环境立刻被隔离运行环境立刻感知。

可选地,步骤1)之前还包括部署计算结点的步骤:

S1)在计算结点上启动隔离运行环境;

S2)首先检查计算结点的裸机环境中是否有登录服务进程,如果有登录服务进程则将其杀掉;然后在隔离运行环境中启动登录服务进程,使得计算结点中仅隔离运行环境中存在登录服务进程;

S3)在计算结点的裸机环境中启动进程监控服务,所述进程监控服务定时扫描操作系统的进程,若进程不在进程白名单中则限制该进程的运行资源,所述进程白名单中包含计算结点操作系统中的指定的关键服务进程。

可选地,步骤S1)~步骤S3)为管理员登陆计算结点以后通过管理员的权限执行,且步骤S1)~步骤S3)的操作权限被设置为仅为管理员才能运行。

可选地,所述管理员登陆计算结点是指管理员通过带外管理物理接口登录计算结点,且所述计算结点被设置为拒绝通过网络远程登陆。

可选地,步骤S1)包括:

S1.1)创建隔离运行环境对应的子进程,并通过命名空间机制创建该子进程的命名空间,实现该子进程的隔离,该子进程成为隔离运行环境中的根进程;

S1.2)挂载层次化文件系统;

S1.3)隔离运行环境中根进程执行指定的初始初始化程序,所述初始化程序作为隔离运行环境对应的子进程的命令空间中的1号进程,所述隔离运行环境中使用了独立的进程树,该1号进程为进程树的根进程。

可选地,步骤S3)中限制该进程的运行资源是指限制该进程的CPU资源、内存资源、I/O资源和网络资源中的至少一种。

此外,本发明还提供一种面向高性能计算的内涵式安全防护系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述面向高性能计算的内涵式安全防护方法的步骤。

此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序用于被微处理器执行以实施所述面向高性能计算的内涵式安全防护方法的步骤。

和现有技术相比,本发明主要具有下述优点:

1、相对于采用ssh或其他登陆的安全验证方式改进而言,本发明从更低的层次实现了内涵式安全防护。即使用户非法获得了root权限,也无法突破本发明的安全防护机制。登录计算结点裸机环境仅能通过带外管理接口实现,ssh或其他的登录方式只能登录到计算结点的隔离运行环境中。由于带外管理接口的使用需要在一定的物理范围之内,所以远程登录的普通用户将完全无法使用带外管理接口。而普通用户即使通过ssh或其他通过了计算结点的root账户验证,也只能登录到计算结点的隔离运行环境中,这样的方式从更低的层次完全杜绝了用户对计算结点环境的非授权式恶意访问。

2、本发明实现了用户无感知的安全防护方法。即使用户非法获得了root登录权限,也只能登录到计算结点的隔离运行环境中。但是隔离运行环境对用户是透明的,用户对隔离运行环境无感知。由于隔离运行环境的隔离机制,用户无法查看到进程监控服务的运行,对进程白名单的修改也不会影响结点裸机环境中实际生效的白名单文件。

3、本发明的安全防护方法引入的性能开销极低。隔离运行环境足够轻量级,在隔离运行环境中运行的作业如果处于进程白名单中,那么该作业进程在隔离运行环境中的运行状态和效率将与在结点裸机环境中运行几乎无差别。进程监控服务也仅仅占用了极少的资源,周期性扫描机制进一步降低了资源占用情况。即,本发明在保证了内涵式安全的同时,引入了几乎可以忽略的性能开销,既保证了功能,又保持了性能。

附图说明

图1为中间人攻击的原理示意图。

图2为本发明实施例方法的基本流程示意图。

图3为本发明实施例方法中部署计算结点的示意图。

图4为本发明实施例方法中目标计算结点上的隔离运行环境示例。

具体实施方式

如图1所示,本实施例面向高性能计算的内涵式安全防护方法包括:

1)作业管理系统加载登录用户所提交的作业到目标计算结点,创建该作业的进程、并将该进程加入到目标计算结点的进程白名单中以使目标计算结点在执行该作业时不会被其中的进程监控服务限制运行资源;

2)目标计算结点在隔离运行环境中执行该作业,所述隔离运行环境与目标计算结点的裸机环境的进程相互隔离,且所述隔离运行环境中运行有用于为登录用户提供登陆服务的登陆服务进程、登录用户登录到目标计算结点上只能登陆到隔离运行环境而不是裸机环境;执行完毕后跳转下一步;

3)作业管理系统将该作业的计算结果返回给登录结点,并将该作业的进程从目标计算结点的进程白名单中移除。

本实施例面向高性能计算的内涵式安全防护方法采用了目标计算结点在隔离运行环境中执行该作业,隔离运行环境与目标计算结点的裸机环境的进程相互隔离,且隔离运行环境中运行有用于为登录用户提供登陆服务的登陆服务进程、登录用户登录到目标计算结点上只能登陆到隔离运行环境而不是裸机环境(实现对登陆用户透明),从而实现了作业运行环境和目标计算结点的裸机环境(作业管理系统运行在目标计算结点裸机环境中)的相互隔离,从更低的层次完全杜绝了用户对计算结点环境的非授权式恶意访问(即实现了“内涵式安全”),可应对包括ssh登陆在内的各种登陆方式基于口令的安全验证和基于秘钥的安全验证这两种方式存在的安全隐患,提高高性能计算系统的安全性,防止造成计算资源泄露、作业运行低效以及数据安全风险等问题。本实施例面向高性能计算的内涵式安全防护方法在目标计算结点上采用了进程监控服务+进程白名单的方式来进行进程控制,进程监控服务限制进程白名单以外的进程的运行资源,而且通过作业管理系统加载任务时将任务进程动态加入进程白名单、任务执行结束后立刻从进程白名单中移除,通过这样的设计,可以实现对计算结点进程资源的分类监控,为内涵式安全提供机制保障。

正如前文所述,考虑到ssh是高性能计算机系统(超级计算机)常用的登陆方式,因此本实施例中以ssh登陆为例进行说明(登陆服务进程为sshd服务进程)。但是毫无疑问,本实施例方法同样也可以适用于其他登陆方式。

考虑到某些作业在执行过程中需要进行人机交互,作为一种可选的实施方式,本实施例中步骤2)中目标计算结点在隔离运行环境中执行该作业时,还包括将该作业的执行中间结果输出在隔离运行环境中以便于登录用户登录到目标计算结点的隔离运行环境中查看该作业的执行中间结果。一般情况下,高性能计算机系统的作业不需要在执行过程中获取用户的输入,但是针对某些移植的特殊作业,还可以进一步根据需要在隔离运行环境中进行人机交互以便于登录用户登录到目标计算结点的隔离运行环境中输入人机交互所需的输入。

隔离运行环境是一种轻量级的虚拟化技术,能够实现进程和文件系统的隔离。如图2所示,本实施例中的隔离运行环境采用层次化文件系统(Overlay文件系统,也叫层叠文件系统)。常规的层次化文件系统包含低层(LowerLayer)、高层(UpperLayer)两层文件系统,本实施例中,层次化文件系统将目标计算结点裸机环境的根目录“/”作为层次化文件系统的低层、空目录(NULL)_作为层次化文件系统的高层,将低层、高层两层对外提供统一(Merged)的合并文件系统视图并挂载到隔离运行环境中,使得在隔离运行环境中直接继承目标计算结点的标准系统环境,并通过高层支持定制化操作,所有的定制化操作均发生在层次化文件系统的高层,对于低层文件系统中文件的修改会通过写时复制COW(Copy onWrite)机制先将文件拷贝到高层中然后对高层中的文件进行修改,管理员维护和管理低层系统的标准系统环境立刻被隔离运行环境立刻感知。隔离运行环境层次化文件系统的设计能够享有结点标准环境的同时,允许用户进行自由定制,定制化操作不会影响结点标准环境,这样的设计能够保证用户登录到计算结点上时,实际上是登录到了计算结点的隔离运行环境中,而不是裸机环境上。

通过这样的设计,用户通过ssh登录到计算结点上时,实际上是登录到计算结点上的隔离运行环境之中,但是隔离运行环境对于用户是透明的。参见图2,目标计算结点裸机环境的根目录“/”下不包含bin、lib、etc、usr、boot、sys、root、home等均为标准系统环境(本实施例中具体为Linux操作系统)下的系统目录。

如图3所示,步骤1)之前还包括部署计算结点的步骤:

S1)在计算结点上启动隔离运行环境;

S2)首先检查计算结点的裸机环境中是否有登录服务进程,如果有登录服务进程则将其杀掉;然后在隔离运行环境中启动登录服务进程,使得计算结点中仅隔离运行环境中存在登录服务进程;

S3)在计算结点的裸机环境中启动进程监控服务,所述进程监控服务定时扫描操作系统的进程,若进程不在进程白名单中则限制该进程的运行资源,所述进程白名单中包含计算结点操作系统中的指定的关键服务进程。

作为一种可选的实施方式,本实施例中步骤S1)~步骤S3)为管理员登陆计算结点以后通过管理员的权限执行,且步骤S1)~步骤S3)的操作权限被设置为仅为管理员(通常为高性能计算系统的运维人员)才能运行,通过上述权限设置,可防止非法的普通登陆用户执行步骤S1)~步骤S3)的操作,为内涵式安全提供机制保障。

作为一种可选的实施方式,本实施例中管理员登陆计算结点是指管理员通过带外管理物理接口登录计算结点,且所述计算结点被设置为拒绝通过网络远程登陆。带外管理方式由于需要使用串口等物理接口的登录方式,需要高性能计算系统物理距离在一定范围内才能够有效,对于远程登录的普通用户将无法使用这种登录方式,这也将增加系统环境维护的安全性。

本实施例中,步骤S1)包括:

S1.1)创建隔离运行环境对应的子进程,并通过命名空间机制(namespace机制)创建该子进程的命名空间,实现该子进程的隔离,该子进程成为隔离运行环境中的根进程;

S1.2)挂载层次化文件系统;

S1.3)隔离运行环境中根进程执行指定的初始初始化程序,所述初始化程序作为隔离运行环境对应的子进程的命令空间中的1号进程,所述隔离运行环境中使用了独立的进程树,该1号进程为进程树的根进程。

本实施例中,步骤S2)首先检查计算结点的裸机环境中是否有sshd服务进程,如果有sshd服务进程则将其杀掉,确保所有用户无法通过ssh登录到裸机环境中;然后在隔离运行环境中启动sshd服务进程,使得计算结点中仅隔离运行环境中存在sshd服务进程,本实施例中服务端口选择缺省值22。

本实施例中,步骤S3)在计算结点的裸机环境中启动进程监控服务,进程监控服务定时扫描操作系统的进程,若进程不在进程白名单中则限制该进程的运行资源,进程白名单中包含计算结点操作系统中的指定的关键服务进程(系统服务进程)。进程监控服务是一个后台不挂断的周期性运行的守护进程,其主要功能是每个周期内扫描该结点上的所有进程,对于每个进程,检查该进程是否属于进程白名单。如果该进程在进程白名单中,则不做任何处理;如果该进程并不在进程白名单,则限制该进程的运行资源,将该进程的CPU使用率限制在较低的范围内,防止该进程占用过多的运行资源。进程监控服务每两次扫描之间可以设置间隔一小段时间,防止该进程监控服务的进程占用过多的运行资源。本实施例中,进程白名单主要通过一个日志文件记录特殊进程的进程号。进程白名单中的进程由系统的关键服务进程和通过作业管理系统加载的计算任务进程两部分组成。其中,系统的关键服务进程包括作业管理系统的守护进程slurmd、系统根进程init以及进程监控服务进程等,该部分进程号为静态的,一般不会发生改动。作业管理系统加载的计算任务的进程将在作业管理系统创建进程执行计算任务时,动态地将其进程号加入进程白名单中,待计算任务运行结束后,将该进程号从进程白名单中删除,即进程白名单中通过作业管理系统加载的计算任务进程这部分进程是动态的,随着作业管理系统的调度和加载不断更新。通过这样的设计,可以实现对计算结点进程资源的分类监控,为内涵式安全提供机制保障。

本实施例中,步骤S3)中限制该进程的运行资源是指限制该进程的CPU资源,进程监控服务的作用是监控结点上的进程状态,限制白名单进程之外的所有进程的运行资源信息,将其CPU利用率限制在较低的范围内。此外也可以根据实际需要选择CPU资源、内存资源、I/O资源和网络资源中的至少一种作为限制对象,以实现更灵活、全面的安全防护。

在完成高性能计算系统的所有计算结点部署工作后,即可进行作业分配及执行工作。登陆用户通过作业管理系统加载作业到计算结点,计算结点上通过作业管理系统创建的作业进程被加入到进程白名单中。该作业进程将不会被进程监控服务限制运行资源。用户可以通过ssh的方式登录到计算结点上查看作业的文件输出等中间结果。作业运行结束,作业管理系统将计算结果返回给登录结点,同时将作业进程号从计算结点的进程白名单中删除。

综上所述,(1)相对于采用ssh或其他登陆的安全验证方式改进而言,本实施例从更低的层次实现了内涵式安全防护。即使用户非法获得了root权限,也无法突破本实施例的安全防护机制。登录计算结点裸机环境仅能通过带外管理接口实现,ssh或其他的登录方式只能登录到计算结点的隔离运行环境中。由于带外管理接口的使用需要在一定的物理范围之内,所以远程登录的普通用户将完全无法使用带外管理接口。而普通用户即使通过ssh或其他通过了计算结点的root账户验证,也只能登录到计算结点的隔离运行环境中。这样的方式从更低的层次完全杜绝了用户对计算结点环境的非授权式恶意访问。(2)本实施例实现了用户无感知的安全防护方法。即使用户非法获得了root登录权限,也只能登录到计算结点的隔离运行环境中。但是隔离运行环境对用户是透明的,用户对隔离运行环境无感知。由于隔离运行环境的隔离机制,用户无法查看到进程监控服务的运行,对进程白名单的修改也不会影响结点裸机环境中实际生效的白名单文件。(3)本实施例的安全防护方法引入的性能开销极低。隔离运行环境足够轻量级,在隔离运行环境中运行的作业如果处于进程白名单中,那么该作业进程在隔离运行环境中的运行状态和效率将与在结点裸机环境中运行几乎无差别。进程监控服务也仅仅占用了极少的资源,周期性扫描机制进一步降低了资源占用情况。即,本实施例在保证了内涵式安全的同时,引入了几乎可以忽略的性能开销,既保证了功能,又保持了性能。

此外,本实施例还提供一种面向高性能计算的内涵式安全防护系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述面向高性能计算的内涵式安全防护方法的步骤。

此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序用于被微处理器执行以实施前述面向高性能计算的内涵式安全防护方法的步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号