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

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

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

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

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

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

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

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

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

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

什么是网络空间呢?

局域网 ,是 网络空间 !

整个 互联网 ,也是 网络空间 !

网络空间,指的是,由若干个网络节点所共同组成的通信网络环境!

网络空间中,可能存在 交换机 、路由器 、防火墙 、IDS 入侵检测系统 、 IPS 入侵防御系统 、NAS 网络存储设备 、移动终端 、家用电器 、工业设备仪器 、无人驾驶汽车 、PC电脑 、 笔记本电脑 、平板电脑 、服务器主机 等网络节点 !

在网络空间测绘活动中,如何进行测绘呢?

想要进行网络空间测绘活动,一定要了解不同设备、不同系统、不同版本、不同软件服务 等之间的特征差异 !想要进行网络空间测绘活动 ,我们必须拥有自己的特征码仓库 !这类特征码仓库,也被称之为 指纹仓库 !

这里所说的 指纹仓库,并不是人类的指纹,而是 电子设备 的 指纹 !

任何 电子设备 ,任何操作系统 , 任何应用软件 ,任何网络协议 ,都会具有其独特的 指纹特征 !想要进行网络空间测绘,就必须要收集整理 网络空间 中 所有节点 的 指纹特征 信息 !

不仅仅是 网络空间测绘活动 ,威胁态势感知活动,也离不开对于 指纹 的 收集 与 整理 !

如何 识别 网络攻击 呢 ?

如何 识别 网络攻击 的 类型 呢?

一切,都离不开 指纹特征 的 收集 与 提取 !

就拿 SQL注入 攻击来说,正常的HTTP请求中,是不会包含 SQL语句中的多个关键字的 !

例如,SELECT 在 英文单词中,含义为 选择 !

例如,UNION 在 英文单词中,含义为 联合 !

SELECT 这个英文单词,也是 SQL语言 中的一个用于 数据查询行为 的 关键词汇 !

UNION 这个英文单词,也是 SQL语言 中的一个用于 数据查询行为 的 关键词汇 ,并且通常被用于 数据联合查询 !UNION 关键词 在 SQL注入攻击行为 中,出现的频率,非常之高 !

单一的 SELECT 单词出现,可能,并不会被认定为 是 具备风险性的 通信数据信息 !

单一的 UNION 单词出现,也可能,并不会被认定为 是 具备风险性的 通信数据信息 !

但是,如果 SELECT 单词 和 UNION 单词 同时出现,并且出现了 UNION SELECT 这样的格式 !

那么,当前 HTTP 请求,具备风险特性的可能性,就变得非常大了 !在对 网络流量 进行 监控 的过程中,如果发现了 包含  UNION SELECT 格式信息的网络流量,那么通常就可以被鉴定为 可疑流量 ,或者 异常流量 !针对此类高度可疑的网络流量,要记录日志,已备后查 !

在 SQL注入类攻击中,为了躲避 WAF 防火墙的 拦截与查杀 ,有经验的黑客,往往会对通信数据进行加密,或者采取代码混淆的方式,来逃避 WAF 防火墙 的 安全检查 !

例如,通信数据,可能会采取 BASE 64 编码,也可以会采取 UN UNION ION SE SELECT LECT 这样的方式,来进行 SQL注入攻击 !那么应对 变种方式 的 SQL注入攻击 ,我们就要对 监控的网络流量 进行 数据解密 和 关键词筛查 工作 !

对于 威胁态势感知,涉及到 感知 的概念 ,其实 还是 针对 特征库 和 指纹库 进行的 !

威胁态势感知的成功率,很大程度上 取决于 特征库 和 指纹库 强大程度 ! 

进行 网络空间测绘 和 威胁态势感知 活动,我们首先应该做的,就是 收集 特征码 ,强大 指纹库 !

如何收集特征码呢?

如何建立指纹库呢?

我们可以优先考虑一下,网络中开源的设备指纹仓库、系统指纹仓库、软件指纹仓库 等等。

我们需要知道,从零开始,建立 特征指纹仓库 ,成本是很高的 !所耗费的人力、物力、财力、精力 等成本,也是很大的 !因此,如果我们想要从零开始建立属于自己的特征指纹仓库,那么先行收集一些已经被公开的 免费 指纹仓库 ,也是一种可选的方式 !如果并没有找到合适的、开源的、免费的 指纹仓库 的话,那么使用一些比较流行的技术,或者工具 去 进行 特征指纹仓库的 建设,也是一种不错的选择 !

目前,如果我们想要主动探测,局域网络中存在多少台存活主机,并且,这些存活主机,又分别的对外开放了哪些网络通信端口 !

那么,使用 nmap 工具,会是一个不错的选择 !

