1. “心脏滴血” 漏洞和 “贵宾犬” 漏洞的原理是什么?
-
心脏滴血(Heartbleed,CVE-2014-0160): 是 OpenSSL 库中 TLS 心跳协议的实现漏洞。心跳协议允许客户端 / 服务器发送 “心跳请求”(包含数据长度和数据),对方需原样返回。漏洞在于:当请求中声明的数据长度(
length
)大于实际数据长度时,OpenSSL 会读取内存中超出实际数据长度的内容并返回,导致服务器内存中的敏感信息(如私钥、会话密钥、用户数据)泄露。 -
贵宾犬(POODLE,CVE-2014-3566): 是 SSLv3 协议的设计缺陷。SSLv3 使用 CBC 模式加密数据,且对填充数据(Padding)的验证存在漏洞。攻击者可通过 “Padding Oracle 攻击”,向目标发送大量精心构造的请求,利用服务器对 “无效填充” 的错误提示,逐步推导出加密数据的明文(如 Cookie、密码等)。该漏洞仅影响 SSLv3,升级到 TLS 协议可避免。
2. SSL 概念是什么?
SSL(Secure Sockets Layer,安全套接层)是一种加密协议,用于在客户端(如浏览器)和服务器之间建立安全的通信通道,确保数据传输的:
-
机密性:通过对称加密算法(如 AES)加密数据,防止中间人窃听。
-
完整性:通过哈希算法(如 SHA)校验数据,防止传输中被篡改。
-
身份认证:通过数字证书验证服务器(或客户端)身份,防止伪装攻击。
目前 SSL 已被 TLS(Transport Layer Security)取代(SSL 3.0 后升级为 TLS 1.0),但常统称为 “SSL/TLS”。
3. SSL 和 OpenSSL 区别是什么?
维度 | SSL(Secure Sockets Layer) | OpenSSL |
---|---|---|
本质 | 加密协议标准,定义安全通信的规则和规范 | 开源软件库,是 SSL/TLS 协议的具体实现 |
内容 | 包含握手流程、加密算法、证书验证等规范 | 提供加密算法、证书管理、SSL 握手等功能代码 |
关系 | 是 “规则”,指导如何实现安全通信 | 是 “工具”,遵循 SSL 规则实现安全通信功能 |
其他实现 | 无(SSL 是标准本身) | GnuTLS、NSS 等都是 SSL/TLS 的其他实现 |
4. SSL 漏洞类型有哪些?
-
协议设计缺陷:如 POODLE(SSLv3 漏洞,利用 CBC 模式 Padding 缺陷)、BEAST(TLS 1.0 漏洞,利用 CBC 模式加密弱点)。
-
实现漏洞:如 Heartbleed(OpenSSL 心跳包处理漏洞)、CVE-2016-2183(OpenSSL 加密算法漏洞)。
-
配置问题:如使用弱加密套件(如 RC4、DES)、支持过时协议(SSLv3、TLS 1.0)、证书过期或无效。
-
证书漏洞:如证书伪造(未通过可信 CA 签名)、中间人攻击(伪造证书欺骗客户端)。
5. OpenSSL 无限循环 DoS 漏洞原理是什么?
此类漏洞(如 CVE-2016-2183)通常是由于 OpenSSL 代码中存在逻辑错误,当处理特定构造的加密数据包时,触发无限循环或资源耗尽,导致服务器拒绝服务(DoS)。
-
具体场景:在处理某些加密算法(如 3DES、RC2)的密钥交换或数据解密时,代码中的循环条件判断错误(如未正确处理数据包长度或加密块大小),导致循环无法终止。
-
影响:攻击者发送恶意数据包后,服务器进程陷入无限循环,CPU 占用率飙升,无法响应正常请求,最终服务崩溃。
6. 什么是 DoS 攻击?与 DDoS 有何区别?
DoS(Denial of Service,拒绝服务攻击)是指攻击者通过各种手段,耗尽目标系统的资源(如带宽、CPU、内存、连接数等),导致其无法为正常用户提供服务的攻击方式。
与 DDoS 的核心区别:
-
攻击源数量:DoS 通常由单一攻击源发起;DDoS(Distributed DoS,分布式拒绝服务)由分布在不同位置的多个攻击源(如僵尸网络)协同发起。
-
攻击规模:DoS 流量有限,较易防御;DDoS 可聚合海量流量(甚至 T 级),防御难度极大。
-
技术复杂度:DoS 实现简单(如单主机发送大量请求);DDoS 需控制大量肉鸡,涉及命令分发、流量协同等技术。
7. 列举 5 种常见的 DoS 攻击类型及原理
-
SYN Flood 攻击 利用 TCP 三次握手漏洞,发送大量伪造源 IP 的 SYN 请求,服务器回复 SYN-ACK 后因收不到 ACK 而持续占用连接资源,最终连接队列被占满。
-
UDP Flood 攻击 利用 UDP 无连接特性,发送海量 UDP 数据包(如随机端口、大尺寸数据包),耗尽目标带宽和处理能力,导致正常 UDP 服务(如 DNS、NTP)不可用。
-
ICMP Flood(Ping 泛洪) 向目标发送大量 ICMP Echo Request(Ping)数据包,目标需消耗资源回复,当流量超过承受上限时,网络被阻塞。
-
Slowloris 攻击 针对 Web 服务器的应用层攻击,建立大量 TCP 连接后缓慢发送 HTTP 请求(如每次发送一个字节并保持连接),耗尽服务器的并发连接数,使新用户无法建立连接。
-
资源耗尽型攻击 发送恶意请求触发目标大量资源消耗,例如:
-
向数据库发送复杂 SQL 语句(如嵌套子查询、全表扫描),耗尽数据库 CPU。
-
上传超大文件或请求大尺寸资源,耗尽存储或带宽。
-
8. 什么是 CC 攻击?属于哪类 DoS 攻击?如何防御?
CC 攻击(Challenge Collapsar) 是一种针对 Web 应用的应用层 DoS 攻击,通过控制大量代理服务器或肉鸡,模拟正常用户发送海量 HTTP 请求(如访问动态页面、提交表单),耗尽 Web 服务器的 CPU、内存或数据库资源。
防御措施:
-
基于 IP 或会话的请求限流(如单 IP 每秒最多 10 次请求)。
-
识别异常请求特征(如相同 User-Agent、无 Referer、高频访问同一 URL)。
-
使用验证码或 JavaScript 挑战机制,区分真人与攻击脚本。
-
部署 Web 应用防火墙(WAF),自动拦截 CC 攻击流量。
9. 常见的木马类型有哪些?各自特点是什么?
-
远程控制木马(RAT): 如 “灰鸽子”“PcShare”,感染后攻击者可远程操控目标设备(查看屏幕、控制鼠标、上传下载文件),常被用于窃取隐私或进行内网渗透。
-
密码窃取木马: 专门针对账号密码的恶意程序,如 “键盘记录器” 记录用户输入的按键信息,或直接读取浏览器、聊天软件的密码缓存文件(如保存的网银、社交账号密码)。
-
下载者木马(Downloader): 体积小巧,主要功能是从指定服务器下载其他恶意软件(如勒索病毒、更多木马),自身不直接破坏系统,而是作为攻击 “跳板”。
-
破坏性木马: 以破坏系统为目的,如删除关键系统文件、格式化硬盘(如 “CIH 病毒” 变种),或篡改系统配置导致设备无法正常运行。
-
后门木马: 感染后在目标系统中留下 “后门”(如开放特殊端口、创建隐藏账号),使攻击者长期控制设备,即使木马被清除仍能重新入侵。
10. 常见的勒索病毒家族有哪些?各自特点是什么?
-
WannaCry(想哭): 2017 年爆发,利用 EternalBlue 漏洞(MS17-010)快速传播,加密文件后后缀变为
.WannaCry
,赎金为 300-600 比特币,影响全球多个行业(如医院、企业)。 -
NotPetya: 伪装成勒索病毒,实际以破坏为目的,通过 EternalBlue 漏洞和供应链攻击(污染乌克兰会计软件)传播,加密后无法解密,主要针对企业系统。
-
Ryuk: 针对性攻击企业和医疗机构,通过钓鱼邮件或渗透内网后横向传播,加密前会先删除备份文件,赎金高达数百万美元,组织化程度高。
-
Conti: 具有 “双重勒索” 特性,不仅加密文件,还窃取数据威胁公开,攻击目标多为政府机构、关键基础设施,赎金金额根据受害者规模定制。
11. 什么是钓鱼攻击?常见类型有哪些?
钓鱼攻击是攻击者通过伪装成可信实体(如银行、企业、亲友),诱使受害者泄露敏感信息(如账号密码、银行卡信息)或执行恶意操作(如下载恶意软件)的社会工程学攻击。
常见类型:
-
邮件钓鱼:发送伪装成银行、电商平台的邮件,包含虚假链接(如 “账户异常需验证”),引导用户在伪造网站输入账号密码。
-
网站钓鱼(克隆网站):制作与官方网站(如支付宝、网银)高度相似的虚假网站,通过短信、邮件诱导用户访问并输入信息。
-
短信钓鱼(Smishing):发送伪装成运营商、政务平台的短信,如 “您的套餐即将过期,点击链接续约”,链接指向恶意网站或下载木马。
-
语音钓鱼(Vishing)