《软件定义安全》之三:用软件定义的理念做安全
第3章 用软件定义的理念做安全
1.不进则退,传统安全回到“石器时代”
1.1 企业业务和IT基础设施的变化
随着企业办公环境变得便利,以及对降低成本的天然需求,企业始终追求IT集成设施的性价比、灵活性、稳定性和开放性。而云计算、移动办公等新技术和业务模式的出现,已经使企业的IT基础设施发生了极大的变革,此时传统安全已很难适应新的业务环境。
1.2 传统安全面临的挑战
目前传统安全面临着巨大的挑战,其原因主要有两点:IT系统的变革及安全威胁的挑战。
在云计算场景中,云计算平台使以往传统IT基础设施中的安全设备和安全机制失效,同时云计算平台本身的机制(如虚拟资源的申请和开通)也会改变IT和安全运维的方法和流程。如果这些问题不能解决,则将制约云计算平台的进一步发展。
关于前一个问题,传统安全体系在软件化、虚拟化网络环境中存在的问题如下。
1)虚拟化环境中,现有的物理安全机制可能无法观测到恶意攻击。
下图所示,虚拟机VM1和VM2在同一台物理主机内,那么两者的通信只存在于VM1、虚拟交换机和VM2之间,无法被外部的防火墙监控到,自然就不能做访问控制。
2)虚拟化网络中,数据包难以被现有安全机制所理解。
下图所示,虚拟机VM1和VM2在不同的物理主机内,虽然两者的通信经过外部防火墙,但由于物理主机间通过隧道相连,如果防火墙只是简单地部署在物理交换机一侧,那么它只能看到Host1到Host2的数据包,而不能去掉隧道的头部,解析VM1到VM2的流量的。
在移动办公场景中,传统IT基础设施需要连接另一套无线接入网络,而且这套网络可能部署在任何区域,接入的设备类型五花八门,安全始终是制约移动办公的重要因素。对于外部攻击者,只需伪造SSID就可以搭建恶意无线路由器,窃取用户的敏感信息;对于内部攻击者,如果管理人员不对无线接入网络做合理的网络划分,就可能会入侵办公网之外的敏感区域,造成非授权的访问。
软件化、移动化使得以往固定的环境会随着业务和环境的变更快速变化,具体IT环境的变化体现在以下方面:
- 虚拟化。通过虚拟化技术,计算、存储和网络等基础设施可弹性、快速分配,业务系统应用、用户资产都可通过软件层面进行快速部署,而无须关心复杂的实际网络拓扑和物理分布限制。
- 自动化。网络技术演进加速,随着VXLAN、NVGRE等隧道技术的出现,突破个VLAN个数的限制,使管理员不可能通过人工的方式分配网络、更新网络配置,自动化网络运维几乎成为了必然。
- 软件化。SDN技术的出现,将网络数据包的转发和控制平面分离,使得网络管理集中化、可编程化,从而使整个网络运维非常灵活。
- 互联网化。互联网行业的高效创新能力,驱动业务系统和应用服务快速开发、部署和更新。
既然网络环境变化成为了常态,安全机制部署和安全策略也可能随时发生变化,使安全运维存在诸多挑战:
- 网络环境变化所带来的新的安全威胁。
- 安全机制是否能适应软件化、虚拟化环境。
- 安全策略是否能够及时、正确地跟随环境迁移。
另外,越来越多的攻击者带来了新的更严峻的安全威胁。其原因有很多方面,如黑产规模化、攻击成本降低、在线支付普及等。这些安全威胁的特点主要如下。
1)给安全防护留下的响应时间更短:脆弱性的利用速度、安全威胁传播速度,需要动态的、快速部署的安全能力。
2)攻击更隐蔽,手段更先进:难以用一种通用的方法完成检测和防护,需要更多的定制、组合的安全能力。
3)攻击的持续性:持续的攻击需要持续的、高强度的安全防护,这使安全防护的成本增大,因此需要低成本、高自动化的安全防护能力。
1.3 SDN之前的应对方案
Cisco和一些厂家在SDN出现前推进的自防御网络。对于应对企业边界的逐渐消除、安全威胁不断演进、企业面对更多的安全威胁,Cisco自防御网络的应对策略是构建灵活、可管理、分层的安全防御架构,从理念上来说,它是一种安全自动化方案。这种架构的核心思想如下。
- 与网络设备高度集成,使每一个网元节点都作为安全策略的执行点,成为安全防护体系的一部分。通过这种高度集成,实现了安全对网络和业务的感知,使安全防护可以及时感知和跟进网络的变化,自然也解决了网络边界消除导致的安全设备部署难题。
- 在不同网络设备和服务间实现高度的协作,通过协作使网络可以自适应地应对不断发展和演变的安全威胁。
在实现层面,自防御网络最初是将防火墙、IPS、VPN等安全技术嵌入到网络体系架构中,之后逐渐演进成将安全服务集成在路由器、交换机等网络设备中。从用户的角度来说,也只有整体采用一个厂家的设备才可能实施这种高度集成和协作的安全自动化,因此不具有很好的可扩展性。
因此,有必要将这种安全服务对网络的感知、安全的自动化在开放的架构上去实现,将网络功能进一步分层,并将接口开放出来,从而在架构层面实现安全对网络的感知及安全自动化能力。这正是软件定义安全在之前的解决方案上重要的进步。
2.软件定义:是否是银弹
2.1 SDN带来的机遇
中心化的智能控制系统
网络控制器就能根据上下文场景,计算网络或安全策略,快速、有效地调度网络中的流量。
全局和实时流量视图
SDN控制器具有全局网络实时的流量信息,这些信息在很多防护场景中非常有用。例如,在DDoS检测时,可获取物理网络处的硬件交换机的sFlow或OpenFlow流信息,然后根据数据包流的统计特征进行判断,确认是否存在恶意攻击。
基于全局网络设备提供的流量信息,可构建基于流量的实时和历史知识库,进而运行时对任意访问进行分析,确认其在历史知识库中是否存在相似的模式。如果没有,则可能是攻击者的恶意试探,进而通过NFV技术按需部署虚拟安全设备进行深度包检测。
可编程
安全厂商可以很方便地通过北向接口定义控制模式和控制策略,并将这些控制策略快速地分发到全局网络中的任意角落,形成软件化的控制体系,不给内网攻击者可乘之机。
安全厂商也可以通过网络控制器提供的服务链的接口,很方便地部署深度检测设备,并通过虚拟的链路将其连接起来,形成按需的安全部署。
抽象性
SDN控制器提供了高度抽象的北向接口,安全应用开发者不需要了解复杂的网络底层实现,就能编写出满足安全需求的北向应用。例如,开发者只需要知道对恶意流量做防护,以及防护设备网卡的MAC值,就可以直接向网络控制器发送一条指令,将满足要求的流量牵引到该MAC所在的交换机端口。抽象性简化了网络开发的难度,提高了安全应用的开发效率和质量。
2.2 SDN对网络安全带来的影响
基于OpenFlow的SDN技术为实现高度安全和可管理的环境提供了以下优点:
➊ 基于流的视角是一个理想的安全处理流程,因为它提供了不受传统路由限制的端到端、面向服务的连接模型。
➋ 逻辑上集中控制机制允许在整个网络范围内进行高效的威胁检测。
➌ 粒度策略管理可以基于应用、服务、组织和地理因素,而不是物理配置。
➍ 基于资源的安全策略支持面向不同威胁风险的多种设备的统一管理,包括防火墙和安全设备到访问设备。
➎ 通过可编程的控制机制对安全策略进行动态的灵活调整。
➏ 灵活的路径管理实现了快速处置和隔离入侵,而不会影响其他网络用户。
➐ 通过结合历史和实时的网络状态和性能数据,SDN利用智能决策,在通用的基础设施上实现了灵活简单、可操作的安全机制。
➑ 通过快速牵引、阻断或镜像流量,可以对恶意攻击进行实时响应。
➒ 多个访问控制安全应用可同时下发安全策略,最终在网络设备上体现为对流表进行细粒度的控制。另外,通过流表项一致性比较,也可以判断上层是否出现了冲突的安全策略,进而进行业务层面的排查。
但是,SDN侧重于流的处理,缺少包一级的处理。然而,在进行安全检测时不仅需要对数据流的特性进行分析,还需要对部分数据包的内容进行检测。在SDN网络中可以通过以下两种方法得到数据包级的信息。
❶ 通过PACKET-IN消息控制器可得到由交换机发送的流首包部分头部信息,只要控制器不为这条流下发流表,交换机会将后续的所有包仍按首包发送给控制器。
❷ 由控制器要求交换机复制一条流到某台设备,由此设备完成包级的处理。
相关文章:

