基于信息流的程序权限控制技术
2013-11-30曾庆凯
计算机工程与设计 2013年1期
杨 嘉,曾庆凯
(1.南京大学 计算机软件新技术国家重点实验室,江苏 南京210093;2.南京大学 计算机科学与技术系,江苏 南京210093)
0 引 言
2001年NSA发布了安全增强的Linux系统――SELinux[1]。在SELinux策略中起主导作用的是TE模型,即系统实体根据其安全特性被标记为相应的类型(type)。策略以类型为对象设定访问规则。但是由于SELinux的类型空间庞大,出现不安全访问授权的可能性很大。并且目前在Linux系统中有30-40个应用程序需要相应的访问权限来处理不同敏感等级的数据。直接信任这些程序可能造成安全隐患,尤其是在程序被攻破的情况下,攻击者有足够的权限造成机密数据泄露。相反的,直接移除相应的权限又会影响程序的可用性。
针对上述情况,本文提出了基于信息流分析的权限控制方法。本文将程序执行过程中是否已访问高敏感等级的数据作为当前运行时权限的一个决定因素。同时,针对访问控制只能在系统与程序的接口层实施系统资源管理的局限性,本文采用静态分析的方法,跟踪输入数据在程序内部的流动情况,一直到达数据的输出接口,由此定位到访问权限实际产生效用的程序点。通过插装代码标记的方式实现对程序权限的准确控制。
本文主要有以下几个方面的贡献:提出了一种基于策略信息流的主体安全状态划分方法,对主体权限的管理提供了更精确的控制;采用静态分析的方法,跟踪程序内部的信息流,确定了可能造成信息泄露的程序点,减少了状态切换的次数;……
登录APP查看全文
