Part 0 实验要求
一、成绩构成 期末考试50分:学期综合能力考核 实验成绩40分:每周实验情况综合 平时成绩10分:点名、提问、课堂情况等 二、时间地点 第1-8 周(周四 1-4节),信息楼522(原:信西505),实验教学 三、实验软件 1、校内:(1)U盘互相拷贝一下 2、校外:链接: https://pan.baidu.com/s/1B9KWako71YHZIKtbDL7u0g 提取码: sctp 四、实验要求 1. 实验必须1人一组独立完成,不可抄袭。可以选择(1)或(2)方式完成,每次实验以百分制进行评价: (1)不多于一个人一组完成4个基本实验(80分)+1个论述题(20分); (2)不多于一个人一组完成编程实验(80分)+1个论述题(20分)。 2. 评分标准 基本实验按完成程度进行评价; 编程实验按完成质量进行评价; 论述题安排如下:本周安排的论述题需准备10分钟左右PPT,在下周实验课上进行陈述。 教师从上交的PPT中选择最较优的5份报告进行课堂报告,按陈述质量排序(20分-16分)评分。其余组无需答辩,按完成质量评分,最高分为15分。 3. 作业提交 Deadline:所有实验内容,包括基本实验、编程题和论述题PPT,必须在一周内在系统内提交,系统可重复提交最多1次(请未完成前,保存草稿,全部完成后再提交),电子系统在下一次上课前一天晚上12点自动关闭。 实验报告雷同,双方报告0分。 五、特别加分环节(视完成程度单次成绩可加10分,即单次实验报告最高分为110分) 第一次实验 基于SSS扫描的特定漏洞实现特定主机的远程root 第二次实验 手动删除病毒 等等 六、作业提交链接(第一次作业) 注意:所有实验内容,包括基本实验、编程题和论述题PPT,必须在一周内在系统内提交,系统可重复提交最多5次,电子系统在下一次上课前一天晚上12点自动关闭。实验报告雷同,双方报告0分。
本章作业提交截止时间为2023年9月20日星期三中午12:00,系统自动关闭。
Part 1 虚拟机的安装和使用
一、实验目的 1、学习安装、使用虚拟机 2、给虚拟机安装xp操作系统及常用软件 二、实验原理 ♥本题中虚拟机相关背景介绍来源于网络♥ 由于计算机发展的太快,现在许多同学在开始学计算机时,都是从Windows 98、Windows 2000、windows 8、10开始学习,对于MS-DOS、Windows 3.x、NetWare等,并不了解。这样,当学生使用的计算机出现故障时,就不知道怎样解决,因为他(她)不知道计算机的来笼去脉,不知道怎样去解决。比如一个很小的故障,Windows 98的计算机不能启动了,是因为在软驱中有一张非引导磁盘。这时,他就不知道把这张磁盘从软驱中取出再重新启动计算机。学生们可能学习了一些计算机的(历史)知识,也知道启动磁盘,也知道MS-DOS,也知道格式化磁盘,也知道硬盘在使用前需要分区、格式化,也知道软件需要安装,也知道……。同学们从书本上学了太多的“也知道”,但是,却很少有学生能亲手去进行实践。因为:学校的机房,都是由机房的管理员负责安装好系统,机房的机器一般是不允许学生自己安装系统,更不准学生对硬盘分区,对硬盘进行格式化,这在学校来说是不能容忍的,也是不现实的。即使学生自己有机器,配置也很高,但也很少有学生在自己的机器上分区、格式化、频繁安装新的系统,如果总对硬盘进行分区、格式化的话,机器也不会用很长。如果想学工具软件,也不会用自己的机器做实验,尤其是一些“危险”性的实验。学生只有一台机器,不能做网络实验,最多能做一些上网的实验。即使几个同学把机器放到一起做实验,姑且不说场地、电源不好找,就是网卡、交换机之类的东西也不好配。 现在同学们纸上谈兵的机会比较多,因为学习的知识如果没有经过检验的话,就只能停留在理论上。不但现在的用人单位青睐有实战经验的,就是自己也会认为这样不行。我们计算机学院有些通过CCNA的同学,就有不认识网卡的情况,甚至不认识交换机的情况,这绝不是笑话。 “实践是检验真理的唯一标准”,没有经过实践、没有亲手操作过,就不可能学会、学通、学精。在虚拟机中,同学们可以尽情的、放心大胆的作每一个实验。虚拟机软件可以在一台电脑上模拟出来若干台PC,每台PC可以运行单独的操作系统而互不干扰,可以实现一台电脑“同时”运行几个操作系统,还可以将这几个操作系统连成一个网络。

