软件权限管理

2024-09-05

软件权限管理(精选九篇)

软件权限管理 篇1

权限管理软件对于确保信息系统的信息安全是十分必要。RBAC[1]在权限管理中具有明显的优势, 其核心思想是:不直接将用户和权限进行关联, 而是引入“角色”概念, 用户和权限通过角色而间接关联。角色实际上是系统根据实际业务活动中人员职责不同对用户进行分类, 用户、角色和权限之间都是多对多的关系。

在RBAC中, 权限与角色相关联, 用户通过成为适当角色的成员而得到这些角色的权限。在一个系统中, 角色是为了完成各种工作而创造的, 用户则依据它的责任和资格来被指派相应的角色, 用户可以很容易地从一个角色指派到另一个角色。角色可依据新的需求和系统的合并而赋予新的权限, 而权限也可根据需要而从某角色中回收。可以看出, RBAC采用间接授权, 这样极大的方便了权限管理。本文利用RBAC技术研究开发了一套具有通用性, 用户体验性强的权限管理软件。

1 软件设计

1.1 软件整体设计

RBAC包含3个实体:用户 (User) , 角色 (Role) 和权限 (Popedom) 。用户 (User) :用户是发出访问、存取操作的发动者的集合, 是对功能模块中的数据对象进行操作的主体, 以U{u1, u2, u3, ……, un}来表示用户集。角色 (Role) :角色是指同一类用户所拥有的权限集合, 由管理员根据用户不同身份需要进行定义, 以R (r1, r2, r3, ……, rn) 来表示用户集。权限 (Popedom) :权限是对特定功能模块所拥有的某一特定操作的许可, 以P (p1, p2, p3, ……, pn) 来表示权限集合。如果一个用户的岗位或职位发生了变化, 只要将用户当前的角色去掉, 加入代表新岗位或新职位的角色即可。角色与权限之间的关系变化比角色与用户之间的关系变化相对要少的多, 因此利用基于RBAC模型的权限管理软件能够在很大程度上减少系统管理员的负担。RBAC授权模型如图1所示。

在软件具体设计中, 首先通过局域网的域验证[2]来保证用户合法性;域验证通过后, 从数据库中读取该用户具备哪种角色, 然后根据用户的角色, 来确定该用户可以访问的页面;最后将这些页面生成菜单, 从而实现权限管理的功能。该软件的整体流程图如图2所示。

2.2 软件体系架构的设计

在软件体系架构设计中采用分层式结构。微软推荐的分层式结构一般分为三层, 从下至上分别为:数据访问层、业务逻辑层和表示层。权限管理软件以上述设计准则为基础, 添加了Model层, 并将数据访问层做了一定程度上的扩展, 具体软件体系架构图3所示。

表示层:是系统的展示部分, 负责用户与整个系统的交互。表示层仅仅包含页面上控件的逻辑代码, 只与界面上的元素有关, 而与系统的业务逻辑无关。业务逻辑层:是整个系统的核心。它与这个系统的业务逻辑相关。在权限管理软件中, 业务逻辑层的相关设计主要涉及到页面、角色和菜单处理的业务逻辑。如果涉及到数据库的访问, 则调用数据访问层。数据访问层:其功能主要是负责数据库操作。该层包括DAL接口、DAL工厂、Oracle Dal、Sql Server Dal以及最后产生的Mode层, 他们之间的关系如图4所示。

该数据访问层中完全采用了“面向接口编程”的思想。抽象出来的IDAL模块, 脱离了与具体数据库的依赖, 从而使得整个数据访问层更加有利于数据库迁移。DALFactory模块专门管理DAL对象的创建, 以便于业务逻辑层访问。SQLServer DAL和Oracle DAL模块均实现IDAL模块的接口, 其中包含的逻辑就是对数据库的Select、Insert、Update和Delete操作。数据库类型不同, 对数据库的操作也有所不同, 代码也会因此有所区别。如果有连接其他数据库的需要, 只需添加一个其它数据库版本的DAL并且实现IDAL接口即可。业务逻辑层和表现层不需要任何的改动, 从而提高了代码的复用率。实体层:该层主要将数据库中定义的表映射成程序可以访问的业务实体, 并且只定义实体的属性, 并无实体的行为。该层由数据访问层产生, 贯串了业务管理层和表示层。权限管理系统主要涉及的实体有:用户类、页面类和角色类等。

权限管理软件主要包括四个模块:用户管理、页面管理、角色管理和菜单管理。用户管理模块主要为要管理的系统进行用户配置。包括添加用户、配置用户和删除用户三个子模块。页面管理模块主要将页面的URL配置到系统中, 主要包括添加页面、配置页面和删除页面三个子模块。角色管理模块根据访问系统的用户类型和业务需要, 定义访问系统的角色, 并将定义的角色对应到相应的页面。它主要包括添加角色、配置角色和删除角色三个子模块。菜单管理主要定义菜单表现形式, 它主要包括添加菜单、配置菜单和删除菜单三个子模块。

2.3 系统数据库设计

数据库设计是软件开发过程中的基础环节。权限管理软件数据库设计达到了第三范式 (3NF) , 这种设计能够有效保证数据的完整性和参照完整性, 同时降低数据的冗余度。

权限管理软件涉及到八张数据表, 分别用来存储菜单信息、用户基本信息、角色信息、页面信息、组织结构信息以及各类信息之间的相互关系。

在上述八张表中, 表之间的关系如图5所示。

RBAC采用间接授权, 这样极大的方便了权限管理。利用基于RBAC模型的权限管理软件能够在很大程度上减少系统管理员的负担。本软件已在应用多个系统中, 运行稳定, 响应速度快, 操作简单, 功能健全, 满足了用户的需求。

参考文献

[1]吴明娟.基于RBAC和DBMC的权限管理在CMS中的研究与应用[D].硕士论文.

软件权限管理 篇2

关键词:权限;AAM;UAC;进程;API;IL

1 引言

即使用户只运行与标准用户权限兼容的程序,某些操作仍要求管理权限。绝大多数软件安装都要求使用管理权限,以便在系统全局位置创建目录或注册表项,或者安装服务或设备驱动程序。修改系统全局 Windows 设置和应用程序设置也要求使用管理权限。因此,Windows Vista 提供了一个增强的“运行身份”功能,以使标准用户能够方便地以管理权限启动进程。此功能要求为应用程序提供一种方式来标识系统可为之获得管理权限(代表该应用程序)的操作。

此外,Windows Vista 还引入了一个管理员批准模式 (AAM),这样,作为系统管理员的用户便可以使用标准用户权限来运行,而不必在每次希望获得管理权限时输入用户名和密码。

2 方便地获得管理权限

系统和应用程序可以通过多种方式标识对管理权限的需求。其中一个是显示在资源管理器 UI 中的“以管理员身份运行”上下文菜单项和快捷方式选项。这些项目包含一个彩色盾牌图标,它应放在任何按钮或菜单项上,当选中它时会导致权限的提升。选择“以管理员身份运行”菜单项将使资源管理器使用动词“runas”调用 ShellExecute API。

