本文最后更新于: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请求范例
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统一管理和控制
查询引擎、事务控制、数据存储模块/组件
结构化查询语言基础
数据库安全机制
用户标识与鉴别
授权与访问控制
数据库加密
安全审计
····
数据库安全机制-标识与鉴别
用户标识与鉴别
操作系统
数据库
第三方
用户管理策略
默认账号管理
账户锁定策略
数据库安全机制-访问控制
设置用户对不同的数据对象允许的操作权限
系统权限(数据库实例级或数据库级)
模式权限(数据库对象:表、视图等)
数据对象权限(数据对象:记录级)
数据库安全机制-数据库加密
数据库加密方式
传输加密
存储加密
数据库加密实现的机制
DBMS内层加密
DBMS外层加密
数据库安全机制-审计
数据库审计日志
数据库审计(也称标准审计)
用户级审计:安全审计员设置,用户行为审计
系统级审计:管理员设置,用户授权或系统级权限操作审计
细粒度审计
监视对数据对象的操作
数据库安全防护
检查,监控,审计
数据库安全防护-构建深度防御体系
安全机制
标识与鉴别、访问控制、传输加密、审计等
安全策略
密码策略、备份策略等
数据库安全防护-安全特性检查
数据库系统漏洞
数据库配置缺陷
数据库安全特性检查
安全配置
补丁
协议(端口、传输协议)
账号
用户名及密码
口令策略
权限
存储过程
触发器
备份
数据库安全防护-运行监控
入侵检测
数据库审计
数据库安全防护-审计
◆数据库审计关注的问题
◆审计对象(对谁进行审计)
◆标准审计(系统级、用户级)
◆细粒度审计(对象级)
◆审计内容(对什么行为进行审计)
访问数据库应用程序、位置及用户信息,包括用户操作、操作
日期与时间、操作涉及的相关数据、操作是否成功等
数据防泄露
网络安全法中对数据保护的要求
“未经被收集者同意,不得向他人提供个人信息”
“采取技术措施和其他必要措施,确保其收集的个人
信息安全,防止信息泄露、毁损、丢失。”
数据泄露防护应覆盖可能的数据外泄渠道,需要
关注的问题
什么敏感数据需要发出;
谁会发出敏感数据;
这些数据要发往哪;
使用什么协议、端口等;
违反了哪些安全策略;
讳规程度如何
什么是恶意代码
什么是恶意代码?
《中华人民共和国计算机信息系统安全保护条例》第二十八条:“计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码(1994.2.18)恶意代码,是指能够引起计算机故障,破坏计算机数据,影响计算机系统的正常使用的程序代码、指令
类型:二进制代码、脚本语言、宏语言等
表现形式:病毒、蠕虫、后门程序、木马、流氓软件、逻辑炸弹等
恶意代码传播方式
文件传播
感染、文件捆绑
移动介质
网络传播
网页、电子邮件、即时通讯、漏洞
软件部署
逻辑炸弹
预留后门
恶意代码预防技术
增强安全策略与意识
减少漏洞
补丁管理
主机加固
减轻威胁
防病毒软件
间谍软件检测和删除工具
入侵检测/入侵防御系统
防火墙
路由器、应用安全设置等
恶意代码检查技术-特征码扫描
工作机制:特征匹配
病毒库(恶意代码特征库)
扫描(特征匹配过程)
优势
准确(误报率低)
易于管理
不足
效率问题(特征库不断庞大、依赖厂商)
滞后(先有病毒后有特征库,需要持续更新)
···
恶意代码检测技术-行为分析
工作机制:基于统计数据
恶意代码行为有哪些
行为符合度
优势
能检测到未知病毒
不足
误报率高
难点:病毒不可判定原则
恶意代码分析技术
静态分析
不实际执行恶意代码,直接对二进制代码进行分析
文件特性,如文件形态、版本、存储位置、长度等
文件格式,如PE信息、API调用等
动态分析
运行恶意代码并使用监控及测试软件分析
本地行为:文件读写、注册表读写等
网络行为:远程访问、调用等
恶意代码清除
感染引导区
修复/重建引导区
感染文件
附着型:逆向还原(从正常文件中删除恶意代码)
替换型:备份还原(正常文件替换感染文件)
独立文件
内存退出,删除文件
嵌入型
更新软件或系统
重置系统
基于互联网技术的恶意代码防御
恶意代码监测与预警体系
蜜罐、蜜网
恶意代码云查杀
分布式计算
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!