CN105653928A - 一种面向大数据平台的拒绝服务检测方法 - Google Patents
一种面向大数据平台的拒绝服务检测方法 Download PDFInfo
- Publication number
- CN105653928A CN105653928A CN201610075208.9A CN201610075208A CN105653928A CN 105653928 A CN105653928 A CN 105653928A CN 201610075208 A CN201610075208 A CN 201610075208A CN 105653928 A CN105653928 A CN 105653928A
- Authority
- CN
- China
- Prior art keywords
- user
- application program
- node
- task
- nodes
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种面向大数据平台的拒绝服务检测方法。本方法为:1)在大数据平台中选取若干节点作为检测节点,多个节点作为计算节点;并且设置一用户黑名单;2)对提交的应用先在检测节点中检测;如果其中一任务未通过检测,则将该任务和应用均标记为failed;通过则分配到计算节点上继续执行;3)对节点进行检测,当节点上的标记为failed的任务数目超过设定值P时,将该节点标记为UNHEALTHY;当此类计算节点数目超过设定阈值时,检测这些计算节点上标记failed的任务,如果这些任务来自同一用户或来相似度超过设定值,则将这些计算节点加入到排除列表;当排除列表中的节点数目占比超过N%,判断存在拒绝服务攻击。
Description
技术领域
本发明涉及大数据安全领域,尤其涉及一种面向大数据平台的拒绝服务检测方法。
背景技术
在大数据时代的背景下,其信息安全问题已经延伸到了各个领域,主要包含了企业数据的外漏、商业间谍、隐私泄露以及黑客攻击等方面。在大数据时代逐渐完备的背景下,可以说网络信息安全的形式是十分严峻的。能否保护自己的隐私安全、信息安全、集群可用性,成为了部署大数据的首道难题。目前,常见的大数据处理平台Hadoop、Storm、Spark等,在开发的时候,对如何创建一个安全的分布式计算环境上没有考虑。由于集群都部署在有防火墙保护的局域网中且只允许公司内部人员访问,因此,添加安全机制的动机并不像传统的安全概念那样是为了防御外部黑客的攻击,而是为了更好地让多用户在共享集群环境下安全高效地使用集群资源。
目前安全研究人员已经从系统层面提出了安全策略,系统安全机制由认证和授权两大部分构成。认证就是简单地对一个实体的身份进行判断;而授权则是向实体授予对数据资源和信息访问权限的决策过程。其中,认证机制采用Kerberos和Token两种方案,而授权则是通过引入访问控制列表(AccessControlList,ACL)实现的。
认证机制
同时采用了Kerberos和Token两种技术,其中Kerberos用于用户与服务和服务与服务之间的认证,它是一种基于可信任的第三方服务的认证机制,在高并发情况下,效率较低。为了解决该问题,Kerberos一旦在客户端(可以是用户或者另一个服务)和服务器之间建立一条安全的网络连接后,客户端便可通过该连接从服务端获取一个密钥。由于该密钥仅有客户端和服务端知道,因此,接下来客户端可使用该共享密钥获取服务的认证,即基于授权令牌(DelegationToken)的认证机制。
授权机制
通过访问控制列表(ACL)实现的。按照授权实体,可分为队列访问控制列表、应用程序访问控制列表和服务访问控制列表,下面分别介绍。
1)队列访问控制列表:为了方便管理集群中的用户,将用户/用户组分成若干队列,并可指定每个用户/用户组所属的队列。通常,每个队列包含提交应用程序权限和管理应用程序权限(比如杀死任意应用程序)两种,这些通过资源调度器专属的配置文件设置的。
2)应用程序访问控制列表:为了用户使用方便,应用程序可以对外提供一些特殊的可直接设置的参数。默认情况下,作业拥有者和超级用户拥有以上两种权限且不可以修改。
3)服务访问控制列表:服务访问控制是集群提供的最原始的授权机制,它用于确保只有那些经过授权的客户端才能访问对应的服务。服务访问控制是通过控制各个服务之间的通信协议实现的。
同时,集群为了保证节点健康有效地执行任务,引入了状态机机制、健康状况检查机制、排除列表机制。
状态机机制:引入节点状态机用于维护一个节点的生命周期,记录了节点可能存在的各个状态以及导致状态间转换的事件。当某个事件发生时,中央节点的管理组件会根据实际情况进行节点状态转移,同时触发一个行为。
节点健康状况检查机制:管理员可在每个节点上配置一个健康状况监测脚本,以判定节点是否处于健康状态。如果一个节点失败的任务数目过多(默认为3次),节点会被认为处于不健康状态。健康状况监测脚本会通过心跳机制将脚本执行结果汇报给中央节点,如果中央节点发现它处于不健康状态下,则会将其状态置为UNHEALTHY,此后不会再为该节点分配新的任务,直到它重新变为健康状态。
排除列表机制:当中央节点得知节点状态变为UNHEALTHY后,会将其加入excludelist(排除列表),此后不再为它分配新任务。exclude节点列表中的节点不允许直接与中央节点通信,直接在RPC层抛出异常,导致节点退出。
现有几种方法的缺点和局限性
1)集群安全管理模块只验证用户的访问权限,但是对于用户提交的应用程序并不进行验证,用户提交的应用程序可能无法成功完成,应用程序被标记为failed,集群中健康状况检查机制,对执行任务的节点健康状况进行检查,如果多次执行失败的任务,该节点会被标记为UNHEALTHY,中央节点不再为它分配新任务。
2)授权和认证机制只是在系统层面进行安全验证,但是对于内部用户或者通过传统的攻击手段进入集群内部的恶意用户不会奏效,攻击者依然可以利用节点健康状况检查机制、排除列表机制发起拒绝服务攻击。攻击者只要有权限进入系统,提交恶意程序的操作不会被禁止,可以反复进行。
3)现有的授权认证方法默认是不开启的,一般认为集群部署在安全可信赖的环境下,因此对集群的安全加固指导作用不大。
发明内容
最早部署集群时并没有考虑安全问题,随着集群的不断扩大,各部门对集群的使用需求增加,集群安全问题就显得颇为重要。目前,采取的安全验证方案主要包含用户认证和用户授权两个方面,但是,默认情况下,不开启安全认证,一般是以客户端提供的用户名作为用户凭证,集群部署时会采用统一账号,当以统一账号部署集群时,所有执行任务的用户都是集群的超级管理员,容易发生误操作。即便是以管理员账号部署集群,恶意用户在客户端仍然可以冒充管理员账号执行任务。
本发明的目的在于提供一种面向大数据平台的拒绝服务检测方法,为防止恶意用户利用排除列表机制对集群发起拒绝服务攻击,本发明对集群进行进一步设计规划,增加应用程序验证功能,用户黑名单机制,节点失败任务检测机制,增强集群的安全性。
本发明解决技术问题所采用的技术方案为:
一种面向大数据平台的拒绝服务检测方法,如图1所示,其步骤为:
1)在集群中,采取隔离检测策略,即专门分配出一定比例的节点作为检测节点(例如:不少于10个节点),其余节点作为普通计算节点(例如:不少于20个)。配置用户默认提交的节点队列为检测节点队列,即所有用户的应用程序先提交到检测节点上运行。用户可以根据需要选择提交方法,对于要求效率较高的用户可以并行提交到检测节点和普通计算节点同时运行和检测,其他用户可以先提交到检测节点上,通过检测之后提交到普通计算节点上或继续在检测节点上执行。
2)用户通过认证授权后,向集群提交应用程序,提交的程序首先在检测节点中执行,对可能被标记为failed的应用程序进行过滤。这里包括两种检测方法:
①任务状态检测,在检测节点上增设日志扫描引擎engine,对每个应用程序的任务的运行状态进行追踪,如果出现问题,比如抛出异常或者无法成功完成,日志扫描引擎engine从日志中读取到任务状态为failed,后续资源不再分配。
②参数检测,对于用户可以设置的应用程序参数进行检测,包括,超时时间(例如默认值为600000ms,用户设置为10ms,应用程序在规定时间内无法完成),应用程序具体执行的任务数目(例如Map/Reduce程序,默认情况下,把输入数据分成多少数据块就为每一个数据块产生一个map任务,最好的map任务的并行度应该是每个节点10-100maps,最好的reduce任务个数应该是0.95*节点个数*最大map任务数,或者1.75*节点数*最大map任务数,用户设定的map/reduce任务数目应该在该范围内)、请求资源量(不支持请求任意节点或任意机架上的特定资源量,例如:请求任意节点上5个这样的container:虚拟CPU个数为3,内存量为1GB,资源请求不满足调度参数要求的应用程序无法成功执行)等。如果设置的参数超出正常值可能会造成应用程序失败,则此程序不允许执行。
3)若用户提交的应用程序通过上述检测,则可以在普通计算节点上继续执行,同时平台增加用户黑名单机制,每个用户增设一个状态值,初始值为0。若用户提交的应用程序通过检测,用户状态值不变。若用户提交的应用程序未通过检测,此应用程序会被直接过滤掉,用户的状态值加一;若用户的状态值达到设定值L(该值由管理员设定,例如,默认设为10),此用户会被加入黑名单,之后,此用户提交的应用程序只能在检测节点上执行。当黑名单中的用户提交的一个应用在检测节点上成功完成,作业状态为成功success,用户状态值减一,若该值减为0,则将此用户从黑名单中移出,可以继续在平台的普通节点上提交应用。
4)进一步的,对计算节点上失败的任务进行检测,当该计算节点上的失败任务数目超过P次时,该计算节点会被标记为UNHEALTHY状态,(大量节点被标记为UNHEALTHY可以判定发生了拒绝服务攻击)该值由管理员设定,例如,默认为3,此时,检测标记为UNHEALTHY的计算节点上被标记为failed状态的任务,如果这些任务来自同一用户提交的应用程序或不同用户提交的程序相似度超过Y%(该参数可由管理员设定)的应用程序,使用LCS最长公共子串匹配算法进行检测,将给定的两个字符串S,T,分别删去零个或多个字符后得到长度最长的相同字符序列。LCS是两个字符串的最长公共序列。对这些程序做进一步处理,例如停止程序运行,并更新计算节点的状态为HEALTHY状态。
5)进一步的,在平台运行过程中,UNHEALTY状态的计算节点会被加入到排除列表,中央节点不再为它分配任务。对排除列表机制进行加强,排除列表中的计算节点数目有一定限制,最多为计算节点总数的N%,该值可由管理员设定,例如,默认为33%,当排除列表中的计算节点数目达到N%时,认为可能发生了拒绝服务攻击,检查排除列表中的计算节点,对于已经正常的计算节点,可以重新分配任务。
本发明的有益效果
随着大数据应用的普及,使用大数据集群的用户越来越多,集群安全问题显得尤为重要。现有的安全策略主要是针对系统层面的。没有专门针对用户提交的应用程序的检测方法。当前,大多数集群都是以客户端提供的用户名作为用户凭证,这就给攻击者以可乘之机,攻击者获得用户账号,入侵到集群,就可以提交恶意应用程序,一旦节点上执行的失败任务数目超过三次,就会造成节点失效,最终导致集群节点拒绝服务。
本发明在现有的安全方法上做了增强,填补了目前国际上面向大数据平台的拒绝服务检测方法的空白,能够有效促进集群开发者对集群安全问题进行改进,以防止攻击者的恶意破坏,并且该方法部署简单,只需要分配出一定比例的节点进行程序运行前验证即可。同时该方法检测全面,在集群运行过程中增加了节点上失败的任务检测和排除列表中节点再检测,可以检测出攻击广度达到85.6%,攻击强度达到80%以上的拒绝服务恶意行为。全面有效地防止集群遭受拒绝服务攻击。
附图说明
图1为本发明技术方案流程图;
图2为本发明实施例流程图。
具体实施方式
下面结合附图对本发明进行进一步详细描述,本发明方法流程如图2所示。
1)安全研究人员需要通过现有攻击手段获得目标平台登录权限,能够进行集群配置操作操作。
2)采用我们提出的隔离检测策略对集群进行配置,其中5%的节点为检测节点(大于10个),95%的节点为普通计算节点。同时,增设用户黑名单机制、UNHEALTY节点上失败任务检测。
3)用户提交的应用程序首先在检测节点上运行,采用我们提出的检测策略进行检测,只有通过检测的程序才能在其他计算节点上运行。一旦发现恶意程序,可以及时终止,防止恶意程序影响整个集群,从而提高了集群的可靠性。
4)集群运行过程中进一步进行检测,采用我们提出的方法对排除列表机制进行加强。
实施例:
以HadoopYARN为例。
1)在实际情况中,管理员对集群进行划分,分出5%的节点(大于10个)作为检测节点,95%的节点作为普通计算节点,配置用户的默认提交队列为检测节点所在的队列,所有用户的应用程序先提交到检测节点上运行。
2)对用户提交的MapReduce程序可以采用两种方式进行检测:
①Map任务状态检测,在检测节点上增设日志扫描引擎engine,对任务运行状态进行追踪,如果出现问题,比如抛出异常或者无法成功完成,从日志中读取到任务状态为failed,后续资源不再分配。
②参数检测,对于用户可以设置的MapReduce程序参数进行检测,例如,对程序超时时间进行检测,MapReduce程序默认超时时间为为600000ms,用户设置为10ms,可以判定应用程序在规定时间内无法完成,则此程序不允许执行。
3)通过检测的应用程序可以被分配到普通计算节点上继续执行任务,一旦发现恶意程序,就可以及时终止恶意程序影响整个集群,从而提高了集群的可用性。同时,增加用户黑名单机制,对于提交失败任务数目过多的用户将会被加入到黑名单,之后,其所提交的任务只能在检测节点上运行,直到用户被判定为正常,才能从黑名单中移出,继续在平台上提交应用程序。
4)集群运行过程中,当某一计算节点上失败任务数目超过3次时,计算节点被置为UNHEALTY状态,检测计算节点上被标记为failed状态的任务,如果这些任务来自同一用户或不同用户的相似度超过70%的应用程序,则停止程序运行,更新计算节点状态。
5)进一步的,安全研究人员针对YARN的排除列表机制进行加强,排除列表中的计算节点数目有一定限制,最多为计算节点总数的33%,当排除列表中的计算节点数目达到33%时,检查列表中的计算节点,对于已经正常的计算节点,可以重新分配任务。
Claims (9)
1.一种面向大数据平台的拒绝服务检测方法,其步骤为:
1)在大数据平台中选取若干节点作为检测节点,多个节点作为计算节点;
2)大数据平台将通过认证授权的用户提交的应用程序首先在检测节点中执行并检测;其中,如果该应用程序中的一任务未通过检测,则将该任务以及应用程序均标记为失败failed、且过滤掉此应用程序;如果通过检测,则将其分配到计算节点上执行或继续在检测节点执行;
3)大数据平台对计算节点进行检测,当计算节点上的标记为failed的任务数目超过设定值P时,将该计算节点标记为非健康状态UNHEALTHY;当标记为UNHEALTHY的计算节点数目超过设定阈值时,检测标记为UNHEALTHY的计算节点上被标记为failed的任务,如果这些任务来自同一用户提交的应用程序或来自不同用户提交的相似度超过设定值Y%的应用程序,则将这些计算节点加入到排除列表;当排除列表中的计算节点数目占计算节点总数的比例超过N%时,判断为当前存在拒绝服务攻击。
2.如权利要求1所述的方法,其特征在于,检测节点中执行并检测应用程序的方法为:在检测节点上增设一日志扫描引擎,用于对应用程序的任务运行状态进行追踪,如果出现设定情况则将该任务以及该应用程序标记为failed。
3.如权利要求2所述的方法,其特征在于,所述设定情况包括抛出异常或者无法成功完成。
4.如权利要求1所述的方法,其特征在于,检测节点中执行并检测应用程序的方法为:对应用程序中用户设置的应用程序参数进行检测,如果存在一应用程序参数不满足对应的设定条件,则将该应用程序标记为failed。
5.如权利要求4所述的方法,其特征在于,所述应用程序参数包括超时时间、应用程序具体执行的任务数目、请求资源量。
6.如权利要求1所述的方法,其特征在于,采用最长公共子串匹配算法计算所述应用程序相似度。
7.如权利要求1所述的方法,其特征在于,步骤1)中,在大数据平台中设置一用户黑名单,每个用户增设一状态值;步骤2)中,如果该应用程序中的一任务未通过检测,则将该任务以及应用程序均标记为failed、且过滤掉此应用程序并将该用户的状态值加1;当该用户的状态值达到设定值L,则将此用户加入用户黑名单;如果通过检测,则将其分配到计算节点上继续执行,且该用户的状态值不变。
8.如权利要求7所述的方法,其特征在于,对于通过认证授权的且属于该用户黑名单中用户提交的应用程序设定为仅在检测节点上执行,当用户黑名单中的用户提交的一应用程序在检测节点上成功完成,则将该用户的状态值减1,若该用户的该状态值达到设定值,则将该用户从用户黑名单中移除。
9.如权利要求1所述的方法,其特征在于,当判断为当前存在拒绝服务攻击时,停止排除列表中的计算节点中运行的应用程序,并更新这些计算节点的状态为健康状态HEALTHY。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610075208.9A CN105653928B (zh) | 2016-02-03 | 2016-02-03 | 一种面向大数据平台的拒绝服务检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610075208.9A CN105653928B (zh) | 2016-02-03 | 2016-02-03 | 一种面向大数据平台的拒绝服务检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105653928A true CN105653928A (zh) | 2016-06-08 |
CN105653928B CN105653928B (zh) | 2018-11-13 |
Family
ID=56488280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610075208.9A Expired - Fee Related CN105653928B (zh) | 2016-02-03 | 2016-02-03 | 一种面向大数据平台的拒绝服务检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653928B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712450A (zh) * | 2018-08-01 | 2018-10-26 | 北京闲徕互娱网络科技有限公司 | DDoS攻击的防护方法及系统 |
CN110262881A (zh) * | 2019-06-12 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种Spark作业的提交方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102769615B (zh) * | 2012-07-02 | 2014-11-26 | 北京大学 | 一种基于MapReduce机制的任务调度方法和系统 |
CN102882880A (zh) * | 2012-10-10 | 2013-01-16 | 常州大学 | 针对DNS服务的DDoS攻击的检测方法和系统 |
-
2016
- 2016-02-03 CN CN201610075208.9A patent/CN105653928B/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712450A (zh) * | 2018-08-01 | 2018-10-26 | 北京闲徕互娱网络科技有限公司 | DDoS攻击的防护方法及系统 |
CN108712450B (zh) * | 2018-08-01 | 2020-12-01 | 北京闲徕互娱网络科技有限公司 | DDoS攻击的防护方法及系统 |
CN110262881A (zh) * | 2019-06-12 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种Spark作业的提交方法及装置 |
WO2020248708A1 (zh) * | 2019-06-12 | 2020-12-17 | 深圳前海微众银行股份有限公司 | 一种Spark作业的提交方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105653928B (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10264026B2 (en) | Providing privileged access to non-privileged accounts | |
CN112765639B (zh) | 基于零信任访问策略的安全微服务架构及实现方法 | |
US9639678B2 (en) | Identity risk score generation and implementation | |
US9288193B1 (en) | Authenticating cloud services | |
US10341350B2 (en) | Actively identifying and neutralizing network hot spots | |
US20070124803A1 (en) | Method and apparatus for rating a compliance level of a computer connecting to a network | |
US20140181893A1 (en) | Hardware-based device authentication | |
CN113242230A (zh) | 一种基于智能合约的多级认证与访问控制系统及方法 | |
CN116319024B (zh) | 零信任系统的访问控制方法、装置及零信任系统 | |
CN112115484B (zh) | 应用程序的访问控制方法、装置、系统及介质 | |
CN112784258A (zh) | 一种可信计算系统及安全防护系统 | |
CN113472820A (zh) | 一种基于零信任模型的云资源安全隔离控制方法及系统 | |
Ullah et al. | TCloud: a dynamic framework and policies for access control across multiple domains in cloud computing | |
CN118041667A (zh) | 一种边缘计算环境下基于区块链的物联网属性访问控制系统和方法 | |
US20170346837A1 (en) | Real-time security modification and control | |
EP2585967A1 (en) | Consigning authentication method | |
CN105653928A (zh) | 一种面向大数据平台的拒绝服务检测方法 | |
CN115118465B (zh) | 一种基于可信标签的云边端协同零信任访问控制方法及系统 | |
US11663325B1 (en) | Mitigation of privilege escalation | |
US20220038502A1 (en) | Method and system for processing authentication requests | |
US20220311777A1 (en) | Hardening remote administrator access | |
Yang et al. | Blockchain-Empowered Token-Based Access Control System with User Reputation Evaluation. | |
Huang et al. | A trust-based cloud computing access control model | |
Jeyalakshmi et al. | Threat Landscape and Common Security Challenges in Cloud Environments | |
Ayyub et al. | An analysis of security attacks on cloud wrt saas |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181113 Termination date: 20210203 |