绝大多数安装程序都要求使用管理权限,因此,映像加载程序(用于触发可执行文件的启动)包含了安装程序检测代码以发现可能的旧安装程序。映像加载器还会调用应用程序兼容性 (appcompat) 库,以查看目标可执行文件是否要求使用管理员权限。该库将查询应用程序兼容性数据库,以查看该可执行文件是否关联了 RequireAdministrator 或 RunAsInvoker 兼容性标志。

可执行文件请求得到管理权限的最常用方式是在其应用程序指令清单文件中包含一个 requestedElevationLevel 令牌。指令清单是 XML 文件,其中包含有关某个映像的补充信息。它们是在 Windows XP 中引入的,作为标识与并列 DLL 和 Microsoft .NET Framework 程序集的依赖关系的一种方式。如果某用户运行具有该值的可执行文件,那么仅当他在 AAM 中运行或被视为管理员且必须提升以获得其管理权限时,才会要求提升他的权限。

3 隔离已提升的进程

Windows Vista 在已提升进程周围设置了一道屏障,以保护它们免受在同一桌面上使用标准用户权限运行的恶意软件的侵扰。如果没有这道屏障,恶意软件可能会通过窗口消息发送合成的鼠标和窗口输入,从而驱动某个管理应用程序。

Windows Vista 为窗口消息提供的防护称为用户界面特权隔离 (UIPI)。它基于新的 Windows 完整性机制,Windows Vista 同样使用该机制作为已提升进程周围的屏障。在此新安全模型中,所有进程和对象都具有完整性级别,并且对象的完整性策略可以限制访问权限,否则,这些访问权限将由 Windows 随机访问控制 (DAC) 安全模型授予某个进程。

在默认完整性策略下,进程可以打开任何对象(进程和线程对象除外)进行读取访问,只要对象的 DACL 为它们授予了读取权限即可。这意味着,在低 IL(完整性级别) 上运行的进程可以打开任何其运行所在的用户账户可以访问的文件。保护模式 Internet Explorer 使用 IL 来帮助防止感染它的恶意软件修改用户账户设置,但是它不能禁止恶意软件读取用户的文档。

上述情况不适用于进程和线程对象,因为它们的完整性策略还包括 No-Read-Up。这意味着,进程的 IL 必须等于或高于它要打开的进程或线程的 IL,且 DACL 必须授予它成功打开所需的访问权限。

4 提升和安全边界

UAC 提升是一种方便性,而不是安全边界,清楚这一点很重要。安全边界要求安全策略指明能够通过该边界的内容。用户账户就是 Windows 中安全边界的一个示例,因为如果没有另一个用户的许可,某个用户就无法访问属于另一个用户的数据。

因为提升不是安全边界,所以无法保证使用标准用户权限在系统上运行的恶意软件不会侵扰已提升进程以获取管理权限。例如:提升对话框只标识了即将提升的可执行文件;其中没有提供执行时将如何操作的任何信息。可执行文件将处理命令行参数、加载 DLL、打开数据文件并与其他进程通信。可以想象,上述任何操作都可能允许恶意软件侵扰已提升进程,进而获取管理权限。

已提升的 AAM 进程尤其易受侵扰,因为它们在与 AAM 用户的标准权限进程相同的用户账户下运行,并共享用户的配置文件。许多应用程序读取在用户配置文件中注册的设置并加载在其中注册的扩展,这为恶意软件的提升提供了机会。因此恶意软件可以将其自身作为一项扩展添加进去,以加载到使用那些对话框的任何已提升进程中。

5 结束语

软件权限管理 篇3

1.1 Android系统

Android一词的本义指“机器人”,也是一款基于Linux内核的开源手机操作系统,该系统由精简的Linux内核作底层管理、各种开源的功能库作中间件、基于Dalvik虚拟机的Java应用程序框架和一组基本的应用软件组成,是首个为移动终端打造的真正开放和完整的系统平台[1]。

Android系统自2007年首次发布以来,以其开源免费的优势,至今,经过多次系统升级,已经成为全球最流行的手机,占有率已超60%。与此同时,据网秦2012年第一季度的《全球手机安全报告》[2]指出“2012年第一季度查杀到的Android手机恶意软件3523款,直接感染手机412万部”,并且仍有上升趋势。所以,在Android移动设备迅速普及的今天,开展Android安全性研究势在必行,检测Android恶意软件研究具有重要意义。

Android系统采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,提供核心系统服务,比如安全,内存管理,进程管理,网络协议栈和驱动模块;中间层包括各种开源函数库Library和虚拟机Virtual Machine。第三层是各种应用基本框架,主要是由各种组件管理器级成,提供Android程序开发的基础功能,使组件重用变得简单,加快了程序开发的速度。最上面一层是常用的必要的应用程序,包括通话程序,短信程序等,应用软件可由第三方开发。每个Android应用都运行在它自己的进程里,并依附在一个单独的Dalvik虚拟机实例上[3],一个设备可以高效地运行多个Dalvik虚拟机。

1.2 Android的安全机制

Android安全机制的一个重要的设计出发点就是:应用程序在默认的情况下不可以执行任何对其他应用程序、系统或者用户带来负面影响的操作。除了Linux在系统内核级来做保障,在外围用户空间android也设计了独特的安全机制来保障程序的安全性[4]。

1)Android系统充分利用了Linux系统的安全特点,一个程序分配一个用户ID,每个程序运行在自己的沙箱环境,之间不能相互影响。

每个程序在安装时,系统会为它分配一个属于自己的用户,为它创建一个“沙箱”环境,防止其它程序影响。用户在程序安装到手机中时被分配,并且在这个设备中保持它的永久性。另外如果该程序创建任何文件都会被赋予程序的用户标识,并且正常情况下不能被其它进程访问。

2)另外,Android系统设计了另一个安全特性,即权限控制[5,6]。每个程序要想使用系统的资源,必须在在程序的声明文件中明确的声明,在安装时向用户提示。如果有敏感权限用户可拒绝安装。

一个程序在安装时,需要声明自己需要的权限给用户提示,包括如访问联系人、访问网络、访问电电子邮件、收发送信息、读写存储卡,调用Android其他组件等。如果有恶意权限会被细心的用户发现,并且程序在实际运行期间,不可能有超出安装时声明的权限。权限是Android为保障安全而设计的安全标识,同时也是程序实现某些操作的前提。

存在的问题是,用户选择安装了某个程序,就不得不接受该程序的所有权限,而一般的普通用户却不熟悉,这些权限可能给自己带来的危害。另外,用户往往更关心程序带来的功能,而忽视了程序所具有权限带来的潜在威胁。在安装了这样的恶意程序后,在运行过程中便可访问用户的隐私数据或执行非法的动作,而用户不会知晓,从中给用户带来威胁。

1.3 相关研究