比如上图中,是在一台电脑上安装了Win2000 server,再在Win2000 server上安装虚拟机软件VMWare,利用VMWare模拟出来3台PC,在这3台PC上分别运行RedHat7.2、Win98和Solaris 8 for x86操作系统。包括Win2000在内,这4个操作系统同时在一台电脑上运行,互不干扰,并且同在一个局域网内。 目前PC上的虚拟机软件有下述两个: VMWare http://www.vmware.com Virtual PC http://www.connectix.com 三、实验要求 1. 安装虚拟机软件,推荐VMWare。 2. 给虚拟机安装xp操作系统。 3. 给虚拟机安装常用软件。 四、实验报告要求 1. 详细记录实验步骤、现象、问题。 2. 给出虚拟机安装过程(截图说明),并谈谈你的使用体会,你觉得你所选择安装的虚拟机有什么可改进的地方,如果有,请将你的意见post至VMware/VirtualPC官网。 3. 通过网络调研,给出虚拟机连接网络的方法。 4. 通过网络调研,给出虚拟机和主机间共享文件的方案。
Part 2 端口扫描与漏洞扫描
一、实验目的 1. 了解常用的TCP、UDP端口扫描的原理及其各种手段 2. 掌握sniffer等网络嗅探工具的使用 二、实验原理 1. TCP协议 TCP是TCP/IP协议栈中的传输层协议,TCP称为面向字节流连接的和可靠的传输层协议。它给IP协议提供了面向连接的和可靠的服务。TCP与UDP不同,它允许发送和接收字节流形式的数据。为了使服务器和客户端以不同的速度产生和消费数据,TCP提供了发送和接收两个缓冲区。TCP提供全双工服务,数据同时能双向流动。每一方都有发送和接收两个缓冲区,可以双向发送数据。TCP在字节上加上一个递进的确认序列号来告诉接收者发送者期望收到的下一个字节,如果在规定时间内,没有收到关于这个包的确认响应,重新发送此包,这保证了TCP是一种可靠的传输层协议。 1.1 TCP服务的可靠性 TCP通过下列方式来提供可靠性: (1)数据被分割成TCP最适合发送的数据块,也就是最大报文段长度。当一个连接建立时,连接的双方都要通告各自的MSS(最大报文段长度)。 (2)当TCP发出一个报文段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认将重发这个报文段。 (3)当TCP收到发自TCP连接另一端的数据,它将发送一个确认,这个确认不是立即发送,通常将推迟几分之一秒,以便将ACK与需要沿该方向发送的数据一起发送。绝大多数实现采用的时延为200ms。 (4)TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段(希望发送端超时并重发)。 (5)既然TCP报文段作为IP数据报来传输,因此TCP报文段的到达也可能会失序。TCP将对收到的数据进行重新排序,将数据以正确顺序交给应用层。 (6)既然IP数据报会发生重复,TCP接收端必须丢弃重复的数据。 (7)TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。 1.2 TCP连接的建立 TCP是一个面向连接的协议,无论哪一方发送数据之前,都必须先在双方之间建立一条连接,这种连接是通过三次握手建立起来的。主机A(客户端)发送一个SYN段指明主机A打算连接的主机B(服务器)的端口,以及初始序号ISN,无ACK标记。主机B发回包含主机B的初始序号的SYN报文段作为应答。同时将确认序号设置为主机A的ISN加1以对主机A的SYN报文段进行确认。主机A必须将确认序号设置为主机B的ISN加1以对主机B的SYN报文段进行确认。 当握手进程没有成功完成最终的确认时就会发生半开放连接。半开放连接的过程如下:主机A向主机B发送第1个数据包,也就是SYN数据包。主机B发送ACK SYN数据包作为回应。这时主机A应该发送第3个数据包,即ACK数据包来结束握手,但实际却没有发送第3个数据包,使得主机B一直发送ACK SYN数据包。 通常TCP连接的建立都是一方主动打开,而另一方则是被动打开,但两个应用程序同时彼此执行主动打开的情况是可能的,尽管发生的可能性极小。每一方必须发送一个SYN,且这些SYN必须传递给对方。这需要每一方使用一个对方熟知的端口作为本地端口,这被称为同时打开。 例如,主机A中的一个应用程序使用本地端口7000,并与本机B的端口8000执行主动打开。主机B的应用程序则使用本地端口8000,并与主机A的端口7000执行主动打开。它们仅建立一条连接而不两条连接,而且每一端既是客户机又是服务器。 1.3 TCP连接的终止 TCP客户端发送一个FIN,用来关闭从客户到服务器的传送,当服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。同时TCP服务器还向应用程序传送一个文件结束符。接着这个服务器程序就关闭它的连接,导致它的TCP端发送一个FIN,客户必须发回一个确认,并将确认序号设置为收到序号加1。 (1)主机A(TCP客户端)发送一个FIN,用来关闭从主机A到主机B的传送。 (2)当主机B(服务器)收到这个FIN,它发回一个ACK,确认序号为收到的序号加1 。 (3)同时主机B还向应用程序传送一个文件结束符。接着主机B就关闭它的连接,导致他的TCP端发送一个FIN 。 (4)主机A必须发回一个确认,并将确认序号设置为收到序号加1。 TCP提供了连续的一端在结束它的发送后还能接受来自另一端数据的能力。这就是半关闭。半关闭的过程如下: (1)主机A(TCP客户端)发送一个FIN。 (2)当主机B(服务器)收到这个FIN,它发回一个ACK,确认序号为收到的序号加1 。此时,主机B仍可发送数据,主机A仍然可以对数据发送ACK应答。 (3)正常关闭是发送第一个FIN执行主动关闭,两方其实都可以主动关闭,同时发送FIN,这种情况就叫做同时关闭。 TCP正常的终止方式也称为有序释放。但也可以发送一个复位报文而不是FIN来结束连接,这称为异常释放,这有两个优点:(a)应用程序丢弃待发数据,并立刻发送复位报文;(b)复位报文的接收方会区分是异常释放还是正常关闭。复位报文还有一个用处:当连接请求到达时,目的端口没有监听进程,TCP就发送复位报文。 2. UDP协议 UDP(用户数据报协议)简介。UDP协议是英文User Datagram Protocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。 包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。 与我们所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。 根据OSI(开放系统互连)参考模型, UDP和TCP都属于传输层协议。UDP协议不提供端到端的确认和重传功能,它不保证信息包一定能到达目的地,因此称为不可靠协议。 2.1 UDP报文格式 下图显示了UDP报文格式。每个UDP报文称为一个用户数据报(User Datagram),用户数据报分为两个部分:UDP首部和UDP数据区。 首部被分为四个16比特的字段,分别代表源端口号﹑目的端口号﹑报文的长度以及UDP校验和。

