*
*岁月*
如何防止黑客侵害网络
保证信息系统安全的主要问题是建立安全机制,迄今为止已发展了许多安全机制
,但安全问题仍然备受怀疑和关注。
早期中大型的计算机系统中都收集审计信息来建立跟踪文件,这些审计跟踪
的目的多是为了性能测试或计费,因此对攻击检测提供的有用信息比较少;此外
,最主要的困难在于由于审计信息粒度的安排,审计信息粒度较细时,数据过于
庞大和细节化,而由于审计跟踪机制所提供的信息的数据量过于巨大,将有用的
信息源没在其中;因此,对人工检查由于不可行而毫无意义。
对于攻击企图/成功攻击,被动审计的检出程度是不能保证的。通用的审计
跟踪能提供用于攻击检测的重要信息,例如什么人运行了什么程序,何时访问或
修改过那些文件,使用过内存和磁盘空间的数量等等;但也可能漏掉部门重要的
攻击检测的相关信息。为了使通用的审计跟踪能用于攻击检测等安全目的,必须
配备自动工具对审计数据进行分析,以期尽早发现那些可疑事件或行为的线索,
给出报警或对抗措施。
(一)基于审计信息的攻击检测技术
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、其它相关问题
为了防止过多的不相干信息的干扰,用于安全目的的攻击检测系统在审计系
统之外还要配备适合系统安全策略的信息采集器或过滤器。同时,除了依靠来自
审计子系统的信息,还应当充分利用来自其它信息源的信息。在某些系统内可以
在不同的层次进行审计跟踪。如有些系统的安全机制中采用三级审计跟踪。包括
审计操作系统核心调用行为的、审计用户和操作系统界面级行为的、和审计应用
程序内部行为的。
另一个重要问题是决定运行攻击检测系统的运行场所。为了提高攻击检测系
统的运行效率,可以安排在与被监视系统独立的计算机上执行审计跟踪分析和攻
击性检测,这样作既有效率方面的优点,也有安全方面的优点。因为监视系统的
响应时间对被监测的系统的运行完全没有负面影响,也不会因为其它安全有关的
因素而受到影响。
总之,为了有效地利用审计系统提供的信息,通过攻击检测措施防范
攻击威胁,计算机安全系统应当根据系统的具体条件选择适用的主要攻击
检测方法并且有机地融合其它可选用的攻击检测方法。同时应当清醒地认
识到,任何一种攻击检测措施都不能视之为一劳永逸的,必须配备有效的
管理和组织措施。
(二)攻击检测系统的测试
为了恰当地对市场上的攻击检测系统产品进行公正有效的评估和测试,攻击
检测系统的测试工作是很重要的。对于用户而言,第三方的测试报告在采购上很
有指导意义。我国已经有些单位对此十分重视,作了很多开创性的工作,也已经
取得了不小的成绩。美国IDG InfoWorld测试中心小组开发了一种可以视之为Ben
chM ark类型的测试基准———IWSS16。该小组收集了若干种典型且可以公开得
到的攻击方法,对其进行组合,形成IWSS16。
岁月摘自网易计算机安全论坛
保证信息系统安全的主要问题是建立安全机制,迄今为止已发展了许多安全机制
,但安全问题仍然备受怀疑和关注。
早期中大型的计算机系统中都收集审计信息来建立跟踪文件,这些审计跟踪
的目的多是为了性能测试或计费,因此对攻击检测提供的有用信息比较少;此外
,最主要的困难在于由于审计信息粒度的安排,审计信息粒度较细时,数据过于
庞大和细节化,而由于审计跟踪机制所提供的信息的数据量过于巨大,将有用的
信息源没在其中;因此,对人工检查由于不可行而毫无意义。
对于攻击企图/成功攻击,被动审计的检出程度是不能保证的。通用的审计
跟踪能提供用于攻击检测的重要信息,例如什么人运行了什么程序,何时访问或
修改过那些文件,使用过内存和磁盘空间的数量等等;但也可能漏掉部门重要的
攻击检测的相关信息。为了使通用的审计跟踪能用于攻击检测等安全目的,必须
配备自动工具对审计数据进行分析,以期尽早发现那些可疑事件或行为的线索,
给出报警或对抗措施。
(一)基于审计信息的攻击检测技术
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、其它相关问题
为了防止过多的不相干信息的干扰,用于安全目的的攻击检测系统在审计系
统之外还要配备适合系统安全策略的信息采集器或过滤器。同时,除了依靠来自
审计子系统的信息,还应当充分利用来自其它信息源的信息。在某些系统内可以
在不同的层次进行审计跟踪。如有些系统的安全机制中采用三级审计跟踪。包括
审计操作系统核心调用行为的、审计用户和操作系统界面级行为的、和审计应用
程序内部行为的。
另一个重要问题是决定运行攻击检测系统的运行场所。为了提高攻击检测系
统的运行效率,可以安排在与被监视系统独立的计算机上执行审计跟踪分析和攻
击性检测,这样作既有效率方面的优点,也有安全方面的优点。因为监视系统的
响应时间对被监测的系统的运行完全没有负面影响,也不会因为其它安全有关的
因素而受到影响。
总之,为了有效地利用审计系统提供的信息,通过攻击检测措施防范
攻击威胁,计算机安全系统应当根据系统的具体条件选择适用的主要攻击
检测方法并且有机地融合其它可选用的攻击检测方法。同时应当清醒地认
识到,任何一种攻击检测措施都不能视之为一劳永逸的,必须配备有效的
管理和组织措施。
(二)攻击检测系统的测试
为了恰当地对市场上的攻击检测系统产品进行公正有效的评估和测试,攻击
检测系统的测试工作是很重要的。对于用户而言,第三方的测试报告在采购上很
有指导意义。我国已经有些单位对此十分重视,作了很多开创性的工作,也已经
取得了不小的成绩。美国IDG InfoWorld测试中心小组开发了一种可以视之为Ben
chM ark类型的测试基准———IWSS16。该小组收集了若干种典型且可以公开得
到的攻击方法,对其进行组合,形成IWSS16。
岁月摘自网易计算机安全论坛