网络安全课程设计

更新时间:2024-01-28 06:11:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

上海应用技术学院课程设计任务书

课程名称 设计题目 设计时间 网络安全课程设计 常用网络安全程序与课题 课程代码 题目序号 班级 B7042594 12104332 2015年 1 月 12 日—— 2015 年 1 月 24 日 网络工程 系(院) 计算机科学与信息工程学院 专业 一、课程设计任务(条件)、具体技术参数(指标) 1. 在指导书提供的课程设计题目如下: (1)敏感信息搜集 (2)加解密编程 (3)SQL Server安全设置 (4)FTP密码与OE账户嗅探 (5)批处理脚本编写与验证蠕虫病毒 (6)FAT32文件恢复 2. 4-6名同学构成1个小组,每组完成6题 3. 最后提交的课程设计成果包括: (1)带有封面的课程设计报告(打印)。 (2)课程设计报告电子稿、源程序文件 。 二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求) (1)要求在设计的过程中,完成清晰的功能设计; (2)要求系统架构合理,模块划分清晰; (3)对于程序设计课题,应编写程序代码,调试程序使其能正确运行;对于操作应用课题,应有清楚明确的执行步骤和过程; (4)提交课程设计报告、相关文档及源代码; 三、课程设计工作进度计划: 第一天 第二天 第三天 第四天 第五天 分析需求,设计算法,并绘制流程图; 编制程序,实现课题并调试运行; 编制程序,实现课题并调试运行; 编制程序,实现课题并调试运行; 编制程序,实现课题并调试运行; 第六天 第七天 第八天 第九天 第十天 编制程序,实现课题并调试运行; 编制程序,实现课题并调试运行; 撰写报告,准备答辩; 撰写报告,准备答辩; 答辩。 四、主要参考资料 [1] 《计算机网络安全技术教程》刘华春 蒋志平 中国水利水电出版社 2010 [2]《密码学与网络安全(中文导读英文版)》(美)福罗赞 清华大学出版社2009 [3]《密码学与网络安全(第2版)》(印度)Atul Kahate著 金名译 清华大学出版社2009 [4]《密码编码学与网络安全:原理与实践(第4版)》(美) William Stallings著 孟庆树译 电子工业出版社 2006 指导教师(签名): 舒明磊 教研室主任(签名):荣祺 2014年 7 月1 日 2014年 7 月 1 日

1. 课程设计目的和要求

1.1 目的

本课程设计是计算机科学与技术专业、网络工程专业重要的实践性环节之一,是在学生学习完《密码学与网络安全技术》课程后进行的一次全面的综合练习。通过课程设计,使学生熟练掌握计算机网络安全知识的基本概念和原理,熟悉了解网络安全的基本技术和攻防方法,培养学生将专业理论知识和工程技术应用有机结合的高级应用能力,使学生具备从事网络管理维护和信息安全管理方向的职业的基本素质和技能,提高设计文档的撰写能力。

1.2要求

(1) 分析课程设计题目的要求;

(2) 要求在设计的过程中,完成清晰的功能设计; (3) 要求系统架构合理,模块划分清晰;

(4) 对于程序设计课题,应编写程序代码,调试程序使其能正确运行;对于操作应用课题,应有清楚明确的执行步骤和过程;

(5) 设计完成后提交课程设计报告(按学校要求装订)、报告的电子文档和程序源代码文件。

2、课程设计任务内容

设计主要内容如下

(1) 根据任务要求,选择了T1、T2、T3、T4、T5和T6题目。其中T1要求完成敏感信

息搜集;T2要求完成加解密编程;T3要求完成SQL Server安全设置;T4要求完成FTP密码与OE账户嗅探;T5要求完成批处理脚本编写与验证蠕虫病毒;T6要求完成FAT32文件恢复。

(2) 最终提供的主操作界面应该为便于操作和使用,文档结构清晰简洁,内容完整准确。 (3) 最后提交的课程设计成果包括:

a)

b) c) d)

课程设计报告打印稿; 课程设计报告电子稿; 源程序文件; 可执行文件。

3、详细设计

3.1 敏感信息搜集 3.2 加解密编程

3.2.1、利用Bouncy Castle API对数据进行Encoding and Decoding

