最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

星河飞雪网络安全-安全见闻总篇

运维笔记admin24浏览0评论

声明

学习视频笔记均来自B站UP主" 泷羽sec",如涉及侵权马上删除文章

笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负

安全见闻01-09已全部更新,后续将会持续更新的章节,感谢各位师傅的点赞关注,冲!


目录

声明

1.常见编程语言(安全见闻01)

1.1函数式编程语言

1.2数据科学和机器学习领域

1.3Web 全栈开发

1.4移动开发

1.5嵌入式系统开发

1.6其他

2 软件程序分类(安全见闻02)

2.1 Web程序的基本构成

2.1.1 Web程序通常由以下几个部分组成

2.1.2 框架

2.1.3 漏洞存在的地方

2.1.4 数据库

2.1.5 服务程序(中间件)

2.1.6 宏病毒

2.2 网络类型与网络安全

2.2.1 网络类型

2.2.2 网络协议

2.2.3 网络设备

2.2.4 网络安全

2.3 人工智能编程Python

2.3.1 机器学习工作流程

3 网络通讯(安全见闻03)

3.1 硬件设备

3.2 网络硬件

3.3 移动设备硬件

3.4 硬件发展趋势

4 操作系统(安全见闻04)

4.1操作系统-系统分类

4.2深度学习基本原理

4.2.1神经网络基础

5 人工智能-AI(安全见闻05)

5.1人工智能简介与赋能

5.2人工智能涉及网络安全问题

5.3人工智能的学习方法

6 通讯协议(安全见闻06)

6.1 通讯协议涉及的安全问题

7 硬件设备安全问题与潜在漏洞分析(安全见闻07)

7.1 背景

7.2 硬件设备的网络安全问题点

7.2.1 物理安全问题

7.2.2 供应链安全问题

7.2.3 设备漏洞问题

7.2.4 网络连接问题

7.3 硬件设备的潜在漏洞及渗透测试方法

7.3.1 处理器漏洞

7.3.2 存储设备漏洞

7.3.3 网络设备漏洞

7.3.4 物联网设备漏洞

7.4 渗透测试在硬件设备安全评估中的应用

7.4.1 渗透测试的流程

7.4.2 渗透测试的注意事项

8 量子计算(安全见闻08)

8.1 学习方向

8.2 漏洞风险

8.3 测试方法

8.4 量子计算渗透测试流程

9 二进制安全(安全见闻09)

9.1 进制与网络安全的关系

9.1.1 二进制的基本概念

9.1.2 二进制在网络安全中的重要性

9.2 二进制安全的概念与范畴

9.2.1 二进制安全的定义:

9.2.2 范畴

9.3 二进制安全的渗透测试方法

9.3.1静态分析

9.3.2动态分析

9.4 模糊测试

9.4.1 工具介绍

9.4.2 分析流程

9.5 漏洞利用

9.5.1 工具介绍

9.5.2 分析流程

9.6 代码审计

9.6.1 工具介绍

9.6.2 分析流程


1.常见编程语言(安全见闻01)

    C 语言:一种通用的、面向过程的编程语言,广泛应用于系统软件和嵌入式开发。
   C++:在 C 语言基础上发展而来,支持面向对象编程,常用于游戏开发、高性能计算等领域。
    Java:一种广泛使用的面向对象编程语言,具有跨平台性,应用于企业级应用开发等。
    Python:简洁易学,拥有丰富的库,适用于数据分析、人工智能、Web 开发等。
    JavaScript:主要用于网页前端开发,也可用于服务器端开发(Node.js)。
    C#:由微软开发,主要用于 Windows 平台上的应用开发。
    Ruby:一种简洁而富有表现力的编程语言,常用于 Web 开发。
    PHP:主要用于 Web 开发,尤其适合服务器端脚本编程。
    Go:一种高效、简洁的编程语言,适用于网络编程和云计算等领域。
    Swift:苹果公司开发的编程语言,用于 iOS 和 macOS 应用开发。
    Kotlin:可与 Java 互操作,主要用于 Android 开发。

        网络安全的基础也需要到代码的底层逻辑,其中c语言是基础,学逻辑学函数,再者就是java、php、python这三种语言是学习网络安全的必备编程语言,因为会涉及到对代码的剖析,查看代码的逻辑、函数等等,所以基层代码的学习是非常重要的!

1.1函数式编程语言

    Haskell:纯函数式编程语言,以强大的类型系统和数学上的严谨性著称。
    Lisp(包括 Common Lisp、Scheme 等):历史悠久的编程语言家族,以其高度的灵活性和宏系统闻名。
    Clojure:运行在 Java 虚拟机上的 Lisp 方言,结合了函数式编程和 Java 平台的优势。


1.2数据科学和机器学习领域

    R:在统计分析和数据可视化方面应用广泛。
    Julia:设计用于高性能科学计算和数据分析。

1.3Web 全栈开发

    TypeScript:是 JavaScript 的超集,增加了静态类型检查等特性,提高了大型项目的开发效率。

1.4移动开发

    Objective-C:曾经是 iOS 开发的主要语言,现在逐渐被 Swift 取代。

1.5嵌入式系统开发

    Assembly Language(汇编语言):不同的处理器架构有不同的汇编语言,用于对硬件进行底层控制。

1.6其他

    Pascal:曾经在教学和早期软件开发中有广泛应用。
    Delphi(基于 Object Pascal):用于快速应用开发。
    Scala:融合了面向对象编程和函数式编程,运行在 Java 虚拟机上。
    Elixir:基于 Erlang 虚拟机,具有高并发和容错性,适合构建分布式系统。


2 软件程序分类(安全见闻02)

  • web程序 (网站): 通常包括后端和前端开发,后端可能使用Java,前端则使用JavaScript、PHP、CSS 等技术

  • 二进制程序 :渗透测试通常针对web程序,但二进制程序的应用大多数是逆向分析,这在渗透测试中涉猎 不广泛;逆向分析的专家可能对web开发不熟悉,因为它们关注的是不同的技术领域。

  • 脚本程序:包括多种语言编写的程序,如Lua、PHP、Java等。

  • 裸板程序:直接在硬件如STM32单片机上编写的程序;不依赖操作系统,没有进程概念,需要自行模拟某些功能。

  • 机器学习:通常使用Python编写,但也可以使用其他语言。

2.1 Web程序的基本构成

2.1.1 Web程序通常由以下几个部分组成

1. 前端:用户界面部分,通过URL向服务器发送请求。

2. 后端:服务器端逻辑,处理前端请求并执行相应的操作,如用户登录。

3. 数据库:存储数据的地方,后端会调用数据库中的数据来处理请求。

4. 服务器:存放数据库和运行后端程序的硬件设备。

web语言:

1.HTML:提到了点击劫持(Clickjacking)的问题,这是一种安全漏洞,攻击者可以利用它来 诱导用户在不知情的情况下与网页进行交互。

2. CSS:虽然CSS主要用于样式设计,但也存在注入问题。有时会被误认为是跨站脚本攻击 (XSS),尤其是对于新手来说。

3. JavaScript:涉及多种安全问题,包括:

XSS(跨站脚本攻击):分为DOM型、反射型和存储型。

点击劫持:与HTML中的点击劫持类似,是另一种诱导用户进行非自愿操作的攻击手 段。

