计算机木马

恶意代码

  • 恶意代码(malicious code):执行恶意功能的计算机代码。一般包括病毒、蠕虫和木马

计算机病毒定义


  • 美国科恩博士(最早定义):计算机病毒是一种计算机程序,它通过修改其他程序把自己的一个拷贝或演化的拷贝插入到其他程序中实施感染
    • 传染特性:病毒可以自我繁殖
    • 演化特性:病毒在感染过程中可以改变自身的一些特征,以逃避查杀

  • 赛门铁克Peter Szor给出定义:计算机病毒是一种计算机程序,它递归地、明确地复制自己或其演化体。
    • “明确递归”来区别病毒与正常程序的复制过程,“明确”强调自我复制是病毒的主要功能。“递归”反映一个文件在被病毒感染以后会进一步感染其他文件。

  • 我国定义:计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制一组计算机指令或者程序代码

计算机病毒典型特征

  1. 传染性:病毒能够通过网络、可移动存储设备、电子邮件附件等多种途径传播到其他计算机系统。
  2. 潜伏性:病毒可以在计算机系统中隐藏一段时间,不被发现,等待特定条件或时间触发。
  3. 可触发性:病毒在满足特定条件或在特定时间点被激活,从而执行其预定的恶意操作。
  4. 寄生性:病毒附着在合法的程序或文件上,随着这些程序或文件的使用而传播。
  5. 非授权执行性:病毒在未获得用户许可的情况下执行其代码,通常以隐藏的方式运行。
  6. 破坏性:病毒可以删除文件、损坏系统、窃取敏感信息或执行其他有害操作,对计算机系统造成损害。
特征描述
传染性通过多种途径传播到其他计算机系统
潜伏性可以隐藏在系统中等待特定条件或时间
可触发性在特定条件或时间点被激活执行恶意操作
寄生性附着在合法的程序或文件上,随着其使用而传播
非授权执行性未经用户许可执行代码,通常以隐藏方式运行
破坏性造成文件删除、系统损坏、信息窃取等有害操作

  • 典型计算机病毒基于的功能模块
    • 引导模块
    • 搜索模块
    • 感染模块
    • 表现模块
    • 标识模块

计算机蠕虫

  • 计算机蠕虫(Worm):一种可以独立运行,并通过网络传播的恶性代码。

  • 计算机蠕虫(Worm)具有计算机病毒的一些特性,如传播性、隐蔽性、破坏性等,但蠕虫也具特点,如漏洞依赖性等,需要通过网络系统漏洞进行传播,另外蠕虫也不需要宿主文件,有的蠕虫甚至只存在于内存中。

  • 典型计算机蠕虫基于功能模块:

    • 搜索模块
    • 攻击模块
    • 传输模块
    • 负载模块
    • 控制模块

计算机木马

  • RFC1244:木马是一种程序,它能提供一些有用的,或是仅仅令人感兴趣的功能,但是它还有用户所不知道的其他功能,例如在你不了解的情况下拷贝文件或窃取你的密码。
  • 普遍定义:木马是一段能实现有用的或必需的功能的程序,但是同时还完成一些不为人知的功能。

  • 木马程序的危害性

    1. 自动搜索已中木马的计算机
    2. 跟踪监视对方屏幕
    3. 直接控制对方的键盘、鼠标
    4. 管理对方资源,如复制文件、删除文件
    5. 随意修改注册表和系统文件
    6. 随意修改注册表和系统文件
    7. 共享被控计算机的硬盘资源

计算机木马分类

  • 计算机木马,从木马所实现的功能角度可分为:
    1. 破坏型
    2. 密码发送型
    3. 远程访问型
    4. 键盘记录木马
    5. DoS攻击木马
    6. 代理木马
    7. 反弹端口型木马

  • 从木马形态上分,可以分为有文件木马和无文件木马
    • 有文件木马:木马本身是一个可执行文件
    • 无文件木马:木马不是一个可执行文件,需要依靠其它软件来触发执行。如Java、Python代码段;Shell脚本;配
      置文件中一段脚本;注册表中的一个键值等。通常功能比较简单,只是攻击的第一步,执行后再下载更多的攻击代码到目标机器中

  • 一句话木马是指只有一行代码的木马,利用Web编程语言(asp、php、jsp、aspx)的某个函数来执行攻击命令,也称为webshell。

病毒、蠕虫、木马的区别

比较项目病毒蠕虫木马
存在形式代码片段独立个体独立个体
复制机制插入到宿主程序自身的拷贝自身的拷贝
传染机制宿主的运行系统存在的网络安全漏洞主动或被动植入到目标计算机
攻击目标本地文件网络上的计算机本地文件和系统、网络上的计算机
计算机使用者角色病毒传播的关键环节无关(通过程序自身)木马传播的关键环节
防治措施从宿主文件中清除为系统打补丁(Patch)停止并删除木马服务程序

恶意代码

  • 当前主流恶意代码形式是木马(占绝大多数)和蠕虫。
  • 不同恶意代码形式的界限越来越模糊,采用的技术有融合的趋势。

