CN101071388B - 一种进程隔离控制系统及方法 - Google Patents

一种进程隔离控制系统及方法 Download PDF

Info

Publication number
CN101071388B
CN101071388B CN200610080278A CN200610080278A CN101071388B CN 101071388 B CN101071388 B CN 101071388B CN 200610080278 A CN200610080278 A CN 200610080278A CN 200610080278 A CN200610080278 A CN 200610080278A CN 101071388 B CN101071388 B CN 101071388B
Authority
CN
China
Prior art keywords
operation request
process operation
security strategy
described process
request
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
CN200610080278A
Other languages
English (en)
Other versions
CN101071388A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN200610080278A priority Critical patent/CN101071388B/zh
Publication of CN101071388A publication Critical patent/CN101071388A/zh
Application granted granted Critical
Publication of CN101071388B publication Critical patent/CN101071388B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种进程隔离控制方法及系统,该进程隔离控制系统连接进程和操作系统,包括:用于判断请求跨进程内存操作的进程操作请求是否符合要求的模块;和根据判断结果对进程操作请求执行相应处理的模块;根据判断结果对进程操作请求执行相应的处理的模块具体包括:在进程操作请求符合安全策略要求时,将进程操作请求发送给操作系统的单元;和在进程操作请求不符合安全策略的要求时,发送拒绝请求消息给第一进程的单元。引用本发明的进程隔离控制系统和方法,可以防范未知的病毒和恶意代码的攻击,从逻辑上将各个进程的私有空间进行保护和隔离,使用本发明可以将病毒(恶意代码)产生的破坏程度降低。

Description

