一种用于Hadoop云平台的用户动态访问控制方法与流程

文档序号:11710063阅读:195来源:国知局
一种用于Hadoop云平台的用户动态访问控制方法与流程

本发明涉及计算机权限管理和访问控制技术领域,特别涉及一种用于hadoop云平台的用户动态访问控制方法。



背景技术:

hadoop云平台是一种开源分布式计算云平台,因其具有高可靠性、高扩展性、高效性和高容错性的特点受到了各大电商及互联网企业的青睐,与此同时,随着hadoop云平台在各领域的广泛应用,其安全问题也日益突出;在众多的hadoop云平台安全问题中,数据安全是hadoop云平台安全的核心问题之一,访问控制通过限制用户对数据信息的访问能力及范围从而保证资源不被非法使用和访问,成为云平台中数据安全的重要保障。而现有hadoop云平台在安全访问控制机制设计上并没有充分考虑其用户正常或异常的属性变化,使得其存在重大安全隐患。

目前,国内外针对hadoop云平台安全机制的研究取得了一定的进展,guptac等基于密度估计和主成分分析方法pca设计了一种hadoop平台异常检测系统,实时监控hadoop云平台用户行为,由于该方法缺乏相应的容错机制和异常用户处理机制,反而会增加云平台管理员工作量;tanz等提出一种基于信任度的动态访问控制模型,但没有将信任模型与访问控制模型很好地结合在一起,且仅仅进行了理论上的分析。jingx等提出了一种基于用户行为评估的云平台动态访问控制模型,由于没有描述用户行为的检测方法且其模型过于复杂,故不能较好地与现有hadoop云平台结合。



技术实现要素:

本发明的目的是提供一种用于hadoop云平台的用户动态访问控制方法。

为此,本发明技术方案如下:

一种用于hadoop云平台的用户动态访问控制方法,其中,hadoop云平台包括操作系统、主服务器和认证服务器,该用于hadoop云平台的用户动态访问控制方法包括按顺序进行的下列步骤:

1)搭建处理模块的s1阶段:在此阶段,在hadoop云平台的主服务器上建立指令收集模块、指令处理模块、用户请求接收模块、行为分类模块、角色划分模块,然后进入s2阶段;

2)指令序列收集的s2阶段:在此阶段,指令收集模块从主服务器中收集用户操作记录,并针对每个用户建立相应的行为数据库,然后进入s3阶段;

3)对用户指令进行处理的s3阶段:在此阶段,指令处理模块依次采用串表压缩算法和字典压缩算法分别对每个用户的所有指令进行并行化处理,提取每个用户的指令特征值,然后进入s4阶段;

4)生成全局k模型的s4阶段:在此阶段,根据每个用户的指令特征值针对每个用户生成k个压缩字典,并将k个压缩字典组成全局k模型g,其中,全局k模型g={cd1,cd2,..cdi,..cdk},然后进入s5阶段;

5)接收用户请求的s5阶段:在此阶段,用户根据自身需要访问hadoop云平台,发出访问请求,用户请求接收模块根据用户的访问请求生成用户指令行为序列s及用户行为指令序列s的用户行为模式sp,然后进入s6阶段;

6)对用户行为进行评定的s6阶段:在此阶段,利用全局k模型中的k个压缩字典以cd投票的方式判断用户行为模式sp是否异常,并利用行为分类模块对用户行为模式sp进行标定,得到带有分类标签的用户行为模式,然后进入s7阶段;

7)计算综合评估值的s7阶段:在此阶段,结合步骤6)中得到的带有分类标签的用户行为模式计算用户当前行为评估值、用户历史行为评估值和用户推荐行为评估值;并利用用户当前行为评估值、用户历史行为评估值、用户推荐行为评估值和用户初始评估值计算用户的综合评估值,然后进入s8阶段;

8)对用户进行角色分配的s8阶段:在此阶段,角色划分模块根据用户的综合评估值判断用户行为是否异常,如用户行为正常,则管理员根据综合评估值赋予权限并为其分配角色实现资源访问,若用户行为异常则拒绝用户的访问并给出拒绝服务提示。

