一种动态防御策略——移动目标防御(MTD)

2024-09-02 11:36

本文主要是介绍一种动态防御策略——移动目标防御(MTD),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章速览:

1、高级规避攻击

2、用移动目标防御对抗欺骗

  • 常见做法
  • 操作系统和应用程序才是真正的战场
  • 打破游戏规则

网络攻击的技术变得愈发难测,网络攻击者用多态性、混淆、加密和自我修改乔装他们的恶意软件,以此逃避防御性的检测,于是移动目标防御(MTD)技术出现了,通过动态地改变攻击面,有效地对抗日益复杂和隐蔽的网络攻击。

一、高级规避攻击

高级规避攻击可以反复修改网络攻击,包括其源、静态签名和行为签名,它们隐藏了防御系统的恶意意图。这些欺骗手段使传统的防御机制力不从心,攻击者明确地知道他们要攻击谁,何时何地,使用什么武器,而防御者却始终处于不确定状态。我们来看一些常见类型的高级规避攻击技术。

1、多态性通常被攻击者用来躲避反病毒软件的检测

通过加密恶意软件的有效载荷(包括代码和数据),攻击者可以获得两大优势:首先,攻击者可以通过使用多个加密密钥轻松生成同一恶意软件的不同实例。这使得基于签名的反恶意软件设施失去作用,因为新的实例具有新的、未知的静态签名。其次,恶意软件可以绕过更深入的静态分析,因为其代码和数据是加密的,因此不会暴露在扫描仪面前。利用变形技术,恶意软件的作者在每次执行时都会改变内存代码,从而使检测变得更加复杂。

2、多态性和变态性的目的是躲避自动扫描和内存扫描

利用混淆技术,恶意软件的编写者可以编写出人类分析人员难以理解的代码。具体做法是在有效载荷中加入模糊字符串、虚假代码和复杂的函数调用图,这些代码可以在恶意软件的每个实例中随机生成。

3、反虚拟机和反沙箱机制是另一种先进的攻击方法

沙箱和虚拟机是恶意软件分析人员必不可少的工具。这些方法可以检测恶意软件是否在虚拟化或沙盒环境中运行。如果检测到虚拟机或沙箱,恶意软件就会改变其行为,避免任何恶意行为。一旦在真实系统上执行,在被标记为良性后,恶意软件就会开始其恶意活动。

4、反调试技术被用来来避免调试和运行时分析

如果在运行过程中,恶意软件检测到调试工具正在运行,它就会改变执行路径,执行良性操作。一旦恶意软件不受运行时检查,它就会开始其恶意行为。

5、加密和有针对性的漏洞利用

为了避免被发现,URL模式、主机服务器、加密密钥和漏洞名称在每次发送时都会改变。这些漏洞利用程序还可以通过限制从同一IP地址访问漏洞利用程序的次数来躲避蜜罐。最后,某些类型的攻击只有在真正的用户交互(如网页滚动)之后才开始利用阶段。这样,攻击者就能确保在真实机器上执行,而不是进行自动动态分析。

二、用移动目标防御对抗欺骗

然而,攻击者使用的欺骗技术也可以被防御者利用来反向平衡。移动目标防御(MTD)就是这样一种防御技术。

(一)常见做法

在实践中,移动目标防御安全主要分为三类:

  • 网络级MTD
  • 主机级MTD
  • 应用程序级MTD

1、网络级MTD包括多年来开发的几种机制。IP跳转会改变主机的IP地址,从而增加攻击者看到的网络复杂性。后来,这一想法被扩展为允许以透明方式保持主机IP变更。通过保留真实主机的IP地址,并将每台主机与一个虚拟随机IP地址关联起来,从而实现了透明性。有些技术的目的是在网络映射和侦察阶段欺骗攻击者。这些技术包括使用随机端口号、额外开放或关闭的端口、伪造监听主机和混淆端口跟踪。这包括防止操作系统识别的随机网络服务响应。

2、主机级MTD包括更改主机和操作系统级资源、命名和配置,以欺骗攻击者。

