网络与信息安全学习(七) 2021-09-06 网络 暂无评论 2383 次阅读 # 8.1 网络安全漏洞 ## 8.1.1 漏洞概述 1.漏洞的定义与分类(级) 漏洞是指计算机网络系统在硬件、软件或协议中存在的各种安全缺陷(也称Bug)。漏洞包括:硬件设计漏洞、软件编程漏洞和协议漏洞等。 1)一级漏洞(也称高危漏洞) 2)二级漏洞 3)三级漏洞 4)四级漏洞 2.漏洞产生的原因 ①软件设计不合理、编程出现错误。 这类漏洞又分两类:一是操作系统本身设计缺陷产生的漏洞,二是应用软件产生的安全漏洞。 ②安全策略设置不当。 ③人员缺乏安全意识。 诸多漏洞是管理员对系统错误配置,或没有及时升级造成的。 3.Windows系统漏洞多的原因 1)其桌面OS的垄断地位,存在的问题暴露快,如:IIS服务存在匿名登陆错误。 2)与Linux相比,Windows属于暗箱操作,其安全问题均由微软自身解决。 4 .漏洞的特点 1)漏洞往往在很大的范围内存在。 2)在同种设备的不同版本之间,存在不同的安全漏洞。 3)漏洞与时间相关,新版系统纠正旧版中漏洞的同时,又会产生新的漏洞,故漏洞问题将长期存在。 ##8.1.2 常见的安全漏洞 以微软系统为例! 1.协议漏洞 1)LSASS协议漏洞 LSASS(Local Security Authority Service,本地安全授权服务)漏洞是该服务中的缓冲区溢出漏洞,是微软Windows系统的安全机制,用于本地安全和登陆策略。 “震荡波(Worm.Sasser)”蠕虫病毒就是利用这个漏洞实施攻击的,攻击时先使进程LSASS.EXE缓冲区溢出,攻击者取得目标系统的控制权限,这时被攻击的系统会出现如:“LSASS.EXE终止”提示1分钟倒计时窗口、“LSASS.EXE出错”窗口,需要关机现象。 病毒运行后,将自身复制到系统目录%Windows%下,文件名为:avserve.exe,并在系统注册表启动项中加入自启动项: ``` HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run avserve.exe = "%Windows%\avserve.exe"。 ``` 2) RPC接口协议漏洞 RPC(Remote Procedure Call Protocol,远程过程调用协议)是 Windows 操作系统中的一种协议,它提供进程间通信机制,通过这一机制,主机程序可执行远程系统上的代码。 3)IE协议(浏览器)漏洞 2.端口漏洞 1)53端口 该端口对应DNS(域名解析)服务。 2)67、68端口 67、68端口分别是为DHCP服务的引导程序协议Server(服务端)和引导程序协议Client(客户端)开放的端口。 3)79端口 79端口是为Finger服务开放的,用于查询远程主机在线用户、操作系统类型以及是否缓冲区溢出等详细信息。 8)135端口 135端口主要用于RPC协议,并提供DCOM(分布式组件对象模型)服务。 9)139端口 主要提供Windows文件和打印机共享服务。 10)443端口 443端口即网页浏览端口,主要是用于HTTPS(即S—HTTP协议)服务,提供加密和安全的端口传输。 在安全性要求较高的网站,如:银行、证券、购物等网站,都采用HTTPS服务,以保证交易的安全。 HTTPS服务通过SSL(安全套接字)保证安全性,黑客会利用SSL存在的漏洞实施攻击。 建议开启该端口,使网页能安全访问。 # 8.2 网络安全扫描 ##8.2.1 扫描的定义与分类 1、扫描的定义 为防止黑客利用协议漏洞、端口漏洞及软硬件设计漏洞等漏洞对网络实施攻击,可事先对网络系统进行安全扫描,以提前采取相应的防范措施。 安全扫描是一种对计算机网络系统进行安全检测,以查找安全隐患和可能被攻击者利用的漏洞的技术。从本质上讲,安全扫描就是一种检测技术。它采用模拟黑客攻击的方式,对目标可能存在的漏洞进行检测。 通过漏洞扫描发现远端网络或主机的配置、TCP/UDP端口分配、提供的网络服务等信息。 2、扫描的分类 1)按扫描对象分:主机安全扫描和网络安全扫描。 2)按扫描方式分:基于网络的主动式扫描和基于主机的被动式扫描。 主动式扫描通过模拟攻击行为记录系统响应,发现网络中存在的漏洞。被动式安全扫描通过检查系统中不适当的设置、脆弱性口令等,发现系统中存在的漏洞。 3、扫描的特点 1)误报率低 2)属主动防御 3)是把“双刃剑” 4、扫描的功能 ① 跟踪用户进入、在系统中的行为和离开的信息; ② 报告和识别文件的改动; ③ 纠正系统的错误设置; ④ 识别正在受到的攻击; ⑤ 减轻系统管理员搜索最近黑客行为的负担; ⑥ 使安全管理由普通用户来负责; ⑦ 为制定安全规则提供依据。 ##8.2.2 安全扫描过程 完整的网络安全扫描过程包括三个阶段: 1)发现目标阶段 发现目标主机或网络。 2)搜集信息阶段 发现目标后进一步搜集目标信息,包括:操作系统类型、运行的服务以及服务软件的版本等,并进一步探测该网络的拓扑结构、路由设备以及各主机的状态等信息。 3)判断和测试阶段 根据搜集到的信息,判断或者进一步测试系统是否存在漏洞。 安全扫描包括:Ping扫描(Ping sweep)、操作系统扫描、访问控制规则扫描、端口扫描和漏洞扫描。 其中:Ping扫描在扫描的第一个阶段采用,帮助识别系统(主机)是否处于活动(开机)状态。 操作系统扫描、访问控制规则扫描和端口扫描在扫描的第二个阶段采用,访问控制规则扫描用于获取被防火墙保护的远端网络的信息;而端口扫描则是探知系统处于监听状态下的服务。 漏洞扫描在扫描的第三个阶段采用,它在端口扫描的基础上,对得到的信息分析处理,检测目标系统存在的安全漏洞。 ##8.2.3 扫描的技术、不足与发展 1、扫描用的检测技术 1) 基于应用的检测技术 2) 基于主机的检测技术 3) 基于目标的检测技术 4) 基于网络的检测技术 2、安全扫描的不足 1)现有漏洞扫描基本采用漏洞特征匹配的方法,这就存在一个特征库更新的问题。 2)当扫描发现目标主机某些端口开放或存在漏洞时,不能智能化探测。 3)无法防御攻击者利用脚本漏洞和未知漏洞的入侵,对拒绝服务漏洞的探测自动化程度低。 4)当扫描目标规模扩大,对目标进行全面扫描时,扫描速度较慢。 3、扫描技术的发展 1)模块化 扫描系统由若干个插件组成。每个插件封装多个漏洞扫描方法,主扫描过程通过调用插件执行扫描任务。系统更新时,添加新的插件就可增加新的扫描功能。 使用专用脚本语言定制一个简单的测试,为软件添加新的测试项,同时将简化编写新插件的工作,使扩充软件功能变得容易。 2)专家系统化 安全扫描系统对扫描结果进行整理后,可对网络状况进行评估,并提出整个网络的安全解决方案,相当于一个专家系统。 # 8.3 端口扫描 ## 8.3.1 端口与服务 每个应用服务(如:WWW、FTP等)被赋予一个唯一的地址,这个地址称为端口。当客户有请求到达服务器时,服务器就启动一个服务进程与其进行通信。 端口是专门为计算机通信而设计的,它由TCP/IP协议定义,其中规定,用IP地址和端口作为套接字Socket,套接字代表TCP连接的一个连接端;即用[IP:端口]定位一台主机中的进程,端口与进程一一对应。一个端口就是一个潜在的入侵通道。 端口号范围为0~65535,进程在端口上监听,等待客户请求。 1)公认端口(0~1023) 2)注册端口(1024~49151) 3)动态或私有端口(49152~65535) 实际上,计算机通常从1024开始分配动态端口! 不论是合法用户还是攻击者,都是通过开放的端口连接系统的。端口开放得越多,系统就越不安全。 另外,多数软件(包括:操作系统和应用程序)带有安装程序,为加快安装,安装程序激活了很多功能,并安装了一些用户并不需要的组件,使多数软件在安装后可能会留下安全漏洞。 而这些组件对用户来讲,一是暂不使用故不会主动给它打补丁,二是根本不知道在软件安装过程中,实际安装了这些组件。所以,这些没有打补丁的服务(对软件来说,缺省安装总是包括了额外的服务和相应的开放端口)极易成为攻击计算机的入口。 一般来讲,不需要的服务和额外的端口应关掉;不需要的软件要卸载。 ## 8.3.2 端口扫描 1.端口扫描原理 扫描器通过端口扫描,向目标主机的TCP/IP服务端口发送探测数据包,与目标主机的TCP/IP端口建立连接,请求某些服务(如:FTP等),并记录目标主机的响应。通过分析响应判断服务端口是打开还是关闭,搜集目标主机端口提供的服务信息(如:是否可匿名登录)。 2.常用端口扫描 1)全连接扫描(即TCP connect()扫描) 实现原理:扫描主机通过TCP/IP协议的三次握手,与目标主机的指定端口建立一次完整的连接。 如果端口开放,则连接建立,对扫描主机的SYN连接请求,发送ACK/SYN响应,这响应表明,目标端口处于监听(即打开)状态。若端口是关闭的,则目标主机会向扫描主机发送ACK/RST响应。 与目标主机端口的连接需采用connect()函数调用,如果端口处于侦听状态,那么,connect()函数调用成功,否则返回-1,表示端口不可访问,是关闭的。 2)半连接扫描(画图说明) 指只完成了一半TCP连接的扫描。在扫描主机和目标主机的指定端口建立连接时只完成了前两次握手,在第三步时,扫描主机中断了回应,使连接没有完全建立。 # 8.4 网络扫描器(工具) ## 8.4.1 扫描器的原理与分类 1、扫描器的原理 扫描器是自动检测本地或远程主机安全弱点的一种程序,它能快速扫描目标存在的漏洞,并提供扫描结果。扫描器向目标计算机不同的端口发送数据包,然后根据对方反馈的信息判断对方的操作系统类型、开放端口及提供的服务等。 扫描器采用基于规则的匹配技术,根据系统漏洞库匹配规则,由程序自动进行系统漏洞扫描的分析工作。 2、扫描器的分类 1)基于浏览器/服务器(B/S)的结构 2)基于客户端/服务器(C/S)的结构 采用插件程序结构,如:著名的Nessus扫描器。这种扫描器功能强大,客户端不须很多设置,只需设置服务器端的扫描参数及收集扫描信息即可。 ## 8.4.2 网络扫描器的组成与发展 1.扫描器的组成 1)漏洞库模块 2)控制台模块 3)引擎模块 4)知识库模块 5)结果存储和生成模块 2.扫描器的发展 1)使用插件技术 2)使用专用脚本语言 3)使用安全评估专家系统 ## 8.4.3 Ping扫描 Ping扫描是指侦测主机IP地址的扫描。按照 TCP/IP协议簇的结构,ping扫描工作在网络层。Ping扫描的目的是确认目标主机的TCP/IP网络是否连通。 ping扫描是基于ICMP协议的,基本原理是:构造一个ICMP包,发送给目标主机,从得到的响应进行判断是否连通。根据构造ICMP包的不同,分为ECH0扫描和Non-ECHO扫描两种。 # 8.5 常用网络扫描器 扫描器集成了端口扫描和漏洞扫描的功能,主要区别是:主机型的安全扫描器还是网络型的安全扫描器。 当前较成熟的扫描工具有:Nmap、X-Scan、Nessus、ISS等。 ## 8.5.1 X-Scan扫描器 X-Scan扫描器v3.3采用多线程方式,对指定IP地址段(或单机)进行漏洞检测,支持插件。扫描内容包括:远程服务类型、操作系统类型及版本,弱口令漏洞、后门、应用服务漏洞、网络设备漏洞、拒绝服务漏洞等。 ## 8.5.2 Nmap扫描器 Nmap是一种免费开源的网络扫描工具(Network Napper),最初只支持Linux平台,目前可支持Wondows NT/XP/Vista等系统。 Nmap的基本功能: 1)探测主机是否在线。 2)扫描主机端口,探测所提供的网络服务。 3)推断主机所用的操作系统。 网管使用Nmap了解网络中有哪些主机,以及所运行的服务程序。 Nmap支持的扫描方式: ⑴ TCP connect()端口扫描(-sT参数) ⑵ TCP同步(SYN)端口扫描(-sS参数) ⑶ UDP端口扫描(-sU参数) ⑷ Ping扫描(-sP参数) 其中Ping扫描和TCP Syn扫描最为常用。 TCP connect()扫描与TCP SYN扫描的不同之处:TCP SYN扫描创建的是半打开的连接,TCP SYN扫描发送复位(RST)标记;当远程主机端口是打开的,远程主机用SYN-ACK应答,Nmap发送一个RST;当远程主机端口关闭,应答是RST。而在TCP connect()扫描中,扫描器用系统调用connect() ,建立的是一个完整的TCP连接。 转自:https://blog.csdn.net/zhouzhuo_CSUFT/article/details/84554416 标签: 信息安全 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。