一种进程隔离控制系统及方法
技术领域
本发明涉及进程的管理技术,特别涉及对跨进程的内存操作进行控制管理的方法和系统。
背景技术
现有技术条件下,跨进程间的内存操作方式如图1所示,图1中包括2个进程:进程A和进程B,进程A和进程B之间没有一个有效的隔离区,二者可以相互进行内存操作。目前,进程之间进行内存操作时,对恶意代码和/或病毒是基于签名的方式进行检查。
当进程A和进程B中任意一个被病毒感染和/或被恶意代码注入,同时二者进行内存操作时,将会导致另外一个本来没有被病毒感染和/或没有被恶意代码注入的进程受到病毒和/或恶意代码的攻击,这样有可能导致整个操作环境的崩溃。然而,目前基于签名检查恶意代码和/或病毒的方式无法有效的抵御寄存在内存中的恶意代码和/或病毒,特别是未知的恶意代码和/或病毒,因此无法保证操作环境的安全,也无法对进程的私有内存空间进行保护,已经受感染的进程会干扰本来处于正常的进程的正常运行。
发明内容
本发明的目的在于提供一种进程隔离控制系统及方法,防止进程之间的干扰(如病毒感染和恶意代码)注入造成的破坏,保证操作环境的安全。
为了实现上述目的,本发明提供了一种进程隔离控制系统和方法,连接进程和操作系统,用于根据安全策略判断请求跨进程内存操作的进程操作请求是否符合要求,并根据判断结果对所述进程操作请求执行相应的处理。
上述的系统,其中,所述的根据判断结果对所述进程操作请求执行相应的处理具体执行以下操作:
在所述进程操作请求符合所述安全策略的要求时,用于将所述进程操作请求发送给操作系统,在所述进程操作请求不符合所述安全策略的要求时,用于发送拒绝请求消息给所述第一进程。
上述的系统,其中,具体包括:
安全策略存储模块,用于存储所述安全策略;
进程操作请求接收模块,用于接收所述进程操作请求,并转发给进程操作请求判断模块;
进程操作请求判断模块,用于根据所述安全策略判断所述进程操作请求是否符合要求,并将判断结果和所述进程操作请求发送给进程操作请求处理模块;
进程操作请求处理模块,在所述进程操作请求符合所述安全策略的要求时,用于将所述进程操作请求发送给所述操作系统,在所述进程操作请求不符合所述安全策略的要求时,用于发送所述拒绝请求消息给所述第一进程。
上述的系统,其中,还包括:
安全策略修改模块,与所述安全策略存储模块连接,用于根据系统或用户发送的安全策略修改指令对所述安全策略进行管理操作。
上述的系统,其中,所述管理操作包括修改安全策略和/或删除安全策略和/或添加安全策略。
上述的系统,其中,所述进程操作请求为打开进程请求、内存分配请求、写入目标代码操作请求或运行目标代码操作请求。
为了更好的实现上述目的,本发明还提供了一种进程隔离控制方法,在进程和操作系统之间设置一进程隔离控制系统,由所述进程隔离控制系统根据安全策略判断请求跨进程内存操作的进程操作请求是否符合要求,并由所述进程隔离控制系统根据判断结果对所述进程操作请求执行相应的处理。
上述的方法,其中,所述的根据判断结果对所述进程操作请求执行相应的处理具体执行以下操作:
在所述进程操作请求符合所述安全策略的要求时,将所述进程操作请求发送给操作系统,在所述进程操作请求不符合所述安全策略的要求时,发送拒绝请求消息给所述第一进程。
上述的方法,其中,具体包括:
步骤41,进程操作请求接收模块接收进程发送的所述进程操作请求,并转发给进程操作请求判断模块;
步骤42,所述进程操作请求判断模块根据所述安全策略判断所述进程操作请求是否符合要求,如果是进入步骤43,否则进入步骤44;
步骤43,所述进程操作请求判断模块将判断结果和所述进程操作请求发送给进程操作请求处理模块,所述进程操作请求处理模块将所述进程操作请求转发给操作系统;
步骤44,所述进程操作请求判断模块将判断结果和所述进程操作请求发送给进程操作请求处理模块,所述进程操作请求处理模块向所述进程返回拒绝请求的消息。
上述的方法,其中,所述进程操作请求为打开进程请求、内存分配请求、写入目标代码操作请求或运行目标代码操作请求。
本发明的进程隔离控制系统和方法,根据安全策略判断请求跨进程内存操作的进程操作请求是否符合要求,并根据判断结果对所述进程操作请求执行相应的处理,这样只有符合安全策略的进程操作请求才能通过,可以有效的监视跨进程之间的各种操作,防范未知的病毒和恶意代码的攻击,从逻辑上将各个进程的私有空间进行保护和隔离,使用本发明可以将病毒(恶意代码)产生的破坏程度降低,已经受感染的进程不会干扰另一个进程的正常运行。
附图说明
图1为现有技术的进程之间内存操作的示意图;
图2为本发明的进程隔离控制系统的设置位置示意图;
图3为本发明的进程隔离控制系统的结构示意图;
图4为本发明的进程隔离控制方法的流程示意图;
图5为本发明的进程隔离控制方法在进程操作请求为打开进程请求时的详细流程图.
具体实施方式
在本发明的实施例中,以两个进程(进程A和进程B)为例进行说明。
如图2所示,本发明的进程隔离控制系统连接系统进程(进程A和进程B),同时还连接操作系统(图中未示出),用于根据安全策略控制跨进程(进程A和进程B)之间的内存操作,如图3所示,具体包括安全策略存储模块11、进程操作请求接收模块12、进程操作请求判断模块13、进程操作请求处理模块14,其中:
安全策略存储模块11,用于存储安全策略,该安全策略用于判断第一进程是否有对第二进程执行跨进程内存操作的权限;
进程操作请求接收模块12,用于接收第一进程(进程A)发送的进程操作请求,并转发给进程操作请求判断模块13;
进程操作请求判断模块13,用于根据安全策略存储模块11中存储的安全策略判断第一进程(进程A)是否有对第二进程(进程B)执行跨进程内存操作的权限,并将判断结果和进程操作请求发送给进程操作请求处理模块14;
进程操作请求处理模块14,用于根据进程操作请求判断模块13的判断结果对进程操作请求执行相应处理,如果判断结果为符合要求,则将进程操作请求转发给操作系统,否则向第一进程(进程A)返回拒绝请求的消息。
如图2所示,本发明的进程隔离控制系统还包括一安全策略修改模块15,与安全策略存储模块11连接,用于根据系统或用户发送的安全策略修改指令对安全策略存储模块11中的安全策略进行管理,该管理包括修改、删除、添加等操作。
安全策略是由用户或厂商定义的一组访问规则,其记录着哪些已知软件(进程)有权使用某个操作(OPEN/ALLOCMEM/WRITE/EXECUTE),例如:某些杀毒软件在进行内存病毒实时监控的时候需要访问其他进程的内存空间这时候我们可以将该软件添加到安全策略的白名单中,使它有权使用这些操作。
如下所示为本发明中的安全策略的一种结构方式:
Struct PolicyList
{
  ULONG uID;               //ID
  CHAR ProcessName[PATH_MAX];//源进程名称
  CHAR TargetName[PATH_MAX];//目标进程名称
  ULONG PrivilegeCode;//特权码(OPEN/ALLOCMEM/WRITE/EXECUTE)
  ULONG Flink;                  //链表头
  ULONG Blink;                  //链表尾
}
上述的安全策略记录了源进程、目标进程以及源进程对目标进程可以执行哪些内存操作。
本发明的进程隔离控制方法中,主要可用于对以下跨进程的内存操作进行监测控制:
进程特权操作;
虚拟内存映射操作;
进程之间的虚拟内存读写操作;及
进程对物理内存直接的读写操作。
结合图3,本发明的进程隔离控制方法如图4所示,包括如下步骤:
步骤41,进程操作请求接收模块12接收进程A发送的进程操作请求,并转发给进程操作请求判断模块;
步骤42,进程操作请求判断模块13根据安全策略存储模块11中存储的安全策略判断进程A是否有对进程B执行进程操作请求所请求的跨进程内存操作的权限,如果是进入步骤43,否则进入步骤44;
步骤43,进程操作请求判断模块13将判断结果和进程操作请求发送给进程操作请求处理模块,进程操作请求处理模块将进程操作请求转发给操作系统;
步骤44,进程操作请求判断模块13将判断结果和进程操作请求发送给进程操作请求处理模块,进程操作请求处理模块向进程A返回拒绝请求的消息。
图5所示为本发明的进程隔离控制方法在进程操作请求为打开进程请求时的详细流程图,如图5所示,在进程操作请求为打开进程请求时,本发明的进程隔离控制方法具体包括如下步骤:
步骤51,进程操作请求接收模块12接收进程A发送的打开进程请求(请求打开另一个进程),并转发给进程操作请求判断模块;
步骤52,进程操作请求判断模块13根据安全策略存储模块11中存储的安全策略判断打开进程请求是否符合安全策略,即判断进程A是否有对进程B执行打开进程请求所请求的跨进程内存操作的权限,如果是进入步骤43,否则进入步骤44;
步骤53,进程操作请求判断模块13将判断结果和进程操作请求发送给进程操作请求处理模块,进程操作请求处理模块将打开进程请求转发给操作系统;
步骤54,进程操作请求判断模块13将判断结果和打开进程请求发送给进程操作请求处理模块,进程操作请求处理模块向进程A返回拒绝请求的消息。
操作系统在接收到打开进程请求后会将进程B的句柄返回给进程A。
同时,该进程操作请求还可以是内存分配请求(请求系统在另一个进程中分配内存空间)、写入目标代码操作请求(向目标进程的地址空间写入数据)、运行目标代码操作请求(运行目标进程的代码)等,进程隔离控制系统都会对其执行相似的操作,在此不再赘述。
当内存分配请求通过安全策略的验证后,操作系统会向进程A返回内存基地址;当写入目标代码操作请求通过安全策略的验证后,操作系统会向进程A返回成功信息,进程A可向一段内存空间写入一段可执行代码;当运行目标代码操作请求通过安全策略的验证后,操作系统会向进程A返回成功信息,进程A运行一段可执行代码。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种进程隔离控制系统,连接进程和操作系统,包括:
用于根据安全策略判断请求跨进程内存操作的进程操作请求是否符合要求的模块;和
根据判断结果对所述进程操作请求执行相应的处理的模块;
所述根据判断结果对所述进程操作请求执行相应的处理的模块具体包括:
在所述进程操作请求符合所述安全策略的要求时,用于将所述进程操作请求发送给操作系统的单元;和
在所述进程操作请求不符合所述安全策略的要求时,用于发送拒绝请求消息给发送所述进程操作请求的进程的单元。
2.根据权利要求1所述的系统,其特征在于,还包括:
安全策略存储模块,用于存储所述安全策略;
进程操作请求接收模块,用于接收所述进程操作请求,并转发给所述用于根据安全策略判断请求跨进程内存操作的进程操作请求是否符合要求的模块。
3.根据权利要求2所述的系统,其特征在于,还包括:
安全策略修改模块,与所述安全策略存储模块连接,用于根据系统或用户发送的安全策略修改指令对所述安全策略进行管理操作。
4.根据权利要求3所述的系统,其特征在于,所述管理操作包括修改安全策略和/或删除安全策略和/或添加安全策略。
5.根据权利要求1、3或4所述的系统,其特征在于,所述进程操作请求为打开进程请求、内存分配请求、写入目标代码操作请求或运行目标代码操作请求。
6.一种进程隔离控制方法,在进程和操作系统之间设置一进程隔离控制系统,由所述进程隔离控制系统根据安全策略判断请求跨进程内存操作的进程操作请求是否符合要求,并由所述进程隔离控制系统根据判断结果对所述进程操作请求执行相应的处理,所述的根据判断结果对所述进程操作请求执行相应的处理具体执行以下操作:
在所述进程操作请求符合所述安全策略的要求时,将所述进程操作请求发送给操作系统,在所述进程操作请求不符合所述安全策略的要求时,发送拒绝请求消息给发送所述进程操作请求的进程。
7.根据权利要求6所述的方法,其特征在于,所述进程操作请求为打开进程请求、内存分配请求、写入目标代码操作请求或运行目标代码操作请求。
8.一种进程隔离控制方法,其特征在于,具体包括:
步骤41,进程操作请求接收模块接收进程发送的所述进程操作请求,并转发给进程操作请求判断模块;
步骤42,所述进程操作请求判断模块根据所述安全策略判断所述进程操作请求是否符合要求,如果是进入步骤43,否则进入步骤44;
步骤43,所述进程操作请求判断模块将判断结果和所述进程操作请求发送给进程操作请求处理模块,所述进程操作请求处理模块将所述进程操作请求转发给操作系统,结束处理;
步骤44,所述进程操作请求判断模块将判断结果和所述进程操作请求发送给进程操作请求处理模块,所述进程操作请求处理模块向所述进程返回拒绝请求的消息。
CN200610080278A 2006-05-12 2006-05-12 一种进程隔离控制系统及方法 Active CN101071388B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200610080278A CN101071388B (zh) 2006-05-12 2006-05-12 一种进程隔离控制系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200610080278A CN101071388B (zh) 2006-05-12 2006-05-12 一种进程隔离控制系统及方法

