信息安全系列课程之网络空间测绘与态势感知技术揭秘(二)

今天,我们来讲一下网络安全!

本文章仅提供学习,切勿将其用于不法手段!

目前,在信息安全攻防领域,主要分为了两个技术发展方向,分别为渗透测试(红队技术) 和 安全运维(蓝队技术)!

正所谓,红蓝不分家!矛与盾,在攻防演练活动中,是永恒的战斗伙伴!

作为渗透测试人员,如果不懂得安全运维技术,那么在进行渗透测试行为时,就往往如同 没见过猫的老鼠,无比兴奋地闯进了猫窝!深处危险之处,却并不自知 !

作为安全运维人员,如果不懂得渗透测试技术,那么在进行安全运维行为时,就往往如同 没见过老鼠的猫,看到老鼠闯入,依然倒头就睡!正是应验了那句,敌袭已至,守将,却毫无所察 !

知己,也要知彼 !作为 信息安全人员,既要懂得 安全攻击技术 ,也要懂得 安全防御技术 !

安全攻击 和 安全防守 技术,是 信息安全人员,安身立命的资本!

今天,我们来继续探讨下,信息安全领域的新技术 :网络空间测绘技术 和 威胁态势感知技术 !

提到,网络空间测绘技术 和 威胁态势感知技术 ,我们不得不科普一些技术知识 !

不同领域的空间测绘工作,需要关注的技术层面不同!

如果我们针对无线网络进行空间测绘,那么,我们需要重点研究无线网络协议与网络设备的相关知识!

如果我们针对有线网络进行空间测绘,那么,我们需要重点研究有线网络协议与网络设备的相关知识!

如果我们针对工业网络进行空间测绘,那么,我们需要重点研究工业网络协议与网络设备的相关知识!

如果我们针对物联网络进行空间测绘,那么,我们需要重点研究物联网络协议与网络设备的相关知识!

如果我们针对车联网络进行空间测绘,那么,我们需要重点研究车联网络协议与网络设备的相关知识!

如果我们针对移动通信网络进行空间测绘,那么,我们需要重点研究移动通信网络协议与移动通信网络设备的相关知识!

正所谓,知己知彼,百战不殆 !

我们去进行哪个领域的空间测绘,我们就要研究哪个网络的网络协议和网络设备的工作原理 !

就拿工业网络来说,研究 SCADA 、PLC 等 典型工业控制系统(设备)的工作原理和技术实现,是进行工业网络空间测绘的技术知识基础 !又比如说,Modbus 等工业控制协议,也是我们需要去重点研究的 !又比如说,工业网络中,一般会存在哪些通用网络服务,也是需要我们去了解的!

作为一名保镖,只有足够了解被保护目标,才能更加地执行针对目标的保护任务。

作为一名安全运维人员,或者渗透测试人员,也是同样的道理 !

想要进行 网络空间测绘  工作 ,我们必须足够了解 需要保护或者评估的网络目标 !

网络空间测绘工作的侧重点,主要有 时空测绘 、 动态测绘 、 交叉测绘 、 行为测绘 这几个 侧重点 !

时空测绘,用来构建空间地图,可以实时展示 网络流量 的 通信轨迹 !

动态测绘,主要是针对流量的特征进行测绘,这里要求实时性,需要实时监测网络流量变化,包括流量大小,流量类型,流量数据信息 等方面内容。

交叉测绘,指的是 将时空测绘构成的空间地图 与 动态测绘 产生的实时流量信息 交叉融合,共同构成 一幅 数据实景化的 网络安全情报地图 !

行为测绘,什么是行为测绘呢? 这里指的是,网络流量的作用,是什么!FTP 文件传输?RTMP 流媒体传输?亦或者是 即时通信 ?或者是 SSH 的 远程登陆操作 ?RDP 远程桌面?

行为测绘,主要描述的是,网络流量正在做些什么 !

构建多维化、多层次的网络空间测绘地图,是信息安全保障战略进行技术实现的一个重要步骤 !

网络空间测绘 和 威胁态势感知 ,通常相互配合 ! 共同构建 信息安全领域 的 智能化防御 堡垒 !

网络空间测绘,需要用到关键技术,主要包括 网络探测扫描技术、网络资产识别技术 、IP地址定位技术 、网络拓扑测绘技术 、 网络流量解析技术 、安全漏洞扫描与验证技术 、网络大数据存储技术、网络大数据分析技术、网络地图可视化技术 等 相关技术知识基础点 !

通过网络空间测绘技术,我们可以获得网络空间的可视化地图 !

作为一家企业,或者一家机构的管理者,即使并不懂得 网络安全技术 ,也可以通过 小白模式 可视化地 去进行网络空间管理工作 !

网络空间测绘技术,可以让信息安全管理工作,变得更加简单!变得更加的省时省力 !

