异常文件访问自适应检测方法

文档序号:7590493阅读:226来源:国知局
专利名称:异常文件访问自适应检测方法
技术领域
本发明涉及计算机网络安全技术领域,特别涉及一种异常文件访问自适应检测方法。
背景技术
互联网的广泛使用,使联网计算机受到攻击的风险与日俱增,而实践已经证明诸如口令、防火墙以及信息加密等传统的防御性安全措施不足以应对这种日益严峻的安全新形势。实际中迫切需要像入侵检测技术那样能够动态监控联网计算机系统安全的保障措施,以便在发生攻击的时候进行快速响应,将可能造成的损失降至最小。因此,大量的入侵检测系统(IDS)被投入实际使用并成为大多数机构安全体系的必要组成部分。入侵检测技术主要分为误用检测和异常检测两类,误用检测是一种比较成熟的技术,目前投入实际使用的入侵检测系统绝大多数采用的都是误用检测技术,但误用检测基于已知特征检测攻击,无法有效检测层出不穷的新攻击。异常检测技术通过建立正常行为模型来检测异常,可以检测出新攻击,但是基于异常的入侵检测系统通常会产生大量的虚警,该类技术是当前入侵检测研究的热点。此外,当前误用检测系统中攻击特征库的建立以及异常检测系统中正常模型的训练都非常繁琐复杂,期间稍有不慎,就会导致检测系统无法有效工作。
研究实践表明,行为观测点的选取以及正常行为的建模方法是异常检测中的两个关键性问题。自1996年Forrest等人在国际电气电子工程师协会(IEEE)的安全与稳私年会上提出基于系统调用序列进行异常检测的方法以来,大量研究工作都集中在通过系统调用对计算机系统中关键进程进行监控的方法上面。但是以系统调用作为行为观测点,只能对少数进程进行监控,无法全面有效的监控系统中大量的其它行为。另外,在系统调用层次上进行的检测往往会对被监控系统的性能造成一定的影响。
文件访问作为绝大多数系统行为的有机组成部分,是进行异常检测的另一个很好的观测点。文件系统中存放了大量对系统安全至关重要的信息,如机密文件、系统的安全配置信息以及实施安全配置策略的各种安全工具,对文件访问进行监控可以直接有效的保护这些信息。而且,绝大部分对系统安全产生真正威胁的恶意行为都会一定程度的反映出文件访问的异常,因此可以通过对相关文件访问行为的分析将它们检测出来。此外,文件访问发生在相对的慢媒介之上,监控所带来的负荷,同实际的文件访问行为相比基本可以忽略。
但是由于实际系统中文件访问的复杂性和时变性,研究人员一直都没能提出一种可以全面有效的基于文件访问检测系统中非法行为的方法。2003年4月,哥伦比亚的研究小组在它们的技术报告中首次描述了一个基于Bayes模型检测文件访问中异常行为的系统FWRAP(File Wrapper Anomaly Detection System),但该系统检测准确性不高,内存开销庞大,特别是正常模型训练时仍然需要大量高质量的正常数据,因此该系统只能作为一个研究原型,不具备实用性。

发明内容
本发明的目的在于提供一种异常文件访问自适应检测方法,采用选择性自学习与自适应遗忘机制相结合,不需人工干预就可以安全可靠的自动建立正常模型准确描述变化的正常行为,大大简化了传统入侵检测方法的初始设置过程,可以高效准确的检测出计算机系统中包括未知攻击在内的大量恶意行为;并且显著提高了检测精度。
本发明的目的是通过如下技术方案实现的异常文件访问自适应检测方法包括实时记录计算机系统中产生的文件资源访问请求,其特征在于还包括以下步骤1)对记录的文件访问资源请求进行预处理,生成文件访问记录;2)用文件访问关系树记录正常的文件访问记录中描述的文件访问关系,并使用时间稀缺度t-Rarity,刻画文件访问关系树各部分随时间的变化情况;3)根据时间稀缺度t-Rarity,将文件访问关系树分为固定和变化的两部分;4)根据文件访问关系树,对文件访问记录进行分析当出现所描述的文件访问关系与文件访问关系树固定部分不相符的文件访问记录时,则标记为异常;相符合的文件访问记录则被标记为正常,同时文件访问关系树会记录下该记录所描述的文件访问关系;5)将异常的文件访问记录上报给安全管理员;6)周期性的更新文件访问关系树各部分的时间稀缺度t-Rarity值、其它相关参数并删除文件访问关系树中记录的过时文件访问关系。
本发明异常文件访问自适应检测方法有以下优点及效果1)安全可靠的自适应正常行为建模,妥善处理了正常文件访问中的时变性,建立的行为模型准确;2)异常行为检测准确,检测范围覆盖最严重的安全威胁;3)利用树型结构组织正常行为信息,检测效率高;4)文件访问行为简单直观,上报结果易于分析。