Publications (2)

Publication Number Publication Date
CN101071388A CN101071388A (zh) 2007-11-14
CN101071388B true CN101071388B (zh) 2010-05-12

Family

ID=38898622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610080278A Active CN101071388B (zh) 2006-05-12 2006-05-12 一种进程隔离控制系统及方法

Country Status (1)

Country Link
CN (1) CN101071388B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599112B (zh) * 2009-04-09 2010-11-03 广州市芯德电子技术有限公司 一种保护加密软件的方法
US11275861B2 (en) * 2014-07-25 2022-03-15 Fisher-Rosemount Systems, Inc. Process control software security architecture based on least privileges
CN105760233A (zh) * 2016-02-24 2016-07-13 北京金山安全软件有限公司 一种进程处理方法及装置
CN106096401B (zh) * 2016-06-13 2019-05-28 珠海豹趣科技有限公司 进程保护方法及装置
CN110045998B (zh) * 2019-04-22 2021-07-16 腾讯科技(深圳)有限公司 加载动态库的方法及装置
CN113535446B (zh) * 2021-06-29 2023-06-06 中国人民解放军战略支援部队信息工程大学 用于线路接入时业务数据保护的进程双向守护方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1538296A (zh) * 2003-02-18 2004-10-20 图形处理单元的多线程内核
CN1567254A (zh) * 2003-06-17 2005-01-19 深圳市中兴通讯股份有限公司南京分公司 嵌入式实时操作系统高效可靠的内存保护方法
CN1750566A (zh) * 2004-09-16 2006-03-22 中兴通讯股份有限公司 基于代理进程的双机应用系统的监控方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1538296A (zh) * 2003-02-18 2004-10-20 图形处理单元的多线程内核
CN1567254A (zh) * 2003-06-17 2005-01-19 深圳市中兴通讯股份有限公司南京分公司 嵌入式实时操作系统高效可靠的内存保护方法
CN1750566A (zh) * 2004-09-16 2006-03-22 中兴通讯股份有限公司 基于代理进程的双机应用系统的监控方法