请求走私(Request Smuggling):一种攻击技术,可以导致服务器解析请求时出现混 淆,从而执行恶意代码。

2.1.2 框架

提到了几种流行的JavaScript框架:Vue、React和Angular。 强调了所有框架最终都是基于HTML、CSS和JavaScript这三种基本语言构建的。 指出如果仅从纯粹的JavaScript角度去分析安全问题(如XSS)会非常耗时,通常通过使用框 架来分析这些问题。 提到存在许多框架,但了解它们的基本功能就足够了。

2.1.3 漏洞存在的地方

1前端潜在漏洞 信息泄露:敏感信息未经适当保护而被泄露。 XSS (跨站脚本攻击):攻击者在网页中注入恶意脚本。 CSRF (跨站请求伪造):攻击者诱使用户在已认证的会话中执行非自愿的操作。 点击劫持:攻击者通过透明层或窗口欺骗用户点击。 访问控制:未正确实施的权限检查导致未授权访问。 Web 缓存漏洞:浏览器或服务器缓存敏感信息。 跨域漏洞:不同域之间的安全限制被绕过。 请求走私:攻击者利用 HTTP 请求的解析差异进行攻击。 2后端潜在漏洞 信息泄露:同前端,但通常涉及服务器端的数据。 XSS :虽然主要影响前端,但后端也需防范反射型 XSS CSRF :同前端,但后端需要实施适当的防御措施。 SSRF (服务器端请求伪造):攻击者利用服务器端应用程序发起恶意请求。 反序列化漏洞:不当的反序列化操作导致安全问题。 SQL 注入漏洞:攻击者通过注入恶意 SQL 代码来操纵数据库。 命令注入漏洞:攻击者通过注入恶意命令来执行未授权的操作。 服务端模板注入:攻击者通过注入模板代码来执行恶意操作。 跨域漏洞:同前端,但后端需要正确设置 CORS 策略。 访问控制:同前端,但后端需要确保适当的权限检查。

2.1.4 数据库

数据库可以分为两大类: 1. 关系型数据库:这类数据库使用表格来存储数据,表格之间通过关系来关联。 常见的关系型 数据库包括:MySQL、SQL Server 、Access 、PostgreSQL 2. 非关系型数据库:这类数据库不使用表格模型,而是使用其他数据模型,如键值对、文档、 宽列存储或图形数据库。 常见的非关系型数据库包括: MongoDB、CouchDB、Neo4j、Redis

2.1.5 服务程序(中间件)

1常见的服务器程序

Apache:一种广泛使用的Web服务器软件。

Nginx:一种高性能的HTTP和反向代理服务器。

IIS(Internet Information Services):微软的Web服务器产品。

Tengine:由淘宝网发起的Web服务器项目,Nginx的分支。

Tomcat:由Apache软件基金会开发的Servlet容器。

WebLogic:由Oracle公司开发的Java应用服务器。

潜在漏洞 服务器程序可能存在的潜在漏洞包括:

信息泄露、文件上传漏洞、文件解析漏洞、目录遍历、访问控制问题

2.1.6 宏病毒

概念:宏病毒是一种恶意软件,可以通过在Office文档中嵌入宏(即小型程序)来传播。 

文中提到,可以使用如Metasploit这样的工具生成宏病毒,并将其植入Office文件中,如 Microsoft Word。

强调了宏病毒通常针对微软的产品,而不是其他办公软件,如WPS。

编写宏病毒的要求 编写宏病毒需要了解宏的代码构成,即病毒是由代码构成的。 宏代码通常是用特定的编程语言编写的,如VB(Visual Basic)或C#(C Sharp)。

总结 了解宏的代码构成和使用的编程语言对于编写宏病毒至关重要。 宏病毒的编写和理解需要对相关编程语言有一定的知识。

2.2 网络类型与网络安全

2.2.1 网络类型

        局域网(LAN):覆盖范围较小,一般在一个建筑物或一个校园内。例如,公司办公室内的网络就是一个局域网,用于员工之间共享文件、打印机等资源。
        城域网(MAN):覆盖范围较大,一般在一个城市内。例如,城市的有线电视网络、宽带网络等。
        广域网(WAN):覆盖范围非常大,可以跨越国家和地区。例如,互联网就是一个广域网,连接了全球各地的计算机和网络设备。

2.2.2 网络协议

        TCP/IP 协议:是互联网的基础协议,包括传输控制协议(TCP)和网际协议(IP)。TCP 负责数据的可靠传输,IP 负责数据的路由和寻址。
        HTTP 协议:超文本传输协议,用于在 Web 浏览器和 Web 服务器之间传输超文本数据,如网页、图片、视频等。
        FTP 协议:文件传输协议,用于在计算机之间传输文件。
        SMTP、POP3 和 IMAP 协议:用于电子邮件的发送和接收。

2.2.3 网络设备

        路由器:连接不同的网络,实现网络之间的数据转发。它根据 IP 地址和路由表来确定数据的传输路径。
        交换机:在局域网中连接多台计算机,实现数据的快速交换。它根据 MAC 地址来转发数据帧。
        网卡:安装在计算机上,用于连接网络。它将计算机的数据转换为网络信号进行传输,并接收网络信号转换为计算机可识别的数据。
        无线接入点(AP):提供无线网络连接,使无线设备能够接入局域网或广域网。

2.2.4 网络安全

        防火墙:用于保护网络免受外部攻击,它可以根据预设的规则过滤网络流量。
        加密技术:对数据进行加密,防止数据被窃取或篡改。例如,SSL/TLS 协议用于在 Web 浏览器和 Web 服务器之间进行加密通信。
        身份认证:确保只有授权用户能够访问网络资源,常见的身份认证方式有用户名和密码、数字证书、生物识别等。

2.3 人工智能编程Python

2.3.1 机器学习工作流程

1数据收集

来源: 数据可以从数据库、文件、传感器、网络等多种渠道获取。

类型: 数据包括结构化数据(如表格数据)、半结构化数据(如XML、JSON格式的数据)和 非结构化数据(如文本、图像、音频等)。

2数据预处理

数据清洗: 去除噪声数据、处理缺失值、纠正错误数据等。例如,使用均值填充或中位数填充 处理缺失值。

数据归一化: 将数据特征值缩放到特定范围,提高算法性能和稳定性。常见的方法有最小-最 大归一化、Z-score标准化等。

特征提取: 从原始数据中提取有用特征,以便机器学习算法更好地处理和理解数据。例如,在 图像识别中提取颜色、纹理、形状等特征。

3模型选择与训练

根据任务类型和数据特点选择合适的机器学习算法。例如,分类问题可选择决策树、支持向 量机等;回归问题可选择线性回归、随机森林等。

将预处理后的数据分为训练集和测试集,训练集用于训练模型,测试集用于评估模型性能。 使用训练集对模型进行训练,调整模型参数以最小化训练集上的损失函数。

4模型评估与优化

使用测试集对训练好的模型进行评估,常用的评估指标包括准确率、精确率、召回率、F1 值、均方误差等。 根据评估结果优化模型,可调整模型参数、更换算法、增加数据量等。例如,若模型准确率 低,可增加训练数据量或调整超参数。

5模型应用

将优化后的模型应用于实际问题,进行预测、分类、聚类等任务。 对模型应用结果进行监控和评估,不断改进模型以提高性能。


