当前位置: > 财经>正文

等保2.0下,强制访问控制技术大起底 什么是外汇理财投资行业的主体和客体

2023-08-13 02:51:01 互联网 未知 财经

等保2.0下,强制访问控制技术大起底

强制访问控制系统的工作流程说明:

初始化:管理员根据需求确定强制访问控制策略,对主体、客体进行安全标记。

启动:系统启动时,加载主体、客体安全标记以及访问控制规则表,并对其进行初始化。

访问控制:当执行程序主体发出访问客体的请求后,系统安全机制截获该请求,并从中取出访问控制相关的主体、客体、操作三要素信息,然后查询主体、客体安全标记,得到安全标记信息,并依据强制访问控制策略对该请求实施策略符合性检查。如果该请求符合系统强制访问控制策略,则系统将允许该主体执行资源访问。否则,该请求将被系统拒绝执行。

级别调整:管理员可以根据需要进行级别调整,级别调整后,相关信息及时更新到访问控制内核。

审计:所有安全配置的修改调整及主体对客体的访问信息都支持进行日志审计。

2

强制访问控制的历史

访问控制是一种很古老又很有效的计算机安全解决方案,也是最直观最自然的一种方案,直到目前还是绝大多数系统的基础必配策略。信息安全问题一般归结为三大类:信息保密性(Confidentiality)、信息完整性(Integrity)和信息可用性(Availability),简称CIA。访问控制主要是针对信息保密性和信息完整性问题的解决方案。

上世纪60年代末,Lampson开始对访问控制进行正式定义并进行形式化描述工作。他提出了主体和客体这两个基本概念,并提出需要有一个访问矩阵来描述主体与客体之间的访问关系。

1973年,Bell和LaPadula将军事领域的访问控制形式化为一套数学模型,即BLP模型,这个模型是一个类似于政府文件分级管理策略的多极安全访问模型,侧重于系统的保密性。

1977年,Biba对系统的完整性进行了研究,提出了一种与BLP模型在数学上对偶的完整性保护模型,即BIBA模型。

同期,Boebert和Kain提出了DTE模型(Domain,Type,Entity),把主体分到不同的域(Domain),客体设定不同的类型(Type),主体和客体都被称为实体(Entity),根据域和类型综合判断进行访问控制。

1983年,是访问控制模型标准化最有纪念意义的一年。这一年美国国防部提出了《计算机系统可信赖性评估标准》,即TCSEC,也称为橘皮书。该标准中详细的定义了两种军事系统的访问控制模式:自主访问控制DAC(Discretionary Access Control)和强制访问控制MAC(Mandatory Access Control)。

DAC即自主访问控制,对象(一般指文件等)的属主全权管理该对象的访问控制策略,有权读取、修改、转移对象信息,并且可以把这种权限转移给其他主体。通常DAC使用ACL(访问控制列表)来控制主体对客体的访问权限。DAC的优点:非常简单,在一定程度上实现了多用户的权限隔离和资源保护。DAC的缺点:资源管理过于分散,给控制这个系统的安全造成很大不便;无法防范木马攻击,如果某个管理员登录后带进来一个木马程序,该木马程序将拥有该管理员的全部权限。

MAC即强制访问控制,它可以弥补DAC在防范木马型攻击方面不足。在MAC系统中强制执行访问控制策略,每一个主体(包括用户和程序)和客体都拥有固定的安全标记,主体能否对客体进行相关操作,取决于主体和客体所拥有安全标记的关系(如:安全标记同为“机密”则可以执行操作)。MAC的优点:可以防范木马攻击,木马程序无法继承该用户的安全级别,必须按强制访问控制策略进行相关访问。MAC的缺点:适用于等级观念明显的行业(如军队等一些机要部门)或安全性要求极高的系统,适用范围比较小;不够灵活,易用性比较差。

BLP、BIBA和DTE都属于MAC模型。

在上世纪80年代到90年代初这段时期,计算机越来越普及,在企业中很多权限是和职位或角色直接绑定的。于是,一些研究人员开始将角色(Role)作为一个管理对象抽象出来,这时角色被认为是组织中的一个职位或位置。角色和用户开始分离,通过给用户指定角色来获得相应的权限。

