软件设计师笔记之信息安全知识
本章要求考生掌握以下几个方面的知识点。
(1)信息系统安全基础知识
(2)信息系统安全管理
(3)保障完整性与可用性的措施
(4)加密与解密机制基础知识
(5)风险管理(风险分析、风险类型、抗风险措施和内部控制)
(6)计算机安全相关的法律、法规基础知识
本章的考点主要集中于加密解密技术、网络安全、计算机病毒等方面。
目录
一、安全基础技术
在软件设计师的考试中,经常会考到与安全相关的一些基础概念及技术原理,如:区分对称与非对称算法,什么情况下用哪种**加密解密、信息摘要的用途等。下面将详细介绍这些相关技术。
1. 对称加密
对称加密是指加密系统的加***和解***相同,或者虽然不同,但从其中的任意一个可以 很容易地推导出另一个。
对称加密算法的优点是:使用简单、加密解密快捷高效,其致命弱点是:加密强度不高、** 分发困难。
常见对称**加密算法包括:DES、3DES、RC-5、IDEA。
2. 非对称加密
前面提到了对称加密技术中的“对称”意思是加密与解密使用了同样的**。顾名思义,非对称加密技术中所使用的加密与解***是不同的。并且不可能从任何一个推导出另一个。它的优点 在于可以适应开放性的使用环境,可以实现数字签名与验证。最常见的非对称**技术就是RSA。它的理论基础是数论中大素数分解,但如果使用RSA来加密大量的数据则速度太慢了,因此RSA广泛用于**的分发。
在非对称加密体系中,**是成对出现的,一对**包括一个公钥和一个私钥。如果用公开密 钥对数据进行加密,只有用对应的私有**才能解密;如果用私有**对数据进行加密,那么只有 用对应的公开**才能解密。
非对称加密算法的优点在于:解决了对称**加密强度不高及**分发困难的问题,其缺点 是:加密速度极慢。所以非对称加密算法通常只对极小的数据量进行加密,如对信息摘要进行加 密,或用于加密对称**。
常见非对称**加密算法:RSA、ECC。
3. Hash函数和信息摘要
Hash函数又称为杂凑函数、散列函数,它提供了这样的一种计算过程:输入一个长度不固定的字符串,返回一串定长的字符串(又称为Hash值),单向Hash函数用于产生信息摘要。
信息摘要简要地描述了一份较长的信息或文件,它可以被看做是一份长文件的“数字指纹”,信息摘要可以用于创建数字签名。对于特定的文件而言,信息摘要是唯一的,而且不同的文件必将产生不同的信息摘要。常见的信息摘要算法包括MD5(产生一个128位的输出,输入是以512位的分 组进行处理的)和SHA(安全散列算法,也是按512位的分组进行处理,产生一个160位的输出)。它们可以用来保护数据的完整性。
4. 数字签名
数字签名是通过一个单向函数对要传送的报文进行处理,得到用以认证报文来源并核实报文是 否发生变化的一个字母数字串。它与数据加密技术一起构建起了安全的商业加密体系:传统的数据 加密是保护数据的最基本方法,它只能够防止第三者获得真实的数据(数据的机密性),而数字签 名则可以解决否认、伪造、篡改和冒充的问题(数据的完整性和不可抵赖性)。
数字签名可以使用对称加密技术实现,也可以使用非对称加密技术(公钥算法)实现。但如果 使用对称加密技术实现,需要第三方认证,比较麻烦。因此现在通常使用的是公钥算法。
整个数字签名应用过程很简单:
(1)信息发送者使用一单向散列函数对信息生成信息摘要。
(2)信息发送者使用自己的私钥签名信息摘要。
(3)信息发送者把信息本身和已签名的信息摘要一起发送出去。
(4)信息接收者通过使用与信息发送者使用的同一个单向散列函数对接收的信息本身生成新的信息摘要,再使用信息发送者的公钥对信息摘要进行验证,以确认信息发送者的身份是否被修改过。
如果接收者收到的信息是P(用E代表公钥、D代表私钥),那么要保留的证据就应该是:E发送者(P),这也就证明了信息的确是“发送者”发出的。
5. 数字证书
非对称加密技术的提出,解决了**传输的问题,但在实际应用过程中,我们遇到了一个新的 问题:**只是一串数字或字符,并不能通过**得知它的主人是谁。这样就产生了安全隐患,所
以提出了数字证书的概念。数字证书简单一点理解,就是**与身份信息的结合体。
数字证书的格式一般使用X.509国际标准。X.509是广泛使用的证书格式之一,X.509用户公钥证书是由可信赖的证书权威机构(CA——证书授权中心)创建的,并且由CA或用户存放在X.500的目录中。任何一个用户只要得到CA中心的公钥,就可以得到该CA中心为该用户签署的公钥。每个用户的证书上都有CA中心用其私钥进行的数字签名,所以只需使用CA中心的公钥便可验证数字证书的真伪。
较通行的数字证书格式还有PGP。
二、网络安全知识
网络安全知识是指与网络相关的一些安全性知识,包括:网络安全协议、常见的网络攻击、入 侵检测技术、防火墙技术、v*n技术、漏洞扫描等。
1. 网络安全协议
互联网自上个世纪提出,至今不过区区几十年,但其发展速度之迅猛,让人始料不及。原本只 作为资源共享而提出的互联网络,目前已是各类应用的基础平台。在此环境下,网络安全提到了一 个前所未有的高度来看待。在软件设计师考试中,要求考生熟悉常见安全协议的工作层次,以及基本特性,他们的工作层次关系如 “安全协议层次图” 所示。
(1)PGP协议
PGP(Pretty Good Privacy)是一个基于RSA公钥加密体系的邮件加密协议。可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确信邮件发送者。除此之外PGP还可用于文件存储的加密。
PGP承认两种不同的证书格式:PGP证书和X.509证书。
(2)SSL协议
SSL工作于传输层以上(跨越了多个网络层次),用于在Internet上传送机密文件。SSL协议由SSL记录协议、SSL握手协议和SSL警报协议组成。
SSL握手协议被用来在客户与服务器真正传输应用层数据之前建立安全机制,当客户与服务器第 一次通信时,双方通过握手协议在版本号、**交换算法、数据加密算法和Hash算法上达成一致,然后互相验证对方身份,最后使用协商好的**交换算法产生一个只有双方知道的秘密信息,客户和服务器各自根据该秘密信息产生数据加密算法和Hash算法参数。
SSL记录协议根据SSL握手协议协商的参数,对应用层送来的数据进行加密、压缩、计算消息鉴 别码,然后经网络传输层发送给对方。
SSL警报协议用来在客户和服务器之间传递SSL出错信息。
SSL协议是一个保证计算机通信安全的协议,对通信对话过程进行安全保护,其实现过程主要经过如下几个阶段:
1> 接通阶段:客户机通过网络向服务器打招呼,服务器回应;
2> 密码交换阶段:客户机与服务器之间交换双方认可的密码,一般选用RSA密码算法,也有的 选用Diffie-Hellmanf和Fortezza-KEA密码算法;
3> 会谈密码阶段:客户机器与服务器间产生彼此交谈的会谈密码;
4> 检验阶段:客户机检验服务器取得的密码;
5> 客户认证阶段:服务器验证客户机的可信度;
6> 结束阶段:客户机与服务器之间相互交换结束的信息。
发送时信息用对称**加密,对称**用不对称算法加密,再把两个包绑在一起传送过去。接 收的过程与发送正好相反,先打开有对称**的加密包,再用对称**解密。因此,SSL协议也可用 于安全电子邮件。
(3)SET协议
SET(Secure Electronic Transaction,安全电子交易)协议向基于信用卡进行电子化交易的应用提供了实现安全措施的规则。它是由Visa国际组织和MasterCard组织共同制定的一个能保证通过开放网络(包括Internet)进行安全资金支付的技术标准。SET在保留对客户信用卡认证的前提下,又增加了对商家身份的认证。由于设计较为合理,得到了诸如微软公司、IBM公司、Netscape公司等大公司的支持,已成为实际上的工业技术标准。
(4)IPSec 协 议
IPSec工作于网络层。它有两种加密方式:第一种,是将原IP数据包进行整体加密(包括IP包头),然后产生新的IP包进行传送;第二种,是将原IP数据包中的数据取出来,加密,然后通过原IP包头信息产生新的IP头。区别在于一个是整体加密,另一个是数据加密。
(5)TLS协议
安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。
该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面。 TLS 记录协议提供的连接安全性具有两个基本特性:
私有――对称加密用以数据加密(DES 、RC4 等)。对称加密所产生的**对每个连接都是唯一的,且此**基于另一个协议(如握手协议)协商。记录协议也可以不加密使用。
可靠――信息传输包括使用**的 MAC 进行信息完整性检查。安全哈希功能( SHA、MD5 等)用于 MAC 计算。记录协议在没有 MAC 的情况下也能操作,但一般只能用于这种模式,即有另一个协议正在使用记录协议传输协商安全参数。
2. 网络攻击
网络攻击有许多种类型,在此介绍两种常见攻击方式:DDoS攻击与ARP欺骗攻击。
(1)DDoS攻击
DDoS是英文Distributed Denial of Service的缩写,意思是“分布式拒绝服务”。DDoS攻击通过很多“肉鸡”(被攻击者入侵过或可间接利用的主机)向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦被实施,攻击网络 包就会犹如洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务 器的网络资源。这就好比有1000个人同时给你家里打电话,这时候你的朋友还打得进来吗?因此, 拒绝服务攻击又被称之为“洪水式攻击”。拒绝服务攻击不能通过安装防火墙、更新杀毒软件等方式进行防治。但可通过:限制源IP、关闭不必要的服务、限制同时打开的Syn半连接数目、缩短Syn半连接的time out 时间等手段缓解。
(2)ARP欺骗攻击
ARP欺骗攻击:修改IP地址和MAC地址的映射关系,使发送给正确主机的数据包发送给另外一台由攻击者控制的主机。
ARP欺骗攻击得以实现,是因为ARP协议本身存在漏洞。ARP协议用于维护计算机中的IP至MAC映射表,在局域网中,一台计算机与另一台计算机通信时,需要借助这个映射表,将目标IP转 化为目标MAC。而ARP欺骗攻击就是通过向局域网中各台主机发送伪造的网关报文,将网关IP与黑 客主机的MAC对应起来,这样,局域网中主机要与网关通信时,实际数据包被发送至黑客主机,从 而达到攻击的目的。
3. 入侵检测
入侵检测技术是为保证计算机系统的安全而设计与配置的一种能够及时发现并报告系统中未授权或异常现象的技术,是一种用于检测计算机网络中违反安全策略行为的技术。违反安全策略的行为有:入侵—非法用户的违规行为;滥用—用户的违规行为。
入侵检测系统所采用的技术可分为特征检测与异常检测两种。
(1)特征检测。特征检测也称为误用检测,假设入侵者活动可以用一种模式来表示,系统的目标是检测主体活动是否符合这些模式。它可以将已有的入侵方法检查出来,但对新的入侵方法无能为力。其难点在于如何设计模式既能够表达“入侵”现象又不会将正常的活动包含进来。
(2)异常检测。假设是入侵者活动异常于正常主体的活动。根据这一理念建立主体正常活动的“活动简档”,将当前主体的活动状况与“活动简档”相比较,当违反其统计规律时,认为该活动可能是“入侵”行为。异常检测的难题在于如何建立“活动简档”以及如何设计统计算法,从而 不把正常的操作作为“入侵”或忽略真正的“入侵”行为。
4. 防火墙
防火墙是网络安全的第一道门户,可以实现内部网(信任网络)和外部不可信任网络之间,或 者是内部网不同网络安全区域之间的隔离与访问控制,保证网络系统及网络服务的可用性。狭义的 防火墙是指安装了防火墙的软件或路由器系统,而广义的防火墙还包括整个网络的安全策略和安全 行为。
根据防火墙组建结构的不同,可以分为屏蔽路由器、双穴主机、屏蔽主机防火墙、屏蔽子网防 火墙四种基本结构,以及一些变体,下面则详细地说明了它们的优缺点与应用场合。
(1)包过滤型防火墙
包过滤型防火墙工作于网络层,它对进出内部网络的所有信息进行分析,并按照一定的安全策 略对进出内部网络的信息进行限制。这种防火墙的优点是处理速度快、费用低、对用户透明。缺点 是维护比较困难,只能阻止少部分IP欺骗,不支持有效的用户认证,日志功能有限,过滤规则增加 会大大降低吞吐量,无法对信息提供全面控制。
(2)双宿网关防火墙
双宿网关防火墙由一台至少装有两块网卡的堡垒主机作为防火墙,位于内外网络之间,分别与 内外网络相离,实现物理上的隔开。它有两种服务方式:一种是用户直接登录到双宿主机上;另一 种是在双宿主机上运行代理服务器。其安全性比屏蔽路由器高。但入侵者一旦得到双穴主机的访问 权,内部网络就会被入侵,因此需具有强大的身份认证系统,才可以阻挡来自外部的不可信网络的 非法入侵。
(3)屏蔽主机防火墙
屏蔽主机防火墙是由包过滤型防火墙和双宿网关防火墙组合形成的一种防火墙,它强迫所有的 外部主机与一个堡垒主机相连接,而不让它们直接与内部主机相连接。这种防火墙的优点是实现了网络层安全(包过滤)和应用层安全(代理),因此安全等级比屏蔽路由器要高。其缺点是堡垒主 机可能被绕过,堡垒主机与其他内部主机间没有任何保护网络安全的东西存在,一旦被攻破,内网 就将暴露。(4)屏蔽子网防火墙
屏蔽子网防火墙用了两个屏蔽路由器和一个堡垒主机,也称为“单DMZ防火墙结构”。这种防火墙的结构的优点在于定义了“非军事区(DMZ)”网络后,支持网络层和应用层安全功能,在黑客攻破第一道防火墙,进入DMZ区后,只能对DMZ区进行破坏,无法影响到内部网络,所以这也是 目前最安全的防火墙系统。
5. v*n
虚拟专用网(v*n)是企业网在因特网等公共网络上的延伸,它通过一个私有的通道在公共网络上创建一个安全的私有连接。因此,从本质上说v*n是一个虚信道,它可用来连接两个专用网,通过可靠的加密技术方法保证其安全性,并且是作为一个公共网络的一部分存在的。实现v*n的关键技术主要有隧道技术、加解密技术、**管理技术和身份认证技术。下图是一个v*n构成的原理示意图。
隧道技术是v*n关键技术之一(此外还包括加解密技术、**管理技术和身份认证技术),它 是一种数据封装协议,也就是将一种协议封装在另一种协议中传输,从而实现被封装协议对封装协 议的透明性。根据其工作的层次可以分为以下两类。
二层隧道技术:包括PPP基础上的PPTP(点到点隧道协议)和L2F(二层转发协议)、L2TP(二层隧道协议);
三层隧道技术:主要代表是IPSec(IP层安全协议,它是IPv4和IPv6的安全标准)、移动IP协议 和虚拟隧道协议(VTP)。
6. 漏洞扫描
漏洞扫描是指基于漏洞数据库,通过扫描等手段,对指定的远程或者本地计算机系统的安全脆 弱性进行检测,发现可利用的漏洞的一种安全检测(渗透攻击)行为。
漏洞扫描是对电脑进行全方位的扫描,检查你当前的系统是否有漏洞,如果有漏洞则需要马上 进行修复,否则电脑很容易受到网络的伤害甚至被黑客借助于电脑的漏洞进行远程控制那么后果将 不堪设想,所以漏洞扫描对于保护电脑和上网安全是必不可少的,而且需要每星期就进行一次扫描,一但发现有漏洞就要马上修复,有的漏洞系统自身就可以修复,而有些则需要手动修复。
人们往往使用漏洞扫描技术达到以下目的:
- 检查目标主机的存活状态(开/关机);
- 检查目标主机的端口开放状态;
- 识别目标主机操作系统及其运行的服务程序的类型和版本; 根据已知漏洞信息,分析系统的脆弱点。
三、计算机病毒与木马
计算机病毒与木马是信息系统安全的一个重要方面,因为如果计算机中了病毒或木马,这些恶 意代码将对系统造成破坏。下面将详细介绍相关情况。
1. 病毒与木马的概念
在计算机中,恶意代码主要分两类,即病毒与木马。
病毒:一段可执行的程序代码,通过对其他程序进行修改,可以感染这些程序,使其含有该病 毒程序的一个复制。
计算机病毒的生命周期包括4个阶段:潜伏期(不做任何事,等待**事件,并非所有病毒都有 该阶段),繁殖阶段(也就是传染阶段,开始复制复本),触发阶段(也就是开始执行破坏性工作 的阶段),执行阶段(功能完成)。
木马:实质上是一个网络客户端/服务器程序(C/S),是一种基于远程控制的黑客工具。其主要特征包括:
- 不需要服务端用户的允许就能够获得系统的使用权; 程序体积十分小,执行时不会占太多的资源;执行时很难停止它的活动,并且不会在系统中显示出来;
- 一次启动后就会自动加载在系统的启动区,在每次启动时能够自动运行; 一次执行后会通过更换文件名之类的方法来隐藏自己;
- 实现服务端用户无法显示执行的动作
木马通常由服务器端和客户端组成,服务器端将运行在被控制的主机中,而客户端则是攻击者 用来远程控制的主要工具。
2. 病毒的分类
病毒的分类,有多种方式,从应考的角度,需要掌握以下类型:
系统引导型病毒:又称开机型病毒,是藏匿和感染硬盘的第一个扇区,即平常我们所说的引导 扇区。引导型病毒籍由引导动作而侵入内存。
文件型病毒:文件型病毒通常寄生在可执行档(如 *.COM,*.EXE等)中。当这些文件被执行时,病毒的程序就跟着被执行。
目录型病毒:这一类型病毒通过装入与病毒相关的文件进入系统,而不改变相关文件,它所改 变的只是相关文件的目录项。
蠕虫病毒:蠕虫病毒是一种常见的计算机病毒。它是利用网络进行复制和传播,传染途径是通 过网络和电子邮件。最初的蠕虫病毒定义是因为在DOS环境下,病毒发作时会在屏幕上出现一条类 似虫子的东西,胡乱吞吃屏幕上的字母并将其改形。蠕虫病毒是自包含的程序(或是一套程序), 它能传播自身功能的拷贝或自身(蠕虫病毒)的某些部分到其他的计算机系统中(通常是经过网络 连接)。
宏病毒:一种寄存在Office系统文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的 宏就会被执行,于是宏病毒就会被**,转移到计算机上,并驻留在Normal模板上。从此以后,所有自动保存的文档都会“感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。
3. 病毒种类命名
一种病毒都有自己的名称,从名称我们通常可以判断出该病毒的类型。
(1)系统病毒
系统病毒的前缀为:Win32、PE、Win95、W32、W95等。这些病毒的一般共有的特性是可以感染windows操作系统的 *.exe 和 *.dll 文件,并通过这些文件进行传播。
(2)蠕虫病毒
蠕虫病毒的前缀是:Worm。这种病毒的共有特性是通过网络或者系统漏洞进行传播,很大部 分的蠕虫病毒都有向外发送带毒邮件,阻塞网络的特性。比如冲击波(阻塞网络),小邮差(发带 毒邮件)等。
(3)木马病毒、黑客病毒
木马病毒其前缀是:*,黑客病毒前缀名一般为 Hack。QQ消息尾巴木马:*.QQ3344,还有大家可能遇见比较多的针对网络游戏的木马病毒如 *.LMir.PSW.60。
(4)脚本病毒
脚本病毒的前缀是:Script。脚本病毒的共有特性是使用脚本语言编写,通过网页进行的传播的 病毒,如红色代码(Script.Redlof)。脚本病毒还会有如下前缀:VBS、JS(表明是何种脚本编写 的),如欢乐时光(VBS.Happytime)、十四日(Js.Fortnight.c.s)等。
(5)宏病毒
宏病毒也是脚本病毒的一种,由于它的特殊性,因此在这里单独算成一类。宏病毒的前缀是:Macro,第二前缀是:Word、Excel其中之一。如:Macro.Word.WhiteScreen、美丽莎(Macro.Melissa)。
(6)后门病毒
后门病毒的前缀是:Backdoor。该类病毒的共有特性是通过网络传播,给系统开后门,给用户电脑带来安全隐患。
(7)病毒种植程序病毒
这类病毒的共有特性是运行时会从体内释放出一个或几个新的病毒到系统目录下,由释放出来 的新病毒产生破坏。如:冰河播种者(Dropper.BingHe2.2C)、MSN射手(Dropper.Worm.Smibag)等。
(8)破坏性程序病毒
破坏性程序病毒的前缀是:Harm。这类病毒的共有特性是本身具有好看的图标来诱惑用户点 击,当用户点击这类病毒时,病毒便会直接对用户计算机产生破坏。如:格式化C盘(Harm.formatC.f)、杀手命令(Harm.Command.Killer)等。
(9)玩笑病毒
玩笑病毒的前缀是:Joke。也称恶作剧病毒。这类病毒的共有特性是本身具有好看的图标来诱惑用户点击,当用户点击这类病毒时,病毒会做出各种破坏操作来吓唬用户,其实病毒并没有对用户电脑进行任何破坏。如:女鬼(Joke.Girl ghost)病毒。
(10)捆绑机病毒
捆绑机病毒的前缀是:Binder。这类病毒的共有特性是病毒作者会使用特定的捆绑程序将病毒 与一些应用程序如QQ、IE捆绑起来,表面上看是一个正常的文件,当用户运行这些捆绑病毒时,会 表面上运行这些应用程序,然后隐藏运行捆绑在一起的病毒,从而给用户造成危害。如:捆绑QQ(Binder.QQPass.QQBin)、系统杀手(Binder.killsys)等。