3 网络通讯(安全见闻03)

3.1 硬件设备

计算机硬件

        中央处理器(CPU):计算机的核心部件,负责执行指令和处理数据。它的性能决定了计算机的运行速度。
        内存:用于存储正在运行的程序和数据,它的容量和速度对计算机的性能有很大影响。
        硬盘:用于长期存储数据,包括操作系统、应用程序、文件等。硬盘的容量和读写速度也是影响计算机性能的重要因素。
        显卡:用于处理图形和图像数据,它的性能决定了计算机的图形处理能力。对于游戏玩家和图形设计师来说,显卡的性能非常重要。
        主板:是计算机的核心电路板,连接着各种硬件设备,如 CPU、内存、硬盘、显卡等。主板的质量和性能对计算机的稳定性和扩展性有很大影响。

3.2 网络硬件

        网络服务器:提供网络服务,如文件存储、电子邮件、Web 服务等。网络服务器通常具有较高的性能和可靠性,以满足大量用户的需求。
        网络存储设备:用于存储网络中的数据,如网络附加存储(NAS)和存储区域网络(SAN)。它们提供了大容量、高可靠性的数据存储解决方案。
        网络打印机:可以通过网络连接被多台计算机共享,方便用户打印文件。
        网络摄像头:用于视频监控和远程会议等应用。它可以通过网络将视频信号传输到其他设备上。

3.3 移动设备硬件

        智能手机:集成了多种功能,如通信、拍照、娱乐、办公等。智能手机的硬件包括处理器、内存、存储、屏幕、摄像头等。
        平板电脑:类似于智能手机,但屏幕更大,适合阅读、浏览网页、观看视频等。平板电脑的硬件也包括处理器、内存、存储、屏幕、摄像头等。
        可穿戴设备:如智能手表、智能手环等,它们可以监测用户的健康数据、运动数据等,并与智能手机等设备进行连接和交互。可穿戴设备的硬件包括传感器、处理器、内存、存储、屏幕等。

3.4 硬件发展趋势

        小型化:硬件设备越来越小型化,便于携带和使用。例如,智能手机、平板电脑等移动设备的体积越来越小,性能却越来越强。
        高性能:随着技术的不断进步,硬件设备的性能不断提高。例如,CPU 的处理速度越来越快,内存和存储的容量越来越大,显卡的图形处理能力越来越强。
        智能化:硬件设备越来越智能化,能够自动适应不同的环境和用户需求。例如,智能手机可以根据用户的使用习惯自动调整屏幕亮度、音量等设置。
        互联互通:硬件设备之间的互联互通越来越紧密,形成了一个庞大的物联网。例如,智能家居设备可以通过网络连接实现自动化控制,智能汽车可以与其他车辆和交通设施进行通信。


4 操作系统(安全见闻04)

.ios

.mac
.linux

.android

.Windows

.wince
.vxworks

.RT-Thread

        Windows、macOS、iOS 和 Linux 通常被认为是非实时操作系统。非实时操作系统主要致力于在各种情况下提供良好的整体性能、用户体验和多任务处理能力,但不能保证在严格的时间限制内对事件作出响应。

        与之相对的是实时操作系统(RTOS),实时操作系统能够在确定的时间内对外部事件作出响应并完成特定的任务,具有严格的时间确定性和可预测性,常用于对时间要求极为严格的嵌入式系统、工业控制等领域

4.1操作系统-系统分类

1.注册表(window有,linux没有注册表):一个核心数据库,用于存储和检索配置数据,直接控制着Windows的启动、‌硬件驱动程序的装载以及一些Windows应用程序的运行。

在Windows操作系统的安装目录下,注册表文件通常包括system.dat和user.dat,以及它们的备份system.da0和user.da0。通过Windows操作系统的安装目录下的regedit.exe程序可以存取注册表数据库。在早期的Windows版本中,这些功能是通过win.ini、system.ini和其他相关的.ini文件来实现的。

2.防火墙:旨在监控和控制网络流量,根据预定义的安全规则决定是否允许数据包的传输,主要功能是保护内部网络免受外部威胁,防止未经授权的访问,并在企业网络和‌互联网之间建立一道安全屏障。

3.自启动:自启动是指在状态机中,启动后的初始状态的次态能够落到状态机的几个状态中,具有这种功能的电路或设备称为自启动。自启动功能使得设备在上电或启动时能够自动进入预设的状态,而无需人工干预。

4.计划任务:‌计划任务是系统的常见功能,利用任务计划功能,可以将任何脚本、程序或文档安排在某个最方便的时间运行。‌ 计划任务在每次系统启动的时候启动并在后台运行,通常用于在‌服务器上定时执行一些重复性的事件。

5.事件日志:事件日志是记录在一种特殊文件中的事件列表,这些事件可能来源于操作系统、网络、服务器、防火墙、防病毒软件、数据库查询、硬件基础设施等。

6.内核驱动:内核驱动是一段可以加载到操作系统内核中的代码,通常用于管理硬件设备和提供操作系统与硬件之间的接口。‌ 这些驱动为操作系统提供了与硬件设备进行交互的能力,使得操作系统能够识别、管理和控制硬件设备。

7.系统服务:系统服务是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是底层(接近硬件)程序。

8.进程线程:

        8.1进程的定义和特性‌ 进程‌是指计算机中正在运行的一个程序的实例。每个进程都有自己的‌地址空间、‌系统资源和执行状态。进程可以独立运行,拥有自己的‌内存空间和‌文件描述符等。进程之间的通信通过进程间通信机制实现。 ‌

        8.2线程的定义和特性 ‌线程‌是进程中的一个执行单元。一个进程可以包含多个线程,这些线程共享同一地址空间和系统资源。线程之间可以并发执行,通过共享内存来进行通信和同步。线程是‌操作系统进行调度的最小单位,也被称作轻量级进程或子进程。

9.系统编程:‌系统编程是指编写与‌操作系统、‌设备驱动程序、‌系统工具、‌网络协议栈、‌文件系统等底层系统组件交互的程序‌。这类编程通常需要深入理解计算机体系结构、操作系统内部机制、硬件与软件的交互等。


4.2深度学习基本原理

4.2.1神经网络基础

1神经元模型

        深度学习的基础是人工神经网络,灵感来源于生物神经系统。

神经网络中的基本单元是神经元,它接收多个输入信号,对这些信号进行加权求和,然后通 过一个激活函数处理得到输出。

        例如,典型的神经元接收来自其他神经元或输入层的数据,每个输入都有一个对应的权重。 假设输入为 ( x ),对应的权重为 ( w ),则神经元的加权输入总和为 ( \sum x_i w_i ),其中 ( b ) 是偏置项。然后,通过激活函数 ( f ) 得到神经元的输出。

2多层神经网络

        深度学习中的神经网络通常由多个层次组成,包括输入层、隐藏层和输出层。

输入层接收原始数据,隐藏层对数据进行多层次的特征提取和变换,输出层产生最终的预测 结果。

        例如,在图像识别任务中,输入层接收图像的像素值,隐藏层逐步提取图像的边缘、纹理、 形状等特征,最后输出层给出图像所属的类别。


5 人工智能-AI(安全见闻05)