1992年,David Ferraiolo和Rick Kuhn合作提出了RBAC(Role-Based Access Control)模型,参见注【1】。在RBAC中,在用户和访问权限之间引入角色的概念,用户与特定的一个或多个角色相关联,角色与一个或多个访问许可权相关联,角色可以根据工作需要创建或删除。

RBAC在2004年2月被美国国家标准委员会(ANSI)和IT国际标准委员会(INCITS)接纳为ANSI INCITS 359-2004标准。RBAC在管理大型网络应用时表现出很强的灵活性和经济性,迅速成为当前最具影响的高级访问控制模型。

现在随着分布式计算等新兴技术的快速发展,企业应用大集成、应用边界逐渐消失,传统的面向封闭环境的RBAC模型面临着新的难题。比如:在业务数据集成的场景,角色呈爆炸式增长,导致访问控制的配置复杂度也呈指数式提升,RBAC要随需求的变化不断进行策略的变更维护,工作量巨大且很难保证及时性,也无法保证数据被安全访问。一种新型的基于属性的访问控制技术ABAC(Attribute-Based Access Control)随之诞生,这也是目前关于访问控制方面的最新研究方向。

可以看出,访问控制技术始终在随着计算机技术一起发展。早期的计算机非常昂贵,主要应用于军事、金融等特殊应用场景,当时访问控制技术也比较严格,以MAC模型为主。随着计算机在企业的广泛应用,针对企业内按角色分配权限的场景,RBAC模型成为主流。现在,分布式计算、云服务、互联网、物联网逐渐得到广泛应用,对访问控制的灵活性要求越来越高,ABAC模型成为大家研究的焦点。

3

强制访问控制模型和标记技术

3.1. 基本概念

强制访问控制机制的核心是为主体、客体做标记,根据标记的安全级别,参照策略模型决定访问控制权限,保证数据的单向流动。

客体(Objects),是一种既包含有信息,又可以被访问的实体(文件、目录、记录、程序、网络节点等)。

主体(Subjects),是一种可以操作客体,使信息在客体之间流动的实体(进程或用户)。通常,主体同时也是一个客体。因为当一个程序存放在内存或硬盘上时,那么它就与其它数据一样被当作客体,可供其它主体访问,但当这个程序运行起来去访问别的客体,它就成为了主体。

安全标记,可能是安全级别或者其他用于策略判断的标记,典型的安全级别从低到高包括:公开(Unclassified)、秘密(Confidential)、机密(Secret)、高密(Top Secret)。

3.2. BLP模型

强制访问控制模型中最经典的是Bell和LaPadula提出的BLP模型,主要用于保证数据的机密性。该模型的核心规则是“不上读、不下写”,即低级别不能读取高级别的数据,高级别不能修改低级别的数据,保证数据只能从低级别往高级别流动。该模型的示意图如下:

BLP模型的来源是军事安全策略,也受到美国国防部的特别推崇,是一种多级安全策略模型。

BLP模型的优缺点分析:

3.3. Biba模型

和BLP完全对应的另外一个经典模型是Biba模型,主要用于保证数据的完整性,该模型的核心规则是“不下读、不上写”,即低级别不能修改高级别的数据,高级别不能读取低级别的数据,保证数据只能从高级别往低级别流动。

Biba模型的优缺点分析:

3.4. DTE模型

DTE是另外一种强制访问控制的模型,基于访问控制矩阵,通过增加域(Domain)和类型(Type)的概念,达到分域分类型控制的目的。

在DTE模型里,所有的控制集合为,D代表域,T代表类型,P代表访问授权,L代表安全级别。DTE的保密性模型判断条件类似下面表格:

在DTE模型的访问矩阵里,每一个域是一行,每一个类型是一列,所有的主体都属于一个域,所有的客体都关联一种类型。当然,前面讲过,主体也是客体,所有也关联一种类型。通过规则模型判断后生成的访问控制矩阵类似下图:

可以看出,DTE模型是一种更灵活的并且兼容了BLP和BIBA的MAC模型。

