宝塔山 发表于 2024-10-27 10:12:38

安全见闻(1)——开阔眼界,不做井底之蛙

安全见闻一:包罗万象的网络安全

声明

学习视频来自B站UP主 泷羽sec,如涉及侵权立刻删除文章
条记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
导语

时刻保持谦虚,始终保持学习,探寻事物的本质,不要把事变复杂化
渗透测试需要面对各种开辟语言、框架和通信协议,要求对网络相干的各个范畴都有一定的相识,至少要具备基础概念。不论是车载系统、人工智能,照旧工业控制程序等,需要具备广泛的知识储备,才能走得更远。
编程语言

不同的语言有其独特的应用场景,从脚本编写到漏洞使用、从代码审计到网络和云盘算开辟,合理选择编程语言可以大概极大地提高工作服从。
常用语言



[*]Python:广泛应用于数据分析、人工智能和Web开辟,常用于编写脚本、概念验证(Proof of Concept, POC)及开辟各种安全产品。易于学习且功能强大。
[*]JavaScript:紧张用于网页前端开辟,同时可用于服务器端开辟(Node.js)。
[*]PHP:紧张用于Web开辟,尤其适合服务器端脚本编程。(无需深入学习,但需可以大概代码审计)
[*]Java:广泛使用的面向对象编程语言,具备跨平台特性,常用于企业级应用开辟。
[*]Go:适合高效的网络编程和云盘算开辟,在安全产品开辟中也表现优异。
[*]C++、C:用于底层开辟和高性能盘算,在安全范畴常用于漏洞使用和系统安全研究。
[*]Ruby:适合快速开辟,Metasploit等知名渗透测试框架基于此语言。
[*]Swift:iOS应用开辟的主流语言,逐渐取代Objective-C。
[*]Kotlin:Android应用开辟的首选语言,具备较高的安全性和开辟服从。
函数式编程



[*]Haskell、Lisp、Clojure:函数式编程语言在某些数据处置惩罚和并发盘算场景中具有独特优势,虽然在安全范畴使用较少,但对于特定使命能提供高效解决方案。
数据科学和机器学习



[*]R:广泛用于统计分析和数据可视化,适合应用于大数据环境的安全分析。
[*]Julia:用于高性能科学盘算,适合需要快速处置惩罚大规模数据的安全模型。
Web全栈开辟



[*]TypeScript:作为JavaScript的超集,增加了静态类型查抄等特性,提拔了大型项目标开辟服从,并能淘汰前端安全风险。
[*]ArkTS: 鸿蒙生态的应用开辟语言。它在保持TypeScript(简称TS)基本语法风格的基础上,进一步通过规范强化静态查抄和分析,使得在程序运行之前的开辟期能检测更多错误,提拔代码结实性,并实现更好的运行性能。
移动开辟



[*]Objective-C:曾经是 iOS 开辟的紧张语言,现在逐渐被 Swift 取代。
嵌入式开辟



[*]汇编语言:对于嵌入式系统的底层硬件控制至关紧张,常用于硬件漏洞分析,不同的处置惩罚器架构有不同的汇编语言。
其他编程语言



[*]Pascal:曾经在讲授和早期软件开辟中有广泛应用。
[*]Delphi(基于 Object Pascal):用于快速应用开辟。
[*]Scala:融合了面向对象编程和函数式编程,运行在 Java 假造机上。
[*]Elixir:基于 Erlang 假造机,具有高并发和容错性,适合构建分布式系统。
   编程语言多如牛毛,选择大于努力,样样夺目不大概,适合的才是最好的
软件程序

什么是软件程序代码:
软件程序是指用于盘算机或其他可编程设备的指令聚集,通常由代码组成。代码是软件程序的核心,无论是网页设计、网站开辟,照旧软件开辟,其本质都是通过代码来实现特定功能。不同范畴的专业名词(如软件工程、网络安全)现实上都是代码在各自范畴中的应用。
代码的作用是执行特定功能。比方,鉴权中间件和跨域中间件的核心功能,都是由代码来实现的。理解这些功能模块的代码实现,有助于我们透过专业术语理解其背后的本质,不被术语所迷惑。
无论使用何种编程语言,只要可以大概指示盘算机执行使命,就可以编写出程序。代码最终被转换成二进制情势,供盘算机硬件执行。无论是网页设计、前端开辟、后端开辟,照旧底层逻辑,它们的基础都是代码。选择合适的编程语言,注重简便性和服从,能更好地完成使命。比方,假如Python可以大概满意需求,就不必使用更复杂的C++。简朴、实用的编程语言往往更为高效,由于它们能让盘算机执行相同的使命,避免将问题复杂化。
常见软件程序类型



