本文最后更新于:2020年9月14日 下午

第六章 应用与数据安全

知识子域1:应用安全
知识子域2:数据安全
知识子域3:恶意代码防护

应用安全

Web应用安全

◆了解WEB体系架构;

◆理解HTTP协议工作机制及明文传输数据、弱验证、无状态等安全问题;

◆理解SQL注入攻击的原理及危害;

了解跨站脚本安全问题的原理及危害及其他针对WEB的攻击方式;

◆了解WEB防火墙、网页防篡改等常见Web安全防护技术作用。

应用安全威胁

◆应用系统的体系架构
◆客户端
◆传输协议
◆应用服务软件
◆数据库
◆复杂性和多样性使得安全问题也呈现出多样化的特点

WEB应用安全

◆WEB服务器端安全问题(支撑软件、应用程序)
◆Web客户端(浏览器)
◆Web协议(Http)

◆Web服务端软件
◆Web服务提供:Apache、IIS等
中间件:tomcat等

◆安全问题
◆软件漏洞,如缓冲区溢出、 unicode解码漏洞等
◆软件不安全配置
◆默认账号、口令
◆不安全的配置
◆例:IIS配置允许远程写入

◆应用软件开发语言
◆PHP、JAVA、ASP等

◆应用软件安全问题
◆运行环境存在安全漏洞
◆开发的Web应用存在安全漏洞
◆例如:SQL注入,跨站脚本等

web服务客户端问题

◆浏览器

◆lE、 firefox、 chrome等

◆安全问题

◆安全机制不足

◆浏览器自身存在漏洞

◆默认配置安全性不足

HTTP协议

◆HTTP(超文本传输协议)

◆一种通信协议
◆使用超文本标记语言(HTML)将资源从服务器传送到客
户端
◆超文本传输协议特点
◆请求、响应模式
◆协议简单,客户端只需传输请求方法和路径
◆无连接(一个请求一个连接,完成后断开)
◆无状态

HTTP协议工作过程

◆HTTP请求(Requests)

◆一个HTTP请求包含三个部分

◆协议状态代码、响应包头、实体包

HTTP请求范例

16

HTTP协议安全问题

