设M为明文,M的签名过程为:签名:Md mod n验证签名:(Md)e mod n【问题4】(4分)在RSA中,已获取用户密文C=10,该用户的公钥e=5,n=35,求明文MM=5解:已知n=35,得到p和q分别为5和7;计算φ(n)=(p-1)×(q-1)=24已知公钥e=5,又由于私钥d满足ed=1mod(p-1)×(q-1),因此d=5明文M=Cd mod n=105 mod 35=5试题三(英10分)【说明】阅读下面程序,回答问题1至问题3问题1】(3分)上述代码能否输出“This is a test”?上述代码存在什么类型的隐患?不能1分)代码存在缓冲区溢出错误2分)【问题2】(4分)造成上述隐患的原因是?(1)function()函数将长度为128字节的字符串拷贝到只有16字节的缓冲区中去2分)(2)strcpy()函数进行字符串拷贝时,没有进行缓冲区越界检查2分)【问题3】(3分)给出消除该安全隐患的思路防范缓冲溢出的策略有:·系统管理防范策略:关闭不必要的特权程序、及时打好系统补丁1分)·软件开发的防范策略:正确编写代码、缓冲区不可执行、改写C语言函数库、程序指针完整性检查、堆栈向高地址方向增长等。
2分)试题分析C语言程序在内存中分为三个部分:程序段、数据段和堆栈程序段里存放程序的机器码和只读数据;数据段存放程序中的静态数据;动态数据则通过堆栈来存放在内存中,它们的位置如下图所示Function()函数将长度为128字节的字符串拷贝到只有16字节的缓冲区中去;而调用strcpy()函数进行字符串拷贝时,没有进行缓冲区越界检查下图中可以看到执行function()函数前后的堆栈情况程序执行function()函数完毕时,由于缓冲区溢出,子程序的返回地址被覆盖,变成了0x(AAAA的ASCII码表示,A的ASCI码为0x41)因此无法执行 print("This is a test\n")语句此时,返回地址已经不正常,也无法预计会执行什么指令试题四(送15分)【说明】某公司通过PIX防火墙接入Internet,网络拓扑如下图所示在防火墙上利用show命令查询当前配置信息如下:PIX#show confignameif eth0 outside security0nameif eth1 inside security 100nameif eth2 dmz security 40fixup protocol ftp 21(1)fixup protocol http 80 ip address outside 61.144.51.42 255.255.255.248ip address inside 192.168.0.1 255.255.255.0ip address dmz 10.10.0.1 255.255.255.0global(outside)1 61.144.51 .46nat (inside)1 0.0.0.0 0.0.0.0route outside 0.0.0.0 0.0.0.0 61.144.51.45 1(2)【问题1】(4分)解释(1)、(2)处画线语句的含义。
1)启用FTP服务(2分)(2)设置eth0口的默认路由,指向61.144.51.45,且跳步数为1(2分)【问题2】(6分)根据配置信息填写以下表格习题用表域名称接口名称IP地址IP地址掩码InsideEth1(3)255.255.255.0OutsideEth061.144.51.42(4)Dmz(5)(6)255.255.255.0(3)192.168.0.1(1.5分)(4)255.255.255.248(1.5分)(5)eth2(1.5分)(6)10.10.0.1(1.5分)【问题3】(2分)根据所显示的配置信息,由inside域发往Internet的IP分组在到达路由器R1时的源IP地址是(7)7)61.144.51.46【问题4】(3分)如果需要dmz域的服务器(IP地址为10.10.0.100)对Internet用户提供Web服务(对外公开IP地址为61.144.51.43),请补充完成下列配置命令PIX(config)#static(dmz,outside)(8) (9)PIX(contig)#conduit permit tcp host(10)eq www any(8)61.144.51.43(1分)(9)10.10.0.100(1分)(10)61.144.51.43(1分)试题分析Fixup命令可以启用或者禁止特定的服务、协议。
题干出现的PIX配置语句含义解释如下:PIX#show confignameif eth0 outside security0 //eth0 接口命名为outside,安全级别设置为0nameif eth1 inside security 100 //eth1接口命名为inside,安全级别设置为100nameif eth2 dmz security 40 //eth2接口命名为dmz,安全级别设置为40fixup protocol ftp 21 //启动FTP协议,允许21端口的数据通过fixup protocol http 80 //启动HTTP协议,允许80端口的数据通过ip address outside 61.144.51.42 255.255.255.248 //配置outside接口IP地址与掩码ip address inside 192.168.0.1 255.255.255.0 //配置inside接口IP地址与掩码ip address dmz 10.10.0.1 255.255.255.0 //配置dmz接口IP地址与掩码global(outside)1 61.144.51 .46 //经outside接口去外网的数据,地址转换为61.144.51.46,全局地址池标志为1,所以由inside域发往Internet的IP分组,在到达路由器R1时的源IP地址是61.144.51.46nat (inside)1 0.0.0.0 0.0.0.0 //所有地址按地址池1定义进行地址转换route outside 0.0.0.0 0.0.0.0 61.144.51.45 1 //设定默认路由,所有数据通过61.144.51.45转发使用static命令配置静态地址映射,使得内外部地址一一对应。
Firewall (config)#static (internal_interface_name,external_mterface_name)outside_ip_address inside _ip_address其中internal_interface_name表示内部网络接口,安全级别较高,如inside;external_interface _name表示外部网络接口,安全级别较低,如outside;outside_ip_address 表示共有IP地址:inside_ip_address表示被转换的IP地址如果需要dmz域的服务器(IP地址为10.10.0.100)对Internet用户提供Web服务(对外公开IP地址为61.144.51.43),就需要完成两步工作:① 将10.10.0.100和61.144.51.43建立映射关系PIX(config)#static(dmz,outside)61.144.51.43 10.10.0.100可以完成这种映射② 防火墙上放开外网地址61.144.51.43的80端口PIX(config)#conduit permit tcp host 61.144.51.43 eq www any可以完成端口放开的任务。
试题五(站15分)【说明】某企业在公司总部和分部之间采用两台Windows Server 2003服务器部署企业IPSec VPN,将总部和分部的两个子网通过Internet互连,如下图所示 【问题1】(3分)隧道技术是VPN的基本技术,隧道是由隧道协议形成的,常见隧道协议有IPSec、 PPTP和L2TP,其中(1)和(2)属于第二层隧道协议,(3)属于第三层隧遣协议1)PPTP(2)L2TP(1、2顺序可调换)(3)IPSec 【问题2】 (3分) IPSec安全体系结构包括AH, ESP和ISA KMP/Oakley等协议其中,(4)为IP包提供信息源验证和报文完整性验证,但不支持加密服务;(5)提供加密服务;(6)提供密钥管理服务4)AH(5)ESP(6)ISA KMP/Oakley 【问题3】 (6分)设置Server A和Server B之间通信的“筛选器属性”界面如图1所示,在Server A的IPSec安全策略配置过程中,当源地址和目标地址均设置为“一个特定的IP子网”时,源子网IP地址应设为(7),目标子网IP地址应设为(8)如图2所示的隧道设置中的隧道终点IP地址应设为(9)。
7)192.168.1.0(8)192.168.2.0(9)202.113.111.1【问题4】(3分)在ServerA的IPSec安全策略配置过程中,ServerA和ServerB之间通信的IPSec筛选器“许可”属性设置为“协商安全”,并且安全措施为“加密并保持完整性”,如图3所示根据上述安全策略填写图4中的空格,表示完整的IPSec数据包格式新IP头(10)(11)TCP头数据(12)图10-4数据包格式(10)~(12)备选答案:A.AH头 B.ESP头 C.旧IP头 D.新TCP头E.AH尾 F.ESP尾 G.旧IP尾 H.新TCP尾(10)B或ESP头(11)C或旧IP头(12)F或ESP尾试题分析【问题1】(3分,各1分)常见的隧道协议数据链路层:L2TP、PPTP、L2F网络层:IPsec传输层与应用层之间:SSL【问题2】(3分,各1分)IPSec安全体系结构包括AH、ESP和ISAKMP/Oakley等协议其中,AH为IP包提供信息源验证和报文完整性验证,但不支持加密服务;ESP提供加密服务;ISAKMP/Oakley提供密钥管理服务问题3】(6分,各2分)“筛选器 属性”界面配置源子网IP地址(内网地址)和目的子网IP地址(内网地址)。
针对ServerA,源子网IP地址(内网地址)为192.168.1.2/32,所以“筛选器 属性”界面源子网IP地址应设为192.168.1.0;目的子网IP地址(内网地址)为192.168.1.2/32,所以“筛选器属性”界面目标子网IP地址应设为192.168.2.0编辑规则 属性”界面的隧道地址应该配置隧道对端(公网地址)针对ServerA隧道对端(公网地址)为202.113.111.1,所以隧道设置中的隧道终点IP地址应设为202.113.111.1问题4】(3分,各1分)本题要求“加密并保持完整性”,由于AH协议不支持加密,因此采用ESP封装前面题目给出了总公司与子公司通信建立了隧道,因此采用隧道模式具体如下图所示这里IP数据加密后,密文可以看作旧IP头,ESP摘要可以看作ESP尾2016年下半年信息安全工程师考试真题(下午题)试题一(共20分)阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内说明】 研究密码编码的科学称为密码编码学,研究密码破译的科学称为密码分析学,密码编码学和密码分析学共同组成密码学密码学作为信息安全的关键技术,在信息安全领域有着广泛的应用。
问题1】(9分) 密码学的安全目标至少包括哪三个方面?具体内涵是什么?(1)保密性:保密性是确保信息仅被合法用户访问,而不被泄露给非授权的用户、实体或过程,或供其利用的特性即防止信息泄漏给非授权个人或实体,信息只为授权用户使用的特性2)完整性:完整性是指所有资源只能由授权方或以授权的方式进行修改,即信息未经授权不能进行改变的特性信息在存储或传输过程中保持不被偶然或蓄意地删除、修改、伪造、乱序、重放、插入等破坏和丢失的特性3)可用性:可用性是指所有资源在适当的时候可以由授权方访问,即信息可被授权实体访问并按需求使用的特性信息服务在需要时,允许授权用户或实体使用的特性,或者是网络部分受损或需要降级使用时,仍能为授权用户提供有效服务的特性问题2】(3分) 对下列违规安全事件,指出各个事件分别违反了安全目标中的哪些项? (1)小明抄袭了小丽的家庭作业 (2)小明私自修改了自己的成绩 (3)小李窃取了小刘的学位证号码、登录口令信息、并通过学位信息系统更改了小刘的学位信息记录和登陆口令,将系统中小刘的学位信息用一份伪造的信息替代,造成小刘无法访问学位信息系统1)保密性(2)完整性(3)可用性【问题3】(3分) 现代密码体制的安全性通常取决于密钥的安全,为了保证密钥的安全,密钥管理包括哪些技术问题?密钥管理包括密钥的产生、存储、分配、组织、使用、停用、更换、销毁等一系列技术问题。
问题4】(5分) 在图1-1给出的加密过程中,Mi,i=1,2,…,n表示明文分组,Ci,i=1,2,…,n表示密文分组,Z表示初始序列,K表示密钥,E表示分组加密过程该分组加密过程属于哪种工作模式?这种分组密码的工作模式有什么缺点?明密文链接模式 缺点:当Mi或Ci中发生一位错误时,自此以后的密文全都发生错误,即具有错误传播无界的特性,不利于磁盘文件加密并且要求数据的长度是密码分组长度的整数倍,否则最后一个数据块将是短块,这时需要特殊处理试题二(共10分)阅读下列说明和图,回答问题1至问题2,将解答填入答题纸的对应栏内说明】 访问控制是对信息系统资源进行保护的重要措施l适当的访问控制能够阻止未经授权的用户有意或者无意地获取资源访问控制一般是在操作系统的控制下,~按照事先确定的规则决定是否允许用户对资源的访问图2-1给出了某系统对客体traceroute.mpg实施的访问控制规则问题1】(3分) 针对信息系统的访问控制包含哪些基本要素?主体、客体、授权访问【问题2】(7分) 分别写出图2-1中用户Administrator对应三种访问控制实现方法,即能力表、访问控制表和访问控制矩砗下的访问控制规则。
能力表: (主体)Administrator <(客体)traceroute.mpg:读取,运行> 访问控制表: (客体)traceroute.mpg<(主体)Administrator :读取,运行> 访问控制矩阵: 试题三(共19分)阅读下列说明和图,回答问题l至问题3,将解答填入答题纸的对应栏内说明】 防火墙是一种广泛应用的网络安全防御技术,它阻挡对网络的非法访问和不安全的数据传递,保护本地系统和网络免于受到安全威胁 图3-1给出了一种防火墙的体系结构问题1】(6分) 防火墙的体系结构主要有: (1)双重宿主主机体系结构; (2)(被)屏蔽主机体系结构; (3)(被)屏蔽子网体系结构; 请简要说明这三种体系结构的特点双重宿主主机体系结构:双重宿主主机体系结构是指以一台双重宿主主机作为防火墙系统的主体,执行分离外部网络与内部网络的任务 被屏蔽主机体系结构:被屏蔽主机体系结构是指通过一个单独的路由器和内部网络上的堡垒主机共同构成防火墙,主要通过数据包过滤实现内外网络的隔离和对内网的保护 被屏蔽子网体系结构:被屏蔽子网体系结构将防火墙的概念扩充至一个由两台路由器包围起来的周边网络,并且将容易受到攻击的堡垒主机都置于这个周边网络中。
其主要由四个部件构成,分别为:周边网络、外部路由器、内部路由器以及堡垒主机拓展: 【问题2】(5分) (1)图3-1描述的是哪一种防火墙的体系结构? (2)其中内部包过滤器和外部包过滤器的作用分别是什么?(1) 屏蔽子网体系结构 (2) 内部路由器:内部路由器用于隔离周边网络和内部网络,是屏蔽子网体系结构的第二道屏障在其上设置了针对内部用户的访问过滤规划,对内部用户访问周边网络和外部网络进行限制 外部路由器:外部路由器的主要作用在于保护周边网络和内部网络,是屏蔽子网体系结构的第一道屏障在其上设置了对周边网络和内部网络进行访问的过滤规则,该规则主要针对外网用户 【问题3】(8分) 设图3-1中外部包过滤器的外部IP地址为10.20.100.1,内部IP地址为10.20.100.2,内部包过滤器的外部IP地址为10.20.100.3,内部IP地址为192.168.0.1,DMZ中Web服务器IP为10.20.100.6,SMTP服务器IP为10.20.100.8关于包过滤器,要求实现以下功能,不允许内部网络用户访问外网和DMZ,外部网络用户只允许访问DMZ中的Web服务器和SMTP服务器。
内部包过滤器规则如表3-1所示请完成外部包过滤器规则表3-2,将对应空缺表项的答案填入答题纸对应栏内表3-1内部包过滤器规则表 表3-2外部包过滤器规则表(1)* (2)10.20.100.8 (3)10.20.100.8 (4)* (5)UDP (6)10.20.100.3 (7)UDP (8)10.20.100.3试题四(共18分)阅读下列说明,回答问题l至问题4,将解答填入答题纸的对应栏内说明】 用户的身份认证是许多应用系统的第一道防线,身份识别对确保系统和数据的安全保密极其重要以下过程给出了实现用户B对用户A身份的认证过程 1.A->B:A 2.B->A:{B,Nb} pk(A) 3.A->B:h(Nb) 此处A和B是认证的实体,Nb是一个随机值,pk(A)表示实体A的公钥,{B,Nb}pk(A)表示用A的公钥对消息B进行加密处理,h(Nb)表示用哈希算法h对Nb计算哈希值问题1】(5分) 认证与加密有哪些区别?认证和加密的区别在于:加密用以确保数据的保密性,阻止黑客的被动攻击,如截取,窃听等;而认证用以确保报文发送者和接收者的真实性以及报文的完整性,阻止黑客的主动攻击,如冒充、篡改、重播等。
问题2】(6分) (1)包含在消息2中的“Nb”起什么作用? (2)“Nb”的选择应满足什么条件?(1) Nb是一个随机值,只有发送方B和A知道,起到抗重放攻击作用 (2) 应具备随机性,不易被猜测问题3】(3分) 为什么消息3中的Nb要计算哈希值?哈希算法具有单向性,经过哈希值运算之后的随机数,即使被攻击者截获也无法对该随机数进行还原,获取该随机数Nb的产生信息问题4】(4分) 上述协议存在什么安全缺陷?请给出相应的解决思路攻击者可以通过截获h(Nb)冒充用户A的身份给用户B发送h(Nb) 解决思路:用户A通过将A的标识和随机数Nb进行哈希运算,将其哈希值h(A,Nb)发送给用户B,用户B接收后,利用哈希函数对自己保存的用户标识A和随机数Nb进行加密,并与接收到的h(A,Nb)进行比较若两者相等,则用户B确认用户A的身份是真实的,否则认为用户A的身份是不真实的试题五(共8分)阅读下列说明和代码,回答问题1和问题2,将解答写在答题纸的对应栏内说明】 某本地口令验证函数(C语言环境,X86 32指令集)包含如下关键代码;某用户的口令保存在字符数组origPassword中,用户输入的口令保存在字符数组userPassword中,如果两个数组中的内容相同则允许进入系统。
[...] Char origPassword[12]=“lSecret” Char origPassword[12]; [...] Gets(userPassword);/*读取用户输入的口令*/ [...] If(strncmp(origPassword,userPassword,12)!=0) { Printf(“Password,doesn’t match!/n”); Exit(-1); } [...] /*口令认证通过时允许用户访问*/ [...]【问题1】(4分) 用户在调用gets()函数时输入什么样式的字符串,可以在不知道的原始口令“Secret”的情况下绕过该口令验证函数的限制?只要输入长度为24的字符串,其前12个字符和后12个字符一样即可问题2】(4分) 上述代码存在什么类型的安全隐患?请给出消除该安全隐患的思路gets()函数必须保证输入长度不会超过缓冲区,一旦输入大于12个字符的口令就会造成缓冲区溢出。
解决思路:使用安全函数来代替gets()函数,或者对用户输入进行检查和校对,可通过if条件语句判断用户输入是否越界2017年上半年信息安全工程师考试真题(下午题)第1题阅读下列说明,回答问题 1 至问题 3,将解答写在答题纸的对应栏内 【说明】 安全目标的关键是实现安全的三大要素:机密性、完整性和可用性对于一般性的信息类型的安全分类有以下表达形式: { (机密性,影响等级), (完整性,影响等级), (可用性,影响等级) } 在上述表达式中,"影响等级"的值可以取为低 (L)、中(M)、高(H) 三级以及不适用 (NA) 【问题 1】(6 分) 请简要说明机密性、完整性和可用性的含义 (1)机密性:维护对信息访问和公开经授权的限制,包括保护个人隐私和私有的信息2)完整性:防止信息不适当的修改和毁坏,包括保证信息的不可抵赖性和真实性3)可用性:保证信息及时且可靠的访问和使用解析:1、机密性 机密性是确保信息仅被合法用户访问,而不被泄露给非授权的用户实体或过程,或供其利用的特性即防止信息泄漏给非授权个人或实体,信息只为授权用户使用的特性这里的"访问"是指不仅可以读,还能浏览、打印或简单了解一些特殊资源是否存在。
常用的保密技术包括:防侦收(使对手侦收不到有用的信息)、防辐射(防止有用信息以各种途径辐射出去)、数据加密(在密钥的控制下,用加密算法对信息进行加密处理即使对手得到了加密后的信息也会因为没有密钥而无法读懂有效信息)、物理保密(利用各种物理方法,如限制、隔离、掩蔽、控制等措施,保护信息不被地露)等2、完整性 完整性是指所有资源只能由授权方或以授权的方式进行修改,即信息未经授权不能进行改变的特性信息在存储或传输过程中保持不被偶然或蓄意地删除、修改、伪造、乱序、重放、插入等破坏和丢失的特性完整性是一种面向信患的安全性,它要求保持信息的原样,即信 息的正确生成和正确存储和传输完整性与保密性不同,保密性要求信息不被泄露给未授权的人,而完 整性则要求信息不致受到各种原因的破坏影响网络信息完整性的主 要因素有:设备故障、误码(传输、处理和存储过程中产生的误码,定 时的稳定度和精度降低造成的误码,各种干扰源造成的误码)、人为攻击、计算机病毒等3、可用性 可用性是指所有资源在适当的时候可以由授权方访问,即信息可被授权实体访问并按需求使用的特性信息服务在需要时,允许授权用户或实体使用的特性,或者是网络部分受损或需要降级使用时,仍能为授权用户提供有效服务的特性。
可用性是信息系统面向用户的安全性能信息系统最基本的功能是向用户提供服务,而用户的需求是随机 的、多方面的、有时还有时间要求可用性一般用系统正常使用时间 和整个工作时间之比来度量可用性还应该满足以下要求:身份识别与确认、访问控制(对用户的权限进行控制,只能访问相应权限的资源,防止或限制经隐蔽通道的非 法访问)问题 2】(2 分)对于影响等级"不适用"通常只针对哪个安全要素? "不适用"通常只针对机密性【问题 3 】(3 分) 如果一个普通人在它的个人 Web 服务器上管理其公开信息请问这种公开信息的安全分类是什么?{(机密性,NA),(完整性,M),(可用性,M)}第2题阅读下列说明,回答问题 1 和问题 2,将解答写在答题纸的对应栏内 【说明】 Windows 系统的用户管理配置中,有多项安全设置,如图 2-1 所示 【问题 1】(3 分)请问密码和账户锁定安全选项设置属于图中安全设置的哪一项? 账户策略中包括密码策略和账户锁定策略两种安全设置拓展:密码策略为密码复杂程度和密码规则的修改提供了一种标准的手段,以便满足高安全性环境中对密码的要求账户锁定策略可以跟踪失败的登录,并且在必要时可以锁定相应账户。
问题 2】(3 分) Windows 的密码策略有一项安全策略就是要求密码必须符合复杂性要求,如果启用此策略,那么请问:用户 Administrator 拟选取的以下六个密码中的哪些符合此策略? 123456 Admin123 Abcd321 Admin@ test123! 123@host 密码必须符合复杂性要求:启用该项后,将对所有的新密码进行检查,确保满足密码复杂性的基本要求如果启用此策略,密码必须符合下列最低要求:不能包含用户的账户名,不能包含用户姓名中超过两个连续字符的部分,至少有六个字符长,包含以下四类字符中的三类字符:英文大写字母(A 到Z)、英文小写字母(a 到z) 、10 个基本数字(0 至9)、非字母字符(例如!、$、#、%)Abcd321 test123! 123@host第3题【说明】 扫描技术是网络攻防的一种重要手段,在攻和防当中都有其重要意义nmap是一个开放源码的网络扫描工具,可以查看网络系统中有哪些主机在运行以及哪些服务是开放的namp工具的命令选项: sS 用于实现 SYN 扫描,该扫描类型是通过观察开放端口和关闭 端口对探测分组的响应来实现端口扫描的。
请根据图 3-1 回答下列 问题 【问题 1】 (2 分) 此次扫描的目标主机的 IP 地址是多少? 192.168.220.1拓展:【问题 2】(2 分) SYN 扫描采用的传输层协议名字是什么? TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义拓展:用户数据报协议(UDP)是同一层内另一个重要的传输协议在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换问题 3】 (2 分)SYN 的含义是什么? SYN(synchronous)是TCP/IP建立连接时使用的握手信号TCP是因特网中的传输层协议,使用三次握手协议建立连接当主动方发出SYN连接请求后,等待对方回答SYN+ACK ,并最终对对方的 SYN 执行ACK 确认这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。
TCP三次握手的过程如下:客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态服务器端接收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了问题 4】 (4 分) 目标主机开放了哪几个端口?简要说明判断依据 目标主机开放了135、139端口 判断依据:如果端口开放,目标主机会向扫描端发送SYN+ACK连接请求;如果端口关闭,则向扫描主机发送RST响应问题 5】(3 分)每次扫描有没有完成完整的三次握手?这样做的目的是什么? 都没有完成三次握手过程,尤其是最后的ACK报文没有Tcp SYN Scan (sS) 这是一个基本的扫描方式,它被称为半开放扫描,因为这种技术使得Nmap不需要通过完整的握手,就能获得远程主机的信息Nmap发送SYN包到远程主机,但是它不会产生任何会话因此不会在目标主机上产生任何日志记录,因为没有形成会话这个就是SYN扫描的优势如果Nmap命令中没有指出扫描类型,默认的就是Tcp SYN。
但是它需要root/administrator权限问题 6】(5 分) 补全表3-1 所示的防火墙过滤器规则的空(1) - (5),达到防火墙禁止此类扫描流量进入和处出网络 ,同时又能允许网内用户访问外部网页务器的目的 表 3-1 防火墙过滤器规则表 (1)UDP(2)*(3)80(4)0(5)1解析:第1条规则,拒绝从外网往内网发送的请求连接信息,所以ACK=0;第2、3、4条规则,配置允许内网用户访问外部网页服务器第2条规则,允许内网往外网服务器80端口发送的请求连接和应答信息,所以目的端口为80;第3条规则,允许内网向外网域名服务器发送的请求连接和应答信息,所以协议为UDP;第4条规则,允许外网域名服务器发往内网的应答信息,所以ACK=1;第5条规则,其他流量一律不允许进出内外部网络,所以协议为*问题 7】 (2 分) 简要说明为什么防火墙需要在进出两个方向上对据数据包进行过滤在进入方向进行过滤是为了防止外部的攻击行为进入内部网络在出口方向过滤是为了防止自己内网主机被控制,成为肉鸡,变为攻击的源头或者跳板第4题【说明】 DES 是一种分组密码,己知 DES 加密算法的某个 S 盒如表 4-1 所示。
【问题1】 (4分) 请补全该 S 盒,填补其中的空(1) - (4),将解答写在答题纸的对应栏内S 盒有一个选择矩阵,规定了其输出与输入的选择规则选择矩阵有4 行16 列,每行都是0到15 这16 个数字,但每行的数字排列都不同,而且8 个选择矩阵被此也不同1)10(2)6(3)1(4)11【问题 2】 (2分) 如果该 S 盒的输入为 110011,请计算其二进制输出 每个S盒有6 位输入,产生4 位的输出选择规则是S 盒的6 位输入中的第1 位和第 6 位数字组成的二进制数值代表选中的行号,其余4 位数字所组成的二进制数值代表选中的列号,而处在被选中的行号和列号交点处的数字便是S 盒的输出(以二进制形式输出)11为行号,即为31001为列号,即为93行与9列的交差值,即为输出4,转化为二进制即为0100【问题3】(6分) DES加密的初始置换表如下: 置换时,从左上角的第一个元素开始,表示输入的明文的第58位置换成输出的第1位,输入明文的第50位置换成输出的第2位,从左至右,从上往下,依次类推 DES加密时,对输入的64位明文首先进行初始置换操作若置换输入的明文M=09ABCDEF(16进制),请计算其输出(16进制表示)。
M=09ABCDEF(16进制)转化为二进制为00000001 00100011 01000101 01100111 根据置换规则进行置换M = 00000000 转化为16进制为CC00CCFFF0AAF0AA【问题4】(2分) 如果有简化的DES版本,其明文输入为8比特,初始置换表IP如下: IP:2 6 3 1 4 8 5 7 请给出其逆初始置换表4 1 3 5 7 2 8 6解析:逆初始置换是在初始置换的基础上进行逆置换;比如原始数据顺序为;经过初始置换之后变成:;则逆初始置换是要将其顺序进行还原,比如,原始数据中第一位数据经初始置换之后放到了第4位,那么逆初始置换就要将初始置换后的第4位放到第1位,即逆初始置换表第一位为4;原始数据中第二位数据经初始置换之后放到了第1位,那么逆初始置换就要将初始置换后的第1位放到第2位,即逆初始置换表第二位为1;其余依次类推,得出该逆初始置换表为问题5】(2分) DES加密算法存在一些弱点和不足,主要有密钥太短和存在弱密钥请问,弱密钥的定义是什么?弱密钥不受任何循环移位的影响,并且只能得到相同的子密钥,由全0或全1组成的密钥显然是弱密钥,子密钥生成过程中被分割的两部分分别为全0或全1时也是弱密钥。
DES算法中存在弱密钥和半弱密钥解析:弱密钥K:即K1=K2…=K16;弱密钥不受任何循环移位的影响,并且只能得到相同的子密钥,由全0或全1组成的密钥显然是弱密钥,子密钥生成过程中被分割的两部分分别为全0或全1时也是弱密钥,并且存在4个弱密钥半弱密钥K:有些种子密钥只能生成两个不同的子密钥,这样的种子密钥K称为半弱密钥,DES至少存在12个半弱密钥半弱密钥将导致把明文加密成相同第5题【说明】在公钥体制中,每一用户U都有自己的公开密钥PKu和私钥SKu如果任意两个用户A和B按以下方式通信:void Challenge(char *str) { char temp[9]={0}; strncpy(temp,str,8); printf("temp=%s\n",temp); if(strcmp(temp"Please!@")=O){ printf("KEY: ****"); } }int main(int argc,char *argv[]) {char buf2[16]; int check=1; char buf[8]; strcpy (buf2, "give me key! !"); strcpy(buf,argv[ 1]); if(check=65) { Challenge(bu f); } else { printf("Check is not 65 (%d) \n Program terminated!!\n",check); } return 0; } A发给B消息[EpKB(m), A]。
其中Ek(m)代表用密钥K对消息m进行加密 B收到以后,自动向A返回消息【EPkA(m),B】,以使A知道B确实收到消息m问题1】(4分) 用户C怎样通过攻击手段获取用户A发送给用户B的消息m1、用户C截获消息 [EPKB (m),A]2、用户C篡改消息 [EPKB (m),C]3、用户B返回消息 [EPKC(m),B]4、用户C成功解密,最后得到明文m解析:1.用户C首先截获消息:(EPKB(m),A)2.然后将用户标识信息改为C自己的标识信息,让用户B以为这条消息就是C发过来的即:C(“B”)->B:(EPKB(m),C)3.用户B将自己的身份标识及用C的公钥加密的信息一起发送给用户C即:B--->C:(EPKC(m),B)4.用户C用私钥成功解密,最后得到明文m问题2】(6分) 若通信格式变为: A给B发消息:EPKB(ESKA(m),m,A) B给A发消息:EpKA(EsKN(m),m,B) 这时的安全性如何?请分析A,B此时是如何相互认证并传递消息的安全性提高了,能实现加密和认证双重任务1、A发送B消息是A首先用自己的密钥SKA对消息m加密,用于提供数字签名,再用接收方的公开钥PKB第二次加密,密文中包括了明文信息及A的身份信息。
2、接收方B收到密文,用自己的私钥先解密,再用对方的公钥验证发送方的身份是A,实现了B对A的认证,并获取了明文 3、B发给A消息是B首先用自己的私钥SKB对消息m加密并签名,再用A的公钥PKA第2次加密,密文中包括明文的信息和A的身份信息,还有B对接受的m的签名密文 4、只有A才能用自己的私钥打开B送来的密文,并验证B的签名,实现了A对B的认 证,当A看见原样返回的m,就知道B收到了A发送的明文m了第6题【说明】 基于 Windows32 位系统分析下列代码,回答相关问题 void Challenge(char *str) { char temp[9]={0}; strncpy(temp,str,8); printf("temp=%s\n",temp); if(strcmp(temp"Please!@")==0){ printf("KEY: ****"); } } int main(int argc,char *argv[ ]) { char buf2[16] int check=1; char buf[8] strcpy (buf2, "give me key! !"); strcpy(buf,argv[1]); if(check==65) { challenge(buf); } else { printf("Check is not 65 (%d) \n Program terminated!!\n",check); } return 0; } 【问题 1】(3 分) main 函数内的三个本地变量所在的内存区域称为什么?它的两个最基本操作是什么? 1、栈区 2、PUSH和POP操作拓展:1、栈区(stack)——由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。
其操作方 式类似于数据结构中的栈2、堆区(heap)—— 一般由程序员分配(如new、malloc)和释放(delete,free), 若程序员 不释放,程序结束时可能由OS回收,但这样会导致内存泄露,严重的导致系统崩溃, 如一个程序 是长期运行的,申请的变量永远都得不到释放,系统内存会耗尽注意它与数据结构中的堆是两 回事,分配方式倒是类似于链表 3、全局区(静态区)(static)——全局变量和静态变量的存储是放在一块的,初始化的全局变 量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域 程序结束后由系统释放4、文字常量区 —— 常量字符串就是放在这里的 程序结束后由系统释放 5、程序代码区 —— 存放函数体的二进制代码问题 2】(3分) 画出buf,check,buf2 三个变量在内存的布局图 答案:【问题 3】(2分) 应该给程序提供什么样的命令行参数值(通过argv变量传递)才能使程序执行流程进入判断语句 if(check=65)....然后调用challenge( )函数 用户输入9个字符的字符串,满足以下条件:前八个字符为任意字符,第九个字符为大写字母A。
导致溢出,A的ASCII码值为65问题4】(4分) 上述代码所存在的漏洞名字是什么,针对本例代码,请简要说明如何修正上述代码以修补次漏洞漏洞名称:缓冲器溢出解决方法:使用安全函数strncpy()来代替strcpy()函数。