移动目标防御的基本观点认为绝对的安全是不可能实现的,因而更加关注如何使系统能够在可能遭受损害的环境下连续地安全运行,并不追求建立一种完美无瑕的防御体系来对抗各种形式的攻击。移动目标防御的思路是通过增加系统的随机性、减少系统的可预见性来对抗同类型攻击,通过有效降低其确定性、相似性和静态性来显著增加攻击成本。通常的实现方式是通过变换系统配置,缩短系统配置属性信息的有效期,使得攻击者不能在有限时间内完成目标探测和攻击代码开发,同时降低收集的历史信息的有效性,使探测到的信息在攻击期间已失效。
移动目标防御技术可以在系统的不同层面、以不同的方式实现,总体上可以分为五大类:动态运行环境、动态软件、动态网络、动态数据、动态平台。一 动态运行环境 动态运行环境指操作系统提供给应用程序的执行环境动态改变,其又分为地址空间随机化和指令集随机化两类。地址空间随机化指内存地址空间分布动态变化;指令集随机化指操作系统提供给应用程序的接口动态变化。地址空间分布排列是典型的地址空间随机化技术,主要用来防御缓冲区溢出攻击。
G-Free是典型的指令集随机化技术,主要用来防御ROP攻击。G-Free使用特殊的编译器编译可执行文件,编译时消除所有未对齐的自由分支指令,减少攻击者可用的自由分支指令;同时对栈返回指针进行加密,当栈溢岀时,攻击者无法向返回指针注入值。二 动态软件 动态软件指应用程序代码动态变化,包括程序的指令及指令的顺序、组合和格式等。 主动模糊是典型的动态软件技术。主动模糊用来防御对网络可见服务的缓冲区溢出攻击和其他注入攻击。对特定的可执行文件,注入攻击的方法是特定的,主动模糊技术对每种服务的可执行文件随机创建多个不同的副本,当服务接收到一个请求,每个副本都进行处理,如果大多数副本接受这个请求,服务才会对请求进行响应。三 动态网络 动态网络指网络配置及属性动态变化,包括IP地址、端口号、系统指纹以及响应行为等。按照不同的角度,可以将动态网络技术划分为不同的类型。 (1)根据参与者不同,可以分为两类:单向动态变化和双向动态变化。单向动态变化指只有服务端的配置信息进行动态变化;双向动态变化指通信过程中通信双方的配置信息都进行动态变化。(2)根据变化的内容不同,可以分为端口跳变、IP地址突变、随机指纹、路由突变等,各项变化都有其自身的使用环境和防护特点。
(3)根据是否改变真实配置信息的不同,可以分为两类:一是改变真实信息,如服务的端口改变,主机的真实IP地址改变等;二是拦截覆盖虚拟信息,通过某种方式拦截进出的数据包,将端口、地址等相关信息进行随机修改,但不改变主机的真实配置信息。
SDN-MTD是一种基于软件定义网络实现的移动目标防御系统,基本实现了常用配置信息的动态变化。其主要功能包括:主机存活性和端口随机、服务版本和操作系统指纹隐藏、IP地址突变。主机存活性和端口随机用来抵御网络踩点和扫描;服务版本和操作系统指纹隐藏用来抵御操作系统指纹及漏洞探测;IP地址突变用来抵御网络蠕虫和拒绝服务攻击。四 动态平台 动 态平台指软硬件平台的属性动态变化,包括操作系统及其版本、CPU架构、平台数据格式等。可信动态逻辑异构系统是一种典型的动态平台技术,用来防御注入攻击、网络扫描和供应链攻击,通过运行一个关键的应用程序来改变硬件平台和操作系统,从而提供平台多样性。这种技术使用操作系统级虚拟化容器和一种便携检测点编译器来创建一个虚拟的执行环境,使正在运行的应用程序在不同的平台间迁移,同时保持程序的状态。这些平台以不同的操作系统、硬件、架构、库进行部署。
五 动态数据 动态数据指应用程序数据的格式、句法规则、编码方式和表示形式动态变化。 数据随机化是典型的动态数据技术。该技术通过将存储于内存的所有数据进行随机化来防御注入攻击。这种技术在受保护的系统上部署一个编译器,系统程序必须用该编译器进行编译。在随机化过程中,系统程序读写内存的所有数据将与一个随机密钥,抑或与同一对象相关的操作数归为一组,每组随机使用不同的密钥,这些组在编译时由编译器通过静态分析建立。摘自于《保密科学技术》2020年6月刊《网络动态防御技术发展概况研究》
END 欢迎关注保密科学技术订阅号 微信页面 通讯录→订阅号→右上角“+”→搜索“保密科学技术” 文章页面 点击右上角→查看公众账号→添加关注 把这篇文章分享给朋友 点击右上角→发送给朋友/分享到朋友圈 更多精彩,尽在《保密科学技术》杂志 欢迎扫描关注 保密科学技术微信账号![9c134c44f02b60ca946e072f658b8610.gif](https://i-blog.csdnimg.cn/blog_migrate/6b807fb065661ac8cd7f3b4c03d03903.gif)
![aec29bc7e62905254df5b9a130a8ff80.png](https://i-blog.csdnimg.cn/blog_migrate/cf5084ceb9705693e4d8ad631a079c1f.jpeg)