(1)UDP是面向事务的协议,它用最少的传输服务为应用向其他程序发送报文提供了一个途径。 (2)UDP是无连接的、不可靠的传输机制。在发送数据报前,UDP在发送和接收两者之间不建立连接。 (3)数据分组的封装和解包都建立在UDP使用的协议端口上。 (4)UDP让应用能直接访问Internet层的数据报服务,例如分段和重组等Internet层所提供的数据报服务,UDP应用也提供。 (5)UDP使用IP协议作为数据传输机制的底层协议。 (6)UDP报头和数据都以与最初传输时相同的形式被传送到最终目的地。 (7)UDP不提供确认,也不对数据的到达顺序加以控制。因此UDP报文可能会丢失。 (8)不实现数据分组的传送和重复检测。 (9)当分组没有被传送时,UDP不能报告错误。然而,在传送UDP包时,有效数据被传输给有源和目标端口号标识的正确应用。 (10)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、发送端和接收端主机性能的限制。 3. 网络扫描简介 3.1 TCP connect() 扫描 这种方法最简单,直接连到目标端口并完成一个完整的三次握手过程(SYN, SYN/ACK, 和ACK)。 操作系统提供的“connect()”函数完成系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。 如果端口处于侦听状态,那么“connect()”函数就能成功。否则,这个端口是不能用的,即没有提供服务。 这个技术的一个最大的优点是不需要任何权限,系统中的任何用户都有权利使用这个调用。另一个好处是速度。 如果对每个目标端口以线性的方式,使用单独的“connect()”函数调用, 那么将会花费相当长的 时间,你可以通过同时打开多个套接字,从而加速扫描。 使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。 但这种方法的缺点是很容易被发觉,并且很容易被过滤掉。 目标计算机的日志文件会显示一连串的连接和连接是出错的服务消息,目标计算机用户发现后就能很快使它关闭。 3.2 TCP SYN扫描 这种技术也叫“半开式扫描”(half-open scanning),因为它没有完成一个完整的TCP协议连接。 这种方法向目标端口发送一个SYN分组(packet),如果目标端口返回SYN/ACK标志,那么可以肯定该端口处于检听状态; 否则,返回的是RST/ACK标志。这种方法比第一种更具隐蔽性,可能不会在目标系统中留下扫描痕迹。 但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。 3.3 TCP FIN 扫描 这种方法向目标端口发送一个FIN分组。 按RFC793的规定,对于所有关闭的端口,目标系统应该返回一个RST(复位)标志。 这种方法通常用在基于UNIX的TCP/IP协议堆栈,有的时候有可能SYN扫描都不够秘密。 一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。 相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。 另一方面,打开的端口会忽略对FIN数据包的回复。 这种方法和系统的实现有一定的关系,有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。 并且这种方法在区分Unix和NT时,是十分有用的。 3.4 UDP端口扫描 这种方法向目标端口发送一个UDP协议分组。 如果目标端口以“ICMP port unreachable”消息响应,那么说明该端口是关闭的; 反之,如果没有收到“ICMP port unreachable”响应消息,则可以肯定该端口是打开的。 由于UDP协议是面向无连接的协议,这种扫描技术的精确性高度依赖于网络性能和系统资源。 另外,如果目标系统采用了大量分组过滤技术,那么UDP协议扫描过程会变得非常慢。 如果你想对Internet进行UDP协议扫描,那么你不能指望得到可靠的结果。

