现在,有关计算机网络安全,侵入等事件的报道和社会的关注明显增加。一方面,计算机普及率近年来大幅度提高,其中联入因特网的计算机数量也迅速增加,为计算机入侵等违法犯罪行为提供了群众基础和物质条件,另一方面,应该说,社会对于计算机安全的重要性和严肃性认识不够。从入侵的动机来看,包括对原顾主单位的怨恨,对网络安全技术的挑战,网络接入帐号,信用卡号等金钱利益,或者单纯的想利用攻击网络站点而出名,以及对网络的好奇心(这方面主要是孩子们的行为),以及政治目的等等,当然其它一些原因也都可能引起攻击者的蓄意攻击行为。但是从已见报道的计算机犯罪案件来看,大多数计算机网络犯罪者都表示原来不知道这样做是犯罪。多数系统管理人员和工程施工人员在安全问题上的意识淡漠,建设中或建设后在没有采取足够的安全防护措施的情况下,将主机连接到internet上,也为计算机犯罪打开了方便之门,使得一些青少年利用从网络上学来的简单入侵手段就能在网络上通行无阻,在满足自己好奇心的同时,触犯了国家法律。为此,加强计算机安全教育,包括提高各级网络管理人员对网络重要性的认识和安全措施的掌握水平,向社会宣传计算机网络入侵的严肃性,尤其是加强拥有internet访问能力的青少年的网络安全法律观念。
具体措施可以包括以公益广告的形式向社会宣传计算机网络安全的严肃性和法律含义,在各地电信部门和政府部门的主页上以醒目的方式告戒有入侵倾向的网络用户;各种isp在注册用户的时候,与用户签定安全协定,不满18周岁的青少年应该有监护人保证才能访问网络;网络管理员在发现有不明身份的用户时,应确定其身份,并对其发出警告,提前制止可能的网络犯罪;主要isp和网络经营单位应该有专门的网络安全管理人员对网络进行定期的安全检查,网络中配置相当的安全检测工具;等等。
从电信运营商和因特网络接入服务提供商的角度来讲,切实地加强网络的安全配置和管理,作到防患于未然,可以有效地减少计算机网络犯罪的频率和损失,同时安全方面的提高,也会增加用户对网络的信息,有利于电子商务等业务的推出和开展,增加业务收入。
本文在后面部分分别总结攻击计算机网络的主要手段,安装和配置网络的主要注意事项,以及网络被攻击程度的度量,发现遭受攻击后的处理,网络安全管理员的素质要求等问题。
1 攻击与攻击的信号
什么叫攻击?攻击的法律定义是指:攻击仅仅发生在入侵行为完全完成且入侵者已在目标网络内。但是更积极的观点是(尤其是对网络安全管理员来说):可能使一个网络受到破坏的所有行为都应称为攻击。即从一个入侵者开始在目标机上工作的那个时刻起,攻击就开始了。
通常,在正式攻击之前,攻击者先进行试探性攻击,目标是获取系统有用的信息,此时包括ping扫描,端口扫描,帐户扫描,dns转换,以及恶性的ip sniffer(通过技术手段非法获取ip packet,获得系统的重要信息,来实现对系统的攻击,后面还会详细讲到),特洛依木马程序等。这时的被攻击状态中的网络经常会表现出一些信号,特征,例如:
· 日志中有人企图利用老的sendmail就是比较明显的攻击的信息,即有人在端口25上发出了两三个命令,这些命令无疑是企图欺骗服务器将/etc/passwd文件的拷贝以邮件的形式发送给入侵者,另外show mount命令有可能是有人在收集计算机的信息。
· 大量的扫描应立即使root意识到安全攻击的出现。
· 某主机的一个服务端口上出现拥塞现象,此时应该检查绑定在该端口上的服务类型。淹没式和denial of service 式的攻击通常是欺骗攻击的先兆(或是一部分)。
· 等等。
良好周密的日志记录以及细致的分析经常是预测攻击,定位攻击,以及遭受攻击后追查攻击者的有力武器。察觉到网络处于被攻击状态后,网络安全管理员应该立刻按照操作规程进行记录,向主管领导汇报,相应的安全措施等处理。
2 攻击的主要手段
对计算机网络进行攻击的手段可以分为几个主要种类,它们的危害程度和检测防御办法也各不相同:
2.1 收集信息攻击:
经常使用的工具包括:NSS, Strobe,Netscan, SATAN(Security Aadministrator's Tool for Auditing Network),Jakal, IdentTCPscan, FTPScan等以及各种sniffer.广义上说,特洛依木马程序也是收集信息攻击的重要手段。收集信息攻击有时是其它攻击手段的前奏。对于简单的端口扫描,敏锐的安全管理员往往可以从异常的日志记录中发现攻击者的企图。但是对于隐秘的sniffer和trojan程序来说,检测就是件更高级和困难的任务了。
2.1.1 sniffer
它们可以截获口令等非常秘密的或专用的信息,甚至还可以用来攻击相邻的网络,因此,网络中sniffer的存在,会带来很大的威胁。这里不包括安全管理员安装用来监视入侵者的sniffer,它们本来是设计用来诊断网络的连接情况的.它可以是带有很强debug功能的普通的网络分析器,也可以是软件和硬件的联合形式。现在已有工作于各种平台上的sniffer,例如
· Gobbler(MS-DOS)
· ETHLOAD(MS-DOS)
· Netman(Unix)
· Esniff.c(SunOS)
· Sunsniff(SunOS)
· Linux-sniffer.c(Linux)
· NitWit.c(SunOS)
· etc.
检测sniffer的存在是个非常困难的任务,因为sniffer本身完全只是被动地接收数据,而不发送什么。并且上面所列的sniffer程序都可以在internet上下载到,其中有一些是以源码形式发布的(带有.c扩展名的)。
一般来讲,真正需要保密的只是一些关键数据,例如用户名和口令等。使用ip包一级的加密技术,可以使sniffer即使得到数据包,也很难得到真正的数据本身。这样的工具包括 secure shell(ssh),以及F-SSH, 尤其是后者针对一般利用tcp/ip进行通信的公共传输提供了非常强有力的,多级别的加密算法。ssh有免费版本和商业版本,可以工作在unix上,也可以工作在windows 3.1, windows 95, 和windows nt.
另外,采用网络分段技术,减少信任关系等手段可以将sniffer的危害控制在较小范围以内,也为发现sniffer的主人提供了方便.
2.1.2 Trojan
这是一种技术性攻击方式. RFC1244中给出了trojan程序的经典定义:特洛依木马程序是这样一种程序,它提供了一些有用的,或仅仅是有意思的功能。但是通常要做一些用户不希望的事,诸如在你不了解的情况下拷贝文件或窃取你的密码, 或直接将重要资料转送出去,或破坏系统等等. 特洛依程序带来一种很高级别的危险,因为它们很难被发现,在许多情况下,特洛依程序是在二进制代码中发现的,它们大多数无法直接阅读,并且特洛依程序可以作用在许许多多系统上,它的散播和病毒的散播非常相似。从internet上下载的软件,尤其是免费软件和共享软件,从匿名服务器或者usernet新闻组中获得的程序等等都是十分可疑的. 所以作为关键网络中的用户有义务明白自己的责任,自觉作到不轻易安装使用来路不清楚的软件.
检测一个特洛依程序,需要一些比较深入的有关操作系统的知识。可以通过检查文件的更改时间,文件长度,校验和等来检查文件是否进行过非预期的操作。另外,文件加密也是有效的检查特洛依程序的方法。可以使用的工具包括:
· trip wire 是一个广泛应用的系统完整性工具.系统通过读取配置文件得到环境变量.在这个文件中包含着所有的文件标志(filemarks),使用者可以详尽地规定应该对哪些文件作出哪些改变作出报告等.它们的数字签名保存在数据库中.数字签名可以使用的hash函数包括: MD5, MD4, CRC32, MD2, Snc frn, SHA等.
· TAMU程序包可以检查许多项目,包括由CERT通知中定义的项目,以及最近的入侵事件中发现的项目,所有被改动的系统二进制流,以及要求保密的那些关键路径.
· Hobgoblin
· ATP(The Anti-Tampering Program)
后面两种工具的使用没有前面两种那么普遍,但是它们都各有特点.
2.2 denial of service:
这是一类个人或多个人利用internet协议组的某些方面妨碍甚至关闭其它用户对系统和信息的合法访问的攻击. 其特点是以潮水般的连接申请使系统在应接不暇的状态中崩溃。对于大型网络而言,此类攻击只是有限的影响, 但是却可能导致较小网络退出服务, 遭到重创.
这是最不容易捕获的一种攻击,因为不留任何痕迹,安全管理人员不易确定攻击来源。由于这种攻击可以使整个系统瘫痪,并且容易实施,所以非常危险。但是从防守的角度来讲,这种攻击的防守也比较容易. 攻击者通过此类攻击不会破坏系统数据或获得未授权的权限, 只是捣乱和令人心烦而已. 例如使网络中某个用户的邮箱超出容限而不能正常使用等.
典型的攻击包括如E-mail炸弹, 邮件列表连接,
2.2.1 Email炸弹
它是一种简单有效的侵扰工具. 它反复传给目标接收者相同的信息, 用这些垃圾拥塞目标的个人邮箱. 可以使用的工具非常多, 例如bomb02.zip(mail bomber), 运行在windows平台上,使用非常简单. unix平台上发起email bomb攻击更为简单, 只需简单几行shell程序即可让目标邮箱内充满垃圾.
它的防御也比较简单. 一般邮件收发程序都提供过滤功能, 发现此类攻击后, 将源目标地址放入拒绝接收列表中即可.
2.2.2 邮件列表连接
它产生的效果同邮件炸弹基本相同. 将目标地址同时注册到几十个(甚至成百上千)个邮件列表中, 由于一般每个邮件列表每天会产生许多邮件, 可以想象总体效果是什么样子. 可以手工完成攻击, 也可以通过建立邮件列表数据库而自动生成. 对于邮件列表连接,尚没有快速的解决办法. 受害者需要把包含注销"unsubscribe"信息的邮件发往每个列表.