所述的步骤3)中对用户操作指令进行处理的方法包括按顺序进行的下列步骤:

a)将收集到的所有用户的指令操作记录中的指令参数信息滤除,仅保留指令名称,使每个用户固定数量的指令名称按照时间信息排成一个指令流而形成用户指令序列块b;

b)从用户指令序列块b中提取序列中所有的指令字符组合,即用户指令序列模式pi,并计算用户指令序列模式pi在当前用户指令序列块b中出现的次数fi,得到lzw字典d{pi,fi};

c)然后在lzw字典中按照用户指令序列模式pi在该用户指令序列块b中的权重ωi和模式长度li提取最终的历史用户行为模式cp即为用户的指令特征值。

所述的步骤c)中用户的指令特征值的提取方法为在lzw字典d中存在的用户指令序列模式pi将每一个与用户指令序列模式pi的编辑距离相差为1的其它用户指令序列模式px放在一个子集中,选择子集中权重值与模式长度乘积最大的用户指令序列模式作为用户的指令特征值。

所述的步骤6)中全局k模型g随着用户新指令块的加入而更新,每当用户的新指令块完整生成一个压缩字典后,统计全局k模型中各个压缩字典判定该用户行为模式sp为正常的总次数,次数统计从该用户行为模式sp首次访问开始到本次访问为止,使用新生成的压缩字典替换掉全局k模型中判定用户行为模式sp为正常的总次数最少的压缩字典。

所述的步骤6)中对用户行为进行评定时,若用户行为指令序列s的用户行为模式sp与单个压缩字典cdi中的任意历史用户行为模式cp的编辑距离均大于x%*l,则单个压缩字典cdi判定用户行为模式sp为异常,其中,l为历史用户行为模式cp的长度,且x>30。

所述的步骤6)中对用户行为进行评定时,若全局k模型中有大于k/2个压缩字典判定用户行为模式sp异常,则全局k模型判定该用户行为模式sp异常,否则为正常;若k为偶数且全局k模型中判定用户行为模式sp异常的压缩字典数为k/2,则根据主服务器中之前存储的对该用户行为模式sp的最新判定结果进行判定,若主服务器中存储用户行为模式sp的最新判定结果异常,则当前用户行为模式sp为异常,否则为正常。

所述的步骤7)中计算用户历史行为评估值时采用滑窗算法。

所述的步骤8)中对用户进行角色分配的方法包括按顺序进行的下列步骤:

ⅰ)设定多个初始角色,并由管理员针对每个初始角色设定访问权限;

ⅱ)将操作系统上的所有用户均映射为hadoop云平台用户,实现平台用户的统一管理;

ⅲ)建立正常用户组gpn和异常用户组gpa,并将初始时所有通过身份认证的用户加入正常用户组gpn,与此同时,将正常用户组gpn添加到服务级访问控制列表中;

ⅳ)主服务器将用户useri的综合行为评估值t同阈值td进行比较:当t≤td时,查询搜索异常用户组gpa中有无用户useri,若无用户useri,则将用户useri加入异常用户组gpa,并记录加入时间times及有效期限timev,删除正常用户组gpn中用户useri;若有用户useri,则重置其有效期限timev,当timev≤0,将用户useri重新添加入正常用户组gpn;

ⅴ)用户useri通过认证服务器身份认证和主服务器验证后向主服务器发出云服务请求时,主服务器根据服务级访问控制列表中用户列表判断是否响应该请求:若用户useri在访问控制列表中,则响应该请求,结合管理员授予该用户的权限,为其分配不同的角色,实现对资源的访问;否则,通过token返回拒绝标志并给出拒绝服务提示。

与现有技术相比,该用于hadoop云平台的用户动态访问控制方法占用服务器内存较少,保证服务器的运行速度和反应速度,且对用户行为分类准确率高,访问控制效果相对稳定,能够实时有效地实现对hadoop云平台用户的动态访问控制,保证hadoop云平台的安全性。

附图说明

图1为本发明提供的用于hadoop云平台用户动态访问控制方法的流程图。

图2为hadoop云平台用户动态访问控制系统的结构框图。