三、实验步骤
按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。实验所用软件均可从ftp下载。 现仅以主机A和B为例,说明实验步骤。
1. 给你的虚拟机安装sniffer,学习使用该软件♥部分电脑已经安装♥。
2. 使用sniffer进行http,ftp协议扫描。
3. superscan扫描练习:A主机用superscan扫描B主机,B主机用siniffer分析所捕获的扫描信息,提交详细报告。
4. SSS进行漏洞扫描:A主机用SSS扫描B主机,B主机用siniffer分析所捕获扫描信息,提交详细报告。
5. 教师视实验完成情况进行IPC$漏洞演示、综合扫描演示。
四、实验报告要求★
1. 详细记录实验步骤、现象、问题。
2. 既然UDP和TCP相比是一种不可靠的网络协议,那么还有什么使用价值或必要呢?
3. 详细分析superscan不同设置所对应的扫描策略,♥实验报告必须至少分析2种以上的扫描策略分析♥。
4. 分析SSS不同设置对应的扫描策略,并根据扫描结果,了解各种漏洞的原理和可能造成的危害。♥必须至少选择1个漏洞,分析其危险成因,并对漏洞进行处理(例如下载并安装相关的补丁包)。实验报告需包含对漏洞的分析、解决方案、效果对比(对漏洞进行分析、解决方案、效果对比等(例如修补完成前后扫描对比等)♥。
5. 根据各种端口扫描的原理,设计出针对不同端口扫描的预防措施。
四、附加题(额外10分)
基于SSS扫描的特定漏洞实现特定主机的远程root。说明:可利用各种开源工具,至少获得系统写入权限。
Part 3 口令破解与嗅探

一、实验目的 1. 通过密码破解工具的使用,了解帐号口令的安全性,掌握安全口令的设置原则,以保护帐号口令的安全。 二、实验原理 ♥本题中相关背景介绍来源于网络♥


三、实验步骤 1. 使用L0phtCrack5破解windows密码 2. 密码破解的防护 (1)通过网络调研,了解syskey功能及其所能实现的帐号保护。 CMD->syskey (2)通过网络调研,了解windows安全策略,尝试设置不同的安全策略。 控制面板->管理工具->本地安全策略 四、实验报告要求 1. 详细记录实验步骤、现象、问题。 2. 自己尝试设置不同复杂度的用户密码,通过设置LC5中的不同破解方法进行破解,记录破解时间。通过实验,总结安全的密码设置策略(密码设置原则,即什么样的密码是好密码)。 3. 通过设置“任务”中的从sniffer导入选项,小组配合尝试嗅探网络中传输的密码口令,提交报告。 4. 通过设置本地安全策略,整理总结增加密码口令安全性的方法。并回答: ▶ 控制面板->管理工具->本地安全策略->网络安全:Lan Manager身份验证级别 不同选项所对应的密码保护策略?
Part 4 日志分析
一、实验目的 通过实验掌握系统日志分析基本概念和方法。 二、实验原理 ♥本题中相关背景介绍来源于网络;部分实验内容来源网络,具体作者不详♥ 俗话说,雁过必定留痕。计算机取证可以理解为从计算机上提取证据。要知道用户做了些什么,最好的方法就是去看看计算机的日志。 日志文件作为微软Windows系列操作系统中的一个特殊文件,在安全方面具有无可替代的价值。它每天为我们忠实地记录下系统所发生一切事件,利用它可以 使系统管理员快速对潜在的系统入侵作出记录和预测,但遗憾的是目前绝大多数的人都忽略了它的存在,反而是因为黑客们光临才会使我们想起这个重要的系统日志 文件,很有讽刺意味。 2.1 日志文件的特殊性 要了解日志文件,首先就要从它的特殊性讲起,说它特殊是因为这个文件由系统管理,并加以保护,一般情况下普通用户不能随意更改。我们不能用针对普通TXT 文件的编辑方法来编辑它。例如WPS系列、Word系列、写字板、Edit等等,都奈何它不得。我们甚至不能对它进行“重命名”或“删除”、“移动”操 作,否则系统就会很不客气告诉你:访问被拒绝。当然,在纯DOS的状态下,可以对它进行一些常规操作(例如Win98状态下),但是你很快就会发现,你的 修改根本就无济于事,当重新启动Windows 98时,系统将会自动检查这个特殊的文本文件,若不存在就会自动产生一个;若存在的话,将向该文本追加日志记录。 2.2 黑客为什么会对日志文件感兴趣 黑客们在获得服务器的系统管理员权限之后就可以随意破坏系统上的文件了,包括日志文件。但是这一切都将被系统日志所记录下来,所以黑客们想要隐藏自己的入 侵踪迹,就必须对日志进行修改。最简单的方法就是删除系统日志文件,但这样做一般都是初级黑客所为,真正的高级黑客们总是用修改日志的方法来防止系统管理 员追踪到自己,网络上有很多专门进行此类功能的程序,例如Zap、Wipe等。 2.3 Windows系列日志系统简介 2.3.1 Windows 98的日志文件 Windows 98下的普通用户无需使用系统日志,除非有特殊用途,例如,利用Windows 98建立个人Web服务器时,就会需要启用系统日志来作为服务器安全方面的参考,当已利用Windows 98建立个人Web服务器的用户,可以进行下列操作来启用日志功能。 (1)在“控制面板”中双击“个人Web服务器”图标;(必须已经在配置好相关的网络协议,并添加“个人Web服务器”的情况下)。 (2)在“管理”选项卡中单击“管理”按钮; (3)在“Internet服务管理员”页中单击“WWW管理”; (4)在“WWW管理”页中单击“日志”选项卡; (5)选中“启用日志”复选框,并根据需要进行更改。 将日志文件命名为“Inetserver_event.log”。如果“日志”选项卡中没有指定日志文件的目录,则文件将被保存在Windows文件夹 中。 普通用户可以在Windows 98的系统文件夹中找到日志文件schedlog.txt。我们可以通过以下几种方法找到它。在“开始”/“查找”中查找到它,或是启动“任务计划程 序”,在“高级”菜单中单击“查看日志”来查看到它。Windows 98的普通用户的日志文件很简单,只是记录了一些预先设定的任务运行过程,相对于作为服务器的NT操作系统,真正的黑客们很少对Windows 98发生兴趣。所以Windows 98下的日志不为人们所重视。 2.3.2 Windows NT下的日志系统 Windows NT是目前受到攻击较多的操作系统,在Windows NT中,日志文件几乎对系统中的每一项事务都要做一定程度上的审计。Windows NT的日志文件一般分为三类: 系统日志 :跟踪各种各样的系统事件,记录由 Windows NT 的系统组件产生的事件。例如,在启动过程加载驱动程序错误或其它系统组件的失败记录在系统日志中。 应用程序日志:记录由应用程序或系统程序产生的事件,比如应用程序产生的装载dll(动态链接库)失败的信息将出现在日志中。 安全日志 :记录登录上网、下网、改变访问权限以及系统启动和关闭等事件以及与创建、打开或删除文件等资源使用相关联的事件。利用系统的“事件管理器”可以指定在安 全日志中记录需要记录的事件,安全日志的默认状态是关闭的。 Windows NT的日志系统通常放在下面的位置,根据操作系统的不同略有变化。 C:\systemroot\system32\config\sysevent.evt C:\systemroot\system32\config\secevent.evt C:\systemroot\system32\config\appevent.evt Windows NT使用了一种特殊的格式存放它的日志文件,这种格式的文件可以被事件查看器读取,事件查看器可以在“控制面板”中找到,系统管理员可以使用事件查看器选 择要查看的日志条目,查看条件包括类别、用户和消息类型。 2.3.3 Windows 2000的日志系统 与Windows NT一样,Windows 2000中也一样使用“事件查看器”来管理日志系统,也同样需要用系统管理员身份进入系统后方可进行操作。 在Windows 2000中,日志文件的类型比较多,通常有应用程序日志,安全日志、系统日志、DNS服务器日志、FTP日志、WWW日志等等,可能会根据服务器所开启的 服务不同而略有变化。启动Windows 2000时,事件日志服务会自动启动,所有用户都可以查看“应用程序日志”,但是只有系统管理员才能访问“安全日志”和“系统日志”。系统默认的情况下会 关闭“安全日志”,但我们可以使用“组策略”来启用“安全日志”开始记录。安全日志一旦开启,就会无限制的记录下去,直到装满时停止运行。 Windows 2000日志文件默认位置: 应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%\sys tem32\config,默认文件大小512KB,但有经验的系统管理员往往都会改变这个默认大小。 安全日志文件:c:\sys temroot\sys tem32\config\SecEvent.EVT 系统日志文件:c:\sys temroot\sys tem32\config\SysEvent.EVT 应用程序日志文件:c:\sys temroot\sys tem32\config\AppEvent.EVT Internet信息服务FTP日志默认位置:c:\systemroot\sys tem32\logfiles\msftpsvc1\。 Internet信息服务WWW日志默认位置:c:\systemroot\sys tem32\logfiles\w3svc1\。 Scheduler服务器日志默认位置:c:\systemroot\schedlgu.txt 。该日志记录了访问者的IP,访问的时间及请求访问的内容。 因Windows2000延续了NT的日志文件,并在其基础上又增加了FTP和WWW日志,故本节对FTP日志和WWW日志作一个简单的讲述。FTP日志 以文本形式的文件详细地记录了以FTP方式上传文件的文件、来源、文件名等等。不过由于该日志太明显,所以高级黑客们根本不会用这种方法来传文件,取而代 之的是使用RCP。FTP日志文件和WWW日志文件产生的日志一般在c:\sys temroot\system32\LogFiles\W3SVC1目录下,默认是每天一个日志文件, FTP和WWW日志可以删除,但是FTP日志所记录的一切还是会在系统日志和安全日志里记录下来,如果用户需要尝试删除这些文件,通过一些并不算太复杂的 方法,例如首先停止某些服务,然后就可以将该日志文件删除。具体方法本节略。 Windows 2000中提供了一个叫做安全日志分析器(CyberSafe Log Analyst,CLA)的工具,有很强的日志管理功能,它可以使用户不必在让人眼花缭乱的日志中慢慢寻找某条记录,而是通过分类的方式将各种事件整理 好,让用户能迅速找到所需要的条目。它的另一个突出特点是能够对整个网络环境中多个系统的各种活动同时进行分析,避免了一个个单独去分析的麻烦。 2.3.4 Windows XP日志文件 说Windows XP的日志文件,就要先说说Internet连接防火墙(ICF)的日志,ICF的日志可以分为两类:一类是ICF审核通过的IP数据包,而一类是ICF 抛弃的IP数据包。日志一般存于Windows目录之下,文件名是pfirewall.log。其文件格式符合W3C扩展日志文件格式(W3C Extended Log File Format),分为两部分,分别是文件头(Head Information)和文件主体(Body Information)。文件头主要是关于Pfirewall.log这个文件的说明,需要注意的主要是文件主体部分。文件主体部分记录有每一个成功通 过ICF审核或者被ICF所抛弃的IP数据包的信息,包括源地址、目的地址、端口、时间、协议以及其他一些信息。理解这些信息需要较多的TCP/IP协议 的知识。ICF生成安全日志时使用的格式是W3C扩展日志文件格式,这与在常用日志分析工具中使用的格式类似。 当我们在WindowsXP的“控制面板”中,打开事件查看器。 就可以看到WindowsXP中同样也有着系统日志、安全日志和应用日志三种常见的日志文件,当你单击其中任一文件时,就可以看见日志文件中的一些记录, 在高级设备中,我们还可以进行一些日志的文件存放地址、大小限制及一些相关操作。 若要启用对不成功的连接尝试的记录,请选中“记录丢弃的数据包”复选框,否则禁用。另外,我们还可以用金山网镖等工具软件将“安全日志”导出和被删除。 2.3.5 日志分析 当日志每天都忠实的为用户记录着系统所发生的一切的时候,用户同样也需要经常规范管理日志,但是庞大的日志记录却又令用户茫然失措,此时,我们就会需要使 用工具对日志进行分析、汇总,日志分析可以帮助用户从日志记录中获取有用的信息,以便用户可以针对不同的情况采取必要的措施。 3 系统日志的删除 因操作系统的不同,所以日志的删除方法也略有变化,本文从Windows 98和Windows 2000两种有明显区别的操作系统来讲述日志的删除。 3.1 Windows 98下的日志删除 在纯DOS下启动计算机,用一些常用的修改或删除命令就可以消除Windows 98日志记录。当重新启动Windows98后,系统会检查日志文件的存在,如果发现日志文件不存在,系统将自动重建一个,但原有的日志文件将全部被消 除。 3.2 Windows 2000的日志删除 Windows 2000的日志可就比Windows 98复杂得多了,我们知道,日志是由系统来管理、保护的,一般情况下是禁止删除或修改,而且它还与注册表密切相关。在Windows 2000中删除日志首先要取得系统管理员权限,因为安全日志和系统日志必须由系统管理员方可查看,然后才可以删除它们。 我们将针对应用程序日志,安全日志、系统日志、DNS服务器日志、FTP日志、WWW日志的删除做一个简单的讲解。要删除日志文件,就必须停止系统对日志 文件的保护功能。我们可以使用命令语句来删除除了安全日志和系统日志外的日志文件,但安全日志就必须要使用系统中的“事件查看器”来控制它,打开“控制面 板”的“管理工具”中的“事件查看器”。在菜单的“操作”项有一个名为“连接到另一台计算机”的菜单。 输入远程计算机的IP,然后需要等待,选择远程计算机的安全性日志,点击属性里的“清除日志”按钮即可。 4 发现入侵踪迹 如何当入侵者企图或已经进行系统的时候,及时有效的发现踪迹是目前防范入侵的热门话题之一。发现入侵踪迹的前题就是应该有一个入侵特征数据库,我们一般使用系统日志、防火墙、检查IP报头(IP header)的来源地址、检测Email的安全性以及使用入侵检测系统(IDS)等来判断是否有入侵迹象。 三、实验步骤 Internet的迅速发展给人们带来巨大方便的同时,也使我们面临着各种安全事件的威胁。随着各种攻击技术的不断发展,针对网络资源的攻击越来越多,如拒绝服务攻击和蠕虫等。因此如何在大规模网络环境下检测网络异常并为应急响应人员及时提供预警信息,是目前亟待解决的问题。入侵检测看似困难,但实际上就是对大规模网络数据流进行数据流挖掘算法,但目前尚没有利用数据流挖掘技术,以检测出频繁或异常模式。 以sougou搜索引擎日志为例: 名称: 用户查询日志(SogouQ) 版本: 2008 介绍: 搜索引擎查询日志库设计为包括约1个月Sogou搜索引擎部分网页查询需求及用户点击情况的网页查询日志数据集合。为进行中文搜索引擎用户行为分析的研究者提供基准研究语料。 格式说明: 数据格式为 用户ID\t[查询词]\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击的URL 其中,用户ID是根据用户使用浏览器访问搜索引擎时的Cookie信息自动赋值,即同一次使用浏览器输入的不同查询对应同一个用户ID。 以下为几个实际的范例:

请用附件所给迷你版(样例数据, 328KB):SogouQ.mini,阅读《基于大规模日志分析的网络搜索引擎用户行为研究》编写程序发现: 1)用户点击的热点; 2)结果之间的关联关系
四、实验报告要求 1、详细记录实验步骤、现象、问题。 2、以sougou搜索引擎日志为例,编写程序自动或手动,对数据进行分析,检查出频繁或异常模式。要求至少给出一条分析结论,并给出分析的详细过程。
Part 5 编程题:基于双因素认证的PC安全系统设计
在现今一般的状况下,使用者通常使用的网络登录办法为:用户名称+密码,而一般在密码为静态状况下,将会产生某些问题,比如为了维护密码安全性,必须严格规定相当长度,复杂性及定期更换(例如:中英文数字夹杂,大小写间隔,长度须超过8个字符以上),并且使用者为了方便记忆,常常习惯使用特殊的数字,例如 家人的生日,自己的生日,身高体重,电话或门牌号码来记忆,此种方法,只要利用黑客工具,如字典攻击法等等便能在短时间内便可将密码破解,甚至只要有人在 身后窥视便可探知您正在键入的密码,所以此种方法相当不安全. 网络安全是由许多环节所组成的,包括数据传输的加解密、使用者的身份认证、非法入侵的侦测与杜绝等,单靠一套防毒软件或是防火墙离真正的网络安全仍有一段距离。 现今除了使用SSL使传输加密外,还可再加上身分认证,双管齐下更可确保网络安全,目前先进的欧美国家在网络安全上,都相当重视“使用者的身份认证”。然 而目前绝大多数的网络服务,例如网络信箱、网络拍卖、网络银行,大都只有透过“静态密码”来保护。大多数人都不懂得如何妥善管理自己的账号密码,例如他们 会选择一些容易被人猜中的数字作为密码、没有定期更改密码或将密码张贴于显眼的位置,进而遭到数据甚至财物上的损失。因此我们需要采用一套更安全的身份认证方式,这就是目前被认为最安全的双因素认证机制。 双因素是密码学的一个概念,以理论上来说,身份认证有三个要素: 第一个要素:需要使用者记忆的身份认证内容,例如密码和身x份x证号码等等。 第二个要素:使用者拥有的特殊认证加强机制,例如动态密码卡,IC卡,磁卡等。 第三个要素:使用者本身拥有的唯一特征,例如指纹,瞳孔 ,声音等等…. 一般使用者只使用了第一个要素,承上所知,它是不安全的方式,而将第一及第二种要素结合则成为现在更安全的认证作法,也就是所谓的“双因素认证”其可结合 用户拥有的认证设备以及其已知的信息两个因素同时使用,就跟利用自动柜员机提款相似:使用者必需利用提款卡(认证设备),再输入个人识别号码(已知信 息),才能提取其账户的款项 。 请编程实现一个基于密码口令和硬件U盘的双因素认证PC安全系统程序。 要求1:第一次运行程序可 设置口令和U盘。按下特定键,可锁定电脑。 要求2:满足以下条件方能解除锁定;a)输入正确的口令;b)插入特定的U盘。 要求3:口令能重置,U盘必须与其硬件特性绑定,除非通过程序更换绑定U盘,否则U盘属性不可复制、拷贝和删除。 ♥Tips:基于AHK编程的小例子♥ 锁住电脑除了设置用户密码,然后离开的时候按下 Win + L,或者用 Lock Screen Appinn 这个屏幕密码锁[AHK],或者是用 OffandLock 一键关闭显示器并且锁定电脑。如果你对电脑安全比较敏感,那么一定要试试 Predator ,它能把你闲置的 U 盘变成开启电脑的钥匙。 第一次运行 Predator,它会提示你插入 U 盘。点击 Ok,就可以看到如图的界面,设置一个密码,点击 Create key 创建一个解锁文件到 U 盘里面。 弹出 U 盘,过了大约十秒,电脑就会黑下来,只能看见鼠标。桌面的图标全部被隐藏,窗口全部最小化。插入 U 盘就可以解锁。或者按下 Ctrl + Shift + ESC,这时候会弹出密码输入框。输入密码之后,监视 U 盘的动作就会停止。 #Persistent #SingleInstance Force ifexist, Lock.ico Menu, tray, icon, Lock.ico ifnotexist, setting.ini { inputbox, key, 请设置密码 IniWrite, %key%, setting.ini, setting, key } IniRead, key, setting.ini, setting, key if key="" { inputbox, key, 请设置密码 IniWrite, %key%, setting.ini, setting, key } gosub, makemenu ; 优化内存 EmptyMem() return set: inputbox, key, 请设置密码 IniWrite, %key%, setting.ini, setting, key menu, tray, Rename, %menukey%, 密码:%key% menukey=密码:%key% Return start: blockinput, MouseMove Gui, +AlwaysOnTop +Disabled -SysMenu +Owner -Caption +ToolWindow gui, add, text, , 你已经锁定键盘与鼠标`n请输入正确的密码以解锁 CustomColor = 999A9B Gui, Color, %CustomColor% gui, show hotkey, Lbutton, stop hotkey, Rbutton, stop hotkey, Mbutton, stop hotkey, LWin, stop hotkey, Rwin, stop hotkey, LAlt, stop hotkey, RAlt, stop hotkey, Ctrl, Stop hotkey, esc, stop hotkey, del, stop hotkey, f1, stop hotkey, f4, stop hotkey, tab, stop i:=1 Loop { input, a, L1 StringLeft, temp, key, %i% stringright, temp, temp, 1 if a=%temp% { i++ }else{ i:=1 } if (i=(strlen(key)+1)) { blockinput, mousemoveoff gui, Destroy Gui, +AlwaysOnTop +Disabled -SysMenu +Owner -Caption +ToolWindow gui, add, text, , 已解锁,程序即将退出 CustomColor = 999A9B Gui, Color, %CustomColsor% gui, show sleep, 500 gui, destroy Reload } } Return stop: return makemenu: menu, tray, NoStandard Menu, Tray, DeleteAll menu, tray, add, 锁定屏幕, start menu, tray, default, 锁定屏幕 menukey=密码:%key% menu, tray, add, %menukey%, stop menu, tray, disable, %menukey% menu, tray, add, 关于..., about menu, tray, add menu, tray, add, 设置密码, set menu, tray, add menu, tray, add, 退出, exitit Return about: traytip, , by XXXXXX Return exitit: ExitApp Return EmptyMem(PID="AHK Rocks"){ pid:=(pid="AHK Rocks") ? DllCall("GetCurrentProcessId") : pid h:=DllCall("OpenProcess", "UInt", 0x001F0FFF, "Int", 0, "Int", pid) DllCall("SetProcessWorkingSetSize", "UInt", h, "Int", -1, "Int", -1) DllCall("CloseHandle", "Int", h) }
Part 6 陈述题:


弗雷德·科恩Frederick B. Cohen (born 1956),美国著名黑客,1983年11月3日,还是南加州大学在读研究生的弗雷德·科恩在UNIX系统下,编写了第一个会自动复制并在计算机间进行传染从而引起系统死机的病毒,因此被誉为因此被誉为“计算机病毒之父”. ★人物经历★ 1983年,科恩那时还是一名南加州大学工程学院的在读研究生,师从RSA加密法著名的的三位发明者之一一罗纳德·阿德莱曼。 1983年11月3日,弗雷德·科恩在UNIX系统下,编写了一个会自动复制并在计算机间进行传染从而引起系统死机的小程序。该程序对电脑并无害处,潜伏于更大的合法程序当中,通过软盘(当前出售的电脑多不再用)传到电脑上。一些电脑专家也曾警告,电脑病毒是有可能存在的,但科恩是第一个真正通过实践记录电脑病毒的人。 1984年,科恩为了证明其理论,在大学老师的建议下,将这些程序以论文发表,在其博士论文给出了电脑病毒的第一个学术定义,这也是今天公认的标准,从而引起了轰动。 弗雷德·科恩在一篇论文中把计算机病毒定义为:“计算机病毒是一种计算机程序,它通过修改其它程序把自身或其演化体插入它们中,从而感染它们。”他同时证明,这样的病毒能够在任何允许信息共享的系统中传播,不论是否有安全技术。 1987年弗雷德·科恩(Fred Cohen)在其著名的论文《计算机病毒》(Computer Viruses)中首先提出了关于“计算机病毒”的概念。在这短短的几年里,计算机病毒在全世界范围内得到了广泛的蔓延与传染 1988年弗雷德·科恩著文强调:“计算机病毒不是利用操作系统的错误或缺陷的程序。它是正常的用户程序,它仅使用那些每天都使用的正常操作。 ” 1988年,弗雷德·科恩创造了计算机病毒,而他又教人们如何战胜病毒。弗雷德·科恩在接受美国广播公司采访时说:“你可以在捣蛋鬼回家以前编写防御程序。保证最终一些病毒可以突破那些防线。” 2009年美国广播公司(ABC)在赛门铁克、美国司法部、美国国家白领犯罪中心和其他一些知名高科技咨询机构的帮助下,评选出了美国史上最著名的——或许也是最臭名昭著的——五大电脑黑客。弗雷德·科恩(Fred Cohen)榜上有名。 从2011年开始,弗雷德·科恩慢慢淡出了公众视野,但是作为一个安全行业的专家,他一直在从事安全行业的相关研究和咨询工作。2014年,他担任Fred Cohen公司的CEO和合伙人,主要为美国政府提供调研和咨询服务,他还同时担任韦伯斯特大学CyberLab主任。 2014年,应邀参加中国互联网安全大会的弗雷德·科恩首次来中国,他将在大会期间做有关科学和信息安全保护全球标准的相关主题报告。 ★主要成就★ 弗雷德·科恩,是第一个真正通过实践让计算机病毒具备破坏性的概念具体成形的人。也正是他的一位教授正式将他编写的那段程序命名为“病毒(virus)”。在弗雷德·科恩之前,只有不少计算机专家都曾发出警告,计算机病毒可能会出现。 ★报告内容★ 1、阅读论文,完成10分钟PPT。提交电子版。 2、PPT内容必须至少包括但不限于以下内容: (1)Fred Cohen为什么被称计算机病毒之父? (2)计算机病毒的定义? (3)基于图灵机模型的病毒机制解释? (4)你的观点。
精读材料:
好书推荐