[*] Web程序:包括前后端架构(B/S架构)和客户端-服务器架构(C/S架构),通常用于构建现代网站和网络应用。
[*] 二进制程序:涉及漏洞发掘与缓冲区溢出等安全使用技术,常用于逆向工程与系统漏洞研究。
[*] 驱动程序:负责盘算机硬件的控制和管理,如Windows系统中以 .sys 结尾的文件。这类程序涉及硬件与操纵系统的底层交互,安全性至关紧张。
[*] 上位机:指可以直接与硬件(如单片机)举行交互的盘算机,常用于工业控制系统中。上位机通过用户界面发送指令并展示反馈数据,确保其安全性尤为紧张。
[*] 脚本程序:广泛应用于主动化使命和渗透测试中,使用语言包括Lua、PHP、JavaScript等。脚本语言灵活、易用,是渗透测试、漏洞扫描等范畴的紧张工具。
[*] 操纵系统:操纵系统也是一种软件程序,只不外规模较大。它控制盘算机的资源管理和硬件交互,涉及系统安全的开辟与防护。
[*] 裸板程序:通常用于没有操纵系统支持的设备,如STM32微控制器或单片机。这类程序直接运行在硬件上,针对特定使命举行开辟。
[*] 量子盘算:未来的盘算发展方向,虽然还处于早期阶段,但大概会带来全新的安全挑衅。
[*] 工程程序和BIOS程序:这些程序运行在硬件层次上,涉及硬件控制与启动过程,需举行严酷的安全防护。
操纵系统

非实时操纵系统



[*]Windows、macOS、iOS、Linux:常见的桌面与移动操纵系统,渗透测试和安全审计中的重点目标。
实时操纵系统



[*]WinCE、VxWorks、RT-Thread:工业控制系统和嵌入式开辟中的关键组成部门,常用于物联网设备的安全研究。
网络通讯

硬件设备

盘算机硬件



[*]中央处置惩罚器(CPU):盘算机的核心部件,负责执行指令和处置惩罚数据,其性能直接决定了盘算机的运行速率。
[*]内存:用于存储当前运行的程序和数据,容量和速率对整体性能有明显影响。
[*]硬盘:用于长期存储数据(包括操纵系统、应用程序和文件等),其容量和读写速率对系统性能至关紧张。
[*]显卡:专门处置惩罚图形和图像数据,其性能直接影响图形处置惩罚能力,对游戏玩家和设计师尤为紧张。
[*]主板:连接并和谐各种硬件组件(如CPU、内存、硬盘和显卡),其质量和性能影响盘算机的稳定性和扩展性。
网络硬件



[*]网络服务器:提供文件存储、电子邮件和Web服务,必须具备高性能和可靠性,以满意用户需求。
[*]网络存储设备:如网络附加存储(NAS)和存储区域网络(SAN),用于提供大容量和高可靠性的数据存储解决方案。
[*]网络打印机:通过网络连接多台盘算机,实现方便的打印共享。
[*]网络摄像头:用于视频监控和长途集会,通过网络传输视频信号。
移动设备硬件



[*]智能手机:集成通信、照相、娱乐和办公功能,硬件包括处置惩罚器、内存、存储、屏幕和摄像头。
[*]平板电脑:较大屏幕,适合阅读和观看视频,硬件配置与智能手机雷同。
[*]可穿戴设备:如智能手表和智能手环,监测用户康健和运动数据,硬件包括传感器、处置惩罚器、内存和屏幕。
硬件发展趋势



[*]小型化:设备逐渐小型化,便于携带,同时性能不断增强。
[*]高性能:CPU速率、内存和存储容量持续提拔,显卡图形处置惩罚能力增强。
[*]智能化:设备可以大概主动适应环境和用户需求,如智能手机根据使用风俗主动调解设置。
[*]互联互通:设备之间的连接日益精密,形成物联网,支持智能家居和智能汽车的主动化控制。
网络类型



[*]局域网(LAN):覆盖小范围,如修建物或校园,便于员工共享文件和打印机等资源。
[*]城域网(MAN):覆盖较大区域,通常在城市内,如城市的有线电视和宽带网络。
[*]广域网(WAN):覆盖广泛,可以超过国家和地域,如互联网,连接全球各地的盘算机和网络设备。
网络设备



[*]路由器:连接不同网络,实现数据转发,根据IP地点和路由表确定传输路径。
[*]互换机:在局域网中连接多台盘算机,实现数据快速互换,基于MAC地点转发数据帧。
[*]网卡:安装在盘算机上,用于连接网络,将数据转换为网络信号并举行传输。
[*]无线接入点(AP):提供无线网络连接,使无线设备可以大概接入局域网或广域网。
安全技术及设备