《软件定义安全》之三:用软件定义的理念做安全
第3章 用软件定义的理念做安全 1.不进则退,传统安全回到“石器时代” 1.1 企业业务和IT基础设施的变化 随着企业办公环境变得便利,以及对降低成本的天然需求,企业始终追求IT集成设施的性价比、灵活性、稳定性和开放性。而云计算、移动办公…...

pdf文件在线压缩网站,pdf文件在线压缩工具软件
在数字化时代的今天,PDF文件已经成为我们日常生活和工作中不可或缺的一部分。然而,随着PDF文件的广泛使用,其文件大小问题也日益凸显。过大的PDF文件不仅占用了大量的存储空间,而且在传输和共享过程中也往往面临诸多不便。因此&am…...
java程序100道21-30
21.定义一个接口A,有一个String的常量值为Java的 s,有void 的print()方法和String 的getInfo()方法,类X是A的实现类,类A的print()方法输出常量s,方法getInfo()返回“Hello!!!” package Exercises.One_Hundred.Demo21; public…...

英伟达SSD视觉算法模型训练、转换与部署
深度学习的训练和推理流程,是先采用高性能图形服务器使用深度学习框架来训练(Training)机器学习算法,研究大量的数据来学习一个特定的场景,完成后得到模型参数,再部署到终端执行机器学习推理(Inference),以训练好的模型从新数据中得出结论。 一般的深度学习项目,训练…...