5.1人工智能简介与赋能

        简介:人工智能是指让计算机模拟人类智能的技术和科学,旨在使计算机系统能够执行 通常需要人类智能才能完成的任务,如:学习、推理、解决问题、理解自然语言、识 别图像和语音

  • 医疗领域:辅助医生进行疾病诊断、医学影像分析、药物研发等
  • 金融领域:风险评估、欺诈检测、智能投资顾问等
  • 交通领域:自动驾驶汽车、交通流量预测和优化等
  • 客户服务:智能聊天机器人
  • 图像识别和语音处理:人脸识别、语音助手等 

5.2人工智能涉及网络安全问题

1.数据安全问题

人工智能系统通常需要大量数据进行训练,这些数据可能包含敏感信息。 如果这些数据在收集、存储、传输或使用过程没有得到妥善保护,就可能被泄露、窃取或滥用。

2.对抗攻击

指通过对输入数据进行微小的修改,使得人工智能系统产生错误的输出。例如在图像识别中,通过在图像上添加一些人眼难以察觉的噪点,可以使人工 智能系统错误地识别图像。 对抗攻击可能会对安全关键领域的人工智能系统造成严重威胁。

3.模型窃取和知识产权问题

攻击者可以通过逆向工程等手段窃取人工智能模型的参数和结构,从而复制或 改进该模型。 这不仅会侵犯知识产权,还可能导致商业机密泄露。 此外,攻击者还可以利用窃取的模型进行恶意攻击,如生成虚假数据来欺骗其他人工智能。

4.恶意使用人工智能

攻击者可以利用人工智能技术来发动更复杂、更难以检测的网络攻击。 例如:使用人工智能生成的恶意软件可以自动适应不同的环境和防御机制,提 高攻击的成功率 人工智能还可以被用于自动化的网络钓鱼、垃圾邮件发送等恶意活动。

5.3人工智能的学习方法

1.学习基础知识

掌握数学基础知识,如线性代数、概率论、统计学等;

学习编程语言Python,Python是人工智能领域最常用的编程语言之一;

2.持续学习和交流

关注人工智能论坛、博客、网站等,通过学习文章,关注行业新闻持续学习;

加入人工智能社区论坛,与其他专业认识交流经验、分享知识。


6 通讯协议(安全见闻06)

潜在安全问题涉及领域:无线电安全、协议分析、web渗透、逆向分析

6.1 通讯协议涉及的安全问题

通通讯协

一、保密性问题

1.数据泄露风险:

①许多通讯协议在设计时可能灭有充分考虑数据加密,导致在传输过程中数据容易 被窃听。例如未加密的http协议,攻击者可以通过网络监听获取传输中的敏感信息;

②弱加密算法的使用也可能导致保密性不足。一些老旧的加密算法可能存在已经的漏洞。

例如,早期的DES加密算法,其密钥长度较短,容易受到暴力破解攻击。

2.密钥管理不善:

①加密通讯协议通常依赖密钥来保证数据的保密性,然而,如果密钥管理不善,如密钥泄露、密钥存储不安全等,就会使通讯的保密性收到严重威胁;

②密钥的分发过程也可能存在风险。如果密钥在分发过程中被窃取或篡改。那么后续的通讯将不再安全。

二、完整性问题

1.假冒身份风险:

①攻击者可以篡改在通讯过程中传输的数据,破坏数据的完整性。 例如,在网络购物中,攻击者可以修改订单金额或商品数量等信息,给用户和商家带来损失。

②缺乏有效的数据完整性校验机制的通讯协议容易受到此类攻击。一些简单的通讯协议可能只进行基本的错误检测,而没有对数据的完整性进行严格的校验。

2.重放攻击:

①5重放攻击指攻击者记录通讯过程中的数据,并在稍后的时间重复发送这些数据,以达到欺骗系统的目的。

②通讯协议如果没有采取有效的防范重放攻击的措施,就容易受到这种攻击的影响。

三、身份验证问题

1.假冒身份风险:

①攻击者可以假冒合法用户或设备的身份进行通讯,获取敏感信息或进行非法操作。例如,在网络钓鱼攻击中,攻击者伪装成合法的银行网站,骗取用户的登陆信息。

②通讯协议如果没有严格的身份验证机制,就难以区分合法用户和攻击者。

2.身份验证漏洞:

①一些通讯协议的身份验证机制可能存在漏洞,被攻击者利用。 例如,某些协议可能使用简单的用户名和密码进行身份验证,容易受到暴力破解攻击。

四、可用性问题

1.拒绝服务攻击:

①攻击者可以通过发送大量的无效请求或恶意数据包,使通讯系统陷入瘫痪,无法

为合法用户提供服务。

②例如,分布式拒绝服务攻击(DDOS)可以利用大量的僵尸主机向目标服务器发送

海量的数据包,耗尽服务器的资源,导致服务不可用。

2.协议漏洞导致的可用性问题

①某些通讯协议的设计缺陷可能导致系统在特定情况下出现故障,影响可用性。

③一些通讯协议可能对这种攻击缺乏有效的防范措施,容易受到影响。

五、协议实现问题

1.编程错误:

①通讯协议的实现过程中可能存在编程错误,导致安全漏洞。

②例如,缓冲区溢出漏洞、内存泄漏等问题都可能被攻击者利用,从而破坏系统的安全性。

③开发人员在实现通讯协议时,需要严格遵循安全编程规范(等保2.0 ),进行充分的

测试和代码审查,以减少此类漏洞的出现。

六、协议设计缺陷

1.缺乏安全考虑的设计:

①有些通讯协议在设计之初可能没有充分考虑安全因素,导致存在先天的安全漏洞。

②例如,某些协议可能没有对数据的长度、类型等进行严格的限制,使得攻击者可以利用这些路东进行缓冲区溢出攻击等。

③协议的设计可能过于复杂,增加了出现安全漏洞的可能性。复杂的协议往往难以理解和实现正确,容易出现错误和漏洞。

七、移动通讯协议安全问题

1.无线网络的特殊性:

①移动通讯通常通过无线网络进行,这使得通讯更容易受到窃听、干扰和攻击。

②无线网络的信号可以在一定范围内被接收,攻击者可以通过监听无线信号获取通讯内容。

③移动设备的移动性也增加了安全管理的难度,例如设备可能会连接到不可信的无线网络,或者在不同的网络环境之间切换。

八、物联网通讯协议安全问题

1.大量设备的管理难题:

①物联网中通常包含大量的设备,这些设备的管理和安全更新是一个巨大的挑战。

②如果其中一个设备被攻击,可能会影响到整个物联网系统的安全。

③许多物联网设备的计算能力和存储资源有限,难以实现复杂的安全机制。

2.异构性带来的安全问题:

①物联网中的设备可能使用不通的通讯协议和技术,者增加了安全管理的复杂性。

②不同的协议可能存在不同的安全漏洞,需要采取不同的安全措施。

③物联网中的设备可能来自不同的厂商,这些厂商的安全标准和实践可能不同,也

会增加安全风险。

九、工业控制系统通讯协议安全问题

1.实时性要求与安全的冲突:

①工业控制系统通常对实时性要求很高,这可能与安全机制的实施产生冲突。

②例如,一些安全措施可能会导致通讯延迟,影响系统的实时性能。

