1、1. 简述网络安全的概念网络安全是指网络系统的硬件、软件及系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄漏,系统连续可靠正常的运行,网络服务不中断。网络安全从其本质上讲就是网络上的信息安全。2. 如何从技术方面实现网络安全防护主要目标的“五不”“进不来”:使用访问控制机制,阻止非授权用户进入网络,从而保证网络系统的可用性。“拿不走”:使用授权机制,实现对用户的权限控制,同时结合内容审计机制实现对网络资源及信息的可控性“看不懂”:使用加密机制,确保信息不暴露给未授权的实体或进程,从而实现信息的保密性;“改不了”:使用数据完整性鉴别机制,保证只有得到允许的人才能修改数据,从而
2、确保信息的完整性和真实性“走不脱”:使用审计,监控,防抵赖等安全机制,使得破坏者走不脱,并进一步对网络出现的安全问题提供调查依据和手段,实现信息安全的可审查性。3. 举例说明计算机网络面临的主要威胁各种自然因素:包括自然灾害、网络的环境和场地条件、电磁辐射和电磁干扰的威胁、网络硬件设备自然老化、可靠性下降的威胁内部窃密和破坏:内部涉密人员有意或无意泄密,更改记录信息,非授权人员的窃密,内部人员破坏网络环境信息的截获和重演:攻击者通过搭线或在电磁波辐射的范围内安装截收装置等方式,截获机密信息,分析信息,推出有用信息,非法访问:未经授权使用网络资源或以未授权的方式使用网络资源。破坏 信息的完整性:
3、攻击者篡改,删除,插入信息,让接收方读不懂或接收不到信息。欺骗:攻击者冒充合法地址或身份欺骗网络中的其他主机及用户,占用合法用户的资源抵赖:发信者时候否认曾经发送过某条消息或消息的内容。接受者否认曾经接收过某条消息或消息内容破坏系统的可用性:使合法用户不能正常访问网络资源,使用严格时间要求的服务不能几时得到响应,摧毁系统。4. 简述网络攻击所涉及的主要技术和手段拒绝服务(DoS)指攻击者通过向目标主机建立大量的连接请求,阻塞通信信道,延缓网络传输,挤占目标机器的服务缓冲区,以至目标计算机忙于应付,响应迟钝,直至网络瘫痪系统关闭 入侵攻击攻击者利用操作系统中内在缺陷或者对方使用的程序语言本身所具
4、有的安全隐患等,非法进入本地或远程主机系统,获得一定的权限,进而可以窃取信息,删除文件,埋设后门等行为 病毒攻击 有害代码攻击 邮件攻击 诱饵攻击5. 简述黑客精神/简述原始黑客精神自由共享的精神,黑客文化的精髓 探索与创新的精神 合作的精神6. 简述并举例计算机网络存在的脆弱性网络基础协议存在安全漏洞网络硬件存在安全隐患软件设计的缺陷操作系统存在安全漏洞网络体系结构的安全风险7. 调研美军网络战部队的建设情况8. 调研“震网病毒”及“维基解密”事件9. 调研美国“菱镜计划”及“斯诺登事件”10.简述网络安全的目标及信息安全的三要素的含义网络安全的目标是保护网络系统中信息的机密性、完整性、可用
5、性、不可抵赖性和可控性等。信息安全的三要素为:机密性、完整性、可用性。机密性:保证信息不能被非授权访问,即使非授权用户得到信息也无法知晓信息内容,因而不能使用。其任务是确保信息不会被未授权的用户访问,通常通过访问控制阻止非授权用户获得机密信息,通过加密变换阻止非授权用户获知信息内容。完整性:是指维护信息的一致性。一般通过访问控制阻止篡改行为,同时通过消息摘要算法来检验信息是否被篡改。信息的完整性包括数据完整性和系统完整性可用性:指保障信息资源随时可提供服务的能力特性,即授权用户根据需要可能随时访问所需信息。可用性是信息资源服务功能和性能可靠性的度量,涉及到物理、网络、数据、应用和用户等多方面的
6、因素,是对信息网络总体可靠性的要求。10. 简述网络攻击与网络防护的含义网络攻击:指利用目标系统的安全缺陷,为窃取、修改、伪造或破坏信息,以及降低、破坏网络使用效能而采取的各种措施和行动。网络防护:指为保护己方网络和设备正常工作、信息数据安全而采取的措施和行的。11. 简述网络攻击与网络防护的目标网络攻击的目标是破坏网络信息系统的安全行(机密性、完整性、可用性)网络防护的目标是保证己方网络数据的机密性、完整性、可用性、真实性、可控制性与可审查性。目标可归结为“五不”13.网络对抗主要设计到哪些方面的技术网络侦查技术、网络攻击技术和网络防护技术14.简述网络侦查所涉及的主要技术端口探测技术 漏洞
7、探测技术 隐蔽侦察技术 渗透侦察技术15.简述网络攻击所涉及的主要技术和手段DoS拒绝服务入侵攻击 病毒攻击 有害代码攻击 邮件攻击 诱饵攻击16.简述网络防护所涉及的主要技术和手段防火墙技术 入侵检测技术 病毒检测与防护技术 数据加密技术 认证技术 “蜜罐技术”第二章1.写出用net启动和关闭C 盘共享、映射远程主机192.168.11.200C$为本地磁盘Z:的命令net share C=C: (启动C盘共享)net share C: /del (关闭C盘共享)net use Z:192.168.11.200C$其余net命令:启动关闭服务:net start servuedname 和n
8、et stop servicecname启动关闭共享:net share sharename 和 net share sharename /del影射磁盘和删除映射磁盘:net use drivename ipdrive 和net use drivename /del添加删除用户:net user username password /add 或 /del激活和关闭guest 帐号:net user guest/active:yes 和net user guest /active:no2.用tracert命令查看并记录下从本地主机到所经过的路由tracert 3.如何查看主机网卡的MAC地址,
9、分别写出在Windows下和Linux系统中Windows中运用命令 ipconfig /all 即可看到物理地址Linux中运用ifconfig a4.用原始套接字实现两台计算机之间的数据通信client.c#include #include #include #include #include #include int main()int cfd;int recbytes;int sin_size;char buffer1024=0; struct sockaddr_in s_add,c_add;unsigned short portnum=0x8888; printf(“Hello,we
10、lcome to client !rn“);cfd = socket(AF_INET, SOCK_STREAM, 0);if(-1 = cfd)printf(“socket fail ! rn“);return -1;printf(“socket ok !rn“);bzero(s_add.sin_family=AF_INET;s_add.sin_addr.s_addr= inet_addr(“192.168.1.2“);s_add.sin_port=htons(portnum);printf(“s_addr = %#x ,port : %#xrn“,s_add.sin_addr.s_addr,
11、s_add.sin_port);if(-1 = connect(cfd,(struct sockaddr *)(return -1;printf(“connect ok !rn“);if(-1 = (recbytes = read(cfd,buffer,1024)printf(“read data fail !rn“);return -1;printf(“read okrnREC:rn“);bufferrecbytes=0;printf(“%srn“,buffer);getchar();close(cfd);return 0;2、 server.c#include #include #incl
12、ude #include #include #include int main()int sfp,nfp;struct sockaddr_in s_add,c_add;int sin_size;unsigned short portnum=0x8888;printf(“Hello,welcome to my server !rn“);sfp = socket(AF_INET, SOCK_STREAM, 0);if(-1 = sfp)printf(“socket fail ! rn“);return -1;printf(“socket ok !rn“);bzero(s_add.sin_famil
13、y=AF_INET;s_add.sin_addr.s_addr=htonl(INADDR_ANY);s_add.sin_port=htons(portnum);if(-1 = bind(sfp,(struct sockaddr *)(return -1;printf(“bind ok !rn“);if(-1 = listen(sfp,5)printf(“listen fail !rn“);return -1;printf(“listen okrn“);while(1)sin_size = sizeof(struct sockaddr_in);nfp = accept(sfp, (struct
14、sockaddr *)(if(-1 = nfp)printf(“accept fail !rn“);return -1;printf(“accept ok!rnServer start get connect from %#x : %#xrn“,ntohl(c_add.sin_addr.s_addr),ntohs(c_add.sin_port);if(-1 = write(nfp,“hello,welcome to my server rn“,32)printf(“write fail!rn“);return -1;printf(“write ok!rn“);close(nfp);close(
15、sfp);return 0;在cygwin下,使用gcc命令编译如下:gcc -o server server.cgcc -o client client.c然后运行程序:./server./clientserver执行效果如下:Hello,welcome to my server !socket ok !bind ok !listen okaccept ok!Server start get connect from 0xc0a80102 : 0xc927write ok!client执行效果如下:Hello,welcome to client !socket ok !s_addr = 0x
16、201a8c0 ,port : 0x8888connect ok !read okREC:hello,welcome to my server5.用netcat 在本机开启一个监听端口netcat na6.简述Windows命令行程序及 Path环境变量的用途cmd.exe是微软Windows系统的命令行程序,类似于微软的DOS操作系统。cmd.exe是一个16/32位的命令行程序。 cmd.exe是一个Windows程序,作为一个DOS的命令行解释程序。Path环境变量:指定命令搜索路径,在命令行下面执行命令时,程序会到Path变量所指定的路径中查找看是否能找到相应的命令程序。7.Windo
17、ws和Linux 系统下符合查看本机网络连接状态Ping 命令,ping 看是否能Ping通。8.如何查看远程主机开放了哪些网络端口 命令:netstate an 用于查看自己所开放的端口netstate bn 用于查看是哪个进程建立了连接查看远程主机的端口,可使用端口扫描工具nmap等添加计划任务命令at:at 192.168.11.203 13:42 server.exe 指定时间运行特定程序查看修改文件夹权限命令cac ls:将C:test.bmp 的文件访问权限更改为netkey完全控制,cacls C:test.bmp /G netkey:f回显命令echo:用echo和符号可以把
18、命令结果导出到某文件中echo hacked by netkey index.html /用 * 覆盖 index.htmlecho hacked by netkey index.html /在 index.html尾部添加*命令行下注册表修改:regedit/s netkey.reg 将netkey.reg 导入到注册表中regedit/e filename.reg regpath 将注册表中的某些相值导出。查看当前系统用户情况命令query: query user 查看当前系统的回话终止回话命令logoff:【sessionname|sessionid】DNS查看nslookup :nsl
19、ookup 查询域名对应的IP 地址。第三章1.为什么要使用TCP Ping 进行探测?随着人们信息安全意识的提高,人们一般用防火墙阻塞ICMP echo request 信息包,所以必须使用TCP Ping来进行探测。TCP Ping通过扫描每个潜在IP地址上的常用端口,只要能标识出目标系统上存在开放的端口,就可以断定该主机是活跃的。主要通过两种方式实现:向目标主机通常会提供服务的端口如80端口发送一个 TCP ACK包,然后检测回应的包,若收到RST回应,则表名该机器是活跃的向目标主机的80等端口发送一个SYN信息包并等待RST或SYN|ACK响应。此方法的缺点是:探测过程较长,而且不总
20、是有确定的结论2.用什么方法可以探测到目标主机当前的时间利用ICMP协议的时戳探测报文,能够获取对该时戳请求有响应的目标机器的当前时钟。有利于攻击者分析和破解建立在时间基础上的认证协议。3.按漏洞可能对系统造成的直接威胁分类,漏洞可以分成哪几类远程管理员权限本地管理员权限普通用户访问权限权限提升读取受限文件远程拒绝服务本地拒绝服务远程非授权文件存取口令回复欺骗(11)服务器信息泄漏(12)其他漏洞4.列举常用的操作系统类型探测技术传统操作系统类型探测技术基于TCP/IP协议栈的指纹探测,其中包括两大部分:在传输层实现的基于TCP协议的指纹探测技术和在IP 层实现的基于ICMP协议的指纹探测技术
21、 在传输层实现的基于TCP协议的指纹探测技术包括以下几个方面:1.FIN探测2.BOGUS(伪造)标记位探测3.TCP ISN取样 4.“无碎片”标记位5.TCP初始化“窗口”6.ACK值7.ICMP 错误信息查询8.ICMP错误信息引用9.服务类型(TOS )10. 片段(碎片)处理11.TCP选项 基于ICMP协议的指纹探测技术5.按漏洞的成因分类:输入验证错误访问验证错误竞争条件意外情况处置错误设计错误配置错误环境错误6.操作系统指纹探测的基本过程:建立指纹特征库 获取目标的协议指纹进行特征匹配第四章1.函数调用时所建立的栈帧包含了哪几方面的信息函数的返回地址调用函数的栈帧信息为函数的局
22、部变量分配的空间为被调用函数的参数分配的空间2.在什么条件下会发生缓冲区溢出错误,溢出错误一定能被利用以执行用户的代码吗?如果用大于目标缓冲区大小的内容来向缓冲区进行填充时,就可以改写函数保存在函数栈帧中的返回地址,从而改变程序的执行流程,执行注入在栈中的代码,实现缓冲区溢出攻击。 不一定3.用图简述Linux IA32的进程内存映像低地址 高地址.text .data .bss Heap 未使用 Stack 环境4.Linux系统下进程的环境变量的起始地址是固定的吗?5.如果Linux下的 simple_overflow.c程序中的smallbuf 缓冲区大小为29字节,通过 gdb调试,确
23、定smallbuf 的首地址与 main()的返回地址相距多少字节。第五章1.简述shellcode的概念以及编写shellcode的步骤Shellcode是一段机器指令,用于在溢出之后改变系统正常流程,转而执行shellcode 从而入侵目标系统。编写Linux IA32的shellcode的步骤:编写简洁的能完成所需功能的c程序反汇编可执行代码,用系统功能调用代替函数调用,用汇编语言实现相同的功能提取出操作码,写成shellcode,并用C程序验证。2.Linux环境下的 shellcode为什么不调用libc中的库函数,而是利用系统调用?Shellcode是一组可注入的指令,可在被攻击的
24、程序内运行,由于shellcode 要直接操作寄存器,通常用汇编语言编译并翻译成十六进制操作码,而操纵程序的方法之一是强制它产生系统调用。另外,Linux下每一个函数实际上都是由系统调用实现的。例程实现正常退出的功能,最终使用了系统调用。在libc库中的库函数的地址映射到代码段的低地址,使每个库函数的地址都有从OX00开始,但通常溢出都发生在字符串拷贝中,所以这样攻击就很难完成,通过字符串来传递这个库函数地址以及后续 参数,所以采用系统调用。3.编写一个获得zsh的shellcode。第六章1.假设WindowsXP 下存在缓冲区溢出漏洞的某程序的缓冲区大小为77字节,用图说明跳转地址和she
25、llcode应如何放置。偏移地址=上取整(sizeof(buffer)/4.0)*4+4对于本例,偏移=上取整( 77/4.0)*4+4 =84即返回地址=缓冲区地址+偏移量842.上机实践 用windbg 确定返回地址离sl首地址的距离void overflow(char * s,int size)char sl99;int len;len=strlen(s);printf(“receive %d bytes”,size);ssize=0;strcpy(sl,s);第七章 1.实验题目2.修改GetKernel32FunAddress.cpp,打印出kerner32.dll所有的输出函数及其
26、地址3.为什么传统的(Linux/Unix)把堆栈中shellcode所在的大致地址覆盖函数返回地址的溢出方法在Windows下可行性不高。在Windows和Linux/Unix的内核设计、内存管理都很不一样,而且 Windows下的程序特别推崇多线程,这就导致堆栈位置不固定,所以Linux/Unix传统的把堆栈中shellcode所在的大致地址覆盖函数返回地址的溢出方法在Windows下可行性不高。第八章1.简述Smurf攻击的过程攻击者向方法网络的广播细致发送源地址伪造成受害者IP地址的ICMP返回请求分组,这样看起来是受害者的主机发起了这些请求,导致放大网络上所有的系统都将对受害者的系统
27、做出响应。网络中的所有主机都会向欺骗性分组的IP地址发送echo 响应,如果这是一个很大的以太网段,可以会有几百个主机对收到的echo请求进行回复由于多数系统都会尽快的处理ICMP传输信息,Attacker把分组的源地址设置为目标系统的IP地址,目标系统很快就会被大量的 echo信息吞没,这样轻而易举的就能够阻止该系统处理其他任何网络传输,从而拒绝为正常系统提供服务。2.简述SYN Flood 的攻击原理攻击者向服务器发送大量伪造IP 地址的TCP连接请求,由于IP 地址是伪造的,无法完成最后一次握手,这样在服务器中有大量的半开连接,侵占了服务器的资源。如果在超时时限之内半开连接超过了上线,则
28、服务器将无法相应新的正常连接。3.修改Windows注册表,防止 SYN攻击与SYN Flood相关的注册表键为HKEY_LOCAL_MACHINESystemsCurrentControlSetTcpipParameters增加一个SynAttackProtect的键值,类型为REG_DWORD 取值范围是0-2 ,推荐设为2增加一个TcpMaxHalfOpen的键值,类型为REG_DWORD 取值范围是100-0xFFFF,这个值为系统允许同时打开的半连接。增加一个TcpMaxHalfOpenRetried的键值,类型为REG_DWORD 取值范围是80-0xFFFF,这个值决定在什么情况
29、下系统会打开SYN攻击保护。4.DoS的攻击目的是什么拒绝服务即Denial of Service,简称 DoS。造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务,导致合法用户无法访问系统资源,从而破坏目标系统的可用性。5.早期的DoS和现代的DoS方法有什么主要区别早期的DoS攻击主要利用操作系统或应用软件的缺陷。现代的DoS 试图耗尽目标系统(通信层和应用层)的全部能力,让它无法为合法用户提供服务(或不能及时提供服务)6.简述带宽攻击和连通性攻击带宽攻击本质是攻击者消耗掉某个网络的所有可用带宽:攻击者因为有更多的可用带宽而能够造成受害者网络的拥塞。攻击者通过征
30、用多个网点集中拥塞受害者的网络,以放大他们的DoS攻击效果带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求就无法通过。连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。7.何谓分布式拒绝服务DDoS分布式拒绝服务即DdoS,是一种分布、协作的大规模拒绝服务攻击方式。为了攻击大型站点,可以利用一大批(数万台)受控制的机器向一台及其(某一站点)发起攻击。这样的攻击成为DdoS攻击。8.简述如何防止Smurf 攻击增加连接队列的大小,增加SYN-Flood攻击的难度缩短连接建立超时时限应用厂家检测及规避潜在的syn攻击的相
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。