随着《中华人民共和国网络安全法》的正式实施,我国网络安全等级保护制度正式进入“2.0”时代。依据《信息安全技术 网络安全等级保护基本要求》(GB/T 22239—2019),第三级以上的等级保护对象应实现基于安全标记的访问控制机制(LBAC),本文基于数据分类分级探索了一种在业务应用系统中实现LBAC机制的技术思路,供大家参考。

基本概念

基于安全标记的访问控制机制具有以下特性:

(1)以安全标记为基础,访问许可是根据访问主体和被访问数据资源的安全标记进行判定;

(2)强制性,访问控制策略(含安全标记)应由授权主体配置,且第四级明确提出了强制访问控制规则的要求,明显区别于自主访问控制机制(DAC);

(3)细粒度,访问控制策略对主体和客体的粒度有明确的要求。

总体思路

本文采取基于角色的访问控制机制(RBAC)和LBAC机制访问相结合的方法,来实现一种面向数据资源的业务应用系统合规方案。其中,RBAC机制负责控制功能层面的权限,LBAC机制负责控制数据层面的安全,两者相结合来保障业务数据安全。

为方便描述,将业务应用系统简化为RBAC权限认证模块、LBAC控制模块、业务功能模块和数据存储模块4个部分(如图1所示),具体流程如下:

(1)用户通过客户端访问业务系统,通过RBAC模块进行功能层面认证、授权。

(2)业务功能模块接收到用户请求后调用强制访问控制模块进行数据权限校验。

(3)RBAC控制模块对业务请求进行解析获取主体用户信息及所请求的业务数据信息,并通过强制访问控制策略判定用户请求是否合法。如果不合法直接返回权限校验不通过的信息。

(4)RBAC控制模块判定数据权限通过后,业务功能模块调用数据存储模块接口获取数据,逻辑运算后返回业务结果。

图1 总体框架图

LBAC模块构建

1.构建数据安全标记

在构建安全标记时,可以依据等级保护对象的定级结果对业务应用系统的数据资源进行梳理(如下表所示),并将数据资源的分类(业务范围)、分级(业务信息安全保护等级)结果作为数据安全标记。

表1 数据资源梳理表

数据资源梳理完成后,将安全标记数据存储到数据库中的数据标签表中,该表用于存储数据资源的基本信息以及对应的数据安全标记。

2.构建用户安全标记

梳理业务应用系统的用户职责及工作流,按照日常业务所需为用户打上安全标记(如下表所示),并将用户标识与对应的用户安全标记数据存储在用户标签表中。其中,用户安全标记也包含业务范围和业务信息安全保护等级两个要素,其含义与数据安全标记保持一致。

表2 用户信息梳理表

3.构建访问策略

依据用户及数据资源的安全标记梳理结果初步构建用户安全标记与数据安全标记的映射关系,并将策略结果存储到数据库中访问控制策略表。以表2为例,业务员张三具有业务范围A的业务信息安全保护等级1~3级的数据访问权限,具有业务范围B的业务信息安全保护等级1~4级的数据访问权限。

4.实现访问控制机制

以J2EE框架的应用为例,为了最小化对业务逻辑的侵占,可以利用java注解和AOP的方式实现强制访问控制。首先,Controller层打上业务数据的注解,注解记录需要用到的数据库表名。其次,实现框架的AOP切面接口对Controller层的调用进行拦截,解析请求获取用户角色信息,同时利用反射机制获取表名信息。最后,通过关联查询数据库中的强制访问控制策略表,数据标签表和用户标签表来判断用户是否具备访问对应数据表的权限。

结束语

在前面描述的实现方案基础上,可以进一步优化实现动态强制访问控制。如,利用用户和实体行为分析系统(UEBA)对业务用户行为进行风险评估,依据评估结果及时动态调整主体用户的安全标记和访问控制策略;或接入数据防泄漏系统(DLP),参照DLP分析结果对数据安全标记动态调整以符合组织实际数据安全诉求;或接入环境感知系统,对业务用户使用的客户端环境进行全面检测评估,参照评估结果动态调整用户的访问控制策略。

(作者:北京工业大学 赵勇)

声明:本文来自公安部网络安全等级保护中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。