③在保障工业控制系统的安全时,需要平衡实时性和安全性的要求。

2.与传统IT系统的融合带来的风险

①随着工业互联网的发展,工业控制系统越来越多地与传统IT系统进行融合。这使得工业控制系统面临来自传统IT系统的安全威胁。

②如病毒、恶意软件等。

③工业控制系统的安全防护需要考虑与传统IT系统的集成,采取响应的安全措施。


7 硬件设备安全问题与潜在漏洞分析(安全见闻07)

7.1 背景

        在当今的数字化时代,硬件设备作为网络系统的重要组成部分,其安全性直接关系到整个网络的稳定与安全。随着网络攻击手段的不断演进,硬件设备面临着越来越多的网络安全问题和潜在漏洞。渗透测试作为一种主动的安全评估方法,可以有效地发现硬件设备中的安全漏洞,为提升硬件设备的安全性提供有力支持

7.2 硬件设备的网络安全问题点

7.2.1 物理安全问题

1、设备被盗或损坏
        ①渗透测试视角:攻击者可能通过物理接近硬件设备,尝试窃取设备或破坏其物理结构。例如,通过撬锁,伪装成维修人员等方式进入设备存放区域,盗取存储敏感信息的硬件或其他组件       

        ②防范措施:加强设备存放区域的物理安全防护,如安装监控摄像头、门禁系统、报警装置等。对重要设备进行加密存储,防止数据被轻易读取。

2、环境因素  
        ①渗透测试视角:极端的温度、湿度或灰尘等因素可能导致硬件设备出现故障,为攻击者提供可乘之机。例如高温可能使设备性能下降,增加被攻击的风险;潮湿环境可能导致电路短路,使设备更容易被入侵。

        ②防范措施:确保设备运行环境符合标准要求,安装温度、湿度控制设备,定期对设备进行清洁和维护。

3、电磁干扰
        ①渗透测试视角:攻击者可以利用电磁干扰设备干扰硬件设备的正常运行,导致数据传输错误或设备故障。例如通过发射特定频率的电磁信号干扰无线通信设备的信号接收。

        ②防范措施:对重要设备进行电磁屏蔽,使用抗干扰的通信线路和设备。

7.2.2 供应链安全问题

1、假冒伪劣产品
        ①渗透测试视角: 攻击者可能会在供应链中混入假冒伪劣的硬件设备,这些设备可能存在安全漏洞,或者被植入恶意软件。例如,假冒的网络设备可能会被配置为向攻击者发送敏感信息,或者允许攻击者远程控制设备。
        ②防范措施:建立严格的供应链管理体系,对供应商进行严格的审核和认证。对采购的硬件设备进行安全检测,如检查设备的序列号、固件版本等,确保设备的真实性和安全性。

2、恶意软件植入
        ①渗透测试视角: 攻击者可能在硬件设备的生产、运输或存储过程中植入恶意软件,如固件后门、恶意芯片等。这些恶意软件可以在设备投入使用后被激活,对网络进行攻击。     

        ②防范措施: 对硬件设备进行安全检测,包括固件分析、恶意软件扫描等。使用可信的供应链渠道,确保设备在整个供应链过程中的安全性。

3、供应链中断
        ①渗透测试视角:供应链中断可能会导致硬件设备无法及时供应,企业可能会被迫使用未经充分测试的替代设备,增加了安全风险。此外,攻击者也可能利用供应链中断制造混乱,趁机发动攻击。

        ②防范措施:建立多元化的供应链渠道,确保在供应链中断时能够及时获得替代设备。制定应急预案,应对供应链中断可能带来的安全问题

7.2.3 设备漏洞问题

1、操作系统漏洞
        ①渗透测试视角: 硬件设备上的操作系统可能存在各种漏洞,如缓冲区溢出、权限提升等。攻击者可以利用这些漏洞获取设备的控制权或窃取敏感信息。例如,通过发送精心构造的数据包,触发操作系统的缓冲区溢出漏洞,从而执行恶意代码。

        ②防范措施: 及时更新操作系统补丁,关闭不必要的服务和端口。对设备进行安全配置,限制用户权限,防止未经授权的访问。

2、固件漏洞
        ①渗透测试视角: 硬件设备的固件也可能存在漏洞,攻击者可以通过固件升级或恶意软件植入等方式利用这些漏洞。例如,攻击者可以利用固件漏洞获取设备的管理员权限,或者篡改设备的配置。

        ②防范措施: 定期检查设备固件版本,及时更新固件补丁。对固件进行安全审计,确保固件的完整性和安全性。

3、硬件设计漏洞
        ①渗透测试视角: 硬件设备的设计可能存在漏洞,如硬件后门、侧信道攻击等。攻击者可以利用这些漏洞获取设备的敏感信息,或者控制设备。

(注意:侧信道攻击是一种针对加密电子设备(如智能卡、USB令牌、硬件安全模块等)的攻击方式。它不是直接攻击加密算法或密钥本身,而是通过分析设备在执行加密操作时的物理实现(如时间、功耗、电磁泄露等)来获取敏感信息,比如密钥或其他加密数据。)

        ②防范措施:在设备采购过程中,选择经过安全认证的产品。对设备进行安全评估,检测是否存在硬件设计漏洞。采用加密技术和安全隔离措施,保护敏感信息。

7.2.4 网络连接问题

1、网络攻击
        ①渗透测试视角: 硬件设备连接到网络后可能会受到各种网络攻击,如DDoS攻击、SQL注入、跨站脚本攻击等。攻击者可以利用这些攻击手段破坏设备的正常运行或窃取敏感信息。例如,通过发送大量的请求使设备无法正常响应,从而实现DDoS攻击。

        ②防范措施: 加强网络安全防护,安装入侵检测系统、防火墙等。对设备进行网络访问控制,限制来自外部网络的访问。定期进行安全漏洞扫描,及时发现和修复网络安全漏洞。但是,DDOS攻击目前没有从根源性解决的方案

2、无线连接安全问题
        ①渗透测试视角: 无线连接的硬件设备可能会受到无线攻击,如Wi-Fi密码破解、蓝牙攻击等。攻击者可以利用这些攻击手段获取设备的控制权或窃取敏感信息。例如,通过破解Wi-Fi密码,接入无线网络,进而攻击连接到该网络的硬件设备。

        ②防范措施: 对无线连接进行加密,如使用WPA2加密协议。定期更换无线密码,限制无线设备的连接数量。对无线设备进行安全配置,关闭不必要的服务和功能。

3、 网络隔离问题
        ①渗透测试视角:如果硬件设备没有进行有效的网络隔离,可能会导致不同网络之间的安全问题相互影响。例如,一个受感染的设备可能通过网络传播恶意软件,影响其他设备的安全

        ②防范措施:对不同的网络进行隔离,使用防火墙,虚拟局域网等技术实现网络隔离。对跨网络的数据传输进行严格的控制和审查,防止恶意软件的传播。

7.3 硬件设备的潜在漏洞及渗透测试方法

7.3.1 处理器漏洞

