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)