资源描述
四45五3六57十4十一34十二47没做 “信息安全理论与技术”习题及答案 教材:信息安全概论段云所,魏仕民,唐礼勇,陈钟,高等教育出版社 第一章 概述(习题一,p11) 1.信息安全的目标是什么? 答:信息安全的目标是保护信息的机密性、完整性、抗否认性和可用性;也有观点认为是机密性、完整性和可用性,即CIA(Confidentiality,Integrity,Availability)。 机密性(Confidentiality)是指保证信息不被非授权访问;即使非授权用户得到信息也无法知晓信息内容,因而不能使用 完整性(Integrity)是指维护信息的一致性,即信息在生成、传输、存储和使用过程中不应发生人为或非人为的非授权簒改。 抗否认性(Non-repudiation)是指能保障用户无法在事后否认曾经对信息进行的生成、签发、接收等行为,是针对通信各方信息真实同一性的安全要求。 可用性(Availability)是指保障信息资源随时可提供服务的特性。即授权用户根据需要可以随时访问所需信息。 2.简述信息安全的学科体系。 解:信息安全是一门交叉学科,涉及多方面的理论和应用知识。除了数学、通信、计算机等自然科学外,还涉及法律、心理学等社会科学。 信息安全研究大致可以分为基础理论研究、应用技术研究、安全管理研究等。信息安全研究包括密码研究、安全理论研究;应用技术研究包括安全实现技术、安全平台技术研究;安全管理研究包括安全标准、安全策略、安全测评等。 3. 信息安全的理论、技术和应用是什么关系?如何体现? 答:信息安全理论为信息安全技术和应用提供理论依据。信息安全技术是信息安全理论的体现,并为信息安全应用提供技术依据。信息安全应用是信息安全理论和技术的具体实践。它们之间的关系通过安全平台和安全管理来体现。安全理论的研究成果为建设安全平台提供理论依据。安全技术的研究成果直接为平台安全防护和检测提供技术依据。平台安全不仅涉及物理安全、网络安全、系统安全、数据安全和边界安全,还包括用户行为的安全,安全管理包括安全标准、安全策略、安全测评等。这些管理措施作用于安全理论和技术的各个方面。 第二章 密码学概论(习题二,p20) 杨越越 1.概念解释: 分组密码、流密码、对称密码、非对称密码 答:分组密码:对明文的加密有两种形式,其中一种是先对明文消息分组,再逐组加密,称之为分组密码. 流密码: 对明文的加密有两种形式,其中一种是对明文按字符逐位加密,称之为流密. 对称密码:密码系统从原理上分为两大类,即单密钥系统和双密钥系统,单密钥系统又称为对称密码系统或秘密密钥密码系统,单密钥系统的加密密钥和解密密钥或者相同,或者实质上等同,即易于从一个密钥得出另一个. 非对称密码:双密钥系统又称为非对称密码系统或公开密码系统.双密钥系统有两个密钥,一个是公开的,用K1表示,谁都可以使用;另一个是私人密钥,用K2表示,只由采用此系统的人自己掌握. 2.设az的编号为126,空格为27,采用凯撒(Kaesar)密码算法为C=k1M+k2,取k1=3,k2=5,M=Peking University,计算密文C. 答:MPeking University C=ztketzentqtehekz(ovhuykomtiyerhuywcshoanrdh) 3.设az的编号为126,空格为27,采用Vigenere方案,密钥长度与消息相同,给出密文: ANKYODKYUREPFJBYOJDSPLREYIUNOFDOIUERFPLUYTS分别找出对应下列两组明文的密钥: (a)MR MUSTARD WITH THE CANDLESTICK IN THE HALL (b)MISS SCARLET WITH THE KNIFE IN THE LIBRARY 答:(a)owklulrxcnetxquyvbzsmkdamdbufctoigeyyklmxhg (b)oesfolfxctewfntdgjdhgruqioioxkopmersgjcxbt 4.构造一个用选择明文破译Hill算法的例子。 第三章 对称密码体制(习题三,p49) 高会贤 1.证明DES解密过程是加密过程的逆过程。 证明:由于DES算法是在Feistel网络结构的输入和输出阶段分别初始置换IP和初始逆置换IP-1而构成的。因此要证DES的解密过程是加密过程的逆过程,可以先证Feistel网络结构中的解密过程是加密过程的逆过程。证明如下:加密过程是:将明文P等分成两半L0和R0,进行L轮迭代。按下列规则计算LiRi,1iL, Li=Ri-1,Ri=L i-1 F(Ri-1,Ki)进行L 轮迭代运算后,将Ll和Rl再交换,输出密文分组。轮函数为F。 解密过程与加密过程采用相同的算法。将密文分组C=RlLl等分成两半记为L0和R0。按下述规则计算LiRi,1il,Li=Ri-1,Ri=L i-1 F(Ri-1,Ki),最后输出RlLl。这里Ki=Kl-1,只用证明Rl=L0和Ll=R0即可。显然,L0=Rl且R0=Li,根据加、解密规则,有 L1=R0=Ll=Rl-1,Rl=L0 F(R0,Kl)=Rl F(Ll,Kl-1)=Ll-1 L2=R1=Ll-1=Rl-2,R2=L1 F(R1,K2)= Rl-1 F(Ll-1,Kl-2)=Ll-2递归,有 Ll-1=Rl-2=L2=R1,Rl-l=Ll-2 F(Rl-2,Kl-1)=R2 F(L2,K1)=L1 L1=Rl-1=Ll=R0,Rl=Ll-1 F(Rl-1,Kl)=Rl F(Ll,K0)=L0这就验证了解密过程的正确性。 2.编制一个DES算法,设密钥为SECURITY,明文为NETWORK INFORMATION SECURITY,计算密文,并列出每一轮的中间结果。 3.M是M的逐位补,证明Y=DESK(X),即明文、密钥取补后加密结果等于原密文的补。 4.AES算法采用什么结构?与DES算法结构有何区别? 答:AES算法采用SP网络结构,轮变换是由三个不同的可逆一致变换组成,称之为层。不同层的选择建立在宽轨迹策略的应用基础上每层都有它自己的函数。这三层分别是线性混合层,非线性层和密钥加层。而DES采用的是Feistel网络结构,中间状态的部分比特不加改变简单转置到下一轮的其他位置。 5.如果在8比特的CFB方式下密文字符的传输中发生1比特的差错,这个差错会传播多远? 答:出现的这1比特的差错会影响到以后各明文单元。因为在CFB模式下,传输过程中的比特错误会被传播。 6.描述流密码的密钥生成过程。 a)p= 答:利用密钥K生成一个密钥流Z=Z0Z1,密钥流生成器f产生:Z=f(K,i),这里的i是加密器中的记忆元件(存储器)在时刻i的状态,f是由密钥K和i生成的函数,而i(i0)可能依赖于k, 0,x0,x1, ,xi-1等参数。 第四章 公钥密码体制(习题四p60) 郭跃斌 1.应用RSA算法对下列情况进行加/解密,并比较计算结果:3,q=11,d=7;M=5; 解:n=pq=3*11=33, (n)=(p-1)(q-1)=2*10=20 由de=1mod(n),可得 7e=1mod20 3*7=20+1 e=3 M=5=26mod33,得到密文C=26 C=26=5mod33, 得到明文M=5 b)p=5,q=11,e=3;M=9 解:n=pq=5*11=55, (n)=(p-1)(q-1)=4*10=40 由de=1mod(n),可得 3d=1mod40 3*27=4*20+1 d=27 M=9=14mod55,得到密文C=14 C=14=9mod55, 得到明文M=9 c)p=7,q=11,e=17;M=8 解:n=pq=7*11=77, (n)=(p-1)(q-1)=6*10=60 由de=1mod(n),可得 17d=1mod60 17*53=15*60+1 d=53 M=8=57mod77,得到密文C=57 C=57=8mod77, 得到明文M=8 d)p=11,q=13,e=11;M=7 解:n=pq=11*13=143, (n)=(p-1)(q-1)=10*12=120 由de=1mod(n),可得 11d=1mod120 11*11=120+1 d=11 M=7=106mod143,得到密文C=106 C=106=7mod143, 得到明文M=7 e)p=17,q=31,e=7;M=2 解:n=pq=17*31=527, (n)=(p-1)(q-1)=16*30=480 由de=1mod(n),可得 7d=1mod480 7*343=5*480+1 d=343 M=2=128mod527,得到密文C=128 C=128=2mod527, 得到明文M=2 2.设截获e=5,n=35的用户密文C=10,请问M是多少? 解:由n=35,可知pq=5*7=35,即p=5,q=7 (n)=(p-1)(q-1)=4*6=24 由de=1mod(n),可得 5d=1mod24 5*5=24+1 d=5 C=10=5mod35, 得到明文M=5 3.对于RSA算法,已知e=31,n=3599,求d。 解:由n=3599,可知pq=59*61=3599,即p=59,q=61 (n)=(p-1)(q-1)=58*60=3480 由de=1mod(n),可得 31d=1mod3480 31*3031=27*3480+1 d=3031 4.在RSA算法中,如果经过有限的几次重复编码之后又得到明文,那么,可能的原因是什么? 解: 5.对于椭圆曲线y=x+x+6,考虑点G=(2,7),计算2G到3G的各倍数值。 解: 6.对于椭圆曲线y=x+x+6,考虑点G=(2,7),已知秘密密钥n=7,计算 a)公开密钥P; b)已知明文P=(10,9),并选择随机数k=3,确定密文C 解:a)P=nG=7*(2,7)=(14,49) b)C=(kG, P+kP)=(3*(2,7),(10,9)+3*(14,49) =(6,21),(52,156) 第五章 消息认证与数字签名(习题五,p75) 孙利涛 1.散列函数应该满足哪些性质? 答:(1)h能用于任何大小的数据分组,都能产生定长的输出 (2)对于任何给定的x, h(x)要相对容易计算 (3)对任何给定的散列码h,寻找x使得h(x)=h在计算上不可行(单向性) (4)对任何给定的分组x,寻找不等于x的y,使得h(x)=h(y)在计算上不可行(弱抗冲突). (5)寻找任何的(x,y)使得h(x)=h(y)在计算上不可行(强冲突). 2.给出一种利用des构造散列函数的算法 答:(1)将m分成固定长度为64比特的分组,分组个数为L个,记为:Y0,Y1,Y2.YL-1 (2) 初始化v1=cv0 (3)for(I=1;IL;i+) cvi=f(cvi-1,Yi-1) (4)h=H(m)=cvL 3.编制一个程序,用sha-1计算自选文件的散列值 解: 4.比较nd5与sha-1 答:Mn5Sha-1消息摘要长度128比特160比特分组长度512比特512比特步骤数64(4个16步的循环)80(4个20步的循环)消息最大长度无穷2的64方减1基本逻辑函数个数44加法常数个数644数据存储方式低位字节优先高位字节优先 5.比较dsa和rsa算法 答:(1)用dsa实现数字签名的方法中,将要签名的消息作为一个散列函数的输入,产生一个定长的安全散列码。使用签名者的私有密钥对这个散列码进行加密就形成签名,签名附在消息后;而在rsa算法中,签名方先选择全局共钥和用户私钥共钥,然后利用随机数k,对消息m计算两个分量:r,s.生成签名。 (2)对于dsa,验证者根据消息产生一个散列码,同时使用签名者的公开密钥对签名进行解密。如果计算得出的散列码和解密后的签名匹配,那么签名就是有效的。而在rsa算法中,接收方先根据收到的消息签名,公钥等值进行计算,然后进行比较,若相等则接受签名。 6.在dsa中,如果计算结果s=0,则必须重新选k,重新计算,为什么? 答:r与s是生成签名是产生的两个分量,相应r与s是计算签名验证时候需要输入的两个分量,如果s=0,那么s也为0,这样在进行验证的时候就失效了.所以,必须重新选择k,使得s计算结果不为0. 第六章 密码应用与密钥管理(习题六,p97) 王开雷 1.试述并图示采用RSA、DES及SHA-1算法保护信息的机密性、完整性和抗否认性的原理。 答:加密算法使用了两个非常大的素数来产生公钥和私钥。即使从一个公钥中通过因数分解可以得到私钥,但这个运算所包含的计算量是非常巨大的,以至于在现实上是不可行的。加密算法本身也是很慢的,这使得使用RSA算法加密大量的数据变的有些不可行。这就使得一些现实中加密算法都基于RSA加密算法。 最著名的保密密钥或对称密钥加密算法DES(Data Encryption Standard)是由IBM公司在70年代发展起来的,并经过政府的加密标准筛选后,于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(American National Standard Institute, ANSI) 承认。 DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。与每轮编码时,一个48位的“每轮”密钥值由56位的完整密钥得出来。DES用软件进行解码需要用很长时间,而用硬件解码速度非常快,但幸运的是当时大多数黑客并没有足够的设备制造出这种硬件设备。在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。所以,当时DES被认为是一种十分强壮的加密方法。 但是,当今的计算机速度越来越快了,制造一台这样特殊的机器的花费已经降到了十万美元左右,所以用它来保护十亿美元的银行间线缆时,就会仔细考虑了。另一个方面,如果只用它来保护一台服务器,那么DES确实是一种好的办法,因为黑客绝不会仅仅为入侵一个服务器而花那么多的钱破解DES密文。由于现在已经能用二十万美圆制造一台破译DES的特殊的计算机,所以现在再对要求“强壮”加密的场合已经不再适用了。 三重DES 因为确定一种新的加密法是否真的安全是极为困难的,而且DES的唯一密码学缺点,就是密钥长度相对比较短,所以人们并没有放弃使用DES,而是想出了一个解决其长度问题的方法,即采用三重DES。这种方法用两个密钥对明文进行三次加密,假设两个密钥是K1和K2,其算法的步骤如图5.9所示: 1)用密钥K1进行DEA加密。 2)用K2对步骤1的结果进行DES解密。 3)用步骤2的结果使用密钥K1进行DES加密。这种方法的缺点,是要花费原来三倍时间,从另一方面来看,三重DES的112位密钥长度是很“强壮”的加密方式了。 图示: 2.说明密钥的分类和作用 答:从网络应用来看,密钥一般分为以下几类:基本密钥,会话密钥,密钥加密密钥和主机密钥等。 (1)基本密钥:基本密钥又称初始密钥,是由用户选定或由系统分配,可在较长时间内由一对用户专门使用的秘密密钥,也称为用户密钥.基本密钥既安全,又便于更换.基本密钥与会话密钥一起用于启动和控制密钥生成器,从而生成用于加密数据的密钥流. (2)会话密钥:会话密钥即两个通信终端用户在一次通话或交换数据时所用的密钥。当用于对传输的数据进行保护时称为数据加密密钥,而用于保护文件时称为文件密钥,会话密钥的作用是使人们不必太频繁地更换基本密钥,有利于密钥的安全和管理。这类密钥可由双方预先约定,也可由系统通过密钥建立协议动态地生成并赋予通信双方,它为通信双方专用,故又称为专用密钥。 (3)密钥加密密钥:用于对传送的会话或文件密钥进行加密时采用的密钥,也称为次主密钥、辅助密钥或密钥传送密钥。每个节点都分配有一个这类密钥。为了安全,各节点的密钥加密密钥应该互不相同。每个节点都须存储有关到其他各节点和本节点范围内各终端所用的密钥加密密钥,而各终端只需要一个与其节点交换会话密钥时所需要的密钥加密密钥,称为终端主密钥。 (4)主机主密钥:是对密钥加密密钥进行加密的密钥,存在主机处理器中。 3.设进行一次解密的时间是1微妙,计算用穷举法破译64比特、128比特和256比特长度的密码分别需要多少年。 答:进行解密的时间是1微妙,也就是1秒内能破译100万个密钥,64比特的密钥有2的64次方个穷举对象,一年有365*24*60*60=31536000秒,所以破译64比特密钥长度的密码需要584942年,同理,破译128比特密钥长度的密码需要1169885年,破译256钥长度的密码需要2339770年。 4.为什么常用对称算法加密数据,而用非对称算法分配密钥? 答:加密技术通常分为两大类:“对称式”和“非对称式”。 对称式加密就是加密和解密使用同一个密钥,通常称之为“SessionKey”这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的SessionKey长度为56Bits。非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被别窃听到。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。 5.授权监听是如何实现的? 答: 6.说明CA层次模型中信任建立过程。 答:在这个层次模型中,根CA将它的权利授予给多个子CA,这些子CA再将它们的权利授给它们的子CA,这个过程直至某个CA实际颁发了某一证书。一个终端实体A可以如下检验另一个终端实体B的证书。假设B的证书由子CA3(公钥K3)签发,子CA3的证书由子CA2(公钥K2)签发,子CA2的证书由子CA!(公钥为K1)签发,子CA1的证书由根CA(公钥为K)签发,拥有K的终端实体A可以利用K来验证子CA1 的公钥K1,然后利用K1来验证子CA2 的公钥K2,再利用K2来验证子CA3的公钥K3,最终利用K3来验证B的证书。 7.试述一次完整的数字证书的颁发和使用过程。 解: 第七章 身份认证(习题七,p113) 孟范静 1.试述零知识证明的原理 答:P是示证者,V表示验证者,P试图向V证明自己知道某信息。则使用某种有效的数学方法,使得V相信P掌握这一信息,却不泄漏任何有用的信息,这种方法被称为零知识证明问题。 零知识证明可以分为两大类:最小泄漏证明和零知识证明 最小泄漏证明需要满足: 1)P几乎不可能欺骗V:如果P知道证明,他可以使V以极大的概率相信他知道证明;如果P不知道证明,则他使得V相信他知道证明的概率几乎为零。 2)V几乎不可能不知道证明的知识,特别是他不可能向别人重复证明的过程 零知识证明除了要满足以上两个条件之外,还要满足第三个条件: 3)V无法从P那里得到任何有关证明的知识。 2.在身份认证中如何对抗重放攻击?在基于时间戳的认证中,当时钟不同步时,如何实现身份欺骗? 答:防止重放攻击的常用方式有时间戳方式和提问/应答方式两种。 时间戳方式的基本思想是:A接受一个新消息当且仅当该消息包括一个时间戳,并且该时间戳在A看来是足够接近A所知道的当前时间。 提问/应答方式的基本思想是:A期望从B获得一个新消息,首先发给B一个临时值,并要求后续从B收到的消息中包括这个临时值或是由这个临时值进行某种事先约定的计算后的正确结果。 时间戳方式要求时钟同步,如果发送者得时钟比接收者的时肿块,攻击者就可以从发送者处窃听消息,并等待时间戳对接受者来说成为当前时刻时重放给接收者,这种重放将会得到意想不到的后果。这类攻击称为抑制重放攻击。 3.安全的口令应该满足哪些原则? 答:长度最少在8位以上,且必须同时包含字母、数字、特殊字符,口令必须定期更改,且最好记在心里,除此以外不要在任何地方做记录;另外,如果在日志审核中发现某个口令被连续尝试,则必须立刻更改此口令 4.试述采用challenge/response与一次性口令的区别 答:一次性口令的主要思路是:在登录过程中加入不确定因素,使每次登录过程中传送的信息都不相同,以提高登录过程安全性。例如:登录密码=MD5(用户名密码 时间),系统接收到登录口令后做一个验算即可验证用户的合法性;而提问/应答方式的基本思想是:A期望从B获得一个新消息,首先发给B一个临时值,并要求后续从B收到的消息中包括这个临时值或是由这个临时值进行某种事先约定的计算后的正确结果。 5.描述采用CHAP和RADIUS进行拨号接入的完整的身份认证流程 答:CHAP的具体的认证过程是: 1)链路建立完成后,认证者发给被认证者一个challenge,这个challenge具有唯一的标识符。 2)被认证这一challenge作为一个单向Hash函数的输入,计算出response,发回给认证者,消息中还包括challenge的标识符。因为有可能认证这收不到response,所以response是可以重发的,同时为了说明这个response是哪个challenge的应答,其中要包含challenge的标识符。 3)认证者比较收到的response和自己的计算结果是否相同,然后发送一个成功或者失败的消息给被认证者。被认证者发送response之后如果一定时间以后仍旧收不到成功或者失败的结果,就会重发response。 RADIUS的流程如下: 1)RADIUS客户机向RADIUS服务器发送Access-Request包,内容包括用户名,加密口令,客户机的地址和端口号,以及用户想要启动的会话类型; 2)RADIUS服务器收到Access-Request包后,在数据库中查询是否由此用户名的记录。如果没有,则加再一个默认的配置文件,或者返回一个Access-Reject消息,内容为拒绝访问的原因。如果数据库有此用户名并且口令正确,服务器返回一个Access-Request消息,内容包括用于该次会话的参数属性。 6.Kerberos认证协议实现身份认证的什么特点?如何实现有多个TGS组成的分布式认证? 答:(1)安全:网络窃听者不能获得必要信息以假冒其他用户。 (2)可靠:使用分布式服务器体系结构,能使一个系统备份零一个系统 (3)透明:除了输入口令以外用户感觉不到认证的发生 (4)可伸缩:系统能支持大数量的客户机和服务器 多个TGS组成的分布式认证过程 1)票据许可票据的获取 客户给服务器发送一个消息,鉴别服务器在数据库中查找客户的信息,如果客户在数据库中,鉴别服务器就为客户和生成一个会话密钥,并用客户的秘密密钥加密。另外,鉴别服务器为客户产生一个票据许可票据,并用TGS的秘密密钥加密,用来让客户向TGS证明自己的身份。鉴别服务器器将这两部分一起发送给用户。客户收到后,解密第一部分,获得与TGS的会话密钥。 2)请求许可票据的获取 客户必须为他使用的每一项服务申请请求许可票据,TGS就负责给每一个服务器分配票据。客户需要使用一个自己没有票据的新服务时,就TGT将和一个用会话密钥加密的鉴别码发送给TGS。TGS收到消息后,解密得到鉴别码,然后比较鉴别码和票据礼的信息,客户的网络地址等是否一致,如果一致,就允许处理该请求。TGS为客户和服务器生成一个会话密钥,并用自己和客户的绘画密钥加密,然后生成一个针对该服务的请求许可票据,并用服务器的秘密密要加密,将这两部分一起发送给客户。 3)服务请求 7.如何用X.509证书实现基于challenge/response的双向认证 答:实现双向认证的过程如下: 用户A向用户B发送消息,证明自己的身份 1)AB:At(A),B,sgnData,E(kub)K(ab) 2)BA:At(B),r(B),A,r(A),sgnData,E(kub)K(ab) 其中,时间戳t(A)包括起始时间和终止时间,r(A)是一个现时,sgnData是签名数据 第八章 访问控制(习题八,p126) 裴庆裕 1.访问控制机制有哪几类?有何区别? 答:访问控制机制有三种分别为:自主访问控制、强制访问控制以及基于角色的访问控制。自主访问控制是一种常用的访问控制也是三个中控制比较宽松的一个。它基于对主体或主题所属的主体组的识别来限制对客体的访问,这种控制是自主的。自主是指主体能够自主地将访问权或访问权的某个子集授予其它主体。在这种访问控制中,一个主题的访问权限具有传递性。强制访问控制具有更加强硬的控制手段,它为所用的主体和客体制定安全级别,不同级别的主体对不同级别的客体的访问是在强制的安全策略下实现的。在基于角色的访问控制中,用户不是自始至终以同样的注册身份和权限访问系统,而是以一定的角色访问,不同的角色被赋予不同的访问权限,系统的访问控制机制只看到角色,而看不到用户。 2.访问控制表和访问能力表有何区别? 答:访问控制表是基于访问控制矩阵中列的自主访问控制,它在一个客体上附加一个主体明晰表,来表示各个主体对这个客体的访问权限。而访问控制表是基于行的自主访问控制。访问能力表不能实现完备的自主访问控制,而访问控制表是可以实现的。 3.安全标记有什么作用?如何实现? 答:安全级别由敏感标记来表示。敏感标记简称标记,是表示实体安全级别的一组信息,在安全机制中把敏感标记作为强制访问控制决策的依据。当输入未加安全级别的数据时,系统应该享受全用户要求这些数据的安全级别,并对收到的安全级别进行审计。 4.Bell-LaPadula模型能否同时保证机密性和完整性?为什么? 答:Bell-LaPadula模型不能同时保证机密性和完整性。因为在该模型中信息的完整性和保密性是分别考虑的,对读、写的方向进行了反向的规定。在保证信息完整性策略中实行上读/下写策略,既属于某一个安全级别的主体可以读本级和本级以上的客体,可以写本级和本级以下的客体。而在保证信息机密性策略中,采用下读/上写策略,即属于某一个安全级别的主体可以写本级和本级以上的客体,可以读本级和本级以下的客体。 5.基于角色的访问控制是如何实现的?有什么优点? 答:基于角色的访问控制是通过定义角色的权限,为系统中的主体分配角色来实现访问控制的。用户先经认证后获得一定角色,该角色被分配了一定的权限,用户以特定角色访问系统资源,访问控制机制检查角色的权限,并决定是否允许访问。其特点为:提供了三种授权管理的控制途径:a)改变客体的访问权限;b)改变角色的访问权限;c)改变主体所担任的角色。系统中所有角色的关系结构可以是层次化的,便于管理。具有较好的提供最小权利的能力,从而提高了安全性。具有责任分离的能力。 6.Windows NT采用什么访问控制模型?如何体现? 答:Windows NT采用自主访问控制模型。体现在当用户登录时,本地安全授权机构为用户创建一个访问令牌,以后用户的所有程序都将拥有访问令牌的拷贝,作为该进程的访问令牌。这就相当于用户将权限传递给了这些进程。此外,在为共享资源创建的安全描述符中包括一个对该共享资源的自主访问控制表,当用户或者用户生成的进程要访问某个对象时,安全引用监视器将用户/进程的访问令牌中的安全标识与对象安全描述符中的自主访问控制表进行比较,从而决定用户是否有权访问对象。这些都可以说明Windows NT采用的是自主访问控制模型。 第九章 安全审计(习题九,p139) 刘耀增 1.审计系统的目标是什么?如何实现? 答:1)应为安全人员提供足够多的信息,使他们能够定位问题所在;但另一方面,提供的信息应不足以使他们自己也能够进行攻击。 2)应优化审计追踪的内容,以检测发现的问题,而且必须能从不同的系统资源收集信息。 3)应能够对一个给定的资源(其他用户页被视为资源)进行审计分析,粪便看似正常的活动,以发现内部计算机系统的不正当使用; 4)设计审计机制时,应将系统攻击者的策略也考虑在内。审计是通过对所关心的事件进行记录和分析来实现的,因此审计过程包括审计发生器、日志记录器、日志分析器、和报告机制几部分。审计发生器的作用是在信息系统中各事件发生时将这些事件的关键要素进行抽去并形成可记录的素材。日志记录器将审计发生器抽去的事件素材记录到指定的位置上,从而形成日志文件。日志分析器根据审计策略和规则对已形成的日志文件进行分析,得出某种事件发生的事实和规律,并形成日志审计分析报告。 2.审计的主要内容包括那些? 答:包括安全审计记录,安全审计分析,审计事件查阅,审计事件存储。 3.Windows的审计系统是如何实现的?采用什么策略? 答:通过审计日志实现的.日志文件主要上是系统日志,安全日志,和应用日志. 采用的策略:审计策略可以通过配置审计策略对话框中的选项来建立.审计策略规定日志的时间类型并可以根据动作,用户和目标进一步具体化.审计规则如下: 1) 登陆及注销:登陆及注销或连接到网络. 2) 用户及组管理:创建,更改或删除拥护帐号或组,重命名,禁止或启用用户号.设置和更改密码. 3) 文件及对象访问. 4) 安全性规则更改:对用户权利,审计或委托关系的更改. 5) 重新启动,关机及系统级事件. 6) 进程追踪:这些事件提供了关于事件的详细跟踪信息. 7)文件和目录审计:允许跟踪目录和文件的用法. 4.Unix 的日志分哪几类?有和作用? 答:Unix日志文件可以大致分为三个日志子系统:连接时间日志,进程统计日志,错误日志. 1)连接时间日志由多个程序执行,把记录写入到/var/log/wtmp和 /var/run/utmp中并通过login等程序更新wtmp和utmp文件.使系统管理员能够跟踪谁在何时登陆到系统. 2)进程统计日志由系统内核执行.当一个进程终止时,系统往进程统计文件中写一个记录.进程统计的目的是为系统中的基本服务提供命令使用统计. 3)错误日志由syslog执行,各种系统守护进程,用户程序和内核通过syslog向文件/var/log/messages报告值得注意的事件.另外,有许多程序也会创建日志. 第十章 安全脆弱性分析(习题十,p156) 李刚 1.入侵行为的目的主要是哪些? 答:入侵者的目的各不相同,分为善意的和恶意的。大体来说入侵者在入侵一个系统者时会想达到以下一种或者几种目的:执行进程,获取文件和数据,获取超级用户权限,进行非授权操作,使系统拒绝服务,篡改信息,批露信息。 2.常见的攻击有哪几类?采用什么原理? 答:根据入侵者使用的手段和方式,攻击可以分为5类 1)口令攻击 口令用来鉴别一个注册系统的个人ID,在实际系统中,入侵者总是试图通过猜测或获取口令文件等方式来获得系统认证的口令,从而进入系统。 2)拒绝服务攻击 拒绝服务站DOS使得目标系统无法提供正常的服务,从而可能给目标系统带来重大的损失。 3)利用型攻击 利用型攻击是一种试图直接对主机进行控制的攻击。它有两种主要的表现形式:特洛伊木马和缓冲区溢出攻击。 4)信息收集型攻击 信息收集型攻击并不直接对目标系统本身造成危害,它是为进一步的入侵提供必须的信息。 5)假消息攻击 攻击者用配置不正确的消息来欺骗目标系统,以达到攻击的目的被称为假消息攻击。 3.如何预防DDOS攻击? 答:预防DDoS攻击的十项安全策略 1)消除FUD心态 FUD的意思是Fear(恐惧)、Uncerntainty(猜测)和Doubt(怀疑)。最近发生的攻击可能会使某些人因为害怕成为攻击目标而整天担心受怕。其实必须意识到可能会成为拒绝服务攻击目标的公司或主机只是极少数,而且多数是一些著名站点,如搜索引擎、门户站点、大型电子商务和证券公司、IRC服务器和新闻杂志等。如果不属于这类站点,大可不必过于担心成为拒绝服务攻击的直接目标。2)要求与ISP协助和合作获得你的主要互联网服务供应商(ISP)的协助和合作是非常重要的。分布式拒绝服务(DDoS)攻击主要是耗用带宽,单凭你自己管理网络是无法对付这些攻击的。与你的ISP协商,确保他们同意帮助你实施正确的路由访问控制策略以保护带宽和内部网络。最理想的情况是当发生攻击时你的ISP愿意监视或允许你访问他们的路由器。3)优化路由和网络结构如果你管理的不仅仅是一台主机,而是网络,就需要调整路由表以将拒绝服务攻击的影响减到最小。为了防止SYN flood攻击,应设置TCP侦听功能。详细资料请参阅相关路由器技术文档。另外禁止网络不需要使用的UDP和ICMP包通过,尤其是不应该允许出站ICMP“不可到达”消息。4)优化对外开放访问的主机 对所有可能成为目标的主机都进行优化。禁止所有不必要的服务。另外多IP主机也会增加攻击者的难度。建议在多台主机中使用多IP地址技术,而这些主机的首页只会自动转向真正的web服务器。 5)正在受到攻击时,必须立刻应用对应策略。尽可能迅速地阻止攻击数据包是非常重要的,同时如果发现这些数据包来自某些ISP时应尽快和他们取得联系。千万不要依赖数据包中的源地址,因为它们在DoS攻击中往往都是随机选择的。是否能迅速准确地确定伪造来源将取决于你的响应动作是否迅速,因为路由器中的记录可能会在攻击中止后很快就被清除。对于已被或可能被入侵和安装DDoS代理端程序的主机,应该采取的重要措施:6)消除FUN心态作为可能被入侵的对象,没必要太过紧张,只需尽快采取合理和有效的措施即可。现在的拒绝服务攻击服务器都只被安装到Linux和Solaris系统中。虽然可能会被移植到*BSD*或其它系统中,但只要这些系统足够安全,系统被入侵的可能性不大。7)确保主机不被入侵和是安全的现在互联网上有许多旧的和新的漏洞攻击程序。以确保你的服务器版本不受这些漏洞影响。记住,入侵者总是利用已存在的漏洞进入系统和安装攻击程序。系统管理员应该经常检查服务器配置和安全问题,运行最新升级的软件版本,最重要的一点就是只运行必要的服务。如果能够完全按照以上思路,系统就可以被认为是足够安全,而且不会被入侵控制。8)周期性审核系统必须意识到你要对自己管理的系统负责。应该充分了解系统和服务器软件是如何工作的,经常检查系统配置和安全策略。另外还要时刻留意安全站点公布的与自发管理的操作系统及软件有关的最新安全漏洞和问题。9)检查文件完整性当确定系统未曾被入侵时,应该尽快这所有二进制程序和其它重要的系统文件产生文件签名,并且周期性地与这些文件比较以确保不被非法修改。另外,强烈推荐将文件检验和保存到另一台主机或可移动介质中。这类文件/目录完整性检查的免费工具(如tripwire等)可以在许多FTP站点上下载。当然也可以选择购买商业软件包。10)发现正在实施攻击时,必须立刻关闭系统并进行调查如果监测到(或被通知)网络或主机正实施攻击,应该立刻关闭系统,或者至少切断与网络的连接。因为这些攻击同时也意味着入侵者已几乎完全控制了该主机,所以应该进行研究分析和重新安装系统。建议联系安全组织。必须记往,将攻击者遗留在入侵主机中的所有程序和数据完整地提供给安全组织或专家是非常重要,因为这能帮助追踪攻击的来源。 4. 解: 5.安全扫描的目标是什么?如何分类? 答:安全扫描技术指手工地或者使用特定的软件工具安全扫描器,对系统脆弱点进行评估,寻找可能对系统造成危害的安全漏洞。扫描主要分为系统扫描和网络扫描两方面。系统扫描侧重主机系统的平台安全性以及基于此平台的应用系统的安全,而网络扫描则侧重于系统提供的网络应用和服务以及相关的协议分析。扫描的主要目的是通过一定的手段和方法发现系统或网络存在的隐患,已利用己方及时修补或发动对敌方系统的攻击。 6.半开扫描是怎么实现的? 答:半开的意思是指client端在TCP3次握手尚未完成就单方面终止了连接过程,由于完整的连接还没有建立起来,这种扫描方法常常可以不会被server 方记录下来,同时也可以避开基于连接的IDS系统。同时,半开扫描还可以提供相当可靠的端口是否打开的信息。 7.简述系统类型检测的原理和步骤。 答:由于许多安全漏洞是同操作系统紧密相关的,因此,检测系统类型对于攻击者具有很重要的作用。攻击者可以先扫描一段网络地址空间,搜集主机类型以及这些主机打开/关闭的端口信息,然后先暂时把这些数据放在一边。当某一系统的新漏洞被发现后,攻击者就可以在已经搜集到的情报中寻找相匹配的系统,从而实施攻击。检测系统类型主要有三种手段:即利用系统旗标,利用DNS信息,利用TCP/IP堆栈指纹。 第十一章 入侵检测(习题十一,p180) 赵建云 1.简述入侵检测的目标和分类 答:入侵检测是对入侵行为的发觉.它从计算机网络或计算机系统的关键点收集信息并进行分析,从中发现网络或系统中是否有违反安全策略的行为河北攻击的对象.经入侵检测发现入侵行为后,可以采取相应的安全措施,如报警、记录、切断拦截等,从而提高网络系统的安全应变能力。 根据入侵检测系统所检测对象的区别可分为基于主机的入侵检测系统和基于网络的入侵检测系统。 2.异常检测和误用检测有何区别? 答:进行异常检测的前提是认为入侵是异常活动的子集,而进行误用检测的前提是所有的入侵行为都有可被检测的特征。异常检测系统通过运行在系统或应用层的监控程序监控用户的行为, 通过将当前主体的活动情况和用户相比较当用户活动与正常行为有重大偏离时即被认为是入侵;误用检测系统提供攻击的特征库,当监控的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵。 3.标准差模型如何实现?举例说明。 答:平均值和标准差模型根据已观测到随机变量x的样值Xi(I=1,2,n)以及计算出这些样值的平均值mean和标准差stddev,若新的取样值Xn+1不在可置信区间mean-d*stddev, m+d*stddev内时,则出现异常,其中d是标准偏移均值mean的参数。 举例: 4. 答: 5.如何通过协议分析实现入侵检测? 答:协议分析表明入侵检测系统的探头能真正理解各层协议是如何工作的,而且能分析协议的通信情况来寻找可疑或异常的行为。对于每个协议,分析不仅仅是建立在协议标准的基础上,而且建立在实际的实现上,因为许多协议事实上的实现与标准并不相同,所以特征应能反映现实状况。协议分析技术观察包括某协议的所有通信并对其进行验证,对不符合与其规则时进行报警。 6.如何逃避缓冲区溢出检测? 答:一些NIDS检测远程缓冲溢出的主要方式是通过监测数据载荷里是否包含“/bin/sh”或是否含有大量的NOP。针对这种识别方法,某些溢出程序的NOP考虑用“eb02”代替。另外,目前出现了一种多形态代码技术,使攻击者能潜在的改变代码结构来欺骗许多NIDS,但它不会破坏最初的攻击程序。经过伪装的溢出程序,每次攻击所采用的shellcode都不相同,这样降低了被检测的可能。有些NIDS能依据长度、可打印字符判断这种入侵,但会造成大量的错报。 第十二章 防火墙(习题十二,p196) 毛玉明 1.简述防火墙的功能和分类。 答:功能: 1)对内部网实现了集中的安全管理。 2)能防止非授权用户进入内部网络。 3)可以方便监视网络的安全并及时报警。 4)可以实现NAT 5)可以实现重点网段的分离。 6)所有访问都经过防火墙,因此它是审计和记录网络的访问和使用的理想位置。 分类: 分为 过滤型防火墙(静态包过滤防火墙、状态监测防火墙)、代理型防火墙(应用级网关防火墙、电路级网关防火墙) 2.静态包过滤防火墙和状态检测防火墙有何区别?如何实现状态检测? 答:状态检测防火墙基于防火墙所维护的状态表的内容转发或拒绝数据包的传送,比普通的包过滤有着更好的网络性能和安全性。普通包过滤防火墙使用的过滤规则集是静态的。而采用状态检测技术的防火墙在运行过程中一直维护着一张状态表,这张表记录了从受保护网络发出的数据包的状态信息,然后防火墙根据该表内容对返回受保护网络的数据包进行分析判断,这样,只有响应受保护网络请求的数据包才被放行。对用户来说,状态检测不但能提高网络的性能,还能增强网络的安全性。 3.状态检测防火墙的优点是什么?为什么? 答:状态检测防火墙的优点是减少了端口的开放时间,提供了对几乎所有服务的支持。因为采用状态检测技术的防火墙在运行过程中一直维护着一张状态表,这张表记录了从受保护网络发出的数据包的状态信息,然后防火墙根据该表内容对返回受保护网络的数据包进行分析判断,这样,只有响应受保护网络请求的数据包才被放行。 4.如何实现M-N地址转换? 答: 5.应用网关防火墙是如何实现的?与包过滤防火墙比较有什么优缺点? 答:应用级网关型防火墙:应用级网关(Application Level Gateways)是在网络应用层上建立协议过滤和转发功能。它针对特定的网络应用服务协议使用指定的数据过滤逻辑,并在过滤的同时,对数据包进行必要的分析、登记和统计,形成报告。实际中的应用网关通常安装在专用工作站系统上。 应用网关对某些易于登录和控制所有输出输入的通信的环境给予严格的控制,以防有价值的程序和数据被窃取。 在实际工作中,应用网关一般由专用工作站系统来完成。但每一种协议需要相应的代理软件,使用时工作量大,效率不如网络级防火墙。 应用级网关有较好的访问控制,是目前最安全的防火墙技术,但实现困难,而且有的应用级网关缺乏“透明度”。 6.双宿连接和屏蔽子网连接各有何优缺点? 答:双宿主机网关是用一台装有两块网卡的主机做防火墙。两块网卡各自与受保护网和外部网相连。主机上运行着防火墙软件,可以转发应用程序,提供服务等。 堡垒主机的系统软件可用于维护系统日志、硬件拷贝日志或远程日志。这对于日后的检查很有用。但这不能帮助网络管理者确认内网中哪些主机可能已被黑客入侵。 双宿主机网关的一个致命弱点是:一旦入侵者侵入堡垒主机并使其只具有路由功能,则任何网上用户均可以随便访问内网。 部署屏蔽子网防火墙系统有如下几个特别的好处: 入侵者必须突破3个不同的设备(夫法探测)才能侵袭内部网络:外部路由器,堡垒主机,还有内部路由器。 由于外部路由器只能向Internet通告DMZ网络的存在,Internet上的系统不需要有路由器与内部网络相对。这样网络管理员就可以保证内部网络是“不可见”的,并且只有在DMZ网络上选定的系统才对Internet开放(通过路由表和DNS信息交换)。 由于内部路由器只向内部网络通告DMZ网络的存在,内部网络上的系统不能直接通往Internet,这样就保证了内部网络上的用户必须通过驻留在堡垒主机上的代理服务才能访问Internet。 包过滤路由器直接将数据引向DMZ网络上所指定的系统,消除了堡
展开阅读全文