具体实施方式

下面结合附图及具体实施例对本发明做进一步的说明,但下述实施例绝非对本发明有任何限制。

如图1-2所示,该用于hadoop云平台的用户动态访问控制方法包括按顺序进行的下列步骤:

1)搭建处理模块的s1阶段:在此阶段,在hadoop云平台的主服务器上建立指令收集模块1、指令处理模块2、用户请求接收模块3、行为分类模块4、角色划分模块5,然后进入s2阶段;

2)指令序列收集的s2阶段:在此阶段,指令收集模块1从主服务器中收集用户操作记录,并针对每个用户建立相应的行为数据库,然后进入s3阶段;

3)对用户指令进行处理的s3阶段:在此阶段,指令处理模块2依次采用串表压缩算法和字典压缩算法分别对每个用户的所有指令进行并行化处理,提取每个用户的指令特征值,然后进入s4阶段;

4)生成全局k模型的s4阶段:在此阶段,根据每个用户的指令特征值针对每个用户生成k个压缩字典,并将k个压缩字典组成全局k模型g,其中,全局k模型g={cd1,cd2,..cdi,..cdk},然后进入s5阶段;

5)接收用户请求的s5阶段:在此阶段,用户根据自身需要访问hadoop云平台,发出访问请求,用户请求接收模块3根据用户的访问请求生成用户指令行为序列s及用户行为指令序列s的用户行为模式sp,然后进入s6阶段;

6)对用户行为进行评定的s6阶段:在此阶段,利用全局k模型中的k个压缩字典cd以投票的方式判断用户行为模式sp是否异常,并利用行为分类模块4对用户行为模式sp进行标定,得到带有分类标签的用户行为模式,然后进入s7阶段;

7)计算综合评估值的s7阶段:在此阶段,结合步骤6)中得到的带有分类标签的用户行为模式计算用户当前行为评估值、用户历史行为评估值和用户推荐行为评估值;并利用用户当前行为评估值、用户历史行为评估值、用户推荐行为评估值和用户初始评估值计算用户的综合评估值,然后进入s8阶段;

8)对用户进行角色分配的s8阶段:在此阶段,角色划分模块5根据用户的综合评估值判断用户行为是否异常,如用户行为正常,则管理员根据综合评估值赋予权限并为其分配角色实现资源访问,若用户行为异常则拒绝用户的访问并给出拒绝服务提示。

所述的步骤3)中对用户操作指令进行处理的方法包括按顺序进行的下列步骤:

a)将收集到的所有用户的指令操作记录中的指令参数信息滤除,仅保留指令名称,使每个用户固定数量的指令名称按照时间信息排成一个指令流形成用户指令序列块b;

b)从用户指令序列块b中提取序列中所有的指令字符组合,即用户指令序列模式pi,并计算用户指令序列模式pi在当前序列块中出现的次数fi,得到lzw字典d{pi,fi};

c)然后按照用户指令序列模式pi在该用户指令序列块b中的权重ωi和模式长度li提取最终的历史用户行为模式cp即为用户的指令特征值。

所述的步骤c)中用户指令特征值的提取方法为lzw字典d中存在的指令序列模式pi将把每一个与指令序列模式pi的编辑距离相差为1的其它指令序列模式px放在一个子集中,选择子集中权重值与模式长度乘积最大的指令序列模式作为用户指令特征值。

所述的步骤6)中全局k模型g随着用户新指令块的加入而更新,每当用户的新指令块完整生成一个压缩字典后,统计全局k模型中各个压缩字典判定该用户行为模式sp为正常的总次数,次数统计从该用户行为模式sp首次访问开始到本次访问为止,使用新生成的压缩字典替换掉全局k模型中判定用户行为模式sp为正常的总次数最少的压缩字典。

所述的步骤6)中对用户行为进行评定时,若用户行为指令序列s的用户行为模式sp与单个压缩字典cdi中的任意历史用户行为模式cp的编辑距离均大于x%*l,则单个压缩字典cdi判定用户行为模式sp为异常,其中,l为历史用户行为模式cp的长度,且x>30。

