6.4 恶意代码

news2024/10/5 19:09:54

数据参考:CISP官方 

目录

  • 恶意代码概念及发展历程
  • 恶意代码的传播方式
  • 恶意代码防护

一、恶意代码概念及发展历程

1、什么是恶意代码 

什么是恶意代码

  • 《中华人民共和国计算机信息系统安全保护条例》第二十八条:“计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用。并能自我复制的一组计算机指令或者程序代码 (1994.2.18)
  • 恶意代码,是指能够引起计算机故障,破坏计算机数据,影响计算机系统的正常使用的程序代码或指令

类型

  • 二进制代码、脚本语言、宏语言等

表现形式

  • 病毒、蠕虫、后门程序、木马、流氓软件、逻辑炸弹等

2、恶意代码发展历程

孕育和诞生

  • 1949:冯·诺依曼在《复杂自动机组织论》提出概念
  • 1960:生命游戏(约翰·康维)  磁芯大战 (贝尔实验室三名程序员)
  • 1977年科幻小说《P-1的青春》使得恶意程序有了计算机病毒的名称
  • 1983:真正的恶意代码在实验室产生

初现狰狞

  • 1986年 一 第一个PC病毒:巴基斯坦病毒 ( Brain virus)
  • 1988年 一 第一蠕虫病毒:莫里斯蠕虫 ( Morris worm)
  • 1990年 一 第一个多态病毒
  • 1991年 一 病毒生产机、DIR2 (引导区病毒)
  • 1995年 一 首次发现宏病毒
  • 1998年 一 第一个木马 ( back orifice)
  • 1998年 一 第一个破坏计算机硬件的病毒(CIH )

 

全面开花、蠕虫时代

  • 1999年 一 梅丽莎蠕虫、分布式拒绝服务工具 (TFT/trin00)
  • 2000年 一 love Bug(Vbscript)
  • 2001年 一 红色代码蠕虫 ( Code red worm)
  • 2001年 一 尼姆达蠕虫 ( Nimda worm)
  • 2002年 一 SQL蠕虫王 ( SQL Slammer)
  • 2003年 一 冲击波/震荡波蠕虫 ( Msblaster/ Sasser)
  • 2003年 一 中文上网
  • 2006年 一 熊猫烧香 

成为网络战武器

  • 2010年 一 震网病毒,对伊朗核工厂中离心机精准无情的攻击
  • 2017年 一 想哭 ( Nanna Cry) 勒索病毒,影响和损失都规模都远超想象

 

二、恶意代码的传播方式

1、利用文件进行传播

感染文件(嵌入恶意代码)

        攻击者将恶意代码嵌入常见文件格式(如文档、图片、音频、视频等),通过共享、下载或传输这些文件来传播恶意软件。

  • 可执行程序:.exe、com、pif
  • 动态链接库文件、系统文件
  • 支持宏的文档:Word、EXce、PPT等

软件捆绑

        将恶意软件捆绑在合法软件的安装包中,当用户安装这些软件时,恶意软件也会被安装并运行。

  • 将自身与正常软件合并
  • 软件安装时默认、强制安装上

移动存储

        利用可移动存储介质(如USB闪存驱动器、移动硬盘等)传播恶意软件,当用户将感染文件从一个设备传输到另一个设备时,恶意软件也会被传播。

自动播放功能

  • 对于自动播放功能,Windows默认提供了自动执行功能。当插入可执行内容(如光盘、USB设备)时,系统会检测并自动执行autorun.inf文件指定的操作。

应对设置(组策略编辑器 )

  • 打开组策略编辑器:按下Win + R组合键打开运行窗口,输入"gpedit.msc"并按回车键打开组策略编辑器。

  • 导航到“计算机配置”:在组策略编辑器窗口的左侧面板中,展开“计算机配置”。

  • 找到“管理模板”:在“计算机配置”下,展开“管理模板”。

  • 寻找自动播放设置:在“管理模板”下,找到并展开“Windows组件”。然后,在列表中找到“自动播放策略”。

  • 调整自动播放设置:在“自动播放策略”下,你可以看到各种自动播放设置,如“关闭自动播放”、“只显示通知”、“仅限可移动介质”等。双击相应设置以打开设置窗口,并选择所需的选项。

  • 应用和保存更改:完成设置后,点击“确定”按钮保存更改。

