在无处不在的网络中,花样百变的恶意软件对计算机系统和用户造成了严重的危害。恶意软件的种类繁多,主要有计算机病毒、特洛伊木马、蠕虫病毒、Rootkit(根工具包)、流氓软件、逻辑炸弹、僵尸网络、网络钓鱼、恶意脚本和勒索软件等。
1、恶意软件的行为特征
随着互联网的快速发展,恶意软件也加速演进,呈现出强制安装、难以卸载、广告弹出、随意修改系统配置、浏览器劫持、恶意收集用户信息、恶意卸载、设备经常死机、数据莫名丢失、文件打不开、系统运行速度慢、恶意捆绑及其它侵犯用户知情权、选择权的恶意行为,严重影响用户对互联网和计算机设备的使用。以下是恶意软件常见的行为特征:
(1)自我复制和传播:恶意软件能够通过各种途径,比如电子邮件、计算机网络和可移动设备等自我复制并传播,以感染更多的计算机或设备;恶意软件的传播与破坏经常通过盗用用户或进程的合法权限才能完成。
(2)隐藏性和伪装性:为了不让系统和用户发现恶意软件已经侵入系统,它通常会隐藏在系统中,修改系统的安全策略把自己伪装成合法程序,以长期休眠并等待特定条件触发(如时间、特定的事件和足够的权限等),从而避免被监控设备发现。
(3)执行恶意操作并占用大量系统资源:恶意软件具有破坏、入侵、窃取信息等恶意功能,其目的是窃取用户数据和机密信息、修改和删除系统配置策略、入侵网络和破坏系统的完整性等。执行这些操作会占用大量计算机系统资源,导致系统运行缓慢,甚至出现系统崩溃或无法启动等问题。
(4)远程控制:某些恶意软件还具有远程控制受害计算机或设备的能力,从而进行更深入和广泛的攻击和入侵。
(5)绕过安全防御机制:恶意软件会不断变异和改进,以逃避杀毒软件和系统安全防御软件的检测和清除。
(6)数据窃取或加密文件:恶意软件经常窃取用户的敏感信息,如用户名、密码、信用卡信息等;一些恶意软件还加密用户的重要文件,并索要赎金才能解密文件,达到勒索的功能。
(7)破坏系统或植入后门:恶意软件可以破坏系统文件、注册表、硬盘等,导致出现系统崩溃、无法启动等现象。恶意软件在入侵成功后还经常植入后门,以便以后远程控制受害计算机,执行恶意活动。
由于这些行为特征使得恶意软件能够在用户不知情的情况下执行特定操作,损害用户的数据安全、隐私和计算机系统的正常运行。因此,了解恶意软件的行为特征对于防范和识别恶意软件至关重要。
2、恶意软件的感染途径
恶意软件正在逐渐演变成一个复杂多变的网络犯罪生态体系。攻击者为了获得更大的经济效益,不断开辟新的传播路径和感染手段,并在不断尝试各种可行的策略,以增强恶意软件的感染和攻击能力。虽然恶意软件的感染途径多种多样,但主要有以下几种:
(1)利用漏洞传播:攻击者经常利用已经公开且已发布补丁的漏洞,通过软件扫描发现未及时修补漏洞的设备,向计算机系统或应用程序注入恶意代码,利用这些漏洞进行感染,进一步入侵用户的内部网络,获取管理员权限,进而主动传播各种恶意软件。
(2)利用网站挂马传播:攻击者通过SQL注入攻击网站,以在网站上植入恶意代码的方式挂载木马,或主动搭建包含恶意代码的网站,诱导用户访问网站并触发恶意代码,劫持用户当前访问页面至恶意代码下载链接并执行,从而向用户植入恶意软件。
(3)利用钓鱼邮件传播:攻击者将恶意软件嵌入电子邮件的文档、电子表格或图片等附件中,或将含有恶意软件的链接写入邮件正文,通过网络钓鱼诱骗用户打开恶意软件。当用户打开电子邮件附件或点击恶意链接,恶意代码将自动加载、安装和运行。
(4)利用欺骗性广告传播:很多非法或不受信任网站上的恶意广告可能包含隐藏的代码或链接。当用户点击或浏览这些广告时,就会不经意的下载看似合法的而实际包含恶意软件并执行。
(5)利用软件供应链传播:攻击者利用软件供应商与用户之间的信任关系,通过入侵软件供应商的服务器。用户在软件下载、升级等过程中,恶意软件对合法软件进行劫持或篡改,冒充合法的软件更新,规避用户防病毒软件的检测。当用户通过对不安全的软件或插件进行更新时,恶意软件就会被安装到用户的计算机上,比如Adobe Flash Player的高危漏洞(CVE-2018-4878)和类型混淆漏洞(CVE-2018-15981)就是采用这种方式传播,攻击者利用漏洞构造特殊的Flash链接或在用户系统上执行任意命令。如果用户使用浏览器、电子邮件或Office访问该Flash链接时,就会触发漏洞,直接取得getshell,从而导致网站最高权限失守和被窃取敏感信息等严重后果。
(6)利用远程桌面进行传播:攻击者经常利用专业的扫描工具,以弱口令、暴力破解等方式获取被攻击目标服务器的远程登录用户名和密码,进而通过RPD协议登录服务器并植入恶意软件。攻击者一旦成功登录服务器,就可以获得服务器控制权,进行拖库,或以服务器为攻击跳板,在内部网络进一步渗透和传播恶意软件。
(7)利用物理介质传播:攻击者通过感染U盘、移动硬盘等设备上的文件,并将恶意软件隐藏,创建与移动存储设备盘符、图标等相同的快捷方式。一旦用户点击,则自动运行恶意软件,达到不同设备之间的交叉感染以实现恶意软件传播。
除了以上常见的感染途径外,恶意软件还会通过其他途径进行感染传播,如即时通讯工具、社交媒体和蓝牙通信等。为了防范恶意软件的感染,用户需要时刻保持警惕,及时更新系统和软件的安全补丁,不轻信陌生人发来的信息,使用可靠的安全软件和防护工具,以及避免在不受信任的网站或渠道下载软件或文件。
3、恶意软件的家族分类
大多数恶意软件的设计目的都是为了数据窃取,并且出现了分工更精细的趋势,即不同的恶意软件专门用于窃取不同类型的数据。恶意软件的家族是指一组具有相似行为、特征或传播方式的恶意软件,这些恶意软件家族通常由相同的开发者或组织研制,并可能使用相同的代码库、技术或传播策略,甚至达到相同的功能。以下从恶意软件的攻击目的对一些知名的恶意软件进行分类:
(1)网络空间探测类:火焰(flame)的全名为Worm.Win32.Flame,于2012年5月被发现,它是一种针对中东国家发起定向攻击的后门程序和木马病毒,同时又具有蠕虫病毒的特点,是一种高度复杂的恶意程序,常被用作网络武器并成功攻击了多个国家;只要其背后的操控者发出指令,它就能在网络、移动设备中进行自我复制;它利用微软终端服务许可证书中的MD5冲突漏洞为“火焰”组件签名,使它看起来是来源于微软证书机构的合法签名,将自身注册为一个假的代理服务器,发送用假证书签名的恶意软件更新,从而在局域网上通过HTTP协议搜索并攻击windows的更新机制;它通过监测网络流量、获取截屏画面、记录音频对话、截获键盘输入等方式,将被感染系统中所有的数据都能通过链接传到病毒指定的服务器。Flame 病毒使用了5种不同的加密算法,3种不同的压缩技术,和至少5种不同的文件格式,包括其专有的格式,并将它感染的系统信息以高度结构化的格式存储在SQLite数据库中,病毒文件达到20MB,还使用开发游戏的Lua脚本语言进行编写,使得结构更加复杂;当终端设备感染该病毒后,它会利用键盘、屏幕、麦克风、移动存储设备、网络、WIFI、蓝牙、USB和系统进程等全方位收集信息,然后将用户浏览网页、通讯通话、账号密码以及键盘输入、与被感染电脑相连的智能手机、平板电脑中的文件发送给控制端,即使与控制端断开连接,攻击者依然可通过蓝牙信号对被感染计算机进行近距离控制。
(2)定向于金融攻击类:Zeus(宙斯)、Conficker(飞客蠕虫)、SpyEye(间谍眼)、Citadel(城堡)和ICE1X等这类恶意软件是专门针对账户信息以及信用卡数据等高价值目标,发起金融攻击的恶意软件工具包;这些恶意软件经过精心设计,由不同的模块化组件组成,可以灵活配置,达到恶意代理(僵尸)、管理软件以及额外的信息窃取组件,这些工具包经常被用于在因特网上构建僵尸网络。根据《2023年度数据泄露调查报告》显示,绝大多数攻击的主要动机是经济利益,占比达95%。
(3)加密勒索类:Petya和NotPetya(实际包括 Petya 2.0、ExPetr 和 GoldenEye等)是著名的勒索软件家族,它们通过在受感染的计算机上加密文件并要求赎金来获利。Petya在2017年大规模爆发,利用PsExec工具进行传播,通过远程执行恶意代码感染其他计算机。NotPetya也是爆发在2017年的勒索式病毒,它首先攻击了俄罗斯最大的石油企业Rosneft,随后又迅速攻击了80多家网络公司,范围波及俄罗斯和乌克兰境内,涉及能源、交通、银行等关乎国计民生的机构,如果电脑用户感染该病毒,必须支付300美元才能解锁,该恶意软件造成损失在100亿美元左右。WannaCry(想哭)也被称为“魔窟”,是另一个著名的加密勒索软件家族,它也是在2017年全球范围内大规模爆发,利用Windows操作系统的“永恒之蓝”漏洞进行传播,使用恶意代码打开微软SMB漏洞MS17-010,实现远程代码执行;它的变种导致台湾半导体制造公司(台积电)于2018年8月暂时关闭其几家芯片制造工厂,该病毒在台积电最先进的设备中感染、扩散至10000台设备。
(4)定向于攻击工业控制服务(ICS)类:震网(Stuxnet)和毒区(Duqu)等恶意软件是使用未经授权的方式访问“数据采集与监控(SCADA)”系统,然后从中提取信息,达到攻击工业基础设施和工业控制服务目的的蠕虫病毒。震网病毒利用MS08-067、MS10-046、MS10-061、MS10-073、MS10-092等5个Windows系统(后四个属于0day漏洞)、2个西门子SIMATIC WinCC系统的漏洞。震网病毒在全球已经感染了超过 45000个网络,伊朗遭到的攻击最为严重,造成60%的个人电脑被感染。Duqu是一款具备远控功能的侦察程序,最早出现在2011年9月,主要出现在工控系统中。Duqu所使用的语言高度专业化,能够让有效负荷DLL同其它Duqu模块独立,通过多种途径包括Windows HTTP、网络端口和代理服务器同C&C建立连接,让有效负荷DLL直接处理来自C&C的HTTP服务器请求,甚至可以在网络中的其它计算机上传播辅助的恶意代码,实现可控制并且隐蔽的感染手段,横向渗透其它计算机。该恶意软件采用定制攻击框架,不同组件在不同时间根据实际需求适时创建。当终端设备感染DUQU后,攻击者可下载附加模块,以增强恶意软件的功能, C&C通讯模块采用未知编程语言进行编写,其传播方式由攻击者的攻击指令进行控制传播,攻击方式由“人”控制,与利用0DAY自动传播的蠕虫相比,它们的目的不同,DUQU的目标为指定目标。从代码风格、设计逻辑等可以推测,DUQU和Stuxnet蠕虫应为同源软件,由同一个团队编写。在后来很多复杂的APT攻击中,经常先利用DUQU收集详细数据然后再使用Stuxnet实施精准攻击。
(5)远程访问工具包(RAT)类:Ghost Rat(幽灵鼠)是一个远程控制软件,用于从企业网络的内部被感染主机中提取数据,从而控制整个网络。GlobeImposter是一个通过垃圾邮件、远程桌面协议(RDP)暴力破解和恶意软件等方式传播的恶意软件家族,通常用于窃取敏感信息或执行其他恶意操作。
由于这些恶意软件家族不断发展和壮大,并不断使用新的技术和策略来逃避检测并感染更多的计算机。大多数恶意软件的最终设计目的都是窃取数据,而在一些攻击中,窃取数据只是一个中间过程,是为了以后的攻击。
4、恶意软件的数据窃取方式
数据是网络空间的核心资产,也是网络攻防对抗中各方争夺的焦点。一些用户在使用设备和网络的过程中,经常不经意的安装恶意软件,给数据安全造成严重威胁。恶意软件的数据窃取通常有以下几种方式:
(1)表单劫持:表单劫持是网页表单内容劫持(Form jacking) 的简称,也称为HTTP劫持攻击,是攻击者将恶意软件安装在用户计算机上,然后从浏览器中提取HTTP POST数据的技术,也是网络攻击者牟取暴利的最新方式。当用户在网络购物时,HTML表单提交到服务器,其实就是浏览器发出HTTP POST请求,恶意软件就使用表单劫持拦截浏览器组件和目标服务器之间的数据流,窃取HTTP POST请求中的数据,在消费者输入付款信息时从内存缓冲区中窃取所有数据。网络攻击者还通过将恶意代码植入商家网站以窃取购物者的支付卡信息,从而直接盗刷银行卡或出售支付信息。为了防范表单劫持,商家可以升级网站,使用HTTPS协议、验证码、设置表单安全字段、对用户提交的数据进行过滤和及时更新PHP版本等技术措施。
(2)网页注入:网页注入是一种将未经授权的恶意代码或HTML源码注入到特定网页,从而达到攻击的目的。很多恶意软件使用网页注入技术,在浏览器中注入假的弹窗,以看似合理的方式要求用户填写支付账户和密码,达到欺诈的功能。恶意软件经常采取第三方程序间接调用浏览器、利用类浏览器程序、将JS注入到浏览器页面和通过自动化工具直接注入等方式操纵浏览器,导致用户数据泄露、网站被篡改和下载恶意软件等。比如网页注入技术利用在“宙斯”和“间谍眼”中,在花旗银行网站的活跃会话中执行cookie注入,窃取了1000万美元,成为了第一笔大额抢劫案,现在该技术更多被应用于僵尸网络中。为了防范网页注入,可以采取对用户输入的数据进行验证和过滤、使用安全的框架和库、使用安全的编程代码和及时更新软件版本等技术措施。
(3)屏幕截图窃取:当用户使用被感染恶意软件的系统上网浏览银行等关键网站时,恶意软件就会使用windows 内置的API函数生成嵌入在恶意代码自身中的截图捕获模块,捕获关键页面的截图(账户信息、账户余额等),以获得目标(用户)资产的详细情况。为了防范屏幕被截图窃取,可以使用安全软件进行监控、设置屏幕锁定、禁用远程访问、加密敏感信息、注意周围环境和提高安全意识等措施。
(4)视频窃取:恶意软件经常在受感染的系统上安装摄像头视频录制软件,当用户在购买商品时,恶意软件就会使用windows 内置的API函数,自动启动视频录制软件。恶意软件还可以利用JavaScript代码访问用户的摄像头,达到自行操控。比如“城堡”就是使用HTML5来创建僵尸网络,然后利用navigator.getUserMedia方法激活视频窃取组件,达到视频自动录制的功能。
(5)托管服务器数据窃取:很多高级的恶意软件,都能从网络环境中识别托管的服务器,并窃取其中的数据。比如“火焰”病毒使用windows API函数验证被感染系统是否有使用蓝牙的功能,然后使用windows内置的套接字(如发送send、接收recv、收自recvfrom和发送到sendto)函数提取蓝牙信息,从被感染的计算机周围的蓝牙设备中窃取数据。
(6)操作系统和软件证书窃取:为了实施网络欺诈,很多恶意软件都会窃取被感染系统的操作系统和软件证书信息,以了解设备的配置、漏洞和安全状态。比如操作系统和浏览器的版本、应用程序的安装情况、防火墙和防病毒软件的情况、运行的服务和端口开放情况、本地和域名上的用户等信息,有助于攻击者确定哪些系统可以被利用以及如何进行攻击。
虽然不同的恶意软件会采取不同的数据收集方式,并且这些方式可能会随着时间和技术的变化而进化。因此,了解并熟悉常见的恶意软件的行为和数据收集方法是检测和防御恶意软件的关键。
5、恶意软件的数据传输方式
攻击者经常部署隐秘、能够逃避检测的数据传输模式从受感染的系统中窃取信息而不被发现。虽然不同的恶意软件可能有不同的数据传输机制,并且这些机制可能会随着时间和技术的变化而演变,但是一般恶意软件的数据传输机制通常包含下几步:
第一步:确定数据外传的通信协议。不同的恶意软件(僵尸网络)会使用不同的通信协议来与攻击者搭建的控制服务器(C&C)进行交互。比较传统的数据外传协议有TCP、UDP,但为了让窃取的数据更像正常的HTTP数据、大多数防火墙都允许HTTP数据通过、HTTP数据容易通过代理发送,现在新型的恶意软件更多使用HTTP或HTTPS外传数据。随着恶意软件的快速发展和演变,常见的FTP、SMTP、SSH、P2P和DNS等协议在执行正常的功能时也可能被用于恶意软件的数据外传。
第二步:数据压缩和转换。为了降低数据在传输时被检测到,从而提高数据传输的安全性和可靠性,恶意软件经常对数据进行无损压缩和转换,以此减少网络传输的数据量。当数据传输到达C&C服务器端后又进行数据重建,恢复出原来的数据。常见的恶意软件在数据传输时的压缩模式如表1:
表1恶意软件在数据传输时的压缩模式
第三步:数据加密和传输保护。为了保护数据传输的安全性和隐私性,恶意软件使用加密算法对传输的数据(包含HTTP POST请求和实际数据)进行加密。在很多恶意软件(僵尸网络)的部署中,攻击者将RC4或AES加密密钥嵌入到二进制配置文件中,并发送给受感染机器的恶意软件,有的还会采取置换和“异或(XOR)”加密,变换组件的布局,以减小组件的规模。常见的恶意软件在数据传输时的加密模式如表2:表2 恶意软件在数据传输时的加密模式
第四步:使用因特网套接字进行数据外传。在确定传输协议、压缩模式、对数据进行加密和转换后,恶意软件就尝试使用操作系统内置套接字(IP地址和TCP或UDP端口)建立到C&C服务器的连接,并进行隐蔽的数据传输。数据的传输方式可能是简单的文本传输、二进制数据或其他形式。当数据传输完毕,套接字就会成为关闭状态以达到隐身目的。
6、针对恶意软件的防御措施
为了防御恶意软件的感染和攻击,可以采取以下防御措施:
(1)保持操作系统和应用软件的更新,定期修补漏洞:恶意软件通常利用软件的漏洞进入网络然后在其中横向移动,捕获更多的信息资产。很多软件厂商都会在官方网站定期发布补丁和更新程序,安装更新后将修复已知的安全漏洞,避免漏洞被黑客利用。比如NotPetya 使用的 EternalBlue 漏洞在攻击发生前几个月就有可用的补丁,因此用户应当确保系统和应用程序尽量保持最新状态,才能确保计算机系统的安全性。
(2)安装功能强大、可信赖的安全软件并及时更新:只有安装可靠的防病毒软件和定期更新病毒库,才能实时监测系统,并进行全盘扫描,及时发现和清除计算机中的新型恶意代码。对防火墙进行严格配置,监控网络流量是否存在恶意活动,包括可疑文件加密、入站/出站网络流量、性能问题等,并限制不必要的网络连接,以防止未经授权的外部访问。关闭不必要的端口,比如主机无须使用server服务,关闭server服务使用的139和445端口则可以预防“震网”病毒的传播。
(3)加强电子邮件和超级链接的安全实践。在网络边界部署反恶意软件和垃圾邮件保护系统可以隔离异常的邮件。因为很多木马和钓鱼攻击都是通过欺骗用户来进行传播的,因此,教育用户在收到未知的邮件和链接时应当引起足够警惕,不要随意打开陌生人或来历不明的电子邮件附件或链接,这些附件或链接可能包含恶意软件和攻击代码。比如大多数 Petya 攻击和一些 NotPetya 攻击都是从电子邮件受感染的附件开始传播。
(4)使用强密码和多因素身份验证。强密码和多因素身份验证是防范恶意软件攻击的关键。教育用户使用包含字母、数字和符号总长度超过8位的强密码策略,定期更换密码,并启用多因素身份验证,可以大大增加账户的安全性。
(5)定期备份重要文件和数据。在防范恶意软件攻击的同时,定期备份重要数据也是至关重要的。保留重要文件的备份副本并不能防止勒索软件感染,一旦系统受到攻击,之前备份的数据可以帮助用户迅速恢复系统和文件。比如NotPetya 这样清除文件的攻击,这可能是恢复文件的唯一方法。
(6)加强用户安全意识教育。提升单位用户的安全意识和社会工程学攻击的防范能力对网络安全是非常重要的。培训用户了解常见的网络犯罪行为和防范方法;确保员工接受过识别恶意电子邮件和网站的培训,尽量避免用户打开不受信任的附件,不执行未经扫描杀毒的下载软件;不要打开如QQ、微信等社交工具上收到的不明文件;不要轻信浏览网页时弹出的“支付信息、小程序安装”等信息;加强对个人信息和密码的保护意识;限制终端设备的用户权限,不要以管理员身份运行不必要的程序,仅在绝对必要时才使用管理员账户;控制对系统和数据的访问,并严格遵守最小权限模型;使用可靠的网络连接,尽量避免使用不安全的公共Wi-Fi网络,以减少恶意软件感染的风险。根据《2023年度数据泄露调查报告》显示,74%的信息泄露事件是人为因素造成的,包括人为错误、滥用特权、使用被盗凭证或社会工程攻击,并且83%的泄露事件来自于外部人员。
总之,恶意软件是一种严重的网络安全威胁,并且无处不在,不经意感染后对计算机系统和用户的信息造成了严重的危害。防御恶意软件的感染也并非易事,虽然这些防御措施可以降低恶意软件感染的风险,但是并不能完全消除风险,它需要多管齐下:政府和企业应该加强网络安全监管和技术防范手段,共同应对网络安全威胁;上网用户应该加强安全意识教育,了解并熟悉常见的恶意软件行为和数据传输方法,时刻紧绷安全这根弦,并采取有效的终端设备防范措施,避免在网络上传输敏感信息或在不受信任的网站上进行任何操作。只有将恶意软件拦截在计算机系统的门外,才能确保网络安全和个人信息的有效保护。
参考文献:
[1]奚琪、秦艳锋、舒辉编著.恶意代码原理、技术与防范[M].电子工业出版社. 2023年7月.
[2]Rolf Oppliger著.赵越、郭绮译.SSL与TLS理论及实践(第二版)[M].国防工业出版社.2023年3月.
[3]任奎,孟泉润,闫守琨等.人工智能模型数据泄露的攻击与防御研究综述[J].网络与信息安全学报,2021,7(1):1-10.
[4][美]雪莉·大卫杜夫著.马多贺等译.数据大泄露 隐私保护危机与数据安全机遇[M].机械工业出版社.2021年5月.
[5][美]Christopher C. Elisan著.郭涛等译.恶意软件、Rootkit和僵尸网络[M].机械工业出版社.2013年10月.
作者简介:赵得椿(1982年4月—),男,汉,云南省泸西县人,昆明工业职业技术学院网络信息中心,硕士,计算机副教授,研究方向:网络空间安全教学与研究。