保证信息系统安全的主要问题是建立安全机制,迄今为止已发展了许多安全机制,但安全问题仍然备受怀疑和关注。
早期中大型的计算机系统中都收集审计信息来建立跟踪文件,这些审计跟踪的目的多是为了性能测试或计费,因此对攻击检测提供的有用信息比较少;此外,最主要的困难在于由于审计信息粒度的安排,审计信息粒度较细时,数据过于庞大和细节化,而由于审计跟踪机制所提供的信息的数据量过于巨大,将有用的信息源没在其中;因此,对人工检查由于不可行而毫无意义。
对于攻击企图/成功攻击,被动审计的检出程度是不能保证的。通用的审计跟踪能提供用于攻击检测的重要信息,例如什么人运行了什么程序,何时访问或修改过那些文件,使用过内存和磁盘空间的数量等等;但也可能漏掉部门重要的攻击检测的相关信息。为了使通用的审计跟踪能用于攻击检测等安全目的,必须配备自动工具对审计数据进行分析,以期尽早发现那些可疑事件或行为的线索,
给出报警或对抗措施。
(一)基于审计信息的攻击检测技术
1、检测技术分类
为了从大量的、有时是冗余的审计跟踪数据中提取出对安全功能有用的信息,基于计算机系统审计跟踪信息设计和实现的系统安全自动分析或检测工具是很必要的,可以用以从中筛选出涉及安全的信息。其思路与流行的数据挖掘(Data Mining)技术是极其类似的。
基于审计的自动分析检测工具可以是脱机的,指分析工具非实时地对审计跟踪文件提供的信息进行处理,从而得到计算机系统是否受到过攻击的结论,并且提供尽可能多的攻击者的信息;此外,也可以是联机的,指分析工具实时地对审计跟踪文件提供的信息进行同步处理,当有可疑的攻击行为时,系统提供实时的警报,在攻击发生时就能提供攻击者的有关信息,其中可以包括攻击企图指向的
信息。
2、攻击分类
在安全系统中,一般至少应当考虑如下三类安全威胁:外部攻击、内部攻击和授权滥用。攻击者来自该计算机系统的外部时称作外部攻击;当攻击者就是那些有权使用计算机,但无权访问某些特定的数据、程序或资源的人意图越权使用系统资源时视为内部攻击,包括假冒者(即那些使用其他合法用户的身份和口令的人)秘密使用者(即那些有意逃避审计机制和存取控制的人);特权滥用者也
是计算机系统资源的合法用户,表现为有意或无意地?挠盟?堑奶厝ā?通过审计试图登录的失败记录可以发现外部攻击者的攻击企图;通过观察试图连接特定文件、程序和其他资源的失败记录可以发现内部攻击者的攻击企图,如可通过为每个用户单独建立的行为模型和特定的行为的比较来检测发现假冒者;但要通过审计信息来发现那些授权滥用者往往是很困难的。
基于审计信息的攻击检测特别难于防范的攻击是具备较高优先特权的内部人员的攻击;攻击者可通过使用某些系统特权或调用比审计本身更低级的操作来逃避审计。对于那些具备系统特权的用户,需要审查所有关闭或暂停审计功能的操作,通过审查被审计的特殊用户、或者其他的审计参数来发现。审查更低级的功能,如审查系统服务或核心系统调用通常比较困难,通用的方法很难奏效,需要
专用的工具和操作才能实现。总之,为了防范隐秘的内部攻击需要在技术手段而外确保管理手段的行之有效,技术上则需要监视系统范围内的某些特定的指标(如CPU、内存和磁盘的活动),并与通常情况下它们的历史记录进行比较,以期发现之。
3、攻击检测方法
(1)检测隐藏的非法行为
基于审计信息的脱机攻击检测工作以及自动分析工具可以向系统安全管理员报告此前一天计算机系统活动的评估报告。
对攻击的实时检测系统的工作原理是基于对用户历史行为的建模以及在早期的证据或模型的基础。审计系统实时地检测用户对系统的使用情况,根据系统内部保持的用户行为的概率统计模型进行监测,当发现有可疑的用户行为发生时,保持跟踪并监测、记录该用户的行为。SRI(Stanford RessearchInstitute)研制开发的IDES(Intrusion-Detection Exper t System)是一个典型的实时检测系统。IDES 系统能根据用户以前的历史行为决定用户当前的行为是否合法。系统根据用户的历史行为,生成每个用户的历史行为记录库。IDES更有效的功能是能够自适应地学习被检测系统中每个用户的行为习惯,当某个用户改变他的行为习
惯时,这种异常就会被检测出来。目前IDES中已经实现的监测基于以下两个方面:
一般项目:例如CPU的使用时间:I/O的使用通道和频率,常用目录的建立与删除,文件的读写、修改、删除,以及来自局域网的行为;
特定项目:包括习惯使用的编辑器和编译器、最常用的系统调用、用户ID的存取、文件和目录的使用。
IDES除了能够实时地监测用户的异常行为。还具备处理自适应的用户参数的能力。在类似 IDES这样的攻击检测系统中,用户行为的各个方面都可以用来作为区分行为正常或不正常的表征。例如,某个用户通常是在正常的上班时间使用系统,则偶然的加班使用系统会被IDES 报警。根据这个逻辑,系统能够判断使用行
为的合法或可疑。显然这种逻辑有“肃反扩大化/缩小化”的问题。当合法的用户滥用他们的权利时,IDES就无效了。这种办法同样适用于检测程序的行为以及对数据资源(如文件或数据库)的存取行为。
(2)基于神经网络的攻击检测技术
如上所述,IDES(Intrusion Detection Expert System)类的基于审计统计数据的攻击检测系统,具有一些天生的弱点,因为用户的行为可以是非常复杂的,所以想要准确匹配一个用户的历史行为和当前的行为相当困难。错发的警报往往来自对审计数据的统计算法所基于的不准确或不贴切的假设。作为改进的策略
之一,S RI(Stanford Research Institute)的研究小组利用和发展神经网络技术来进行攻击检测。神经网络可能用于解决传统的统计分析技术所面临的以下几个问题:
①难于建立确切的统计分布:统计方法基本上是依赖于用户行为的主观假设,如偏差高斯分布;错发警报常由这种假设所导致。
②难于实现方法的普适性:
适用于某类用户行为的检测措施一般无法适用于另一类用户。
③算法实现比较昂贵:由于上面一条原因,即基于统计的算法对不同类型的用户行为不具有自适应
性,因此算法比较复杂而且庞大,导致算法实现上的昂贵。而神经网络技术不存在这个问题,实现的代价较校④系统臃肿难于剪裁:由于采用统计方法检测具有大量用户的计算机系统,将不得不保留大量的用户行为信息,导致系统的臃肿和难于剪裁。而基于神经网络的技术能够回避这一缺点,根据实时检测到的信息有效地加以处理作出攻击可能性的判断。目前,神经网络技术提出了对基于传统统计技术的攻击检测方法的改进方向,但尚不十分成熟,所以传统的统计方法仍将继续发挥作用,也仍然能为发现用户的异常行为提供相当有参考价值的信息。
(3)基于专家系统的攻击检测技术
进行安全检测工作自动化的另外一个值得重视的研究方向就是基于专家系统的攻击检测技术,即根据安全专家对可疑行为的分析经验来形成一套推理规则,然后再在此基础之上构成相应的专家系统。由此专家系统自动进行对所涉及的攻击操作的分析工作。
所谓专家系统是基于一套由专家经验事先定义的规则的推理系统。例如,在数分钟之内某个用户连续进行登录,且失败超过三次就可以被认为是一种攻击行为。类似的规则在统计系统似乎也有,同时应当说明的是基于规则的专家系统或推进系统也有其局限性,因为作为这类系统的基础的推理规则一般都是根据已知的安全漏洞进行安排和策划的,而对系统的最危险的威胁则主要是来自未知的安
全漏洞。实现一个基于规则的专家系统是一个知识工程问题,而且其功能应当能够随着经验的积累而利用其自学习能力进行规则的扩充和修正。当然这样的能力需要在专家的指导和参与下才能实现,否则可能同样会导致较多的错报现象。一方面,推进机制使得系统面对一些新的行为现象时可能具备一定的应对能力(即有可能会发现一些新的安全漏洞);另一方面,攻击行为也可能不会触发任何一
个规则,从而不被检测到。专家系统对历史数据的依赖性总的来说比基于统计的技术的审计系统较少,因此系统的适应性比较强,可以较灵活地适应广谱的安全策略和检测需求。但是迄今为止推理系统和谓词演算的可计算问题距离成熟解决都还有一定的距离。
(4)基于模型推理的攻击检测技术
攻击者在攻击一个系统时往往采用一定的行为程序,如猜测口令的程序,这种行为程序构成了某种具有一定行为特征的模型,根据这种模型所代表的攻击意图的行为特征,可以实时地检测出恶意的攻击企图。虽然攻击者并不一定都是恶意的。用基于模型的推理方法人们能够为某些行为建立特定的模型,从而能够监视具有特定行为特征的某些活动。根据假设的攻击脚本,这种系统就能检测出非
法的用户行为。一般为了准确判断,要为不同的攻击者和不同的系统建立特定的攻击脚本。
当有证据表明某种特定的攻击模型发生时,系统应当收集其他证据来证实或者否定攻击的真实,既要不能漏报攻击,对信息系统造成实际的损害,又要尽可能的避免错报。
当然,上述的几种方法都不能彻底地解决攻击检测问题,所以最好是综合地利用各种手段强化计算机信息系统的安全程序以增加攻击成功的难度,同时根据系统本身特点辅助以较适合的攻击检测手段。
4、其它相关问题