第7章 应用系统安全
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机系统安全原理与技术
30
7.4.2设计阶段的安全措施
•验证安全模型的正确性 •设计整体安全机制和安全方案
(自己实现的和利用系统安全功能)
•把安全要求分解到相关模块中,
•把对数据的安全要求体现在安全数据库
的设计中
2015-3-25
计算机系统安全原理与技术
31
主控模块
过 滤 层 敏 感 模 块
2015-3-25
计算机系统安全原理与技术
28
7.3.5 网络传输安全控制
1.SSL的工作原理
一个SSL会话的建立通常需要以下基本步骤: · 客户端发送请求,与服务器建立连接。 · 服务器向浏览器发送自己的公钥和服务器证书。 · 客户端和服务器相互协商数据加密强度。 · 客户端创建一个会话密钥,该密钥用来在当前的 SSL会话 中加密数据。 · 客户端用公钥对会话密钥加密,然后将其发送给服务器。 · 服务器接到加密过的会话密钥并使用私钥解密。
在1994年2月28日颁布的《中华人 民共和国计算机信息系统安全保护 条例》中是这样定义计算机病毒的: “是指编制或者在计算机程序中插 入的破坏计算机功能或者毁坏数据, 影响计算机使用,且能自我复制的 一组计算机指令或者程序代码。”
2015-3-25
计算机系统安全原理与技术
5
2.病毒剖析
计算机病毒在结构上有着共同性, 一般由3部分组成: (1)潜伏模块/初始化、进入内存 (2)传染模块/找目标进行感染 (3)表现模块/破坏
2.为Web应用程序配置SSL
2015-3-25
计算机系统安全原理与技术
29
7.4
安全软件工程
遵照软件工程原则,在每阶段中进行安全控制。
7.4.1需求分析阶段的安全措施
•详细说明安全与保密要求;
•把安全保密分配到处理流程中;
•确定用户数据的敏感等级;
•确定安全计划,建立安全模型。
2015-3-25
2015-3-25
计算机系统安全原理与技术
14
一个完整的木马系统由三部分组成:
( 1 )硬件部分:控制端、服务端、因 特网; ( 2 )软件部分:控制端程序、木马程 序、木马配置程序; ( 3 )具体连接部分:控制端 IP 、服务 器端IP,控制端端口、木马端口 。
2015-3-25
计算机系统安全原理与技术
第7章 应用系统安全
2015-3-25
计算机系统安全原理与技术
1
本章主要内容
恶意程序 应用系统的编程安全 Web安全 安全软件工程
2015-3-25
计算机系统安全原理与技术
2
7.1 恶意程序
恶意程序(Malicious Program)其分类 如图 :
2015-3-25
计算机系统安全原理与技术
3
7.1.1 计算机病毒 第一个被检测到的病毒出现于 1986年,称为Brain(巴基斯坦智囊病 毒 ) 。这是一个驻留内存的根扇区病 毒,本无恶意的破坏和扩散意图, 但病毒代码中的小错误使磁盘文件 或文件分配表中的数据被搅乱,从 而造成数据丢失。
2015-3-25
计算机系统安全原理与技术
4
1.计算机病毒的概念
2015-3-25
计算机系统安全原理与技术
9
蠕虫的一个功能结构框架如图
2015-3-25
计算机系统安全原理与技术
10
网络蠕虫的工作机制
2015-3-25
计算机系统安全原理与技术
11
7.1.3 陷门
陷门是一个模块的未公开的秘密入口。陷门产生的原 因: • 程序员在程序开发期间故意插入用于程序调试或恶 意目的; • 为了连接未来的扩展而提供的“钩子”(HOOKS);
2015-3-25
计算机系统安全原理与技术
27
(7)禁止或删除不必要的IIS选项或相关组件 (8)禁用Content-Location标头的IP地址 (9)使用微软IIS锁定向导优化安全配置
3.Web应用程序安全控制
除了操作系统级、网络级和IIS服务器级的安 全措施外,Web应用程序、后端数据库等安全也 很重要。
2015-3-25
计算机系统安全原理与技术
38
2、实施程序开发标准 遵循程序开发标准有利于项目的持续进行, 即使项目中途换人,也不影响项目按标准完 成。 对开发安全软件的公司需要进行安全审计。 由一个独立的安全评价小组以不声张的方式 检查每一个项目。该小组检查设计、文件和 代码。这本身就是一种警告性措施。程序员 不太可能在模块中放入可疑代码。
2015-3-25
计算机系统安全原理与技术
6
3.常用反病毒技术
(1)访问控制 (2)进程监视 (3)完整性验证 (4)病毒查杀软件
2015-3-25
计算机系统安全原理与技术
7
4.反病毒技术的发展
(1)主动内核技术 (2)人工智能技术在反病毒中的应用 (3)数字免疫
2015-3-25
计算机系统安全原理与技术
2015-3-25
计算机系统安全原理与技术
23
7.3.2 客户端安全控制 保证客户端安全的第一步就是保证用 户计算机中安装的Web浏览器是安全的,不 存在任何形式的bug。同时,用户必须定期 访问Web浏览器厂商的站点,随时下载升级 或补丁程序。 1.浏览器安全 2.Cookie安全控制 3.P3P
2015-3-25
计算机系统安全原理与技术
13
7.1.4 特洛伊木马
特洛伊木马是隐藏在正常程序中完成恶意功能 的代码。特洛伊木马代码是程序员故意放在正常程 序中。有的特洛伊木马代码分散在整个程序中,有 的是在宿主程序执行后通过修改一 串指令后才形成 的,有的特洛伊木马指令则是以加密形式存放的,
只有在执行的瞬间才解密。
2015-3-25
计算机系统安全原理与技术
21
7.3 Web安全
7.3.1 Web安全概述 三类安全威胁: 1.对Web服务器的安全威胁 2.对Web客户端的安全威胁 3.对数据传输的安全威胁
2015-3-25
计算机系统安全原理与技术
22
从Web应用程序的基本体系结构方面来说,
其安全主要包括3个环节: (1)Web服务器及其存储数据的安全 ( 2 ) Web 服务器和 Web 浏览器之间的信息 传输安全 (3)用户计算机的安全
普 通 模 块
过滤 层 敏 感 模 块
普 通 模 块
安全过滤层
普通 模块
安全模块的访问控制
2015-3-25
敏 感 模 块
敏 感 模 块
32
ห้องสมุดไป่ตู้
计算机系统安全原理与技术
7.4.3编程阶段的安全控制
•按要求实现各模块的安全功能;
•组织独立人员审查模块代码;
(仔细阅读源程序)
•保护源代码不与无关人员接触。
8
7.1.2 蠕虫 早期恶意代码的主要形式是计算机病毒, 1988 年 Morris 蠕虫爆发后,人们为了区分蠕 虫和病毒,对病毒重新进行了定义。一般认 为“网络蠕虫是一种智能化、自动化,综合 网络攻击、密码学和计算机病毒技术,不需 要计算机使用者干预即可运行的攻击程序或 代码。它会扫描和攻击网络上存在系统漏洞 的节点主机,通过局域网或者国际互联网从 一个节点传播到另外一个节点”。
缓冲区溢出示意
2015-3-25
计算机系统安全原理与技术
19
7.2.2 格式化字符串
格式化串的漏洞也是源自于 C 程序中不对数组边 界进行检查的缓冲区错误。 以printf()函数为例: int printf(const char*format,agr1,agr2,……); format 的内容可能为 (%s,%d,%p,%x,%n……) ,将数 据格式化后输出。这种函数的问题在于函数printf不 能确定数据参数 arg1,arg2,……究竟在什么地方结束, 也就是说,它不知道参数的个数。printf函数只会根 据 format 中的打印格式的数目依次打印堆栈中参数 format后面地址的内容。
2015-3-25
计算机系统安全原理与技术
25
下面内容开始
2015-3-25
计算机系统安全原理与技术
26
7. 3.4 服务器安全控制 1.部署防火墙保护Web服务器 2.Web服务器安全配置
(1)IIS的安全机制 (2)主机访问控制 (3)用户身份验证 (4)Web服务器权限控制 (5)文件系统权限控制 (6)审核IIS日志记录
2015-3-25
计算机系统安全原理与技术
17
7.2.1 缓冲区溢出
简单的说,缓冲区溢出(Buffer Overflow) 就是通过在程序的缓冲区写入超出其长度的 内容,从而破坏程序的堆栈,使程序转而执 行其他指令,以达到攻击的目的。
2015-3-25
计算机系统安全原理与技术
18
代码区 缓 数据区 冲 用户 区 堆栈区 系统堆栈区 系统区
2015-3-25
计算机系统安全原理与技术
37
7.4.6 行政管理控制
1、指定程序开发标准 1)设计标准:专用设计工具、语言或方法的使 用; 2)文件、语言和编码风格的标准; 3)编程标准,包括强制性的程序员对等检查, 以及对程序的正 确性和与标准的一致性进行周期性的代码审查; 4)测试标准,验证技术、独立测试、测试结果 的存档备查; 5)配置管理标准:控制对成品程序的访问与修 改;
2015-3-25
计算机系统安全原理与技术
24
7. 3.3 脚本程序安全控制 1.脚本语言 目前常用的脚本语言有: PHP ( 超文 本 预 处 理 器 ) 、 ASP( 活 动 服 务 器 页 面 ) 和 Perl(Practical Extraction and Reporting Language,实用抽取和报告语言)等 。 2.网页恶意代码
2015-3-25
计算机系统安全原理与技术
36
2、可以防止程序被恶意修改:一旦一个程序 检查后被管理部门接受,且用于系统,程序 员便无法再偷偷摸摸进行地进行微妙地修改。 由于有管理部门监督检查,修改者会处处留 心违反安全的事件发生。 为了对修改进行可懂和可审计的控制,配 置部门只接受在源程序级别上的修改:语句 的插入、删除和替换。管理部门保存原始源 程序及各个版本的单个修改指令。
15
木马入侵,大致可分为六步:
(1)配置木马 (2)传播木马 (3)运行木马 (4)信息反馈 (5)建立连接 (6)远程控制
2015-3-25
计算机系统安全原理与技术
16
7.2 应用系统的编程安全
在 1988 年 11 月,世界上出现了第一个针对缓 冲 区 溢 出 的 攻 击 —— 名 为 Robert T.Morris 的 finger 蠕 虫 病 毒 , 它 利 用 了 VAX 机 上 的 BSD UNIX 的一个实用程序 finger 的缓冲区溢出错误, 成功入侵了 Internet 上数以百计的主机,致使全 世界大约 10% 的 Internet 崩溃。事实上,目前网 络上的恶意攻击有一半以上是利用了缓冲区溢出 的漏洞。
到批准; •对修改后的源程序需要再审查; •由配置管理机构自己对源代码编译生成目 标代码,防止引入不安全功能。
2015-3-25
计算机系统安全原理与技术
35
配置管理在安全上的好处: 1、可以防止非故意威胁 保护程序和文件的完整性是采用配置管理 的主要安全动机。因为所有修改只能在配置管 理部门同意后才能进行,对所有修改的副作用 做了仔细地评估。 由于程序的各个版本都已保存,可以追踪 到错误的修改。
• 为了在程序出错后,了解模块内部各变量的状况;
2015-3-25
计算机系统安全原理与技术
12
•为了在程序出错后,了解模块内部各变量的状况;
稍大一点程序一般都由若干个模块组成,调试期间
为了跟踪程序运行踪迹,常常在各个模块内部插入
一些调试语句,以打印或显示的方式透视变量的取
值情况,调试结束后,由未将这些语句去掉,形成 了陷门。 在硬件处理器中并非所有操作码都有相应的指令码, 这些未定义指令可能成为操作处理器的陷门。
2015-3-25
计算机系统安全原理与技术
20
7.2.3 安全编程
编写正确的代码虽然可以在一定的程 度上减少程序的安全问题。但是这是一项 耗时的工作,而且它只能在一定的程度上 减少缓冲区溢出的可能。
因此在注意编码的同时,也需要用其他的安全 手段来保证系统的安全。
1.缓冲区检测技术 2.数组边界检查 3.程序指针完整性检查
2015-3-25
计算机系统安全原理与技术
33
7.4.4测试阶段安全控制
•测试各模块安全功能,最好通过第三方独立
测试;
•根据安全要求综合测试程序与运行环境;
•组织安全专业人员进行攻击性测试。
2015-3-25
计算机系统安全原理与技术
34
7.4.5运行维护阶段的安全控制
•成立软件配置管理机构
•对提交运行的软件,对其任何修改必须得