图1为实施本发明所需的异常文件访问监控系统ADSAFA的系统结构图;图2为文件访问关系树;图3为时间稀缺度t-Rarity增长曲线示例;图4为异常文件访问监控系统ADSAFA实施本发明的执行流程图;图5为本发明实施时,异常文件访问监控系统ADSAFA在实际系统中的部署;图6为时间稀缺度t-Rarity阈值的设置。
具体实施例方式
参见图1,本发明具体实施可基于一个异常文件访问监控系统ADSAFA(an AdaptiveDetection System for Abnormal File Accesses)进行。在ADSAFA中,文件访问传感器同时连接被监控系统、审计数据库及预处理模块,并通过预处理模块与检测模块连接,检测模块与正常文件访问模型互联,并通过报警模块与安全控制终端和警报数据库相连,安全控制终端和报警模块通过人工或自动响应机制与被监控系统连接,更新模块与正常文件访问模型相连接,对正常模型进行自动的或在安全控制终端命令下的强制修正。
所述的被监控系统为个人计算机、各种网络服务器(例如WWW、DNS、邮件、数据库服务器等)及各种专用计算机(例如巨型机、大型机、专用工作站等)等配备有文件系统的计算机。
ADSAFA中的文件访问传感器负责实时记录被监控系统中产生的文件资源访问请求,即对发生的每一个文件资源访问请求记录如下信息1)发生时间;
2)被访问文件的绝对路径名;3)描述访问权限的访问用户真实ID、有效ID、真实组ID及有效组ID;4)访问进程的进程ID及该进程对应的可执行文件的绝对路径名;5)访问操作的操作类型、操作参数及操作结果(此次文件访问是成功还是失败)。
预处理模块对记录的文件资源访问请求进行预处理,生成文件访问记录,具体包括1)只使用访问用户有效ID描述访问权限;2)只使用访问进程对应的可执行文件的绝对路径名描述访问进程;3)同时使用操作类型,操作参数及操作结果描述访问操作,得到一个扩充的访问操作属性;4)生成文件访问记录,文件访问记录是具有如下格式的五元组发生时间,被访问文件,访问用户,访问进程,访问操作其中被访问文件用被访问文件的绝对路径名描述;访问用户也即访问权限用访问用户有效ID描述;访问进程用访问进程对应的可执行文件的绝对路径名描述;访问操作用3)中得到的扩充访问操作属性描述。
文件访问记录中的访问操作属性是由文件访问传感器所记录的文件资源访问请求中包括的操作类型、操作参数及操作结果合并得到的。例如,一次文件访问的操作类型是“打开文件”,操作参数是“写模式”,操作结果是“成功”,经过数据转换后三者被合并成访问操作“成功的写模式文件打开”,该访问操作与“失败的写模式文件打开”以及“成功的读模式文件打开”是不同的访问操作。
参见图2,正常文件访问模型为文件访问关系树,记录了正常的文件访问记录中描述的文件访问关系。这里文件访问关系是指由文件访问记录所反映的被访文件,访问用户、访问进程以及访问操作的各种属性值之间的组合关系。文件访问关系树是依据如下的数据结构建立的1)基本记录结构为文件访问结构FAS(File Access Structure)和目录访问结构DAS(Directory Access Structure)。
文件访问结构FAS分三种类型用户文件访问结构u-FAS(FAS of users)
进程文件访问结构p-FAS(FAS of processes)操作文件访问结构o-FAS(FAS of operations)目录访问结构DAS分四种类型文件组成结构f-DAS(DAS of files)用户目录访问结构u-DAS(DAS of users)进程目录访问结构p-DAS(DAS of processes)操作目录访问结构o-DAS(DAS of operations)2)文件组成结构f-DAS是一些由被访文件或目录组成的集合,每一个f-DAS都对应于文件系统中的一个目录,记录了所有被访问到的直接下属于该目录的文件或子目录。根据f-DAS中的目录元素同其它f-DAS的对应关系,所有的f-DAS组成了一个树形或森林形结构,该结构被称为文件树,文件树是文件访问关系树的第一个层次。
3)文件树上的每一个文件或目录(f-DAS中的元素)都有一个用户文件访问结构u-FAS和进程文件访问结构p-FAS,用于分别记录访问该文件或目录的用户或进程以及一个操作文件访问结构O-FAS用于记录访问该文件或目录时所使用的访问操作。对于目录元素,还另有一个用户目录访问结构u-DAS、一个进程目录访问结构p-DAS,分别为访问该目录下文件或子目录的用户或进程的总的集合;以及一个操作目录访问结构o-DAS,为访问该目录下文件或子目录时所使用的访问操作的总的集合。这些u-FAS、p-FAS、o-FAS、u-DAS、p-DAS和o-DAS组成了关系树的第二个层次。
4)在第二个层次的FAS和DAS之下,还有组成文件访问关系树第三个层次的FAS和DAS在第二个层次u-FAS和p-FAS中的每一个用户或进程之下都有一个o-FAS用于记录所属用户或进程访问相关文件或目录时使用的操作;相关文件或目录为第二个层次的u-FAS和p-FAS所属文件或目录;在第二个层次o-FAS中的每一个访问操作之下都有一个u-FAS和一个p-FAS分别用于记录使用所属操作访问相关文件或目录的用户或进程。相关文件或目录为第二个层次的o-FAS所属文件或目录;在第二个层次u-DAS和p-DAS中的每一个用户或进程之下都有一个o-DAS用于记录所属用户或进程对相关目录下的文件或子目录进行访问时使用的所有操作;相关目录为第二个层次的u-DAS和p-DAS所属目录;在第二个层次o-DAS中的每一个访问操作都有一个u-DAS和一个p-DAS分别用于记录使用所属操作访问相关目录下文件或子目录的所有用户或进程。相关目录为第二个层次的o-DAS所属目录。
5)每一个FAS或DAS都有一个时间稀缺度t-Rarity属性及一个惩罚时间属性。t-Rarity用于描述该FAS或DAS随时间的变化情况;惩罚时间用以表示t-Rarity是否处于惩罚期及剩余惩罚时间的长短。
6)FAS或DAS中的每一个元素都有一个年龄属性,一个记忆时间属性以及一个最大记忆时间属性。
年龄属性记录了该元素在文件访问关系树中已经存在的时间;记忆时间属性描述了该元素在文件访问关系树中还会存在的时间;最大记忆时间属性限定了该元素的记忆时间属性所能取到的最大值。
文件访问关系树中的每个FAS或DAS的时间稀缺度t-Rarity属性值被用来描述该FAS或DAS的固定程度。在文件访问关系树记录正常文件访问记录所描述的文件访问关系的时候,可能会有新(原先不存在的)元素被加入到一些相关的FAS或DAS中,或者说一些FAS或DAS可能会被扩充。t-Rarity是一个基于时间的启发式因子,刻画了对应FAS或DAS扩充的频繁程度,更准确的说是基于时间尺度刻画了FAS或DAS扩充事件的稀缺度(Rarity inTime)。在本发明中,t-Rarity的计算包括以下两步1、惩罚时间的计算每次有新元素被加入到一个FAS或DAS中,该FAS或DAS的t-Rarity的增长进入惩罚期,惩罚期长短由惩罚时间描述,且有惩罚时间=t-Rarity*惩罚系数惩罚系数为根据实际情况设定的大于零常数,一般可取2.02、周期性的对时间稀缺度t-Rarity值进行更新每隔一定时间对t-Rarity值进行更新,更新时根据惩罚时间的属性值,如果该值大于0,则将惩罚时间减1,而t-Rarity的增长被惩罚,该属性值不变化;如果该值小于或等于0,则对FAS或DAS的t-Rarity属性值加1,并将惩罚时间设置为0;参见图3,当FAS或DAS刚创建的时候,其对应的t-Rarity属性值为0。一个频繁被扩充的FAS或DAS的t-Rarity经常处于惩罚期,始终比较小;而一个很少被扩充的FAS或DAS的t-Rarity值则会随时间逐渐增大。由于固定的FAS或DAS,一般不会在长时间内被频繁的扩充,因此可以根据一段时间后t-Rarity的大小,将固定的FAS或DAS同固定程度较低的FAS或DAS区分开来。
ADSAFA中预先设定一固定程度阈值,t-Rarity属性值大于该阈值的FAS或DAS,被认为是固定的FAS或DAS并组成了文件访问关系树的固定部分;文件访问关系树中其它的FAS或DAS被认为是不稳定的FAS或DAS,组成了文件访问关系树的变化部分。
检测模块根据文件访问关系树对文件访问记录进行分析,如果发现异常行为就会触发报警模块通过安全控制终端向安全管理员发出警告;如果未发现文件访问记录有异常,便在文件访问关系树中记录下该文件访问记录中描述的文件访问关系。
检测模块根据文件访问关系树对文件访问记录进行分析,包括以下步骤1)检查被访文件绝对路径上的各目录以及被访问文件自身是否被记录在文件访问关系树中与它们各自的父目录对应的f-DAS中;2)检查访问用户是否被记录在位于文件访问关系树第二个层次的相关u-FAS或u-DAS中。相关的u-FAS是指直接下属于被访文件的u-FAS;相关u-DAS是指直接下属于被访文件绝对路径上各目录的u-DAS;3)检查访问进程是否被记录在位于文件访问关系树第二个层次的相关p-FAS或p-DAS中。相关的p-FAS是指直接下属于被访文件的p-FAS;相关p-DAS是指直接下属于被访文件绝对路径上各目录的p-DAS;4)检查访问操作是否被记录在位于文件访问关系树第二个层次的相关o-FAS或o-DAS中。相关的o-FAS是指直接下属于被访文件的o-FAS;相关o-DAS是指直接下属于被访文件绝对路径上各目录的o-DAS;5)检查访问用户是否被记录在位于文件访问关系树第三个层次的相关u-FAS或u-DAS中。相关u-FAS指作为第4步中相关o-FAS中元素的本次访问操作下属的u-FAS;相关u-DAS指作为第4步中相关o-DAS中元素的本次访问操作下属的u-DAS;
6)检查访问进程是否被记录在位于文件访问关系树第三个层次的相关p-FAS或p-DAS中。相关p-FAS指作为第4步中相关o-FAS中元素的本次访问操作下属的p-FAS;相关p-DAS指作为第4步中相关o-DAS中元素的本次访问操作下属的p-DAS;7)检查访问操作是否被记录在位于文件访问关系树第三个层次的相关o-FAS或o-DAS中。相关o-FAS指作为第2步中相关u-FAS中元素的本次访问用户下属的o-FAS,或者作为第3步中相关p-FAS中元素的本次访问进程下属的o-FAS;相关o-DAS指作为第2步中相关u-DAS中元素的本次访问用户下属的o-DAS,或者作为第3步中相关p-DAS中元素本次访问进程下属的o-DAS。
上述步骤涉及的FAS或DAS被称为与本次文件访问记录相关的FAS或DAS。如果文件访问记录的属性值在相关的FAS或DAS中不存在,则称此文件访问记录同这些FAS或DAS不相符。当前文件访问记录的异常度定义为同其不相符的FAS或DAS的t-Rarity的最大值。如果文件访问记录的异常度大于固定程度阈值,即该记录同固定的FAS或DAS不相符,则该条文件访问记录被标记为异常。否则,则该条文件访问记录被标记为正常。
检测模块在文件访问关系树中记录下文件访问记录中描述的文件访问关系,包括以下步骤1)检查当前被访问文件绝对路径上的各目录及被访文件本身,是否分别存在于与它们各自的父目录对应的f-DAS中。如果已经存在,则激活对应f-DAS中已经存在的元素;如果不存在,则将该目录或文件加入对应的f-DAS中;当前被访文件指记录于该条文件访问记录中的被访文件属性值;2)检查当前访问用户,是否存在于相关u-FAS及相关u-DAS中。如果已经存在,则激活对应u-FAS或u-DAS中已经存在的元素;如果不存在,则将该访问用户加入对应的u-FAS或u-DAS中;当前访问用户指记录于该条文件访问记录中的访问用户属性值;3)检查当前访问进程,是否存在于相关p-FAS及相关p-DAS中。如果已经存在,则激活对应p-FAS或p-DAS中已经存在的元素;如果不存在,则将该访问进程加入对应的p-FAS或p-DAS中;当前访问进程指记录于该条文件访问记录中的访问进程的属性值;4)检查当前访问操作,是否存在于相关o-FAS及相关o-DAS中。如果已经存在,则激活对应o-FAS或o-DAS中已经存在的元素;如果不存在,则将该访问操作加入对应的o-FAS或o-DAS中;当前访问操作指记录于该条文件访问记录中的访问操作的属性值。
在上述步骤中,激活FAS或DAS中已经存在的元素是指将该元素的记忆时间属性值重新设定为该元素的最大记忆时间属性值。将新元素加入对应的FAS或DAS是指进行如下操作1)该元素加入对应FAS或DAS表示的集合中;2)新元素的相关属性值设置如下最大记忆时间=所属FAS或DAS的t-Rarity属性值*记忆强度系数+基本记忆时间;记忆时间=最大记忆时间年龄=0其中记忆强度系数、基本记忆时间为大于零常数,根据实际需要设定,记忆强度系数一般可取为2.0,基本记忆时间一般可取为24小时;3)被加入新元素的FAS或DAS的t-Rarity进入惩罚期并且重新设定该FAS或DAS的惩罚时间属性值惩罚时间=t-Rarity*惩罚系数更新模块负责周期性的更新文件访问关系树各部分的t-Rarity尺度值、其它相关参数及删除文件访问关系树中记录的过时文件访问关系,具体包括如下操作1)判断文件访问记录中的发生时间属性值与上次更新时间之差是否大于预先设定的更新周期,如果是则进行步骤2)、3)、4),并把上次更新时间设置为当前的发生时间属性值;如果否,则什么也不做;2)检查文件访问关系树中每个FAS或DAS的惩罚时间属性值,如果该值大于0,则将惩罚时间减1;如果该值小于或等于0,则对FAS或DAS的t-Rarity属性值加1,并将惩罚时间设置为0;3)对所有FAS或DAS中元素的年龄,记忆时间及最大记忆时间进行更新对年龄值加1;对记忆时间减1;最大记忆时间设定为MAX(年龄值,所属FAS或DAS的t-Rarity属性值)×记忆强度系数+基本记忆时间;
4)检查所有FAS或DAS中元素的记忆时间属性值,如果记忆时间小于0,则将该元素从其所属FAS或DAS中删除,并依据如下情况删除该元素下属的FAS或DASa)如果被删除元素位于文件访问关系树第三个层次的FAS或DAS中,则无下属FAS或DAS被删除;b)如果被删除元素位于文件访问关系树第二个层次的FAS或DAS中,则删除下属于该元素的文件访问关系树第三个层次中的FAS或DAS及其所属元素;c)如果被删除元素为文件,则删除下属于该文件的所有第二个层次的FAS及其所属元素;同时根据a),b)删除所有被删除元素的下属FAS;d)如果被删除元素为目录,则删除对应于该目录的f-DAS、下属于该目录的所有第二个层次的FAS和DAS及其这些FAS和DAS中包含的所属元素;同时根据a),b),c),d)删除所有被删除元素的下属FAS或DAS。
报警模块向安全管理员发出的警告中包括文件访问传感器所采集到的关于此次异常文件资源访问请求的所有信息文件访问发生时间,被访文件绝对路径名,访问用户的真实ID、有效ID、真实用户组ID、有效用户组ID,访问进程的进程ID、进程可执行文件的绝对路径名,操作类型,操作参数,操作结果;警告中还包括ADSAFA给出的此次文件访问的四个子异常度值被访文件异常度、访问用户异常度、访问进程异常度、访问操作异常度,它们分别为与此次文件访问相冲突的t-Rarity值最大的f-DAS,u-FAS(或u-DAS),p-FAS(或p-DAS),o-FAS(或o-DAS)的t-Rarity值(或者为0表示没有冲突的情况)。
安全控制终端将ADSAFA的报警结果呈现给管理员,并提供多种方式实现报警信息的查询与关联,使报警信息的分析非常容易。安全控制终端还使安全管理员可以对ADSAFA进行管理,通过人工的方式使文件访问关系树记录下误判的文件访问记录中描述的正常文件访问关系。
以下结合ADSAFA处理正常及异常文件访问事件的过程对本发明作进一步的详细说明。
2.1.1之前版本的OpenSSH存在一个严重的安全漏洞(http//www.securityfocus.com/bid/3614),OpenSSH通过login对用户进行认证时会使用用户自定义的环境变量。这样,攻击者通过将LD_PRELOAD环境变量设置为一个木马共享函数库,就可以将Login设置用户权限时使用的setuid函数重载,从而使以普通用户身份登录系统的攻击者能够拥有管理员的权限访问受害计算机。该攻击的步骤如下1).攻击者小李将一个木马共享函数库libroot.so安装到计算机系统A中/home/li目录下;2).攻击者小李在/home/li/.ssh/authorized_keys2中将LD_PRELOAD环境变量设为/home/li/libroot.so3).小李通过OpenSSH重新登录,由于/sbin/login根据用户自定义的环境变量LD_PRELOAD加载了库函数/home/li/libroot.so,login进程所使用的setuid函数被libroot.so中的setuid重载了4).身份验证成功后,/sbin/login给了小李一个具有root权限的shell(/bin/bash)。(正常情况下,/sbin/login运行/bin/bash时,访问用户有效ID应已经通过setuid函数设置为小李)表1是与以上各步对应的文件访问操作表1 OpenSSH攻击中的文件访问事件

虽然上述四步组成了整个攻击过程,但攻击第1步小李在自己的目录中创建文件和第4步/sbin/login以root身份运行一个shell,仅从文件访问操作自身来看并无任何异常,可以认为是正常是的文件访问请求。而与第2、3两步相关的文件访问操作则表现出比较明显的异常性普通使用者一般不会改动sshd的配置文件,/sbin/login也通常只在固定的库函数目录下加载函数库。下面以ADSAFA对第1步和第3步的文件访问事件的处理为例,对本发明处理正常和异常文件访问记录的过程作具体说明。
参见图4,文件访问传感器记录下的小李第1步操作时产生的文件资源访问请求如下发生时间2003.11.20 2:12:23,被访问文件的绝对路径名/home/li/libroot.so,访问用户真实ID、有效ID、真实组ID及有效组ID均为小李,访问进程的进程ID113,该进程对应的可执行文件的绝对路径名/bin/bash,操作类型打开、操作参数写模式,操作结果成功。
预处理模块生成文件访问记录2003.11.20 2:12:23,/home/li/libroot.so,小李,/bin/bash,成功的创建打开文件检测模块对此记录进行分析,发现其同文件访问关系树中下属于目录“/home/li”的f-DAS不相符,即文件libroot.so未被记录在“/home/li”对应的f-DAS中,显然文件访问关系树中也不会存在下属于“/home/li/libroot.so”的FAS。但由于用户通常都会在自己的目录下创建一些文件,/home/li目录对应的f-DAS的t-Rarity值不会太高,不妨设为100。而本次文件访问行为除了访问新的文件之外,其它方面反映出的文件访问关系均均为正常的访问关系,应早已被记录在文件访问关系树中,因此本次文件访问的异常度即为100。一般情况下,ADSAFA固定程度阈值被设为240,本次文件访问的异常度小于固定程度阈值,因此ADSAFA会认定本次文件访问为正常,并将本次文件访问记录所描述的文件访问关系记录于文件访问关系树中将“libroot.so”加入“/home/li”对应的f-DAS,并且将“小李”、“/bin/bash”、“成功的创建打开文件”分别加入为“libroot.so”新建的u-FAS、p-FAS和o-FAS中。同时,已经记录在与该文件访问相关DAS(如目录“/”,“/home”及“/home/li”下属的u-DAS,p-DAS及o-DAS)中的元素“小李”,“/bin/bash”及“成功的创建打开文件”会被激活。相关f-DAS中路径“/home/li/”上的目录“home”和“li”会被激活。
接下来ADSAFA中的更新模块会检查本次文件访问记录中的发生时间与上次更新时间之差是否超过了更新周期,如果是则更新文件访问关系树各部分的t-Rarity尺度值、其它相关参数及删除文件访问关系树中记录的过时文件访问关系,并将上次更新时间设置为本次文件访问记录中的发生时间;否则什么也不做,并结束本次文件访问记录的处理。
ADSAFA对攻击第3步涉及的文件资源访问请求的处理,同上述对第1步的相关处理类似。文件访问传感器采集到的与该次文件资源访问请求经预处理模块处理后得到如下记录2003.11.20 2:12:23,/home/li/libroot.so,Root,/sbin/login,成功的内存映射检测模块对该事件进行分析,由于通常情况下进程“/sbin/login”只会对“/usr/lib”目录下的文件进行“内存映射”操作,文件访问关系树中记录进程“/sbin/login”在“/home”目录下行为的任何o-FAS或o-DAS中都不会出现访问操作“成功的内存映射”,而且由于进程“/sbin/login”的正常运行模式规范,描述进程“/sbin/login”对目录“/home”及“/home/li”总体访问行为的两个o-DAS的t-Rarity值会很大,在这里我们可假设这两个值均为480。本次文件访问记录与这两个o-DAS不相符,其异常度至少为480,高于设定固定程度阈值240,因此ADSAFA会认定该次文件访问为异常,并触发报警模块产生报警。这样攻击最关键的第三步就会被ADSAFA成功检测出来。
以下是基于ADSAFA实施本发明的一些具体细节表2、表3、表4为本实施例所采用的具体实现技术及基本设定及参数设置。
表2文件访问数据的采集机制

表3 UNIX系统中重要的文件访问操作


表4 ADSAFA的基本参数设置

ADSAFA的实际部署参照图5,在分别以Linux、Solaris和Windows为操作系统的三台服务器上安装ADSAFA,对这些服务器中的文件访问行为进行安全监控,检测的结果上报给位于局域网内另一台服务器上的安全控制终端。
图5所示的安装于A、B、C三台服务器中的ADSAFA,除文件传感器因为会从操作系统中采集数据,需要针对具体的操作系统专门设计之外,其它部分在功能和结构上都是与操作系统无关的。表2是文件访问传感器在各种操作系统中采集文件访问数据所使用的机制。表3是ADSAFA在UNIX系统(包括Solaris和Linux)中所关注的重要文件访问操作。ADSAFA启动后,即进入检测模式,并同时根据从被监控系统中观察到的文件访问行为,安全可靠的自动建立正常行为模型以及不断的对模型进行实时更新,在此过程中基本上不需要人为的干涉。ADSAFA中基本参数的设置如表4所示。
t-Rarity阈值是ADSAFA实现自适应学习和异常检测的关键参数,文件访问关系树中t-Rarity值超过该阈值的FAS或DAS被认为是固定的,组成文件访问关系树的固定部分,并作为检测异常文件访问的依据,同时ADSAFA只允许那些非固定的FAS和DAS在线进行自适应学习(记录下新出现的文件访问关系)。在ADSAFA启动的初期,文件访问关系树中所有FAS或DAS的t-Rarity属性值都比较小,此时只能根据t-Rarity值增长的快慢,粗略区分固定与非固定的FAS或DAS,因此检测系统投入使用的头14天,t-Rarity阈值被设置成是随时间线性增长的,线性系数为0.7。之后,固定与非固定的FAS或DAS的t-Rarity值差别日趋显著,从第14天起t-Rarity阈值被设置为一个固定值240(单位小时)。t-Rarity阈值的选取如图6所示。
ADSAFA检测到异常行为,会通过网络实时上报给位于另一台服务器上的安全控制终端,以便安全管理员对可能发生的攻击及时作出处置。安全控制终端提供多种方式对这些报警信息进行关联,使报警信息的分析非常容易。
实施效果严重威胁系统安全的攻击行为一般都涉及异常的文件访问行为,如网络黑客利用安全漏洞获得本地系统直接访问权限,内部人员数据窃取和破坏行为等等。基于实际系统中采集得到的大量正常行为数据,以及系统选择的数十种典型的攻击行为,对本发明方法进行的测试结果表明本发明方法可以以0.005%的误报率检测出90%以上攻击。而对于同样的数据,哥伦比亚大学的FWRAP模型检测出90%的攻击时的误报率为7%。考虑到实际系统中每天的文件访问事件数一般在100万条左右,ADSAFA误报水平基本可以控制在每天100条以下,而FWRAP则每天会产生数万条误报。
此外实验还表明,在正常情况下,实现的ADSAFA原型系统对CPU的占用在2%左右,内存消耗在20-30MB之间,可以为大多数实际系统所接受。而FWRAP仅内存消耗就会超过400MB。
实施例中的Solaris系统(图6中的服务器A)是中国教育科研网(CERNET)西北网络中心的一台核心服务器,上面运行了许多重要的服务。ADSAFA在该服务器上完成了长达半年时间的试运行。在此期间,ADSAFA多次成功检测出WWW cgi扫描,邮件服务非法使用等异常行为,产生的虚警数量基本在每天100个左右(该服务器每天产生的正常文件访问事件数量超过200万个)。而且在试运行期间,ADSAFA没有对该服务器的正常运行造成任何不良影响。
权利要求
1.一种异常文件访问自适应检测方法,包括实时记录计算机系统中产生的文件资源访问请求,其特征在于还包括以下步骤1)对记录的文件访问资源请求进行预处理,生成文件访问记录;2)用文件访问关系树记录正常的文件访问记录中描述的文件访问关系,并使用时间稀缺度t-Rarity,刻画文件访问关系树各部分随时间的变化情况;3)根据时间稀缺度t-Rarity,将文件访问关系树分为固定和变化的两部分;4)根据文件访问关系树,对文件访问记录进行分析当出现所描述的文件访问关系与文件访问关系树固定部分不相符的文件访问记录时,则标记为异常;相符合的文件访问记录则被标记为正常,同时文件访问关系树会记录下该记录所描述的文件访问关系;5)将异常的文件访问记录上报给安全管理员;6)周期性的更新文件访问关系树各部分的时间稀缺度t-Rarity、相关参数并删除文件访问关系树中记录的过时文件访问关系。
2.根据权利要求1所述的异常文件访问自适应检测方法,其特征在于对记录的文件访问资源请求进行预处理是指1)只使用访问用户有效ID描述访问权限;2)只使用访问进程对应的可执行文件的绝对路径名描述访问进程;3)同时使用操作类型,操作参数及操作结果描述访问操作,得到一个扩充的访问操作属性;4)生成具有如下格式的文件访问记录发生时间,被访问文件,访问用户,访问进程,访问操作其中被访问文件用被访问文件的绝对路径名描述;访问用户也即访问权限用访问用户的有效ID描述;访问进程用访问进程对应的可执行文件的绝对路径名描述;访问操作用3)中的扩充访问操作属性描述。文件访问记录所反映的被访文件,访问用户、访问进程以及访问操作的各种属性值之间的组合关系被称为文件访问关系。
3.根据权利要求1所述的异常文件访问自适应检测方法,其特征在于文件访问关系树是指记录文件访问关系的下述数据结构,1)基本记录结构为文件访问结构FAS和目录访问结构DAS,其中文件访问结构FAS分三种类型用户正常访问结构u-FAS;进程正常访问结构p-FAS;操作正常访问结构o-FAS;目录访问结构DAS分四种类型文件组成结构f-DAS;用户目录访问结构u-DAS;进程目录访问结构p-DAS;操作目录访问结构o-DAS;2)f-DAS是一些由被访文件或目录组成的集合,每一个f-DAS都对应于文件系统中的一个目录,记录了所有被访问到的直接下属于该目录的文件或子目录,根据f-DAS中的目录元素同其它f-DAS的对应关系,所有的f-DAS组成了一个树形或森林形结构,该结构被称为文件树,文件树是文件访问关系树的第一个层次;3)文件树上的每一个文件或目录(f-DAS中的元素)都有一个u-FAS和p-FAS用于分别记录访问该文件或目录的用户或进程以及一个o-FAS用于记录访问该文件或目录时所使用的访问操作;对于目录元素,还另有一个u-DAS及一个p-DAS,分别为访问该目录下文件或子目录的用户或进程的总的集合;以及一个o-DAS,为访问该目录下文件或子目录时所使用的访问操作的总的集合;这些u-FAS、p-FAS、o-FAS、u-DAS、p-DAS和o-DAS组成了关系树的第二个层次;4)在第二个层次的FAS和DAS之下,还有组成文件访问关系树第三个层次的FAS和DAS在第二个层次u-FAS和p-FAS中的每一个用户或进程之下都有一个o-FAS用于记录所属用户或进程访问相关文件或目录时使用的操作;相关文件或目录为第二个层次的u-FAS和p-FAS所属文件或目录;在第二个层次o-FAS中的每一个访问操作之下都有一个u-FAS和一个p-FAS分别用于记录使用所属操作访问相关文件或目录的用户或进程。相关文件或目录为第二个层次的o-FAS所属文件或目录;在第二个层次u-DAS和p-DAS中的每一个用户或进程之下都有一个o-DAS用于记录所属用户或进程对相关目录下的文件或子目录进行访问时使用的所有操作;相关目录为第二个层次的u-DAS和p-DAS所属目录;在第二个层次o-DAS中的每一个访问操作都有一个u-DAS和一个p-DAS分别用于记录使用所属操作访问相关目录下文件或子目录的所有用户或进程。相关目录为第二个层次的o-DAS所属目录。5)每一个FAS或DAS都有一个t-Rarity属性及一个惩罚时间属性,t-Rarity用于描述该FAS或DAS随时间的变化情况;惩罚时间用以表示t-Rarity是否处于惩罚期及剩余惩罚时间的长短;6)FAS或DAS中的每一个元素都有一个年龄属性,一个记忆时间属性以及一个最大记忆时间属性年龄属性记录了该元素已经在文件访问关系树中存在的时间;记忆时间属性描述了该元素还能在文件访问关系树中存在时间;最大记忆时间属性限定了该元素的记忆时间属性所能取到的最大值。
4.根据权利要求1所述的异常文件访问自适应检测方法,其特征在于用文件访问关系树记录文件访问记录中描述的文件访问关系是指将一条文件访问记录中的信息记录到文件访问关系树中相关的文件访问结构FAS和目录访问结构DAS中。
5.根据权利要求4所述的异常文件访问自适应检测方法,其特征在于所述的文件访问关系树中与一条文件访问记录相关的文件访问结构FAS和目录访问结构DAS是指1)文件访问关系树第一个层次中对应于被访文件绝对路径上的各目录的f-DAS;2)文件访问关系树第二个层次中,直接下属于被访文件的u-FAS和直接下属于被访文件绝对路径上各目录的u-DAS;3)文件访问关系树第二个层次中直接下属于被访文件的p-FAS和直接下属于被访文件绝对路径上各目录的p-DAS;4)文件访问关系树第二个层次中直接下属于被访文件的o-FAS和直接下属于被访文件绝对路径上各目录的o-DAS;5)文件访问关系树第三个层次,4)所述o-FAS中当前访问操作下属的u-FAS;4)所述o-DAS中当前访问操作下属的u-DAS;当前访问操作指记录于该条文件访问记录中的访问操作属性值;6)文件访问关系树第三个层次,4)所述o-FAS中当前访问操作下属的p-FAS;4)所述o-DAS中当前访问操作下属的p-DAS;当前访问操作指记录于该条文件访问记录中的访问操作属性值;7)文件访问关系树第三个层次,2)所述u-FAS中当前访问用户下属的o-FAS;4)所述u-DAS中当前访问用户下属的o-DAS;当前访问用户指记录于该条文件访问记录中的访问用户属性值;8)文件访问关系树第三个层次,3)所述p-FAS中当前访问进程下属的o-FAS;4)所述p-DAS中当前访问进程下属的o-DAS;当前访问进程指记录于该条文件访问记录中的访问进程属性值。
6.根据权利要求4所述的异常文件访问自适应检测方法,其特征在于所述的将一条文件访问记录中的信息记录到文件访问关系树中相关的文件访问结构FAS和目录访问结构DAS中,包括以下步骤1)检查当前被访问文件绝对路径上的各目录及被访文件本身,是否分别存在于与它们各自的父目录对应的f-DAS中;如果已经存在,则激活对应f-DAS中已经存在的元素;如果不存在,则将该目录或文件加入对应的f-DAS中;当前被访文件指记录于该条文件访问记录中的被访文件属性值;2)检查当前访问用户,是否存在于权利要求5所描述的相关u-FAS及相关u-DAS中;如果已经存在,则激活对应u-FAS或u-DAS中已经存在的元素;如果不存在,则将该访问用户加入对应的u-FAS或u-DAS中;当前访问用户指记录于该条文件访问记录中的访问用户属性值;3)检查当前访问进程,是否存在于权利要求5所描述的相关p-FAS及相关p-DAS中;如果已经存在,则激活对应p-FAS或p-DAS中已经存在的元素;如果不存在,则将该访问进程加入对应的p-FAS或p-DAS中;当前访问进程指记录于该条文件访问记录中的访问进程的属性值;4)检查当前访问操作,是否存在于权利要求5所描述的相关o-FAS及相关o-DAS中。如果已经存在,则激活对应o-FAS或o-DAS中已经存在的元素;如果不存在,则将该访问操作加入对应的o-FAS或o-DAS中;当前访问操作指记录于该条文件访问记录中的访问操作的属性值。
7.根据权利要求6所述的异常文件访问自适应检测方法,其特征在于所述的激活文件访问结构FAS或目录访问结构DAS中已经存在的元素是指将该元素的记忆时间属性值重新设定为该元素的最大记忆时间属性值。
8.根据权利要求6所述的异常文件访问自适应检测方法,其特征在于所述的将新元素加入对应的FAS或DAS包括如下步骤1)将该元素加入对应FAS或DAS表示的集合中;2)新元素的相关属性值设置如下最大记忆时间=所属FAS或DAS的t-Rarity属性值*记忆强度系数+基本记忆时间;记忆时间=最大记忆时间年龄=0其中记忆强度系数、基本记忆时间为大于零常数,根据实际需要设定;3)被加入新元素的FAS或DAS的t-Rarity进入惩罚期并且重新设定该FAS或DAS的惩罚时间属性值惩罚时间=t-Rarity*惩罚系数其中惩罚系数为大于零常数,根据实际需要设定。
9.根据权利要求1所述的异常文件访问自适应检测方法,其特征在于使用时间稀缺度t-Rarity,刻画文件访问关系树各部分随时间的变化情况是指用文件访问关系树中各个FAS或DAS的t-Rarity属性值描述该FAS或DAS中的元素组成是否相对固定,对于一给定的t-Rarity阈值,大于或等于该阈值的t-Rarity属性值表示对应FAS或DAS中的元素组成固定;小于该阈值的t-Rarity属性值表示对应FAS或DAS中的元素组成不固定。
10.根据权利要求1所述的异常文件访问自适应检测方法,其特征在于根据时间稀缺度t-Rarity,文件访问关系树被分为固定和变化的两部分是指权利要求9中的依据一t-Rarity阈值,按t-Rarity属性值的大小将所有FAS或DAS分为固定和非固定的两部分,固定的FAS或DAS并组成了文件访问关系树的固定部分;非固定的FAS或DAS,组成了文件访问关系树的变化部分;并且,1)文件访问记录所描述的文件访问关系与文件访问关系树固定部分不相符是指该条文件访问记录与文件访问关系树中某些与该条文件访问记录相关的FAS或DAS不相符同时这些FAS或DAS中包括权利要求9中所描述的固定FAS或DAS;相关FAS或DAS指权利要求5描述的文件访问关系树中与该条文件访问记录相关的FAS或DAS;2)文件访问记录所描述的文件访问关系与文件访问关系树固定部分相符是指与该条文件访问记录不相符的相关FAS或DAS中不包括权利要求9中所描述的固定FAS或DAS;相关FAS或DAS指权利要求5描述的文件访问关系树中与该条文件访问记录相关的FAS或DAS;3)1)及2)中所述的文件访问记录与文件访问关系树中的相关FAS或DAS不相符,为如下一种或多种情况a)当前被访问文件绝对路径上的某个目录及被访文件本身,在它的父目录对应的f-DAS中不存在;当前被访文件指记录于该条文件访问记录中的被访文件属性值;b)权利要求5所描述的相关u-FAS或相关u-DAS中没有包括当前访问用户;当前访问用户指记录于该条文件访问记录中的访问用户属性值;c)权利要求5所描述的相关p-FAS及相关p-DAS中没有包括当前访问进程;当前访问进程指记录于该条文件访问记录中的访问进程的属性值;d)权利要求5所描述的相关o-FAS及相关o-DAS中没有包括当前访问操作;当前访问操作指记录于该条文件访问记录中的访问操作的属性值。
11.根据权利要求1所述的异常文件访问自适应检测方法,其特征在于周期性的更新文件访问关系树各部分的时间稀缺度t-Rarity、其它相关参数及删除文件访问关系树中记录的过时文件访问关系,包括如下步骤1)判断文件访问记录中的发生时间属性值与上次更新时间之差是否大于预先设定的更新周期,如果是则进行步骤2)、3)、4),并把上次更新时间设置为当前的发生时间属性值;如果否,则什么也不做;2)检查文件访问关系树中每个FAS或DAS的惩罚时间属性值,如果该值大于0,则将惩罚时间减1;如果该值小于或等于0,则对FAS或DAS的t-Rarity属性值加1,并将惩罚时间设置为0;3)对所有FAS或DAS中元素的年龄,记忆时间及最大记忆时间进行更新对年龄值加1;对记忆时间减1;最大记忆时间设定为年龄值MAX,所属FAS或DAS的t-Rarity属性值×记忆强度系数+基本记忆时间;4)检查所有FAS或DAS中元素的记忆时间属性值,如果记忆时间小于0,则将该元素从其所属FAS或DAS中删除,并依据如下情况删除该元素下属的FAS或DASa)如果被删除元素位于文件访问关系树第三个层次的FAS或DAS中,则无下属FAS或DAS被删除;b)如果被删除元素位于文件访问关系树第二个层次的FAS或DAS中,则删除下属于该元素的文件访问关系树第三个层次中的FAS或DAS及其所属元素;c)如果被删除元素为文件,则删除下属于该文件的所有第二个层次的FAS及其所属元素;同时根据a),b)删除所有被删除元素的下属FAS;d)如果被删除元素为目录,则删除对应于该目录的f-DAS、下属于该目录的所有第二个层次的FAS和DAS及其这些FAS和DAS中包含的元素;同时根据a),b),c),d)删除所有被删除元素的下属FAS或DAS。
全文摘要
本发明公开了一种异常文件访问自适应检测方法,包括以下步骤1)实时记录计算机系统中产生的文件资源访问请求;2)对记录的文件访问资源请求进行预处理;3)用文件访问关系树记录正常的文件访问记录中描述的文件访问关系;4)根据时间稀缺度t-Rarity,将文件访问关系树分为固定和变化的两部分;5)对文件访问记录进行分析,并选择性学入正常的文件访问行为;5)将异常的文件访问记录上报给安全管理员;6)周期性的更新文件访问关系树并删除文件访问关系树中记录的过时文件访问关系。该方法采用选择性自学习与自适应遗忘机制相结合,使其不需人工干预就可以安全可靠的自动建立正常行为模型,同时自适应机制显著提高了系统的检测精度,可以准确的检测出包括未知攻击在内的大量恶意行为。
文档编号H04L12/22GK1627699SQ20041002626
公开日2005年6月15日 申请日期2004年6月24日 优先权日2004年6月24日
发明者管晓宏, 蔡忠闽, 孙国基, 彭勤科 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1