一、网络安全核心概念:CIA 三要素
CIA 模型是网络安全的基础框架,由三个核心原则组成:机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)。
1. 机密性(Confidentiality)
定义:确保数据仅被授权的人、系统或进程访问,防止未授权的信息泄露。
关键技术:
- 加密技术:对称加密(AES、DES)、非对称加密(RSA、ECC)。
- 访问控制:基于角色的访问控制(RBAC)、多因素认证(MFA)。
- 数据脱敏:匿名化、伪名化处理敏感数据。
典型威胁:窃听(Eavesdropping)、数据泄露、中间人攻击(MITM)。
2. 完整性(Integrity)
定义:确保数据在存储、传输或处理过程中未被未授权篡改或破坏。
关键技术:
- 哈希函数:SHA-256、MD5(已不安全)用于生成数据指纹。
- 数字签名:结合非对称加密和哈希,验证数据来源和完整性。
- 校验和(Checksum):检测数据传输中的意外修改。
典型威胁:数据篡改、中间人攻击、重放攻击(Replay Attack)。
3. 可用性(Availability)
定义:确保授权用户能够及时、可靠地访问系统和数据。
关键技术:
- 冗余架构:负载均衡、分布式服务器集群。
- DDoS防护:流量清洗、CDN 分发。
- 灾难恢复计划:数据备份、冷热站点切换。
典型威胁:拒绝服务攻击(DoS/DDoS)、勒索软件(破坏系统可用性)。
二、网络安全攻击类型(详细分类)
1. 按攻击目标分类
- 针对机密性的攻击:
- 窃听(Sniffing):通过抓包工具(如Wireshark)截获未加密的网络流量。
- 社会工程学(Social Engineering):钓鱼邮件、电话诈骗诱导泄露敏感信息。
- 漏洞利用:利用系统漏洞(如Heartbleed漏洞)窃取内存数据。
- 针对完整性的攻击:
- 中间人攻击(MITM):篡改通信双方的数据(如会话劫持)。
- SQL注入(SQLi):通过恶意输入篡改数据库内容。
SQL注入示例防护代码:
String sql = "SELECT * FROM users WHERE id = ?";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setInt(1, Integer.parseInt(userInput)); // 类型安全绑定
ResultSet rs = stmt.executeQuery();
- 恶意软件(Malware):如Rootkit修改系统文件。
- 针对可用性的攻击:
- 分布式拒绝服务(DDoS):通过僵尸网络(Botnet)淹没目标服务器。
简单的DDos防护示例代码:
const express = require('express');
const rateLimit = require('express-rate-limit');
const app = express();
// 限制每个IP每分钟最多60次请求
const limiter = rateLimit({
windowMs: 60 * 1000,
max: 60,
message: "请求过于频繁,请稍后再试。"
});
app.use(limiter);
app.get('/api', (req, res) => {
res.send("正常响应");
});
app.listen(3000);
- 物理破坏:切断电力供应、破坏网络设备。
- 逻辑炸弹(Logic Bomb):预设条件触发系统崩溃。
2. 按攻击技术分类
- 主动攻击:
- 拒绝服务攻击(DoS):通过SYN Flood、UDP Flood耗尽资源。
- 会话劫持(Session Hijacking):窃取用户Cookie或Token接管会话。
- DNS欺骗(DNS Spoofing):篡改DNS解析结果重定向流量。
- 被动攻击:
- 流量分析(Traffic Analysis):分析通信模式推断敏感信息。
- 键盘记录(Keylogging):记录用户输入窃取密码。
- 高级持续性威胁(APT):
- 长期潜伏攻击,如SolarWinds供应链攻击。
- 结合0day漏洞、定制化恶意代码(如Stuxnet)。
3. 其他常见攻击类型
- 网络钓鱼(Phishing):伪造网站/邮件诱导用户输入凭证。
- 勒索软件(Ransomware):加密用户数据索要赎金(如WannaCry)。
- 跨站脚本攻击(XSS):注入恶意脚本到网页中(如窃取用户Cookie)。
- 零点击攻击(Zero-Click):无需用户交互即可触发漏洞(如iOS iMessage漏洞)。
三、CIA 与攻击的对应关系
|
四、防御策略与最佳实践
1. 纵深防御(Defense in Depth):多层防护(防火墙、IDS/IPS、加密)。
2. 零信任模型(Zero Trust):默认不信任内部/外部用户,持续验证身份。
3. 定期渗透测试:模拟攻击发现漏洞(如OWASP Top 10测试)。
4. 安全编码规范:避免缓冲区溢出、输入验证不严等问题。
以上内容涵盖CIA模型的核心原理、攻击类型的技术细节及防御策略,适合作为网络安全学习的结构化知识库。如需进一步扩展某个知识点,可随时补充!