软件安全基础课件(PPT 49张)
合集下载
计算机安全基本知识讲义(PPT 46张)
U盘、ARP和网页挂马
2007年大多数病毒会同时利用多种方式传播,其中感染U 盘、利用ARP方式感染局域网和网页挂马,成为其中最流 行的三种途径。而且,这三者往往位于同一病毒的不同传 播环节,有相互补充的作用,可以有效提高病毒的传播范 围和能力。
信息安全防护
数据备份 数据不要放在系统区 Ghost 防御系统 杀毒软件+个人防火墙 系统快速重装 ghost 数据恢复 Easy recovery
此定义具有法律性、权威性。
病毒的特征
(1)非授权可执行性 (2)隐蔽性 (3)传染性 (4)潜伏性 (5)表现性或破坏性 (6)可触发性
计算机病毒的类型 (1)引导型病毒 引导型病毒又称操作系统型病毒,主要寄生在硬 盘的主引导程序中,当系统启动时进入内存,伺 机传染和破坏。典型的引导型病毒有大麻病毒、 小球病毒等。 (2)文件型病毒 文件型病毒一般感染可执行文件(.com或.exe)。 在用户调用染毒的可执行文件时,病毒首先被运 行,然后驻留内存传染其他文件。如CIH病毒。
办公软件Windows
计算机基本知识
计算机基础知识
电子计算机的诞生是科学技术发展史上一个重要的里程碑,也 是20世纪人类最伟大的发明创造之一。计算机技术的普及程度 和应用水平已经成为衡量一个国家或地区现代化程度的重要标志。
1、计算机安全
1、计算机病毒的概念 2、病毒的特征 3、计算机病毒的类型 4、病毒的安全防范
与病毒相关的几个名词
黑客Hacker 木马Trojan 蠕虫Worm 垃圾邮件Spam email 流氓软件Hooligan software 。。。
黑客Hacker
黑客(hacker),源于英语动词hack,意为“劈,砍”, 引申为“干了一件非常漂亮的工作”。 “黑客”,原指那些掌握高级硬件和软件知识、能剖析系 统的人,但现在已变成了网络犯罪代名词,指利用计算机 技术、网络技术,非法侵入、干扰、破坏他人计算机系统, 或擅自操作、使用、窃取他人的计算机信息资源,对电子 信息交流和网络实体安全具有威胁性和危害性的人。
计算机安全培训讲义(PPT 43张)
例如“QQ木马”病毒:该病毒隐藏在用户的系统中,发作时寻找QQ窗口,给在 线上的QQ好友发送诸如“快去看看,里面有……好东西”之类的假消息,诱 惑用户点击一个网站,如果有人信以为真点击该链接的话,就会被病毒感染, 然后成为毒源,继续传播。
12
5.3 计算机病毒的防治
“预防为主,防治结合” 5.3.1 预防措施:
5.1.3 “黑客”
所谓“黑客”其实是计算机界的精英,他们掌握最高水 平的计算机技术,精通程序编制与调试的“秘密”, 能探究软件存在的小小漏洞,是一群亦正亦邪之人。 黑客世界里把这些业界精英划分为三种类型: 1.白帽子:精通攻击与防御,具有信息安全体系的宏观 意识。 2.黑帽子:擅长攻击技术,一般不轻易破坏攻击对象 系统。 3.灰帽子:研究攻击技术唯一的目的就是要惹是生非。
计算机基础
第5讲计算机安全
本讲要点
计算机安全常识 安全定义、范围、安全因素 计算机病毒(本讲重点) 病毒概念、特点 计算机病毒的防治 各种病毒防治方法 计算机安全技术(本讲难点) 防火墙技术、加密技术、用户授权访问技术
2
5.1 计算机安全概述
所谓计算机安全,国际标准化委员会的定义为:“为
数据处理系统建立和采取的技术的和管理的安全保护, 保护计算机硬件、软件、数据不因偶然的或恶意的原 因而遭破坏、更改、显露”。 计算机安全包括信息安全和网络安全两大部分,信息 安全是指对信息的保密性、完整性和可用性的保护, 而网络安全性的是对网络信息保密性、完整性和可用 性的保护。
2)使用病毒专杀工具
14
3)手动清除病毒
手动清除方法适用于对计算机的操作相当熟练,具有一定计算机专业知识的用 户,利用病毒程序自启动的特点,可以在“开始/运行”下输入“regedit”打开注册 表编辑程序,查看 “HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”以及 “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run”目录下是 否有非法自动运行的程序,有的话就可以手动删除这些病毒程序项,并找到对应的病 毒文件手动将其物理删除。 例如“新欢乐时光(VBS.KJ)”,该病毒在系统的System32文件夹中生成 inet.vxd 和 setup.txt 两个文件,在所有检测到的文件夹下生成Desktop.ini和Folder.htt 两个 具 有 隐 藏 属 性 的 文 件 , 在 \%Windows%\web 和 \%Windows%\System32 文 件 夹 下 生 成 kjwall.gif ,在 \%Windows%\System 文件夹下生成 Kernel.dll 或 Kernel32.dll 文件。 该病毒主要通过电子邮件或文件进行传播。病毒发作后将消耗大量系统资源,使机器 的运行速度变慢。下面是手工清除该病毒的方法: ① 单 击 “ 开 始 | 运 行 ” , 输 入 regedit 命 令 打 开 注 册 表 编 辑 器 , 找 到 HKEY_LOCAL_MACHINE\Software\Windows\CurrentVersion\Run\ 中的 Kernel32 项并 将其删除,使病毒无法随系统自动启动; ② 删除系统中System32文件夹中的 inet.vxd 和 setup.txt 两个文件。 ③ 删除在System文件夹中的Kernel.dll或Kernel32.dll文件。 ④ 利用系统中的“搜索”工具找到所有隐藏的“ desktop.ini” 和“ folder.htt” 文 件并将其彻底删除。
第六章软件安全技术
➢ 是一切攻击行为和事件的起源。
6.2 漏洞
漏洞的分类
➢ 按形成原因分:
✓程序逻辑结构漏洞 ✓程序设计错误漏洞 ✓开放式协议造成的漏洞 ✓人为因素造成的漏洞
➢ 按发现的先后顺序:
✓已知漏洞 ✓未知漏洞 ✓0day漏洞
6.2 漏洞
程序逻辑结构漏洞
➢ 程序的逻辑设计不合理
✓典型:Windows 2000用户登录的中文输入法漏洞
补充
补充
转储文件
➢ 系统在遇到严重问题时,会把内存中的数据保存 到转储文件。
➢ 禁止创建转储文件
✓“控制面板”→“系统” → “高级” → “启动和故 障恢复”,将“写入调试信息”这一栏设置成 “(无)”。
✓HKEY_local_machine\software\Microsoft\ WindowsNT\CurrentVersion\AeDebug,把Auto 值改成“0”。
✓分成:登录权限、操作权限 ✓权限是针对资源而言的
➢ 安全标识符
✓Security Identifier, SID ✓SID具有唯一性,绝对不会重复产生 ✓Regedit:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows NT\CurrentVersion\ProfileList
✓增加了攻击途径,降低了攻击难度
➢ 增长的系统复杂性
✓滋生了软件安全漏洞
➢ 内置的可扩展性
✓难以防范恶意代码的嵌入,且安全分析难度增加
Windows操作系统复杂性
6.2 漏洞
6.2 漏洞
6.2 漏洞
什么是漏洞
➢ 从广泛的意义上看,漏洞是在硬件、软件、协议 的具体实现或系统安全策略以及人为因素上存在 的缺陷,它可以使黑客能够在未经系统的许可者 授权的情况下访问或破坏系统。
6.2 漏洞
漏洞的分类
➢ 按形成原因分:
✓程序逻辑结构漏洞 ✓程序设计错误漏洞 ✓开放式协议造成的漏洞 ✓人为因素造成的漏洞
➢ 按发现的先后顺序:
✓已知漏洞 ✓未知漏洞 ✓0day漏洞
6.2 漏洞
程序逻辑结构漏洞
➢ 程序的逻辑设计不合理
✓典型:Windows 2000用户登录的中文输入法漏洞
补充
补充
转储文件
➢ 系统在遇到严重问题时,会把内存中的数据保存 到转储文件。
➢ 禁止创建转储文件
✓“控制面板”→“系统” → “高级” → “启动和故 障恢复”,将“写入调试信息”这一栏设置成 “(无)”。
✓HKEY_local_machine\software\Microsoft\ WindowsNT\CurrentVersion\AeDebug,把Auto 值改成“0”。
✓分成:登录权限、操作权限 ✓权限是针对资源而言的
➢ 安全标识符
✓Security Identifier, SID ✓SID具有唯一性,绝对不会重复产生 ✓Regedit:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows NT\CurrentVersion\ProfileList
✓增加了攻击途径,降低了攻击难度
➢ 增长的系统复杂性
✓滋生了软件安全漏洞
➢ 内置的可扩展性
✓难以防范恶意代码的嵌入,且安全分析难度增加
Windows操作系统复杂性
6.2 漏洞
6.2 漏洞
6.2 漏洞
什么是漏洞
➢ 从广泛的意义上看,漏洞是在硬件、软件、协议 的具体实现或系统安全策略以及人为因素上存在 的缺陷,它可以使黑客能够在未经系统的许可者 授权的情况下访问或破坏系统。
软件安全基础课件
Any – Web Server: 80
Firewall only allows applications on the web server to talk to application server.
Firewall only allows application server to talk to database server.
trustyourcode软件安全越来越严重的原因?为什么软件安全问题日益增长?黑客攻击方式的进化?传统的分层保护方案减轻系统的风险?为什么传统的基于网络的方案不工作?黑客可直接利用软件的弱点达到攻击系统?演示如何通过攻击软件达到窃取商业信息和破坏应用系统
软件安全基础课件
主题
• 基本概念. • 软件安全的重要性. • 分析软件安全越来越严重的原因和根源. • 解决软件安全问题的措施和方法.
软件安全漏洞的发展趋势
CERT 2006年的报告
Why?
• 我们的钱花在哪儿 去了?
• 为什么我们的安全 工作毫无效果?
传统信息安全的方法和投资 方向
软件安全在信息安全中的重要地位
The experts are telling us: we have a SOFTWARE problem
“Over 70% of security vulnerabilities exist at the application layer, not the network layer. It’s not just operating systems or web browsers, but all types of applications - particularly applications that automate key business processes.”
Firewall only allows applications on the web server to talk to application server.
Firewall only allows application server to talk to database server.
trustyourcode软件安全越来越严重的原因?为什么软件安全问题日益增长?黑客攻击方式的进化?传统的分层保护方案减轻系统的风险?为什么传统的基于网络的方案不工作?黑客可直接利用软件的弱点达到攻击系统?演示如何通过攻击软件达到窃取商业信息和破坏应用系统
软件安全基础课件
主题
• 基本概念. • 软件安全的重要性. • 分析软件安全越来越严重的原因和根源. • 解决软件安全问题的措施和方法.
软件安全漏洞的发展趋势
CERT 2006年的报告
Why?
• 我们的钱花在哪儿 去了?
• 为什么我们的安全 工作毫无效果?
传统信息安全的方法和投资 方向
软件安全在信息安全中的重要地位
The experts are telling us: we have a SOFTWARE problem
“Over 70% of security vulnerabilities exist at the application layer, not the network layer. It’s not just operating systems or web browsers, but all types of applications - particularly applications that automate key business processes.”
软件安全-软件安全的架构和设计2PPT优秀课件
第四章 安全 软件的架构与设计 7
2 概要设计的内容:
(2)软件结构的总体设计:从系统开发的角度看 ,需求分析已经完成了部分功能设计,即将系统按 功能进行了逐层分解,使每一部分完成简单的功能 ,且各个部分又保持一定的联系,还要把该层次结 构的各个部分组合起来形成统一的系统。包括:采 用某种设计方法,将一个复杂的系统按功能划分为 模块的层次结构;确定各个模块的功能,建立模块 与功能的对应关系;确定模块间的调用关系和接口 (模块间传递的信息)关系;设计接口的信息结构 ;评估模块的划分质量,导出模块结构规则;
第四章 安全 软件的架构与设计 12
第四章 安全 软件的架构与设计 2
4.1.1 软件设计概念
人们经过多年的实践,总结和发展了许多软件的设 计概念和经验,成为软件设计人员设计复杂应用问 题时应该遵循的基础。
我们前面已经学习了需求分析,明确了用户的需求 ,但那都是软件的需求,而不是软件(也可以说是 从用户角度描述,而不是从软件开发人员角度描述 问题),这一节就是要将计算机软件需求变为软件 表示,那么什么是软件表示?如何实现这一变换? 这是这一节要解决的主要问题。
(2)从软件工程管理的观点上看可分为概要设计 和详细设计两个部分:概要设计是将软件的需求转 化为数据结构和软件的系统结构;详细设计是软件 结构表示的细化,得到软件的详细数据结构表达和 具体算法描述。
第四章 安全 软件的架构与设计 5
1 软件设计划分的形式:
(3)从设计的技术内容上看可分为数据设计、结 构设计和过程设计:从信息流技术包含的设计内容 上看,软件设计是根据软件的功能、性能需求和用 户其它要求,采用某种设计方法进行数据设计、系 统结构设计和过程设计。数据设计侧重于数据结构 的定义,系统结构设计侧重于定义软件系统各主要 成分之间的关系,过程设计则是把软件结构成分转 换成过程性描述。
2 概要设计的内容:
(2)软件结构的总体设计:从系统开发的角度看 ,需求分析已经完成了部分功能设计,即将系统按 功能进行了逐层分解,使每一部分完成简单的功能 ,且各个部分又保持一定的联系,还要把该层次结 构的各个部分组合起来形成统一的系统。包括:采 用某种设计方法,将一个复杂的系统按功能划分为 模块的层次结构;确定各个模块的功能,建立模块 与功能的对应关系;确定模块间的调用关系和接口 (模块间传递的信息)关系;设计接口的信息结构 ;评估模块的划分质量,导出模块结构规则;
第四章 安全 软件的架构与设计 12
第四章 安全 软件的架构与设计 2
4.1.1 软件设计概念
人们经过多年的实践,总结和发展了许多软件的设 计概念和经验,成为软件设计人员设计复杂应用问 题时应该遵循的基础。
我们前面已经学习了需求分析,明确了用户的需求 ,但那都是软件的需求,而不是软件(也可以说是 从用户角度描述,而不是从软件开发人员角度描述 问题),这一节就是要将计算机软件需求变为软件 表示,那么什么是软件表示?如何实现这一变换? 这是这一节要解决的主要问题。
(2)从软件工程管理的观点上看可分为概要设计 和详细设计两个部分:概要设计是将软件的需求转 化为数据结构和软件的系统结构;详细设计是软件 结构表示的细化,得到软件的详细数据结构表达和 具体算法描述。
第四章 安全 软件的架构与设计 5
1 软件设计划分的形式:
(3)从设计的技术内容上看可分为数据设计、结 构设计和过程设计:从信息流技术包含的设计内容 上看,软件设计是根据软件的功能、性能需求和用 户其它要求,采用某种设计方法进行数据设计、系 统结构设计和过程设计。数据设计侧重于数据结构 的定义,系统结构设计侧重于定义软件系统各主要 成分之间的关系,过程设计则是把软件结构成分转 换成过程性描述。
软件和应用系统安全管理ppt课件
13.1.2 软件安全管理的措施
❖ 提高知识产权意识,需要对软件使用者进行为什 么必须慎重地对待软件的教育。
❖ 一个软件的特许只授予使用者使用软件的权力, 并不是授予使用者拥有软件的权力,
❖ 单位是软件的使用管理者,因此单位有责任保护 软件的知识产权,强调这一点,在我国有着重要 的意义。
❖ 软件的安全性和可靠性与软件的使用管理有关。 软件的安全管理必须贯穿于软件使用的全过程。
13.1.3 软件的选型、购置与储藏
❖ 2.软件选型、购置与储藏的实施 ❖ 从理论上来讲,需要一个标准的软件选型和购置
过程,该过程应该包括下列步骤中一部分或全部。 ❖ (1)软件选购过程 ❖ 软件使用者从业务角度提出所需软件的采购请求; ❖ 软件使用者所在部门的主管从业务的角度正式批
准这个采购请求。
❖ 为了发挥软件的效益,必须在软件的整个使用期 间(包括软件的购置、安装、储藏、获得、使用 和处理)进行有效的管理。
❖ 软件安全管理的目的就是要确保软件的可靠性和 安全性,
❖ 保证所有的软件是合法的,符合版权法和软件特 许协议,
❖ 保证使用这些软件的系统的安全性。
资金是运动的价值,资金的价值是随 时间变 化而变 化的, 是时间 的函数 ,随时 间的推 移而增 值,其 增值的 这部分 资金就 是原有 资金的 时间价 值
资金是运动的价值,资金的价值是随 时间变 化而变 化的, 是时间 的函数 ,随时 间的推 移而增 值,其 增值的 这部分 资金就 是原有 资金的 时间价 值
13.1.2 软件安全管理的措施
❖ 要进行软件安全管理就必须制定有效的软件管理 政策。每一个与计算机有关的单位都应制定一项 或多项软件管理政策。
❖ ② 业务需要文件。很明显,任何单位都想购买 对推进业务有帮助的软件。
❖ 提高知识产权意识,需要对软件使用者进行为什 么必须慎重地对待软件的教育。
❖ 一个软件的特许只授予使用者使用软件的权力, 并不是授予使用者拥有软件的权力,
❖ 单位是软件的使用管理者,因此单位有责任保护 软件的知识产权,强调这一点,在我国有着重要 的意义。
❖ 软件的安全性和可靠性与软件的使用管理有关。 软件的安全管理必须贯穿于软件使用的全过程。
13.1.3 软件的选型、购置与储藏
❖ 2.软件选型、购置与储藏的实施 ❖ 从理论上来讲,需要一个标准的软件选型和购置
过程,该过程应该包括下列步骤中一部分或全部。 ❖ (1)软件选购过程 ❖ 软件使用者从业务角度提出所需软件的采购请求; ❖ 软件使用者所在部门的主管从业务的角度正式批
准这个采购请求。
❖ 为了发挥软件的效益,必须在软件的整个使用期 间(包括软件的购置、安装、储藏、获得、使用 和处理)进行有效的管理。
❖ 软件安全管理的目的就是要确保软件的可靠性和 安全性,
❖ 保证所有的软件是合法的,符合版权法和软件特 许协议,
❖ 保证使用这些软件的系统的安全性。
资金是运动的价值,资金的价值是随 时间变 化而变 化的, 是时间 的函数 ,随时 间的推 移而增 值,其 增值的 这部分 资金就 是原有 资金的 时间价 值
资金是运动的价值,资金的价值是随 时间变 化而变 化的, 是时间 的函数 ,随时 间的推 移而增 值,其 增值的 这部分 资金就 是原有 资金的 时间价 值
13.1.2 软件安全管理的措施
❖ 要进行软件安全管理就必须制定有效的软件管理 政策。每一个与计算机有关的单位都应制定一项 或多项软件管理政策。
❖ ② 业务需要文件。很明显,任何单位都想购买 对推进业务有帮助的软件。
软件和应用系统安全管理PPT课件
❖ 软件和信息很容易受到电脑病毒、网络蠕虫、特 洛伊木马和逻辑炸弹等攻击性软件的侵害。
❖ 因此要保证软件的安全,就必须防范上述各类软 件的入侵。
.
4
13.1.2 软件安全管理的措施
❖ 软件管理是一项十分重要的工作,应当建立专门 的软件管理机构,从事软件管理工作。
❖ 软件管理包括法制管理、经济管理及安全管理等 各个方面,各方面的管理是相互联系的,彼此影 响,因此各项管理需要综合进行。
.
7
13.1.2 软件安全管理的措施
❖ 提高知识产权意识,需要对软件使用者进行为什 么必须慎重地对待软件的教育。
❖ 一个软件的特许只授予使用者使用软件的权力, 并不是授予使用者拥有软件的权力,
❖ 单位是软件的使用管理者,因此单位有责任保护 软件的知识产权,强调这一点,在我国有着重要 的意义。
❖ 软件的安全性和可靠性与软件的使用管理有关。 软件的安全管理必须贯穿于软件使用的全过程。
到使用中的安全性,因此应选用可靠性和可
维护性高的软件。 .
15
13.1.3 软件的选型、购置与储藏
❖(6)软件的性价比 ❖软件的性能价格比于整个具体的软
件的购置、开发、使用费用有着密 切的关系。 ❖购置、开发和使用费用包括购买软 件费用,购买后的开发、维护费用 等。
.
16
13.1.3 软件的选型、购置与储藏
.
8
13.1.2 软件安全管理的措施
❖ 在选购软件时必须认真地从经济、技术等 诸多角度对软件选型及购置进行审查。
❖ 在软件使用过程中,必须随时对软件进行 安全检测和安全审查,
❖ 同时进行安全性跟踪,必须对软件进行经 常性的定期维护,以保证软件的正常使用。
.
❖ 因此要保证软件的安全,就必须防范上述各类软 件的入侵。
.
4
13.1.2 软件安全管理的措施
❖ 软件管理是一项十分重要的工作,应当建立专门 的软件管理机构,从事软件管理工作。
❖ 软件管理包括法制管理、经济管理及安全管理等 各个方面,各方面的管理是相互联系的,彼此影 响,因此各项管理需要综合进行。
.
7
13.1.2 软件安全管理的措施
❖ 提高知识产权意识,需要对软件使用者进行为什 么必须慎重地对待软件的教育。
❖ 一个软件的特许只授予使用者使用软件的权力, 并不是授予使用者拥有软件的权力,
❖ 单位是软件的使用管理者,因此单位有责任保护 软件的知识产权,强调这一点,在我国有着重要 的意义。
❖ 软件的安全性和可靠性与软件的使用管理有关。 软件的安全管理必须贯穿于软件使用的全过程。
到使用中的安全性,因此应选用可靠性和可
维护性高的软件。 .
15
13.1.3 软件的选型、购置与储藏
❖(6)软件的性价比 ❖软件的性能价格比于整个具体的软
件的购置、开发、使用费用有着密 切的关系。 ❖购置、开发和使用费用包括购买软 件费用,购买后的开发、维护费用 等。
.
16
13.1.3 软件的选型、购置与储藏
.
8
13.1.2 软件安全管理的措施
❖ 在选购软件时必须认真地从经济、技术等 诸多角度对软件选型及购置进行审查。
❖ 在软件使用过程中,必须随时对软件进行 安全检测和安全审查,
❖ 同时进行安全性跟踪,必须对软件进行经 常性的定期维护,以保证软件的正常使用。
.
软件安全ppt
16
国家漏洞库漏洞数量统计
软件安全问题产生-内因
❖ 内因
▪ 软件规模增大,功能越来越多,越来越复杂 ▪ 软件模块复用,导致安全漏洞延续 ▪ 软件扩展模块带来的安全问题
Windows操作系统不同版本源代码数量
17
软件安全问题产生-外因
❖ 互联网发展对软件安全的挑战 ❖ 开发环境和开发人员对软件安全的挑战
▪ 确保软件能够按照开发者预期、正常地执行任务, 提供与威胁相适应的安全能力,从而避免存在可以 被利用的安全漏洞,并且能从被入侵和失败的状态 中恢复。
❖ 软件安全保障的思路
▪ 通过在软件开发生命周期各阶段采取必要的、相适 应的安全措施来避免绝大多数的安全漏洞
采取措施只能有效减少, 但并不能完全杜绝所有
软件安全开发
版本:4.0
讲师姓名 机构名称
课程内容
软件安全开发
知识域
软件安全开发生命周期 软件安全需求及设计
软件安全实现 软件安全测试 软件安全开发重要管理过程
知识子域
2
知识子域:软件安全开发生命周期
❖ 软件开发概念及特点
▪ 了解软件相关的基本概念及软件的特点; ▪ 理解软件开发的特点;
❖ 软件危机
9
知识子域:软件安全开发生命周期
❖ 软件生命周期模型
▪ 了解典型的软件开发生命周期模型的特点,包括瀑 布模型、迭代模型、增量模型、快速原型模型、螺 旋模型、净室模型;
❖ 软件安全保障
▪ 了解软件安全和软件安全保障的基本概念; ▪ 理解软件安全开发的必要性; ▪ 理解软件安全问题增加的原因; ▪ 了解软件安全问题相关的几个术语的概念。
5
软件安全重要性 – 软件危机
❖第一次“软件危机”- 20世纪60年代
国家漏洞库漏洞数量统计
软件安全问题产生-内因
❖ 内因
▪ 软件规模增大,功能越来越多,越来越复杂 ▪ 软件模块复用,导致安全漏洞延续 ▪ 软件扩展模块带来的安全问题
Windows操作系统不同版本源代码数量
17
软件安全问题产生-外因
❖ 互联网发展对软件安全的挑战 ❖ 开发环境和开发人员对软件安全的挑战
▪ 确保软件能够按照开发者预期、正常地执行任务, 提供与威胁相适应的安全能力,从而避免存在可以 被利用的安全漏洞,并且能从被入侵和失败的状态 中恢复。
❖ 软件安全保障的思路
▪ 通过在软件开发生命周期各阶段采取必要的、相适 应的安全措施来避免绝大多数的安全漏洞
采取措施只能有效减少, 但并不能完全杜绝所有
软件安全开发
版本:4.0
讲师姓名 机构名称
课程内容
软件安全开发
知识域
软件安全开发生命周期 软件安全需求及设计
软件安全实现 软件安全测试 软件安全开发重要管理过程
知识子域
2
知识子域:软件安全开发生命周期
❖ 软件开发概念及特点
▪ 了解软件相关的基本概念及软件的特点; ▪ 理解软件开发的特点;
❖ 软件危机
9
知识子域:软件安全开发生命周期
❖ 软件生命周期模型
▪ 了解典型的软件开发生命周期模型的特点,包括瀑 布模型、迭代模型、增量模型、快速原型模型、螺 旋模型、净室模型;
❖ 软件安全保障
▪ 了解软件安全和软件安全保障的基本概念; ▪ 理解软件安全开发的必要性; ▪ 理解软件安全问题增加的原因; ▪ 了解软件安全问题相关的几个术语的概念。
5
软件安全重要性 – 软件危机
❖第一次“软件危机”- 20世纪60年代
《软件安全》复习PPT
Section ... 5.3 Section n
22
3C处的值:000000B0 指向PE文件头开始位置
23
1)字串 “PE\0\0”
Signature 一dword类型,值为50h, 45h, 00h, 00h(PE\0\0)。
本域为PE标记,可以此识别给定文件是否为有效 PE文件。
26
几个概念-1
ImageBase: PE文件在内存中的优先装载地址。
RVA地址:
Relative Virtual Address,相对虚拟地址,它是相对内存中 ImageBase的偏移位置。
27
几个概念-2
对齐粒度
比喻:桶的容量为100升,现有367升水,请问需要使用多少个桶?
20
16进制文件编辑工具-UltraEdit
UltraEdit:可对目标文件进行16进制查 看和修改。
21
3 PE文件格式总体结构
1.DOS MZ header 2.DOS stub 3.PE header
4.Section table 5-1 Section 1 5-2 Section 2
37
4.1.2.2 修改邻接变量
观察如图4-4所示程序源代 码,当代码执行到int verify_password(char *password)时,栈帧状态 如右图所示。
当输入口令超过7个字符, 越界字符ASCII码会修改掉 authenticated的值,进而 绕过密码验证程序。
38
程序在内存中的映像
Safety
自然的,物理的,相对具体的 如房屋、桥梁、大坝…
Security
社会的,人为的,相对抽象的 如食品、软件…
22
3C处的值:000000B0 指向PE文件头开始位置
23
1)字串 “PE\0\0”
Signature 一dword类型,值为50h, 45h, 00h, 00h(PE\0\0)。
本域为PE标记,可以此识别给定文件是否为有效 PE文件。
26
几个概念-1
ImageBase: PE文件在内存中的优先装载地址。
RVA地址:
Relative Virtual Address,相对虚拟地址,它是相对内存中 ImageBase的偏移位置。
27
几个概念-2
对齐粒度
比喻:桶的容量为100升,现有367升水,请问需要使用多少个桶?
20
16进制文件编辑工具-UltraEdit
UltraEdit:可对目标文件进行16进制查 看和修改。
21
3 PE文件格式总体结构
1.DOS MZ header 2.DOS stub 3.PE header
4.Section table 5-1 Section 1 5-2 Section 2
37
4.1.2.2 修改邻接变量
观察如图4-4所示程序源代 码,当代码执行到int verify_password(char *password)时,栈帧状态 如右图所示。
当输入口令超过7个字符, 越界字符ASCII码会修改掉 authenticated的值,进而 绕过密码验证程序。
38
程序在内存中的映像
Safety
自然的,物理的,相对具体的 如房屋、桥梁、大坝…
Security
社会的,人为的,相对抽象的 如食品、软件…
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fortify Software Inc.
第 7页
Know your code. Trust your code
软件安全漏洞的发展趋势
Fortify Software Inc.
第 8页
Know your code. Trust your code
CERT 2006年的报告
Fortify Software Inc.
第 9页
Know your code. Trust your code
Why?
• 我们的钱花在哪儿 去了?
• 为什么我们的安全 工作毫无效果?
Fortify Software Inc.
第 6页
Know your code. Trust your code
分析机构的最近统计
In 2004, average time from vulnerability announcement to 1st attack = 5.8 days (99 days, 2003) 532% increase in CERT incidents reported (2000-2003) 43% report an increase in e-crimes and intrusions versus previous year On average, 48 new vulnerabilities per week were disclosed in 1H04These four factoids are just a sampling of results found by the FBI, Carnegie Mellon’s SEI CERT Coordination Center (an industry body that focuses on alerting corporations of security vulnerabilities), and Symantec in its 5th Internet Security Threat Report (Jan - June 2004).
Know your code. Trust your code
软件安全基础 -DevelopSecuritySoftware
Fortify Software Inc.
第 1页
主
• • • •
题
Know your code. Trust your code
基本概念. 软件安全的重要性. 分析软件安全越来越严重的原因和根源. 解决软件安全问题的措施和方法.
第 4页
Know your code. Trust your code
信息安全的期望
• 在原理上: 我们花更多钱去降低的安全事件和安全利用,以 此来帮助我们:
info-sec spending ($)
保护我们的业务不会被恶义的家伙破坏”
incidents & exploits (#)
“Over 70% of security vulnerabilities exist at the application layer, not the network layer. It’s not just operating systems or web browsers, but all types of applications - particularly applications that automate key business processes.”
第10页
传统信息安全的方法和投资 方向
Know your code. Trust your code
Fortify Software Inc.全中的重要地位
The experts are telling us: we have a SOFTWARE problem
impact ($40B)
info-sec spending ($17B)
breaches grow dramatically - seriously impacting: uptime, regulatory compliance, liability, brand and reputation
Fortify Software Inc.
限制责任和义务,满足法规和标准
避免对公司品牌和声誉造成破坏
Fortify Software Inc.
第 5页
信息安全的现状
Know your code. Trust your code
• 然而在事实上: 我们每年都花了数百万的资金在信息安全 上,但是效果并不如意,我们遭遇的安全问题越来越多.
Fortify Software Inc.
第 3页
Know your code. Trust your code
软件安全的重要性
• • • • 信息安全的期望 信息安全的现状 软件安全漏洞的发展趋势 传统解决信息安全的努力和投资方向
• 软件安全在信息安全中的重要地位
Fortify Software Inc.
Fortify Software Inc.
第 2页
基本概念
Know your code. Trust your code
• 软件安全的定义:在软件受到恶意的攻击下,软件 能够正常运行(功能/性能) • 软件安全课题:了解产生软件安全的风险并怎样去 管理他们: “ Building secure software: designing software to be secure, make sure that software is secure ,educating software developers ,architects and users about how to build security in”
第 7页
Know your code. Trust your code
软件安全漏洞的发展趋势
Fortify Software Inc.
第 8页
Know your code. Trust your code
CERT 2006年的报告
Fortify Software Inc.
第 9页
Know your code. Trust your code
Why?
• 我们的钱花在哪儿 去了?
• 为什么我们的安全 工作毫无效果?
Fortify Software Inc.
第 6页
Know your code. Trust your code
分析机构的最近统计
In 2004, average time from vulnerability announcement to 1st attack = 5.8 days (99 days, 2003) 532% increase in CERT incidents reported (2000-2003) 43% report an increase in e-crimes and intrusions versus previous year On average, 48 new vulnerabilities per week were disclosed in 1H04These four factoids are just a sampling of results found by the FBI, Carnegie Mellon’s SEI CERT Coordination Center (an industry body that focuses on alerting corporations of security vulnerabilities), and Symantec in its 5th Internet Security Threat Report (Jan - June 2004).
Know your code. Trust your code
软件安全基础 -DevelopSecuritySoftware
Fortify Software Inc.
第 1页
主
• • • •
题
Know your code. Trust your code
基本概念. 软件安全的重要性. 分析软件安全越来越严重的原因和根源. 解决软件安全问题的措施和方法.
第 4页
Know your code. Trust your code
信息安全的期望
• 在原理上: 我们花更多钱去降低的安全事件和安全利用,以 此来帮助我们:
info-sec spending ($)
保护我们的业务不会被恶义的家伙破坏”
incidents & exploits (#)
“Over 70% of security vulnerabilities exist at the application layer, not the network layer. It’s not just operating systems or web browsers, but all types of applications - particularly applications that automate key business processes.”
第10页
传统信息安全的方法和投资 方向
Know your code. Trust your code
Fortify Software Inc.全中的重要地位
The experts are telling us: we have a SOFTWARE problem
impact ($40B)
info-sec spending ($17B)
breaches grow dramatically - seriously impacting: uptime, regulatory compliance, liability, brand and reputation
Fortify Software Inc.
限制责任和义务,满足法规和标准
避免对公司品牌和声誉造成破坏
Fortify Software Inc.
第 5页
信息安全的现状
Know your code. Trust your code
• 然而在事实上: 我们每年都花了数百万的资金在信息安全 上,但是效果并不如意,我们遭遇的安全问题越来越多.
Fortify Software Inc.
第 3页
Know your code. Trust your code
软件安全的重要性
• • • • 信息安全的期望 信息安全的现状 软件安全漏洞的发展趋势 传统解决信息安全的努力和投资方向
• 软件安全在信息安全中的重要地位
Fortify Software Inc.
Fortify Software Inc.
第 2页
基本概念
Know your code. Trust your code
• 软件安全的定义:在软件受到恶意的攻击下,软件 能够正常运行(功能/性能) • 软件安全课题:了解产生软件安全的风险并怎样去 管理他们: “ Building secure software: designing software to be secure, make sure that software is secure ,educating software developers ,architects and users about how to build security in”