第六章软件安全技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
补充
Administrator帐户
➢ 建立另一个拥有全部权限的帐户,然后停用 Administrator帐户
➢ 设置足够复杂的密码 ➢ 在Win XP Home中,修改一下默认的所有者帐
户名称。
补充
补充
交换文件
➢ 即虚拟内存(pagefile.sys) ➢ 要求机器在关机的时候清除系统的页面文件(交换
通信的过程。
讨论
XP2014年4月8日,Windows 宣布“退役”, 你认为这将对信息的安全造成什么影响?
➢ 登录Moodel教学平台,选择计算机信息安全与 管理课程,对该话题发表你的观点。
补充
简单文件共享
➢ 会打开许多NetBIOS 漏洞
➢ 关闭简单文件共享:
✓在“我的电脑”中, “工具”→“文件夹选项”, 点击“查看”选项, 取消“使用简单文件共享 (推荐)”
文件)
✓regedit ✓在注册表中找到HKEY_local_machine\system\
currentcontrolset\control\sessionmanager\ memory management,然后创建或修改 ClearPageFileAtShutdown,把这个DWORD值设置 为1
许多关键基础设施取决于软件的安全
航空
化工
铁路
电网
关于软件安全的相关报道
关于软件安全的相关报道
Windows XP退役带来安全隐患 普通杀毒软件无法抵御
“心脏流血”全球警告
6.1 引言
出现软件故障现象的原因
➢ “任何软件,不论它看起来是多么安全,其中都 隐藏漏洞”
影响软件安全的技术趋势
➢ 无处不在的网络
6.2 漏洞
已知漏洞
➢ 已经被人发现了(安全组织、黑客和黑客组织的 研究人员、厂商)
➢ 已经知道它的危害程度 ➢ 对高危漏洞已经知道它的利用方法 ➢ 安全机构发布了相应的安全补救措施 ➢ 软件提供商一般提供了安全补丁
6.2 漏洞
未知漏洞
➢ 特点:还没有被发现,但是客观存在 ➢ 可能造成的影响
✓嗅探网络数据包 ✓拒绝服务攻击 ✓修改HTTP数据包的载荷以上传一个网页木马
6.2 漏洞
人为因素造成的漏洞
➢ 设置了过于简单的口令(弱口令) ➢ 无意行为丢失口令 ➢ 非法操作了系统 ➢ 资源访问控制不合理 ➢ 管理员安全配置不当,允许不应进入网络的人进
入网络等 ➢ 因对待工作消极滞后了安装安全补丁
6.2 漏洞
0day漏洞
➢ 演变过程
6.2 漏洞
几种已知的Windows漏洞
➢ 本地输入法漏洞 ➢ Telnet信息泄露漏洞 ➢ TCP/IP漏洞 ➢ Server服务远程缓冲区溢出漏洞 ➢ IIS重定向漏洞 ➢ Internet Explorer浏览器漏洞 ➢ PowerPoint远程执行任意代码漏洞
✓Win XP Pro:“控制面板”→“管理工具” →“计 算机管理” →“本地用户和组” →“用户”,双击 Guest帐户,选中“帐户已停用”
✓Win XP Home:先执行Net user guest password命 令,然后进入“控制面板” →“用户设置”,设置 Guest帐户的密码
补充
另一个缓冲区溢出例子: char buf[15]; char prefix[]=“http://”; char path[]=“hstc.edu.cn”; strcpy(buf,prefix); strcat(buf,path,sizeof(path));
6.2 漏洞
开放式协议造成的漏洞
➢ TCP/IP协议的最初设计者在设计该通信协议时只 考虑到了协议的可行性和实用性,而没有考虑到 协议的安全性。
法是基于用户和计算机的。 ➢ 在缺省情况下,所有基于Windows的计算机的
注册表在网络上都是可以被访问到。 ➢ 保护注册表,防范远程攻击
6.3 操作系统的安全设置
TCP/IP筛选
➢ 在“内核”模式下工作 ➢ 通过与IPSec筛选器及“路由和远程访问”数据
包筛选一起使用,可以对TCP/IP站访问控制方案 进行分层。 ➢ 可控制入站和出站的TCP/IP访问
➢ 是一切攻击行为和事件的起源。
6.2 漏洞
漏洞的分类
➢ 按形成原因分:
✓程序逻辑结构漏洞 ✓程序设计错误漏洞 ✓开放式协议造成的漏洞 ✓人为因素造成的漏洞
➢ 按发现的先后顺序:
✓已知漏洞 ✓未知漏洞 ✓0day漏洞
6.2 漏洞
程序逻辑结构漏洞
➢ 程序的逻辑设计不合理
✓典型:Windows 2000用户登录的中文输入法漏洞
补充
FAT32
➢ 把FAT32文件系统转换成NTFS ➢ 将文件系统转换成NTFS
✓cmd命令窗口中,执行 convert volume /fs:ntfs(其中volume是驱动器的盘 符)
补充
Guest帐户
➢ 可以访问计算机,但受到限制。 ➢ 黑客会利用Guest帐户 ➢ 禁用Guest帐户
补充
补充
转储文件
➢ 系统在遇到严重问题时,会把内存中的数据保存 到转储文件。
➢ 禁止创建转储文件
✓“控制面板”→“系统” → “高级” → “启动和故 障恢复”,将“写入调试信息”这一栏设置成 “(无)”。
✓HKEY_local_machine\software\Microsoft\ WindowsNT\CurrentVersion\AeDebug,把Auto 值改成“0”。
主机安全加固(水桶原则)
➢ 网络设备加固、网络结构调整、服务器系统加固、 数据库加固、安全产品优化
6.4 应用系统的安全
软件分析技术
➢ 静态分析技术
✓从反汇编出来的程序清单上分析,从提示信息入手进 行分析。
✓常用工具:W32Dasm、IDA、HIEW等
➢ 动态分析技术
✓利用动态分析工具一步一步地单步执行软件。 ✓常用工具:Soft-ICE、TRW2000等
✓Elias Levy (笔名为Aleph One)的论文Smashing the Stack for Fun and Profit
✓典型:缓冲区溢出漏洞和内存越界漏洞
缓冲区溢出漏洞
当一个程序允许输入的数据大于已分配的缓冲区大 小时,缓冲区溢出就会发生。
有些语言具有直接访问应用程序内存的能力,如果 未能处理好用户的数据就会造成缓冲区溢出。C和 C++是受缓冲区溢出影响的两种最常见的编程语言 。
✓一颗不知何时会引爆的定时炸弹
6.2 漏洞
0day漏洞
➢ 特点:已经被发掘出来,只在小范围传播 ➢ 可能造成的影响
✓软件开发商:可能不会向外界公布或是只公布一个 简单的信息,并有可能在不公开的情况下更新漏洞 程序
✓盈利型黑客:不会向外界公布漏洞信息,用来谋求 利益
✓安全组织或研究型黑客:会向外界公布漏洞和详细 信息并提供临时解决方案,使漏洞变成已知漏洞
第六章
软件安全技术
6.1 引言
软件安全(Software Security)
➢ 就是使软件在受到恶意攻击的情形下依然能够继 续正确运行及确保软件在授权范围内被合法使用 的思想。
➢ 主要内容
✓软件的自身安全(防丢失、篡改) ✓软件的存储安全(防窃取、破坏) ✓软件的通信安全(确保数据信息的完整性) ✓软件的使用安全(防盗版) ✓软件的运行安全(防漏洞)
补充
补充
补充
多余的服务
➢ NetMeeting Remote Desktop Sharing, Remote Desktop Help Session Manager, Remote Registry,… …
安全套请稍接等层… SSL
(潮州话) “我想订总统套房。”
可以啊。
我会说山东话、潮州话、广 西话… …
就说潮州话吧
可以跟你说句悄悄话吗? 我会说上海话、四川话、潮
州话
你好!
你好!
6.5 网络安全协议
安全套接层SSL
6.5 网络安全协议
虚拟专用网VPN
指在公用网络中建立(虚拟的)专用的数据通信 网络的技术。
缓冲区溢出造成的后果小到系统崩溃,达到攻击者 获取应用程序的完全控制权。
1988年,第一个Internet蠕虫—Morris蠕虫就是对 finger服务器攻击,造成缓冲区溢出,几乎导致 Internet瘫痪。
缓冲区溢出漏洞
Morris finger蠕虫的成因: char buf[20]; gets(buf);
6.3 操作系统的安全设置
用户权限管理
➢ 权限的四项基本原则
✓拒绝优于允许原则(解决冲突) ✓权限最小化原则(保障资源安全) ✓权限继承性原则(实现“自动化”) ✓权限累加原则(灵活性)
➢ 磁盘配额(NTFS格式)
✓可设置不同用户拥有不同的磁盘配额。 ✓两个级别:磁盘配额限制、磁盘配额警告
6.3 操作系统的安全设置
审核策略设置
➢ 审核日志用来记录用户执行的各项操作 ➢ 安全审核对于任何企业系统来说都极其重要,因
为只能使用审核日志来说明是否发生了违反安全 的事件。 ➢ 日志包括
✓事件日志,记录了系统上发生的事件 ✓安全日志,记录了审核事件
6.3 操作系统的安全设置
注册表安全设置
➢ 注册表是存储计算机的配置信息的数据容器 ➢ 它是中央分层数据库 ➢ 注册表控制所有32位应用程序和驱动,控制的方
➢ 合法的程序用途被利用
✓典型:WinRAR的自解压功能
系统或程序入入口口辅需助要用户名、 口令(或输最入高法权等限)者授权
否
判断是否合法
或是否有授权?
是
获得操作或使用权限
Hale Waihona Puke Baidu
本地输入法漏洞
6.2 漏洞
程序代码设计错误漏洞
➢ 编程人员在使用C和C++语言编写程序时在技术 上的疏忽或程序员的代码安全意识不高造成的漏 洞。
✓增加了攻击途径,降低了攻击难度
➢ 增长的系统复杂性
✓滋生了软件安全漏洞
➢ 内置的可扩展性
✓难以防范恶意代码的嵌入,且安全分析难度增加
Windows操作系统复杂性
6.2 漏洞
6.2 漏洞
6.2 漏洞
什么是漏洞
➢ 从广泛的意义上看,漏洞是在硬件、软件、协议 的具体实现或系统安全策略以及人为因素上存在 的缺陷,它可以使黑客能够在未经系统的许可者 授权的情况下访问或破坏系统。
✓分成:登录权限、操作权限 ✓权限是针对资源而言的
➢ 安全标识符
✓Security Identifier, SID ✓SID具有唯一性,绝对不会重复产生 ✓Regedit:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows NT\CurrentVersion\ProfileList
常用的网络安全协议
➢ Kerberos认证协议 ➢ 安全电子交易协议SET ➢ 安全套接层协议SSL ➢ IP层安全协议IPSec
6.5 网络安全协议
Kerberos认证协议
① ② ③ ④ ⑤
⑥
6.5 网络安全协议
安全电子交易协议SET
持 卡 人
认 证 中 心
清算银行
商 家
支 付 网 关
6.5 网络安全协议
➢ 功能限制的程序
✓一般是DEMO版或菜单中部分选项呈灰色。
➢ CD-check
✓程序在启动时判断光驱中的光盘上是否存在特定的文 件,而在运行过程中一般不再检查。
➢ 加密狗技术
✓加密狗通过在软件执行过程中和加密狗交换数据来实 现加密。
6.5 网络安全协议
一般的网络通信协议都没有考虑安全性需求, 这就带来了互联网许多的攻击行为,导致了 网络的不安全性
6.4 应用系统的安全
常用的软件保护技术
➢ 时间限制
✓共享软件一般都有时间上的限制,如试用30天等。
➢ 序列号方式
✓软件的试用期过后,利用加密算法,根据用户的私人 信息连同信用卡号码计算出一个注册码。
➢ Key File保护
✓是一种利用文件来注册的保护方式。
6.4 应用系统的安全
常用的软件保护技术
技术特点
安全保障 服务质量保证 可扩充性和灵活性 可管理性
6.5 网络安全协议
虚拟专用网VPN
VPN技术
认证技术——验证数据的完整性和用户认证(SSL) 加密技术——数据加密(IPSec) 密钥交换与管理——IKE(互联网密钥交换)、SKIP
(互联网简单密钥管理)
作业
简述漏洞的定义及其分类 简述保障软件安全的几种方法 查阅资料,说明安全电子协议SET实现安全
6.3 操作系统的安全设置
操作系统的重要性
➢ 计算机系统运行的基础 ➢ 用户与计算机系统的交互界面和环境 ➢ 一座安全屏障,入侵者首要目标 ➢ 各种应用系统成败的关键
既要防止操作系统本身的隐患和不安全漏洞, 也要防止对操作系统的滥用、破坏和窃取服 务
6.3 操作系统的安全设置
用户权限管理
➢ 用户权限