漏洞扫描技术
在计算机安全领域,安全漏洞(SecurityHole )通常又称作脆弱性(vulnerability )。
漏洞的来源漏洞的来源: (1)软件或协议设计时的瑕疵(2)软件或协议实现中的弱点
(3)软件本身的瑕疵 (4)系统和网络的错误配置
DNS 区域传送是一种DNS 服务器的冗余机制。通过该机制,辅DNS 服务器能够从其主DNS 服务器更新自己的数据,以便主DNS 服务器不可用时,辅DNS 服务器能够接替主DNS 服务器工作。正常情况下,DNS 区域传送操作只对辅DNS 服务器开放。然而,当系统管理员配置错误时,将导致任何主机均可请求主DNS 服务器提供一个区域数据的拷贝,以至于目标域中所有主机信息泄露.
网络扫描主要分为以下3个阶段:(1) 发现目标主机或网络。(2)发现目标后进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息。(3) 根据搜集到的信息判断或者进一步检测系统是否存在安全漏洞。
网络扫描的主要技术
(1)主机扫描:确定在目标网络上的主机是否可达,同时尽可能多映射目标网络的拓扑结构,主要利用ICMP 数据包
(2)端口扫描:发现远程主机开放的端口以及服务
(3)操作系统指纹扫描:根据协议栈判别操作系统
发现存活主机方法:
ICMP 扫射 ping 广播ICMP 非回显ICMP(ICMP时间戳请求允许系统向另一个系统询
当前的时间。ICMP 地址掩码请求用于无盘系统引导过程中获得自己的子网掩码。) TCP 扫射 UDP 扫射
获取信息:
(1)端口扫描: 端口扫描就是连接到目标机的TCP 和UDP 端口上,确定哪些服务正在运行及服务的版本号,以便发现相应服务程序的漏洞。
(2)TCP connect()扫描: 利用操作系统提供的connect()系统调用,与每一个感兴趣的目标计算机的端口进行连接。如果目标端口处于侦听状态,那么connect()就能成功;否则,该端口是不能用的,即没有提供服务。
(3)TCP SYN扫描: 辨别接收到的响应是SYN/ACK报文还是RST 报文,就能够知道目标的相应端口是出于侦听状态还是关闭状态(RST为关闭) 。又叫“半开扫描”,因为它只完成了3次握手过程的一半.
(4) TCP ACK扫描: 用来探测防火墙的规则设计。可以确定防火墙是简单的包过滤还是状态检测机制
(5):TCP Fin扫描: 扫描器发送一个FIN 数据包
•如果端口关闭的,则远程主机丢弃该包,并送回一个RST 包
•如果端口处于侦听状态忽略对FIN 数据包的回复
•与系统实现有一定的关系,有的系统不管端口是否打开,都回复RST (windows ),但可以区分Unix 和Windows
(6) TCP XMAS 扫描(7) TCP 空扫描(8) UDP ICMP 端口不可达扫描
端口扫描的对策端口扫描的对策: 设置防火墙过滤规则,阻止对端口的扫描
使用入侵检测系统 禁止所有不必要的服务,把自己的暴露程度降到最低
服务识别: 端口扫描的主要目的是为了获得目标主机提供的服务(通过端口号来判断)
操作系统辨识; (TCP/IP栈指纹技术)Windows95的IP 应答报文和查询报文的TTL 都是32;
Windows98/98SE/ME/NT4应答报文的TTL 是128、查询报文的TTL 是32;
Windows2000应答报文和查询报文的TTL 都是128。
操作系统识别的对策操作系统识别的对策:
† 让操作系统识别失效的补丁
† 防火墙和路由器的规则配置
† 使用入侵检测系统
漏洞检测的方法:直接测试(test)、推断(inference)和带凭证的测试(TestwithCredentials)
直接测试的特点:
Ł通常用于对Web 服务器漏洞、拒绝服务(DoS )漏洞进行检测;
Ł能够准确地判断系统是否存在特定漏洞;
Ł对于渗透所需步骤较多的漏洞速度较慢;
Ł攻击性较强,可能对存在漏洞的系统造成破坏;
Ł对于DoS 漏洞,测试方法会造成系统崩溃;
Ł不是所有漏洞的信息都能通过测试方法获得
带凭证的测试:很多攻击都是由拥有UNIXshell 访问权限或者NT 资源访问权限的用户发起的,他们的目标在于将自己的权限提升成为超级用户,从而可以执行某个命令。对于这样的漏洞,前面两种方法很难检查出来。因此,如果赋予测试进程目标系统的角色,将能够检查出更多的漏洞。
安全漏洞扫描技术:被动式策略 主动式策略
安全漏洞的种类:潜在的安全漏洞 不完善的系统设计 可利用的系统工具 不正确的系统设置
安全漏洞扫描技术:
(1) 基于主机的检测技术,扫描项目主要包括用户账号文件、组文件、系统权限、系统
配置文件、关键文件、日志文件、用户口令、网络接口状态、系统服务、软件脆弱性等
(2) 基于网络的检测技术。主要检查一个网络系统是否存在安全漏洞以及抗攻击能力,
它可以采用常规的漏洞扫描办法,也可以采用仿真攻击的办法来测试目标系统的抗攻击能力。扫描项目主要包括目标的开放端口、系统网络服务、系统信息、系统漏洞、远程服务漏洞、特洛伊木马检测、拒绝服务攻击等。
(3) 基于 应用的检测技术主要检查一个应用软件是否存在安全漏洞, 如应用软件的设置
是否合理、有无缓冲区溢出问题等。
(4) 基于审计的检测技术主要通过审计一个系统的完整性来检查该系统内是否存在被故
意安放的后门程序。
网络安全测评技术是将安全漏洞扫描技术和专家系统技术有机结合起来, 通过对网络系统的安全性测试, 不仅可以发现系统潜在的安全漏洞,还可以对整个网络的安全状况进行科学评估,同时给出阻塞安全漏洞和改进网络安全状况的专家建议
(1) 测评方法库:它是扫描方法库的扩展, 通过漏洞扫描和仿真攻击检测相结合的方法来测试目标系统所存在的安全漏洞。同样, 测评方法库采用插件技术进行维护和扩充。
(2) 安全评估标准:系统将测试结果规范化后, 再映射到某个安全等级上, 并给出这个安全等级的安全强度、安全风险等。
(3) 安全专家系统:给出阻塞安全漏洞、降低安全风险和提高安全强度的专家建议。
•一次完整的网络扫描主要分为3个阶段:目标发现、信息攫取、漏洞检测。
•目标发现阶段的技术主要有ICMP 扫射、广播ICMP 、非回显ICMP 、TCP 扫射、UDP 扫射。
•端口扫描的主要技术有TCP connect() 扫描、TCP SYN扫描、TCP ACK扫描、TCP FIN扫描、TCP XMAS扫描、TCP 空扫描、FTP 反弹扫描(FTP Bounce Scan)、UDP 扫描。
•远程操作系统识别的主要方法有系统服务旗标识别、主动协议栈指纹探测(ICMP 响应析、TCP 报文响应分析、TCP
报文延时分析)、被动协议栈指纹探测。
•漏洞检测的主要方法有直接测试(test )、推断(inference )和带凭证的测试(Test with Credential )。
l 基于网络的安全评估工具从入侵者的角度评估系统,这类工具叫做远程扫描器或者网络扫描器。
l 基于主机的安全评估工具从本地系统管理员的角度评估系统,这类工具叫做本地扫描器或者系统扫描器。
l 这两类扫描器的主要目的都是发现系统或网络潜在的安全漏洞。然而由于其着眼点和实现方式不同,两者的特点也各有千秋。