木马的工作原理

远程控制木马

  • 木马体系结构:C/S 架构,木马程序(服务器端) + 控制端程序(客户端)
  • 远程控制木马与远程控制软件的区别:
    • 隐蔽性: 木马被隐藏,避免被发现
    • 非授权性:木马程序不经授权控制主机

远程控制木马运行步骤

  • 远程控制木马进行网络入侵的过程:配置木马,传播木马,启动木马,建立连接,远程控制
    在这里插入图片描述

1 配置木马

  • 配置木马
    • 通信配置:监听端口、DNS、IP等
    • 功能配置:文件读取、键盘监听、截屏等
    • 安装配置:安装路径、文件名、是否删除安装文件、注册表启动项等

2 传播木马:木马植入

  • 木马植入技术可以分为主动植入与被动植入两类。
    • 主动植入:攻击者主动将木马程序种到本地或者是远程主机上,过程完全由攻击者主动掌握。
    • 被动植入:攻击者预先设置某种环境,然后被动等待目标系统用户的某种可能的操作,只有这种操作执行,木马程序才有可能植入目标系统。

  • 主动植入一般需要通过某种方法获取目标主机的一定权限,然后由攻击者自己动手进行安装。按照目标系统是本地还是远程的区分,这种方法又有本地安装与远程安装之分。
主动植入
  • 主动植入一般需要通过某种方法获取目标主机的一定权限,然后由攻击者自己动手进行安装
  • 按照目标系统是本地还是远程的区分,这种方法又有本地安装与远程安装之分。
  • 主动植入:由于在一个系统植入木马,不仅需要将木马程序上传到目标系统,还需要在目标系统运行木马程序,所以主动植入需要具有目标系统的写权限和可执行权限。
    • 本地安装:本地安装就是直接在本地主机上进行安装。在经常更换使用者的公共场所(如网吧、饭店、宾馆、咖啡店等)的计算机上,这种安装木马的方法更是非常普遍、有效。
    • 远程安装:通过常规攻击手段获得目标主机的一定权限后,将木马上传到目标主机上,并使其运行起来。
    • 例如,某些系统漏洞的存在,使得攻击者可以利用漏洞远程将木马程序上传并执行。从实现方式上,主要分为:
      • 利用系统自身漏洞植入: 主动攻击的方式,利用所了解的系统的安全漏洞及其特性主动出击
      • 利用第三方软件漏洞植入:利用第三方软件漏洞

被动植入

被动植入主要是利用以下方式将木马程序植入目标系统:

  • 网页浏览植入:利用Script/ActiveX控件/JavaApplet等编写出一个HTML网页,当浏览该页面时,会在后台将木马程序下载到计算机缓存中,然后修改系统注册表,使相关键值指向“木马”程序
  • 水坑攻击(Watering hole):在受害者必经之路设置一个“水坑(陷阱)”。黑客分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,先将此网站“攻破”并植入攻击代码,一旦攻击目标访问该网站就会“中招”。
  • 利用电子邮件植入:
    • 攻击者将“木马”程序伪装成E-mail附件的形式发送出去,收信人只要查看邮件附件就会使“木马”程序得到运行并安装进入系统
    • 通过在邮件内容内嵌WSH(Windows Scripts Host)脚本,用户不需要打开附件,仅仅浏览一下邮件的内容,附件中的木马就会被执行。
  • 利用网络下载植入:一些非正规的网站以提供软件下载为名,将木马程序伪装成用户所希望的其它软件,当用户下载安装时,实际上所安装的是木马程序。
  • 利用即时通工具植入:即时通工具有文件传输功能,有很多木马通过它传播。
  • 与其它程序捆绑:将木马与其它软件捆绑,用户在下载安装其它软件时就不自觉地也安装了木马
  • 利用移动存储设备植入:利用Windows的Autoplay(autorun.inf)机制,当插入U盘、移动硬盘或者光盘时,可以自动执行恶意程序。
    在这里插入图片描述

3 启动木马

  • 木马程序在被植入目标主机后,不可能寄希望于用户双击其图标来运行启动,只能不动声色地自动启动和运行,攻击才能以此为依据侵入被侵主机,完成控制。
  • Windows系统中木马程序的自动加载技术主要有:修改系统文件、修改系统注册表、添加系统服务、修改文件打开关联属性、修改任务计划、修改组策略、利用系统自动运行的程序、修改启动文件夹、替换系统DLL

4 建立连接

在这里插入图片描述
在这里插入图片描述

  • 远程控制木马的反弹技术
  • 优点:
    • 解决动态IP地址的问题;
    • 解决内网地址的问题;
    • 绕过防火墙的限制;
  • 缺点:容易暴露控制端
    在这里插入图片描述