文献[7]使用自动测试工具,测试了1310个关键Android API,创建了较为完整的Android权限集合(permission map),包括了contend Providers,Disallowed Broadcasts,receving Broadcasts,sending Broadcast,startin-g Activities,starting Services几乎所有种类的权限。

文献[8]分析了2011年10月前1260个良性程序的权限使用情况,同时与他们收集的恶意程序库中恶意程序所申请的权限的情况,进行了对比发现:访问网络、读手机状态、访问网络状态、写SD卡等权限在恶意程序和良性程序中都广泛使用,但恶意程序倾向于使用(:)短信有关的权限(62.7%)、开机自启动权限(54.6%)、更改WIFI状态的权限(31.6%),而良性程序很少使用这些程序。另外,恶意程序比良性程序倾向于请求更多的权限,在他们收集的样本中,恶意程序平均需要11个,而良性程度需要4个。在前20名的权限中,恶意程序平均需要9个,而良性程序平均仅需要3个。

由上,可以推断出,恶意程序与良性程序在需要的请求的权限集合与组合上,有比较明显的不同。

2 朴素贝叶斯算法与恶意软件检测模型

根据前文所述及相关研究,笔者认为可以运用机器学习方法以权限组合为特征对Android恶意软件进行检测。在机器学习方法中,朴素贝叶斯方法(Naive Bayes,NB),是一种性能较好的分类方法,常用在文本分类上[9],研究对比后发现其模型特征上与Android程序的权限上有一定相似性。

2.1 算法描述

NB利用贝叶斯公式的特性,将先验概率转换成后验概率,并为了简化问题处理,采取了“朴素的假设”。它分类新实例的方法是在给定描述实例时,通过计算概率得到最可能的分类目标值。

2.1.1 定义极大后验假设(maximum a posteriori,MAP)

vMAP——最可能的分类,V——目标属性取值集合(此处为{0,1}),vj——目标属性(j)的取值,a1,a2,……an——样例的特征属性

2.1.2 算法描述

1)在(1)式中,估计P(vj)只需要计算每个目标值出现在训练样例中的频率即可,

2)P(a1,a2...an|vj)必须要一个非常大的样例空间才可以,但这不现实。基于一个简单的假定:若在给定目标值时属性间相互独立,有P(a1,a2...an|vj)=∏iP(ai|vj)(文献[10]从数学上说明了NB假设的合理性以及NB能取得不错分类结果的原因)。P(ai|vj)项也可根据训练数据上出现的频率得出。代入上式:

3)估计——类别vj的样例数,nc(ai,vj)——类别vj的样例中属性ai取某一值的样例数目。但当在样例中,某个属性的属性值没有出现时,便会出现问题,即估计的概率为0,会使之后的类别概率变为0,影响判别。改进为:p——要确定概率的先验估计,m——等效样本大小的常量,确定对观察到的数据如何衡量p的作用[11]。一般取m为k(ai可能属性值的个数)即假设每个属性值在类别vi中都出现了一次。

2.2 建模

主要的问题是,把一定数量的良性程序与恶意程序的权限扫描统计出来,计算其概率。以[7]中总结出的所有权限作为权限字典D,作为特征属性。

1)从官方的Android市场[12]下载的一定数量程序(官方审核相对比较严格,假设全为良性程序),得到各程序权限,集合到一起,并对各权限计数,记作B={,……}。

2)笔者收集了一批恶意程序样本,得到各程序权限,集合到一起,同(1)一样,对各权限计数。

3)记T=B+M T={,……}

4)对应到该分类的具体问题中,2.1.2中的“样例”应为具体权限。

1——代表是良性程序B0——代表是恶意程序M

nc(vj=1)——B样本数量中各权限总数nc(vj=0)——M样本数量中各权限总数

n——T总样本数量各权限总数

nc(ai,vj)——在vj类样本中,出现ai权限的次数,可由(1)(2)中得到。

|D|——权限字典中的权限数量

5)在以上概率全部计算出来之后就可以预测新样本:

vMAP=argvj∈mVaxP(vj)∏iP(ai|vj),得到最可能的分类预测。

3 模拟实验

1)样本取得:从Google官方的Android市场下载200个程序(官方审核相对比较严格,假设全为良性程序)。包括了游戏娱乐类、工具类、系统管理类等程序。恶意样本,来自笔者的收集,取200个,包括了一些主流恶意的程序,如:Droid Kung Fu,AnverseBot,Base Bridge,Root Expoit等。

2)权限提取:基于开源项目androgurad[13],编写了一个自动读取一个目录下所有程序权限并统计每个权限数量的工具,会将统计信息写出保存到文件。

3)用python语言实现了NB算法,按前文中的计算方式,计算相应的概率项。

4)先随机选取参与训练的良性程序和恶意程序各50个进行分类实验,再选择未参与训练的新样本进行检测,进行五轮实验。实验结果如下:

其中,

TP——true positive真阳性,即检测正确到恶意样本数量

FN——false negative假阴性,即检测错误的恶意样本数量

TPR——真阳率表征了一种命中率(检测率)

FP——false positive假阳性,即检测错误的良性样本数量

TN——true negative真阴性,即检测正确的良性样本数量

FPR——假阳率表征了一种错误命中率(误报率)

ACC——准确率

实验结果分析,由以上模拟实验可以看出,训练样本的分类效果相对较好,对新样本具有一定的检测能力,但不是特别理想。原因是样本数量偏少,检测方式单一,另外如果能按软件的分类如游戏娱乐、工具、系统管理等来进行检测效果会更好,因为不同类型的软件所需要的权限集合与组合也有不同。

4 总结

本文介绍了Android系统的架构,分析了Android系统的安全机机制。针对Android特有的安全机制,提出一种利用机器学习算法检测恶意软件的方法,并进行了模拟实验和分析,效果较好。今后,笔者将继续对Android系统的恶意软件检测进行研究,具体涉及如增加样本数量的训练;将检测模型移植到Android平台上;研究恶意的软件的除权限外的其他静态特征;研究恶意软件的运行时特征,hook Android的敏感API,建立恶意软件的行为模式;寻找合适的机器学习算法,使模型具有更好的学习并检测新样本的能力。

摘要:在今天开源的android手机越来越流行的同时,也有越来越多的木马、广告、隐私偷窥、扣费等恶意软件的出现困扰着用户。该文首先介绍了Android系统的构成,分析了android系统的安全机制和存在的安全隐患,并就关键的权限机制的相关研究进行了综述。文章提出利用机器学习中的朴素贝叶斯分类算法,对程序的权限进行建模分类检测,并进行了模拟实验。

考核管理权限 篇4

2013考核工作要以邓小平理论和“三个代表”重要思想为指导,落实科学发展观,贯彻党的十八大精神,以岗位职责为基础,以工作实绩为重点,采取平时考核与年终考核相结合,定性考核与定量考核相结合,领导评价与群众评价相结合等多种方式,实事求是,客观公正地全面考核教职工。通过考核工作,激励和促进广大教职工解放思想、开拓创新。