1. 首先编写DESEncrypto.java文件

在D盘根目录下建立一个DESEncrypto.txt文本文件,接下来把后缀名改成DESEncrypto.java 如下图所示:

编写DESEncrypto.java,代码见附录:

2. 对DESEncrypto.java进行编译,如图所示:

生成文本程序1JXZ.txt。

3. 1JXZ.txt”为明文,其内容为“123456789abcdefghijklmnopqrstuvwxyz” 如下图:

注:JXZ为学生名字拼音首字母,如学生张三的JXZ为zs,下同。

4. 运行程序,对1JXZ.txt进行加密,第一个参数表示要加密的文件,第二个参 数表示加密后的文件,第三个参数表示的是加密还是解密(true表示加密,false 表示解密):

5. 加密后的文件为2JXZ.txt,如下图:

注:JXZ为学生名字拼音首字母,如学生张三的JXZ为zs,下同。

6. 对2JXZ.txt进行解密,第一个参数表示要解密的文件,第二个参数表示解密 后的文件,第三个参数表示的是加密还是解密(true表示加密,false表示解密):

7. 解密后的文件为3JXZ.txt,如下图:

3.2.2 参照例图,使用编程语言编写可视化程序,实现一个凯撒密码正向& 反向计算程序。

1. 运行凯撒密码加密解密文件,出现以下工作界面;界面中可以设置偏移量,通过设置不同的偏移量得到不同的密文。

2.

在明文文本框里输入明文,设置好偏移量点击“加密计算”按钮,得到密文;

3. 将密文填写到“凯撒密码解密”工作栏里,将生成的密文填写到“密文”文本框里,偏移量设置为和加密中的偏移量相同后,点击“解密计算”后,解出明文,对比输入的明文后,结果相同,说明解密成功,任务结束,同样应该注意的是,在传输过程中,要对偏移量进行保密,因为有了偏移量和密文后,就可以解出明文。

3.3 SQL Server 安全设置

3.3.1、数据库系统安全

数据库系统安全是指为数据库系统建立安全保护措施,以保护数据库系统软件和其中的数据不因偶然和恶意的原因而遭到破坏、更改和泄漏。由于大多数Web 应用程序都需要使用数据库,于是,数据库就成了最常见的攻击目标之一。SQL Server 2000 数据库中存在着账号和密码过于简单的现象,为了数据的安全,应该对其进行一定的设定,并且养成查看日志的习惯。

数据库的建立和使用极大的方便了人们对数据的管理和应用,同时数据的稳定性和可恢复至关重要,因此要定期对数据库进行备份。 3.3.2、SQL Server2000 数据库安全配置 1.使用安全的密码策略

(1)很多数据库账号的密码过于简单,这跟系统密码过于简单是一个道理。对于 sa 更应该注意,同时不要让 sa 账号的密码写于应用程序或者脚本中。健壮的密码是安全的第一步。同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的账号。

首先单击“开始”|“程序”|“Microsoft SQL Server”|“查询分析器”,输入密码“sa”,如图所示:

然后点击“确定”按钮,如图所示:

在“查询分析器”窗口使用并执行下面的 SQL 语句: Use master

Select name,Password from syslogins where password is null

(2)设置 SA 用户的密码,请按下列步骤操作:

单击“开始”|“程序”|“Microsoft SQL Server”|“企业管理器”,展开服务器组,然后展开服务器。如图:

展开安全性,然后点击登陆。

在细节窗格中,右键点击 SA,然后点击属性。

在密码方框中,输入新的密码。

2.使用安全的账号策略

由于 SQL Server 不能更改 sa 用户名称,也不能删除这个超级用户,所以,我们必须对这个账号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用 sa 账号,只有当没有其它方法登陆到 SQL Server 实例(例如,当其它系统管理员不可用或忘记了密码)时才使用 sa。建议数据库管理员新建立一个拥有于 sa 一样的权限的超级用户来管理数据库。安全的账号SQL Server 的认证模式有 Windows 身份认证和混合身

