网络安全问题是大家关注的大事情!了解一点网络的攻击与反攻击技术有助于慧眼识“黑客”。攻击网络的一方无非想尽办法蒙骗网络服务器、开辟数据通道、获得相关数据与资料,最后毁灭入侵痕迹。作为网站的管理者,则千方百计地堵住后门、关闭非正常数据通道。同时监控非正常数据的流量和路径,跟踪IP和接入(攻击)端口,找到入侵者的下落并向有关监察部门报告。
本文对一些初级黑客的攻击技法进行剖析,旨在提醒网络管理人员和广大网友们注意,对于网络(包括个人计算机)的安全有一个正确的认识。保卫好自己的数据和资料,及时发现自己计算机的弱点和漏洞,进行修补和防卫。
★“瞒天过海法”———驱动攻击法
这是一种非常普遍的攻击方法。当有些表面看来无害的数据被邮寄或复制到Internet主机上并被执行发起攻击时,就会发生数据驱动攻击。例如,有一种数据驱动的攻击可以使主机修改与安全有关的文件,从而使入侵者下一次更容易入侵该系统。BO和WEBKILLERV1.5就是其中的典型代表,控制端和客户程序分开,一旦客户程序被激活,首先进行更名和隐藏工作,接着就将你的资料秘密发送出去。
防卫的方法是:对于不明来源的数据要非常小心,首先进行杀毒或者程序编码辨证。最近有的MAILLIST中夹带后门程序,所以对于自己不知道来源的电子邮件,如果体积超过30K最好马上DEL!
★“趁火打劫”攻击法
通常在UNIX系统中,可执行文件的目录,如/bin/who,允许所有的用户进行读访问。这恰恰违背了″最少特权″的原则。有些用户可以从可执行文件中得到其版本号,从而知道了它具有什么样的漏洞。
作为一种最基本的防卫措施———禁止对可执行文件的访问,虽然不能防止黑客对系统的攻击,但至少可以使这种攻击变得更困难,需要进行长时间的通道扫描和数据确认。
网络管理员应该注意,系统中的大部分弱点是由配置文件、访问控制文件和缺省初始化文件产生的!最著名的一个例子是:用来安装SunOSVersion4的软件,它创建了一个/rhosts文件,这个文件竟然允许Internet上的任何人,从任何地方取得对该主机的超级用户特权。软件的设计者最初安排这个文件的设置是为了“从网上方便地进行安装,而不需超级用户的允许和检查”。“智者千虑,必有一失”,操作系统设计的漏洞为黑客开启了后门,最近的针对WINDOWS98/WINDOWSNT的“新不间断泪滴”攻击方法就是很好的实例。
对付这样的攻击,一个最有效的防卫方法是:勤升级你的系统,勤打补丁文件!虽然新版本的软件还是有问题,但是老版本中已经发现并被证实的缺陷都已经修补好。从笔者掌握的资料来看,有百分之八十入侵成功的例子都发生在已经被公布缺陷的系统软件中。否则,为了节省升级的费用,反而造成更大损失的例子我们已经看得太多了!
★“无中生有”信息攻击法
攻击者通过发送伪造的路由信息,无中生有地编制信源主机和目标主机的虚假路径,从而使流向目标主机的数据包均经过攻击者的主机,给攻击者提供敏感的信息和有用的密码。
如果你的网络发生了这样的情况,建议从“内部”查找原因。因为知道屏蔽IP地址和该系统路由器情况的人员应该列入重点怀疑对象。
★“暗渡陈仓”———利用信息协议的弱点攻击法
在一些网络协议中,IP源路径选项允许IP数据报告自己选择一条通往目的主机的路径(这是一个非常不好,但是又无可奈何的技术手段,多路径正是网络连接的精髓部分!)。攻击者试图与防火墙后面的一个不可到达的主机A连接,只需在送出的请求报文中设置IP源路径选项,使报文有一个目的地址指向防火墙,而最终地址是主机A。当报文到达防火墙时被允许通过,因为它指向防火墙而不是主机A。防火墙的IP层处理该报文的源路径域并被发送到内部网上,报文就这样到达了不可到达的主机A。
对于这种攻击,笔者还没有找到有效的主动防卫方法。一个被动的检查方法是,经常查看主机A的访问记录,发现伪装的IP地址或者不明来源的指令,以及特殊时段的访问记录,你的网络就可能已经中招了!最好更换一个防火墙,同时加强IP地址的管理工作。
★“笑里藏刀”———伪造登录界面的攻击法
许多网络软件缺省的登录界面(shellscripts)、配置文件和客户文件是一个容易被忽视的问题区域。它们提供了一个简单的方法来配置程序的执行环境。但是这有时会引起“特洛伊木马”的攻击:在被攻击主机上启动一个可执行程序,该程序显示一个伪造的登录界面。当用户在这个伪装的界面上输入登录信息(用户名、密码等)后,该程序将用户输入的信息传送到攻击者主机,然后关闭界面,给出提示信息:“系统故障”,要求用户重新登录。此后,才会出现真正的登录界面。在我们能够得到新一代更加完善的操作系统版本之前,类似的攻击仍会发生。
防火墙的一个重要作用就是防止非法用户登录到受保护网的主机上。目前在允许TELNET的情况下,还没有一个完全有效的阻止攻击的办法,只能期待技术的发展。
★“顺手牵羊”———系统管理员失误攻击法
许多网管都知道一句话:“网络安全的重要因素之一是人。”人为的失误,如WWW服务器系统的配置差错,扩大普通用户使用权限,管理口令设置不对而且长时间不进行更换……这样就给黑客造成了可趁之机。黑客常利用系统管理员的失误,收集攻击信息。如用finger、netstat、arp、w、who、ps、ls、mail、grep命令和SATAN软件。
防卫的方法是:加强工作人员的管理,提高工作责任心!
下面是一些特殊的比较“COOL”的攻击方法。
★“借尸还魂”——重放攻击法
收集特定的IP包,篡改其数据,然后再一一重新发送,欺骗接收的主机。
这种情况一般是内部人员所为!因为在现在的条件下,拦截数据还是一件非常困难的事情,除非是知道攻击对象的IP地址和路由路径。
★“抛砖引玉”———源路径选项的弱点攻击法
信源主机可以使用IP源路径选项,强制报文通过一个特定的路径到达目的主机。这样的报文可以用来攻陷防火墙和欺骗主机。一个外部攻击者可以传送一个具有内部主机地址的源路径报文。服务器会处理这个报文并对攻击者发回答报文。
对付这种攻击最好的办法是配置好路由器,使它抛弃那些由外部网进来的却声称是内部主机的报文。
★“混水摸鱼”法
将以太网接口置为乱模式(promiscuous),截获局部范围的所有包,为我所用。
上面所介绍的都是“真正的”黑客所不齿的方法。下面是标准的“骨灰级”黑客的作业流程,希望对于我们的网络管理员有一些帮助:
★“远交近攻”法
许多Internet上的站点使用UNIX操作系统。黑客们设法先登录到一台UNIX的主机上,通过操作系统的漏洞来取得系统特权,然后以此为据点访问其余主机,被称为“跳跃”(Island-hopping)。这是现在非常流行的攻击法。
黑客们在达到目的主机之前往往会这样跳几次。例如一个在美国的黑客在进入美联邦调查局的网络之前,可能先登录到亚洲的一台主机上,从那里登录到加拿大的一台主机,然后再跳到欧洲,最后从法国的一台主机向联邦调查局发起攻击。被攻击网络即使有所觉察,也很难顺藤摸瓜地找到他。只要能够登录到UNIX系统上,就能相对容易成为超级用户,这一点同时成为黑客和安全专家们的关注点。解决UNIX系统的缺陷是问题的关键所在。
★窃取TCP连接法
互连协议的产生本来就是为了更方便信息的交流,因此设计者对安全方面很少甚至不去考虑。因此,安全的协议分析成为攻击最厉害的一招。
几乎所有UNIX实现的协议族中,都存在着一个广为人知的漏洞,这个漏洞使得窃取TCP连接成为可能。当TCP连接正在建立时,服务器用一个含有初始序列号的回答报文来确认用户请求。这个序列号无特殊要求,只要是唯一的就可以了。客户端收到回答后,再对其确认一次,连接便建立了。
TCP协议规范要求每秒更换序列号25万次。但大多数的UNIX的实际更换频率远小于此,而且下一个更换的数字往往是预知的。正是这种可预知服务器初始序列号的能力,使得攻击得以实现。
唯一可以防治这种攻击的方法是使初始序列号的产生更具有随机性。最安全的解决方法是用加密算法产生初始序列号。
★“反客为主”法
在UNIX系统下,多数文件只能由超级用户拥有,很少可以由某一类用户所有。这使得管理员必须在root下进行各种操作。黑客攻击首要对象就是root,最常受到攻击的目标是超级用户Password。严格地说,UNIX下的用户密码是没有加密的,它只是DES算法加密一个常用字符串的密钥。现在出现了许多用来解密的软件工具,它们利用CPU的高速度采用穷尽式来搜索密码。攻击一旦成功,黑客就可以在UNIX系统中为所欲为。
因此,将系统中的权利进行分散,比如:设定邮件系统由邮件管理员管理,那么邮件管理员可以在不具有超级用户特权的情况下很好的管理邮件系统,这会使系统安全得多。
笔者重点提醒大家的是:在入侵者攻破系统后,经常会删除系统运行日志,使得不被系统管理员发现。非常多的黑客还会在系统不同的地方留下各种“标志”和“后门”,方便以后常来常往。所以发生了入侵事件以后,应该彻底检查系统。如果实在不放心,应该不惜代价重新安装系统!