Linux应用程序的隔离运行方法技术

技术编号:12489463 阅读:83 留言:0更新日期:2015-12-11 04:06
本发明专利技术提供了一种Linux应用程序的隔离运行方法,所述方法包括以下步骤:为Linux应用程序配置其运行所需资源的沙箱,其中所述沙箱配置了独立的文件系统、所占CPU时间的最大百分比、所绑定的CPU核以及所使用的最大内存;独立的文件系统转换为Linux应用程序的根目录;将Linux应用程序绑定到与其对应的沙箱中配置的所绑定的CPU核;中断发生时,判断当前进程对CPU访问时长是否大于所占CPU时间的最大百分比对应的一时间段内对CPU的最长访问时间,若是切换到沙箱之外的进程;实时检测Linux应用程序运行使用的内存,并在其大于所使用的最大内存时结束Linux应用程序的运行。本发明专利技术实现了应用程序之间及应用程序与操作系统之间的隔离,保证恶意应用程序不会对操作系统产生威胁。

【技术实现步骤摘要】

本专利技术属于计算机
,更具体涉及一种。
技术介绍
应用程序在Iinux操作系统上执行时,需要使用由Iinux操作系统提供的各种资源,主要包括CPU、内存、文件系统等。其中CPU提供解释计算机指令以及处理计算机软件中的数据的功能。内存提供存储CPU的运算数据以及与硬盘等外部存储器交换的数据的功能。文件系统为应用程序提供创建、打开、读取、修改、删除数据文件操作的功能。用户在使用Linux操作系统时,使用到的一些应用程序可能会进行非法操作,导致严重的安全问题,例如某些应用程序会恶意占用系统资源,妨碍其他程序的正常执行,甚至导致系统假死无法维护;用户使用的应用程序需要访问网络时,有可能会从不安全的站点下载恶意程序,这些恶意程序可能会盗取用户的敏感信息等,干扰到用户的日常工作、数据安全和个人隐私等。
技术实现思路
(一 )要解决的技术问题本专利技术要解决的技术问题是如何防止恶意程序威胁操作系统的安全。( 二)技术方案为了解决上述技术问题,本专利技术提供一种,所述方法包括以下步骤:为Linux应用程序配置其运行所需资源的沙箱,其中所述沙箱配置了独立的文件系统、所占CPU时间的最大百分比、所绑定的CPU核以及所使用的最大内存;所述独立的文件系统转换为所述Linux应用程序的根目录;将所述Linux应用程序绑定到与其对应的沙箱中配置的所绑定的CPU核;中断发生时,判断当前进程对CPU访问时长是否大于所述所占CPU时间的最大百分比对应的一时间段内对CPU的最长访问时间,若是切换到所述沙箱之外的进程;实时检测所述Linux应用程序运行使用的内存,并在其大于所述所使用的最大内存时结束所述Linux应用程序的运行。优选地,所述沙箱还配置了多个可使用的权能;所述沙箱进行特权操作时,判断所述沙箱操作的特权是否属于所述多个可使用的权能中的一个或多个,若是允许所述沙箱进行特权操作。优选地,所述独立的文件系统包括所述Linux应用程序及其执行时需要的配置文件、动态链接库、特殊设备。优选地,中断发生时,由调度器判断当前进程对CPU访问时长是否大于所述所占CPU时间的最大百分比对应的一时间段内的最长访问时间。优选地,所述将所述Linux应用程序绑定到与其对应的沙箱中配置的所绑定的CPU核之前还包括判断所述Linux应用程序属于哪个沙箱的步骤。(三)有益效果本专利技术提供了 ,通过为沙箱配置系统资源,在沙箱中运行的Linux应用程序只能使用沙箱中的资源,即沙箱为应用程序提供的一个隔离的运行环境,所有不可信的应用程序,都可以在沙箱中运行而不会威胁到系统中沙箱之外的资源安全,实现了应用程序之间及应用程序与操作系统之间的隔离,保证恶意应用程序不会对操作系统产生威胁。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的一个较佳实施例的的流程图;图2为本专利技术中独立的文件系统的结构示意图;图3为本专利技术的一个较佳实施例的限制沙箱中的应用程序的进程可以使用的内存的方法流程图;图4为本专利技术的一个较佳实施例的对沙箱中的进程组可以使用的CPU时间片进行控制的方法流程图。【具体实施方式】下面结合附图和实施例对本专利技术作进一步详细描述。以下实施例用于说明本专利技术,但不能用来限制本专利技术的范围。一种,如图1所示,所述方法包括以下步骤:S1、为Linux应用程序配置其运行所需资源的沙箱,其中所述沙箱配置了独立的文件系统、所占CPU时间的最大百分比、所绑定的CPU核以及所使用的最大内存;S2、沙箱运行时,所述独立的文件系统转换为所述Linux应用程序的根目录;S3、程序运行时,将所述Linux应用程序绑定到与其对应的沙箱中配置的所绑定的CPU核;S4、中断发生时,判断当前进程对CPU访问时长是否大于所述所占CPU时间的最大百分比对应的一时间段内对CPU的最长访问时间,若是切换到所述沙箱之外的进程;S5、实时检测所述Linux应用程序运行使用的内存,并在其大于所述所使用的最大内存时结束所述Linux应用程序的运行。应当明白上述方法的标号并不代表执行顺序。本专利技术为沙箱指定一个与主机完全独立的文件系统,程序在沙箱中运行后,其工作目录更改为沙箱目录,程序看不到这个目录以外的文件,因而实现了沙箱与主机文件系统的隔离。如果给不同沙箱指定不同的目录,那么沙箱之间也可以实现完全的文件系统隔离。沙箱即为应用程序提供的一个隔离的运行环境,所有用户不可信的应用程序,都可以在沙箱中运行,本专利技术的上述方法能够有效防止恶意应用程序对操作系统进行破坏。进一步地,所述沙箱还配置了多个可使用的权能;所述沙箱进行特权操作时,判断所述沙箱操作的特权是否属于所述多个可使用的权能中一个或多个,若是允许所述沙箱进行特权操作。优选地,为沙箱中的进程设定一个最小特权集,其为包含可使用的权能的集合,当沙箱中的进程要进行某项特权操作时,检查沙箱是否具备相应权能。若具备,允许进程进行特权操作,若不具备,禁止进程进行该特权操作。进一步地,如图2所示,所述独立的文件系统包括所述Linux应用程序本身及其执行应用程序时需要的配置文件、动态链接库、特殊设备等等。沙箱运行时,将其进程的根目录转换为这个独立的文件系统,使沙箱中的进程无法操作该独立文件系统以外的文件。图2中,etc目录下存放的是程序执行时需要的配置文件,Iib目录下存放的是程序执行时需要的库文件,dev目录下存放的是程序执行时需要的设备文件。进一步地,中断发生时,由调度器判断当前进程对CPU访问时长是否大于所述所占CPU时间的最大百分比对应的一时间段内的最长访问时间。进一步地,所述将所述Linux应用程序绑定到与其对应的沙箱中配置的所绑定的CPU核之前还包括判断所述Linux应用程序属于哪个沙箱的步骤。上述方法限制了沙箱中的任务(应用程序的进程)可以使用的内存,具体可以通过以下步骤实现,如图3所示:SlOl:为在沙箱中运行的程序指定一个可使用的内存最大值(即上述所使用的最大内存);S102:在系统运行时实时地监测沙箱中程序的内存使用量;S103:判断沙箱中内存使用量是否到达设定值(即上述所使用的最大内存);S104:若监测到沙箱中的程序使用的内存超过这个上限且再继续申请内存;S105:发出警告,并终止程序的运行。上述方法对沙箱中的进程组可以使用的CPU时间片进行控制,限定沙箱中的程序在某个时间段中对CPU资源的最长连续访问时间,即所占CPU时间的最大百分比。具体可以通过以下步骤实现,如图4所示:S201:为沙箱设置某个时间段中对CPU的最长连续访问时间(即上述所占CPU时间的最大百分比);S202:对沙箱中程序的CPU访问时间进行监测;S203:中断发生时,由调度器判断沙箱中的程序是否达到对CPU资源的最长访问时间(即设定值或上述所占CPU时间的最大百分比);S204:若达到,则中断返回时切换至沙箱以外的进程,若未达到,程序可继续执行。上述方法为沙箱中的进程设定可以绑定的CPU核。进程调度时(或程序启动时),判断该进程是不是沙箱中的程序本文档来自技高网...

【技术保护点】
一种Linux应用程序的隔离运行方法,其特征在于,所述方法包括以下步骤:为Linux应用程序配置其运行所需资源的沙箱,其中所述沙箱配置了独立的文件系统、所占CPU时间的最大百分比、所绑定的CPU核以及所使用的最大内存;所述独立的文件系统转换为所述Linux应用程序的根目录;将所述Linux应用程序绑定到与其对应的沙箱中配置的所绑定的CPU核;中断发生时,判断当前进程对CPU访问时长是否大于所述所占CPU时间的最大百分比对应的一时间段内对CPU的最长访问时间,若是切换到所述沙箱之外的进程;实时检测所述Linux应用程序运行使用的内存,并在其大于所述所使用的最大内存时结束所述Linux应用程序的运行。

【技术特征摘要】

【专利技术属性】
技术研发人员:李晨涂碧波孟丹
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

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

1