一种监测和清除分裂炸弹程序攻击的方法技术

技术编号:20993064 阅读:42 留言:0更新日期:2019-04-29 22:54
本发明专利技术公开一种监测和清除分裂炸弹程序攻击的方法,利用计算机操作系统中的进程描述表,以添加原生父进程信息及子进程信息形成原生进程关系树;判断计算机操作系统是否符合分裂炸弹攻击条件在符合时选择第一可疑进程对象按照通用算法进行处理,并同时记录第一可疑进程对象的原生父进程信息;判断计算机操作系统是否仍符合分裂炸弹攻击条件在符合时选择第二可疑进程对象,并根据原生进程树来确定第二可疑进程对象的原生父进程信息与最近的祖先进程信息作为可疑程序进行处理,以结束可疑程序及可疑进程对象的子进程。利用原生进程树与最近公共祖先查询算法,有效的定位分裂炸弹或者问题故障进程,避免计算机系统的崩溃或重启,或者发生拒绝服务。

A Method for Monitoring and Clearing Split Bomb Program Attacks

The invention discloses a method for monitoring and eliminating the program attack of split bomb, which uses the process description table in the computer operating system to add the original parent process information and the child process information to form the original process relationship tree, judges whether the computer operating system meets the condition of split bomb attack, and chooses the first suspicious process object to process according to the general algorithm when it meets the condition of split bomb attack, and at the same time. Record the original parent process information of the first suspicious process object; judge whether the computer operating system still meets the splitting bomb attack condition and select the second suspicious process object when it meets, and determine the original parent process information of the second suspicious process object and the latest ancestor process information of the second suspicious process object as suspicious procedures to process, in order to end suspicious programs and suspicious processes. Subprocesses of objects. Using the native process tree and the latest common ancestor query algorithm, we can effectively locate the process of splitting bomb or problem failure, and avoid the collapse or restart of computer system, or the occurrence of denial of service.

