系统攻击检测方法及其系统与流程

文档序号:11287146阅读:338来源:国知局
系统攻击检测方法及其系统与流程

本发明涉及系统安全检测技术领域,尤其涉及一种系统攻击检测方法及其系统。



背景技术:

随着andriod和linux设备数量的不断增加,特别是越来越多的移动终端采用了andriod系统,andriod系统的病毒和木马也伴随急剧增长,andriod系统的安全性也越来越引起重视。

现阶段针对系统攻击采取的主要手段是采取数据加密、分区挂载控制、虚拟机保护特定进程和物理隔离。

数据加密的表现是对传输过程和存储采取加密的方式进行。但数据加密只是单单对数据的传输和存储过程进行保护,仅仅保证了数据的安全性和有效性,对于数据以后的动作等反馈无法保证。

分区挂载控制是指本来是只读的分区,当出现攻击时,攻击程序想改变分区里面的内容就必须先重新挂载分区为可读写的方式。为了保护数据的不被篡改,采取特殊的方式使攻击程序重新挂载分区失败,从而保证了系统的完整性。这个方法很好地保证了原始系统包的完整性,但仅限于文件系统的完整性,对于一些临时分区,临时文件并不能启动保护作用,只能保证系统不被篡改,并且对于敏感信息的读取,同样也起不到保护作用。

物理隔离是对关键的设备和操作进行物理隔离,这个可以起到很好的保护作用,但同时也增加了终端厂商的开发和维护成本。

在公开号为cn102663312a的中国专利公开文件中,提出了一种基于虚拟机的rop攻击检测方法及系统,包括:将待保护的操作系统运行在虚拟域环境中;定位设定的目标进程,获取目标进程的进程信息;监控该系统中进程运行,当上下文切换到目标进程时,将当前目标进程的堆栈标记为只读;拦截当内存页面错误引发自对一个可写堆栈内存区域标记为只读后发生的写操作,并将相应堆栈页面标记为可写;定位当前目标进程在执行过程中下一需堆栈检查的地方,设置断点;截获断点并检测rop攻击是否存在;当检测到rop攻击时,停止当前目标进程,否则使目标进程继续运行,同时将目标进程的堆栈标记为只读。该方案主要是在操作系统和硬件之间再架设一个虚拟机,这将极大降低整个操作系统的性能,且该方案只实现了针对特定进程的保护,没有实现对所有进程进行保护。如果利用这个方案对所有进程进行保护,会导致系统性能的急剧降低。这个方案的主要目的是保证进程执行上下文的执行代码安全,保证进程代码的执行顺序不被改变。然而对于不被保护的进程,利用这些进程对系统进行攻击,这个方案就起不到作用,如root系统这类攻击。



技术实现要素:

本发明所要解决的技术问题是:提供一种系统攻击检测方法及其系统,可有效保证系统的安全性和完整性。

为了解决上述技术问题,本发明采用的技术方案为:一种系统攻击检测方法,包括:

创建进程后,新建所述进程的进程上下文,并备份所述进程上下文中的只读内容,所述只读内容包括所述进程的用户信息和权限;

标记所述进程处于就绪状态;

通过调度器选择一处于就绪状态的进程;

若一所述进程当前的进程上下文中的只读内容与其备份的只读内容不一致,则判定系统受到攻击。

本发明还涉及一种系统攻击检测系统,包括:

备份模块,用于创建进程后,新建所述进程的进程上下文,并备份所述进程上下文中的只读内容,所述只读内容包括所述进程的用户信息和权限;

标记模块,用于标记所述进程处于就绪状态;

选择模块,用于通过调度器选择一处于就绪状态的进程;

判定模块,用于若一所述进程当前的进程上下文中的只读内容与其备份的只读内容不一致,则判定系统受到攻击。

