1、,第一章,计算机安全概论,随着计算机在社会各个领域的广泛应用和迅速普及,人类社会业已步入信息时代。信息已经成为了人类的一种重要资源,人们生产和生活的质量将愈来愈多的取决于对知识信息的掌握和运用的程度。面对汪洋大海般的信息,计算机成为了信息处理必不可少的强有力工具。在计算机系统中,信息是指存储于计算机及其外部设备上的程序和数据。由于计算机系统中的信息涉及到有关国家安全的政治、经济、军事的情况以及一些部门、机构、组织与个人的机密,因此极易受到敌对势力以及一些非法用户、别有用心者的威胁和攻击。加之几乎所有的计算机系统都存在着不同程度的安全隐患,所以,计算机系统的安全、保密问题越来越受到人们的重视。,
2、1-1 计算机安全研究的重要性,1-1-1 计算机系统面临的威胁 1.对实体的威胁和攻击 所谓实体,是指实施信息收集、传输、存储、加工处理、分发和利用的计算机及其外部设备和网络。对实体的威胁和攻击是对计算机本身和外部设备以及网络和通信线路而言的。这些威胁主要有:各种自然灾害、人为的破坏、设备故障、操作失误、场地和环境的影响、电磁干扰、电磁泄漏、各种媒体的被盗及数据资料的损失等。 2.对信息的威胁和攻击 由于计算机信息有共享和易于扩散等特性,使得它在处理、存储、传输和使用上有着严重的脆弱性,很容易被干扰、滥用、遗漏和丢失,甚至被泄露、窃取、篡改、冒充和破坏,还有可能受到计算机病毒的感染。威胁和攻
3、击可细分为两类,即信息泄漏和信息破坏。,3.计算机犯罪 计算机犯罪是指行为人运用所掌握的计算机专业知识,以计算机为工具或以计算机资产为攻击对象,给社会造成严重危害的行为。其中,计算机资产包括硬件、软件、计算机系统中存储、处理或传输的数据及通讯线路。 4.计算机病毒 计算机病毒是由破坏者精心设计和编写的,能够通过某种途径潜伏在计算机存储介质(或程序)里,当达到某种条件时即被激活的具有对计算机资源进行破坏作用的一组程序或指令集合。计算机病毒的破坏行为体现了病毒的杀伤能力。,1-1 计算机安全研究的重要性,1-1-2 计算机系统的脆弱性 1.操作系统安全的脆弱性 操作系统是一切软件运行的基础,也是唯
4、一紧靠硬件的基本软件。作为信息系统最基础、最核心的部分,各种操作系统却又都存在着这样或那样的安全隐患。操作系统的不安全是计算机不安全的根本原因。 2.网络安全的脆弱性 计算机网络尤其是互连网络,由于网络分布的广域性、网络体系结构的开放性、信息资源的共享性和通信信道的共用性,而使计算机网络存在很多严重的脆弱点。它们是网络安全的严重隐患。,3.数据库安全的脆弱性 由于数据库系统具有共享性、独立性、一致性、完整性和可访问控制性等诸多优点,因而得到了广泛应用,现已成为了计算机系统存储数据的主要形式。与此同时,数据库应用在安全方面的考虑却很少,容易造成存储数据的丢失、泄漏或破坏。 4.防火墙的局限性 防
5、火墙可以根据用户的要求隔断或连通用户的计算机与外界的连接,避免受到恶意的攻击,但防火墙不能保证计算机系统的绝对安全,它也存在许多的局限性。,1-1 计算机安全研究的重要性,1-1-3计算机系统安全的重要性 随着人们对计算机信息系统依赖程度的越来越大,应用面的越来越广,计算机系统安全的重要性也越来越突出。,1-2 计算机系统的安全技术,1-2-1 计算机安全技术的发展过程 在上世纪50年代,由于计算机应用的范围很小,安全问题并不突出,计算机系统的安全在绝大多数人的印象中是指实体及硬件的物理安全。 自上世纪70年代,数据的安全逐渐成为计算机安全技术的主题。 国际标准化组织( ISO )在1984年
6、公布了信息处理系统参考模型,并提出了信息处理系统的安全保密体系结构(ISO-7498-2)。 进入20世纪90年代,计算机系统安全研究出现了新的侧重点。一方面,对分布式和面向对象数据库系统的安全保密进行了研究;另一方面,对安全信息系统的设计方法、多域安全和保护模型等进行了探讨。 目前,计算机安全技术正经历着前所未有的快速发展,并逐渐完善、成熟,形成了一门新兴的学科。,1-2 计算机系统的安全技术,1-2-2 计算机安全技术的研究内容 1.实体硬件安全 2.软件安全 3.数据安全 4.网络安全 5.病毒防治 6.防计算机犯罪,1-2 计算机系统的安全技术,1-2-3计算机安全系统的设计原则(1)
7、木桶原则 (2)整体性原则 (3)有效性与实用性原则 (4)安全性评价原则 (5)动态化原则 (6)设计为本原则 (7)有的放矢、各取所需原则,1-3 计算机系统安全评估,1-3-1 计算机系统安全评估的重要性 计算机系统的安全评估其过程本身就是对系统安全性的检验和监督。系统安全评估包括了构成计算机系统的物理网络和系统的运行过程、系统提供的服务以及这种过程与服务中的管理、保证能力的安全评价,大致来说包括: 1.明确该系统的薄弱环节。 2.分析利用这些薄弱环节进行威胁的可能性。 3.评估如果每种威胁都成功所带来的后果。 4.估计每种攻击的代价。 5.估算出可能的应付措施的费用。 6.选取恰当的安
8、全机制。,1-3 计算机系统安全评估,1-3-2 计算机系统的安全标准 20世纪70年代,美国国防部就已经发布了诸如“自动数据处理系统安全要求”等一系列的安全评估标准。1983年又发布了“可信计算机评价标准”,即所谓的桔皮书、黄皮书、红皮书和绿皮书。并于1985年对此标准进行了修订。 在安全体系结构方面,ISO制定了国际标准ISO7498-2-1989信息处理系统开放系统互连基本参考模型第2部分安全体系结构。 我国从20世纪80年代开始,本着积极采用国际标准的原则,转化了一批国际信息安全基础技术标准,使我国信息安全技术得到了很大的发展。 有关的信息安全标准如:计算机信息系统安全专用产品分类原则
9、、计算机信息系统安全保护等级划分准则、商用密码管理条理、中华人民共和国计算机信息系统安全保护条理等。,1-3 计算机系统安全评估,1-3-3 计算机系统的安全等级 常见的计算机系统安全等级的划分有两种:一种是依据美国国防部发表的评估计算机系统安全等级的桔皮书,将计算机安全等级划分为四类八级,即A2 A1 B3 B2 B1C2 C1 D级;另一种是依据我国颁布的计算机信息系统安全保护等级划分准则(GB17859_1999),将计算机安全等级划分为五级。,1-4 计算机安全法规,1-4-1 计算机安全立法的必要性 法律是信息安全的第一道防线,建立健全计算机安全法律体系能够为计算机系统创造一个良好的
10、社会环境,对保障计算机安全意义重大。 计算机安全法律是在计算机安全领域内调整各种社会关系的法律规范的总称。主要涉及系统规划与建设的法律,系统管理与经营的法律,系统安全的法律,用户(自然人或法人)数据的法律保护,电子资金划转的法律认证,计算机犯罪与刑事立法,计算机证据的法律效力等法律问题。应该不断制定和完善计算机安全方面的法律、法规,加强计算机安全执法力度,保证计算机及信息系统的安全。,1-4 计算机安全法规,1-4-2 计算机安全法规简介 我国1991年颁布了计算机软件保护条例,1994年2月又颁布了中华人民共和国计算机信息系统安全保护条例,它揭开了我国计算机安全工作新的一页。是我国计算机安全
11、领域内第一个全国性的行政法规,它标志着我国的计算机安全工作开始走上规范化的法律轨道。 我国颁布的计算机安全法规还有:中华人民共和国计算机信息网络国际联网管理暂行规定、中华人民共和国计算机信息网络国际联网管理暂行规定实施办法、中国公用计算机Internet国际联网管理办法、计算机信息系统国际联网保密管理规定、商用密码管理条例、计算机病毒防治管理办法、计算机信息系统安全专用产品检测和销售许可证管理办法、电子出版物管理规定等等。,1-5 计算机安全技术的发展方向与市场分析,1.越来越多的安全标准将被日益广泛的采用及应用。 2.认证、认可将成为一种制度。 3.安全策略越来越合理化。 4.安全体系升级换
12、代。 5.安全管理。 6.生物识别技术。 7.灾难恢复技术。,第二章,实体及硬件安全技术,2-1 计算机房安全的环境条件,实体及硬件安全是指保护计算机设备、设施(含网络)以及其它媒体免遭地震、水灾、火灾、有害气体和其他环境事故(包括电磁污染等)破坏的措施和过程。实体安全是整个计算机系统安全的前提,如果实体安全得不到保证,则整个系统就失去了正常工作的基本环境。一般来说,这个基本环境是指计算机房及其设施。计算机房除必须满足计算机设备对温度,湿度和空气洁净度,供电电源的质量和电磁场和振动等项的技术要求外,还必须满足在机房中工作的人员对照明度、空气的新鲜度和流动速度、噪声等项的要求。同时由于计算机属于
13、贵重精密设备,在有些部门中属于关键和脆弱的中心,所以,机房对消防和安全保密也有较高的要求。,2-1 计算机房安全的环境条件,2.1.1 计算机房场地环境选择 为计算机房选择一个合适的安装场所,对计算机系统长期稳定、可靠、安全的工作是至关重要的。 我们在选择计算机房场地环境时要注意: (1)应尽量满足水源充足、电源稳定可靠、交通通讯方便、自然环境清洁的条件。 (2)应避开环境污染区,远离产生粉尘、油烟、有害气体等的区域。 (3)应远离生产或贮存具有腐蚀性、易燃、易爆物品的工厂、仓库、堆场等场所。 (4)应避开低洼、潮湿、落雷区域和地震频繁的地方。 (5)应避开强振动源和强噪音源,如车间、工地、闹
14、市、机场等。 (6)应避开强电磁场的干扰,当无法避开时,可采取有效的电磁屏蔽措施。 (7)机房在多层建筑或高层建筑物内宜设于第二、三层,应避免设在建筑物的高层或地下室,以及用水设备的下层或隔壁。 (8)计算机房的位置应充分考虑计算机系统和信息的安全。 其它的注意事项可以参阅国标(GB2887-2000)。这个标准是计算机场地建设的主要技术依据。,2-1 计算机房安全的环境条件,2.1.2 计算机房内环境条件要求 1.温度 2.湿度 3.洁净度 4.腐蚀性气体 5.静电 6.振动与噪音 7.电源 8.照明,2.2 实体及硬件的安全防护,实体及硬件的安全防护是针对自然、物理灾害及人为蓄意破坏而采取
15、的安全措施与防护对策。通常包括防火、防水、防盗、防电磁干扰及对存储媒体的安全防护等。,2.2 实体及硬件的安全防护,2.2.1 三防措施(防火、防水、防盗) 1.防火 :(1)要有合理的建筑构造,这是防火的基础。(2)完善电气设备的安装与维护,这是防火的关键。(3)要建立完善消防设施,这是减少火灾损失的保障。(4)加强消防管理工作,消除火灾隐患。 2.防水 :机房防水工作是机房建设和日常运行管理的重要内容之一,应采取必要的防护措施:(1)机房不应设置在建筑物底层或地下室,位于用水设备下层的计算机机房,应在吊顶上设防水层,并设漏水检查装置。(2)机房内应避免铺设水管或蒸汽管道。已铺设的管道,必须
16、采取防渗漏措施。(3)机房应具备必要的防水、防潮设备。(4)机房应指定专人定期对管道、阀门进行维护、检修。(5)完善机房用水制度,有条件的机房应安装漏水检测系统,2.2 实体及硬件的安全防护,3.防盗 :常用的防盗措施有:(1)放置计算机设备的建筑物应该比较隐蔽,不要用相关的标志标明机房所在地。(2)机房门窗应具备防盗措施,如加固门窗,安装监视器等。(3)机房内的各类贵重物品应配置具有防盗功能的安全保护设备,如各种锁定装置、侵入报警器等。(4)严格出入登记制度,非本系统操作人员,一般情况下不准随意出入机房。(5)加强机房管理责任制,建立建全设备器材出入制度。,2.2 实体及硬件的安全防护,2.
17、2.2 电磁防护 1.电磁干扰:所谓电磁干扰(Electromagnetic Interference, EMI),是指无用的电磁信号或电磁骚扰对接收的有用电磁信号造成的扰乱。电气设备在运行过程中所产生的电磁干扰不仅会影响附近设备的正常运行,同时也会对人们的工作、生活和健康造成极大的危害。 2.电磁泄漏 :电磁泄漏是指电子设备的杂散(寄生)电磁能量通过导线或空间向外扩散。如果这些泄漏“夹带 ”着设备所处理的信息,就构成了所谓的电磁信息泄漏。 3.电磁防护措施 :(1)屏蔽 (2)滤波 (3)隔离 (4)接地 (5)选用低辐射设备 (6)使用干扰器,2.2 实体及硬件的安全防护,2.2.3 存储
18、媒体的访问控制 计算机系统中的大量信息都存储在某种媒体上,如磁盘、磁带、半导体、光盘、打印纸等。为了防止对信息的破坏、篡改、盗窃等事件的发生,就必须对存储媒体进行保护和管理,严格其访问控制。 1.身份识别 :身份识别的目的是确定系统的访问者是否是合法用户,一般包含“识别”和“验证”两个方面。 2.控制访问权限 :系统要确定用户对资源(比如 CPU 、内存、 I/O 设备、计算机终端等)的访问权限,并赋予用户不同的权限等级,如工作站用户、超级用户、系统管理员等。一般来说,用户的权限等级是在注册时赋予的。 3.管理措施 :存储媒体安全管理的目标是:保证系统在有充分保护的安全环境中运行,由可靠的操作
19、人员按规范使用计算机系统,系统符合安全标准。管理应紧紧围绕信息的输入、存储、处理和交换这个过程来进行。 除此之外,还应该健全机构和岗位责任制,完善安全管理的规章制度,加强对技术、业务、管理人员的法制教育、职业道德教育,增加安全保密和风险防范意识,以实现科学化、规范化的安全管理。,2.3 计算机硬件的检测与维修,在计算机系统的故障现象中,硬件的故障占到了很大的比例。正确的分析故障原因,快速的排除故障,可以避免不必要的故障检索工作,使系统得以正常运行。2.3.1 计算机硬件故障的分析 计算机硬件故障是指由于计算机硬件损坏、品质不良、安装、设置不正确或接触不良等而引起的故障。其原因多种多样 : (1
20、)工艺问题引起的故障 (2)元器件损坏引起的故障 (3)干扰或噪声引起的故障 (4)设计上造成的故障 (5)人为故障(计算机假故障),2.3 计算机硬件的检测与维修,2.3.2硬件故障的检测步骤及原则 1.检测的基本步骤 :检测的基本步骤通常是由大到小、由粗到细。 2.检测的原则 : (1)先静后动 (2)先外后内 (3)先辅后主 (4)先电源后负载 (5)先一般后特殊 (6)先简单后复杂 (7)先主要后次要 计算机的检测维修方法很多,因设备的不同、组件的不同,各自有不同的特点,对以上原则应灵活运用,当故障原因较为复杂时,要综合考虑。,2.3 计算机硬件的检测与维修,2.3.3 硬件故障的诊断
21、和排除 要排除硬件故障,最主要的是要设法找到产生故障的原因。一旦找到原因,排除故障就很容易了。下面介绍一些寻找故障原因常用的方法: (1)清洁法 (2)直接观察法 (3)拔插法 (4)交换法 (5)比较法 (6)振动敲击法 (7)升温降温法 (8)程序测试法 总之,为了排除故障,首先要设法查出产生故障的原因。要能正确、迅速的查出故障原因,最主要的是要掌握基本原理,多参加实际工作,而且在方法上应从一些简单的检查方法入手,逐步运用复杂的方法进行检查。,第三章,计算机软件安全技术,3.1 软件安全技术概述,计算机软件安全主要是指保证所有计算机程序和文档资料免遭破坏、非法拷贝、非法使用而采用的技术和方
22、法,其内容包括如下五个方面: (1)软件的自身安全 (2)软件的存储安全 (3)软件的通信安全 (4)软件的使用安全 (5)软件的运行安全 影响计算机软件安全的因素很多,要确保其安全,必须采取两方面的措施:一是非技术性措施,如制定有关法律、法规,加强各方面的管理等。二是技术性措施,如采用软件安全的各种防拷贝加密技术、防静态分析、防动态跟踪技术等。,3.2 软件分析技术,在进行软件的破解、解密工作中,一个首要的问题是对软件进行分析。这些软件都是机器代码程序,对于它们分析必须使用静态或动态调试工具,分析跟踪其汇编代码。 3.2.1 静态分析技术 所谓静态分析即从反汇编出来的程序清单上分析,从提示信
23、息入手进行分析。如果我们对静态反汇编出来的程序清单进行阅读,就可以从中找到有用的提示信息,了解软件的编程思路,以便顺利破解。 常用的静态分析工具有W32DASM、IDA和HIEW等。W32DASM可以方便的反汇编程序,它能静态分析程序流程,也可动态分析程序。在其新版本中,还加强了对中文字符串的提取, W32DASM的界面如下图所示:,3.2 软件分析技术,3.2.2 动态分析技术 所谓动态分析是指利用动态分析工具一步一步地单步执行软件。为了有效地进行动态跟踪分析,需要进行以下两个步骤: 第一步,对软件进行粗跟踪。第二步,对关键部分进行细跟踪。 常用的动态分析工具有Soft-ICE和Trw200
24、0。 Trw2000完全兼容Soft-ICE的各条指令,并且专门针对软件破解进行了优化,在Windows 9x下跟踪调试功能更强。可以设置各种断点,并且断点种类更多。它可以像一些脱壳工具一样完成对加密外壳的去除,自动生成EXE文件。它还有在DOS下的版本,名为TR。下图为Trw2000界面:,3.3 常用的软件保护技术,常见的软件保护技术有序列号方式、时间限制、警告窗口、Key File保护、功能限制、CDcheck等,下面对它们分别做出简要介绍。 3.3.1 序列号方式 3.3.2 时间限制 3.3.3 Nag窗口 3.3.4 Key File保护 3.3.5 功能限制的程序 3.3.6 C
25、D-check,*3.4 反跟踪技术,反跟踪技术是磁盘加密技术中最能显示技术水平的部分。一个有效的反跟踪技术应该具有以下三个特征: (1)重要程序段是不可跳越和修改的。 (2)不通过加密系统的译码算法,密码不可破译。 (3)加密系统是不可动态跟踪执行的。,*3.4 反跟踪技术,下面我们以DOS中功能强大的动态跟踪调试软件DEBUG为例,对常用的反跟踪技术作出说明。: 3.4.1 抑制跟踪中断 3.4.2 封锁键盘输入 3.4.3 设置显示器的显示性能 3.4.4 检测跟踪法 3.4.5 破坏中断向量表 3.4.6 设置堆栈指针法 3.4.7 对程序分块加密执行 3.4.8 对程序段进行校验 3
26、.4.9 迷惑、拖垮解密者 3.4.10 指令流队列法 3.4.11 逆指令流法 3.4.12 混合编程法 3.4.13 自编软中断13技术,3.5 软件加壳与脱壳,3.5.1 加壳 计算机软件中的“壳”是一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。 给软件加壳的目的主要有两点:第一就是达到压缩EXE文件的目的,以节约存储空间,方便网络传输。第二就是加密保密的目的,有一些版权信息需要
27、保护起来,不能让别人随意更改,如作者的姓名、软件名称等。能够完成对可执行文件压缩和对信息加密的软件,我们称之为加壳软件。,3.5 软件加壳与脱壳,加壳软件与一般的Winzip等压缩软件是有区别的。加壳后的文件能直接运行,还是一个可执行文件,它们的压缩是在内存中完成的。而Winzip等软件只能把文件解压到硬盘中,只是将压缩后的文件还原成源文件。加壳与没有加壳软件的运行情况如图所示: 常见的加壳软件有ASPack、UPX、PECompact等。,3.5 软件加壳与脱壳,3.5.2 脱壳 “脱壳”顾名思义,就是把在软件外面起保护作用的“壳”程序去掉。脱壳有两种方法:一种是自动脱壳,另一种是手动脱壳。
28、 (1)自动脱壳 自动脱壳就是用相应的脱壳程序对加密的程序进行脱壳的方法。一般每种压缩工具的壳,都会有相应的脱壳工具,因此只要找到较新版本的脱壳工具,一般的壳都可轻易脱去。 首先,我们要知道软件使用的是哪种加壳软件进行加密的,这就得用到侦测文件类型的工具。常用的侦测文件类型工具有Language 2000、FileInfo、GetTyp、TYP等。,3.5 软件加壳与脱壳,下图为Language 2000中文版的界面:,用侦册文件类型工具查出软件使用的加壳工具后,再用相应的脱壳工具即可实现自动脱壳。常用的脱壳工具有:UnAspack、AspackDie 1.4、UnPEPack、ProcDum
29、p32等。,3.5 软件加壳与脱壳,(2)手动脱壳 手动脱壳是指不借助自动脱壳工具,而是用动态调试工具SOFTICE或TRW2000来脱壳。手动脱壳一般难度较大,使用的工具有调试器(SoftICE、TRW2000等),内存抓取工具(Procdump等),十六进制工具(Hiew、UltraEdit、Hex Workshop等),PE编辑工具(Procdump、Peditor等)。 手动脱壳的一般步骤为: 第一步,确定壳的种类。 第二步,入口点(Entry Point)的确定。 第三步,dump取内存已还原文件。 第四步,修正刚dump取的文件。,3.6 软件安全保护建议,本节给出的关于软件保护的
30、一般性建议,是无数人经验的总结。在设计软件保护方式时遵守这些准则,将会提高软件的保护强度。 (1)软件最终发行之前一定要将可执行程序进行加壳/压缩,使得解密者无法直接修改程序。 (2)增加对软件自身的完整性检查。 (3)不要采用一目了然的名字来命名函数和文件 (4)尽可能少地给用户提示信息 。(5)将注册码、安装时间记录在多个不同的地方。 (6)检查注册信息和时间的代码越分散越好。 (7)通过读取关键的系统文件的修改时间来得到系统时间的信息。(8)如果有可能的话,可以采用联网检查注册码的方法,且数据在网上传输时要加密。(9)除了加壳/压缩之外,还需要自己编程在软件中嵌入反跟踪的代码,以增加安全
31、性。,3.6 软件安全保护建议,(10)在检查注册信息的时候插入大量无用的运算以误导解密者,并在检查出错误的注册信息之后加入延时。(11)给软件保护加入一定的随机性 。(12)如果采用注册码的保护方式,最好是一机一码,即注册码与机器特征相关 。(13)如果试用版软件没有某项功能,则不要仅仅使相关的菜单变灰,而是彻底删除相关的代码,使得编译后的程序中根本没有相关的功能代码。(14)如果软件中包含驱动程序,则最好将保护判断加在驱动程序中。 (15)如果采用keyfile的保护方式,则keyfile的尺寸不能太小,可将其结构设计得比较复杂,在程序中不同的地方对keyfile的不同部分进行复杂的运算和
32、检查。(16)自己设计的检查注册信息的算法不能过于简单,最好是采用比较成熟的密码学算法。,第四章,操作系统安全基础,计算机操作系统是计算机系统配置的最重要的软件,在整个计算机系统软件中处于中心地位。操作系统设计的好坏直接决定计算机系统的性能和计算机用户使用计算机的方便程度。本章主要讨论Windows95/98/ME、WindowsNT/2000/WindowsXP、Unix/Linux等操作系统的安全基础、系统安全模型安全管理、安全漏洞等,同时讨论WindowsNT/2000/WindowsXP、Unix/Linux操作系统的网络安全问题。,4-1 Windows系统,Windows9X目前是
33、在普通用户的PC机上使用的最广泛的操作系统。尤其是Windows98,占据了中国绝大多数PC用户的操作系统市场。Windows9X在具有众多优点的同时,它也有十分明显的缺点。如稳定性和安全性都欠佳。Windows95/98极易受到黑客的攻击和病毒的侵犯,一般的网络用户都可以使用一些特种软件工具轻而易举地让Windows9X蓝屏和死机。,4-1-1 Windows95/98/ME的安全,1. Windows98的登录机制 (1) Windows登录,4-1-1 Windows95/98/ME的安全(续),(2) Microsoft网络用户,4-1-1 Windows95/98/ME的安全(续),
34、(3) Microsoft友好登录,4-1-1 Windows95/98/ME的安全(续),2. 如何利用注册表提高Windows95/98/ME的安全性,4-1 Windows系统 (续),4-1-2 WindowsNT/2000WindowsXP的安全基础1.WindowsNT/2000/WindowsXP系统安全模型 用户登录管理 (2)资源访问管理 2.WindowsNT/2000/WindowsXP的安全机制 口令安全 (2) 文件系统安全 (3) NTFS分区安全 (4) Web服务器安全,4-1-2 WindowsNT/2000WindowsXP的安全基础(续),3WindowN
35、T/2000/WindowsXP的注册表安全性4WindowsNT/2000/WindowsXP的安全性 WindowsNT的安全性 (2) Windows2000的安全性 (3) WindowsXP的安全性,4-1 Windows系统 (续),4-1-3 WindowsNT/2000/WindowsXP安全漏洞及其解决方法1. WindowsNT的安全漏洞及其解决方法2Windows2000的安全漏洞及其解决方法 3WindowsXP的安全漏洞及其解决方法,4-1 Windows系统 (续),4-1-4 WindowsNT/2000/WindowsXP的安全防范措施 (1) 加强物理安全管理
36、(2) 将系统管理员账号改名 (3) 控制授权用户的访问权限 (4) 文件系统用NTFS,不用FAT (5) 确保注册表安全 (6)打开审计系统,4-2 Unix系统,Unix系统是目前网络系统汇总主要的服务器操作系统,所以对于一个企业网来说,它们的安全性举足轻重。按照美国计算机安全等级,Unix系统已经达到了C2级。作为目前常用的操作系统,学习Unix的一些基础知识以及它的安全性是非常必要的。,4-2 Unix系统(续),4-2-1 Unix系统的基础知识Unix操作系统是由肯汤普逊(KenThompson)在贝尔实验室于1969年开发成功的。它是一个分时多用户、多任务的通用操作系统。Uni
37、x是命令驱动的,而不是像Windows那样通过图形界面来与用户交流。,4-2-1 Unix系统的基础知识 (续),下面简要介绍一些与Unix安全有关的常用命令。cp、mv、ln和cpio命令(2) su和newgrp命令 (3) cu命令 (4) UUCP命令 以上介绍了一些Unix的命令,为了更好地理解Unix系统的网络安全技术,下面主要从文件系统、用户管理等方面来考虑Unix的安全性。,4-2-1 Unix系统的基础知识 (续),(1) 文件系统(2) 用户管理用户管理在Unix系统安全中有举足轻重的地位,这里简要地介绍超级用户、Shell命令解释器。 超级用户 Shell,4-2 Uni
38、x系统(续),4-2-2 Unix系统安全问题本节从用户角度讨论Unix系统安全,阐述口令全、文件和目录保护和使用crypt命令加密等,给出一些安全提议,以帮助用户保护自己的系统的安全。口令安全 2文件许可和目录许可 3设置用户ID和同组用户ID许可 4文件加密 5其他安全问题,4-2 Unix系统(续),4-2-3 Unix安全漏洞及解决方法1Unix“login”程序存在安全漏洞 2Unix通信功能CDEToolTalk发现安全漏洞,4-3 Linux系统,Unix系统对计算机硬件的要求比较高,对于一般的个人来说,想要在PC机上运行Unix是比较困难的。而Linux就为一般用户提供了使用U
39、nix界面操作系统的机会。因为Linux是按照Unix风格设计的操作系统,所以在源代码级上兼容绝大部分的Unix标准。可以说相当多的网络安全人员在自己的机器上运行的正是Linux。,4-3 Linux系统(续),4-3-1 Linux系统简介Linux是在1990年,芬兰赫尔辛基大学的一名学生莱那斯托瓦茨(Linus Torvalds)开发的。在Linux0.02版本中已经可以运行bash(Shell的一种)和gcc(GNUC编译器)。Linux和WindowsNT比起来技术上存在很多优势。最主要体现在三个方面:一是Linux更安全,二是Linux更稳定,三是Linux的硬件资源占用要比Win
40、dowsNT少得多。在安全问题上,首先是针对Linux的病毒非常少。,4-3-2 Linux系统的网络安全,Linux提供了大量与网络安全有关的工具。但是如果运用不当,这些工具反而会给系统留下隐患。本节介绍您必需掌握的Linux网络安全知识。 1.网络服务2.检查系统中运行的服务 3.允许/拒绝服务器4.ssh(安全Shell)5.监视程序和运行日志6.jail 7.ftpd、rlogind以及其他用户交互8.其他安全措施:防火墙,4-3-3 Linux安全漏洞及解决方法,Linux系统存在的一个弱点是:它使那些心怀不轨的计算机使用者可以获得防护性防火墙软件的许可,进入那些本来受到保护的网络。
41、存在缺陷的软件在红帽子Linux系统当中并不是默认安装的,但是,一些用户可能会选择安装这个软件。解决方法:不要安装这软件或到厂家网站下载补丁。,第五章,密 码 技 术,5.1 密码技术概述,密码学(Cryptology)是一门古老而深奥的学科,有着悠久、灿烂的历史。密码技术是研究数据加密、解密及变换的科学,涉及数学、计算机科学、电子与通讯等诸多学科。虽然其理论相当高深,但概念却十分简单。密码技术包含两方面密切相关的内容,即加密和解密。加密就是研究、编写密码系统,把数据和信息转换为不可识别的密文的过程,而解密就是研究密码系统的加密途径,恢复数据和信息本来面目的过程。加密和解密过程共同组成了加密系
42、统。 在加密系统中,要加密的信息称为明文(Plaintext),明文经过变换加密后的形式称为密文(Ciphertext)。由明文变为密文的过程称为加密(Enciphering),通常由加密算法来实现。由密文还原成明文的过程称为解密(Deciphering),通常由解密算法来实现。 对于较为成熟的密码体系,其算法是公开的,而密钥是保密的。这样使用者简单地修改密钥,就可以达到改变加密过程和加密结果的目的。密钥越长,加密系统被破译的几率就越低。根据加密和解密过程是否使用相同的密钥,加密算法可以分为对称密钥加密算法(简称对称算法)和非对称密钥加密算法(简称非对称算法)两种。 通过对传输的数据进行加密来
43、保障其安全性,已经成为了一项计算机系统安全的基本技术,它可以用很小的代价为数据信息提供相当大的安全保护,是一种主动的安全防御策略。,5.2 传统的加密方法,传统的加密方法有三种:替换密码、变位密码以及一次性加密。 5.2.1 替换密码 替代密码是用一组密文字母来代替一组明文字母以隐藏明文,同时保持明文字母的位置不变。 最古老的一种替换密码是恺撒密码,恺撒密码又被称为循环移位密码。其优点是密钥简单易记,但由于明文和密文的对应关系过于简单,所以安全性较差。 对于恺撒密码的另一种改进办法是,使明文字母和密文字母之间的映射关系没有规律可循。如将26个字母中的每一个都映射成另一个字母,这种方法称为单字母
44、表替换,其密钥是对应于整个字母表的26个字母串。 由于替换密码是明文字母与密文字母之间的一一映射,所以在密文中仍然保存了明文中字母的分布频率,这使得其安全性大大降低。 小知识:在英文中,e是最常用的字母,接下来是t,o,a,n,i 等。最常用的两个字母的组合是th,in,er,re和an 。最常见的三个字母的组合是the,ing和ion 。,5.2 传统的加密方法,5.2.2 变位密码 在替换密码中保持了明文的符号顺序,只是将它们隐藏起来,而变位密码却是要对明文字母作重新排序,但不隐藏它们。常用的变位密码有列变位密码和矩阵变位密码。 1.列变位密码 列变位密码的密钥是一个不含任何重复字母的单词
45、或短语,然后将明文排序,以密钥中的英文字母大小顺序排出列号,最后以列的顺序写出密文。 2.矩阵变位密码 矩阵变位密码是把明文中的字母按给定的顺序排列在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。,5.2 传统的加密方法,5.2.3 一次性加密 如果要既保持代码加密的可靠性,又保持替换加密器的灵活性,可采用一次性密码进行加密。 首先选择一个随机比特串作为密钥。然后把明文转换成一个比特串,最后逐位对这两个比特串进行异或运算。例如,以比特串“011010101001”作为密钥,明文转换后的比特串为“101101011011”,则经过异或运算后,得到的密钥为“110111110010”。 这
46、种密文没有给破译者提供任何信息,在一段足够长的密文中,每个字母或字母组合出现的频率都相同。由于每一段明文同样可能是密钥,如果没有正确的密码,破译者是无法知道究竟怎样的一种映射可以得到真正的明文,所以也就无法破译这样生成的密文。 与此同时,一次性加密在实践中也暴露出了许多的缺陷。第一,一次性加密是靠密码只使用一次来保障的,如果密码多次使用,密文就会呈现出某种规律性,就有被破译的可能。第二,由于这种密钥无法记忆,所以需要收发双方随身携带密钥,极不方便。第三,因为密钥不可重复,所以可传送的数据总量受到可用密钥数量的限制。第四,这种方法对丢失信息或信息错序十分敏感,如果收发双方错序,那么所有的数据都将
47、被篡改。,5.3 常用加密技术介绍,5.3.1 DES算法 数据加密标准DES(Data Encryption Standard)是美国国家标准局于1977年公布的由IBM公司研制的加密算法。DES被授权用于所有非保密通信的场合,后来还曾被国际标准组织采纳为国际标准。 DES是一种典型的按分组方式工作的单钥密码算法。其基本思想是将二进制序列的明文分组,然后用密钥对这些明文进行替代和置换,最后形成密文。DES算法是对称的,既可用于加密又可用于解密。它的巧妙之处在于,除了密钥输入顺序之外,其加密和机密的步骤完全相同,从而在制作DES芯片时很容易达到标准化和通用化,很适合现代通信的需要。 DES算法
48、将输入的明文分为64位的数据分组,使用64位的密钥进行变换,每个64位的明文分组数据经过初始置换、16次迭代和逆置换三个主要阶段,最后输出得到64位的密文。在迭代前,先要对64位的密钥进行变换,密钥经过去掉其第8、16、24、。、64位减至56位,去掉的那8位被视为奇偶校验位,不含密钥信息,所以实际密钥长度为56位。DES加密概况如图所示:,5.3 常用加密技术介绍,5.3 常用加密技术介绍,DES算法的初始置换过程为:输入64位明文,按初始置换规则把输入的64位数据按位重新组合,并把输出分为左右两部分,每部分各长32位。即将输入的第58位换到第一位,第50位换到第2位,第12位换到第3位,依
49、此类推,最后一位是原来的第7位。例如:置换前的输入值为D1D2D3。D64,则经过初始置换后,左面部分为:D58D50。D8,右面部分位:D57D49。D7。 DES算法的迭代过程为:密钥与初始置换后的右半部分相结合,然后再与左半部分相结合,其结果作为新的右半部分。结合前的右半部分作为新的左半部分。这样一些步骤组成一轮。这种过程要重复16次。在最后一次迭代之后,所得的左右两部分不再交换,这样可以使加密和解密使用同一算法。如图所示:,5.3 常用加密技术介绍,5.3.2 IDEA算法 国际数据加密算法IDEA(International Data Encryption Algorithm)是瑞士
50、的著名学者提出的。IDEA是在DES算法的基础上发展起来的一种安全高效的分组密码系统。 IDEA密码系统的明文和密文长度均为64比特,密钥长度则为128比特。其加密由8轮类似的运算和输出变换组成,主要有异或、模加和模乘三种运算。其加密概况如图所示:,5.3 常用加密技术介绍,5.3 常用加密技术介绍,IDEA密码系统在加密和解密运算中,仅仅使用作用于16比特子块对的一些基本运算,因此效率很高。IDEA密码系统具有规则的模块化结构,有利于加快其硬件实现速度。由于IDEA的加密和解密过程是相似的,所以有可能采用同一种硬件器件来实现加密和解密。 IDEA算法的密钥长度为128位,是DES密钥长度的两