计算机病毒原理及防范技术-第2章 基础知识

上传人:aa****6 文档编号:54869564 上传时间:2018-09-21 格式:PPT 页数:82 大小:850.50KB
返回 下载 相关 举报
计算机病毒原理及防范技术-第2章 基础知识_第1页
第1页 / 共82页
计算机病毒原理及防范技术-第2章 基础知识_第2页
第2页 / 共82页
计算机病毒原理及防范技术-第2章 基础知识_第3页
第3页 / 共82页
计算机病毒原理及防范技术-第2章 基础知识_第4页
第4页 / 共82页
计算机病毒原理及防范技术-第2章 基础知识_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《计算机病毒原理及防范技术-第2章 基础知识》由会员分享,可在线阅读,更多相关《计算机病毒原理及防范技术-第2章 基础知识(82页珍藏版)》请在金锄头文库上搜索。

1、计算机病毒原理及防范技术,第1章 计算机病毒概述,2.4 计算机引导过程,2.3 汇编语言与程序接口,2.2 文件系统,2.1 磁盘结构与管理,2.5 COM和EXE文件结构,教学要求:,理解:有关计算机底层的最基本问题,计算机结构、汇编语言知识等在本课程学习中都会涉及的知识点 掌握:磁盘结构和分区,文件系统,汇编语言和接口的基础知识,启动过程,COM和EXE文件结构,2.1 磁盘结构与管理,计算机磁盘是计算机最重要的长期存储设备,其容量大、数据保存时间长,已经成为计算机不可或缺的基本组成设备。可以说,磁盘是当今计算机正常运行的保证之一。磁盘上记录着很多文件和数据,而计算机病毒正是瞄准了这些重

2、要的地方,对磁盘进行入侵。可以这么说,如果不了解磁盘结构和管理工作,将根本无法抵抗病毒的攻击。,2.1 磁盘结构与管理(续),三参数概念 Cylinder(柱面):C表示磁盘的柱面数,亦即磁盘的每个盘面上有多少个磁道。其值最大为1023个(2101个),使用10位二进制数存储。 Head(磁头):H表示该硬盘中磁头的数量。其值最大为255个(281个),使用8位二进制数存储。 Sector(扇区):S表示每个磁道上扇区的数量。其值最大为63个(261个),使用6位二进制数存储。,2.1 磁盘结构与管理(续),典型硬盘拆解图,2.1 磁盘结构与管理(续),另一典型磁盘拆解图,2.1 磁盘结构与管

3、理(续),磁盘分解示意图,2.1 磁盘结构与管理(续),同轴磁盘和柱面的关系,2.1 磁盘结构与管理(续),柱面、磁道和扇区,2.1 磁盘结构与管理(续),现代磁盘结构老式磁盘中,由于每个扇区都是512B,而忽略了扇区本身的长度,从而造成了很大的浪费。因此,现代新技术下的磁盘,都采取了等密度结构。也就是说,每个扇区,不论弧度是多少,其弧长都是一样,这样,外圈磁道的扇区数就要大于内圈磁道。这样一来,原有的三参数体系就被打破了,寻址方式也就成为了线性寻址方式,扇区成了寻址的单位。,2.1 磁盘结构与管理(续),基本INT 13H 调用和扩展INT 13H调用 基本INT 13H调用是针对三参数磁盘

4、所提供的最基本磁盘输入输出功能的调用,包含读写、校验、定位、复位等功能。由于它是基于三参数的,所以只能支持最大不超过8GB的硬盘。 扩展1NT 13H调用是面向新型磁盘的。现代磁盘使用的是线性寻址方式。但是由于基本INT 13H的限制,使得在使用BIOS INT 13H接口程序,如MS-DOS时,还是只能访问最大8GB的磁盘空间。于是微软联合几家企业制定了扩展INT 13H标准,即所谓的Extended INT 13H,从而打破了这一限制。这一新标准就是采取线性方式寻址,并且还能支持移动硬盘等可移动介质。,2.1 磁盘结构与管理(续),主引导扇区(Boot Sector)是硬盘的第一个扇区(0

5、柱面0磁道1扇区)。它由三部分组成。 主引导记录(Main Boot Record,MBR):主引导程序所在地,占用引导扇区的前446B(00x1bdh),负责从活动分区中加载操作系统引导程序。 硬盘分区表(Disk Partition Table,DPT):存放磁盘基本分区信息,共64B(0x1beh0x1fdh)。该分区表分为4个分区项,各16B,每个分区项用以记录各主分区的信息。这就是为什么硬盘中只能有至多4个主分区的原因。 引导扇区标记(Boot Record ID):用以标定引导扇区是否合法,如果其内容等于0xAA55则表明引导扇区合法。其位置在0x1FEH和0x1FFH,共2B。,