在 网络空间地图(网络沙盘地图) 中,我们可以看到网络硬件资产的设备类型、设备版本、系统类型、系统版本、开放端口、网络服务、IP地址、MAC(网卡)地址 等 相关信息 !

在 网络空间地图(网络沙盘地图) 中,我们可以对网络硬件资产的资产分布情况,有一个清晰且直观的了解 !

在进行网络空间测绘工作时,对于抓取到的网络数据包的处理效率,是非常重要的一项技术关键指标 !Intel 英特尔公司 ,已经为我们提供了相应的硬件技术级解决方案 !那就是 DPDK 技术 !

DPDK 技术 ,目前主要应用于 LINUX 操作系统,它 是 开放源码 的 !

DPDK ( Data Plane Development Kit )技术,又被称为 “ 数据平面转发套件 ” !

DPDK 技术,可以显著提升 网络流量探测报文(请求数据包) 和 网络流量响应报文(应答数据包) 的 收发处理性能 !

为什么 DPDK 技术,这么强大呢 ?

DPDK 技术,可以让 网络流量数据 从 网卡设备 直达 R3 用户层 的 网络流量处理程序( DPDK 应用程序 !使用 DPDK 技术之后,网络流量,将 绕过操作系统内核的网络驱动程序模块 !

DPDK 技术,可以让我们更快地进行网络流量的收发工作 !

DPDK 技术,由于 在 网络流量通信方面 绕过了操作系统的内核网络驱动对于网络流量的处理, 可以使网络流量 从网卡设备 直达 操作系统的 R3 用户层 ,这大大减轻了 操作系统的内核网络驱动对于网络流量的处理与转发开销(主要 节省 了 内核空间 向 用户空间  进行内存数据复制操作 的相关 开销 !还有 涉及 CPU 中断调用 的 系统调用 所产生的相关 开销 ) !更大大提升了 网络空间测绘程序 对于网络流量 的收发能力!

DPDK 技术,是 Intel 英特尔 公司 发布的一款 高性能 网络驱动 组件 !

DPDK 技术,为 网络空间测绘工作 的 有效开展,提供了 强而有力 的 技术支撑 !

DPDK 技术,裸包反弹 每个包 所需的 CPU 时钟周期,仅为 80 个 !

传统的 LINUX内核 中 网络协议栈驱动程序 反弹 每个包 所需的 CPU 时钟周期为 2000 ~ 4000 个 !

从数据方面,我们就可以看到,使用了 DPDK 技术,对于 网络流量 的 处理效能 提升了多少 !

什么是裸包反弹呢?

这里要讲解下,什么是裸包 !

所谓裸包,指的是未经任何处理或仅经过最少处理的网络原始数据包!

注意,这里指的是,几乎未经过任何网络协议栈进行处理的,最原始的 网络流量数据包 !

那么,什么是反弹呢 ?

所谓反弹,指的是,网络流量数据包在整个网络通信处理流程中的网络通信响应能力,或者网络通信转发能力 !

DPDK 技术,在 技术底层的原生实现上,就已经提供了非常好的 网络流量数据包 转发支持能力  !

裸包反弹,指的是,对于 几乎未经过任何网络协议栈进行处理的,最原始的 网络流量数据包 进行 网络通信响应 和 网络通信转发 的技术能力 !

在DPDK技术的实现上下文中,裸包处理,通常意味着 网络流量数据包 在用户空间中,可以进行高效的数据处理!由于 DPDK 的技术实现,是以 绕过 传统的内核网络协议栈 直达 R3 用户层 的 DPDK 应用程序 为特点的,那么,就可以有效避免了 传统的内核网络协议栈,由于处理 网络流量数据包 所带来的 不必要的内存拷贝和系统调用 开销 !DPDK技术 的 这种处理方式,可以显著提高对于 网络流量数据包 的处理性能 !

位于 R3 用户层 的 DPDK 应用程序,需要 DPDK 驱动库 的 技术支持 !

因此,我们想要利用 DPDK 技术,就需要进行 DPDK 软件包 的 安装 !

这里,我们重点,需要安装四个软件包

它们,分别为 dpdk 、dpdk-dev 、dpdk-doc 、libdpdk-dev

dpdk , 是 数据平面开发工具包 的 运行环境支持组件 !想要运行  dpdk 应用程序,你必须安装它 !

dpdk-dev ,是 数据平面开发工具包(开发工具)!想要开发 dpdk 组件,你必须安装它 !

dpdk-doc ,是 数据平面开发工具包(文档)!想要了解 dpdk 技术细节,你需要阅读它 !

libdpdk-dev ,是 数据平面开发工具包(基本开发文件)! 想要进行 dpdk 应用开发,我们需要用到它 !libdpdk-dev 软件包,包含 dpdk 软件 的 lib 库文件、h 头文件和 开发工具 等内容 !libdpdk-dev 软件包,对于 开发 和 编译 基于 DPDK技术 的 应用程序 来说,是必要的东西!通过使用libdpdk-dev 软件包的内容,我们可以更加容易地 集成 DPDK软件所提供的功能 到我们自己的 DPDK 项目来!我们可以充分利用 DPDK技术 带来的性能优势,去加速我们的网络流量数据包处理程序 和 网络通信程序 的 工作效率 !

DPDK技术,通过 UIO( Userspace I/O )用户空间 输入输出 处理技术框架 来进行 对于 网络流量数据包的高效处理 !UIO技术,将设备驱动分为 用户空间驱动 和 内核空间驱动 !使用 DPDK 技术 以后,内核空间驱动负责 设备源分配 、UIO设备注册 、少量的中断响应函数 等,不再负责 对于数据包的 所有操作 !重点来了 !这意味着,所有对于 网络流量数据包的管理操作,将全部由 用户空间驱动 的 DPDK 应用程序 来完成 !DPDK 通过 UIO 框架 提供的接口 将 UIO 的 驱动程序 注册(通知)到 内核空间驱动 !注册完成以后,会在硬盘生成存储有 设备物理内存地址信息MAP (地图)文件 !R3 层 用户态 的 应用程序 进程 访问 该文件,将 设备 对应的 内存空间地址(物理地址) 映射 到 用户空间 !这样做,R3 层 用户态应用程序,即可 直接操作 设备 对应的 内存空间 数据

注意,对网络空间资产进行探测时,可以采取 TCP SYN半连接、无状态的方式,来减少TCP协议的握手次数(正常情况下,建立TCP连接,需要经历三次握手!半连接,并不会真正的建立起TCP通信通道,也就不会经历完整的三次握手 !一般 两次握手( 客户端 发送 SYN=N ,服务端 接收 到 客户端 发送的 SYN=N,然后向 客户端 回复 ACK=SYN+1,SYN=K ,客户端 接收到 服务端 发送 的 ACK=SYN+1,SYN=K ,两次握手完成)就够了 !因为我们的重点,只是要知道,目标主机的端口,是处于开放状态,还是关闭状态 !我们并不需要去经历完整的三次握手过程) 和 缩短报文长度(不包含通信数据主体的TCP包,报文长度,非常小)!为什么要这样做呢?这样做,可以目标存活状态探测任务的工作效率(毕竟,我们并不需要经历完成的TCP协议通信过程)!

(未完待续)

下一章节内容,信息安全系列课程之网络空间测绘与态势感知技术揭秘(三)

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

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

相关文章

2024还选计算机

一、计算机相关专业是否仍是“万金油”选择? 从当前市场需求和就业趋势来看,计算机相关专业仍然具有较大的吸引力。这些专业所涵盖的技能和知识在现代社会中具有广泛的应用场景,如软件开发、数据分析、网络安全等。因此,选择计算机…

Windows 中 Chrome / Edge / Firefox 浏览器书签文件默认存储路径

1. Chrome 浏览器 按组合键 Win R,打开运行对话框,输入 %USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default或在Chrome 浏览器地址栏输入 chrome://version查看【个人资料路径】 2. Edge 浏览器 按组合键 Win R,打开运行对…

【华为OD机试】 服务中心选址(C++ Java JavaScript Python)

题目 题目描述 一个快递公司希望在一条街道建立新的服务中心。公司统计了该街道中所有区域在地图上的位置,并希望能够以此为依据为新的服务中心选址:使服务中心到所有区域的距离的总和最小。 给你一个数组positions,其中positions[i] = [left, right] 表示第 i 个区域在街道…

GD32F4xx 移植agile_modbus软件包与电能表通信

目录 1. agile_modbus1.1 简介1.2 下载2. agile_modbus使用2.1 源码目录2.2 移植3. 通信调试3.1 代码3.3 通信测试1. agile_modbus 1.1 简介 agile_modbus是一个轻量级的Modbus协议栈,主要特点: 支持RTU和TCP协议,采用纯C语言开发,不涉及任何硬件接口,可直接在任何形式的…

Java流程控制语句

Java流程控制语句有三种: 顺序结构、分支结构和循环结构。 顺序结构: 顺序结构语句是Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行。 原文链接: Java流程控制控制语句 - 红客网络编程与渗透技术 示例…

[笔记] ONNX Export笔记[进行中...]

1.ONNX模型的优势: ONNX可以提供方便的平台兼容性和方便的移植实现,Opset,可以接收其他的推理模型的的移植,比如从.pt>.onnx。而.onnx利用Runtime规范,以及可扩展接口,把.onnx模型向下兼容到各个硬件平…

查看es p12证书文件过期方法

查看证书过期时间: openssl pkcs12 -in elastic-certificates.p12 -nokeys -out elastic-certificates.crt (需要输入证书生成时配置密码) openssl x509 -enddate -noout -in elastic-certificates.crt

乐鑫云方案研讨会回顾|ESP RainMaker® 引领创业潮,赋能科创企业

近日,乐鑫信息科技 (688018.SH) ESP RainMaker 云生态方案线下研讨会和技术沙龙在深圳成功举办,吸引了众多来自照明电工、新能源、安防、宠物等垂类领域的客户与合作伙伴。活动现场,与会嘉宾围绕产品研发、测试认证、品牌构建、跨境电商等多维…

【面试题】什么是等保2.0?

等保2.0,全称网络安全等级保护2.0制度,是我国网络安全领域的基本国策和基本制度,旨在加强网络系统的安全保护,确保关键信息不被泄露、篡改、破坏或丧失。以下是关于等保2.0的详细介绍: 实施时间与背景: 等…

新加坡经济是如何腾飞的?How Singapore Got So Crazy Rich

How Singapore Got So Crazy Rich Link: https://www.youtube.com/watch?vYSMWN8VpY6A Summary Singapore, a small island nation, has become Asia’s wealthiest country and one of the richest in the world. With a GDP per capita surpassing countries like the UK,…

做好西藏工作,必须把()、加强民族团结作为西藏工作的着眼点和着力点。

做好西藏工作,必须把()、加强民族团结作为西藏工作的着眼点和着力点。查看完整试题答案 A.民族交往交流B.民族交融 C.统一战线D.维护祖国统一 区党委要求,要坚持绿水青山就是金山银山的理念,努力创建()。 A.国家生态文明标杆B.国家生态文明强…

matlab中函数meshgrid

(1) 二维网格 [X,Y] meshgrid(x,y) 基于向量 x 和 y 中包含的坐标返回二维网格坐标。X 是一个矩阵,每一行是 x 的一个副本;Y 也是一个矩阵,每一列是 y 的一个副本。坐标 X 和 Y 表示的网格有 length(y) 个行和 length(x) 个列。 x 1:3; y…

1.8 无符号大数加、减运算

作者 李卫明 单位 杭州电子科技大学 1.8 无符号大数加、减运算。程序设计中经常遇到无符号大数加、减运算问题,请在样例程序Ex1.4基础上实现无符号大数减运算。题目要求输入两个无符号大数,保证一个大数不小于第二个大数,输出它们的和、差。…

AWS WAF 中的验证码和挑战 | 网页抓取时如何解决这个问题

正如许多企业或爬虫用户所知,AWS WAF(Web 应用防火墙)是一个强大的安全解决方案,旨在保护 Web 应用免受常见的网络攻击和漏洞。其关键功能之一是使用 CAPTCHA 和挑战来区分合法用户和潜在的恶意机器人。虽然这增强了安全性&#x…

【栈与队列】删除字符串中的所有相邻重复项

题目:给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 分析&#xff…

[C++]24:异常和智能指针

异常和智能指针 一.异常1.C/C的错误:1.C2.C3.三个关键字: 2.使用异常:1.基本概念:2.基本代码:1.基本使用:2.多个捕获:3.任意类型异常的捕获:4.异常的重新抛出: 3.异常安全…

微软将停用 App Center:React Native 开发人员应该使用以下工具

再见,应用中心!你好,EAS + Sentry + GitHub Actions! React Native 开发人员大遗憾:微软宣布将于 2025 年 3 月 31 日关闭Visual Studio App Center。 多年来, Infinite Red一直将 App Center 作为许多 React Native 咨询客户的 CI/CD 流程和开发工作流程的关键部分。它有…

License简介和Licensecc的使用

License简介和Licensecc的使用 License简介什么是LIcense简易License制作加密扫盲对称加密非对称加密 Licensecc使用构建和编译在linux上进行编译UbuntuCentOS 7CentOS 8下载并编译配置编译和测试cmake 后可以跟的参数在Linux上为Windows进行交叉编译 在windos上进行编译MSVC (…

Android反编译apk重新打签名

反编译apk 1.下载反编译工具apktool,可以在官网(Install Guide | Apktool)上下载最新版本的 Apktool 2.反编译apk文件,生成文件myapp apktool d myapp.apk 3.重新生成apk apktool b myapp -o myapp_new.apk使用 apksigner 签名 APK 文件…

【华为OD机试】二进制差异数(C++ Java JavaScript Python )

题目 题目描述 对于任意两个正整数A和B,定义它们之间的差异值和相似值: **差异值:**A、B转换成二进制后,对于二进制的每一位,对应位置的bit值不相同则为1,否则为0; **相似值:**A、B转换成二进制后,对于二进制的每一位,对应位置的bit值都为1则为1,否则为0; 现在有n个…