首页 > 其他分享 >【恶意代码】那些事

【恶意代码】那些事

时间:2024-08-03 22:05:59浏览次数:12  
标签:恶意代码 代码 系统 技术 隐蔽 那些 监控

一、什么是恶意代码

恶意代码(Unwanted Code) 是指故意编制或设置的对网络或系统会产生威胁或潜在威胁的计算机代码。最常见的恶意代码有计算机病毒(简称病毒)、特洛伊木马 (简称木马)、计算机蠕虫 (简称蠕虫)、后门、逻辑炸弹等等。

二、恶意代码的分类

恶意代码分类
恶意代码的分类标准主要是代码的独立性和自我复制性。


不同恶意代码的区别:

病毒侧重于破坏系统和程序的能力,木马侧重于窃取敏感信息的能力,蠕虫侧重于网络中的自我复制能力和自我传染能力

常见的恶意代码:

三、恶意代码基本技术

  • 隐蔽技术
    

    ➢  文件隐蔽:将恶意代码的文件命名为与系统的合法程序文件名相似的名称,或者干脆取而代之或者将恶意代码文件附加到合法程序文件中。

    ➢  进程隐蔽:附着或替换系统进程,使恶意代码以合法服务的身份运行,从而隐蔽恶意代码。还可以通过修改进程列表程序,修改命令行参数使恶意代码进程的信息无法查询。也可以借助RootKit技术实现进程隐蔽。

    ➢  网络连接隐蔽:借用现有服务的端口实现网络连接隐蔽,如使用80端口,攻击者在自己的数据包设置特殊标识,通过标识识别连接信息,未标识的www服务网络包仍转交给原服务程序外理。

    ➢  编译器隐蔽:由编译器在对程序代码进行编译时植入恶意代码,从而实现恶意代码在用户程序中的隐藏和原始分发攻击。恶意代码的植入者是编译器开发人员。

    ➢  RootKit隐蔽:利用适当的Rootkit工具,可以很好的隐蔽自身或指定的文件、进程和网络连接等,很难被管理员发现。
    ➢  通信内容隐蔽:使用加密算法对所传输的内容进行加密能够隐蔽通信内容。

    ➢  传输通道隐藏:利用隐蔽通道技术,实现对传输通道的隐蔽。(隐蔽通道(Covert Channel) 是一个不受安全机制控制的、利用共享资源作为通信通路的信息流。包括有:存储隐通道和时间隐蔽通道。

  • 生存技术
    

    恶意代码的生存技术主要包括四种类型:

    ➢  反跟踪技术:通过提高恶意代码分析难度,减少被发现的可能性。

    ➢  加密技术:利用加密技术,提高恶意代码自身保护能力。

    ➢  模糊变换技术:利用模糊变换技术,恶意代码可以躲避基于特征码的恶意代码检测系统,提高生存能力。

    ➢  自动生产技术:利用自动生成技术,在已有的恶意代码的基础上自动生成特征码不断变化的新的恶意代码,从而躲避基于特征码的恶意代码检测。
  • 攻击技术
    
    ➢  进程注入技术:恶意代码程序将自身嵌入到操作系统和网络系统的服务程序中,不但实现了自身的隐藏,而且还能随着服务的加载而启动。

    ➢  三线程技术:恶意代码进程同时开启三个线程其中一个为主线程,负责远程控制的工作。另外两个辅助线程分别是监视和守护线程。一旦发现主线程被删除,则立即设法恢复。

    ➢  端口复用技术:重复利用系统或网络服务打开的端口(如80端口),可以欺骗防火墙,具有很强的欺骗性。

    ➢  超级管理技术:恶意代码采用超级管理技术对反恶意代码软件系统进行攻击,使其无法正常运行。

    ➢  端口反向连接技术:指使恶意代码的服务端(被控制端)主动连接客户端(控制端)的技术。

    ➢  缓冲区溢出技术:恶意代码利用系统和网络服务的安全漏洞植入并且执行攻击代码,造成缓冲区溢出,从而获得被攻击主机的控制权。

四、恶意代码传播方式及攻击机制

    ➢  利用操作系统和应用软件的漏洞进行传播

    ➢  通过网站传播:在网页上挂载恶意代码,如主机浏览该网页时,恶意代码会自动下载到主机执行。

    ➢  将恶意代码与正常应用软件捆绑如:主机下载正常软件运行时,恶意代码也随之自动运行。

    ➢  利用移动媒介传播:如主机访问U盘和硬盘时,恶意代码可以自动执行。

    ➢  利用用户之间的信任关系传播:如冒充用户发送虚假链接、图片、邮件等。

(1)侵入系统
侵入系统是恶意代码实现其恶意目的的必要条件。恶意代码入侵的途径很多,包括前面传播方式的各种途径。

‍(2)维持或提升权限
恶意代码的传播与破坏必须盗用用户或者进程的合法权限才能完成。

‍(3)隐蔽策略
为了不让系统发现恶意代码已经侵入系统,恶意代码可能会改名、删除源文件或者修改系统的安全策略来隐藏自己。

(4)潜伏
恶意代码侵入系统后,等待一定的条件并具有足够的权限时,就发作并进行破坏活动。

‍(5)破坏
恶意代码本质具有破坏性,其目的是造成信息丢失,泄密,破坏系统完整性等。

(6)重复

重复(1)至(6)对新的目标实施攻击过程。

七、恶意代码分析技术

通过反病毒引擎扫描识别已知的恶意代码家族和变种名。逆向分析恶意代码模块构成,内部数据结构,关键控制流程等,理解恶意代码的机理,并提取特征码用于检测。

(1)恶意代码扫描:

目的:标识已知恶意代码
使用工具:反病毒引擎

使用现成的反病毒软件来扫描待分析的样本,以确代码是否含有病毒。
(2)文件格式识别:

目的:确定攻击平台和类型,获知恶意代码所期望的运行平台

恶意代码通常是以二进制可执行文件格式存在的,其他的存在形式还包括脚本文件、带有宏指令的数据文件、压缩文件等。
(3)字符串提取分析:

目的:寻找恶意代码分析线索

有时恶意代码的作者会在自己的作品中放入某个特定的url或email地址,或者恶意代码会使用到某个特定的库文件和函数。利用字符串提取技术,可以帮助我们分析恶意代码的功能和结构。

可能获得的有用信息:恶意代码实例名、帮助或命令行选项、用户会话、后门口令、相关URL信息、Email地址、库、函数调用……

(4)加壳识别

目的:识别是否加壳,加壳类型

壳的分类:压缩壳、加密壳、伪装壳等等。

常见壳::UPX, PEPack, ASPack, PECompact

壳识别:peid, VMUnpacker

(5)代码脱壳

目的:对抗代码混淆,恢复原始代码

恶意代码的加壳会对深入的静态分析构成阻碍,因此对加壳进行识别以及代码脱壳是支持恶意代码静态分析一项关键性的技术手段。

方法:自动脱壳工具、手工脱壳 (寻找程序入口点,dump出程序,修复PE文件(导入、导出表等)

(6)反汇编

目的:二进制代码 → 汇编代码

(7)反编译:

目的:汇编代码 → 高级语言
工具:Java反编译、C/C++反编译

通过在受控环境中执行目标代码,以获取目标代码的行为及运行结果。

(1)快照比对:

目的:获取恶意代码行为结果

对原始的“干净”系统资源列表做一个快照,然后激活恶意代码并给予充分的运行时间,如5分钟,之后我们再对恶意代码运行后“脏”的系统资料列表进行快照,并对比两个快照之间的差异,从而获取恶意代码行为对系统所造成的影响。常使用的工具有:FileSnap,RegSnap,完美卸载等。

(2)系统动态行为监控(API Hooking):

目的:实时监控恶意代码动态行为轨迹

行为监控技术,Notification机制 (Win32/Linux系统本身提供的行为通知机制),API Hooking技术 (对系统调用或API调用进行劫持,监控行为)动态行为监控、文件行为监控、注册表监控、进程行为监控、完整的动态行为监控

(3)网络协议栈监控方法:

目的:分析恶意代码网络监听端口及发起网络会话

可从本地网络上的其他主机来检测承受恶意代码攻击的机器的行为,如恶意代码所开放的TCP或UDP端口,对外发起的网络连接和通信会话等。

(4)沙箱技术:

目的:在受控环境下进行完整的恶意代码动态行为监控与分析

沙箱是一项安全技术,它提供了受限制的执行环境,使得在沙箱中运行的代码不能修改用户系统,从而提供了一个用于运行不可信程序的安全环境。

标签:恶意代码,代码,系统,技术,隐蔽,那些,监控
From: https://www.cnblogs.com/o-O-oO/p/18341188

相关文章

  • 那些日子 二十九
    什么是你的长期项目?这个是在看周五刊物《阮一峰的网络刊物》看到的一句话。在之前看文章时,看过一句话叫做“跟长期主义者为伍”,这个长期主义者当时被翻译为longrunner,还以为是长跑运动员的意思,但是实际上坚持一件事要付出的努力、毅力是长跑运动员那样的,这翻译或是比喻也是比较......
  • 那些日子 二十八
    最近一段时间在手机上记录的少了,反而下班回到出租屋,刷完国球视频后,能安心地在笔记本上敲敲字了。这篇我想以《我与马龙的35岁》做题,虽然题虽如此,却深知自己也不是什么奥运冠军,但就这几天刷国球视频了解到的,马龙也35岁了,而他的35岁,即将完成最后一次奥运会比赛,就退役了。在我看来,......
  • axios中的那些天才代码!看完我实力大涨!
    ......
  • Python实现基于卷积神经网络的恶意代码分类系统(设计思路概述)
    这个设计是关于一个基于卷积神经网络(CNN)的恶意代码分类系统,其主要目标是对恶意代码进行自动分类,帮助用户识别并防范不同类型的恶意软件。以下是该系统的设计思路、方法及实现过程的详细解释:设计思路恶意代码图像化:由于直接对恶意代码的源代码或二进制形式进行分类难度较......
  • Python实现基于卷积神经网络的恶意代码分类系统
    目录摘要IABSTRACTII1绪论11.1研究背景与意义11.2国内外研究现状21.3技术路线32相关知识背景52.1恶意代码检测概述52.2深度学习技术基础62.2.1卷积神经网络基本结构72.2.2激活72.2.3池化83基于卷积神经网络的恶意代码分类方法103.1卷......
  • 关于嵌入式那些事?
    嵌入式系统,作为现代科技的核心之一,无处不在。从智能家居到汽车电子,再到医疗设备,嵌入式系统的应用无所不包。今天,我们来聊聊嵌入式那些事,揭开它神秘的面纱。如今,物联网、AI、5G的发展都离不开嵌入式系统,它就好比一个乐高拼图,只要你会“玩”,就会发生意想不到的性能。那么到底什......
  • 收藏多年的线程安全问题大全笔记(1),笔记一生一起走,那些日子不再有
    本篇会加入个人的所谓鱼式疯言❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言而是理解过并总结出来通俗易懂的大白话,小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.......
  • rar文件怎么转换为zip文件方法有那些?
    压缩文件的格式有很多种,比如RAR、ZIP、7-Zip、CAB、ARJ、ACE、TAR、BZ2等等。因为需求不同,或者不同平台对上传的压缩包格式要求不同,我们往往需要把压缩文件进行格式转换,那压缩文件不同格式之间如何进行转换呢?尤其是常用的rar怎么转换zip格式文件。如果压缩文件数量非常多,这......
  • YOLOV8训练过程中的那些事
    经过一系列的折腾,终于可以开始训练模型了,好在官网上提供了多种情况下的训练代码,直接使用即可。官网提供的代码如下:点击查看代码fromultralyticsimportYOLO#加载模型model=YOLO("yolov8n.yaml")#从YAML中创建一个新的模型model=YOLO("yolov8n.pt")#使用一个......
  • 那些日子 二十六
    昨天大概10点多钟的样子早睡下了。早上又是开始下雨,望向窗户外面都是烟雨朦胧的样子。直到吃完午饭,才回到上班的感觉,但是这样的感觉并不是很好。就在前面我提到的几个老朋友,他们有几个不是“上班族”,当然了,有的就算是自己开店也是给自己家打工嘛,不过相比较给其他人打工而言,给自......