份认证两种。如果数据库管理员不希望操作系统管理员通过操作系统登陆来接触数据库的话,可以在账号管理中把系统账号“BUILTIN\\Administrators”删除(如下图)。不过这样做的结果是一旦 sa 账号忘记密码的话,就没有办法来恢复了。很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配账号,并赋予仅仅能够满足应用要求和需要的权限。比如,只要查询功能的,那么就使用一个简单的 public 账号能够 select 就可以了。

3.查看数据库日志

请定期查看 SQL Server 日志检查是否有可疑的登陆事件发生,如下图。

4.管理 SQL Server 内置存储过程 xp_cmdshell 控制系统

( 1 ) 打 开 sql 查 询 分 析 器 , 输 入 要 访 问 的 数 据 库 地 址 ( 如 :192.168.JXZ.JXZx),然后点击确定。如下图:

利用 SA 弱口令登陆 SQL Server 服务。

(2)在新的窗口中输入:xp_cmdshell \;并按 F5 执行查询。如下图: (3)查看返回结果,如下图:

(4)试图建立新用户

输入:xp_cmdshell \后将添加一个 mytest用户,密码为 123456,类似效果如下图:

然后,可以输入:xp_cmdshell \查看用户列表,类似效果如下图:

(5)将新用户加入管理员组

输入:xp_cmdshell \,然后按 F5执行查询,类似效果如图:

然后输入:xp_cmdshell \,检查修改结果,如下图:

(6)删除 xp_cmdshell

数据库用户通过存储过程 xp_cmdshell,能够用到 windows 系统的内置命令,对系统安全

是极大的威胁。向数据库提交如下 sql 语句: Use master Go

Sp_dropextendedproc 'xp_cmdshell’

将 xp_cmdshell 存储过程从系统中删除。 如图:

验证是否删除成功,通过 xp_cmdshell 存储过程调用系统命令,看看是否删除成功。恢 复 删 除 操 作 exec sp_addextendedproc xp_cmdshell, @dllname= ’ xplog70.dll’.

3.3.3 SQL Server2000 数据库备份与恢复 1. SQL Server 2000 数据库备份

(1)单击“开始”|“程序”|“Microsoft SQL Server”|“企业管理器”开服务器组,然后展开服务器。如图:

(2)展开数据库,选中所要备份的数据库,单击鼠标右键,依次选择“所有任务”“备份数据库”,如图:

(3)在弹出的对话框中,依次修改:“名称”“备份方式”“目的”“重写、、方式”。最后点击“确定”,如图:

(4)开始备份,最后备份完成。如图:

2.SQL Server 2000 数据库还原

(1)打开企业管理器,展开服务器组,然后展开服务器。如图:

(2)展开数据库,选中所要还原的数据库,单击鼠标右键,依次选择“所有任务”“还原数据库”,如图:

(3)在弹出的对话框中,依次修改:“还原后的数据名”“要还原的备份文、件”。如图:

(4)然后选择“选项”标签卡,选中“在现有的数据库上强制还原”多选项。

(5)点击“确定”按钮开始还原。如图:

(6)最后还原完成。如图:

3.4 FTP 密码与 OE 账户嗅探

3.4.1 获取FTP帐户密码

FTP协议数据包在传输的时候使用明文传输,我们可以通过对数据包的监听嗅探获得FTP帐户的用户名和密码。确保主机A启动FTP服务使得主机B能够正常登录。 主机A:172.16.0.150 主机B:172.16.0.154

1.主机A网络嗅探

(1)主机A进入实验平台“实验21 网络嗅探”的“练习一 明文嗅探”, 单击工具栏“协议分析器”按钮,启动协议分析器。

(2)启动协议分析器,单击菜单“设置”|“定义过滤器”,在“定义

过滤器”界面中,选择“网络地址”选项卡,设置捕获本机IP地址与同组主机地

址间的数据,即在“站点1、方向、站点2”中设置;

选择“协议过滤”选项卡,选中“IP”|“TCP”|“FTP Control”和“FTP

Data”节点,单击“确定” 按钮完成过滤器设置。

单击“新建捕获窗口”按钮,点击“选择过滤器”按钮确定过滤信息。在新建捕获窗口工具栏中点击“开始捕获数据包”按钮,开始捕获数据包。

2.主机B远程FTP登录

