安全见闻
声明
学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
安全见闻01—网络安全概括
编程语言
C++:在C基础上发展,支持面向对象编程,常用于游戏和高性能计算。
Java:广泛使用的面向对象语言,跨平台,适合企业级应用。
Python:简洁易学,拥有丰富库,适用于数据分析、AI和Web开发。
JavaScript:主要用于前端开发,也可用于服务器端(Node.js)。
C#:微软开发,主要用于Windows应用。
Ruby:简洁、富有表现力,常用于Web开发。
PHP:专注于Web开发,适合服务器端脚本。
Go:高效、简洁,适用于网络编程和云计算。
Swift:苹果开发,用于iOS和macOS应用。
Kotlin:与Java互操作,主要用于Android开发。
函数式编程语言
Haskell:纯函数式,强类型系统,严谨。
Lisp:灵活性强的历史悠久语言家族。
Clojure:Lisp方言,运行在Java虚拟机上,结合函数式编程和Java优势。
数据科学与机器学习
- R:广泛用于统计分析和数据可视化。
- Julia:专为高性能科学计算和数据分析设计。
WEB全栈开发
typeScript:JavaScript超集,增加静态类型检查,提高大型项目开发效率。
移动开发
Objective-C:曾为iOS主要语言,现在逐渐被Swift取代。
嵌入式系统开发
汇编语言:不同架构有不同的汇编语言,底层控制硬件。
软件程序类型
Web程序:
包括各种网站和在线应用,主要用于渗透测试。
二进制程序:
主要用于逆向分析,与渗透测试不同,通常需要更深的技术基础。
驱动程序:
由二进制程序编写,后缀通常为 .sys,用于操作系统的硬件交互。
上位机程序
脚本程序:
包括多种语言如 Lua、PHP、Java,广泛应用于自动化和快速开发。
操作系统:
大型软件系统,尽管技术含量高,但本质上也属于软件程序。
裸板程序:
不依赖于操作系统,通常用于嵌入式系统开发。
机器学习程序:
一般用 Python 编写,也可使用 Go 等语言,最终都是实现特定功能的程序。
量子计算程序:
特定于量子计算领域,尚处于发展阶段。
工控程序:
用于工业控制系统,涉及到硬件和软件的结合。
BIOS程序与本质理解:
BIOS程序:是低级代码,负责硬件初始化和操作系统启动。其本质是代码,不应被复杂的术语所迷惑。
认清本质:无论别人如何夸大技术,重要的是理解其底层原理。例如,组合技术(如二进制与 Web 的结合)只需掌握其基础即可。
操作系统类型
- iOS
- macOS
- Linux
- Android
- Windows
- Windows CE (Wince)
- VxWorks
- RT-Thread
非实时操作系统:
包括 Windows、macOS、iOS 和 Linux。主要关注性能和用户体验,但在处理指令时不一定立即响应用户操作。
实时操作系统 (RTOS):
如 VxWorks 和 RT-Thread,能够在确定时间内响应外部事件,适用于时间要求严格的嵌入式系统和工业控制。
硬件设备
计算机硬件组件
中央处理器CPU:
计算机的核心,负责执行指令和处理数据,其性能直接影响计算速度。
内存:
存储运行中的程序和数据,容量和速度影响计算机性能。
硬盘:
用于长期存储数据,包括操作系统和应用程序,容量和读写速度也会影响性能。
显卡:
处理图形和图像数据,其性能对图形处理能力至关重要,尤其在游戏和设计领域。
主板:
连接各个硬件组件,主板的质量影响计算机的稳定性和扩展性。
网络硬件设备
网络服务器:
提供网络服务,如文件存储和Web服务,通常具有较高性能。
网络存储设备:
包括 NAS 和 SAN,提供高容量、高可靠性的数据存储解决方案。
网络打印机:
通过网络共享,方便多台计算机打印。
网络摄像头:
用于视频监控和远程会议,可将视频信号通过网络传输。
移动设备硬件
智能手机:集成多种功能,包含处理器、内存、存储和摄像头。
平板电脑:类似于智能手机,但屏幕更大,适合阅读和观看视频等。
可穿戴设备:如智能手表等,可以监测用户健康数据并连接智能手机等设备。
硬件发展趋势
小型化:硬件设备趋向体积越来越小,便于携带。
高性能:处理器、内存、存储的性能和容量不断提高。
智能化:硬件设备更加智能,可以适应不同用户习惯。
互联互通:设备之间的联网与互联越来越密切,形成物联网。
网络
网络类型
局域网(LAN):覆盖范围较小,通常用于办公室、学校或家庭等局部区域,用于共享资源(如文件和打印机)。
城域网(MAN):覆盖一个城市范围内的网络,例如城市的宽带网络或有线电视网络。
广域网(WAN):覆盖范围极广,跨越国家甚至全球的区域,典型例子是互联网,它连接了世界各地的计算机和网络设备。
网络协议
TCP/IP协议:互联网的基础协议。
TCP(传输控制协议):确保数据可靠、有序地传输。
IP(网际协议):负责数据的路由和地址解析。
HTTP协议:超文本传输协议,用于Web浏览器和服务器之间传输网页、图片等超文本数据。
FTP协议:文件传输协议,用于计算机之间安全传输文件。
SMTP、POP3和IMAP协议:用于电子邮件的发送与接收。SMTP负责发送,POP3和IMAP负责接收。
网络设备
路由器:用于连接不同的网络并转发数据,依据IP地址和路由表确定数据的传输路径。
交换机:局域网内的多台计算机通过交换机进行数据交换,依据MAC地址转发数据帧。
网卡:计算机连接网络的硬件设备,将计算机数据转换为网络信号进行传输。
无线接入点(AP):为无线设备提供网络接入,使其能够连接到局域网或广域网。
网络安全
防火墙:保护网络免受外部攻击,依据规则过滤进出网络的流量。
加密技术:对数据进行加密,常用的SSL/TLS协议用于确保Web浏览器和服务器之间的通信安全。
身份认证:通过验证用户身份来确保只有授权用户能访问网络资源,常用的方法包括用户名和密码、数字证书以及生物识别等。
通讯协议
TCP(传输控制协议):用于可靠的、面向连接的数据传输,确保数据到达目的地。
UDP(用户数据报协议):用于快速、不可靠的通信,不提供数据重传机制,适用于实时应用(如视频流、在线游戏等)。
IP(网际协议):用于网络间的路由和数据传输地址解析,是互联网数据传输的基础协议。
机械学习
工作流程:
数据收集:
来源:数据可以来自数据库、文件、传感器、网络等多种渠道。
类型:包括结构化数据(如表格数据)、半结构化数据(如XML、JSON)和非结构化数据(如文本、图像、音频等)。
数据预处理:
数据清洗:去除噪声数据、处理缺失值、纠正错误数据。常用方法如均值填充、中位数填充等。
数据归一化:将数据缩放至统一范围,常见方法包括最小-最大归一化和Z-score标准化。
特征提取:从数据中提取有用特征,如图像识别中提取颜色、纹理、形状等。
模型选择与训练:
根据任务类型选择算法:分类问题可以使用决策树、支持向量机等;回归问题可以使用线性回归、随机森林等。
数据分割:将数据分为训练集和测试集。
使用训练集训练模型,调整参数最小化损失函数。
模型评估与优化:
评估指标:常用指标包括准确率、精确率、召回率、F1值、均方误差等。
根据结果调整模型参数、选择不同算法或增加数据量来优化模型。
模型应用:
将优化后的模型应用于实际问题,执行预测、分类、聚类等任务。
持续监控和评估应用结果,优化模型以提高性能。
深度学习
1. 神经网络基础
神经元模型:
深度学习的核心是人工神经网络,其灵感来源于生物神经元。一个神经元接收多个输入信号,每个输入对应一个权重,通过加权求和后,输入激活函数得到输出。
激活函数:
激活函数决定了神经元的输出值常见激活函数包括ReLU(修正线性单元)、sigmoid和tanh。它们引入非线性,增强了神经网络处理复杂问题的能力。
2. 多层神经网络
层次结构:
深度学习中的神经网络通常包括:
输入层:接收原始数据,如图像的像素值、文本的词向量等。
隐藏层:多层隐藏层对输入数据进行特征提取,每一层逐步提取高阶特征。例如,图像识别中,低层提取边缘特征,高层提取更复杂的形状和结构。
输出层:生成最终的预测结果。例如,图像分类任务中,输出层可能是图像的类别标签。
深度网络:
深度神经网络有多个隐藏层,层数越多,提取的特征越复杂。深度学习的能力主要源于其处理复杂模式、特征提取的多层次特性。
安全见闻02—web程序构成
不盲目学习
web渗透—红队专研python,java,php三选二
软件程序
软件程序是一种计算机程序,用于计算机计算和其他可编程设备。
web程序
构成:前端-后端-数据库-服务器
前端url 请求到后端要执行什么 后端登陆,这时候就要调用数据库的数据,数据库放在哪,放服务器上
语言
前端语言
- HTML —>(点击劫持)
- CSS —>(注入)
- Javascript—>(xss dom型 反射型 存储型 点击劫持,请求走私)
后端语言
php/java/python/golang/c/c++/lua/nodejs/ruby
基于此,有反序列化漏洞,sql注入漏洞,命令注入漏洞等问题
代码库
JQuery
BOOtstrap
elementui
可以很方便地调用(避免重复造轮子)
框架
.vue
.react
.angular
框架是基于最本质的的三种语言写的
html,css,javascript,如果单纯从纯粹的Javascript去分析很费时间,一般都是通过框架去分析xss
前端潜在漏洞
- 信息泄露,
- xss,
- csrf,
- 点击劫持,
- 访问控制,
- web缓存漏洞,
- 跨域漏洞,
- 请求走私
后端潜在漏洞
- 信息泄露,
- xss,
- csrf,
- ssrf,
- 反序列化漏洞,
- sql注入漏洞,
- 命令注入漏洞,
- 服务端模板注入,
- 跨域漏洞,
- 访问控制
数据库
分类:
-
关系型数据库
.mysql.sqlsever
.access
.postgresql
-
非关系型数据库
.mongodb
.couchdb
.neo4j
.redis
数据库潜在漏洞:sql注入,xss,命令注入
服务器程序
分为:
.apache
.nginx
.iis
.tengine
.tomcat
.weblogic
潜在漏洞:信息泄露,文件上传漏洞,文件解析漏洞,目录遍历,访问控制
web程序
很多很杂,前端语言就三种 但是他的库很多啊,框架也多,后端语言就更多了
安全见闻03—脚本程序
脚本程序
脚本语言:lua,php,go,python,javascript
脚本通俗理解就是拿过来以后我们可以直接看见他得源代码,可复制性高.
基本上前端代码在调试器是可以看见的,那这种就是典型的脚本性质的程序.
macro(宏病毒)
eg.利用metasploit生成宏病毒,将宏病毒植入office文件中.
如果要写宏病毒,就必须了解宏的代码构成
bat,powershell这两个是作用于内网渗透(内网渗透并不是单指内网渗透中的域渗透)
!!!域渗透!=内网
CAD LISP(脚本病毒)
这个需要用到lisp语言
出现的原因:写图纸时会用一些宏这样可以自动化地帮助完成一些工作,这里面可能会中毒
危害:可以盗取cad机密图纸
AUtolt3(脚本病毒)
这种语言是不常见的语言,杀毒软针对的是主流的编程语言代码病毒,对这种语言查杀程度低。所以说越冷的计算机编程语言编写的病毒越难查杀。
bios程序(bios病毒)
BIOS病毒是一种可以感染计算机的BIOS芯片的病毒,它会修改BIOS芯片的代码,使计算机无法正常启动
安全见闻04—操作系统
操作系统
操作系统(Operating System,OS)是指控制和管理整个计算机系统 硬件和软件 资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件更加方便的接口和环境 ;它是计算机系统中最基本的系统软件 。
操作系统构成:
注册表(Linux中没有):注册表是⼀个集中存储系统和应⽤程序配置设置的数据库。它包含系统硬件、 软件安装信息、⽤⼾偏好等关键数据,⽤于操作系统及其应⽤程序的运⾏
防火墙:防⽕墙是操作系统或独⽴⽹络设备⽤于监控和控制进出⽹络流量的安全系统。它根据预 定义的安全规则过滤⽹络流量,防⽌未经授权的访问
自启动:⾃启动指操作系统在启动时⾃动运⾏的⼀组程序。通过⾃启动机制,某些应⽤程序或服 务在系统启动时⾃动加载,⽆需⼿动启动
计划任务:计划任务是操作系统提供的定时执⾏程序或脚本的功能。它允许⽤⼾预设任务在指定的 时间或事件触发时运⾏
事件日志:事件⽇志是操作系统⽤来记录系统、应⽤程序和安全事件的信息⽇志。它有助于诊断系 统问题和分析异常⾏为
内核驱动:内核驱动是操作系统内核的⼀部分,⽤于直接控制硬件设备或提供底层的系统功能。内核驱动程序通常通过与硬件交互来提供⾼效、稳定的设备管理
系统服务:系统服务是操作系统在后台运⾏的进程,通常⽤于处理系统级任务或提供功能如⽹络连接等服务。这些服务在⽤⼾登录之前就已经启动,并⼀直在后台运⾏
进程线程:进程是正在运⾏的程序实例,每个进程都有独⽴的地址空间和资源。线程是进程内部执 ⾏的更⼩的任务单元,多个线程可以共享进程的资源
系统编程:系统编程是编写能与操作系统交互的低级代码,通常⽤于操作⽂件系统、内存管理、进程调度等。系统编程需要与操作系统的API进⾏交互,提供底层的系统功能
驱动程序
定义:驱动程序本质上也是软件程序的一种,属于底层运行的程序潜在漏洞:内网渗透,逆向工程,病毒分析,安全对抗,外挂保护等
内核驱动:内核驱动是⼀种在操作系统的内核层运⾏的驱动程序,它可以直接访问系统的硬件资源并且具 有⾼权限。内核驱动通常⽤于执⾏操作系统最核⼼的功能,例如内存管理、进程调度和硬件中 断处理等
设备驱动:设备驱动是与特定硬件设备通信的程序,它将设备的特定操作映射到操作系统能够理解的命令。设备驱动负责使操作系统能够正确使⽤硬件设备
安全见闻05—人工智能
人工智能简介
定义
模拟人类智能的技术和科技,使计算机系统执行通常需要人类智能完成的任务。
关键能力
学习、推理、解决问题、自然语言理解、图像和语音识别。
算法
模拟人类思考的方式。
人工智能涉及的网络安全问题
数据安全问题
敏感数据泄露:个人身份信息、财务数据等。
数据攻击:攻击数据存储系统、网络传输通道或利用AI算法漏洞。
对抗攻击
错误输出:通过微小修改输入数据,使AI系统产生错误输出。
安全威胁:对自动驾驶汽车、人脸识别系统等安全关键领域构成威胁。
模型窃取和知识产权问题
逆向工程:窃取AI模型参数和结构。
商业机密泄露:侵犯知识产权,泄露商业机密。
恶意使用人工智能
复杂网络攻击:使用AI技术发动难以检测的网络攻击。
自动化恶意活动:网络钓鱼、垃圾邮件发送。
人工智能学习路径和方法学习基础知识
学习基础知识
数学基础:线性代数、概率论、统计学。
编程语言:如Python,AI领域最常用的编程语言。
机器学习概念:监督学习、无监督学习、神经网络。
在线课程和教程
在线平台:Coursera、Udemy、edX等。
书籍和博客:《深度学习》《机器学习实战》等。
实践项目
开源项目:参与或实践AI项目。
人工智能竞赛:如Kaggle竞赛,接触真实数据集和问题。
持续学习和交流
研究进展:阅读学术论文、参加学术会议、关注行业新闻。
社区和论坛:加入AI社区,交流经验、分享知识。
完全信息博弈与非完全信息博弈
完全信息博弈:AI可以战胜,因为所有信息都是可推演的。
非完全信息博弈:AI难以搞定,存在不可控因素,如对方牌面信息未知。
安全见闻06—通讯协议
通讯协议概念
基本定义
概念
通讯协议是双方实体完成通信或服务所必须遵循的规则和约定。它确保了通过网络连接的不同设备能够有效地交换信息和资源共享。
组成要素
通讯协议主要由语法、语义和定时规则(时序)三部分组成。这些要素共同决定了数据如何格式化、传输以及在何时进行传输。
主要功能
数据传输管理
通讯协议规定了数据的格式和传输方式,确保数据能正确、安全地从源头传送到目的地。
错误控制处理
通过特定的算法和流程,通讯协议能够在数据传输过程中检测并纠正错误,保证数据传输的可靠性。
潜在安全问题涉及的领域
无线电安全,协议分析,web渗透,逆向分析。
涉及的安全问题
保密性问题
等保2.0:即网络安全等级保护2.0,是中国在信息系统安全领域实施的一项基本制度。主要分为定级、备案、建设整改、等级测评、监督检查几个步骤。
等保2.0的分级标准如下:
第一级(用户自主保护级):
适用于对信息系统安全保护要求最低的基本级别,主要针对个人或小型组织使用的信息系统。
第二级(系统审计保护级):
适用于需要保护的一般级别,主要针对提供公共服务的信息系统,如教育、医疗、金融等领域的信息系统。
第三级(安全标记级):
适用于需要较高安全保护的信息系统,这类系统一旦遭受破坏,可能会对社会秩序、公共利益造成严重影响。
第四级(结构化保护级):
适用于对安全保护要求较高的信息系统,这类系统通常涉及国家安全、经济运行等关键领域。
第五级(访问验证保护级):
适用于对安全保护要求极高的信息系统,这类系统通常涉及国家关键基础设施,一旦遭受破坏,可能会对国家安全造成严重影响。
完整性问题
许多通讯协议在设计时可能没有充分考虑数据加密,导致在传输过程中数据容易被窃听。例如,未加密的HTTP协议,攻击者可以通过网络监听获取传输中的敏感信息,如⽤户名、密码、信⽤卡号等。
弱加密算法的使⽤也可能导致保密性不⾜。⼀些⽼旧的加密算法可能存在已知的漏洞,容易被攻击者破解。例如,早期的DES加密算法,其秘钥⻓度较短,容易受到暴⼒破解攻击。
身份验证问题
假冒身份风险:
假冒合法用户或设备的身份进行通讯,获取进行非法操作。
身份验证漏洞:
一些通讯协议的身份验证机制可能存在漏洞,被攻击者利用。
可用性问题
拒绝服务攻击:
发送大量无用或恶意数据包,使系统瘫痪,影响正常通讯。
协议漏洞导致的可用性问题:
协议缺陷在特定情况下可能导致系统故障。
协议实现问题
编程错误:
通讯协议实现过程中存在编程错误,导致安全漏洞。
第三方库和组件的安全问题:
第三方库和组件如果有安全问题,依赖第三方库的系统会存在安全问题。
协议设计缺陷
缺乏安全考虑的设计:
协议存在先天安全问题。
协议升级带来的安全风险:
协议升级可能引入新的安全问题。
移动通讯协议安全问题
无线网络的特殊性:
移动通讯通常通过无线网络进行,使得通讯更容易受到窃听,干扰和攻击。
移动应用的安全风险:
移动应用通常使用特定的通讯协议与服务器进行通讯,若开发时没有考虑安全性问题,可能导致通讯协议被滥用或攻击。
物联网通讯协议安全问题
大量设备的管理难题:
物联网包含大量设备,这些设备的管理和安全更新是个难题。
异构性带来的安全问题:
物联网设备使用不同的通讯协议和技术,这增加了安全管理的复杂性。
工业控制系统通讯协议安全问题
实时性要求与安全的冲突:
实时性要求高,与安全机制的实施产生冲突。
与传统IT系统的融合带来的风险:
工业控制系统与传统IT系统进行融合,这使得工控系统面临来自传统IT系统的安全问题。
与传统IT系统的融合带来的风险
1.随着工业互联网的发展,工业控制系统越来越多地与传统IT系统进行融合。这使得工业控制系统面临来自传统IT系统的安全威胁。如病毒、恶意软件等。
2.工业控制系统的安全防护需要考虑与传统IT系统的集成,采取响应的安全措施。
安全见闻07—证书介绍及洞悉硬件设备的安全风险
证书介绍
oscp
OSCP是Offensive Security提供的渗透测试认证,被最广泛认为是业内最具实践性和挑战性的认证之一。该证书强调实际操作能力,要求考生在规定时间内完成一系列渗透测试任务,以证明其具备真实的渗透测试技能.
考试大纲
考试由 6 个机器组成(如果有栈溢出,会有第 7 个测试机器,代码测试用),考生必须在 24 小时内拿到 70 分(7+ 个 flag,满分 100)及以上的分数,才能拿到证书。
每台机器不止一个 flag,低权限 shell 对应 local.txt,root 或者 admin shell,对应 proof.txt。考生必须提交 flag 到的 Control Panel 才能获得分数。
6 个机器包括 3 个独立机器,和一个由 3 个机器组成的 Active Directory (以下简称 AD)环境。划重点,想要通过考试,Active Directory 必须拿下。 AD 只有拿到全部三个机器的 flag,才有 40 分,否则 0 分。
考点
信息收集:包括网络侦察,端口扫描,服务识别等
漏洞发现:常见的漏洞如SQL注入,缓冲区溢出,文件上传漏洞
漏洞利用:各种漏洞的利用方法,获取系统权限
后渗透测试:包括提权,横向移动,数据窃取等
osep
OSEP专注于漏洞开发,旨在培养专业的漏洞挖掘和利用开发人员,该证书要求考生具备深入的底层知识和高级编程技能,能独立发现和利用软件中的安全漏洞
考点
逆向工程:掌握反汇编,调试等技术,分析软件的内部结构
漏洞挖掘:使用静态分析和动态分析方法,发现软件中的安全漏洞
漏洞利用开发:编写漏洞利用代码,实现对目标软件的控制
高级编程:熟悉C、C++、python等编程语言,能进行底层编辑
cissp
CISSP是国际上广泛认可的信息安全专业认证由ISC组织颁发,该证书涵盖了信息安全的各个领域,包括安全管理,访问控制,密码学,网络安全等,适合信息安全管理人员和专业人士
考点
安全管理:包括安全策略、风险管理、合规性等。
访问控制:身份认证、授权、访问控制模型等。
密码学:加密算法、密钥管理、数字签名等。
网络安全:网络架构、防火墙、入侵检测等。
软件开发安全:安全开发生命周期、代码审查等
硬件设备安全
硬件设备的网络安全问题点
物理安全问题
设备被盗或损坏
渗透测试视角:攻击者可能会物理接近硬件设备,尝试窃取设备或 破坏其物理结构。例如,通过撬锁、伪装成维修人员等方式进入设备存放区域,盗取存储有敏感信息的硬盘或其他组件。(社会工程学)
防范措施:加强设备存放区域的物理安全防护,如安装监控摄像头 、门禁系统、报警装置等。对重要设备进行加密存储,防止数据被轻易读取
环境因素 渗透测试视角:极端的温度、湿度或灰尘等环境因素可能导致硬件 设备出现故障,为攻击者提供可乘之机。例如,高温可能使设备性能下降, 增加被攻击的风险;潮湿环境可能导致电路短路,使设备更容易被入侵。
防范措施:确保设备运行环境符合标准要求,安装温度、湿度控制设备,定期对设备进行清洁和维护。
电磁干扰
渗透测试视角:攻击者可以利用电磁干扰设备干扰硬件设备的正常 运行,导致数据传输错误或设备故障。例如,通过发射特定频率的电磁信号 ,干扰无线通信设备的信号接收。
防范措施:对重要设备进行电磁屏蔽,使用抗干扰的通信线路和设备。
供应链安全问题
假冒伪劣产品
潜在风险:供应链中混入假冒伪劣硬件设备,这些设备可能存在安全漏洞或被植入恶意软件。
攻击方式:假冒的网络设备可能被配置为向攻击者发送敏感信息,或允许攻击者远程控制设备。
防范措施:建立严格的供应链管理体系,对供应商进行审核和认证。对采购的硬件设备进行安全检测,如检查设备的序列号、固件版本等,确保设备的真实性和安全性。
恶意软件植入
潜在风险:在硬件设备的生产、运输或存储过程中植入恶意软件,这些恶意软件可以在设备投入使用后被激活,对网络进行攻击。
攻击方式:
固件后门:存在于硬件设备固件中的后门程序,允许攻击者绕过安全机制直接控制设备。
恶意芯片:在制造过程中植入,用于窃取信息、控制设备或造成物理损害,具有隐蔽性强、难以检测的特点。
防范措施:对硬件设备进行安全检测,如固件分析、恶意软件扫描等。使用可信的供应链渠道,确保设备在整个供应链过程中的安全性。
供应链中断
潜在风险:可能导致硬件设备无法及时供应,企业可能使用未经充分测试的替代设备,增加安全风险。攻击者也可能利用供应链终端制造混乱,趁机发动攻击。
防范措施:建立多元化的供应链渠道,确保在供应链中断时能够及时获得替代设备。制定应急预案,应对可能带来的安全问题
设备漏洞问题
操作系统漏洞
潜在风险:硬件设备上的操作系统可能存在各种漏洞,攻击者可以利用这些漏洞获取控制权或窃取敏感信息。
攻击方式:通过发送精心构造的数据包,触发操作系统的缓冲区溢出漏洞,从而执行恶意代码。
防范措施:及时更新操作系统补丁,关闭不必要的服务和端口,限制用户权限,防止未经授权的访问。
固件漏洞
潜在风险:攻击者可以通过固件升级或恶意软件植入等方式利用这些漏洞。
攻击方式:利用固件漏洞获取设备的管理员权限或篡改设备配置。
防范措施:定期检查设备固件版本,及时更新固件补丁,对固件进行安全审计,确保其完整性和安全性。
硬件设计漏洞
潜在风险:攻击者可以利用这些漏洞获取设备的敏感信息或控制设备。
攻击方式:侧信道攻击,通过分析硬件运行时产生的泄漏信息获取密钥。
攻击类型:
功耗分析:监测设备执行密码算法时的功耗变化。
时序分析:通过分析执行时间推断密码算法信息。
电磁辐射分析:利用执行加密时产生的电磁信息进行密钥破解。
声音分析:通过分析密码芯片计算时的声波信息推断密钥。
防范措施:在采购过程中选择经过安全认证的产品,对设备进行安全评估,采用加密技术和安全隔离措施,保护敏感信息
网络连接问题
网络攻击
潜在风险:硬件设备连接网络后,可能受到各种网络攻击,破坏设备正常运行或窃取敏感信息。
攻击方式:DDoS攻击、SQL注入、跨站脚本攻击等。
防范措施:加强网络安全防护,安装入侵检测系统、防火墙等。对设备进行网络访问控制,限制外部网络的访问,定期进行安全漏洞扫描。
无线连接安全问题
潜在风险:攻击者可利用WiFi破解、蓝牙攻击等手段获取设备控制权或窃取敏感信息。
防范措施:对无线连接进行加密,使用WPA2加密协议,定期更换无线密码,限制无线设备连接数量,关闭不必要的服务和功能。
网络隔离问题
潜在风险:未进行有效的网络隔离可能导致不同网络之间的安全问题相互影响,受感染设备可能传播恶意软件。
防范措施:对不同网络进行隔离,使用防火墙、虚拟局域网等技术实现网络隔离,严格控制和审查跨网络的数据传输,防止恶意软件传播。
硬件设备的潜在漏洞及渗透测试方法
处理器漏洞
幽灵和熔断漏洞
幽灵漏洞攻击方式:攻击者通过复杂技术手段,利用处理器执行指令时的先行读取机制,窃取敏感信息,如用户密码、加密密钥等。由于其利用处理器分支预测错误,攻击手段隐蔽且多样。
熔断漏洞攻击方式:攻击者利用特定技术手段,使 CPU 恢复时无法恢复缓存内容,从而通过观测残留信息推测内核地址,实现系统攻击。
渗透测试方法:使用专门的漏洞检测工具,如 Meltdown and Spectre Checker,检测处理器性能指标(如 CPU 使用率、内存访问时间)以判断是否存在漏洞。
防范措施:及时更新处理器的微代码和操作系统补丁,考虑关闭预测执行功能(在某些情况下可能影响性能),并采用内存隔离技术防止用户空间程序访问内核内存。
侧信道攻击漏洞
渗透测试方法:侧信道攻击通常需长时间观察和分析,渗透测试人员可使用专门的侧信道攻击工具进行检测,或通过软件模拟分析设备的运行状态。
侧信道攻击工具:电磁辐射分析仪、功耗分析仪
利用场景:攻击者通过分析设备电磁辐射和功耗变化等信息,获取处理的敏感数据。
防范措施:采用电磁屏蔽技术减少电磁辐射,并使用随机化技术(如随机化加密过程中的时间和功耗)以防止侧信道攻击。
存储设备漏洞
固态硬盘 (SSD) 漏洞
渗透测试方法:使用 SSD 漏洞检测工具检测 SSD,分析固件版本和功能以判断是否存在漏洞。
SSD 漏洞检测工具:SSD Secure、Erase Tool
利用场景:攻击者可通过固件漏洞获取 SSD 中存储的数据。
攻击方式:修改 SSD 固件,使其在特定条件下泄露数据。
防范措施:及时更新 SSD 固件,使用加密技术保护存储数据,定期备份重要数据以防数据丢失。
内存漏洞渗透测试方法:使用内存漏洞检测工具检测内存,分析程序内存访问模式以判断是否存在漏洞。
内存漏洞检测工具:Mentest利用场景:内存可能存在缓冲区溢出、内存泄漏等漏洞,攻击者可利用这些漏洞获取敏感信息。
攻击方式:通过发送特定数据包,触发缓冲区溢出漏洞以执行恶意代码。
防范措施:及时更新软件补丁,修复内存漏洞,并对程序进行安全审计,确保内存访问安全;使用内存隔离技术防止不同程序间的内存访问冲突。
网络设备漏洞
路由器漏洞
渗透测试方法:使用路由器漏洞扫描工具检测路由器,分析配置文件和固件版本以判断是否存在漏洞。
扫描工具:Router Scan
利用场景:路由器可能存在默认密码、远程代码执行等漏洞,攻击者可利用这些漏洞控制路由器并进行网络攻击。
攻击方式:利用远程代码执行漏洞,在路由器上安装恶意软件,监控网络流量。防范措施:及时更新路由器固件,修改默认密码,对路由器进行安全配置,关闭不必要的服务和端口,并使用网络访问控制技术限制访问。
交换机漏洞
渗透测试方法:使用交换机漏洞扫描工具检测交换机,分析配置文件和固件版本以判断是否存在漏洞。
工具:Switch Scanner利用场景:交换机可能存在 VLAN 跳跃漏洞、MAC 地址欺骗漏洞等,攻击者可利用这些漏洞获取网络中的敏感信息。
攻击方式:利用 VLAN 跳跃漏洞跨越不同 VLAN,获取其他 VLAN 中的数据。
VLAN 跳跃漏洞:主要利用交换机配置中的漏洞或双重标记技术,绕过安全控制,访问其他 VLAN 中资源。防范措施:及时更新交换机固件,进行安全配置,关闭不必要的服务和功能,并使用 VLAN 隔离技术防止不同 VLAN 之间的通信。
物联网设备
漏洞渗透测试方法:使用物联网设备漏洞扫描工具检测设备,分析通信协议和固件版本以判断是否存在漏洞。 工具:IoT Inspector利用场景:攻击者可利用默认密码、弱加密算法和远程代码执行漏洞控制物联网设备,从而对网络发起攻击。
攻击方式:通过物联网设备的远程代码执行漏洞,在设备上安装恶意软件,控制物联网网络。
防范措施:加强物联网设备安全管理,实施安全认证,确保设备安全性,使用物联网安全网关监控和过滤设备通信。安全管理措施:修改默认密码,使用强加密算法等。
渗透测试在硬件设备安全评估中的应用
渗透测试的流程
信息收集
收集目标硬件设备的相关信息,包括设备型号、固件版本、 网络配置等。 漏洞扫描:使用漏洞扫描工具对硬件设备进行扫描,发现潜在的安全漏洞
漏洞利用
根据发现的漏洞,尝试利用漏洞获取设备的控制权或敏感信
后渗透测试
在成功获取设备控制权后,进行后渗透测试,如权限提升 、横向移动、数据窃取等。 报告生成:将渗透测试的结果整理成报告,包括发现的漏洞、利用方法 、风险评估等。
安全见闻08–量子计算
量子计算概念
量子计算是一种利用量子力学原理进行计算的新型计算模式。 它与传统的经典计算不同,量子计算遵循量子力学规律,使用量子比特(qubit)作为基本运算单元。量子计算机通过调控量子信息单元进行高速数学和逻辑运算、存储及处理量子信息。
shior算法
定义
Shor算法是一种用于分解大整数的量子算法,它由彼得·秀尔在1994年提出。该算法利用了量子计算机的量子并行性和量子傅里叶变换,能够高效地找到大整数的素因子。
Shor算法对RSA加密算法的威胁
RSA算法的安全性主要依赖于大数分解的难度。在经典计算机上,要分解一个大整数是非常困难的,因为这需要指数级别的时间复杂度。然而,Shor算法的出现意味着在量子计算机上,这个问题可以在多项式时间内解决。
具体来说,Shor算法能够将整数分解问题转化为对函数周期性的测量问题,并通过量子傅里叶变换在量子计算机上高效地找到周期,从而得到大整数的素因子。这直接威胁到了基于大数分解问题的公开密钥加密方法,如RSA算法。因为一旦拥有足够强大的量子计算机,就能够在短时间内破解这些加密算法,从而获取加密信息。
漏洞风险
加密算法被破解风险
1.传统非对称加密算法(如RSA、ECC)可能被量子计算机上的Shor算法快速破解。
2.哈希函数可能受到量子计算的攻击,导致碰撞攻击更容易实施。
“现在收获,以后解密”风险
攻击者可能在当前收集加密数据,等待量子计算技术成熟后进行解密。
区块链安全风险
量子计算可能破解区块链用户的私钥,威胁加密货币的安全。
量子密钥分发风险
① 量子信道可能受到干扰,影响密钥的生成和传输。
②设备和系统可能存在安全漏洞,被攻击者利用。
量子计算系统自身风险
①量子计算系统存在错误和噪声问题,可能被攻击者利用来破坏计算过程或获取敏感信息。
②供应链安全风险,硬件设备或软件可能被植入恶意代码。
测试方法
加密算法测试
使用量子计算模拟器或量子硬件,尝试运行 Shor 算法对传统加密算法进行破解
分析不同加密算法在量子计算环境下的安全性,评估其被破解的难度和时间。
“现在收获,以后解密”测试
模拟攻击者收集加密数据的场景,分析在未来量子计算技术发展后,这些数据被解密的可能性。
研究数据存储和保护策略,以降低“现在收获,以后解密”的风险。
区块链安全测试
分析量子计算对区块链的影响,特别是对私钥安全性的威胁。测试抗量子密码算法在区块链中的应用效果。
量子密钥分发测试
对量子信道进行干扰测试,评估其对密钥分发的影响。检查量子设备和系统的安全性,包括硬件漏洞、软件漏洞等。
量子计算系统自身测试
进行错误注入测试,观察量子计算系统在错误和噪声环境下的性能和安全性审查量子计算系统的供应链,确保硬件设备和软件的安全性。
针对量子计算机的渗透测试
信息收集阶段
目标背景调研
了解日标量子系统所属的机构、其在量子研究或应用中的角色、相关的项目信息等。例如,确定该量子系统是用于科研实验、量子通信网络建设,还是量子计算服务等,以便更好地理解其潜在的价值和可能存在的安全重点。
技术架构分析
研究目标量子系统的技术架构,包括所使用的量子设备类型(如量子计算机的型号、量子通信设备的技术标准等系统的拓扑结构、与传统网络的连接方式这可以通过查阅相关的技术文档、学术论文,或者与熟悉该系统的人员进行交流来获取信息
公开信息搜集
利用互联网搜索引擎、学术数据库、专业论坛等渠道,收集与目标量子系统相关的公开信息。可能包括系统的开发者或供应商发布的技术资料、研究团队的学术报告、相关的新闻报道等。这些信息可以帮助渗透测试人员了解系统的基本特性、已公开的漏洞或安全事件,以及可能存在的安全隐患。
威胁建模阶段
识别潜在威胁源
分析可能对量子系统构成威胁的主体,包括外部的黑客组织、竞争以及内部的系统管理员、研发人员等可能存在的误操作或恶意行、恶意研究人员等,对手同时,考虑量子计算技术本身可能带来的新的威胁,如量子算法对传统加密的挑战。
确定攻击路径
根据收集到的信息和对威胁源的分析,确定可能的攻击路径。例如,对于量子通信系统,攻击路径可能包括对量子信道的干扰、对通信设备的物理攻击或软件漏洞利用;对于量子计算系统,可能的攻击路径包括对量子算法的攻击、对控制系统的入侵等。
评估影响程度
对每种可能的攻击路径进行影响评估,确定如果攻击成功,可能对目标量子系统造成的影响,如数据泄露、系统瘫痪、量子密钥被破解等。这将有助于确定渗透测试的重点和优先级
漏洞分析阶段
设备漏洞扫描
使用专业的漏洞扫描工具,对量子系统中的硬件设备进行扫描,查找可能存在的安全漏洞。例如,检查量子计算机的控制系统、量子通信设备的接口等是否存在已知的漏洞或配置不当的问题。
软件漏洞检测
对于量子系统中运行的软件,包括操作系统、控制软件、通信协议等进行漏洞检测。可以使用静态代码分析工具、动态漏洞扫描工具等,查找可能存在的代码漏洞、缓冲区溢出、权限管理不当等问题。
量子算法分析:针对量子系统所使用的量子算法,分析其安全性。例如,对于量子密钥分发算法,检查其是否存在被窃听或破解的风险;对于量子计算算法,研究是否存在可能被利用来攻击系统的漏洞。
渗透攻击阶段
漏洞利用尝试
根据发现的漏洞,尝试利用漏洞获取对量子系统的访问权限。例如,尝试通过发送精心构造的数据包来执行恶意代码,获如果发现了一个远程代码执行漏洞,取系统的控制权。
量子信道干扰
对于量子通信系统,尝试通过干扰量子信道来影响通信的安全性。这可能包括使用强磁场、强光等方式干扰量子态的传输,或者尝试窃听量子信道中的信息。
社会工程学攻击
利用社会工程学方法,尝试获取量子系统相关人员的信任获取敏感信息或访问权限。例如,通过发送钓鱼邮件、伪装成技术支持人员等方式,诱使目标人员透露账号密码、系统配置等信息。
后渗透攻击阶段
内部网络探测
在成功获取量子系统的访问权限后,进一步探测系统内部的网络结构解l,了解系统中其他设备的连接情况和访问权限,以便发现更多的潜在目标。
数据窃取与分析
尝试窃取量子系统中的敏感数据,如量子密钥、实验数据、用户信息等并对窃取的数据进行分析,以获取更多的信息和潜在的漏洞。
权限提升与持久化
尝试提升自己在量子系统中的权限,以便获取更高的访问级别和更多的操作权限。同时,采取措施使自己的访问权限持久化,以便在后续的测试中能够继续访问系统。
报告阶段
结果整理与分析
将渗透测试过程中发现的漏洞、攻击路径、获取的信息等进行整理和分析,总结出量子系统存在的安全问题和潜在的风险。
报告撰写
编写详细的渗透测试报告,报告中应包括测试的目标、范围、方法、过程风险评估以及建议的修复措施等。发现的问题、报告应具有清晰的结构和准确的表述,以便目标机构的管理人员和技术人员能够理解和采取相应的措施。
安全见闻09—二进制
二进制的基本概念:
二进制是计算技术中广泛采用的一种数制。它只有两个数码:0,1,采用逢二进一的进位规则。计算机中所有数据都是以二进制形式存储和处理的。
二进制在网络安全中的重要性
底层安全基础:网络系统的安全性很大程度上依赖于底层二进制代码的正确性和安全性。恶意软件、漏洞利用等往往针对二进制代码进行攻击。
漏洞分析:通过分析二进制代码可以发现潜在的安全漏洞,如缓冲区溢出、代码注入等。
加密与解密:二进制代码在加密和解密算法中起着关键作用,对二进制的理解有助于分析和破解加密机制。
二进制安全的定义与范畴
(1)二进制安全的定义:
二进制安全是指在处理二进制数据时,确保数据的完整性、保密性和可用性,防止恶意攻击和数据篡改。
(2)二进制安全的范畴:
代码安全:分析和检测二进制代码中的漏洞,如逻辑错误、安全漏洞等。
数据安全:保护二进制数据的机密性和完整性,防止数据被窃取或篡改。
逆向工程:通过对二进制代码的分析,了解程序的功能和结构,以便发现潜在的安全问题。
漏洞修复:针对发现的二进制安全漏洞。进行及时的修复和加固。
二进制安全的渗透测试方法
静态分析:
工具介绍:OllyDbg和Immunity Debugger可以将二进制文件反汇编成汇编代码,便于分析。Hopper Disassembler也是一款强大的反汇编工具,尤其是在分析macOS和ios平台的二进制文件时。
分析流程:
识别关键函数和代码段:通过对程序的入口点、导出函数等进行分析,确定可能存在安全问题的关键代码区域。
检查代码中的潜在漏洞:如缓冲区溢出、整数溢出、格式化字符串漏洞等。可以通过检查函数调用、内存操作等方式来发现这些漏洞。
分析控制流和数据流:了解程序的执行流程和数据的流向,查找可能的攻击路径。例如,通过分析条件跳转、循环等控制结构,以及变量的赋值和传递,确认是否存在可以被利用的漏洞。
符号执行:使用KLEE等符号执行工具对二进制代码进行分析,可以在不实际执行程序的情况下,探索程序的所有可能执行路径,从而发现潜在的安全漏洞。
动态分析
工具介绍:GDB是一款强大的调试器,可对运行中的程序进行调试,观察程序的行为和内存状态。winDbg在windows平台上也被广泛使用。
分析流程:
设置断点:在关键代码位置设置断点,以便在程序执行到该位置时暂停,观察程序的状态。
跟踪程序的执行流程:通过单步执行、继续执行等操作,跟踪程序的执行流程,了解程序的行为。
观察内存中的数据变化:检查程序在中运行过程中的数据变化,检测是否存在异常行为。例如,观察变量的值是否被意外修改,或者是否存在内存泄露等问题。
分析程序的输入输出:检测程序的输入和输出,查找可能的漏洞利用点。例如,检查程序是否对输入数据进行了正确的验证,或者是否存在输出敏感信息的情况。
模糊测试
工具介绍:AFL是一款模糊测试工具,它能够高效地生成大量的随机输入数据,对程序进行测试。Peach Fuzzer也是一款功能强大的模糊测试工具,支持多种平台和协议
分析流程:
确定输入接口和目标程序:确定程序的输入接口,例如命令行参数、文件输入、网络输入等。然后选择要进行模糊测试的目标程序。
生成随机输入数据:使用模糊测试工具生成大量的随机输入数据,这些数据可以是各种类型的,如字符串、整数、文件内容等。
将输入数据输入到程序中:将生成的随机输入数据输入到目标程序中,观察程序的行为。
检测程序的行为:查找可能的崩溃或异常情况。如果程序出现崩溃或异常行为,分析原因,确定是否存在安全漏洞。
优化模糊测试策略:根据测试结果,不断优化模糊测试策略,提高测试的效率和覆盖率。
漏洞利用
工具介绍:metasploit是一款漏洞利用框架,提供了大量的漏洞利用模块和辅助工具,方便开发和执行漏洞利用代码。
分析流程:
确定目标系统中的漏洞:通过漏洞扫描、渗透测试等方式,确定目标系统中存在的安全漏洞。
开发漏洞利用代码:根据漏洞的类型和特点,开发相应的漏洞利用代码。代码可用不同语言编写。
利用漏洞获取系统权限:将漏洞利用代码发送到目标系统,触发漏洞,获取系统权限。
验证漏洞利用的有效性:验证漏洞利用是否成功,以及获取的系统权限是否符合预期。
进行后续的渗透测试:在获取系统权限后,可以进一步的渗透测试,如提取敏感信息、安装后门等。
代码审计
工具介绍:Checkmarx和Fortify是两款常用的代码审计工具,他们能够对源代码进行分析,查找潜在的安全漏洞。SonarQube也可以用于代码质量和安全审计。
分析流程:
选择要审计的代码:确定要进行审计的源代码文件或项目。
配置审计工具:根据项目的特点和需求,配置代码审计工具的规则和参数。
运行代码审计工具:启动代码审计工具,对按代码进行分析。
分析审计结果:查看代码审计工具生成的报告,分析其中的安全漏洞和问题。
修复安全漏洞:根据审计结果,对发现的安全漏洞进行修复和加固。
标签:安全,系统,---,漏洞,sec,泷羽,量子,数据,设备
From: https://blog.csdn.net/2401_86817779/article/details/143777174