所述的步骤6)中对用户行为进行评定时,若全局k模型中有大于k/2个压缩字典判定用户行为模式sp异常,则全局k模型判定该用户行为模式sp异常,否则为正常;若k为偶数且全局k模型中判定用户行为模式sp异常的压缩字典数为k/2,则根据主服务器中之前存储的对该用户行为模式sp的最新判定结果进行判定,若主服务器中存储用户行为模式sp的最新判定结果异常,则当前用户行为模式sp为异常,否则为正常。

所述的步骤7)中计算用户历史行为评估值时采用滑窗算法。

所述的步骤8)中对用户进行角色分配的方法包括按顺序进行的下列步骤:

ⅰ)设定多个初始角色,并由管理员针对每个初始角色设定访问权限;

ⅱ)将操作系统上的所有用户均映射为hadoop云平台用户,实现平台用户的统一管理;

ⅲ)建立正常用户组gpn和异常用户组gpa,并将初始时所有通过身份认证的用户加入正常用户组gpn,与此同时,将正常用户组gpn添加到服务级访问控制列表中;

ⅳ)主服务器将用户useri的综合行为评估值t同阈值td进行比较:当t≤td时,查询搜索异常用户组gpa中有无用户useri,若无用户useri,则将用户useri加入异常用户组gpa,并记录加入时间times及有效期限timev,删除正常用户组gpn中用户useri;若有用户useri,则重置其有效期限timev,当timev≤0,将用户useri重新添加入正常用户组gpn;

ⅴ)用户useri通过认证服务器身份认证和主服务器验证后向主服务器发出云服务请求时,主服务器根据服务级访问控制列表中用户列表判断是否响应该请求:若用户useri在访问控制列表中,则响应该请求,结合管理员授予该用户的权限,为其分配不同的角色,实现对资源的访问;否则,通过token返回拒绝标志并给出拒绝服务提示。

本发明提供的用于hadoop云平台的用户动态访问控制方法的实施例如下:

首先,在hadoop云平台的主服务器上建立指令收集模块1、指令处理模块2、用户请求接收模块3、行为分类模块4、角色划分模块5;

然后,指令收集模块1从主服务器中收集用户操作记录,并针对每个用户建立相应的行为数据库,

其次,指令处理模块2依次采用串表压缩算法和字典压缩算法分别对每个用户的所有指令进行并行化处理,提取每个用户的指令特征值的方法是:

a)将收集到的所有用户的指令操作记录中的指令参数信息滤除,仅保留指令名称,使每个用户固定数量的指令名称按照时间信息排成一个指令流而形成用户指令序列块b;

b)从用户指令序列块b中提取序列中所有的指令字符组合,即用户指令序列模式pi,并计算用户指令序列模式pi在当前用户指令序列块b中出现的次数fi,得到lzw字典d{pi,fi};

c)然后在lzw字典中按照用户指令序列模式pi在该用户指令序列块b中的权重ωi和模式长度li提取最终的历史用户行为模式cp即为用户的指令特征值;用户指令特征值的提取方法为在lzw字典d中存在的指令序列模式pi将每一个与指令序列模式pi的编辑距离相差为1的其它用户指令序列模式px放在一个子集中,选择子集中权重值与模式长度乘积最大的用户指令序列模式作为用户的指令特征值;

其中,用户指令序列模式pi的权重ωi计算的公式为:

公式(1)中,fi是用户指令序列模式pi在当前用户指令序列块b中出现的次数,n是当前用户指令序列块b中互不相同的用户指令序列模式pi的数量;

接着,根据每个用户的指令特征值针对每个用户生成k个压缩字典,并将k个压缩字典组成全局k模型g,其中,全局k模型g={cd1,cd2,..cdi,..cdk};

接着,当用户根据自身需要访问hadoop云平台,发出访问请求时,用户请求接收模块3根据用户的访问请求生成用户指令行为序列s及用户行为指令序列s的用户行为模式sp;