6、2.1 磁盘结构与管理(续),分区表的结构说明: State:分区状态,占用一个字节,用来标定该分区是否被激活,其中:0=未激活;0x80=激活。 StartHead:分区起始磁头号,占用一个字节。 StartSC:分区起始扇区号和柱面号,占用两个字节,其中:低字节的低6位用来记录扇区号,低字节的高两位为柱面号的第9、10两位,而高字节为柱面号的低8位。希望读者一定注意。 Type:分区类型记录,占用一个字节。这一个字节不同的二进制组合代表不同的分区类型,如0x06为FAT16。本书后附录2中有详细记录,供读者参考。需要注意的是,如果该字节中为全0,则表明该分区未被使用。 EndHead:分区

7、结束磁头号,占用一个字节。 EndSC:分区结束扇区号和柱面号,占用两个字节,其中,低字节的低6位用来记录扇区号,低字节的高两位为柱面号的第9、10两位,而高字节为柱面号的低8位。这和StartSC的定义是完全一致的。 Relative:用于线性寻址方式下的分区相对扇区表,占用4B,如果对于基本分区则是绝对地址。 Sectors:记录该分区所占用的总扇区数,占用4B。,2.1 磁盘结构与管理(续),扩展分区的特点: 在主分区表中,必须存放一个基本扩展分区项,用以存放后面所有的扩展分区的信息。 在基本扩展分区外的其余所有扩展分区以链表的形式存放,且后一个扩展分区的数据项存放在前一个扩展分区的分区

8、表中,且没有两个扩展分区的空间是重合的。 扩展分区也有相应的类型(如上结构中的Type项),一般讨论的DOS/Windows操作系统中,扩展分区的类型定义为0x05。 扩展分区不能直接使用,而需要进一步分区;否则无法使用。在DOS/Windows操作系统中就是所谓的逻辑盘。 每个扩展分区中只能有一个其他分区,因此可以得出:一个扩展分区的分区表中最多只能有两个分区数据项,包括存放在本扩展分区第一扇区中的分区表项和链接到下一扩展分区的数据项。,2.2 文件系统,一台计算机的磁盘是不能直接使用的,还需要各种技术的支持。硬盘的作用是用来存放文件(File)和数据(Data)(其实对于底层物理硬盘而言,

9、这两者实际上是没有区别的),就好像一个仓库一样。显然仓库中的物品是不能随意存放的,而应该是井井有条,既能让货物方便地存放进来,又能很高效、快捷地查找,取出需要的货物。磁盘上的文件存放也应该是这样。,2.2 文件系统(续),FAT一块硬盘是不能直接使用的,必须对它进行格式化。所谓的格式化,可以理解为对硬盘进行一定格式的划分,从而能规范文件的存储和提高硬盘的性能。FAT(File Allocation Table,文件分配表)是文件系统用以管理磁盘上文件各种信息的数据库,是一种供MS-DOS及其他Windows操作系统对文件进行组织与管理的文件系统。当用户使用FAT或FAT32文件系统对特定卷进行

10、格式化时,由Windows所创建的一种数据结构,并将与文件相关的信息存入其中,以供日后获取文件时使用,这种数据结构就是FAT。,2.2 文件系统(续),簇和FAT32 在学习FAT32之前,有必要先学习一个概念:簇(Cluster)。如上所述,当硬盘被格式化后,就被划分成很多扇区,而FAT系统又会将若干个扇区合并成一个“簇”。当需要为文件分配存储空间时,系统就是以“簇”作为基本分配单位。在Windows操作系统中,簇被称为基本分配单元(Basic Allocation Unit)。一个簇所含有的扇区数必须是2的整数次幂。簇的大小是可以计算的:将磁盘的总容量除以64KB,大于所得数的最小的2的整

11、数次幂就是一个簇的容量。如果再将这个容量除以512B,就得到了一个簇中所包含扇区的数量。 FAT32 是从早期的FAT经过改进得来的文件系统,与FAT相比,它能支持更小的簇以及更大的容量,从而能够在FAT32卷上更为高效地分配磁盘空间。下面将要就FAT16和FAT32做一个比较详细的比较。大家可以在这个比较过程中更加深刻地理解底层磁盘的工作原理。,2.2 文件系统(续),FAT16 和FAT32的比较最早的FAT文件系统是12位的。这里多少位是指FAT在保存文件信息时所使用的二进制位,以下的16位、32位等都是同样的含义。显然位数越少能记录的文件信息就越少。于是12位FAT就只能用在小容量磁盘

