软件安全实验指导书-2014年6月-实验项目验收
时间:2025-07-04
时间:2025-07-04
软件安全实验指导书
目录
实验一 GINA编程实验 .................................................................................................................. 1
实验二 信息系统安全实验 ........................................................................................................... 5
实验三 软件安全测试实验 ....................................................................................................... 10
实验四 安全代码实验 ................................................................................................................. 18
实验五 TAM2应用实验 ................................................................................................................ 24
实验一 GINA编程实验
实验所属系列: 实验对象:本科 相关课程及专业:软件安全,软件工程,信息安全
实验类型:公共基础 实验时数(学分):4
一、实验目的
了解WINDOWS操作系统的安全机制,掌握在WINDOWS环境下应注意的主要安全问题,了解软件系统安全的的主要设计理念。
了解WINDOWS系统中WinLogon和GINA实现安全登录控制的机制,掌握改变WINDOWS登录机制的方法。
二、实验内容与要求
1)实验基础(必要的基础知识)
实现WindowsNT/2000/XP安全模型的安全子系统的一些组件和数据库如下:
(1) 安全引用监视器(SRM):是WindowsNT执行体
(NTOSKRNL.EXE)的一个组件。它负责执行对象的安全访问的检查,处理权限(用户权限)和产生任何的结果安全色审计消息。
(2) 本地安全认证(LSA)服务器:是一个运行映像LSASS.EXE的用户态进程,它负责本地系统安全性规则(例如允许用户登录到机器的规则,密码规则,授予用户和组的权限列表以及系统安全
性审计设置)用户身份验证以及向“事件日志”发送安全性审计
消息。
(3) LSA策略数据库:是一个包含了系统安全性规则设置的数据库。该数据库被保存在注册表中的:
HKEY_LOCAL_MACHINE\security下。它包含了这样一些信息:那些域被信任用于认证登录企图;那些用户可以访问系统以及怎
样访问(交互、网络、服务器登录方式)谁被赋予了那些权限;
执行的安全性审计的种类。
(4) 安全帐号管理服务:是一组负责管理数据库的子例程。这个库包括定义在本地机器上或用于域(如果系统是域控制器)的用户名
和组。SAM在LSASS进程的描述表中运行。
(5) SAM数据库:包含定义用户和组以及它们的密码和属性的数据库,它保存在HKEY_LOCAL_MACHINE\SAM下的注册表中。
(6) 默认身份认证包:被称为msv1_0的动态连接库DLL在进行
Windows身份验证的LSASS进程的描述表中进行,它负责检查
给定的用户名和秘码是否和SAM库中指定的相匹配,如匹配,
返回该用户的信息。
(7) 登录进程:是运行在WINLOGON.EXE的用户态进程,它负责搜寻用户名和密码。将它们发送给LSA用以验证它们。并在用
户会话中创建初始化进程。
(8) 网络登录服务:是一个响应网络登录请求的SERVICES.EXE进程内部的用户态服务。身份验证同本地登录一样,是通过把它们
发送到LSALL进程来验证的。
关于GINA编程:
登录是通过登录进程(WinLogon),WinLogon是一个受托进程负责管理与安全性相关的用户相互作用。它协调登录时启动用户外壳,处理注销和管理各种与安全性相关的其他操作包括登录是输入口令,更改口令以及锁定和解锁工作站。WinLogon进程必须确保与安全性相关的操作对任何其他活动的进程是不可见的。例如:WinLogon保证非受托进程在进行在进行这些操作中的一种是不能控制桌面并由此获得访问口令。WinLogon是从键盘截取登录请求的唯一进程,它将调用LSA来确认试图登录的用户。如果用户被确认,那么该登录进程就会代表用户激活一个登录外壳。登录进程的认证和身份验证都是在名为GINA(图形认证和身份验证)的可替换DLL中实现的,标准
Windows2000 GINA.DLL——MSGINA.DLL实现了默认的Windows登录接口。但是,开发者们可以使用他们自己的GINA.DLL来实现其他的认证和身份验证机制,从而取代标准Windows用户名/口令的方法。另外,WinLogon还可以加载其他的网络供应商的DLL来进行二级身份验证。该功能能够使多个网络供应商在正常登录的过程中同时收集所有的标示和认证信息。
2)实验步骤
第1步:打开MSDN,选中Platform SDK;
第2步:查找Platform SDK中GINA的相关内容;
第3步:完成文档,《GINA及其开发方式》;
第4步:使用Visual C++,编写自己的GINA.DLL;
第5步:备份WINDOWS系统的MSGINA.DLL;
第6步:装载所开发的GINA.DLL;
第7步:重启WINDOWS,验证GINA.DLL;
第8步:卸载GINA.DLL,恢复系统。
3)实验注意事项
(1) 本实验的文档部分在课下完成;
(2) 注意开发完成的GINA.DLL在实验完成后必须恢复系统。
三、实验开设方式
1) 小组实验,每组3人;
2) 无实验内容讲授;
3) 文档制作的内容在课下完成。
四、实验设备与环境
1)基本环境要求
计算机实验室,40台以上计算机。
2)最低设备要求
硬盘:10G以上;
内存:512M以上 …… 此处隐藏:4941字,全部文档内容请下载后查看。喜欢就下载吧 ……