攻击者上传

        攻击者直接将恶意文件上传到目标系统或网络上,其他用户下载或访问该文件时可能会被感染。

  •  利用系统提供的上传渠道 (FTP、论坛等)
  • 攻击者已经获得系统控制权
  • 攻击者是系统开发者

2、利用网络进行传播

网页

        恶意网页可以通过钓鱼网站、恶意广告等方式来诱使用户点击,从而触发恶意软件的下载和安装。

  • 将木马伪装为页面元素
  • 利用脚本运行的漏洞
  • 伪装为缺失的组件
  • 通过脚本运行调用某些组件
  • 利用软件漏洞,例如:在渲染页面内容的过程中利用格式溢出释放或下载木马

 

电子邮件

        攻击者通过发送含有恶意附件或恶意链接的电子邮件,诱使用户打开附件或点击链接,从而让恶意软件传播到用户的设备上。

社会工程学

  • 欺骗性标题:攻击者在电子邮件、短信或社交媒体消息的标题中使用具有误导性的词语或引人注意的内容,以吸引受害者的兴趣或好奇心。
  • 吸引人的标题:攻击者编写具有吸引力的标题,如特价优惠、抽奖中奖等内容,以引起用户的兴趣,并进一步引导他们点击链接或下载恶意文件。
  • ......

利用系统及邮件客户端漏洞

  • 尼姆达 (畸形邮件MME头漏洞) :尼姆达是一种利用邮件客户端漏洞进行的攻击。攻击者可以通过构造恶意的电子邮件消息头中的非标准或异常内容,来利用邮件客户端的漏洞,实现操纵、感染或控制用户设备的目的。

 

即时通讯

        攻击者利用即时通讯软件(如QQ、微信等)发送包含恶意文件或链接的消息,引诱接收者点击或下载,从而传播恶意软件。

即时通讯

  • 伪装即时通讯中的用户向其联系人发送消息。使用欺骗性或诱惑性的字眼

其他服务

  • P2P下载,伪造有效资源进行传播
  • FTP下载,文件资源中携带恶意代码 
  • ......

3、利用漏洞进行传播

软件漏洞

        攻击者利用已知或新发现的软件漏洞,通过特定的攻击代码或恶意文件来利用该漏洞,使受影响的软件在被攻击的系统上运行恶意代码。

  • 弱口令、默认账户口令
  • 权限控制不足

配置漏洞

        攻击者利用目标系统配置上的漏洞,通过修改系统配置或利用系统不当配置来传播恶意软件。例如,默认密码、未更新的系统补丁等配置问题都可能被攻击者利用。

  • 缓冲区溢出:缓冲区溢出是一种利用程序中缓冲区边界检查不足的漏洞。攻击者向程序输入超过目标缓冲区容量的数据,从而覆盖相邻内存区域并执行恶意代码。
  • 注入攻击:注入攻击是指攻击者通过将恶意代码注入到应用程序或数据库查询中,来执行非法操作或获取敏感信息。常见的注入攻击包括SQL注入和跨站脚本攻击(XSS)。
  • 文件上传失控:文件上传失控漏洞允许攻击者上传恶意文件到服务器,从而执行任意代码或获取系统权限。
  • ......

三、恶意代码防护

1、预防技术

安全管理

制定管理制度规范行为
  • 计算机怎么使用
  • 软件怎么安装
  • U盘什么情况下可以使用
  • 上网行为那些是正确的,哪些是错误的
  • ......
实施培训增强安全意

加强防护

  • 系统补丁、安全配置及加固
  • 防护软件:防病毒软件、软件防火墙、勒索软件防护等