智能变电站网络报文记录及故障录波分析装置
是基于Intel X86、PowerPC、FPGA等技术的高度集成化的硬件平台,采用了高性能CPU无风扇散热、网络数据采集、高速数据压缩存储加密等多种技术,实现了高性能计算、多端口同步高速数据采集、数据实时分析、大容量数据存储等功能。 ● 在满足工业标准的同时&…...

npm ERR! code E404 npm ERR! 404 Not Found - GET https://registry.npmjs.org/
npm ERR! code E404 npm ERR! 404 Not Found - GET https://registry.npmjs.org/ 📜 智能合约依赖下载失败的解决方案摘要引言正文内容1. 场景描述 🤔2. 可能原因分析2.1 包不存在或名称错误2.2 网络问题2.3 npm配置错误 3. 解决方案🛠️3.1 …...

Dockerfille解析
用于构建Docker镜像的文本,由一条条指令构成 Docker执行Dockerfile的流程 1. Docker从基础镜像执行一个容器 2. 执行一条指令并对容器进行修改 3. 执行类型Docker commit的命令添加一个新的镜像层 4. Docker再基于新的镜像执行一个新的容器 5. 执行Dockerfile中…...

定个小目标之刷LeetCode热题(14)
了解股票的都知道,只需要选择股票最低价格那天购入,在股票价格与最低价差值最大时卖出即可获取最大收益,总之本题只需要维护两个变量即可,minPrice和maxProfit,收益 prices[i] - minPrice,直接用代码描述如下 class …...