◆信息泄漏(传输数据明文)
◆弱验证(会话双方没有严格认证机制
◆htt1.1是供摘要访问认证机制,采用MD5将用户名、密码、请求包头等进行封装,但仍然不提供对实体信息的保护
◆缺乏状态跟踪
◆请求响应机制决定http是一个无状态协议
◆ Session解决方案带来的安全问题

Web安全防护技术

Web应用防火墙
◆工作在应用层
◆根据安全策略对HTTP/Https的数据进行处理为Web
应用提供保护的一类产品,用以解决Web应用层出现
的安全问题

基本功能

◆审计并拦截HTTP数据流
◆Web应用访问控制
◆Web应用加固

◆网页防篡改
◆监控Web服务器上的页面文件,防止被篡改

◆机制
◆备份文件对比
◆摘要文件对比
◆删改操作触发
◆系统底层过滤

数据安全

针对web的典型攻击

◆原理
程序没有对用户输入数据的合法性进行判断,使攻击者可以绕过应用程序限制,构造一段SQL语句并传递到数据库中,实现对数据库的操作

SQL注入攻击

◆可以传递到数据库的数据都是攻击对象

示例
http://www.test.com/showdetail.asp?id=49"And(update user set passwd=123 where username=admin);–

◆ Select*fom表名 Where字段=49 And(update user set passwd=123 where username=admin);

“非法的SQL语句被传递到数据库中执行”

SQL注入攻击的危害

数据库信息收集

数据检索

操作数据库

◆增加数据
◆删除数据
◆更改数据

操作系统
◆借助数据库某些功能(例如:SQLServer的内置存储过程 XP_CMDShell)

SQL注入的防御

◆防御的对象:所有外部传入数据

◆用户的输入

◆提交的URL请求中的参数部分
◆从 cookie中得到的数据
◆其他系统传入的数据

◆防御的方法

◆白名单:限制传递数据的格式
◆黑名单:过滤
◆过滤特殊字串:update、 insert、 delete等
◆开发时过滤特殊字符:单引号、双引号、斜杠、反斜杠、冒号、空字符等的字符
◆部署防SQL注入系统或脚本

针对web应用的攻击-跨站脚本

原理
由于程序没有对用户提交的变量中的HTML代码进行过滤或转换,使得脚本可被执行,攻击者可以利用用户和服务器之间的信任关系实现恶意攻击

危害
敏感信息泄露、账号劫持、Cookie欺骗、拒绝服务、钓鱼等

防范
不允许HTML中脚本运行
对所有脚本进行严格过滤

针对WEB应用的攻击

失效的验证和会话管理
不安全的对象直接引用
跨站请求伪造
不安全的配置管理
不安全的密码存储
错误的访问控制
传输保护不足
未经验证的网址重定向
不恰当的异常处理
拒绝服务攻击

应用安全

电子邮件安全
理解电子邮件工作机制及SMTP、POP3协议;了解电子邮件安全问题及解决方案。

其他互联网应用
了解远程接入、域名系统、即时通讯等其他互联网应
用安全问题及解决措施。

电子邮件应用

应用协议

SMTP:简单邮件传输协议,用于邮件发送及中转

POP3:邮局协议,用于邮件接收

电子邮件协议的特点

协议简单,客户端请求命令

请求、响应模式

SMTP协议工作过程

电子邮件协议安全问题

信息泄露
用户账号/口令
用户邮件内容

用户身份验证不足
垃圾邮件
社会工程学

邮件服务器

拒绝服务:大量的邮件浪费服务器的资源

垃圾邮件:浪费服务器资源,导致服务器被加入拒绝名单

邮件客户端

邮件病毒

客户端漏洞

信息泄露

电子邮件安全应用-服务器端

安全协议
S/MIME(Secure Multipurpose Internet Mail Extension)
使用SSL保护会话(SMTP/POP3)

安全策略配置
确保服务器软件版本最新
关闭开放式转发
反向域名验证
身份验证

·····

电子邮件安全应用-客户端

邮件病毒/客户端漏洞

客户端设置以txt方式阅读邮件
使用较安全的邮件客户端

信息泄露

PGP应用
良好的使用习惯
邮件标题
邮件正文
附件命名

远程接入管理应用安全

远程管理

信息泄露:例如Telnet明文传输信息
可被用于口令破解

解决措施

使用加密的远程管理如SSH、远程终端等
设置账号安全策略对抗口令破解

域名系统安全

域名系统工作机制
分布式数据库系统
弱认证

安全问题
拒绝服务
DNS欺骗

·····

即时通信系统安全

信息泄露
即时通讯软件服务器端/终端漏洞
传输环境信息泄露

恶意代码传播
传输恶意代码文件
传播恶意代码链接

欺骗
认证不足导致欺骗

“熟人”间的信任,使得即时通信中的安全威胁更易于被利用

关系型数据库系统特点

数据结构化和共享性
库、表、字段
结构化查询语言(SQL)

数据独立性
物理独立性
逻辑独立性

数据的完整性约束
实体完整性
参照完整性
用户自定义完整性

数据由DBMS统一管理和控制
查询引擎、事务控制、数据存储模块/组件

结构化查询语言基础

17

数据库安全机制

用户标识与鉴别

授权与访问控制

数据库加密

安全审计

····

数据库安全机制-标识与鉴别

用户标识与鉴别
操作系统
数据库
第三方

用户管理策略
默认账号管理
账户锁定策略

数据库安全机制-访问控制

设置用户对不同的数据对象允许的操作权限
系统权限(数据库实例级或数据库级)
模式权限(数据库对象:表、视图等)
数据对象权限(数据对象:记录级)

数据库安全机制-数据库加密

数据库加密方式
传输加密
存储加密
数据库加密实现的机制
DBMS内层加密
DBMS外层加密

数据库安全机制-审计

数据库审计日志

数据库审计(也称标准审计)
用户级审计:安全审计员设置,用户行为审计
系统级审计:管理员设置,用户授权或系统级权限操作审计

细粒度审计
监视对数据对象的操作

数据库安全防护

检查,监控,审计

数据库安全防护-构建深度防御体系

安全机制

标识与鉴别、访问控制、传输加密、审计等

安全策略

密码策略、备份策略等

数据库安全防护-安全特性检查

数据库系统漏洞
数据库配置缺陷

数据库安全特性检查

安全配置
补丁
协议(端口、传输协议)

账号
用户名及密码
口令策略
权限

存储过程
触发器
备份

数据库安全防护-运行监控

入侵检测
数据库审计

数据库安全防护-审计

◆数据库审计关注的问题
◆审计对象(对谁进行审计)
◆标准审计(系统级、用户级)
◆细粒度审计(对象级)

◆审计内容(对什么行为进行审计)
访问数据库应用程序、位置及用户信息,包括用户操作、操作
日期与时间、操作涉及的相关数据、操作是否成功等

数据防泄露

网络安全法中对数据保护的要求
“未经被收集者同意,不得向他人提供个人信息”
“采取技术措施和其他必要措施,确保其收集的个人
信息安全,防止信息泄露、毁损、丢失。”

数据泄露防护应覆盖可能的数据外泄渠道,需要
关注的问题
什么敏感数据需要发出;
谁会发出敏感数据;
这些数据要发往哪;
使用什么协议、端口等;
违反了哪些安全策略;
讳规程度如何

什么是恶意代码

什么是恶意代码?
《中华人民共和国计算机信息系统安全保护条例》第二十八条:“计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码(1994.2.18)恶意代码,是指能够引起计算机故障,破坏计算机数据,影响计算机系统的正常使用的程序代码、指令

类型:二进制代码、脚本语言、宏语言等

表现形式:病毒、蠕虫、后门程序、木马、流氓软件、逻辑炸弹等

恶意代码传播方式

文件传播
感染、文件捆绑
移动介质
网络传播
网页、电子邮件、即时通讯、漏洞
软件部署
逻辑炸弹
预留后门

恶意代码预防技术

增强安全策略与意识
减少漏洞
补丁管理
主机加固
减轻威胁
防病毒软件

间谍软件检测和删除工具
入侵检测/入侵防御系统
防火墙
路由器、应用安全设置等

恶意代码检查技术-特征码扫描

工作机制:特征匹配

病毒库(恶意代码特征库)
扫描(特征匹配过程)

优势

准确(误报率低)
易于管理

不足

效率问题(特征库不断庞大、依赖厂商)
滞后(先有病毒后有特征库,需要持续更新)

···

恶意代码检测技术-行为分析

工作机制:基于统计数据
恶意代码行为有哪些
行为符合度
优势
能检测到未知病毒
不足
误报率高
难点:病毒不可判定原则

恶意代码分析技术

静态分析
不实际执行恶意代码,直接对二进制代码进行分析
文件特性,如文件形态、版本、存储位置、长度等
文件格式,如PE信息、API调用等

动态分析
运行恶意代码并使用监控及测试软件分析
本地行为:文件读写、注册表读写等
网络行为:远程访问、调用等

恶意代码清除

感染引导区
修复/重建引导区
感染文件
附着型:逆向还原(从正常文件中删除恶意代码)
替换型:备份还原(正常文件替换感染文件)
独立文件
内存退出,删除文件
嵌入型
更新软件或系统
重置系统

基于互联网技术的恶意代码防御

恶意代码监测与预警体系
蜜罐、蜜网

恶意代码云查杀
分布式计算


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

渗透测试流程 上一篇
3D视屏房间 下一篇