1、幽灵(Spectre)和熔断(Meltdown)
        ①这部分介绍了幽灵(Spectre)和熔断(Meltdown)两种处理器漏洞及其渗透测试方法和防范措施。幽灵(Spectre)和熔断(Meltdown)漏洞可以通过专门的检测工具进行检测,如 Meltdown and Spectre Checker。也可以通过分析处理器的性能指标来判断是否存在漏洞。

        ②利用场景:攻击者可以利用这些漏洞获取处理器中的敏感信息,例如密码、密钥等。例如,通过构造特定的代码序列,诱导处理器执行错误的预测执行,从而读取内核内存中的敏感数据。

        ③防范措施:及时更新处理器的微代码和操作系统补丁;关闭预测执行功能(在某些情况下可能会影响性能);使用内存隔离技术防止内核内存被用户空间程序访问。

2、侧信道攻击漏洞:
        ①这部分介绍了侧信道攻击漏洞的渗透测试方法和防范措施。

侧信道攻击通常需要对目标设备进行长时间的观察和分析,因此渗透测试人员可以使用专门的侧信道攻击工具,如电磁辐射分析仪、功耗分析仪等进行监测。也可以通过对软件模拟的方式,分析设备的运行状态,判断是否存在侧道攻击漏洞,但可靠性不高。

        ②利用场景:攻击者可以通过分析设备的电磁辐射、功耗变化等侧信道信息,获取设备处理的敏感数据。例如,通过分析密码加密过程中的功耗变化,推断出密码的部分信息。

        ③防范措施:采用电磁屏蔽技术,减少设备的电磁辐射。使用随机化技术,如随机化密码加密过程中的时间和功耗,防止侧信道攻击。

7.3.2 存储设备漏洞

1、固态硬盘(SSD) 漏洞:
        ①渗透测试方法:可以使用 SSD Secure Erase Tool 对 SSD 进行检测,也可以通过分析 SSD 的固件版本和功能来判断是否存在漏洞。

        ②利用场景:攻击者可以利用 SSD 的固件漏洞获取存储在 SSD 中的数据。例如,通过修改 SSD 的固件,使 SSD 在特定条件下泄露数据。

        ③防范措施:及时更新 SSD 的固件补丁,使用加密技术保护存储在 SSD 中的数据。对重要数据进行备份,防止数据丢失。

2、内存漏洞:
        ①渗透测试方法:可以使用内存漏洞检测工具,如 Memtest86,对内存进行检测。也可以通过分析程序的内存访问模式,判断是否存在内存漏洞。

        ②利用场景:内存可能存在缓冲区溢出、内存泄漏等漏洞,攻击者可以利用这些漏洞获取内存中的敏感信息。例如,通过发送精心构造的数据包触发程序的缓冲区溢出漏洞,从而执行恶意代码。

        ③防范措施:及时更新软件补丁,修复内存漏洞。对程序进行安全审计,确保程序的安全性。使用内存隔离技术,防止不同程序之间的内存交互。

7.3.3 网络设备漏洞

1、路由器漏洞:
       ①渗透测试方法: 可以使用路由器漏洞扫描工具,如Router Scan, 对路由器进行检测。也可以通过分析路由器的配置文件和固件版本,判断是否存在漏洞。

        ②利用场景: 路由器可能存在漏洞,如默认密码、远程代码执行漏洞等,攻击者可以利用这些漏洞控制路由器,进而对网络进行攻击。例如,通过利用路由器的远程代码执行漏洞,在路由器上安装恶意软件,实现对网络流量的监控和篡改。

        ③防范措施: 及时更新路由器的固件补丁,修改默认密码。对路由器进行安全配置,关闭不必要的服务和端口。使用网络访问控制技术,限制对路由器的访问。

2、交换机漏洞:
      ①渗透测试方法: 可以使用交换机漏洞扫描工具,如Switch Scanner, 对交换机进行检测。也可以通过分析交换机的配置文件和固件版本,判断是否存在漏洞。

        ②利用场景: 交换机可能存在漏洞,如VLAN跳跃漏洞、MAC地址欺骗等,攻击者可以利用这些漏洞获取敏感信息或破坏网络的正常运行。例如,通过利用VLAN跳跃漏洞,跨越不同的VLAN,获取其他VLAN中的敏感数据。

(补充:VLAN跳跃漏洞(VLAN Hopping)是一种网络攻击技术,攻击者通过这种技术可以在网络中从一个VLAN非法访问另一个VLAN的数据。VLAN(Virtual Local Area Network)是一种将物理网络划分为多个逻辑网络的技术,目的是提高网络的安全性和效率。然而,不当的配置可能导致VLAN跳跃漏洞,)

       ③ 防范措施:及时更新交换机的固件补丁,对交换机进行安全配置,关闭不必要的服务和功能。使用VLAN隔离技术,防止不同的VLAN之间的通信。

7.3.4 物联网设备漏洞

        ①物联网设备安全问题日益突出,由于物联网设备通常具有较低的计算能力和存储容量,因此它们更容易受到攻击。

        ②渗透测试方法:可以使用物联网设备漏洞扫描工具,如IoT Inspector,对物联网设备进行检测。也可以通过分析物联网设备的通信协议和固件版本,判断是否存在漏洞。

       ③ 利用场景:物联网设备可能存在漏洞,如默认密码、弱加密算法、远程代码执行漏洞等,攻击者可以利用这些漏洞控制物联网设备,进而对网络进行攻击。例如,通过利用物联网设备的远程代码执行漏洞,在物联网设备上安装恶意软件,实现对物联网网络的控制。

        ④防范措施:加强物联网设备的安全管理,如定期更新设备固件、修改默认密码、使用强加密算法等。对物联网设备进行安全认证,确保设备的安全性。使用物联网安全网关,对物联网设备的通信进行监控和过滤。

        总结,任何漏洞扫描工具在本质上都是:通过库收集历史漏洞数据,将收集全部历史漏洞数据后,可以去发包。数据包带有漏洞数据的特征,然后查看返回的有没有漏洞的特征,如果有就是存在漏洞,没有就是不存在漏洞。所以本质上还是比对特征。

7.4 渗透测试在硬件设备安全评估中的应用

7.4.1 渗透测试的流程

①信息收集:收集目标硬件设备的相关信息,包括设备型号、固件版本、网络配置等。
②漏洞扫描:使用漏洞扫描工具对硬件设备进行扫描,发现潜在的安全漏洞。
③漏洞利用:根据发现的漏洞,尝试利用漏洞获取设备的控制权或敏感信息。
④后渗透测试:在成功获取设备控制权后,进行后渗透测试,如权限提升、横向移动、数据窃取等。
⑤报告生成:将渗透测试的结果整理成报告,包括发现的漏洞、利用方法、风险评估等。

7.4.2 渗透测试的注意事项

①合法合规:渗透测试必须在合法合规的前提下进行,获得相关授权后方可进行测试。

②风险控制:在进行渗透测试时,要注意控制测试的风险,避免对目标设备造成不必要的损害。

③保密原则:渗透测试人员要遵守保密原则,对测试过程中获取的敏感信息进行严格保密。

总结 :硬件设备的网络安全问题和潜在漏洞是一个复杂的问题,需要从多个方面进行防护。渗透测试作为一种主动的安全评估方法,可以有效地发现硬件设备中的安全漏洞,为提升硬件设备的安全性提供有力支持。在进行硬件设备的安全评估时,应结合渗透测试技能,全面分析硬件设备的网络安全问题和潜在漏洞,采取有效的防护措施,确保硬件设备的安全运行。同时,企业和个人也应加强对硬件设备网络安全的意识,定期进行安全评估和漏洞修复,保障网络安全。