Also Published As

Publication number Publication date
CN101071388A (zh) 2007-11-14

Similar Documents

Publication Publication Date Title
US10361998B2 (en) Secure gateway communication systems and methods
JP6772270B2 (ja) 複数のネットワークエンドポイントをセキュアにするためのデュアルメモリイントロスペクション
US10447728B1 (en) Technique for protecting guest processes using a layered virtualization architecture
CN101414341B (zh) 一种软件自我保护的方法
US10474813B1 (en) Code injection technique for remediation at an endpoint of a network
CN103620613B (zh) 用于基于虚拟机监视器的反恶意软件安全的系统和方法
CN101071388B (zh) 一种进程隔离控制系统及方法
EP2037657B1 (en) Method and apparatus for dynamic switching and real time security control on virtualized systems
US8074281B2 (en) Malware detection with taint tracking
US8065728B2 (en) Malware prevention system monitoring kernel events
TWI475388B (zh) 保護代理及特權模式
US10726127B1 (en) System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
CN112073411A (zh) 一种网络安全推演方法、装置、设备及存储介质
CN109845227B (zh) 用于网络安全的方法和系统
CN104081404A (zh) 使用动态优化框架的应用沙盒化
CN108595982B (zh) 一种基于多容器分离处理的安全计算架构方法及装置
CN101667232A (zh) 基于可信计算的终端可信保障系统与方法
US20160335433A1 (en) Intrusion detection system in a device comprising a first operating system and a second operating system
CN114116606A (zh) 针对windows全系统的文件保护方法及系统
JP7411895B2 (ja) 情報処理装置、異常検知方法およびコンピュータプログラム
RU2460133C1 (ru) Система и способ защиты компьютерных приложений
US20220206961A1 (en) Architecture, system and methods thereof for secure computing using hardware security classifications
US20200382552A1 (en) Replayable hacktraps for intruder capture with reduced impact on false positives
Ward et al. Security Considerations for Next-Generation Operating Systems for Cyber-Physical Systems
CN105718810B (zh) 虚拟机敏感文件的保护方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant