《网络侦察及其防御技术研究综述.docx》由会员分享,可在线阅读,更多相关《网络侦察及其防御技术研究综述.docx(22页珍藏版)》请在优知文库上搜索。
1、网络侦察及其防御技术研究综述摘要网络侦察是为收集目标网络信息而开展的活动,普遍发生在网络攻击链的各个阶段,是对手能够渗透目标网络并成功利用漏洞和缺陷破坏系统的关键。网络侦察会造成目标网络关键信息泄露,因此可视为一种以信息窃取为目标的网络攻击。通过系统性分析网络侦察的主要形式及防御方法,讨论网络侦察的主要目标信息,总结主要的网络侦察方法,介绍当前主流的网络侦察防御方法,提供了一个全面的对抗性的网络侦察攻防视角,可以帮助研究人员理解和建模网络侦察过程,改进网络侦察防御的方法和策略。内容目录:1网络侦察的目标信息1. 1用户信息1. 2系统信息1.3 网络信息1.4 应用信息2网络侦察方法2. 1主
2、动网络侦察2. 1.1主机扫描2 .1.2端口扫描3 .1.3操作系统指纹识别2. 1.4应用程序指纹识别1. 2被动网络侦察2. 3侧信道扫描3网络侦察防御方法3. 1网络侦察检测3. 1.1基于特征分析的网络侦察检测3. 1.2基于异常的侦察流量检测3.2 欺骗防御技术3.3 移动目标防御技术3.4 网络侦察追踪溯源技术4未来研究建议4. 1网络侦察的新形式4.2 网络侦察建模4.3 网络侦察攻防博弈刻画4.4 网络侦察防御效果评价5结语如今网络早已成为国家治理、企业经营、居民活动等方面不可或缺的组成部分,网络安全也随之受到各方面重视,并成为国家安全的有机组成。网络攻击也逐渐从早期普通黑客
3、的个人行为发展为国家间有组织的战争形态之一,研究网络攻击及其防御技术也就显得紧急而迫切了。网络侦察并不直接破坏网络的安全性,但却对攻击者寻找目标网络的漏洞或脆弱点、规划攻击路径、达成攻击效果至关重要。尤其是对国家关键信息基础设施这样复杂的管理良好的系统来说,攻击者往往需要通过长时间持续有组织地收集目标网络的信息,并组合利用多个漏洞或脆弱点才能执行高效的网络攻击。因此网络侦察也被视为一种网络攻击。对防御方来说,更好地理解网络侦察的过程和方法,并构建更高效、更有针对性的防御方法和策略,以降低对手网络侦察的影响,具有重要意义。攻击方收集目标网络信息的过程被定义为网络侦察。网络攻击过程可以用洛克希德马
4、丁公司开发的网络杀伤链模型进行描述,网络侦察处于整个网络攻击过程的第1阶段,如图1所示。图1网络杀伤链模型网络杀伤链模型充分体现了网络侦察对网络攻击的重要意义,但该模型只关注了网络外部的网络侦察。ROy等人对网络杀伤链模型进行了改进,提出了基于侦察的网络杀伤链模型,如图2所示。图2基于侦察的网络杀伤链模型基于侦察的网络杀伤链模型更强调了网络侦察在外部和内部收集目标信息的重要性。外部侦察可以为对手提供目标网络部署的安全措施、运行的设备、提供的服务等信息,借助于已有的针对已知系统和漏洞的技术和工具,攻击者可以高效地完成攻击载荷准备、漏洞利用等过程。而内部侦察可以为攻击载荷在目标网络内部的横向移动提
5、供帮助。攻击者执行网络侦察使用的战术、技术和工具多种多样,可基本分类为社会工程学手段和技术手段。常用的技术手段又包括网络钓鱼、信息窃取、网络扫描、流量分析等。目前已有大量文献对网络侦察及其所用的技术进行了调查和分析,但这些文献在调查、分类和理解整个网络侦察方面还存在不足,并且缺少关于网络侦察防御方法的研究。本文对基于技术手段的网络侦察的目标信息和常用技术手段进行了调查分类,并重点针对网络侦察的防御方法进行了研究。网络侦察的目标信息攻击者通过网络侦察寻找的目标信息类型多种多样,这是因为在网络攻击的不同阶段寻找的目标信息类型不同,并且针对不同的网络攻击目标也会寻找不同类型的目标信息。此外,不同类型
6、的目标信息通常是高度关联的,攻击者可能需要依次获取它。本文将网络侦察的目标信息分为用户信息、系统信息、网络信息和应用信息4类,如图3所示。图3网络侦察的目标信息4.5 用户信息用户信息是指网络、设备、应用的用户相关的信息,主要包括账户详细信息、浏览器历史记录和cookie等o(1)账户详细信息:指用户和用户组的列表、登录类型、访问控制策略、权限等信息,如用户名、token信息等。用户登录凭据:指用户登录时使用的密码、证书等,攻击方通常使用键盘记录器等间谍软件来窃取。(3)浏览器历史记录和COOkie:指用户使用浏览器访问网站的记录信息。4.6 系统信息系统信息是软件配置、正在运行的进程、文件和
7、目录以及安全环境等信息,这些信息可帮助对手执行下一个阶段的攻击。(1)操作系统:指操作系统类型、版本、序列号、安装日期等信息,这些信息可以帮助攻击者发现和利用操作系统缺陷。(2)系统配置:指主机内软硬件的设置信息,如WindOWS的注册表项和值,这些信息可以帮助攻击方了解运行的程序、软件配置等。(3)系统硬件及外网设备:指中央处理器(CentralProcessingUnit,CPU)、内存、硬盘、显卡、网卡、通用串行总线(UniVerSaISerialBus,USB)设备、蓝牙设备等的信息,这些信息可以帮助对手获得供应商信息、硬件漏洞和虚拟机的存在。(4)安全环境:指防火墙规则、防病毒软件的
8、存在、蜜罐或沙箱设置、虚拟化环境等,这些信息可帮助对手规避沙箱、虚拟机以及蜜罐等技术。(5)文件和目录:指可以帮助对手提取用户账户、密码管理、软件或应用程序配置、网络配置等的信息的系统文件或目录,以及用户的个人文件、财务报告等。4.7 网络信息网络信息指网络拓扑结构、网络协议、防火墙、入侵检测系统、设备和服务等信息,这些信息可以帮助对手了解本地网络。(1)域名和主机名:指起始授权机构记录(StartofAuthority,SOA)域名服务器记录(NameServer,NS)、邮件交换记录(MaiIExchanger,MX)等域名记录、子域、WhoiS记录等信息,这些信息可帮助对手识别与特定组织
9、关联的域名。(2)主机地址:指外部网络(面向公共的)或内部网络(面向资源的)的可达IP地址和端口。(3)网络拓扑:指主机、路由器、交换机、防火墙和其他网络设备组成的网络的视图,这些信息可帮助对手制定达到网络目标的路径以及横向移动的计划。(4)网络协议和网络服务:指Web、文件传输、域名、EmaiI等服务及相关的协议,这些信息可以帮助用户通过服务和协议访问内部网络。(5)网络设备:指网络中路由器、交换机等的设备制造商或供应商、操作系统及其版本、制造商设置、网络配置等信息,这些信息可以帮助用户利用已知漏洞进行攻击。(6)安全措施:指网络中部署的防火墙、入侵检测系统、网络区域隔离、蜜罐等网络安全设施
10、,这些信息可以帮助用户规避网络的安全防御措施,并防止被追踪溯源。4.8 应用信息应用信息是指应用的组件、版本、配置、漏洞等信息,这些信息可帮助对手发现应用的漏洞,以实施网络攻击。(1)框架和依赖环境:指应用的各种开发框架(如Django、SpringBootFlask)和运行时的各种依赖环境,这些信息可以帮助对手发现应用的已知漏洞。(2)软件配置:指主机上已安装的软件和应用程序的配置,这些信息可帮助对手发现主机上运行哪些软件产品的可利用漏洞,以及访问令牌、用户凭据和不安全的配置等信息。(3)云服务应用程序界面(ApplicationProgramInterface,API):指用户远程访问云资
11、产的信息,这些信息可帮助对手获得有关虚拟机、云工具、服务和其他云资产的信息。(4)数据库:应用程序大都使用了数据库系统,而数据库系统容易出现配置错误或人为错误,攻击方可利用这些信息实施网络攻击。2网络侦察方法网络侦察寻找的目标信息类型多种多样,针对不同类型的目标信息使用的网络侦察方法也不相同,根据网络侦察过程是否与目标进行紧密的信息交互,网络侦察可分为主动网络侦察和被动网络侦察。主动网络侦察需要与目标进行紧密的信息交互,因此易被目标网络发现,失败概率较高。而被动网络侦察可以不进行任何形式的信息交互,因此不易被目标网络发现,成功概率较高,但通常需要部署大量的流量采集设备,成本较高。2.1主动网络
12、侦察主动网络侦察通过向给定主机发送定制请求以产生特定响应来连续探测网络。这些响应提供了目标网络的活动主机、操作系统、开放端口和运行中服务等信息。网络扫描是最常用的主动网络侦察技术。根据其寻找的目标信息可进一步分为主机扫描、端口扫描、操作系统指纹识别和应用程序指纹识别。2.1.1主机扫描主机扫描用于获得给定IP地址范围内的活动主机。主机扫描通过向目标网络发送扫描数据包以发现处于活跃状态的IP地址。扫描数据包通常基于Internet控制报文协议(InternetControlMessageProtocol,ICMP)和传输控制协议(TransmissionControlProtocol,TCP)构
13、建,常用的扫描方法有ICMPPing扫描4、TCP确认(ACknoWledgement,ACK)Ping扫描、TCP同步(Synchronous,SYN)Ping扫描等。另外,地址解析协议(AddreSSResolutionProtocol,ARP)扫描也可用于主机发现,其在网络中广播一个ARP数据包,并检测广播数据包的响应判断网络中的活动主机,ARP扫描是一种适用于局域网内活动主机发现的低级扫描技术。2.1.2端口扫描端口扫描首先向目标网络的所有端口发送扫描数据包,然后根据响应信息判断这些端口的状态,并可进一步根据返回的响应信息分析网络特征和网络拓扑。端口扫描的数据包主要基于TCP协议和用户
14、数据报协议(USerDatagramProtocol,UDP)构建。根据扫描数据包使用的协议及标记位设置,端口扫描可分为TCP全连接扫描、SYN扫描、ACK扫描、XMAS扫描、FIN扫描、NULL扫描、TCP窗口扫描和用户数据报协议(USerDatagramProtocol,UDP)扫描。(I)TCP全连接扫描该扫描向目标端口发送带SYN标记的TCP包尝试连接,如果目标端口打开,目标端口会返回带SYN和ACK标记的响应包,攻击者收到响应后发送带ACK标记的数据包完成3次握手。(2) SYN扫描该扫描同样向目标端口发送带SYN标记的TCP包,但与TCP全连接扫描不同,其不能建立完整的TCP连接,
15、因此也叫半连接扫描。SYN扫描如果接收到带SYN或ACK标记的数据包,则目标端口打开。如果接收到带重置(ReSet,RST)标记的数据包,则目标端关闭。(3) ACK扫描该扫描向目标端口发送一个只有ACK标记的TCP数据包,如果目标端口打开,则返回一个带RST标记的数据包,否则不回复。(4) XMAS扫描该扫描向目标端口发送带无效标记的数据包,若目标端口关闭则会返回带RST标记的数据包,而打开的端口会忽略数据包,不返回任何内容。NmaP通常使用FIN、URG(紧急)和PSH(推送)3个标记来执行XMAS扫描。XMAS扫描可绕过防火墙和入侵检测系统(IntrusionDetectionSyste
16、m,IDS)检测,且速度快。(5)FIN扫描该扫描向目标端口发送带FlN标记的数据包,若目标端口关闭则会返回带RST标记的数据包,而关闭的端口会忽略数据包,不返回任何内容。(6)NULL扫描该扫描向目标端口发送所有标记位设置为0的TCP包,根据TCP协议规定,如果目标端口打开则返回带RST标记的数据包。(7)TCP窗口扫描TCP窗口扫描向目标端口发送AeK扫描类似的带ACK标记的数据包,并通过检查返回的带RST标记的数据包的窗口值大小来区分打开的端口和关闭的端口。通常返回窗口值非零的RST数据包的目标端口处于打开状态,窗口值为零的RST数据包的目标端口处于关闭状态,返回未收到响应或ICMP不可达错误的目标端口,则忽