8 量子计算(安全见闻08)

        概念:‌‌量子计算是一种利用‌量子力学原理进行计算的新型计算模式。‌ 它与传统的经典计算不同,量子计算遵循量子力学规律,使用‌量子比特(qubit)作为基本运算单元。量子计算机通过调控量子信息单元进行高速数学和逻辑运算、存储及处理量子信息。‌

8.1 学习方向

1.量子物理学基础:

        ①了解量子力学的基本原理,如量子态、叠加态、纠缠等概念。
        ⑤学习量子力学的数学表达,如波函数、算符等,以便更好分析量子计算系统的特性。
2.量子计算原理与技术:
        ①掌握量子比特、量子门、量子电路等量子计算的核心概念。
        ②研究不同的量子计算模型,如量子线路模型、绝热量子计算等。
        ③了解量子算法,特别是对传统密码学构成威胁的算法,如Shor算法。
3.传统网络安全知识:
        ①巩固传统加密算法、哈希函数、数字签名等网络安全技术。
        ②熟悉网络安全架构、访问控制、漏洞管理等方面知识,以便对量子计算对传统安全的影响。
 4.量子密码学:
        ①学习量子密钥分发(QKD)原理和技术,掌握其优势和局限性。
        ②研究抗量子密码算法,如基于格的密码、基于哈希的密码等。

5.量子计算安全政策与法规:
       ① 了解国内外关于量子计算安全的政策法规,以及行业标准的发展动态。
       ② 关注量子计算安全领域的伦理和法律问题。

8.2 漏洞风险

1.加密算法被破解风险:

        ①传统非对称加密算法(如RSA、ECC)可能被量子计算机上的Shor算法快速破解。
        ②哈希函数可能受到量子计算的攻击,导致碰撞攻击更容易实施。
2.“现在收获,以后解密”风险:
        ①攻击者可能在当前收集加密数据,等待量子计算技术成熟后进行解密。
3.区块链安全风险:
        ①量子计算可能破解区块链用户的私钥,威胁加密货币的安全。
4.量子密钥分发风险:
        ① 量子信道可能受到干扰,影响密钥的生成和传输。
        ②设备和系统可能存在安全漏洞,被攻击者利用。
5.量子计算系统自身风险:
        ①量子计算系统存在错误和噪声问题,可能被攻击者利用来破坏计算过程或获取敏感信息。
        ②供应链安全风险,硬件设备或软件可能被植入恶意代码。
        

8.3 测试方法

1.加密算法测试:

        ①使用量子计算模拟器或量子硬件,尝试运行Shor算法对传统加密算法进行破解。
        ②分析不同加密算法在量子计算环境下的安全性,评估其被破解的难度和时间。
2.“现在收获,以后解密”测试:
        ①模拟攻击者收集加密数据的场景,分析在未来量子计算技术发展后,这些数据被解密的可能性。
        ②研究数据存储和保护策略,以降低“现在收获,以后解密”的风险。
3.区块链安全测试:
       ①分析量子计算对区块链的影响,特别是对私钥安全性的威胁。
       ②测试抗量子密码算法在区块链中的应用效果。
4.量子密钥分发测试:
        ①对量子信道进行干扰测试,评估其对密钥分发的影响。
        ②检查量子设备和系统的安全性,包或硬件漏洞、软件漏洞等。
5.量子计算系统自身测试:
       ①进行错误注入测试,观察量子计算系统在错误和噪声环境下的性能和安全性。
       ②审查量子计算系统的供应链,确保硬件设备和软件的安全性。

总结:量子计算安全是一个复杂的领域,需要综合运用物理学、计算机科学、密码学等多学科知识进行学习和研究。通过了解漏洞风险并采用适当的测试方法,可以更好保障量子计算系统的安全。

8.4 量子计算渗透测试流程

1.信息收集阶段
①目标背景调研:

        了解目标量子系统所属的机构、其在量子研究或应用中的角色、相关的服务信息等。如:确定该量子系统是用于科研实验、量子通信网络建设,还是量子计算服务等,以便更好理解其潜在的价值和可能存在的安全重点。
    ②技术架构分析:

        研究目标量子系统的技术架构,包括所使用的量子设备类型(如量子计算机的型号、量子通信设备的技术标准等)、系统的拓扑结构、与传统网络的连接方式等。这可以通过查阅相关技术文档、学术论文,或与熟悉该系统人员进行交流获取信息。
    ③公开信息搜索:

        利用互联网搜索引擎、学术数据库、专业论坛等渠道,收集与目标量子系统相关的公开信息。可能包括系统的开发者或供应商发布的技术资料、研究团队的学术报告、相关的新闻报道等。这些信息可以帮助渗透测试人员了解系统的基本特性、已公开的漏洞或安全事件,以及可能存在的安全隐患。

2.威胁建模阶段
①识别潜在威胁源:

        分析可能对量子系统构成威胁的主体,包括外部的黑客组织、竞争对手、恶意研究人员等,以及内部的系统管理员、研发人员等可能存在的误操作或恶意行为。同时,考虑量子计算技术本身可能带来的新的威胁,如量子算法对传统加密的挑战。
②确定攻击路径:

        根据收集到的信息和对威胁源的分析,确定可能的攻击路径。如:对于量子通信系统,攻击路径可能包括对量子信道的干扰、对通信设备的物理攻击或软件漏洞利用;对于量子计算系统,可能的攻击路径包括对量子算法的攻击、对控制系统的入侵等。
    ③评估影响程度:

        对每种可能的攻击路径进行影响评估,确定如果攻击成功,可能对目标量子系统造成的影响,如:数据泄露、系统瘫痪、量子密钥被破解等。这将有助于确定渗透测试的重点和优先级。

3.漏洞分析阶段
①设备漏洞扫描:

        使用专业的漏洞扫描工具,对量子系统中的硬件设备进行扫描,查找可能存在的安全漏洞。如:检查量子计算机的控制系统、量子通信设备的接口等是否存在已知的漏洞或配置不当问题。
②软件漏洞检测:

        对于量子系统中运行的软件,包括操作系统、控制软件、通信协议等,进行漏洞扫描。可以使用静态代码分析工具、动态漏洞扫描工具等,查找可能存在的代码漏洞、缓冲区溢出、权限管理不当等问题。
    ③量子算法分析:

        针对量子系统所使用的量子算法,分析其安全性。如:对于量子密钥分发算法,检查其是否存在被窃听或破解的风险;对于量子计算算法,研究是否存在可能被利用来攻击系统的漏洞。

4.渗透攻击阶段
①漏洞利用尝试:

        根据发现的漏洞,尝试利用漏洞获取量子系统的访问权限。如:如果发现了一个远程代码执行漏洞,尝试通过发生精心构造的数据包来执行恶意代码,获取系统的控制权。
②量子信道干扰:

        对于量子通信系统,尝试通过干扰量子信道来影响通信的安全性。这可能包括使用强磁场、强光等方式干扰量子态的传输,或尝试窃听量子信道中的信息。
③社会工程学攻击:

        利用社会工程学方法,尝试获取量子系统相关人员的信任,获取敏感信息或访问权限。如:通过发送钓鱼邮件、伪装成技术支持人员等方式,诱使目标人员透露帐号密码、系统配置等信息。