Computer Security: Art and Science By Matt Bishop Publisher : Addison Wesley Pub Date : November 29, 2002 ISBN : 0-201-44099-7 Pages : 1136 "This is an excellent text that should be read by every computer security professional and student." —Dick Kemmerer, University of California, Santa Barbara. "This is the most complete book on information security theory, technology, and practice that I have encountered anywhere!" —Marvin Schaefer, Former Chief Scientist, National Computer Security Center, NSA This highly anticipated book fully introduces the theory and practice of computer security. It is both a comprehensive text, explaining the most fundamental and pervasive aspects of the field, and a detailed reference filled with valuable information for even the most seasoned practitioner. In this one extraordinary volume the author incorporates concepts from computer systems, networks, human factors, and cryptography. In doing so, he effectively demonstrates that computer security is an art as well as a science. Computer Security: Art and Science includes detailed discussions on: ● The nature and challenges of computer security ● The relationship between policy and security ● The role and application of cryptography ● The mechanisms used to implement policies ● Methodologies and technologies for assurance ● Vulnerability analysis and intrusion detection Computer Security discusses different policy models, and presents mechanisms that can be used to enforce these policies. It concludes with examples that show how to apply the principles discussed in earlier sections, beginning with networks and moving on to systems, users, and programs. This important work is essential for anyone who needs to understand, implement, or maintain a secure network or computer system.
布置这么点,够谁做的。