DTE模型的优缺点分析:

3.5. 安全标记技术

确定了访问控制模型后,还有一个重要的技术点就是设立安全标记。安全标记需要针对每个主体和客体分别设定,并且需要随主体、客体在系统内的迁移而迁移,不能因为主体、客体的位置转移而丢失或破坏安全标记。在DTE模型里,主要是设定域和类型。比如一个发送邮件的程序作为主体所具有的安全级别,不会因为该程序被拷贝到另外一个目录就发生改变。

目前对主体、客体进行安全标记的方法可以归为2种,基于数据本身做标记和基于数据的唯一性标识做标记,对比说明如下:

具体来讲可以参考下面的几个具体做法:

1. 对用户基于用户名进行标记,因为用户名在系统里面都是唯一标识并不允许改动的。

2. 对文件基于文件全路径(有时需要附加Hash值)进行安全标记。文件的全路径(有时需要附加Hash值)是文件的唯一标识,类似家里的门牌号。该方案的难点在于跟踪文件的拷贝、修改、重命名等操作,确保数据全程安全标记的一致性。类似家里搬家或者有人员的增加减少都需要及时跟踪调整相关安全标记。

3. 对文件基于文件本身进行安全标记,安全标记记录在文件的属性内。这个方案可以很容易的保证安全标记在各种情况下的全程一致性。该方案的难点在于需要研究各种操作系统的文件数据结构(包括硬盘存储数据结构和内存映像数据结构),和操作系统的耦合比较紧。

4. 另外,还有一些像数据库表之类的应用数据,适合采用独立安全标记的方法。主要原因是我们很难研究搞懂各种应用数据的结构,其他应用的数据结构不一定有合适的扩展方案供我们做标记。

4

当前主流产品的相关实现

强制访问控制模式自提出以来,在目前的主流产品上都有相关实现,主要包括:Linux系统上的SELinux、Windows系统上的MIC(Mandatory Integrity Control)、FreeBSD系统的TrustedBSD、Oracle为Solaris系统提供的Trusted Extensions等。

4.1. SELinux on Linux

SELinux主要由美国国家安全局NSA开发,是一个内核模块,现在已经被集成在版本号为2.6以后的Linux内核版本中,可以控制打开或关闭。SELinux有三种工作模式:强制模式(违反规则被阻止并记录日志)、容忍模式(违反规则不阻止只记录日志)、关闭模式(不生效)。

SELinux主要扩展了类型Type标签,实现强制访问控制策略。SELinux提供了各种常见的MAC模型,比如BLP、Biba都有现成的模板可以使用。

SELinux在Linux内核以安全模块LSM(Linux Security Modules)的形式集成进来,系统的架构如下图:

SELinux默认是关闭的,要打开该功能需要修配置文件并重启,配置文件修改见下图:

SELinux的开源项目社区为:

https://github.com/SELinuxProject

4.2. MIC on Windows

从Windows Vista和Windows 2008开始,微软在Windows内建了强制完整性保护机制,即MIC(Mandatory Integrity Control)。MIC采用类似Biba的模型实现,保护Windows内核模块的安全。

Windows系统对外主要使用自主访问控制模型DAC,MIC运行在DAC的下层,即优先根据MIC策略进行控制,再根据DAC策略进行控制。

MIC模型中共分为4个安全级别:低、中、高、系统级。Windows系统服务运行在系统级,管理员运行的进程运行在高安全级别,其他进程运行在中安全级别。当一个进程试图访问另一个文件时,其安全级别必须高于被访问对象。

MIC在Windows里没有对外的图形化操作界面,仅提供了命令行来设置文件的安全级别。命令行参考下图:

4.3. TrustedBSD on FreeBSD

TrustedBSD 也是以内核扩展的形式集成在FreeBSD 系统中,为强制访问控制策略提供支持。从FreeBSD 5.0 RC2版本开始,FreeBSD就开始内部集成TrustedBSD,但是缺省情况下,内核二进制代码中并没有包括对MAC框架的支持。

MAC 框架是一个插入式的访问控制框架,允许新的安全策略更方便地融入内核。安全策略可以编译时静态

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。