3、应用程序级MTD包括更改应用程序环境以欺骗攻击者。微软推出的地址空间布局随机化(ASLR)实现了MTD的基本水平。它包括随机安排进程地址空间的内存布局,使对手更难执行其shellcode。其他技术包括改变应用程序类型和版本,并在不同主机之间轮换使用。一些应用程序级MTD使用不同的设置和编程语言编译源代码,每次编译都会生成不同的代码。

下表概述了不同类别MTD中使用的常用技术:

(二)操作系统和应用程序才是真正的战场

移动目标防御模式打破了攻防双方之间的不对称。现在,攻击者也必须在不确定和不可预测的情况下行动。

虽然网络级MTD提供了一定的弹性,但随机化IP地址、网络拓扑结构和配置并不是有效的防御手段。攻击者的最终目的地是位于网络、防火墙和路由器后面的主机、服务器和终端。操作系统和应用程序是0日漏洞、恶意软件和高级持续性威胁(APT)的有利可图的目标,是攻击者与防御者斗争的主要战场。

操作系统和应用程序层面的MTD大有可为;为了成功发起攻击,攻击者必须收集切实的情报,并对目标操作系统和应用程序做出假设。这些信息需要包括相关版本、配置、内存结构、资源名称等因素。如果攻击者将攻击步骤建立在错误元素(即使是一个内存地址)的基础上,攻击就会失败。

(三)打破游戏规则

Morphisec以攻击者无法追踪的方式对应用程序和操作系统进行环境修改,从而将移动目标防御提升到一个新的水平。因此,对攻击者而言,每次函数调用、地址跳转或资源访问都有可能失败,同时攻击、其发起者和来源也会完全暴露。在这种情况下,攻击的成本会急剧上升,而成功的概率则会下降到接近于零。这些因素加在一起,使得攻击在实际和经济上都不那么可行。

移动目标防御与基于检测的保护模式截然不同,后者必须首先检测或预测恶意活动,才能阻止其发生。人工智能和机器学习确实能更好、更快地进行检测,但也受到限制,因为要检测到威胁,需要对威胁有一定程度的了解,且高级闪避攻击仍具有不可预测性。而移动目标防御迫使攻击者在不确定的战场上作战,从而彻底改变了冲突规则。

题外话

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:

  • 2023届全国高校毕业生预计达到1158万人,就业形势严峻;
  • 国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

2022届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。

 “没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。 

网络安全行业特点

1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

 2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。

 行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

 1.学习路线图 

 攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

 

 (都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。 

 因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。 

 还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

 最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

 因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取 

这篇关于一种动态防御策略——移动目标防御(MTD)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1129844

相关文章

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

动态规划---打家劫舍

题目: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 思路: 动态规划五部曲: 1.确定dp数组及含义 dp数组是一维数组,dp[i]代表

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

我在移动打工的日志

客户:给我搞一下录音 我:不会。不在服务范围。 客户:是不想吧 我:笑嘻嘻(气笑) 客户:小姑娘明明会,却欺负老人 我:笑嘻嘻 客户:那我交话费 我:手机号 客户:给我搞录音 我:不会。不懂。没搞过。 客户:那我交话费 我:手机号。这是电信的啊!!我这是中国移动!! 客户:我不管,我要充话费,充话费是你们的 我:可是这是移动!!中国移动!! 客户:我这是手机号 我:那又如何,这是移动!你是电信!!

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

简单的角色响应鼠标而移动

actor类 //处理移动距离,核心是找到角色坐标在世界坐标的向量的投影(x,y,z),然后在世界坐标中合成,此CC是在地面行走,所以Y轴投影始终置为0; using UnityEngine; using System.Collections; public class actor : MonoBehaviour { public float speed=0.1f; CharacterCo

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

LeetCode:64. 最大正方形 动态规划 时间复杂度O(nm)

64. 最大正方形 题目链接 题目描述 给定一个由 0 和 1 组成的二维矩阵,找出只包含 1 的最大正方形,并返回其面积。 示例1: 输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4 示例2: 输入: 0 1 1 0 01 1 1 1 11 1 1 1 11 1 1 1 1输出: 9 解题思路 这道题的思路是使用动态规划