【技术实现步骤摘要】
一种监测和清除分裂炸弹程序攻击的方法
本专利技术涉及软件系统
,尤其涉及一种监测和清除分裂炸弹程序攻击的方法。
技术介绍
当前各类通用计算机操作系统,包括Unix类,即含BSD系统,Linux系统,安卓系统,iOS系统,和Windows系统等,针对分裂炸弹(ForkBomb)的拒绝服务(DoS)攻击,都还不能进行有效的监测和防护;通常有的系统是不采取任何抵御措施;有的采取简单的抵御措施,如通过限制单一用户的最大进程数量;有的系统用简单的试探规则进行判断,选择本身占用内存大或者包含其子进程占用的内存量大的进程,判断,这种方式正确率不高或者是根本无效。目前,只有少量可信用户登录访问的计算机系统,例如个人PC,不设防通常危害不严重,针对使用用户较多的大型公共服务器,则必须设防;但是简单设置用户进程限制,又不方便灵活,不利于计算资源的有效使用。使用简单的试探算法,无论依据单个进程的内存资源占用,还是包含子进程内存占用,都无法保证定位到炸弹程序;后者还容易误判合法的拥有很多子进程的程序,如WEB服务,窗口管理器等,结果都是正确率不高或者是根本无效。并且,简单试探算法无效的深层原因是,POSIX系统从设计上就没有考虑保持进程间的创建关系,现有进程关系树无法满足要求;如前所述,现有的方法是设置用户最大可拥有进程数量,使用内存不足终结者程序(OOM,out-of-memorykiller)试探算法结束占用内存资源最大的进程,通常两者结合使用,内存不足终结者程序作为最后一道防线使用,进一步给用户带来不便。
技术实现思路
针对现有技术中存在的上述问题,现提供一种监测和清除分裂炸弹程序攻击的方法。具体技术方案如下:一种监测和清除分裂炸弹程序攻击的方法,用于计算机操作系统,其中包括:步骤S1、利用所述计算机操作系统中的进程描述表,以添加原生父进程信息及子进程信息,形成一原生进程关系树;步骤S2、判断所述计算机操作系统是否符合一分裂炸弹攻击条件,并在符合时转向步骤S3;所述步骤S3、选择第一可疑进程对象按照通用算法进行处理,并同时记录所述第一可疑进程对象的原生父进程信息;步骤S4、判断所述计算机操作系统是否仍符合所述分裂炸弹攻击条件,并在符合时转向步骤S5;所述步骤S5、选择第二可疑进程对象,并根据所述原生进程树来确定所述第二可疑进程对象的原生父进程信息与最近的祖先进程信息作为所述可疑程序进行处理,以结束所述可疑程序及所述可疑进程对象的子进程。优选的,当所述计算机操作系统运行正常时,还包括一维护步骤;所述维护步骤包括以定期维护保持所述原生进程树的进程间的创建关系。优选的,于所述步骤S2中,判断所述计算机操作系统不符合所述分裂炸弹攻击条件时,则转向所述维护步骤。优选的,于所述步骤S4中,判断所述计算机操作系统仍不符合所述分裂炸弹攻击条件时,转向所述维护步骤。优选的,于所述方法中采用最近公共祖先查询算法,选择所述第一可疑进程对象和所述第二可疑进程对象。优选的,通过对所述原生子进程的内存进行统计的方式选择所述第一可疑进程对象和所述第二可疑进程对象。优选的,于所述最近公共祖先查询算法的查询次数包括至少两次。优选的,所述最近公共祖先查询算法包括保守模式;和/或温和模式;和/或激进模式。本专利技术的技术方案有益效果在于:公开一种监测和清除分裂炸弹程序攻击的方法,通过建立原生进程树,保持进程对象之间的创建关系,并且利用原生进程树与逐步逼近的最近公共祖先查询算法,有效的定位分裂炸弹或者问题故障进程,能保证系统从灾难中恢复过来,避免计算机系统的崩溃或重启,或者发生拒绝服务;并且还可以推广适用至对资源耗尽型攻击的监测定位上。附图说明参考所附附图,以更加充分的描述本专利技术的实施例。然而,所附附图仅用于说明和阐述,并不构成对本专利技术范围的限制。图1为本专利技术的实施例的监测和清除分裂炸弹程序攻击的方法的步骤流程图;图2为本专利技术的实施例的最近公共祖先查询算法的第一实施例的步骤流程图;图3为本专利技术的实施例的最近公共祖先查询算法的步骤流程图的第二种实施例的步骤流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。下面结合附图和具体实施例对本专利技术作进一步说明,但不作为本专利技术的限定。本专利技术包括一种监测和清除分裂炸弹程序攻击的方法,用于计算机操作系统,其中包括:步骤S1、利用计算机操作系统中的进程描述表,以添加原生父进程信息及子进程信息,形成一原生进程关系树;步骤S2、判断计算机操作系统是否符合一分裂炸弹攻击条件,并在符合时转向步骤S3;步骤S3、选择第一可疑进程对象按照通用算法进行处理,并同时记录第一可疑进程对象的原生父进程信息;步骤S4、判断计算机操作系统是否仍符合分裂炸弹攻击条件,并在符合时转向步骤S5;步骤S5、选择第二可疑进程对象,并根据原生进程树来确定第二可疑进程对象的原生父进程信息与最近的祖先进程信息作为可疑程序进行处理,以结束可疑程序及可疑进程对象的子进程。通过上述监测和清除分裂炸弹程序攻击的方法的技术方案,如图1所示,通过建立原生进程树,保持进程对象之间的创建关系,并且利用原生进程树与逐步逼近的最近公共祖先查询算法,有效的定位分裂炸弹或者问题故障进程,能保证系统从灾难中恢复过来,避免计算机系统的崩溃或重启,或者发生拒绝服务。进一步地,该方法对系统运行开销有少量增加,每个进程增加大约20字节,内存不足终结程序中的最近公共祖先查询算法做到了O(n)级,对暴露在有分裂炸弹攻击风险系统,或其他有高可靠性要求的系统;还可以推广适用至对资源耗尽型攻击的监测定位上,比如可以应用于网络领域,用于定位发起分布式攻击的恶意网络段,方便进行后续隔离。在一种较优的实施例中,当计算机操作系统运行正常时,还包括一维护步骤;维护步骤包括以定期维护保持原生进程树的进程间的创建关系;于步骤S2中,判断计算机操作系统不符合分裂炸弹攻击条件时,则转向维护步骤;于步骤S4中,判断计算机操作系统仍不符合分裂炸弹攻击条件时,转向维护步骤。具体地,通过建立原生进程树,保持进程对象之间的创建关系,并且利用原生进程树与逐步逼近的最近公共祖先查询算法,有效的定位分裂炸弹或者问题故障进程,能保证系统从灾难中恢复过来,避免计算机系统的崩溃或重启,或者发生拒绝服务。进一步地,该方法对系统运行开销有少量增加,每个进程增加大约20字节,内存不足终结程序中的最近公共祖先查询算法做到了O(n)级,对暴露在有分裂炸弹攻击风险系统,或其他有高可靠性要求的系统;还可以推广适用至对资源耗尽型攻击的监测定位上,比如可以应用于网络领域,用于定位发起分布式攻击的恶意网络段,方便进行后续隔离。在一种较优的实施例中,于方法中采用最近公共祖先查询算法,选择第一可疑进程对象和第二可疑进程对象;通过对原生子进程的内存进行统计的方式选择第一可疑进程对象和第二可疑进程对象。具体地,通过建立原生进程树,保持进程对象之间的创建关系,并且利用本文档来自技高网...