二、考核组织机构

学院成立“学院2013考核工作领导小组”,办公室设在人事处。

各党总支成立考核小组,负责组织本党总支的考核工作。

三、考核管理权限

中层干部由党委组织部负责考核;其他人员由所在党总支负责考核。

四、考核范围、内容、标准、等次及要求

1、考核范围

包括财政编制、人事代理、校内编制、合同制人员。

2、考核内容和标准

各单位应坚持平时量化考核与考核相结合,夯实考核基础,将考核人日常工作任务的完成情况、出勤情况等有关平时考核资料加以整理、量化,将考核与平时量化考核结合起来,增强考核的科学性和准确性。

考核内容包括德、能、勤、绩四个方面,重点考核工作实绩。

德,主要考核政治、思想表现和职业道德表现,包括贯彻执行党的基本路线和国家方针、政策的态度和表现,以及思想品德、职业道德、廉洁奉公,遵纪守法等方面的情况。

能,主要考核业务技术水平、管理能力的运用发挥,业务技术提高、知识更新等情况。担任领导职务的,还要考核其理论政策水平和计划、政策、组织协调能力。

勤,主要考核工作态度、敬业精神和遵守劳动纪律情况,包括事业心、责任感和工作的勤勉程度。

绩,主要考核履行职责情况、完成工作任务的数量、质量、效率,取得成果的水平以及社会效益和经济效益。

ERP用户权限管理方法探讨 篇5

制造企业的信息化是企业改革和管理创新的重要手段。 ERP软件对有效开发和利用企业信息管理资源, 加速企业信息化步伐起到重要作用。但是, 由于ERP是一个集成的, 多用户共享的系统, 企业用户可能达到成千上万的数量, 当多个子公司的业务已覆盖财务、物流、生产制造等方面, 复杂的业务环境下并存着大量的用户, 系统运维工作的重要性日益凸显, 其中用户权限管理的运维工作占了很大比重。系统上线后能安全、 高效运行的前提是权限运维必须规范, 即用户管理规范、授权管理清晰, 最终用户的权限设置符合内控审查规范。因此, 构建高效的权限管控体系和规范的授权业务流程是保证系统安全、高效和数据保密的重中之重。

1企业ERP用户权限管理的现状及存在的问题

1. 1传统用户权限管理的弊端

1) 权限申请的维护是由系统管理员完成的。因为没有一个清晰的授权原则, 不能确切地说明为何授权或者不授权, 只是通过用户申请, 中间由部门负责人象征性地审批, 导致分配给用户的权限过大, 部门领导审批权限形式化。加之管理员对业务单位部门岗位职责分配及业务操作的熟悉程度有限, 很难确定最终用户提交的权限申请的合理性。

2) 最终用户不了解权限的构成情况, 单从角色描述很难判断角色所包含的具体权限内容, 从而造成最终申请到的权限与所需权限不一致。

3) 用户申请权限时通常都是通过OA或者IT运维平台, 急待处理权限也可通过电话或者电子邮件。随着时间的推移, 人员调动时有发生, 申请变更的数据量逐渐增大, 用户权限有被叠加放大甚至失控的危险, 权限管理变得极其混乱。

4) 权限管理员处理权限申请时, 往往需要反复沟通才能完成最终权限调整并记录归档, 而且在做权限调整时不可避免地产生错误, 使得管理员的工作量大且效率低。

1. 2职责分离体系不能被有效建立和执行

企业的权限管理不仅仅是决定谁有权做什么, 而且还应体现权利间的相互制约关系。比如“裁判员”同时不能做“运动员”是最为著名的权力制约关系。体现在企业管理上, 也有众多制约关系需要在用户权限管理中加以考虑。当然, 这些规则有时也不是绝对的, 企业可以根据自身的情况加以调整, 有些企业不允许的, 另一个企业可能就允许这样授权。也就是说, “职责分离”的粗细, 取决于企业内外部风险管控的需要, 并没有一个绝对的标准。但是, 不管怎样, 每个企业都应建立一套 “职责分离”的规则体系, 然后根据自身管理需求的发展加以调整。

2优化ERP用户权限管理, 提升管控力的有效途径

2. 1建立健全的ERP用户权限管理规章制度

实际上, 我们不可能完全通过技术手段来进行用户权限的管理, 还需要建立起相应的规章制度, 理顺、清理权限申请和授权的工作流程, 以此来规范和约束权限管理, 做到管理有力、有据、流程化、规范化, 减少用户和管理员在权限申请和授权过程中主观意识的负面作用, 使授权工作过程可控、授权结果合规。

2. 2与HCM模块集成

用户权限管理模块与HCM模块集成, 把HCM中的职员信息包括人员的部门、岗位引入到用户管理的用户信息中, 即系统用户与职员一一对应。职员对应的组织单元作为用户管理中的用户组, 这样管理员能够一目了然地知道用户所属组织及岗位, 避免了人工维护的不及时性, 减少了管理员的工作量。 因为用户组和职员对应的组织来源于同一个数据源, 所以用户管理中的用户组能够随HCM系统中的组织结构调整及时变动。当职员调离原岗位, 则系统用户标识自动取消, 相当于把此用户暂时禁用, 避免业务单位不及时反馈用户的权限变更, 造成权限管理失控, 公司业务混乱。

2. 3分组织、分级授权管理

对于制造企业来说, 内部的分工较细, 岗位较多, 同时内部的人员并不固定, 流动性比较大, 如果要管理员来统一管理用户的权限分配, 则给管理员增加了工作量, 用户也不是很方便, 而管理员往往不能对所有组织及分子公司的业务掌握得很透彻。基于以上考虑我们决定采用分组织、分级授权管理。

系统中可将权限分配与管理分为2级: 第1级是管理哪些用户登录本系统并指定子系统管理员, 这部分的权限由系统管理员操作。系统管理员只需对子系统管理员进行授权管理, 定期审查子系统管理员的操作日志; 第2级的权限由子系统管理员进行分配, 这部分的权限主要是管理每个用户到底拥有哪些操作权限。

分组织、分级授权管理首先是把组织细化管理, 这样在每一个组织中系统管理员能够对管辖权限项范围定义角色, 对于制造企业各组织和分子公司就可以根据自身的业务特色细化角色。权限分级管理如图1所示。

在分组织权限管理中还可以结合数据权限, 对用户权限更细化的控制。数据授权可以分为普通数据规则授权和字段授权。普通数据规则授权是对要授权的数据形成一定的规则, 授权能够用一条规则来描述。例如: 采购经理能够审核金额为100万以上的订单, 而采购主管只能审核金额为100万以下的订单。字段授权是对业务对象的某个字段的查看权和修改权进行控制。例如: 仓管员只能查看数量而不能查看单价和金额等。

这种按用户的不同组织范围、职位角色分别授权, 功能权限和数据权限并存, 既满足了企业多组织下业务灵活操作和精确管理的需要, 又保证了数据的安全。

2. 4基于角色的授权管理思想