在进行本步骤实验前,请确认主机A协议分析器已开始捕获数据。 (1)主机B通过“命令提示符”FTP登录主机A,操作如下:

首先输入:ftp 主机A的IP;在出现User后面输入:student;在Password后面输入:123456,操作类似效果如图所示

3.分析捕获数据包

(1)主机B登录主机A成功后,主机A停止协议分析器捕获数据包,并分析会话过程,在“会话分析”页签中,点击会话交互图上的用户名及密码(部分效果如图4.3)即可以看到主机B登陆主机A所使用的用户名和密码。

图 捕获的用户名及密码

3.5 批处理脚本编写与验证蠕虫病毒

3.5.1、批处理脚本编制

编写一个批处理程序,文件名为 jxz.bat,具备显示系统用户名、列举当前的系统进程和显示自己的 ip地址的功能的基本功能,同时具有了清理系统垃圾和打开网络连接的功能。 1. 点击jxz.Bat文件,进入欢迎界面:

2.点击任意键进入菜单界面:菜单如下:

3.输入“1”,显示所有用户的账号ID:

4.点击任意键又回到了主菜单;再次键入“2”,显示了本地的ip地址:

5. 点击任意键又回到了主菜单;再次键入“3”,列举当前系统的进程:

6. 点击任意键又回到了主菜单;再次键入“5”,清理系统垃圾:

7.文件同时具有输入检测功能,如果输入有误,系统会自动报错:

3.5.2、蠕虫感染验证与查杀验证 1. 验证病毒感染过程

(1)确定主机 A 与 B 处于同一网段内。

(2)主机 A 进入实验平台“实验 36 蠕虫病毒”的“练习一 蠕虫仿真”, 单击工具栏“实验目录”按钮进入蠕虫病毒实验目录,执行漏洞程序test_virus_body.exe,

并启动协议分析器,设置过滤器仅捕获 ARP 数据包(在“协议过滤”中设置)。主机 B 同样进入蠕虫病毒实验目录,执行蠕虫模拟程序virus_main.exe,这时主机 B 会持续弹出网页。

(3)主机 A 单击协议分析器工具栏刷新按钮,查看 ARP 协议相关数据,会发现存在很多以主机 B 的 IP 地址为源的 ARP 请求数据包。请观察被探测 IP 地址顺序,它们大多数是非连续的。

(4)主机 A 等待被蠕虫病毒探测,直到被感染(成功现象为:主机 A 被病毒感染,也像主机 B 一样持续弹出网页,说明已经被病毒感染成功),主机 A 关闭 test_virus_body.exe 程序,“任务管理器” “进程”并在的页面中选中 virus_main进程然后点下面的“结束进程”按钮,结束激活的病毒程序。

(5)主机 A 检查系统注册表

HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\

run 下是否有名为“LookAtMe”的注册键值,有则使用该项右键菜单中的删除命令删除。

(6)主机 A 查看 test_virus_body.exe 文件所在目录下(是)多重

2. 验证杀毒工具效果

主机 A、B 启动实验目录下的 virus_main.exe,点击工具栏中的“杀毒工具” 启动杀毒工具 wvk.exe C:\\ExpNIS\\AntiVir-Lab\\VirusExp\\virus\\wvk.exe)记录实验现象: 查看注册表中的“LookAtMe”病毒特征键值已不存在

e) FAT32 文件恢复

3.6.1 恢复删除文件

(一) 手工恢复文件

1.进入实验平台“实验38 文件恢复”的“练习一 FAT32文件恢复”,使用WinHex打开D盘查看各项参数

(1)格式化D盘

在“资源管理器”左侧树状结构中,右键单击“本地磁盘(D:)”|“格式化” 在文件系统中选择“FAT32”|“开始”|“确定”,对D盘进行格式化。

(2)使用WinHex获取D盘快照

单击工具栏“WinHex”按钮,打开WinHex。单击“工具”|“打开磁盘”, 在逻辑驱动器中选择“(D:)”,确定。

「注」 不要选择“不要再显示此提示信息”,如果选中了则不能获取新快照。

可以通过“帮助”|“设置”|“初始化”来取消选择。