【技术保护点】
1.一种监测和清除分裂炸弹程序攻击的方法,用于计算机操作系统,其特征在于,包括:步骤S1、利用所述计算机操作系统中的进程描述表,以添加原生父进程信息及子进程信息,形成一原生进程关系树;步骤S2、判断所述计算机操作系统是否符合一分裂炸弹攻击条件,并在符合时转向步骤S3;所述步骤S3、选择第一可疑进程对象按照通用算法进行处理,并同时记录所述第一可疑进程对象的原生父进程信息;步骤S4、判断所述计算机操作系统是否仍符合所述分裂炸弹攻击条件,并在符合时转向步骤S5;所述步骤S5、选择第二可疑进程对象,并根据所述原生进程树来确定所述第二可疑进程对象的原生父进程信息与最近的祖先进程信息作为所述可疑程序进行处理,以结束所述可疑程序及所述可疑进程对象的子进程。

【技术特征摘要】
1.一种监测和清除分裂炸弹程序攻击的方法,用于计算机操作系统,其特征在于,包括:步骤S1、利用所述计算机操作系统中的进程描述表,以添加原生父进程信息及子进程信息,形成一原生进程关系树;步骤S2、判断所述计算机操作系统是否符合一分裂炸弹攻击条件,并在符合时转向步骤S3;所述步骤S3、选择第一可疑进程对象按照通用算法进行处理,并同时记录所述第一可疑进程对象的原生父进程信息;步骤S4、判断所述计算机操作系统是否仍符合所述分裂炸弹攻击条件,并在符合时转向步骤S5;所述步骤S5、选择第二可疑进程对象,并根据所述原生进程树来确定所述第二可疑进程对象的原生父进程信息与最近的祖先进程信息作为所述可疑程序进行处理,以结束所述可疑程序及所述可疑进程对象的子进程。2.根据权利要求1所述的监测和清除分裂炸弹程序攻击的方法,其特征在于,当所述计算机操作系统运行正常时,还包括一维护步骤;所述维护步骤包括以定期维护保持所述原生进程树的进程间的创建关系。3.根据权利要求2所述的监测和...

【专利技术属性】
技术研发人员:祁勇
申请(专利权)人:普华基础软件股份有限公司
类型:发明
国别省市:上海,31

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

1