本发明的有益效果在于:通过在进程创建后立即新建进程上下文,保证此时的进程上下文记录的是进程处于安全状态下的状态信息,从而保证此时备份的进程上下文中的只读内容也是安全的;通过在进程执行前,判断进程当前的进程上下文中的只读内容与其备份的只读内容是否一致,进而判断进程或数据是否遭到篡改,从而判断系统是否受到攻击;通过调度器实时调度检查进程的上下文,可以实时监控所有进程的运行状态,从而可以提早发现对系统的攻击行为;相对于被动的分区保护、数据加密等保护方式,可以较早地对系统的攻击的行为做出相应的对策,从而更好地保证了系统的安全性和完整性。

附图说明

图1为本发明一种系统攻击检测方法的流程图;

图2为本发明实施例一的方法流程图;

图3为本发明一种系统攻击检测系统的结构示意图;

图4为本发明实施例二的系统结构示意图。

标号说明:

1、备份模块;2、标记模块;3、选择模块;4、判定模块;5、第一执行模块;6、第二执行模块。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。

本发明最关键的构思在于:通过调度器实时调度检查进程上下文中的只读内容与其备份的只读内容是否一致。

请参阅图1,一种系统攻击检测方法,包括:

创建进程后,新建所述进程的进程上下文,并备份所述进程上下文中的只读内容,所述只读内容包括所述进程的用户信息和权限;

标记所述进程处于就绪状态;

通过调度器选择一处于就绪状态的进程;

若一所述进程当前的进程上下文中的只读内容与其备份的只读内容不一致,则判定系统受到攻击。

从上述描述可知,本发明的有益效果在于:相对于被动的分区保护、数据加密等保护方式,可以较早地对系统的攻击的行为做出相应的对策,从而更好地保证了系统的安全性和完整性。

进一步地,所述“通过调度器选择一处于就绪状态的进程”之后,进一步包括:

若一所述进程当前的进程上下文中的只读内容与其备份的只读内容一致,则执行一所述进程;

继续执行所述通过调度器选择一处于就绪状态的进程的步骤。

由上述描述可知,若进程当前的进程上下文中的只读内容与其备份的只读内容一致,则判定所述进程安全,继续执行所述进程,然后调度器再调度检查下一个进程是否安全。

进一步地,所述“通过调度器选择一处于就绪状态的进程”具体为:

根据调度器的调度算法,选择一处于就绪状态的进程,所述调度算法包括完全公平调度算法和实时调度算法。

由上述描述可知,通过调度器实时调度检查进程的上下文,可以实时监控所有进程的运行状态,从而可以提早发现对系统的攻击行为,有效保证了系统的安全性。

请参照图3,本发明还提出了一种系统攻击检测系统,包括:

备份模块,用于创建进程后,新建所述进程的进程上下文,并备份所述进程上下文中的只读内容,所述只读内容包括所述进程的用户信息和权限;

标记模块,用于标记所述进程处于就绪状态;

选择模块,用于通过调度器选择一处于就绪状态的进程;

判定模块,用于若一所述进程当前的进程上下文中的只读内容与其备份的只读内容不一致,则判定系统受到攻击。

进一步地,还包括:

第一执行模块,用于若一所述进程当前的进程上下文与其备份的进程上下文一致,则执行一所述进程;

第二执行模块,用于继续执行所述通过调度器选择一处于就绪状态的进程的步骤。

进一步地,所述选择模块具体用于根据调度器的调度算法,选择一处于就绪状态的进程,所述调度算法包括完全公平调度算法和实时调度算法。

实施例一

请参照图2,本发明的实施例一为:一种系统攻击检测方法,适用于android、linux系统等终端和桌面设备,包括如下步骤:

s1:创建进程后,新建所述进程的进程上下文,并备份所述进程上下文中的只读内容,所述只读内容包括所述进程的用户信息和权限;具体地,在内核空间或用户空间创建进程,进一步地,可通过do_fork()函数创建进程并创建进程描述符以及子进程执行所需要的所有其他内核数据结构;进程创建后,在标记其为就绪状态之前,新建所述进程的进程上下文,此时默认第一次新建进程时进程上下文是安全的;然后对所述进程上下文中的只读内容进行备份,并保存至所述进程的任务数据结构中。

s2:标记所述进程处于就绪状态;处于就绪状态的进程等待调度器调度。

s3:通过调度器选择一处于就绪状态的进程;具体地,根据调度器的调度算法,选择一处于就绪状态的进程,所述调度算法包括完全公平调度算法(cfs)和实时调度算法,当然,也可包括其他调度算法。

s4:判断一所述进程当前的进程上下文中的只读内容与其备份的只读内容是否一致,若否,则执行步骤s5,若是,则执行步骤s6。

s5:判定系统受到攻击,发出系统攻击警报。

s6:执行一所述进程;返回执行步骤s3。若一处于执行状态的进程运行的时间片结束后未接收到结束进程的通知则可继续等待调度器调度,若接收到结束进程的通知则退出,即执行do_exit()函数。

linux和android系统中,一个对象操作另一个对象时通常要做安全性检查。如一个进程操作一个文件,要检查进程是否有权限操作该文件。credential机制,正是对象间访问所需权限的抽象;主体提供自己权限的证书,客体提供访问自己所需权限的证书,根据主客体提供的证书及操作做安全性检查。其中,客体指用户空间程序直接可以操作的系统对象,如进程、文件、消息队列、信号量、共享内存等;主体指操作客体的对象,一般为进程。当主体操作客体时,根据主体上下文、客体上下文、操作来做安全计算,查找规则看主体是否有权限操作客体。

进程上下文中的只读内容包括所述进程的用户信息和权限,也就是说,进程的用户信息和权限一般是处于只读状态,不可编辑修改,若发现进程的用户信息和权限发生改变,则判定系统可能遭受攻击。

本实施例通过调度器实时调度检查进程的上下文,可以实时监控所有进程的运行状态,从而可以提早发现对系统的攻击行为;相对于被动的分区保护、数据加密等保护方式,可以较早地对系统的攻击的行为做出相应的对策,从而更好地保证了系统的安全性和完整性。

实施例二

请参照图4,本实施例是对应上述实施例的一种系统攻击检测系统,包括:

备份模块1,用于创建进程后,新建所述进程的进程上下文,并备份所述进程上下文中的只读内容,所述只读内容包括所述进程的用户信息和权限;

标记模块2,用于标记所述进程处于就绪状态;

选择模块3,用于通过调度器选择一处于就绪状态的进程;

判定模块4,用于若一所述进程当前的进程上下文中的只读内容与其备份的只读内容不一致,则判定系统受到攻击。

进一步地,还包括:

第一执行模块5,用于若一所述进程当前的进程上下文与其备份的进程上下文一致,则执行一所述进程;

第二执行模块6,用于继续执行所述通过调度器选择一处于就绪状态的进程的步骤。

进一步地,所述选择模块3具体用于根据调度器的调度算法,选择一处于就绪状态的进程,所述调度算法包括完全公平调度算法和实时调度算法。

综上所述,本发明提供的一种系统攻击检测方法及其系统,通过在进程创建后立即新建进程上下文,保证此时的进程上下文记录的是进程处于安全状态下的状态信息,从而保证此时备份的进程上下文中的只读内容也是安全的;通过在进程执行前,判断进程当前的进程上下文中的只读内容与其备份的只读内容是否一致,进而判断进程或数据是否遭到篡改,从而判断系统是否受到攻击;通过调度器实时调度检查进程的上下文,可以实时监控所有进程的运行状态,从而可以提早发现对系统的攻击行为;相对于被动的分区保护、数据加密等保护方式,可以较早地对系统的攻击的行为做出相应的对策,从而更好地保证了系统的安全性和完整性。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1