CISP/09_第九章 计算环境安全/9.4 应用安全.md
2024-10-04 15:47:13 +08:00

169 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 应用安全
> **一、Web应用安全**<br>
> &nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">了解</span>WEB体系架构<br>
> &nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">理解</span>HTTP协议工作机制及明文传输数据、弱验证、无状态等安全问题<br>
> &nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">理解</span>SQL注入攻击的原理及危害<br>
> &nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">了解</span>跨站脚本安全问题的原理及危害及其他针对WEB的攻击方式<br>
> &nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">了解</span>WEB防火墙、网页防篡改等常见Web安全防护技术作用。
>
> **二、电子邮件安全**<br>
> &nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">理解</span>电子邮件工作机制及SMTP、POP3协议<br>
> &nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">了解</span>电子邮件安全问题及解决方案。
>
> **三、其他互联网应用**<br>
> &nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">了解</span>远程接入、域名系统、即时通讯等其他互联网应用安全问题及解决措施。
<span style="font-size:20px !important;">应用系统的<span style="color:red;">复杂性</span><span style="color:red;">多样性</span>使得安全问题也呈现出<span style="color:red;">多样化</span>的特点。</span>
### 一、Web应用安全
- WEB服务器端安全问题支撑软件、B应用程序
- Web客户端浏览器
- Web协议Http
#### 1、HTTP协议
1. **HTTP超文本传输协议工作机制**
请求响应模式
- HTTP请求包含三个部分方法URL协议/版本、请求头部、请求正文)
- HTTP响应包含三个部分协议状态代码描述、响应包头实体包
2. **HTTP协议安全问题**
- 信息泄漏(传输数据明文)
- 弱验证(会话双方没有严格认证机制)
- http1.1提供摘要访问认证机制采用MD5将用户名、密码、请求包头等进行封装但仍然不提供对实体信息的保护。
- 缺乏状态跟踪请求响应机制决定http是一个无状态协议
- Session解决方案带来的安全问题
#### 2、Web服务端软件安全问题
1. **服务支撑软件安全问题**
- 软件自身安全漏洞
> IIS 5.0超长URL拒绝服务漏洞<br>
> Unicode解码漏洞
- 软件配置缺陷
- 默认账号、口令
- 不安全的配置
> IIS配置允许远程写入
2. **应用软件安全问题**
#### 3、Web安全防护技术
1. **Web防火墙**
- 工作在<span style="color:red;">应用层</span>
- 基本功能
- 审计并拦截HTTP数据流
- Web应用访问控制
- Web应用加固
2. **网页防篡改**
- 监控Web服务器上的页面文件防止被篡改
- 机制
- 备份文件对比
- 摘要文件对比
- 删改操作触发
- 系统底层过滤
#### 4、典型注入攻击 - SQL注入
- **原理**程序没有对用户输入数据的合法性进行判断使攻击者可以绕过应用程序限制构造一段SQL语句并传递到数据库中实现对数据库的操作。
![image-20241004152847120](https://picgo-noriu.oss-cn-beijing.aliyuncs.com/Images/image-20241004152847120.png)
- **<span style="color:red;">可以传递到数据库的数据都是攻击对象。</span>**
- http://www.test.com/showdetail.asp?id=49' And (update user set passwd = "123" where user name = 'admin');
- Select * from 表名 where 字段 = '49' And (update user set passwd = "123" where user name = admin)
非法的SQL语句被传递到数据库中执行
#### 5、SQL注入的危害
1. **数据库信息收集**
- 数据检索
2. **操作数据库**
- 增加数据
- 删除数据
- 更改数据
3. **操作系统**
- 借助数据库某些功能例如SQL Server的内置存储过程<span style="color:red;">XP_CMDSheII</span>
#### 6、SQL注入的防御
1. **防御的对象:所有外部传入数据**
- 用户的输入
- 提交的URL请求中的参数部分
- 从cookie中得到的数据
- 其他系统传入的数据
2. **防御的方法**
- 白名单:限制传递数据的格式
- 黑名单:过滤
- 过滤特殊字串update、insert、delete等
- 开发时过滤特殊字符:单引号、双引号、斜杠、反斜杠、冒号、空字符等的字符
- 部署防SQL注入系统或脚本
#### 7、跨站脚本
1. **原理**
由于程序没有对用户提交的变量中的HTML代码进行过滤或转换使得脚本可被执行攻击者可以利用用户和服务器之间的信任关系实现恶意攻击。
2. **危害**
敏感信息泄露、账号劫持、Cookie欺骗、拒绝服务、钓鱼等
3. **防范**
- 不允许HTML中脚本运行
- 对所有脚本进行严格过滤
#### <span style="color:red;">8、针对WEB应用的攻击</span>
- 失效的验证和会话管理
- 不安全的对象直接引用
- 跨站请求伪造
- 不安全的配置管理
- 不安全的密码存储
- 错误的访问控制
- 传输保护不足
- 未经验证的网址重定向
- 不恰当的异常处理
- 拒绝服务攻击
### 二、电子邮件安全
#### 1、POP3/SMTP协议工作机制
- 简单的请求响应模式
#### 2、安全问题
- 信息泄漏(用户帐号密码、邮件内容)
- 身份验证不足(社会工程学攻击、垃圾邮件)
#### 3、安全解决
- 服务器端
- 安全邮件协议
- 使用SSL保护会话
- 安全策略
- 客户端
### 三、其他互联网应用
- 远程接入
- 域名系统
- 即时通信