基于角色的权限管理模型是指系统管理员根据需要创建角色, 然后把有关权限赋给此角色, 最后将该角色在一定的组织下赋给合适的用户, 这样用户就可获得该角色所有的权限。 也就是说, 授权是对角色进行的, 而不是直接对用户授权。这样将角色与组织用户绑定, 就避免了因为人员的变化而引起的授权变化, 简化了权限管理。用户、组织、角色三者关系如图2所示。

2. 5建立良好的沟通机制

沟通对于ERP权限管理很重要, 要在管理员与用户之间建立良好的沟通渠道, 并确保各种沟通畅通无阻, 沟通手段包括电话、邮件、OA、IT运维平台等。

另外, 定期的工作例会也是沟通的有效手段。例会便于集中、快速地解决ERP系统管理工作中的各类问题。相关岗位的业务人员、管理人员可以一起共同讨论、互相交流, 便于共性问题的解决和共同提高。

3结语

一个优秀的用户权限管理模块可以有效地管理整个软件系统, 协调好系统用户、权限、角色之间的关系。经过实践证明, 分级授权和基于角色访问控制的分配策略是符合企业的实际情况和行之有效的, 它能够将企业的实际岗位情况与系统中的特定角色较一致地结合起来, 减轻了管理员的工作量, 而且便于统一、敏捷地管理各岗位角色和用户权限。

摘要:简单讨论了ERP用户权限管理的内容和重要性, 深入分析了企业ERP用户权限管理存在的问题及产生的原因, 最后针对权限管理的难题提出了几种提升管理效率的有效途径。

关键词:ERP,用户,权限管理

参考文献

[1]李存荣, 郭顺生, 杨明忠.ERP系统用户权限的全动态配置研究及实现[J].机械制造, 2002 (6) .

权限管理系统设计与研究 篇6

权限管理,一般指根据系统设置的安全规则或者安全策略,采用安全授权和角色相联系的原则,只有成为相应的角色组成员,才能获得对应的权限且只能访问被授权的资源。逻辑表述为:判断“Who对What(Which)进行How的操作”的逻辑表达式是否为真。角色可以根据部门中不同的工作创建,再根据用户的责任和资格分配资源,用户就可以获得对应的权限。随着新功能的增加和删减,角色可以分配更多的权限,也可以根据需要撤销相应的权限。

一、权限管理系统描述

权限的核心部分是Who(权限主体)+What(Which)(资源)+How(具体权限)的问题,实现What和部分Which的权限问题,即创造权限、分配权限、使用权限。

基于角色的访问控制方法(RBAC),是目前公认的解决大型企业的统一资源访问控制的有效方法。对应用系统的所有对象资源和数据资源进行权限控制,比如应用系统的功能菜单、各个界面的按钮、数据显示以及各种行级数据进行权限的操控。

二、权限管理系统设计

每个权限,可分为访问权限和可授权权限,如果用户只授予了访问权限,则他不能分配给其他人访问。

2.1用户、角色、组

用户(user)是权限的具体操作者,根据拥有的权限信息,可以归属于0~n个角色,可属于0~n个组。用户的权限集是用户权限、角色权限、组权限的合集。

角色(role)是实现对相似权限的用户进行分类管理,如管理员、用户、访客等。角色具有上下级关系,父角色的权限是自身和所有子角色的权限的综合,形成树状的权限结构。基于角色的权限系统,只为角色分配权限,用户都隶属于角色,不再单独为用户分配角权限。

组(group)是对用户进行分组归类,实现角色的合理分配,更好地管理用户。同时组也可以具有自己的角色信息、权限信息。

2.2权限数据库设计

理清权限设计的思路和各对象之间的关系后,对权限管理进行数据库建模,对象之间的关系,一般需要加入一个关联表来示关联的两者的关系。实现形式如图1所示:

三、权限管理原理及实现

目前使用较为广泛的开源权限框架以spring security、apache shiro为主,也有采用基础的设计,定制符合系统的权限管理。考虑到整个项目的需要及实际应用,项目中采用自定义的方式实现权限的管理。

项目中采用自定义权限管理对项目的各项操作实现私人定制。建立一个权限管理类(Auth Method),使用注解的形式管理controller层的资源操作。默认base权限(基本操作权限,如访问、登陆、注销、注册等),引入权限注解的操作,都需要权限验证,只有权限验证通过后才能看到角色所具有的权限。其实现原理为:第一、在项目工程启动的初始化过程中,初始化整个资源的权限信息;第二、初始化用户角色组权限;第三、初始化加载在controller层的Auth Method注解,具体化用户的访问权限。

在用户访问的时候,采用EL表达式权限的具体操作</c:if>对用户的权限经行验证,根据用户具有的权限分配操作,杜绝非法用户越权访问。对用户的密码等敏感信息使用MD5加盐加密技术加密,并定期对数据库信息进行备份,防止数据库因某种原因被破坏。

四、结束语

项目中采用定制权限的方式实现权限管理,为项目需要量身制作,更好的使用及控制。对系统的所有对象资源和数据资源进行权限控制,引入注解机制,对资源的具体操作进行严格控制,权限标签加上EL表达式的权限控制,对数据显示、界面按钮、功能菜单等加以控制,更合理有效地管理及使用系统资源。

参考文献

[1]祖峰,熊忠阳,冯永.信息系统权限管理新方法及实现.重庆大学学报;2003.11第26卷11期.

高校科研管理系统中的权限管理 篇7

科研管理系统中供高校不同角色的教师和管理人员使用, 灵活的角色权限分配, 能最大限度的满足客户对于权限控制的要求。用户的类别不受限制。因此权限的设计、管理和分配问题是科研管理系统设计过程中的一个重中之重。权限管理一般指根据系统设置的安全规则或者安全策略, 用户可以访问而且只能访问自己被授权的资源, 权限管理在科研管理系统中发挥着至关重要的作用。权限管理的关键在于访问控制策略, 它决定了在设计权限管理体系时可以控制的权限维度, 如时间、空间等。目前在访问控制领域, 比较流行的就是基于角色访问控制技术RBAC (RoleBasedAccessControl) , 该技术被广泛运用于各个系统中。

1 RBAC简介1 RBAC简介

RBAC技术模型如图1所示。

RBAC技术模型

在RBAC中, 用户就是一个可以独立访问计算机系统中的数据或者用数据表示的其他资源的主体。角色是指一个组织或任务中的工作或者位置, 它代表了一种权利、资格和责任。许可 (权限) 就是允许对一个或多个客体执行的操作。一个用户可经授权而拥有多个角色, 一个角色可由多个用户构成;每个角色可拥有多种许可, 每个许可也可授权给多个不同的角色。每个操作可施加于多个客体 (受控对象) , 每个客体也可以接受多个操作。在一个组织中, 角色是为了完成各种工作而创造, 用户则依据它的责任和资格来被指派相应的角色, 用户可以很容易地从一个角色被指派到另一个角色。