5 远程控制

  • 木马连接建立后,客户端端口和服务器端口之间将会出现一条通道,客户端程序可由这条通道与服务器上的木马程序取得联系,并对其进行远程控制,主要包括:获取目标机器信息、记录用户事件、远程操作。
  • 获取目标机器信息:木马的一个主要功能就是窃取被控端计算机的信息,然后再把这些信息通过网络连接传送到控制端。
  • 记录用户事件:木马程序为达到控制目标主机的目的,通常需要记录用户的操作
  • 远程操作:重启被控制端计算机,或者强制关闭远程计算机,当被控制计算机重新启动时,木马程序重新获得控制权。木马使用者通过网络控制被控端计算机的鼠标和键盘,也可以通过这种方式启动或停止被控端的应用程序。对远程的文件进行管理,比如共享被控端的硬盘,之后就可以进行任意的文件操作。

木马隐藏技术

  • 木马的隐藏技术:
    • 启动隐藏
    • 木马文件/目录隐藏
    • 进程隐藏
    • 通信隐藏

启动隐藏

  • 隐藏自己,使得目标主机加载运行木马程序,而不被用户发现。
  • 各种木马自动加载技术
  • 无文件木马,通过其它软件来触发执行
  • 诱骗用户点击运行:如文件类型图标欺骗。用文档类(doc/docx/txt等)图标来隐藏可执行文件(exe)来欺骗受害者点击
    在这里插入图片描述

木马文件/目录隐藏

  • 通过某种方式使用户无法发现木马文件和目录
    • 隐藏在其它文件中:如无文件木马
    • 勾选文件/目录属性中的“隐藏”,文件浏览器不可见(除非开启显示所有文件)

进程隐藏

  • 隐藏木马进程,使得任务管理器等工具不可见.

    • 伪隐藏:程序的进程仍然存在,只不过是让它消失在进程列表里。
    • 真隐藏:让程序彻底的消失,不以一个进程或者服务的方式工作
  • 设置窗口不可见 (从任务栏中隐藏)

  • 把木马程序注册为服务 (从进程列表中隐藏)

  • 欺骗查看进程的函数 (从进程列表中隐藏)

  • 使用可变的高端口 (端口隐藏技术)

  • 使用系统服务端口 (端口隐藏技术)

  • 替换系统驱动或系统DLL (真隐藏技术)

  • 动态嵌入技术 (真隐藏技术

通信隐藏

  • 端口隐藏:现在大部分木马一般在控制主机后会在1024以上不易发现的高端口上驻留;有一些木马也会选择一些常用的端口,如80、23。
  • 有些木马利用80端口时,在收到正常的HTTP请求仍然把它交与Web服务器处理,只有收到一些特殊约定的数据包后,才调用木马程序。
  • 端口复用是重复使用系统中已经开启的端口,从而绕过防火墙的拦截。

  • 通信隐藏:非端口
  • 端口监听的缺点:木马在等待和运行的过程中,始终向外界打开着一个端口,容易暴露
  • 不使用端口:利用非TCP/UDP协议,如ICMP协议。
    • 在没有激活时是没有端口开放的,ICMP木马监听ICMP报文,当出现特殊报文时,它打开TCP端口等待控制端的连接。
  • 通过中间方交换信息:电子邮件、网盘、网页

恶意代码检测与防御

  • 静态检测(特征检测):根据恶意代码的特征码(代码散列码、代码中的关键字、字节串、特定端口等)进行检测
  • 动态检测:根据恶意代码执行后的异常行为进行检测

特征检测

  • 特征码检测技术
    • 优点是简单、检测速度快、准确率高
    • 不足:不能检测未知恶意软件,对于恶意代码变体的容忍度也很低,稍微变形便无法识别;用户需要不断地升级(离线或在线)杀毒软件特征库,同时随着特征库越来越大,检测的效率会越来越低。

动态检测

  • 动态检测技术基于定义的恶意代码异常行为规则,实时监控进程的动态行为,当发现有违犯规则的行为出现,则给出异常告警。这些行为主要包括:文件行为、进程行为、网络行为、注册表行为。
  • 与特征码静态检测技术相比,动态检测技术能够检测未知恶意代码、恶意代码的变种,不足:产生的误报率较高,且不能识别出病毒的名称和类型等。

  • 沙箱检测:在沙箱(Sandbox)中运行木马,观察其行为,应对加壳、多态、功能代码动态生成、隐蔽通信等各种逃避检测的技术。

机器学习方法

  • 机器学习:应对海量恶意代码的检测。
  • 常见的用于恶意代码检测的机器学习算法有:普通机器学习方法,如支持向量机( SVM)、随机森林(RF)、朴素贝叶斯(NB)等
  • 深度机器学习算法,如深度神经网络(DNN)、卷积神经网络(CNN)、长短时记忆网络, LSTMN)、图卷积网络(GCN)等
  • 优势:在大规模样本检测能力
  • 不足:检测的准确率还有待提高、对计算能力的要求比较高
    在这里插入图片描述

恶意代码防范

  • 常用的防范恶意代码措施:
    • 及时修补漏洞,安装补丁
    • 培养风险意识,不使用来历不明的软件
    • 不打开可疑短信、邮件及其附件
    • 安装杀毒软件且不关闭查杀功能,即时发现,即时清除
    • 移动存储设备:用前查杀
    • 关闭不必要的网络端口和服务
  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值