应用安全策略的可信实现与执行
1 引言
现代软件系统依靠安全策略来明确和严格执行特定于应用的安全目标。安全策略作为一组自动执行的规则,能够控制和限制对安全关键资源的访问。近二十年来,将安全策略直接集成到操作系统(如 Linux、Unix/BSD 和 Android)中已成为常见做法,这些操作系统级别的安全策略主要控制文件、进程或套接字等抽象对象。
然而,应用程序软件通常使用处于更高、特定于应用抽象级别的对象,需要具有特定于应用语义的安全策略。例如:
- 企业资源规划系统通常使用基于角色的访问控制(AC)策略,反映公司的组织结构。
- 数据库系统使用基于标签的 AC 策略来控制对关系和视图的访问。
- (社交)信息系统对用户数据使用基于关系的 AC 策略。
- 大数据和物联网平台依赖基于属性的 AC 策略。
这些策略规则的语义与操作系统级别的策略语义不同,且每个应用都有其独特性。当代操作系统对应用安全策略的支持不足,尽管一些应用 AC 框架(如 Casbin 和 Oso)有所改善,但它们缺乏架构支持,导致开发者需自行负责应用的安全架构及其实现,这往往会使应用逻辑与安全相关功能交织在一起,难以防止应用安全策略被未经授权的操作,还会导致应用可信计算基(TCB)的实现庞大且异构。
为解决这一问题,我们提出了一种替代方法:将安全相关功能与可能不可信的应用逻辑分离,通过隔离机制(如英特尔 SGX 提供的硬件保护内存区域)来精确界定应用 TCB 的功能边界。基于此方法,我们引入了 APPSPEAR——一个用于在应用级别可信执行特定于应用的安全策略的安全架构框架。该框架的不同实现方案能够平衡策略执行的严格性(有效性)以及隔离和通信的成本
超级会员免费看
订阅专栏 解锁全文
6486

被折叠的 条评论
为什么被折叠?