RBAC的基本思想是:授权给用户的访问权限, 通常由用户在一个组织中担当的角色来确定。RBAC中许可被授权给角色, 角色被授权给用户, 用户不直接与许可关联。RBAC对访问权限的授权由管理员统一管理, RBAC根据用户在组织内所处的角色作出访问授权与控制, 授权规定是强加给用户的, 用户不能自主地将访问权限传给他人。在RBAC中, 是利用角色来控制人员与功能逻辑分隔, 权限与角色相关联, 用户通过成为适当角色的成员而得到这些角色的权限, 另外角色可依新的需求和系统的合并而赋予新的权限, 而权限也可根据需要而从某角色中回收, 这种管理方式很有效得简化了各种环境下的权限管理。

2科研管理系统中的权限管理

从功能模块的角度分析, 科研管理系统分为主要五大模块:首页, 用户管理模块, 项目申报模块, 项目初审模块, 项目审核模块, 项目结题模块, 项目查询模块。如图2所示。

高校的科研管理的申报及管理模式是科技产业处、系部、普通教师这三级组织结构的模式, 工作流程是普通教师用户在网上申报项目, 下载和上传申报书。系部级别用户下载教师上传的申报书对之进行初审, 系部初审通过后, 接下来由科技产业处审核, 科研项目通过审核方能开展, 在到达科研项目截止日期时, 科产处对项目进行结题处理。因此根据这样一个流程, 可以把用户可分为四个级别:普通教师级别用户、系部级别用户、科技产业处级别用户、管理员级别用户。普通教师级别用户对“项目申报模块”具备操作权限, 可以下载和上传科研项目申请书, 下载和上传科研项目协议书, 并对个人用户信息进行管理、对个人的科研项目进行管理 (添加、删除、修改) ;系部级别用户对“项目初审模块”具备操作权限, 各个系部的科技工作的管理者可以对项目进行初审;科技产业处级别用户对“项目审核模块”、“项目结题模块”具备操作权限, 科产处可以审核全院的科研项目、对科研项目进行结题、对全院科研项目进行管理 (添加、删除、修改) 、对科研项目信息进行统计、下载等;管理员级别用户对“用户管理模块”具备操作权限, 管理员可以对用户数据进行维护和管理。所有级别的用户都具有对应的查询模块。不同用户登录系统, 具备不同的功能权限, 如普通教师可以查询自己的项目信息, 系部科技工作的管理者可以查询该系部的项目信息, 而科产处可以查询全院的项目信息。

权限管理的最终目的是建立用户和功能之间的对应关系, 从而保证数据的安全性和保密性, 就是保证每个用户只能执行他能够执行的操作。角色对权限的操作是根据高校科研管理的需求而制定的, 一般的权限操作有:登陆, 项目申报, 项目初审, 项目审核, 项目结题, 项目查询, 用户管理, 查询等, 根据这些权限, 制定合理的权限管理策略。

3实现

用户和功能之间不能直接联系, 而是增加一个角色表, 角色与用户和功能之间也没有直接的联系, 用户和角色之间是通过用户角色表发生联系的, 这样一来, 用户和角色的增加和维护就变得相对独立, 而用户和角色之间也可以建立动态的对应关系。另外一方面, 角色和功能之间也没有直接的关联, 而是通过角色功能表发生关系, 从而使得角色和功能之间形成了一种动态的对应关系, 功能描述表也把用户和功能联系了起来。这样的权限管理使得数据库的设计和维护变得更加灵活。

通过以上对权限管理的分析, 设计了用户表、角色表、功能表, 角色功能表和角色用户表, 这些表的结构如表1-表4所示。

在权限管理中, 先选定角色信息, 再选定相应的操作功能。管理员级别的角色, 拥有操作所有信息的权限, 而科技产业处、系部、普通教师只有操作自己信息的权限。当合法的用户登录到系统中, 先访问“用户角色表”, 根据用户编号找到其对应的角色编号, 再根据角色编号在“角色权限表”中读出相应的功能编号和所操作的信息范围, 然后在“功能表”中, 根据功能编号找出对应的功能模块并生成对应的目标网页。在实现时, 采用Session机制, 用户登录后得到的功能权限保存在Session中, 读出Seesion中的用户信息后, 就可以访问目标网页了。

4 结束语

在高校的科研管理系统中, 实行权限管理是重要的安全保护措施。基于角色访问控制技术能够适应高校科研项项目管理特定的安全策略, 能够减轻系统安全管理的负担, 能随组织结构或安全需求变化而发生变化, 能把用户和系统的功能通过角色联系起来, 能很好地解决高校科研项目管理系统中的权限管理问题, 能够让不同级别的用户操作不同的信息, 从而解决了高校不同权限管理者的要求, 实现了权限管理着对自己部门信息的操作控制管理, 实现了较为灵活的管理模式。

参考文献

[1]胡金成, 刘亚彬, 陈琳.高校科研管理系统分析与设计[J].电脑知识与技术, 2012, 8 (27) :6642-6244.

[2]刘鹏远.一种角色权限管理方案的算法设计[J].计算机系统应用, 2010, 19 (10) :228-232.

[3]黄超.基于角色的权限管理结合Structs拦截的应用研究[J].大众科技, 2009, 11 (11) :51-52.

[4]高燕, 张维, 陈小辉.基于RBAC的可复用的权限管理设计与实现[J].科学技术与工程, 2007, 7 (15) :3959-3962.

[5]王居柱, 侯彤璞, 孙明柱.基于Struts-Hibernate架构的权限管理系统的设计与实现[J].计算机与数字工程, 2011, 39 (4) :101-105.

[6]张剑波, 童方圆, 胡金涌, 等.基于复杂角色模型安全访问控制的研究与实现[J].计算机应用与软件, 2011, 28 (7) :288-290.

软件权限管理 篇8

企业资源计划(Enterprise Resource Planning)是以MRP II(企业制造资源计划)为基础的企业管理软件。 是将企业所有资源进行整合集成管理,包括:物流、资金流、信息流进行全面一体化管理的管理信息系统。 ERP以流程管理的理念,打破了传统以职能管理为核心的管理模式, 把客户需求和企业内部的制造活动以及供应商的制造资源整合在一起, 形成企业一个完整的供应链,其核心管理思想主要体现在以下三个方面:①体现对整个供应链资源进行管理的思想;②体现精益生产、敏捷制造和同步工程的思想;③体现事先计划与事前控制的思想。 任何多用户的系统均不可避免地涉及权限问题,而ERP的权限系统也更为复杂。

1权限总体设计

企业级应用环境中的权限设计主要有三种: 自主性访问控制、强制性访问控制和基于角色的访问控制,其中自主式控制能力太弱、强制式控制太强,两者工作量大且不方便管理,基于角色的访问控制是目前公认的解决大型企业级系统的权限管理的有效方法。 可以有效减少权限管理的复杂性,提供企业权限管理的灵活性。

