系统安全
系统安全威胁
- 病毒
- 蠕虫
- 特洛伊木马
- Rootkit后门
- 僵尸网络
- 零日攻击
- Webshell
操作系统防御
- 杀毒软件:兵来将挡,水来土掩
- 升级补丁:防止零日攻击
- 限制:用户、网络、端口、程序、安全基准、不可变基础架构
杀毒软件检测机制
- 特征型:模式匹配、指纹检测
- 启发型:逻辑评估、人工智能、防止零日攻击
- 完整性检查:通过CRC校验确认文件的完整性
- 行为阻止:执行代码,监控它和操作系统的交互
- 免疫系统:把自己变得像是已经被感染,博取同情
- 沙箱运行:限制病毒和可疑代码的影响
数据库安全
SQL注入攻击
- 联合注入
http://server_ip/?id=-1 union select 1,database() - 布尔注入
?id=1’ and length(database)) > 1 - 时间注入
?id=1’ and if(length(database)) > 1,sleep(5),1)
SQL注入防御
- 过滤危险字符:逢林(union,sleep)莫入
- 预编译语句:存储过程、JDBC prepareStatement
- 参数化查询:Mybatis
其他数据库攻防
- 推理攻击:欺骗实例、数据库分区、单元抑制、噪声扰动
- 聚合攻击:数据库分区、视图
- 拒绝服务:数据库集群、数据流控
Web安全
XSS跨站点脚本攻击
- 反射型XSS:攻击用户浏览器
- 存储型XSS:攻击服务器数据库和文件系统
- DOM型XSS:利用DOM文档对象模型的漏洞
XSS跨站点脚本防御
- 输入过滤:单引号、双引号、<、>等
- 编码转换:HTML实体编码、JavaScript编码
- Cookie保护:HttpOnly
CSRF跨站请求伪造攻击
CSRF跨站请求伪造防御
- 请求来源验证:HTTP头部字段Referer
- CSRF Token:后端验证随机Token
- Cookie保护:设置SameSite,禁止Cookie跨域提交