[*] 加密技术:通过加密保护数据,防止盗取或篡改。常见的如SSL/TLS协议用于欣赏器和服务器间的加密通信。
[*] 身份认证:确保只有授权用户可以大概访问资源,常用方式包括用户名密码、数字证书和生物辨认等。
[*] 防火墙(串行):根据预设规则过滤网络流量,防护外部攻击。分为硬件防火墙和软件防火墙(WAF)。
[*] 入侵防御系统 (IPS, 串行):相较于防火墙,能更深入检测和控制数据流,增强入侵行为库,主动防御检测到的威胁。
[*] 上网行为管理(串行):对用户上网操纵举行控制,提供流量管理,动态调解每位用户的带宽使用。
[*] 入侵检测系统 (IDS, 旁挂):实时监控网络,抓取并分析指定命据包,提供监控报表并对威胁行为发出告警。
[*] 日志审计(旁挂):网络并存储网络设备日志,提供审计依据,支持事后取证。
[*] 堡垒机(旁挂):为每个运维职员创建唯一运维账号,确保身份可追溯,解决账号共用问题。
网络与通讯协议

网络协议和通讯协议是盘算机网络中用于数据传输的规则和标准,它们定义了数据的格式、传输顺序、错误处置惩罚方式,以及如安在不同设备间创建和维持连接。以下是一些关键的网络与通讯协议及其在网络通信和安全中的作用:


[*] TCP/IP(传输控制协议/网际协议)
TCP/IP是互联网的基础协议,广泛应用于网络通信,确保数据包的可靠传输和正确顺序。TCP在数据传输前创建连接,举行错误检测和重传,实用于对可靠性要求高的应用(如网页欣赏和文件传输)。攻击者大概使用TCP特性举行各种攻击,如TCP洪水攻击和SYN洪水攻击,通过斲丧网络资源导致目标服务不可用。
[*] UDP(用户数据报协议)
UDP是一种无连接的协议,答应在网络上快速传输数据,实用于对实时性要求高但不要求可靠性的应用(如视频流、在线游戏和语音通话)。由于UDP不包管数据包的送达和顺序,攻击者可以使用其无连接特性举行DDoS攻击,如UDP洪水攻击,向目标服务器发送大量伪造的UDP数据包,使其超负荷。
[*] HTTP/HTTPS(超文本传输协议/安全超文本传输协议)
HTTP用于网页传输,而HTTPS是在HTTP基础上添加SSL/TLS加密,确保数据安全。HTTPS防止数据在传输过程中被盗取或篡改,特殊是对敏感信息的保护至关紧张。攻击者大概通过中间人攻击截获未加密的HTTP数据,因此使用HTTPS是保护用户数据安全的紧张步伐。
[*] FTP(文件传输协议)
FTP用于在盘算机之间传输文件,支持上传和下载功能。由于FTP传输的数据通常未加密,攻击者可以使用网络嗅探工具获取文件内容和凭据。因此,采用SFTP或FTPS等安全协议替代FTP是防止数据泄漏的紧张步伐。
[*] SMTP(简朴邮件传输协议)
SMTP用于发送电子邮件,只管在邮件发送方面表现出色,但也容易受到邮件欺骗和垃圾邮件攻击。使用安全邮件传输协议(如SMTPS)可以增强邮件传输的安全性,防止数据泄漏。
[*] DHCP(动态主机配置协议)
DHCP用于主动分配网络中的IP地点,攻击者大概使用DHCP伪造攻击分配错误的IP地点,从而停止网络服务或实施其他攻击。通过启用DHCP Snooping等安全步伐可以减轻此类风险。
结语

在渗透测试和网络安全范畴,有几个关键要素需要重视:

[*] 编程语言的选择
对于红队来说,服从和实用性至关紧张。Python、PHP、Go和Java等语言都表现出色,灵活性和强大的功能使它们可以大概在各种环境中发挥作用,助力快速开辟和漏洞使用。
[*] 盘算机硬件基础
相识盘算机硬件的组成及其工作原理,对于辨认潜在的攻击面至关紧张。认识CPU、内存、存储和网络设备的特性,可以大概资助安全专家更好地举行漏洞分析和系统防护。
[*] 网络基础
网络协议、网络架构及其安全性是保护数据和系统的关键。掌握TCP/IP、UDP等基本协议,以及相识局域网、城域网和广域网的工作原理,可以有效资助你在渗透测试中举行信息网络和攻击规划。
[*] 安全工具和技术
掌握常用的安全工具(如Nmap、Burp Suite、Metasploit等)及其应用场景,可以大幅提拔渗透测试的服从和成功率。同时,学习最新的攻击技术和防御步伐,保持对安全动态的敏感性,能使你始终走在前沿。
正所谓“懂进攻,知防守”。渗透测试和网络安满是一个动态变化的过程。深入掌握各类编程语言、网络协议、硬件基础及安全工具,才能真正成长为独当一面的网络安全专家!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 安全见闻(1)——开阔眼界,不做井底之蛙