3.1.2 恶意软件
1.木马
特洛伊(Trojan)木马源于古希腊的特洛伊木马神话,传说希腊人围攻特洛伊城,久久不能得手。后来想出了一个木马计,让士兵藏匿于巨大的木马中。大部队假装撤退而将木马摈弃于特洛伊城外,让敌人将其作为战利品拖入城内。隐藏在木马内的士兵则趁夜晚敌人庆祝胜利、放松警惕的时候从木马中爬出来,与城外的部队里应外合而攻下了特洛伊城。
在计算机网络安全领域,特洛伊木马通常是指一个包含在合法程序中的非法程序。用户会在不知情的情况下执行该非法程序。一般的木马都有客户端和服务器端两个执行程序,其中客户端是攻击者用于远程控制植入木马的机器,服务器端程序即是木马程序。攻击者要通过木马攻击系统,所做的第一步是要把木马的服务器端程序植入到被攻击用户的计算机中。
目前,木马入侵的主要途径还是先通过一定的方法(如邮件、下载等)把木马执行文件植入到被攻击者的计算机系统里,然后通过一定的提示故意误导被攻击者打开执行文件,比如故意谎称这个木马执行文件是朋友发送的贺卡。当被攻击者打开这个文件后,确实有贺卡的画面出现,但这时可能木马已经悄悄地在被攻击者的后台运行了。
一般的木马执行文件非常小,大都是几KB到几十KB。如果把木马捆绑到其他正常文件上,用户很难发现。所以,一些网站提供的下载软件往往捆绑了木马文件,在用户执行这些下载文件的同时,会不觉间运行了木马。另外,木马也可以通过ActiveX及ASP、CGI交互脚本的方式植入。木马在被植入攻击主机后,一般会通过一定的方式把所入侵主机的信息,如IP地址、木马植入的端口等发送给攻击者,攻击者获得这些信息后才能够与木马里应外合控制攻击主机。
大多数早期的木马病毒是通过发送电子邮件的方式把入侵主机信息告诉攻击者的,有一些木马文件干脆把主机所有的密码用邮件的形式通知给攻击者,这样攻击者无需直接连接攻击主机即可获得一些重要数据(攻击QQ密码的GOP木马即是如此)。但电子邮件对攻击者来说并不是最好的选择,因为如果木马被发现,被攻击者可以通过电子邮件的地址找出攻击者。所以现在有一些木马是通过发送UDP或者ICMP数据包的方式通知攻击者。
木马主要有如下几种类型,用户需多加注意。
❍ 破坏型:唯一的功能就是破坏并且删除文件,可以自动地删除计算机上的DLL、INI、EXE文件。
❍ 密码发送型:可以找到隐藏的密码并把它们发送到指定的信箱。有人喜欢把自己的各种密码以文件的形式存放在计算机中,以图方便;还有人喜欢用Windows提供的密码保存功能(这样就可以不必每次都输入密码了)。许多黑客软件可以寻找到这些文件,并把它们送到黑客手中。也有些黑客软件会长期潜伏,记录操作者的键盘操作,从中寻找有用的密码。
❍ 远程访问型:最广泛的是特洛伊木马,只要有人运行了服务端程序,获取了服务端的IP地址,就可以实现远程控制。这类远程控制程序可以监控被攻击者在系统中的一举一动,因此危害非常大,早年流行的“冰河”木马软件就是这类程序。这类程序多数采用UDP协议。与TCP协议不同,它是一种非连接的传输协议,没有确认机制,尽管可靠性不如TCP,但效率却比TCP高,因此UDP协议被大量用于远程屏幕监视。
❍ 键盘记录木马:这种特洛伊木马非常简单,通常只完成一件事情,就是记录被攻击者的键盘敲击行为并且在相应的日志文件中查找密码。这种特洛伊木马随着系统的启动而启动,有在线记录和离线记录选项,分别用于记录被攻击用户在线和离线状态下敲击键盘时的按键情况。木马植入者可以从这些按键中得到被攻击者的密码等有用信息,甚至信用卡账号。当然,对于这种类型的木马,邮件发送功能也是必不可少的。
❍ DoS(Denial of Service,拒绝服务)攻击木马:随着DoS攻击应用的越来越广泛,被用作DoS攻击的木马也越来越流行。当攻击者成功入侵了一台机器后,通常会给这台机器种上DoS攻击木马,此后这台计算机(也称为肉鸡)就会成为攻击者实行DoS攻击的得力助手。攻击者控制的肉鸡数量越多,那么成功发动DoS攻击的概率就越大。所以,这种木马的危害不是体现在被感染的计算机上,而是体现在攻击者可以利用它来攻击一台又一台计算机,并给网络造成的很大伤害和损失上。还有一种邮件炸弹木马,它类似于DoS木马,一旦机器被感染,木马就会随机生成各种主题的信件,不停地向特定的邮箱发送邮件,一直到对方瘫痪,不能接收邮件为止。
❍ 代理木马:黑客在入侵的同时为了掩盖自己的足迹,谨防别人发现自己的身份,会给被控制的“肉鸡”种上木马,使其变成攻击者发动攻击的跳板,这就是代理木马最重要的任务。通过代理木马,攻击者可以匿名使用Telnet、ICQ、IRC等程序,从而隐蔽自己的踪迹。
❍ FTP木马:这种木马可能是最简单和古老的木马了,其唯一功能就是打开21端口,等待用户连接。现在的新FTP木马还添加了密码功能,这样,只有攻击者本人才知道正确的密码,用来进入对方计算机。
❍ 程序杀手木马:上面介绍的木马虽然形形色色,不过想在被攻击的机器上发挥自己的作用,首先要能躲避防木马软件的查杀。常见的防木马软件有Zone Alarm、Norton Anti-Virus等。程序杀手木马的功能就是关闭对方机器上运行的这类防木马程序,让其他的木马更好地发挥作用。
❍ 反弹端口型木马:木马开发人员在分析了防火墙的特性后发现,防火墙对于连入的连接会进行非常严格的过滤,但是对于连出的连接却疏于防范。于是,有别于一般的木马,反弹端口型木马的服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口。木马定时监测控制端,发现控制端上线立即弹出端口,主动连结控制端打开的主动端口;为了隐蔽起见,控制端的被动端口一般使用的是80端口,即使用户使用扫描软件检查自己的端口,也很难发现端倪,都会以为自己是在浏览网页。
2.系统漏洞
入侵者对业务系统的入侵在很大程度上依赖于业务系统存在的漏洞。可以说,业务安全问题本质上源于软件质量问题,软件质量问题的直接体现就是漏洞。漏洞是指计算机软件(包括硬件固化指令、操作系统、应用程序等)自身的固有缺陷或因使用不当造成的配置缺陷。这些缺陷可能被黑客利用并对计算机系统进行入侵或攻击。
安全漏洞有很多种分类方式。
❍ 基于漏洞宿主分类
➢ 操作系统本身设计缺陷带来的安全漏洞:这类漏洞将被运行在该系统上的应用程序所继承。
➢ 应用软件程序的安全漏洞:主要指应用程序在开发、部署、分发的过程中存在的可以被利用的bug和缺陷。
➢ 应用服务协议的安全漏洞:主要指各种协议和服务本身存在的流程缺陷、防护缺点等。
❍ 基于利用位置的分类
➢ 本地漏洞:需要操作系统级的有效账号登录到本地才能利用的漏洞,主要是权限提升类漏洞,即把自身的执行权限从普通用户级别提升到管理员级别。
➢ 远程漏洞:无须系统级的账号验证即可通过网络进行利用。
❍ 基于威胁类型的分类
➢ 获取控制:可以导致劫持程序执行流程转向执行攻击者指定的任意指令或命令,来控制应用系统或操作系统。这类威胁最大,同时影响系统的机密性、完整性,甚至影响可用性。主要来源为内存破坏类、CGI类漏洞。
➢ 获取信息:可以导致劫持程序访问预期外的资源并泄露给攻击者,从而影响系统的机密性。主要来源为输入验证类、配置错误类漏洞。
➢ 拒绝服务:可以导致目标应用或系统暂时或永久失去响应正常服务的能力,从而影响系统的可用性。主要来源为内存破坏类、意外处理错误处理类漏洞。
❍ 基于技术类型的分类
➢ 内存破坏类:此类漏洞的共同特征是由于某种形式的非预期的内存越界访问(读、写或兼而有之),在可控程度较好的情况下执行攻击者指定的任意指令,在其他大多数情况下则会导致拒绝服务或信息泄露。
➢ 逻辑错误类:涉及安全检查的实现逻辑存在问题,导致设计的安全机制被绕过。
➢ 输入验证类:这类漏洞都是由于对用户的输入没有做充分的检查过滤就用于后续操作而导致的,绝大部分的CGI漏洞属于此类。威胁较大的常见漏洞有SQL注入、跨站脚本执行、远程或本地文件包含、命令注入、目录遍历等。
➢ 设计错误类:系统在设计时对安全机制考虑不足而导致的存在于设计阶段的安全漏洞。
➢ 配置错误类:系统运维过程中默认不安全的配置状态,大多涉及访问验证的方面。
3.病毒蠕虫
病毒是指编制的或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。病毒一般具备两个属性。
❍ 能自行执行。通常将自己的代码置于另一个程序的执行路径中。
❍ 能自我复制。例如,可用受病毒感染的文件副本替换其他可执行文件。
此外,病毒往往还具有很强的感染性、一定的潜伏性、特定的触发性和很大的破坏性等。
病毒的危害性包括破坏系统、修改或删除数据、占用系统资源、干扰机器的运行等。一般的病毒不会自我传播,必须通过共享文件或者电子邮件等方式进行扩散。
计算机蠕虫病毒是一个独立的恶意计算机程序,能自我复制,以传播到其他计算机。蠕虫一般通过网络或者可移动媒介传播,比如U盘。任何旨在传播蠕虫的代码通常称为“有效载荷”。典型的恶意载荷可能会删除主机系统上的文件(例如ExploreZip蠕虫)、加密勒索软件攻击中的文件或者泄露诸如机密文档或密码之类的数据。蠕虫最常见的载荷可能是后门程序。这使蠕虫作者可以将计算机作为“僵尸”进行远程控制。这些机器所利用的网络通常称为僵尸网络,这类网络通常用于一系列恶意目的,包括发送垃圾邮件或执行DoS攻击。
近两年,勒索病毒兴起。勒索病毒主要以邮件、程序木马、网页挂马等形式进行传播,利用各种加密算法对文件进行加密,并弹出勒索界面索要赎金。WannaCry、BadRabbit、Petya等就是这种病毒。
2018年5月12日晚,WannaCry蠕虫病毒在全球大肆爆发。据BBC、CNN等媒体报道,恶意攻击者利用NSA(美国国家安全局)泄露的Windows 0day漏洞对99个国家(地区)实施了超过75000次攻击。攻击受害者包括俄罗斯联邦内政部、英国国家医疗服务系统以及包括联邦快递、西班牙电信公司Telefonica和法国汽车制造商Renault等在内的企业。
这次攻击的始作俑者是一款名为WannaCry的勒索病毒,WannaCry可以扫描计算机的445端口,利用EternalBlue获取访问权限,并将WannaCrypt恶意软件部署到计算机中(利用恶意软件下载器DoublePulsar)。被感染的计算机上的文件会被加密,屏幕会显示如图3.1所示的告知付赎金的界面。然后WannaCry会以相同方式扫描附近的计算机,并开始在网络中横向移动,将恶意载荷转移到更多终端。
图3.1 WannaCry勒索病毒