12、上,如软盘。最早的DOS中DOS 1.0版本所使用的就是12位FAT。当计算机引入了硬盘这种海量存储设备后,12位的FAT就变得力不从心了,于是从DOS 2.0开始,FAT16就成了实际上的标准。,2.2 文件系统(续),FAT16很好地完成了当时所需的文件分配任务,对磁盘划分也十分适当,但是当硬盘容量飞速提高时,FAT16的弊端也开始显现,矛盾主要集中在以下两个方面: 首先,16位存储单位所能表征的最大值为65535(655361=65535),亦即只有65536个不同的二进制数(065535)。每一个二进制数对应一个扇区,则FAT16所能确定的最大磁盘容量就是65536512B=32MB。

13、换句话说,使用FAT16的操作系统最多只能识别这么多个扇区,并对其编址和寻址。当20世纪80年代后期,硬盘的容量突破了这个“极限”后,FAT16就不能适应新的要求了。于是FAT32替代FAT16成为DOS 4.0及其以后的标准。 麻烦还不止这些,当一块硬盘的容量等于2GB时,由上可知一个簇大小为64KB,即65536B,可是FAT16只能识别到65535。这是个临界值,但很多早期的应用程序并没有意识到这个问题,而仍然按照64KB来编写文件,于是造成了文件存储的错误。显然,当硬盘容量大于2GB,这个问题会更加严重。 第二,FAT16中有一个磁盘参数列表(也就是一个记录磁盘参数的数据结构),其中有

14、一个字节用来记录该磁盘中一个簇所具有的扇区的个数。由上所述,这个数必须是2的整数次幂。则一个字节所能表征的最大值为255,所以一个簇最多只能包含128个扇区,即64KB。而当硬盘容量较2GB翻倍后这个问题也会显现出来。当然,4GB硬盘使用FAT16会发生的错误是通过理论推知的,实际上不可能被看见,因为当硬盘在2GB时就已经不能使用FAT16了。,2.2 文件系统(续),NTFS的安全性要远大于FAT系列文件系统。这又体现在以下两个方面: 使用NTFS的分区,可以设置各种访问权限,如可以对文件夹、文件、网上共享资源等设置各种权限,也可以对用户或用户组设置各种权限,甚至可以精确地设置某一用户在某一

15、资源上所具有的非常详细的权限列表。所谓的权限,有以下两方面的内容。首先,允许哪些组或哪些用户对哪些文件夹、文件、网络共享资源等进行访问;其次,获得访问许可的组或用户可以进行什么级别的访问,如某用户可以对某台局域网中的计算机上的某个文件进行读操作而不能修改、删除等。仅从这点看来,NTFS就比FAT32对文件夹或文件进行访问要安全得多。 NTFS下的审核策略能将这种安全隐患减到最低。在Windows 2000系统中使用了NTFS的分区,都能够应用审核策略,该机制能对文件夹、文件及活动目录对象进行审核,审核结果记录在安全日志中,通过安全日志就可以查看哪些组或用户对文件夹、文件或活动目录对象进行了什么

16、级别的操作,从而发现系统可能面临的非法访问,以便采取相应的措施。通过这种方法可以将绝大多数的安全隐患扼杀在萌芽状态。而这正是FAT所不具备的一项重要安全功能,2.2 文件系统(续),NTFS的磁盘空间分配和回收基本单位也是簇,但是NTFS使用的簇更小,亦即对磁盘的划分更加细致,从而磁盘空间的利用率也更大,如下表,2.2 文件系统(续),NTFS格式还支持大硬盘,能满足日益增大的硬盘需求。NTFS可以支持的分区(在动态磁盘中则称为卷)最高为2TB(即21024GB),相比较Windows 2000中FAT32支持分区的大小最大为32GB,优势十分明显。,2.2 文件系统(续),NTFS文件系统还可以进行磁盘配额管理。所谓“磁盘配额”是指管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。同时,在设置了磁盘配额后,管理员可以对每一个用户的磁盘使用情况进行监测、记录及控制,监测功能可以标识出超过配额报警阈值和配额限制的用户,并帮助管理员采取相应的措施。有了这一利器,管理员就能方便地为用户分配存储资源,避免由于用户磁盘空间使用冲突而可能造成的系统崩溃,这点也提高了系统的安全性和稳定性。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号