减少损失

  • 数据备份

2、补丁及安全配置

修补系统漏洞,掐掉恶意代码传播途径

3、防病毒软件

工作机制:特征匹配

  • 病毒库 (恶意代码特征库)
  • 扫描 (特征匹配过程)

优势

  • 准确 (误报率低)
  • 易于管理

不足

  • 效率问题 (特征库不断庞大、依赖厂商)
  • 滞后 (先有病毒后有特征库,需要更新特征库)
  • .......

 

4、防火墙及勒索病毒防护

防火墙

  • 保护操作系统及应用,阻止非授权连接
  • 较好应对各类蠕虫病毒
  • 配置较复杂,大部分用户使用默认策略

勒索病毒防护

  • 对特定文件夹的写入操作进行阻止
  • 对疑是勒索病毒行为进行操作阻止
  • ......

备份数据

数据是系统中最有价值的资产

良好的备份策略和行为能降低恶意代码导致的损失

  • 数据备份方式:手工操作、脚本执行、专业工具
  • 数据备份介质:U盘、固态硬盘、机械硬盘、光盘、磁带、云盘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/886067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VMware虚拟机下载与安装

VMware虚拟机下载与安装 目录 VMware虚拟机下载与安装[TOC](目录) 概述 1. 下载虚拟机1.1 访问官网1.2 点击产品菜单,然后选择产品 VMware Workstation Pro1.3 选择试用版下载 2.安装虚拟机2.1 右键点击安装包,选择以管理员身份运行2.2 按照说明进行安装…

玩转VS code 之 C/C++ 环境配置篇

PS:俺是菜鸟,整理和踩坑试错花了不少时间,如果这篇文章对您有用的话,请麻烦您留下免费的赞赞,赠人玫瑰,手留余香,码字踩坑不易,望三连支持 上一篇:玩转 VS code 之下载篇…

数字人如何赋能汽车品牌营销线下实时交互?

为了进一步巩固和拓展消费群体,扩大品牌影响力,别克汽车在线下开展了新品体验日活动,在品鉴会现场数字人影萱作为神秘嘉宾惊喜亮相,与现场嘉宾和众多媒体同屏实时互动,这虚拟与现实的碰撞互动形式,让现场嘉…

复合 类型

字符串和切片 切片 切片的作用是允许你引用集合中部分连续的元素序列,而不是引用整个集合。 例如: let s String::from("hello world");let hello &s[0..5]; // 切片 [0,5) 等效于&s[..5] let world &s[6..11]; // 切片…

Puppeteer vs Selenium的主要区别

Puppeteer vs. Selenium:他们来自哪里? Google Puppeteer是一个 Node.js 库和浏览器测试框架。该技术旨在提供高级应用程序编程接口,以通过 DevTools 协议控制无头 Chrome。Selenium 支持多种浏览器和语言,而 Puppeteer 只专注于 …

Leetcode-每日一题【剑指 Offer 32 - III. 从上到下打印二叉树 III】

题目 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20…

清风数学建模——拟合算法

拟合算法 文章目录 拟合算法概念 确定拟合曲线最小二乘法的几何解释求解最小二乘法matlab求解最小二乘法如何评价拟合的好坏计算拟合优度的代码 概念 在前面的篇幅中提到可以使用插值算法,通过给定的样本点推算出一定的曲线从而推算出一些想要的值。但存在一些问题…

设计模式之原型模式详解

前言 在设计模式的系列文章中,我们前面已经写了工厂模式、单列模式、建造者模式,在针对创建型模式中,今天想跟大家分享的是原型模式,我觉的这种模式叫克隆模式会更佳恰当。原型模式的目的就是通过复制一个现有的对象来生成一个新…

vite4+vue3+electron23.3+ts桌面应用bs端开发 打包windows、linux、max三个系统的安装包