如果我们想要被动的监测网络流量,并通过监测到的流量 去 分析 局域网络中的 主机系统类型 !

那么,使用 p0f 工具,将是一个非常不错的选择 !

目前,如果我们想要知道,局域网络中的存活主机,都存在哪些具体的安全风险与已知漏洞 !

那么,使用 nessus工具,绝对是一个不错的选择 !

目前,在 网络数据包 的 内容分析领域,深度包检测(deep packet inspection,DPI)技术,是一种可以考虑的选择方案。深度包检测(deep packet inspection,DPI)技术 可以发现、识别、分类、重新路由 ,或者 阻止 具有 特殊数据或代码 的 有效载荷 的 网络数据包 !

在 威胁态势感知 的 指纹库建设阶段 ,在 威胁态势感知 的 指纹库工作阶段 , 深度包检测(deep packet inspection,DPI)技术 将提供强而有力的技术支撑 !

目前,如果我们缺少足够的设备指纹信息,那么在设备搜索引擎 Fingerprinting databases 中搜索相关设备的信息,并进行自动或手段的 指纹特征库 信息录入工作,也是一种有效的变相办法!

比较常用的 设备搜索引擎 Fingerprinting databases , 有 Shodan、Censys 等 !

如果我们要调用第三方工具,或者借助于第三方工具,来进行我们的 特征指纹库建设 !

那么,使用 Python 语言,是一种非常不错的选择 !

Pyhon 语言 ,为 道德黑客 而 生 !

Pyhon 语言,为 人工智能 而生 !

Pyhon 语言,自带了非常多的、非常强大的 白帽黑客工具库(其中比较出名的,莫过于 Pwntools )!

Pyhon 语言,实现 网络爬虫 技术,非常的容易 !Pyhon 语言 被广泛用于 网站数据爬取 !

Pyhon 语言,自带了非常友好的人工智能支持 !目前,比较友好且开源的人工智能库,包括 TensorFlow 深度学习框架 、 ChatGLM模型(清华大学)等 !

Python 语言,在人工智能方面,诸如 静态照片人脸识别、图像识别技术、视频人脸识别、智能聊天机器人、微信语言聊天机器人、图文识别技术、语音识别技术、拍图识花技术 等方面,都提供了非常优秀且友好的语言级技术支持 !

什么是 DPDK 呢?

DPDK(Data Plane Development Kit)是一个开源的数据包处理库和框架,主要用于快速处理网络数据包。

以下是使用DPDK的基本教程:

  1. 安装DPDK

    • 在Linux系统中,可以使用包管理器(如apt-get或yum)来安装DPDK。例如,在Ubuntu中,可以使用以下命令安装DPDK:sudo apt-get install dpdk
    • 某些情况下,可能需要从源代码编译安装DPDK,特别是当需要特定版本或需要特定功能时。
  2. 构建DPDK应用程序

    • 使用DPDK之前,需要先编写应用程序,并将其编译成可执行文件。
    • 可以使用DPDK的构建工具链(如genbuild或autotools)来编译应用程序。例如,在Ubuntu中,可以使用sudo make build命令来构建DPDK应用程序。
  3. 运行DPDK应用程序

    • 完成编译后,使用DPDK的运行时库来运行应用程序。例如,在Ubuntu中,可以使用sudo make run命令来运行DPDK应用程序。
  4. 配置DPDK

    • DPDK提供了丰富的配置选项,可以根据需要进行配置。
    • 可以通过DPDK的配置脚本(如setup.sh)来进行配置,选择适当的编译选项和参数。
  5. 使用DPDK网卡驱动

    • DPDK提供了一组网卡驱动,用于将DPDK应用程序与Linux网络设备连接起来。
    • 可以使用包管理器或特定命令来安装DPDK网卡驱动,例如sudo apt-get install dpdk-device-manager
  6. 优化与测试

    • DPDK的主要优势之一是其高效的数据包处理性能。
    • 根据需要,可以配置DPDK以利用大页内存(HugePages)来提高性能。
    • 使用DPDK自带的测试工具(如testpmd)来测试应用程序的性能和正确性。
  7. 注意事项

    • 使用DPDK时,需要确保系统满足其最低要求,特别是关于内存和CPU的要求。
    • 在生产环境中部署DPDK应用程序之前,建议进行充分的测试和验证。

请注意,DPDK是一个复杂且功能丰富的框架,上述步骤仅提供了一个基本的入门指南。为了充分利用DPDK的功能和性能,建议查阅DPDK的官方文档、参考相关教程和示例代码,以及参与DPDK社区以获取更多的支持和帮助。此外,由于DPDK是开源项目,其版本和功能可能会不断更新和变化,因此建议始终关注最新的文档和社区动态。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值