5.后渗透攻击阶段
①内部网络探测:

        在成功获取量子系统的访问权限后,进一步探测系统内部的网络结构,了解系统中其他设备的链接情况和访问权限,以便发现更多潜在目标。
②数据窃取与分析:

        产生窃取量子系统中的敏感数据,如:量子密钥、实验数据、用户信息等,并对窃取的数据进行分析,以获取更多信息和潜在漏洞。
③权限提升与持久化:

        尝试提升自己在量子系统中的权限,以便获取更高的访问级别和更多的操作权限。同时,采取措施使自己的访问权限持久化,以便在后续的测试中能够继续访问系统。

6.报告阶段
①结果整理与分析:

        将渗透测试过程中发现的漏洞、攻击路径、获取的信息等进行整理和分析,总结出量子系统存在的安全问题和潜在风险。
②报告撰写:

        编写详细的渗透测试报告,报告中应包括测试的目标、范围、方法、过程、发现的问题、风险评估以及建议的修复措施等。报告应具有清晰的结构和准确的表述,以便目标机构的管理人员和技术人员能够理解和采取相应的措施。


9 二进制安全(安全见闻09)

9.1 进制与网络安全的关系

9.1.1 二进制的基本概念

        二进制是计算技术中广泛采用的一种数制。它只有两个数码:0 和1,采用逢二进一的进位规则。计算机中的所有数据都是以二进制形式存储和处理的。

9.1.2 二进制在网络安全中的重要性

①底层安全基础

        网络系统的安全性很大程度上依赖于底层二进制代码的正确性和安全性。恶意软件、漏洞利用等往往针对二进制代码进行攻击。

②漏洞分析

        通过分析二进制代码可以发现潜在的安全漏洞,如缓冲区溢出、代码注入等。

③加密与解密

        二进制代码在加密和解密算法中起着关键作用,对二进制的理解有助于,分析和破解加密机制。

9.2 二进制安全的概念与范畴

9.2.1 二进制安全的定义:

        二进制安全是指在处理二进制数据时,确保数据的完整性、保密性和可用性,防止恶意攻,击和数据篡改。

9.2.2 范畴

①内存安全:防止内存泄漏、缓冲区溢出等问题,确保程序在内存中的正确运行。
②代码安全:分析和检测二进制代码中的漏洞,如逻辑错误、安全漏洞等。

③数据安全:保护二进制数据的机密性和完整性,防止数据被窃取或篡改。
④逆向工程:通过对二进制代码的分析,了解程序的功能和结构,以便发现潜在的安全问题。

⑤漏洞修复:针对发现的二进制安全漏洞,进行及时的修复和加固。

9.3 二进制安全的渗透测试方法

9.3.1静态分析

①工具介绍

        常用的反汇编工具 OIlyDbg和Immunity Debugger,可以将二进制文件反,汇编成汇编代码,便于分析。此外,Hopper Disassembler也是一款功能强大的反汇编工具,尤其在分析 macOS和iOS平台的二进制文件时表现出色。

②分析流程

        识别关键函数和代码段:通过对程序的入口点、导出函数等进行分析,确定可能 存在安全问题的关键代码区域。

③检查代码中的潜在漏洞

        如缓冲区溢出、整数溢出、格式化字符串漏洞等。可以 通过检查函数调用、内存操作等方式来发现这些漏洞。

④分析控制流和数据流

        了解程序的执行流程和数据的流向,查找可能的攻击路径 通过分析条件跳转、循环等控制结构,以及变量的赋值和传递,确定是否存在可 例如, 以被利用的漏洞。

⑤符号执行

        使用 KLEE 等符号执行工具对二进制代码进行分析,可以在不实际执 行程序的情况下,探索程序的所有可能执行路径,从而发现潜在的安全漏洞。

9.3.2动态分析

①工具介绍

        GDB(GNU Debugger)是一款强大的调试器,对运行中的程序进行调试,观察程序的行为和内存状态。此外,WinDbg在Windows 平台上也被广泛使用。

②分析流程

        设置断点:在关键代码位置设置断点,以便在程序执行到该位置时暂停,观察程序的状态。

③跟踪程序的执行流程

        通过单步执行、继续执行等操作跟踪程序的执行流程,了解程序的行为。检查程序在运行过程中内存中

④观察内存中的数据变化

        检测是否存的数据变化,值是否被意外修改,或者是否存在内存泄漏等问题在异常行为。例如,观察变量的

⑤分析程序的输入输出

        监测程序的输入和输出,查找可能的漏洞利用点。例如,正确的验证,或者是否存在输出检查程序是否对输入数据进行了敏感信息的情况。

9.4 模糊测试

9.4.1 工具介绍

        AFL(American Fuzzy Lop)等⼯具用于生产成⼤量随机输入,测试程序对异常输入的反应。

9.4.2 分析流程

        ①. 确定输⼊接口和目标程序:定义程序的输⼊点和需要测试的功能。

        ②. 生成随机输⼊数据:使用模糊测试⼯具自动生成各种随机化的输⼊数据。

        ③. 将输⼊数据输入到程序中:持续将输⼊数据提供给程序,观察其响应。

        ④. 监测程序的行为:记录程序是否崩溃或产生异常行为。

        ⑤. 优化模糊测试策略:根据测试结果调整输⼊数据的生产方式,提高测试覆盖率。

9.5 漏洞利用

9.5.1 工具介绍

        Metasploit 等⼯具用于开发和验证漏洞利用代码。

9.5.2 分析流程

        ①. 确定目标系统中的漏洞:识别目标系统中存在的已知漏洞。

        ②. 开发漏洞利用代码:根据漏洞的特性编写相应的利用代码。

        ③. 验证漏洞利用的有效性:在目标系统中执行利用代码,确认漏洞是否被成功利用。           ④. 进行后续的漏洞测试:在成功利用后,进行进⼀步的安全测试,以发现其他潜在问题。

9.6 代码审计

9.6.1 工具介绍

        Checkmarx 和 Fortify 等⼯具用于自动化代码安全审计。

9.6.2 分析流程

        ①. 选择要审计的代码:选择需要分析的二进制文件或源码。

        ②. 配置审计工具:配置⼯具的扫描规则,确保针对特定的安全问题进行分析。

        ③. 运行代码审计工具:使用审计工具自动扫描代码,查找潜在漏洞。

        ④. 分析审计结果:根据工具的报告分析潜在的安全问题。

        ⑤. 修复安全漏洞:根据审计结果修复代码中的安全缺陷。

        总结:二进制安全涉及确保编译后的代码和文件在底层执行过程中不受到攻击。它涵盖内存、代码和 数据的安全性,涉及逆向⼯程、漏洞修复等多个方面。通过静态分析、动态分析、模糊测试等方法,可以有效发现和利用二进制程序中的漏洞,从而提升系统的整体安全性。

        ⼆进制安全的研究和实践对网络安全至关重要,能够帮助防止潜在的恶意攻击和数据泄露。
 

全文总结:学好底层代码,学好数据库,踏踏实实才是唯一途径。

笔记来源于B站UP主" 泷羽sec",如涉及侵权马上删除文章

笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负

发布评论

评论列表(0)

  1. 暂无评论