获取新快照后可以看到驱动器D中所包含的目录、文件、文件分配表的大小和起始位置等相关信息。

(3)查看FAT1

单击WinHex中D盘快照中文件列表中的FAT1即可查看FAT1。单击FAT1中的数据可在左侧的参数框中看到数据所代表的簇号和簇的当前状态。

(4)计算FDT的起始位置

在文件列表中可以看到FAT1和FAT2的第1扇区位置,FAT2是FAT1的备份,所以大小相等内容相同。因此可以推算出它的大小为:FAT2的第1扇区位置-FAT1的第1扇区位置。FAT1的大小是:2271 FDT的位置在FAT2之后,所以可以通过:FAT2的第1扇区位置2305+FAT1的大小(扇区总数为2271)来得到FDT的起始位置。 FDT的起始位置的逻辑扇区编号是:4576 (5)跳转到FDT的起始地址

单击“位置”|“转到扇区”|在扇区输入框中输入FDT的起始位置的逻辑扇区编号|“确定”,即可跳转到FDT的起始地址。

(6)根据实验原理了解FDT表中的目录登记项的各部份含义。 2.创建文本文件

在D盘根目录下新建文本文档“Hello.txt”,内容为“Hello World!”的文本文件。文件名和内容使用英文是为了便于查找。

3.备份相关数据

(1)重新获取磁盘快照

单击“工具”|“打开磁盘”,在逻辑驱动器中选择“(D:)”,确定。 此时弹出对话框提示“有快照可以重用”,单击“获取新快照”即可获得逻辑驱动器的当前快照。

(2)备份FDT中“Hello.txt”的目录登记项

根据FDT的起始位置的逻辑扇区编号跳转到FDT的起始地址。

找到文件“Hello.txt”的登记项。根据数据区右侧的明文找到倒数的32个与文件“Hello.txt”相关的字节,即是文件的目录登记项。

按住鼠标左键拖动选中文件“Hello.txt”的目录登记项的32个字节。右键单击被选中的数据块|“编辑”|“复制选块”|“置入新文件”|将新文件命名为“FDTH.dat”保存位置是C盘根目录下|“保存”。此时新文件会在WinHex中被打开。

根据实验原理中对目录登记项各部份的定义,文件“Hello.txt”的文件名在目录登记项中的十六进制代码的第1字节的值是 48

文件的大小是 12 字节,在目录登记项中的十六进制代码是 0C 00 00 00 。 文件的首簇编号 196678 ,在目录登记项中的十六进制代码是00 03 00 46。 (3)备份FAT1中的相关数据

参考FDT数据的备份步骤,将FAT1中的有效数据备份到C盘根目录下,文件名为“FAT1H.dat”。

(4)查看DATA区域中文件“Hello.txt”的数据

单击“位置”|“转到扇区”|在簇输入框中输入文件“Hello.txt”的首簇号|“确定”,即可跳转到文件“Hello.txt”的起始地址。

4.删除文件

在D盘根目录下选中文件“Hello.txt”,按“Shift+Delete”键将其删除。

5.查看删除标记

(1)重新获取D盘快照。

(2)对比当前FDT中文件“Hello.txt”的目录登记项和FDTH.dat中的相关数据。 FDTH.dat中第一个字节是 48 。

当前FDT中文件“Hello.txt”的目录登记项的第一个字节是 E5 。

(3)对比FAT1中相关数据的变化。

FAT1H.dat中文件“Hello.txt”簇链相关位置的十六进制值是FF FF FF 0F 。

上述位置的值在当前FAT1中相同位置的值是 00 00 00 00 。

(4)查看DATA区域中文件“Hello.txt”的数据。

根据FDTH.dat记录的文件“Hello.txt”的首簇位置跳转相关簇并查看文件数据。文件数据是否有变化?

6.根据备份数据恢复文件

(1)根据备份数据FDTH.dat和FAT1H.dat恢复FDT与FAT1中的相关数据。

在FDT与FAT1的数据部分,用鼠标单击要修改的数据,然后通过键盘输入数值。 按“Ctrl+S”键保存上述修改。出现提示信息,单击“确定”|“是”完成保存。

本文来源:https://www.bwwdw.com/article/zylw.html

Top