权限体系引用了账号、角色、参数文件、授权对象、字段等权限概念, 结合系统中企业组织架构及业务处理的配置等对用户进行权限控制。 同时也通过设计大量的数据表记录各事务处理的权限检查情况及系统用户的授权情况。 其中:

用户登录ERP时需输入的用户名称。 用户的创建一般在基本的ID等之外,需要维护包括姓名、身份、通讯信息等。

单一角色简单的说就是一个操作功能的集合。其中包含了控制功能操作的“权限对象”“权限字段”以及允许的操作及允许的值。

复合角色又叫通用角色,即多个单一角色的集合。 复合角色中可以包含多个单一角色, 此复合角色包含了多个单一角色所控制的权限。

2权限实施与管理

ERP的权限管理主要由权限设计、权限测试、权限反向查找和建立权限管理运维制度等几个方面的工作组成。

2.1 权限设计

ERP项目的权限设计严格遵守ERP系统的权限设计标准,其步骤如图1 所示。

(1) 从客户需求出发, 根据前期的业务蓝图成果, 明确各部门、岗位的职责。

(2)根据岗位职责进行通用角色权限设计,如工资数据维护角色、合同信息查询角色。

(3)根据通用角色权限设计进行复合角色设计,如人力资源部劳动组织专责角色。

(4) 根据复合角色结果提供权限模板, 进行用户收集, 并将用户名与角色匹配。

在设计的过程中,注意以下关键点:

(1) 下级不能查看上级的各类信息, 而上级可查看下级的,同级不可互看。

(2)在人员管理范围上,按照企业管理的职务级别分层次管理。

(3) 在人事信息类型管理上, 本着 “ 谁管理谁维护” 的原则,在保证各部门、各岗位必需的权限的同时,尽量紧缩角色授权。

(4)对部分高度保密的信息,如后备干部、人员薪资等信息,确保授权与实际岗位职责准确匹配。

2.2 权限测试

(1)针对通用角色和复合角色,重点考察其配置结果是否符合预期设计,能否实现要求的业务操作。

(2)针对最终用户岗位角色,重点考察其不应当具备哪些权限,然后测试在应当具备的权限中是否能正常执行业务操作。

(3) 从信息类型的角度, 重点考察后备干部信息、 薪资信息等保密性强的信息类型,测试拥有该信息类型的用户是否恰当。

(4)为保证测试更全面、准确要学会利用反过来查找有哪些用户拥有这些命令和信息查看的权限。

3权限运行与管理

在ERP上线后, 需要通过如下措施监控权限变更情况以及系统数据的访问情况,确保数据安全和权限严格管理。

(1)ERP用户审计。 在ERP生产系统中, 启用用户审计机制,对所有用户执行的交易代码和报表进行记录,对发现的异常及时处理, 并检查同类用户的权限设计是否合适以及权限管理流程的合理性。

(2)ERP敏感表更改记录。 在ERP生产系统中,启用ERP敏感表的更改记录机制, 对设定的某些ERP的表的更改进行日志记录,可以用作日常的运维报告和以后的查询。 针对异常检查开发及运维角色的权限管理是否存在漏洞。

(3)权限和用户变更记录。运维人员可以通过ERP的权限和用户变更记录工具,随时查询用户和权限的变更时间、变更内容和变更人员。

(4)对照权限设计文档检查此用户权限是否正常。

(5) 如果不正常, 通过权限和用户变更记录, 查找变更情况和变更人。

(6)查看变更记录单。

(7)查看权限变更人员操作记录。

4结语

ERP权限的重要性是毋庸置疑的,但在运行过程中,大多不太重视权限, 主要的原因是在上线期间以及上线后的短期内负面效果往往体现不出来,突发的权限问题也可以立即处理掉。这样做很可能在一段时间之后ERP系统的权限管理者会忽然发现在不知不觉中权限管理已经变成了无序的状态, 各种流程也变成了一种形式。在ERP的实施过程中多投入一点儿关注,就会为以后系统的健康使用打下良好的基础。

摘要:本文通过企业资源管理系统(ERP)项目实施的总结和汇总,对ERP的权限管理进行规范化的管理实施策略,形成一套比较成熟并长期可用的数据安全保障屏障。本文介绍ERP在权限管理的架构,设计思路,实施方法和整体权限的策略。讨论了ERP的权限工作日常需严格遵守的实施标准和比较优秀的做法,并根据系统建立一套由用户、运维人员、业务专业人员和技术专业人员共同参与的权限管理机制。

软件权限管理 篇9

关键词:超级用户模型,最小特权,进程特权模型

当信息安全、计算机安全已经成为人们普遍关注的重要问题,甚至给人们的工作、生活带来巨大影响时,操作系统的安全性绝对占据了举足轻重的地位,开源社区也为此作出了杰出贡献,众多活跃在开源社区的高手们纷纷投入到操作系统的安全性研究工作中来,Linux安全模块(LSM)、分布式安全框架等思想也展现出了其惊人魅力。2005年,SUN公司公布了被称为业界最先进的操作系统——Solaris10的源代码,它包括了广泛用于美国政府安全通信领域的Trusted Solaris操作系统。那么,从进程管理的角度来看,Solaris究竟采用了什么策略来增强操作系统本身的安全性?和目前流行的基于角色的访问控制策略、基于规则集的访问控制策略等有何不同?

本文将详细讨论Sloaris的进程权限管理。

1 传统的Solaris超级用户模型

传统的Solaris使用UNIX特权模型,在这一模型中,每个进程都有一个相关的信任状,由有效ID、当前ID、实际的用户ID和组ID构成,当且仅当有效uid为0时才认为该进程拥有所有权限。这种方法有如下缺点:

1)不能将进程限制在一个有限的权能操作集合中,虽然进程在执行任务时通常只需要少量相关的权限;

2)每个具有特权的进程都能完全统治整个系统,所有易受攻击的具有特权的进程都能完全访问系统,使得系统的安全性受到严重挑战;

3)不可能通过有限的特权集合来扩展普通用户的权能;

4)一般不能确切地知道进程需要访问具有什么特权的功能。

VMS、Trusted Solaris、Windows NT等操作系统通过引入某种进程特权来弥补这些缺陷。进程特权允许著名的最小特权原则的实现,即:正在运行的应用程序只需具有最少特权就能够完成特定的任务,这是一种更好的安全模型。

2 Solaris中的进程特权模型

2.1 Solaris中的最小特权原则

Solaris的进程特权模型(Process Privilege Model)采用了更细小的特权管理模式——Sun公司将“最小特权原则”移植到了Solaris中,其最小特权模型遵循以下原则:

1)新的模型必须对合法用户完全透明;

2)使用新、老模型的应用程序必须能共存于同一个Solaris实例中;

3)可以将进程及其子孙限制在某一特权集内。