紧接着,利用全局k模型中的k个压缩字典以投票的方式判断用户行为模式sp是否异常,并利用行为分类模块4对用户行为模式sp进行标定,若全局k模型中有大于k/2个压缩字典判定用户行为模式sp异常,则全局k模型判定该用户行为模式sp异常,否则为正常;若k为偶数且全局k模型中判定用户行为模式sp异常的压缩字典数为k/2,则根据主服务器中之前存储的对该用户行为模式sp的最新判定结果进行判定,若主服务器中存储用户行为模式sp的最新判定结果异常,则当前用户行为模式sp为异常,否则为正常,并对用户行为模式sp进行标定,用户行为模式sp正常标定为1,异常标定为0,从而得到带有分类标签的用户行为模式;全局k模型g随着用户新指令块的加入而更新,每当用户的新指令块完整生成一个压缩字典后,统计全局k模型中各个压缩字典判定该用户行为模式sp为正常的总次数,次数统计从该用户行为模式sp首次访问开始到本次访问为止,使用新生成的压缩字典替换掉全局k模型中判定用户行为模式sp为正常的总次数最少的压缩字典。

然后,计算用户当前行为评估值、用户历史行为评估值和用户推荐行为评估值;并利用用户当前行为评估值、用户历史行为评估值、用户推荐行为评估值和用户初始评估值计算用户的综合评估值,用户综合评估值计算公式如下:

t=ts+α×vn+β×vp+γ×vr(2)

公式(2)中,t为用户综合评估值,ts为hadoop云平台为所有用户设置的初始行为评估值,vn为用户当前行为评估值,vp为用户历史行为评估值,vr为用户推荐行为评估值;α,β,γ分别为用户当前行为评估值vn,用户历史行为评估值vp和用户推荐行为评估值vr的权重,按照用户行为评估原则,三者应满足α>β>γ且α+β+γ=1;

其中,用户当前行为评估值vn的计算公式如下:

vn=w+λ(-θ×j)(3)

公式(3)中,w为常数;0≤θ≤1,θ表示调节异常行为对用户当前行为评估值vn的影响作用大小;λ为选择因子,用户当前行为为异常行为时,λ=1;否则,λ=0;j是指从用户被重新加入到正常用户组至进行当前行为期间,其行为被判定为异常的累积次数。

用户历史行为评估值vp的计算采用滑窗算法,其中,滑窗左沿以外的用户行为记录为过期记录,滑窗右沿设置到当前用户行为的左侧;评估值计算时仅计算滑窗内的用户行为评估值,用户历史行为评估值vp的计算公式如下:

公式(4)中,l为滑窗长度;i为滑窗内用户行为模式sp的序号;vn为用户当前行为评估值。

用户推荐行为评估值vr的计算公式如下:

公式(5)中,k为hadoop云平台给出的用户推荐评估值的个数;vri表示hadoop云平台给出的该用户的第i个推荐行为评估值。

最后,角色划分模块5根据用户的综合评估值判断用户行为是否异常的方法包括以下几个步骤:

ⅰ)设定多个初始角色,并由管理员针对每个初始角色设定访问权限;

ⅱ)将操作系统上的所有用户均映射为hadoop云平台用户,实现平台用户的统一管理;

ⅲ)建立正常用户组gpn和异常用户组gpa,并将初始时所有通过身份认证的用户加入正常用户组gpn,与此同时,将正常用户组gpn添加到服务级访问控制列表中;

ⅳ)主服务器将用户useri的综合行为评估值t同阈值td进行比较:当t≤td时,查询搜索异常用户组gpa中有无用户useri,若无用户useri,则将用户useri加入异常用户组gpa,并记录加入时间times及有效期限timev,删除正常用户组gpn中用户useri;若有用户useri,则重置其有效期限timev,当timev≤0,将useri重新添加入正常用户组gpn;

ⅴ)用户useri通过认证服务器身份认证和主服务器验证后向主服务器发出云服务请求时,主服务器根据服务级访问控制列表中用户列表判断是否响应该请求:若用户useri在访问控制列表中,表明该用户行为正常,则响应该请求,结合管理员授予该用户的权限,为其分配不同的角色,实现对资源的访问;否则,该用户行为异常,通过token返回拒绝标志并给出拒绝服务提示。

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