题型 | 分值 | 分布 |
简答题 | 30~40分 | 网络安全概述、口令破解和防御、欺骗攻击与防御、恶意代码防御技术、拒绝服务攻击与防御 |
论述题(综合题) | 40分左右 | 黑客攻击的流程和渗透测试、信息收集和防御 |
代码题 | 20~30分 | Web攻击和防御、缓冲区溢出 |
“代码题:比如Web攻击中的SQL注入、逆向、缓冲区溢出,PHP和HTML写的、能看懂,分析代码存在什么样的漏洞,XSS还是CSR还是SQL注入,为什么?原理是什么?我想要攻击的话,我应该采取什么方式?输入什么内容?输出什么内容导致攻击发生。缓存区溢出,代码的作用是什么?输入xxx产生什么后果,原理是什么,复习以课件为主。”
第1章——网络安全概述
“着重看1.2网络安全的概念及基本属性、三元组、五元组、每一个特性都有什么,简答题,1.3面对的安全威胁有哪些1.4有哪些分类,每一种攻击的基本分类是什么,1.5不用看太多,理论太多,主要掌握5种安全服务和8种安全机制,安全模型、安全策略分析了解即可、1.7了解即可”
1.2网络安全的概念及基本属性
网络安全的概念:保护网络系统中的软件、硬件及信息资源,使之免受偶然或恶意的破坏、篡改和泄露,保证网络系统正常运行、网络服务不中断。
★网络安全的基本属性:
- 三元组:机密性、完整性、可用性。
- 五元组:机密性、完整性、可用性、可靠性、不可抵赖性。
★每一个特性都有什么?
- 机密性:确保信息不暴露给未授权的实体或进程。
- 完整性:信息在存储或传输时不被偶然或蓄意地修改。
- 可用性:得到授权的实体在需要时可访问资源和服务。
- 可靠性:系统在规定条件下和规定时间内,完成规定功能的。
- 不可抵赖性:不可抵赖性是面向通信双方(人、实体或进程)信息真实统一。
1.3安全威胁
我们所面临的安全威胁有哪些?
- 信息泄露:敏感数据在有意或无意中被泄露或丢失。
- 信息破坏:通过非法手段获取数据访问权,以获取有利于攻击者的信息,或恶意改动数据,以干扰用户正常使用。
- 拒绝服务:执行无关程序使系统响应减慢甚至瘫痪。影响正常用户的使用,甚至使合法用户被排斥而不能得到相应的服务。
1.4网络攻击
★网络攻击有哪些分类?
- 按安全属性和信息流动情况分:
- 阻断攻击:拒绝服务攻击,是针对可用性从信息源到信息宿是信息流,使信息宿无法获取信息。
- 截取攻击:窃听攻击,指攻击者通过物理搭线、拦截数据包、后门、接收辐射信号等方法获取从信源到信宿的信息流。
- 篡改攻击:非授权用户用各种手段对信息系统中的数据进行增加、删改、插入等非授权操作,破坏数据的完整性,以达到其恶意目的。
- 伪造攻击:伪装攻击,指通过出示伪装凭证来冒充其他对象,进行系统盗窃信息或进行破坏。
- 重放攻击:当一个信息或部分信息被重复发送时将发送重放攻击。
- 按CCITT的X.800标准分:
- 被动攻击:在不干扰系统正常工作的情况下侦听、截获、窃取信息系统,如信息窃取、密码破译、信息流量分析等。
- 主动攻击:篡改信息的攻击方式,它不仅能窃取,而且还威胁到信息的完整性等。
1.5.3安全服务
★五种安全服务:
- 认证服务
- 访问控制服务
- 机密性服务
- 完整性服务
- 不可否认服务
1.5.4安全机制
★八种安全机制:
- 加密机制
- 数字签名机制
- 访问控制机制
- 信息完整性机制
- 鉴别交换机制
- 业务量填充机制
- 路由控制机制
- 公证机制
★第二章——黑客攻击的流程和渗透测试
“两大部分内容,第一部分,黑客攻击的流程每一步干了什么,每一步的作用是什么,都要掌握,大的论述题,第二部分,渗透测试的流程,俩者有什么区别”
★黑客攻击
踩点
- 通过合法或非法手段,有计划有步骤的信息情报收集。
- 作用:
- 获得目标网络的完整剖析图
- 寻找目标网络可能存在的薄弱环节
- 为进一步的攻击提供指引
扫描
- 发现目标网络中哪些系统是存活的,以及这些系统提供了哪些服务。
- 作用:
- 获取某些特征进行试探性的连接或进行读取,并最终将结果展示出来。
查点
- 对目标系统进行主动的连接和查询,寻找的信息包括:用户账号名(用于随后的口令猜测攻击)、错误配置的共享资源(如不安全的文件共享)、具有已知安全性漏洞的旧版本软件(如存在远程缓冲区的Web服务器)。
- 作用:
- 用户账号名可以用于后续的口令猜测攻击。
- 错误配置的共享资源可能包含敏感信息,容易被利用。
- 具有已知安全性漏洞的旧版本软件是进入系统的潜在入口。
攻击实施阶段
- 利用前段收集的信息来执行实际的攻击。这个阶段包括利用发现的漏洞执行各种攻击技术,以达到非法访问、数据窃取、服务中断等目的。
- 作用:
- 验证收集到的情报的准确性,并实际检验目标系统的安全性,以确定可以利用的弱点。
攻击善后阶段
- 消除攻击活动可能留下的任何痕迹,以避免攻击者被追踪或目标系统管理员发现入侵行为。
- 作用:
- 清理日志文件、删除临时文件、关闭由攻击者开启的额外服务或进程,以及执行其他可能帮助攻击者维持隐蔽性的活动。
★渗透测试的流程
1.前期交互
- 渗透测试人员和顾客组织进行讨论,确定渗透测试的范围和目标。
- 需要收集客户组织的需求、渗透测试的计划、范围、限制条件以及服务合同等细节。
2.情报收集
- 渗透测试人员可以利用各种可能的方法来收集关于测试目标的信息(目标系统的网络拓扑结构、信息系统的类型与配置信息以及已有的安全防范措施。)
3.威胁建模
- 渗透测试人员利用情报收集阶段收集的信息对目标系统进行威胁建模和目标攻击。
- 威胁建模的主要工作:确定具体的攻击方法、是否还需进一步收集信息以及具体的攻击切入点。
4.漏洞分析
- 确定了可行的攻击路径后,考虑如何获取目标测试系统的访问控制权。
- 渗透测试人员需要综合前面获取的情报,特别是关于运行服务及漏洞的扫描结果,找到可以实施渗透的具体攻击点。
5.漏洞利用
- 渗透测试人员将利用前面目标系统的安全漏洞真正进行入侵,并期望获取目标系统的访问权限。
6.后渗透攻击阶段
- 根据目标组织的业务经营模式、资产保护形式以及安全防护的特点,自主设计出攻击目标,识别目标系统的关键基础设施,并尝试发现客户组织最有价值的信息和资产,最终找到对目标测试系统中重要业务有重要影响的攻击路径。
7. 报告测试阶段
- 将渗透测试的最终结果提供渗透测试报告的方式提交给客户组织。
- 包括:前六个阶段的关键情报、探索和发现的目标系统的漏洞信息、进行成功渗透的攻击过程和路径以及针对上述问题的可行解决方案。
★黑客攻击和渗透测试有什么区别(论述题)
- 黑客攻击:黑客攻击指未授权的、恶意的网络入侵活动,目的可能是窃取、破坏或篡改数据。这些活动通常是非法的,由黑帽黑客为了个人利益、破坏、勒索、或其他恶意目的的进行。
- 渗透测试:一种授权的安全评估过程,由专业的渗透测试人员(通常称为白帽黑客)模拟黑客攻击来评估系统的安全性。渗透测试的目的是发现和修复漏洞,而不是利用它们,是合法和有目的的安全活动。
简而言之,两者的主要区别在于授权状态、目的和法律性质。黑客攻击是非法的,渗透测试是为了提高安全性的合法行为。
第三章——信息收集和防御
“主要就是扫描和查点,网络扫描技术这里面,主机扫描是什么,端口扫描哪几种?每一种扫描技术的原理是什么?每一种扫描技术对应长指数是什么?查点,主要掌握服务器指纹分析的原理和旗标抓取技术的原理,3.3扫描与查点的防御措施(论述题,如何防御扫描),3.4非重点,交换式局域网的嗅探看看(3.4.2),3.5嗅探攻击的检测个防御也要看看”
扫描
主机扫描技术
- 主机扫描是一种网络扫描,旨在发现网络中活动的主机以及这些主机上运行的服务。
- 扫描技术的原理基于目标系统服务所采用的协议,通过对系统进行特定的读取和猜测验证,并根据返回的数据对系统的某项特性进行判断。
- 扫描技术可以推断出目标主机的操作系统、服务类型和版本信息等。常见的扫描技术包括ping扫描、端口扫描、以及更复杂的扫描技术如SYN扫描和FIN扫描。
★端口扫描技术
- 端口扫描是利用数据包构造工具,针对目标系统发送特别的协议数据包,并根据目标系统的返回信息分析对方开放的端口。这种扫描通常利用TCP连接建立过程中的某些特点来进行。
TCP连接扫描 (
nmap -sT
): 利用系统调用函数connect
与目标主机建立TCP连接,完成三次握手。如果连接成功,则端口开放;如果收到RST响应,则端口关闭。TCP SYN扫描 (
nmap -sS
): 又称为半开放扫描,只发送SYN包,如果收到SYN/ACK则端口开放,收到RST则端口关闭。这种扫描不会完成TCP的三次握手,因此更隐蔽。TCP FIN扫描 (
nmap -sF
): 向目标端口发送FIN数据包,如果端口关闭,则应返回RST;如果端口开放,则按照标准TCP协议规范,开放端口会丢弃这些伪造的TCP报文,并不会给发送方返回信息。XMAS扫描 (
nmap -sX
): 将TCP数据包中的所有标志位设置为1后发送给目标主机,如果没有返回信息则认为端口开放,如果返回RST,则端口关闭。NULL扫描 (
nmap -sN
): 将TCP数据包中的所有标志位清零后发送给目标主机,如果没有返回信息则认为端口开放,如果返回RST,则端口关闭。ACK扫描 (
nmap -sA
): 发送带有ACK标志的数据包,用于判断防火墙规则是否是有状态的还是无状态的,而不是用来确定端口是否开放。
操作系统探测技术
操作系统探测技术的原理基于操作系统处理网络协议栈的方式存在细微差别。例如,不同的操作系统对TCP/IP协议栈的实现方式各有特点,如对特定网络请求的响应方式、TCP窗口大小、IP分片处理方式等。操作系统探测工具(如nmap)会发送特制的网络请求,并分析响应来推断目标机器的操作系统类型。这种分析依赖于操作系统对网络协议的独特实现,通过比较不同操作系统的网络行为特征,可以较准确地识别操作系统的类型和版本。
查点
服务器指纹分析技术的原理
- 通过分析网络服务的响应或行为特征来识别运行在目标主机上的服务类型和版本。这通常涉及到对特定服务的协议栈特征进行分析,比如发送特定的数据包,并观察回应来推断服务信息
旗标抓取技术的原理
- 通过建立连接并检测服务在连接初始时发送的信息,如软件名称和版本号等。它通常用于识别明文传输协议的服务,比如HTTP、FTP等,通过这些服务首次发送的信息来识别正在运行的服务。
★扫描与查点的防御措施
网络分段:将网络划分为更小的部分,限制嗅探器能收集的信息量。交换机和路由器可用于网络分段,但可能需要额外的硬件设备。
数据通道加密:使用加密通道(如SSH、SSL、VPN)传输数据,保护敏感信息如账号、口令等。
数据内容加密:采用可靠的加密机制(如PGP)对传输的邮件和文件进行加密。
防范ARP欺骗和过载:通过使用静态ARP或IP-MAC对照表、定期检查ARP请求、使用ARP监视工具(如ARPWatch)等措施来防范ARP欺骗。
安全管理策略:加强用户安全意识,不仅依赖技术手段,还包括良好的安全管理策略和教育。
交换式局域网的嗅探
在交换式局域网中进行嗅探的难度相较于共享式局域网更高。交换式局域网中的交换机通常只会将数据包发送到目的地址的端口,而不是像共享式网络中的集线器那样将数据包广播到所有端口。这意味着在交换式网络中,一个网络节点默认情况下无法接收到不是直接发送给它的数据包。尽管如此,还是存在一些技术可以在交换式局域网中进行嗅探,例如ARP欺骗,它可以欺骗交换机,使得交换机将本不应发送给嗅探者的数据包转发到嗅探者的端口。
嗅探攻击的检测与防御
网络监控与异常检测:使用入侵检测系统(IDS)和网络监控工具来识别网络流量中的异常模式。
加密通信:对敏感数据使用加密协议(如SSL/TLS、SSH、VPN)。
安全配置的网络设备:确保网络设备(如交换机、路由器)正确配置,利用专业功能如动态ARP检查来阻止ARP欺骗。
端口安全:在交换机上启用端口安全功能,限制每个物理端口所允许的MAC地址数量。
使用安全协议:采用能够抵抗嗅探的网络协议,如IPsec。
定期安全审计与教育:定期进行网络安全审计并教育用户有关网络安全的知识。
第四章——口令破解与防御
“常见的口令破解技术有哪些,字典攻击、暴力破解、组合攻击,,加密过程不需要,Linux密码存放位置(给你个password它是不是密码?不是)、Windows加密机制是怎样的(nt和ntlm有什么区别,那个保密性好),数据库口令如何加密,哪几种加密机制,密文长度是多少,数据库文件是使用什么加密的,简答题”
★常用的口令破解技术:
- 暴力破解:通过尝试所有可能的密码组合来猜测正确的密码。
- 字典攻击:不同于暴力破解的随机组合,字典攻击使用一个预先编制的词列表(即“字典”),这些词是常用密码或可能被用户使用的词。字典攻击尝试这个列表中的每个词,看它是否是正确的密码。
- 组合攻击:结合了暴力破解和字典攻击的特点,组合攻击在字典的基础上添加额外的字符组合。例如,它可能会在字典中的每个词后添加数字或特殊字符。
★两种操作系统(Windows、Linux)口令的加密机制:
Windows:主要使用NTLM(NT局域网管理器)散列。这是一种挑战应答协议,用于确保口令的安全。它有两种形式:LM(局域管理网)和NTLM。NTLM比LM更安全,因为它提供了更强的散列算法和加密技术。
Linux:Linux系统通常将口令存储在'/etc/shadow'文件中。Linux使用的加密方法是基于密码散列算法,如SHA-256或SHA-512。这些算法将口令转换成一串不可逆转的哈希值,增加了破解难度。
- 即使你在文件中看到一个词如“password”,这并不意味着它就是实际的密码。这些都是经过哈希处理的密码,它们以一种只能单向加密的格式存储,即使有访问权限,你也无法直接从中得知原始密码。这种哈希处理提高了系统的安全性,防止了密码的直接泄露。
★数据库文件是用什么加密的:
使用各种加密机制,如SHA(安全哈希算法)或MD5(消息摘要算法)。
密文长度取决于所使用的算法
数据库本身可能使用不同的机制进行加密,以增加安全性。
第五章——欺骗攻击与防御
“重点掌握ARP欺骗的原理和防御,TCP会话劫持的原理”
ARP欺骗
原理:
①不验证自己是否发送过对应的ARP请求
②不验证该压缩包是否可信
③直接用应答包里的信息替换ARP缓存表中原有的信息。
防御:
①使用ARP防火墙
②将网关ARP记录设置为静态来实现
③静态绑定:windows系统使用“arp-s+MAC地址”
TCP会话劫持
原理:
①监控和预测TCP序列号
②插入伪造的TCP数据包
③劫持或中断原有会话
第六章——Web攻击与防御
“注意了我们后面的代码题、论述题都是出自web攻击这块,我们讲了三块,每一块都要掌握,sql注入、xss,csrf的基本原理,sql注入、xss还有掌握到代码级别,给你一段代码你要看懂是sql还是xss,输入什么才能让攻击奏效,攻击会出现什么样的后果,如何防范。”
SQL注入
原理:
- Web应用程序未对用户输入进行充分验证或编码时,恶意脚本得以注入。
- 这些输入被服务器作为SQL命令的一部分处理,与原始的查询语句融合在一起。
- 数据库服务器执行了这个融合了恶意代码的查询,导致非预期的操作,如未授权的数据访问、修改或删除
如何防范:
- 使用预编译语句
- 对所有用户的输入进行严格认证,以确保他们不含恶意代码
- 确保数据库账号具有执行预期任务所需的最小权限,避免使用具有高级权限的账号。
- 错误处理:正确处理应用程序和数据库错误,避免向用户展示具体的数据库错误信息,这样可以减少攻击者获取数据库的机会。
可能导致的后果:
- 攻击者可以获得数据库中所有的用户信息,导致数据泄露。
有效攻击输入:
- ' OR '1'='1
XSS
原理:
- 当Web应用程序未对用户输入进行充分验证或编码时,恶意脚本得以注入。
- 这些脚本随着Web页面内容一起被发送给其他用户。
- 接收方的浏览器无法区分这些脚本与合法脚本的区别,因此执行了这些恶意脚本。
- 这使得攻击者能窃取用户数据,如会话令牌或其他敏感信息,甚至篡改用户界面。
可能导致的后果:
- 用户的敏感信息被盗取,如cookies或会话令牌,甚至可以被用来操纵用户的行为,如重定向到恶意网站或展示欺骗性内容。
如何防范:
- 对所有用户输入进行严格的过滤和转义,特别是那些将被嵌入HTML的内容。
- 使用内容安全策略(Content Security Policy, CSP)限制网站可以执行的脚本。
- 对所有用户生成的内容实施严格的输出编码规则。
- 使用安全的库和框架,它们自动为你处理这些安全问题。
有效输入:
- <script>alert('XSS Attack');</script>
CSRF
原理:
- 用户在浏览器中登录某个网站并且登录凭证(如cookies)仍然有效。
- 攻击者诱使用户访问另一个包含恶意代码的网站,这个代码发起了对已登录网站的请求。
- 由于用户已经登录,浏览器会自动附带用户登录凭证(如cookies)发送请求。
- 原网站接收到这个带有用户凭证的请求,并误认为是用户的有效操作,从而执行了未授权的操作(如改密码、转账等)。
第七章——缓冲区溢出攻击与防御
必考,大题,考核方式:代码,问你代码有什么问题(C++),为什么会溢出,溢出的后果是什么,溢出堆栈是什么样,画出来。课上讲的,overflow,overflow1,overflow2
缓冲区溢出如何防御
第八章——恶意代码防御技术
“不是考试重点,可能设计一两个简答,恶意代码的分类里面,蠕虫,木马,病毒,apt攻击的概念”
蠕虫
不需要寄生在宿主程序中的自我复制程序,能够独立运行并通过网络自我传播。
木马
隐藏在正常应用程序中的恶意代码,用于窃取信息或控制系统。它们通常不具备自我复制的能力。
计算机病毒
需要寄生在宿主程序中的自我复制能力的恶意代码。它们会在执行宿主程序时激活,导致不同程度的破坏。
APT攻击
长期、目标明确的网络攻击,常由国家支持的组织发起,使用多种入侵方式和恶意软件,针对特定组织或国家的重要信息。
第九章——拒绝服务攻击与防御
“什么是拒绝服务攻击,拒绝服务攻击有哪几种,原理是什么,分布式拒绝服务攻击,拒绝访问攻击和分布式拒绝服务攻击如何防御?”
拒绝服务攻击
拒绝服务攻击(DoS)的目的是通过消耗目标网络或系统资源(如带宽、CPU、内存)来使正常用户无法访问服务。主要类型包括:
- 泛洪攻击:包括UDP洪水攻击和ICMP洪水攻击,向目标发送大量数据流,耗尽带宽或系统资源。
- 扩大攻击:使用广播IP地址或反射体(如DNS、NTP服务)放大攻击效果。
- 利用协议攻击:利用协议漏洞,如TCP SYN攻击,耗尽目标系统资源。
- 畸形数据包攻击:发送错误配置的IP数据包,导致目标系统崩溃。
分布式拒绝服务攻击
分布式拒绝服务攻击(DDoS)是DoS攻击的扩展,通过利用多台受控机器同时发动攻击,增加攻击力度。这些攻击可能导致服务完全不可用或严重降级。
拒绝访问攻击和分布式拒绝服务攻击如何防御?
优化网络和路由结构:提供的服务应有多条与Internet的连接,并最好分布在不同的地理区域。这样可以在攻击发生时重新路由通信,降低攻击影响。
保护网络及主机系统安全:定期更新安全补丁,运行尽可能少的服务,限制不必要的通信,从而降低被攻击的可能性。
带宽限制:通过限制基于协议的带宽使用,例如,端口25和80的带宽限制,可以防止服务因流量过大而崩溃。
与ISP协商:当受到攻击时,与ISP合作确定发起攻击的IP地址,请求ISP实施路由访问控制策略,封锁来自敌意IP地址的数据包,减轻网络负担,保护带宽和内部网络。
安装入侵检测系统:入侵检测系统可以帮助监测并识别异常流量,从而提前警告潜在的DoS或DDoS攻击。