在Solaris中,内核中的各种特权操作被分成适当的特权组,进程特权模型被扩展成特权集,每个集合包含零种或多种特权,每个进程都有一个有效特权集E(包含当前有效的所有特权)、已许可的特权集P(包含那些可置为有效的特权)、可继承的特权集I(包含那些可通过调用exec(2)而使之有效的特权)、有限特权集L(这是将来进程及其子孙的有效特权集的上限)。若干系统调用和库函数调用被用来检查和改变特权集,并为已有的user_attr(4)、prof_attr(4)、exec_attr(4)以及相关应用程序扩展了支持基于角色的访问控制协议,也增加了应用程序来审查并操作进程的特权、为进程分配打开设备所需的特权,以及定义额外的特权。Solaris就是利用这一技术来严格限制以uid 0身份运行的后台程序的特权,也可以说把uid 0的特权瓜分成了很多小的特权组,uid为0不再意味着拥有控制系统的所有特权,将这些特权组中的某一特权授予一个进程时,也不必把以前超级用户的所有权限都给它,这样做可以减少因允许这些后台程序运行而带来的风险。

在新的Solaris模型中,普通用户ID可以有额外的特权,并且uid为0的用户不再拥有所有权力。这意味着,当某个进程请求某一操作时,我们要检查它是不是具有相应的权限时,应该检查它的特权集,而不仅仅是检查uid是否为0。

这一实现用到了4个特权集:

C.I:the inheritable set,可继承的特权集

C.E:the effective set,有效特权集

C.P:the permitted set,已许可的特权集

C.L:the limit set,上限特权集

其中C为进程的信任状,C'为该进程执行某一操作后的信任状。进程可以通过使用系统调用setppriv(2)以一种严格的方式来操作特权集E、P、I。下列条件总是满足的:

C',I⊆C,I∪C.P,

C'.P⊆C.P,

C'.E⊆C'.P,

C'.S⊆C'.P

进程可以将P中的特权加入到I和E中,也可以从I、P、E中去掉某些特权。但是,从P中减去某一特权时,系统会自动从E中去掉该特权但并不从I中去掉该特权。当程序X被执行时,将发生以下转换:

C'.I←C.I∩C.P,

C'.P←C'.I,

C'.E←C'.P,

C'.L←C.L

在Solaris内核中,实现了仅基于进程有效特权的增强型安全策略,即通过审查所请求的特权p是否是C.E的成员来强制实施内核策略:p∈C.E。

2.2 最小特权原则的兼容性

Solaris最小特权集的实现允许使用系统的新功能,同时也提供了完全向后二进制兼容性。如果这一功能被关闭,Solaris本身不能使用它,我们不能将最小特权的原则应用于Solaris系统的后台程序。当然,我们并不是必须使用这个功能,如果传统的Solaris应用程序不能在新的环境中工作,就只能将这一功能关闭。

可以说,Solaris的主要特征之一就是继续向后二进制兼容,允许应用程序无需修改直接以二进制的形式在Solaris中运行。

2.3 基于角色的访问控制(Role Based Access Control,RBAC)

与Solaris的进程特权模型相似,基于角色的访问控制机制也是基于最小特权原则。

RBAC模型的基本思想是将访问许可权分配给一定的角色,用户通过饰演不同的角色获得该角色所拥有的访问许可权。

在这种模式中,用户不是自始至终以同样的注册身份和权限访问系统,而是以一定的角色访问,不同的角色被赋予不同的访问权限,系统的访问控制机制只看到角色而看不到用户。用户在访问系统前,经过角色认证充当相应的角色。用户获得特定角色后,系统仍然可以按照自主访问控制或强制访问控制机制来控制角色的访问能力。其一般模型如图1所示。

在RBAC模型中,角色是访问控制中访问主体和受控对象之间的一座桥梁。

角色可以看作是一组操作的集合,不同的角色具有不同的操作集,这些操作集由系统管理员分配给角色。依据角色的不同,每个主体只能执行自己所既定的访问功能,这正是基于角色的访问控制(RBAC)的根本特征,即:依据RBAC策略,系统定义了各种角色,每种角色可以完成一定的职能,不同的用户根据其职能和责任被赋予相应的角色,一旦某个用户成为某角色的成员,则此用户可以完成该角色所具有的职能。系统管理员负责授予用户各种角色的成员资格或撤消某用户具有的某个角色。同一个用户可以是多个角色的成员,一个角色也可以拥有多个用户成员。

RBAC中引进了角色的概念,用角色表示访问主体具有的职权和责任,灵活地表达和实现了企业的安全策略,使系统权限管理在企业的组织视图这个较高的抽象集上进行,从而简化了权限设置的管理,从这个角度看,RBAC很好地解决了企业管理信息系统中用户数量多、变动频繁的问题。因此,RBAC是实施面向企业的安全策略的一种有效的访问控制方式,其具有灵活性、方便性和安全性的特点,目前在大型数据库系统的权限管理中得到普遍应用。角色由系统管理员定义,角色成员的增减也只能由系统管理员来执行,即只有系统管理员有权定义和分配角色。用户与客体无直接联系,他只有通过角色才享有该角色所对应的权限,从而访问相应的客体。因此用户不能自主地将访问权限授给别的用户。

2.4 最小特权模型的优点

Solaris的进程权限管理策略和基于角色的访问控制机制有很多相似之处,简单来说,它们都使用了最小特权原则。

将最小特权原则集成到Solaris中来,具有以下优点:

1)简洁性:复杂性是安全和有用的敌人,我们想要更少的特权集和操作,同时也伴随着无法预期的或无意识的副作用。

2)兼容性:我们希望与已有的软件完全兼容,包括用户已知的应用程序的替换,例如,telnetd(),sshd()之类的后台程序和login()及sendmail()之类的应用程序。安装在一个有特权意识的内核上的老版本Solaris用户代码应该能够像以前一样工作。

3)麻烦最少:兼容性的特征不应该妨碍应用程序使用最小特权原则,它应该可以完全将用户ID和特权操作分离开来。

4)已许可的特权绑定:除了设置root之外,已许可的特权集不应该获得特权。

5)向前兼容性:方便在此基础上进一步发展和改进。

3 小结

对操作系统而言,任何程序的运行最终都表现为进程的执行,而操作系统则根据可执行进程是否具有相应权限来判断是否允许该进程的操作。传统的超级用户模型给了可执行进程许多不必要的权力,给系统带来了更多遭受攻击的危险。Solaris 10中使用的进程权限管理引入了最小特权原则,采用了更细小的特权管理模式,实现了仅基于进程有效特权的增强型安全策略,提高了系统的安全性,可以保证应用上的任何疏忽不致于暴露或导致大面积的系统瘫痪。

参考文献

[1]薛伟,怀进鹏.基于角色的访问控制模型的扩充和实现机制研究[J].计算机研究与发展,2003,40(11):1635-1642.

[2]张浩,刘乃琦.Linux安全模块框架的研究和安全日志的实现[J].计算机应用研究,2006,(6):135-136.

[3]http://tag.csdn.net/tag/solaris/1.html.

[4]http://news.csdn.net/n/20071120/110870.html.

上一篇:共享路径下一篇:施工技术探讨