智慧管道管理:油气管道可视化的领先应用
通过图扑油气管道可视化技术,实现实时监控与数据分析,快速识别潜在风险,有效提升管道维护效率和安全性能。...

嵌入式仪器模块:示波器模块和自动化测试软件
示波器模块 • 32 位分辨率 • 125 MSPS 采样率 • 支持单通道/双通道模块选择 • 低速模式可实现实时功率分布和整机功率检测 • 高速模式可实现信号分析和上电时序测量 应用场景 • 抓取并分析波形的周期、幅值、异常信号等指标 • 电源纹波与噪声分析 • 信号模板比…...

组装服务器重装linux系统【idrac集成戴尔远程控制卡】
🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专…...

景区ar互动大屏游戏化体验提升营销力度
从20世纪60年代的初步构想,到如今全球范围内无数企业的竞相投入,AR增强现实技术已成为引领科技潮流的重要力量。而在这一浪潮中,中国的AR公司正以其独特的魅力和创新力,崭露头角。 中国的AR市场正在迎来前所未有的发展机遇。如今&…...

苍穹外卖笔记-07-菜品管理-增加、删除、修改、查询分页还有菜品起售或停售状态
菜品管理 1 新增菜品1.1 需求分析与设计1.2 代码开发文件上传新增菜品实现 1.3 功能测试 2 菜品分页查询2.1 需求分析和设计2.2 代码开发设计DTO类设计VO类Controller层Service层Mapper层 2.3 功能测试 3 删除菜品3.1 需求分析和设计3.2 代码开发Controller层Service层Mapper层…...
oracle dataguard 从库 MRP 进程的状态是 WAIT_FOR_GAP
因主库归档日志未备份直接删除后,从库不能更新,19c版本以上,之前未打补丁,使用 RECOVER STANDBY DATABASE FROM SERVICE PRM180;之后,在执行 alter database recover managed standby database using current logfil…...

【C语言】轻松拿捏-联合体
谢谢观看!希望以下内容帮助到了你,对你起到作用的话,可以一键三连加关注!你们的支持是我更新地动力。 因作者水平有限,有错误还请指出,多多包涵,谢谢! 联合体 一、联合体类型的声明二…...
基于Python定向爬虫技术对微博数据可视化设计与实现
基于Python定向爬虫技术对微博数据可视化设计与实现 Design and Implementation of Weibo Data Visualization Based on Python Web Scraping Techniques 完整下载链接:基于Python定向爬虫技术对微博数据可视化设计与实现 文章目录 基于Python定向爬虫技术对微博数据可视化设…...

【QT5】<总览三> QT常用控件
文章目录 前言 一、QWidget---界面 二、QPushButton---按钮 三、QRadioButton---单选按钮 四、QCheckBox---多选、三选按钮 五、margin&padding---边距控制 六、QHBoxLayout---水平布局 七、QVBoxLayout---垂直布局 八、QGridLayout---网格布局 九、QSplitter---…...
Python中的生成器表达式(generator expression)
Python中的生成器表达式(generator expression)是一种类似于列表解析(list comprehension)的语法结构,但它返回的是一个生成器(generator)对象,而不是一个完整的列表。生成器对象是一…...

Responder工具
简介 Responder是一种网络安全工具,用于嗅探和抓取网络流量中的凭证信息(如用户名、密码等)。它可以在本地网络中创建一个伪造的服务(如HTTP、SMB等),并捕获客户端与该服务的通信中的凭证信息。 Responder工…...

gitblit 环境搭建,服务器迁移记录
下载 Gitblit: http://www.gitblit.com/ JDK:gitblit网站显示需要jdk1.7,这里用的1.8。 Git:到官网下载最新版本安装 1). 分别安装JDK,Git,配置环境变量,下载并解压Gitblit 2). 创建代码仓库 …...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...