一、恶意代码类型
1.1 特洛伊木马
🐴 特洛伊木马定义
特洛伊木马是伪装成有用程序的恶意软件
特点:
- 伪装性强
- 隐藏恶意功能
- 需要用户主动运行
- 不自我复制
特洛伊木马 vs 其他恶意代码:
| 类型 | 伪装性 | 自我复制 | 传播方式 | 依附性 |
|---|---|---|---|---|
| 特洛伊木马 | ✅ 强 | ❌ 否 | 社会工程 | 独立程序 |
| 病毒 | 🟡 中 | ✅ 是 | 感染文件 | 依附文件 |
| 蠕虫 | ❌ 弱 | ✅ 是 | 网络传播 | 独立程序 |
| 逻辑炸弹 | ✅ 强 | ❌ 否 | 预先植入 | 依附程序 |
1.2 蠕虫特征
🐛 蠕虫的特征
蠕虫的核心特征:可感染、独立性
✅ 可感染
- 可以感染其他系统
- 主动寻找目标
- 利用漏洞传播
✅ 独立性
- 独立的可执行程序
- 不需要依附其他文件
- 自主运行和传播
恶意代码特征对比:
可感染+依附性"] C["蠕虫
可感染+独立性"] D["特洛伊木马
不感染+独立性"] E["逻辑炸弹
不感染+依附性"] A --> B A --> C A --> D A --> E style B fill:#ff6b6b style C fill:#ffd93d style D fill:#6bcf7f style E fill:#4d96ff
恶意代码特征组合:
不感染 + 依附性 → 逻辑炸弹
不感染 + 独立性 → 特洛伊木马
可感染 + 依附性 → 病毒
可感染 + 独立性 → 蠕虫 ✅
1.3 恶意代码类型识别
🦠 恶意代码类型
宏与恶意代码的关系:
宏的性质:
- 宏是合法的功能
- 用于自动化任务
- 本身不是恶意代码
- 但可能被利用(宏病毒)
恶意代码类型:
- ✅ 病毒
- ✅ 蠕虫
- ✅ 特洛伊木马
- ✅ 逻辑炸弹
- ✅ 勒索软件
技术与恶意代码的区别:
- 宏是一种技术特性,不是恶意代码类型
- 宏病毒是利用宏技术的病毒,属于病毒类型
二、密码学基础
2.1 Kerckhoff准则
🔐 Kerckhoff准则
Kerckhoff准则的核心思想:密码算法可以公开,密钥应保证安全
🔓 算法公开
- 密码算法可以公开
- 接受公众审查
- 提高安全性
🔒 密钥保密
- 密钥必须保密
- 安全性依赖密钥
- 密钥易于更换
Kerckhoff准则的六项原则:
- 系统在实际应用中应该是不可破译的
- 系统的安全性不应依赖于算法的保密
- 密钥应该易于记忆和更换
- 密文应该便于传输
- 系统应该便于携带
- 系统应该易于使用
为什么算法公开更安全:
算法公开的优势:
├── 接受公众审查
│ ├── 发现潜在漏洞
│ ├── 专家评估
│ └── 持续改进
├── 避免"隐蔽即安全"谬误
│ ├── 算法泄露风险高
│ ├── 难以长期保密
│ └── 一旦泄露全面失效
└── 标准化和互操作性
├── 广泛应用
├── 兼容性好
└── 易于实现
2.2 数字签名密钥使用
✍️ 数字签名使用的密钥
数字签名流程:
📝 签名(发送方)
- 使用发送者的私钥
- 对消息摘要签名
- 附加到消息上
✅ 验证(接收方)
- 使用发送者的公钥
- 验证签名真实性
- 确认消息完整性
数字签名完整流程:
2.3 数字签名验证
🔍 数字签名验证密钥
数字签名验证使用发送者的公钥
验证过程:
- 公钥是公开的
- 可以验证签名
- 确认发送者身份
- 保证消息完整性
公钥私钥在签名中的作用:
| 操作 | 使用的密钥 | 密钥所有者 | 目的 |
|---|---|---|---|
| 签名 | 私钥 | 发送者 | 证明身份 |
| 验证 | 公钥 | 发送者 | 验证身份 |
| 加密 | 公钥 | 接收者 | 保护机密性 |
| 解密 | 私钥 | 接收者 | 获取明文 |
2.4 加密解密控制
🔑 加密解密的控制
加密和解密的过程都是在密钥的控制下进行的
密钥的作用:
- 控制加密过程
- 控制解密过程
- 决定安全强度
- 易于管理和更换
2.5 对称密钥算法
🔐 对称密钥算法
对称密钥算法特点:
核心特征:
- 加密和解密使用同一密钥
- 速度快
- 适合大量数据
- 密钥分发困难
对称加密 vs 非对称加密:
| 特性 | 对称加密 | 非对称加密 |
|---|---|---|
| 密钥数量 | 1个 | 2个(公钥+私钥) |
| 加密速度 | 快 | 慢 |
| 密钥分发 | 困难 | 容易 |
| 典型算法 | AES、DES、3DES | RSA、ECC |
| 适用场景 | 大量数据加密 | 密钥交换、数字签名 |
2.6 RSA算法基础
🔢 RSA算法原理
RSA的数学基础:
核心原理:
- 基于大整数因数分解困难
- 单向陷门函数
- 公钥加密,私钥解密
其他算法的数学基础:
- ECC:椭圆曲线离散对数问题
- DES:对称加密(置换和替换)
- Diffie-Hellman:离散对数问题
三、PKI/CA体系
3.1 PKI/CA解决的问题
🏛️ PKI/CA的核心功能
PKI/CA解决的安全问题:
✅ 身份鉴别
- 数字证书
- 身份验证
- 信任链
✅ 完整性
- 数字签名
- 防篡改
- 消息认证
✅ 授权与访问控制
- 证书权限
- 访问策略
- 权限管理
PKI/CA不解决的问题:
- 可用性:需要其他机制保障(如冗余、负载均衡)
- 机密性:PKI/CA主要关注身份和完整性,加密是附加功能
3.2 PKI/CA证书内容
📜 数字证书内容
数字证书包含的内容:
✅ 证书授权中心的数字签名 ✅ 证书拥有者的基本信息 ✅ 证书拥有者的公开密钥 ❌ 证书拥有者的秘密密钥(私钥)
私钥与证书的关系:
- 私钥必须保密,只有拥有者知道
- 证书是公开的,任何人都可以获取
- 包含私钥会导致安全性完全丧失
- 私钥由用户自己安全保管,不通过证书传输
数字证书结构:
数字证书内容:
├── 版本号
├── 序列号
├── 签名算法
├── 颁发者信息
├── 有效期
│ ├── 开始时间
│ └── 结束时间
├── 主体信息(证书拥有者)
│ ├── 姓名/组织
│ ├── 国家/地区
│ └── 其他属性
├── 公钥信息 ✅
│ ├── 公钥算法
│ └── 公钥值
└── CA数字签名 ✅
❌ 不包含私钥
四、网络协议基础
4.1 网络协议定义
🌐 网络协议的含义
网络协议的本质:采用某一套通信规则或标准
协议包含的内容:
- 通信规则
- 数据格式
- 交互流程
- 错误处理
4.2 ARP广播帧隔离
🚧 隔离ARP广播帧的设备
路由器可以隔离ARP广播帧
路由器隔离广播的原理:
- 工作在网络层(第3层)
- 不转发广播帧
- 分隔广播域
- 隔离二层流量
网络设备对广播的处理:
| 设备 | 工作层次 | 隔离广播 | 说明 |
|---|---|---|---|
| 路由器 | 第3层 | ✅ 是 | 分隔广播域 |
| 三层交换机 | 第3层 | ✅ 是 | 具有路由功能 |
| 二层交换机 | 第2层 | ❌ 否 | 转发广播 |
| 网桥 | 第2层 | ❌ 否 | 转发广播 |
| 集线器 | 第1层 | ❌ 否 | 转发所有流量 |
4.3 TCP/IP错误报告协议
📡 TCP/IP错误报告
ICMP协议的功能:
主要作用:
- 错误报告
- 网络诊断
- 路径探测
- 流量控制
TCP/IP协议族中的控制协议:
| 协议 | 全称 | 主要功能 |
|---|---|---|
| ICMP | Internet Control Message Protocol | 错误报告、网络诊断 |
| IGMP | Internet Group Management Protocol | 组播管理 |
| ARP | Address Resolution Protocol | IP到MAC地址解析 |
| SNMP | Simple Network Management Protocol | 网络管理 |
4.4 SSL协议支持
🔒 SSL协议支持的协议
SSL/TLS可以保护的协议:
常见应用:
- HTTPS(HTTP over SSL)
- FTPS(FTP over SSL)
- SMTPS(SMTP over SSL)
- 其他基于TCP的应用协议
4.5 无线加密标准
📶 无线加密标准安全性
无线加密标准演进:
WEP → WPA → WPA2 → WPA3 (最弱) (最强)
安全性排序:
- WEP:安全性最弱,已被淘汰
- WPA:过渡标准,安全性中等
- WPA2:广泛使用,安全性强
- WPA3:最新标准,安全性最强
无线加密标准对比:
| 标准 | 加密算法 | 密钥长度 | 安全性 | 状态 |
|---|---|---|---|---|
| WEP | RC4 | 64/128位 | ❌ 很弱 | 已淘汰 |
| WPA | TKIP | 128位 | 🟡 中等 | 过渡标准 |
| WPA2 | AES-CCMP | 128/256位 | ✅ 强 | 广泛使用 |
| WPA3 | AES-GCMP | 128/256位 | ✅ 很强 | 最新标准 |
| WAPI | SMS4 | 128位 | ✅ 强 | 中国标准 |
五、网络安全设备
5.1 漏洞扫描器
🔍 识别系统脆弱性的设备
各设备功能对比:
| 设备 | 主要功能 | 是否识别脆弱性 | |------|---------|--------------| | 防火墙 | 访问控制 | ❌ 否 | | IDS | 入侵检测 | 🟡 部分 | | 漏洞扫描器 | 漏洞发现 | ✅ 是 | | UTM | 统一威胁管理 | 🟡 部分 |
5.2 入侵检测技术分类
🛡️ 入侵检测技术分类
两种检测技术对比:
误用检测(Misuse Detection):
- 基于已知攻击特征
- 准确率高
- 无法检测未知攻击
- 需要更新特征库
异常检测(Anomaly Detection):
- 基于正常行为基线
- 可检测未知攻击
- 误报率较高
- 需要学习期
六、渗透测试与社会工程
6.1 渗透测试第一步
🎯 渗透测试流程
渗透测试完整流程:
- 信息收集 ← 第一步
- 漏洞分析与目标选定
- 尝试漏洞利用
- 权限提升
- 清理痕迹
- 报告编写
信息收集的内容:
信息收集阶段:
├── 目标识别
│ ├── 域名信息
│ ├── IP地址段
│ └── 网络拓扑
├── 服务识别
│ ├── 开放端口
│ ├── 运行服务
│ └── 版本信息
├── 系统识别
│ ├── 操作系统
│ ├── Web服务器
│ └── 应用程序
└── 人员信息
├── 员工信息
├── 组织架构
└── 联系方式
6.2 社会工程定义
👥 社会工程攻击
社会工程的特点:
- 利用人性弱点
- 不依赖技术漏洞
- 欺骗和伪装
- 获取敏感信息
典型社会工程手段:
- 电话询问用户名和口令
- 伪装成技术支持人员
- 钓鱼邮件
- 尾随进入
社会工程 vs 技术攻击:
| 攻击类型 | 利用对象 | 技术要求 | 防御方法 |
|---|---|---|---|
| 社会工程 | 人性弱点 | 低 | 安全意识培训 |
| 缓冲区溢出 | 软件漏洞 | 高 | 代码审计、补丁 |
| SQL注入 | 应用漏洞 | 中 | 输入验证、参数化查询 |
七、Windows系统安全
7.1 显示网络端口命令
💻 Windows网络命令
netstat命令用于显示网络端口详细情况
常用netstat参数:
netstat -an # 显示所有连接和端口
netstat -ano # 显示进程ID
netstat -r # 显示路由表
netstat -s # 显示统计信息
7.2 WindowsXP事件查看器
📋 Windows事件日志
Windows事件日志类型:
- 应用程序日志
- 安全性日志
- 系统日志
- Internet Explorer日志
八、总结
🎯 关键要点
恶意代码:
- 特洛伊木马:伪装成有用程序
- 蠕虫:可感染+独立性
- 宏不是恶意代码类型
密码学:
- Kerckhoff准则:算法公开,密钥保密
- 数字签名:私钥签名,公钥验证
- 对称加密:同一密钥加密解密
- RSA:基于大整数分解困难
PKI/CA:
- 解决身份鉴别、完整性、访问控制
- 不解决可用性问题
- 证书不包含私钥
网络协议:
- 协议是通信规则和标准
- 路由器隔离ARP广播
- ICMP用于错误报告
- WEP安全性最弱
安全设备:
- 漏洞扫描器识别脆弱性
- IDS分为误用检测和异常检测
渗透测试:
- 第一步是信息收集
- 社会工程利用人性弱点
Windows安全:
- netstat显示网络端口
- 事件查看器查看系统日志
💡 考试提示
- 区分恶意代码类型的特征
- 理解公钥私钥在签名和加密中的不同用途
- 记住Kerckhoff准则的核心思想
- 掌握网络设备对广播的处理方式
- 了解渗透测试的基本流程
- 熟悉Windows常用安全命令