vite4vue3electron23.3ts桌面应用bs端开发 打包windows、linux、max三个系统的安装包 主要包依赖 "electron-store": "^8.1.0", //全局数据状态管理,可选择性安装"electron": "23.3.8","electron-builder": &q…

驱动控制LED灯

编写驱动代码,初步实现串口输入逻辑控制开发板的LED灯的亮灭 代码示例 head.h #ifndef __HEAD_H__ #define __HEAD_H__typedef struct {unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPD;unsigned int IDR;unsigned int ODR; }gp…

PDManer元数建模

学习文档 PDManer元数建模-v4-操作手册 (yuque.com)https://www.yuque.com/pdmaner/docs/pdmaner-manual#goEFW 建表 -- 创建用户表2 -- 创建用户表2 √ create table USER_TEST_WXX2 ( -- 主键自增generated by default as identity primary keyUSER_ID NUMBER g…

JAVA基础知识(一)——Java语言描述、变量和运算符

TOC(Java语言描述、变量和运算符) 一、JAVA语言描述 1.1 java语言描述 JDK、JRE、jVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些? JDKJre java的开发工具(javac.exe java.exe javadoc.exe) jre jvmjava的核心类库 为什…

【Linux】【驱动】应用层和驱动层传输数据

【Linux】【驱动】应用层和驱动层传输数据 绪论1.如果我在应用层使用系统0 对设备节点进行打开,关闭,读写等操作会发生什么呢? 2 我们的应用层和内核层是不能直接进行数据传输的3 驱动部分的代码4 应用代码5 编译以及运行代码 绪论 Linux一切皆文件! 文…

Matplotlib学习挑战第五关--绘制多图subplot() 和 subplots()

Matplotlib 绘制多图 我们可以使用 pyplot 中的 subplot() 和 subplots() 方法来绘制多个子图。 subplot() 方法在绘图时需要指定位置,subplots() 方法可以一次生成多个,在调用时只需要调用生成对象的 ax 即可。 1、subplot subplot(nrows, ncols, in…

2.阿里云对象存储OSS

1.对象存储概述 文件上传,是指将本地图片、视频、音频等文件上传到服务器上,可以供其他用户浏览或下载的过程。文件上传在项目中应用非常广泛,我们经常发抖音、发朋友圈都用到了文件上传功能。 实现文件上传服务,需要有存储的支持…

驱动DAY3 控制三盏灯亮灭

1.头文件 #ifndef __HEAD_H__ #define __HEAD_H__ //LED1 PE10 和 LED3 PE8 #define PHY_LED1_MODER 0X50006000 #define PHY_LED1_ODR 0X50006014 #define PHY_LED1_RCC 0X50000A28 //LED2 PF10 #define PHY_LED2_MODER 0X50007000 #define PHY_LED2_ODR 0X50007014#endif 2…

Scractch3.0_Arduino_ESP32_图形化编程学习_Blynk一键配网点灯(七)

IO中断 目的器材程序联系我们 目的 使用自动配网连接Blynk 自动配网 Blynk 器材 硬件: 齐护机器人C02 购买地址 软件: scratch3.0 下载地址:官网下载 程序 程序上传后,在一定时间内联不上网会自动进入智能配网状态,如下图所示。 打开手机搜索名为…

AI芯片暴涨!沙特、阿联酋等国加入抢货行列 | 百能云芯

在全球半导体市场中,一场异常激烈的竞争正在酝酿,引发了各国科技巨头和企业的争相购买英伟达AI芯片的浪潮。除了美国科技大厂之外,包括百度、字节跳动、阿里等中国企业在内,沙特阿拉伯与阿拉伯联合酋长国也纷纷加入了这场角逐&…

【路由协议】使用按需路由协议和数据包注入的即时网络模拟传递率(PDR)、总消耗能量和节点消耗能量以及延迟研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

根据二叉树创建字符串

题目:给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。 空节点使用一对空括号对 "()" 表示,转化后需要省略所有不影响字符串与原始二叉树之间的一对…