端口扫描技术 _端口扫描发展趋势分析图

hacker|
183

趋势分析方法一:波峰-波谷演进

使用技术分析,永远都无法逃过对趋势的分析与识别。现代计算机技术的发展,创造出了各种复杂的数学方法来判别趋势,它们其中一些有用,但很多却是无效的。而当事情变得复杂时,简单原始的技术就常常被我们忽略,波峰-波谷演进就是其中之一。

波峰-波谷演进技术起源于道氏理论。我特别喜欢使用这一技术来判别趋势并指导交易,因为它足够简单,简单到不需要任何计算,甚至不需要任何划线。

基本原则:在上涨趋势中,必须出现更高的波峰和更高的波谷;在下跌趋势中,则必须出现更低的波峰和更低的波谷。

图1:波峰-波谷演进技术——英镑/美元日线

在图1中,A点对应一个更高的波谷,B点对应一个更高的波峰,一波上升趋势得以被正式确认。在随后的趋势发展中,更高的波谷和波峰依次出现,上升趋势在持续。一切看起来都很明确,直到D点的出现。我们发现,D点作为一个波峰,未能有效超过前一个波峰C点,这是一个严重的警告——价格上涨的力量正在衰竭。从波峰D开始的下跌也跌破了CD之间的波谷,此时上升趋势正式完结。

请注意,此时原则上说,我们不能认为一波下跌趋势已正式开始。因为目前只出现了一个更低的波谷,但还没有出现一个更低的波峰,也就是一个低于D点的波峰。但我们也大概清楚,价格不太可能再次出现反弹,并突破D点,所以我们可以大概率确认,下跌趋势已经开始了。

我是一个“保守激进型”交易者,为了方便理解和使用,我对上面的交易规则进行了一些归纳总结(上涨趋势):

1、当波峰-波谷处于正常演进中时,即更高的波峰和波谷依次出现时,只做涨、不做跌。

2、当波峰-波谷出现异常演进时,可以考虑做空。 例如,D点未能超过C点,我会考虑开始做空(2B准则);又或是从D点开始的下跌,跌穿了前期波谷后,我也会考虑做空。虽然此时完美的波峰-波谷演进并不足以确认下跌趋势,但至少它是对原本上涨趋势演进的进一步破坏,所以可以做空。

现在我们来看看当前英镑/美元的走势,价格未能实现更低的波谷,因此我认为原本下跌趋势遭到了破坏,所以我会考虑低位买入,并将止损设于前面几个波谷形成的支撑以下。当然,如果价格反弹到了高位,卖空也将是我的备选。

波峰-波谷演进技术,可以结合支撑-阻力技巧,发挥出无与伦比的指导作用。它将会让我们看待市场的角度更加规范,让我们的分析框架更有条理。我承认振幅越来越大的价格波动会出现,但这种情况毕竟非常非常少。

最后,很多交易者可能觉得选取波峰、波谷时具有主观性和随意性,我在这里推荐一个指标Zigzag(图2),通过选取合适的参数,计算机可以帮助我们自动识别波峰和波谷。当然,此时指标参数的选择就存在主观性了。

图2:使用Zigzag进行波峰-波谷演进

端口扫描的基本原理是什么?端口扫描技术分哪几类?

端口扫描的基本原理就是看指定的端口是否开放。

技术就是尝试连接指定的端口,分类的话有2个,

1、半连接连接(syn扫描,不完成3次握手)

2、全连接 (完成3次握手)

端口扫描的最新技术有些什么?

一:TCP/IP相关问题

连接端及标记

IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。为了获得TCP服务,必须在发送机的一个端口上和接收机的一个端口上建立连接。TCP连接用两个连接端来区别,也就是(连接端1,连接端2)。连接端互相发送数据包。

一个TCP数据包包括一个TCP头,后面是选项和数据。一个TCP头包含6个标志位。它们的意义分别为:

SYN: 标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接。

FIN: 表示发送端已经没有数据要求传输了,希望释放连接。

RST: 用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包。

URG: 为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。

ACK: 为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效。

PSH: 如果置位,接收端应尽快把数据传送给应用层。

TCP连接的建立

TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。 TCP的可靠性通过校验和,定时器,数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数据流(每个连接端从另外一端接收数据,同时向对方发送数据),因此在建立连接时,必须要为每一个数据流分配ISN(初始序号)。为了了解实现过程,我们假设客户端C希望跟服务器端S建立连接,然后分析连接建立的过程(通常称作三阶段握手):

1: C --SYN XXà S

2: C ?-SYN YY/ACK XX+1------- S

3: C ----ACK YY+1--à S

1:C发送一个TCP包(SYN 请求)给S,其中标记SYN(同步序号)要打开。SYN请求指明了客户端希望连接的服务器端端口号和客户端的ISN(XX是一个例子)。

2:服务器端发回应答,包含自己的SYN信息ISN(YY)和对C的SYN应答,应答时返回下一个希望得到的字节序号(YY+1)。

3:C 对从S 来的SYN进行应答,数据发送开始。

一些实现细节

大部分TCP/IP实现遵循以下原则:

1:当一个SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包。

2:当一个RST数据包到达一个监听端口,RST被丢弃。

3:当一个RST数据包到达一个关闭的端口,RST被丢弃。

4:当一个包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST数据包。

5:当一个SYN位关闭的数据包到达一个监听端口时,数据包被丢弃。

6:当一个SYN数据包到达一个监听端口时,正常的三阶段握手继续,回答一个SYN ACK数据包。

7:当一个FIN数据包到达一个监听端口时,数据包被丢弃。"FIN行为"(关闭得端口返回RST,监听端口丢弃包),在URG和PSH标志位置位时同样要发生。所有的URG,PSH和FIN,或者没有任何标记的TCP数据包都会引起"FIN行为"。

二:全TCP连接和SYN扫描器

全TCP连接

全TCP连接是长期以来TCP端口扫描的基础。扫描主机尝试(使用三次握手)与目的机指定端口建立建立正规的连接。连接由系统调用connect()开始。对于每一个监听端口,connect()会获得成功,否则返回-1,表示端口不可访问。由于通常情况下,这不需要什么特权,所以几乎所有的用户(包括多用户环境下)都可以通过connect来实现这个技术。

这种扫描方法很容易检测出来(在日志文件中会有大量密集的连接和错误记录)。Courtney,Gabriel和TCP Wrapper监测程序通常用来进行监测。另外,TCP Wrapper可以对连接请求进行控制,所以它可以用来阻止来自不明主机的全连接扫描。

TCP SYN扫描

在这种技术中,扫描主机向目标主机的选择端口发送SYN数据段。如果应答是RST,那么说明端口是关闭的,按照设定就探听其它端口;如果应答中包含SYN和ACK,说明目标端口处于监听状态。由于所有的扫描主机都需要知道这个信息,传送一个RST给目标机从而停止建立连接。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半打开扫描。SYN扫描的优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。缺点是在大部分操作系统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。

三:秘密扫描与间接扫描

秘密扫描技术

由于这种技术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而必SYN扫描隐蔽得多。另外,FIN数据包能够通过只监测SYN包的包过滤器。

秘密扫描技术使用FIN数据包来探听端口。当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,并且回返回一个RST数据包。否则,当一个FIN数据包到达一个打开的端口,数据包只是简单的丢掉(不返回RST)。

Xmas和Null扫描是秘密扫描的两个变种。Xmas扫描打开FIN,URG和PUSH标记,而Null扫描关闭所有标记。这些组合的目的是为了通过所谓的FIN标记监测器的过滤。

秘密扫描通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送reset信号的操作系统(包括CISCO,BSDI,HP/UX,MVS和IRIX)。在Windows95/NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都发送RST。

跟SYN扫描类似,秘密扫描也需要自己构造IP 包。

间接扫描

间接扫描的思想是利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由于扫描主机会对欺骗主机发送回应信息,所以必须监控欺骗主机的IP行为,从而获得原始扫描的结果。间接扫描的工作过程如下:

假定参与扫描过程的主机为扫描机,隐藏机,目标机。扫描机和目标记的角色非常明显。隐藏机是一个非常特殊的角色,在扫描机扫描目的机的时候,它不能发送任何数据包(除了与扫描有关的包)。

四:认证扫描和代理扫描

认证扫描

到目前为止,我们分析的扫描器在设计时都只有一个目的:判断一个主机中哪个端口上有进程在监听。然而,最近的几个新扫描器增加了其它的功能,能够获取监听端口的进程的特征和行为。

认证扫描是一个非常有趣的例子。利用认证协议,这种扫描器能够获取运行在某个端口上进程的用户名(userid)。认证扫描尝试与一个TCP端口建立连接,如果连接成功,扫描器发送认证请求到目的主机的113TCP端口。认证扫描同时也被成为反向认证扫描,因为即使最初的RFC建议了一种帮助服务器认证客户端的协议,然而在实际的实现中也考虑了反向应用(即客户端认证服务器)。

代理扫描

文件传输协议(FTP)支持一个非常有意思的选项:代理ftp连接。这个选项最初的目的(RFC959)是允许一个客户端同时跟两个FTP服务器建立连接,然后在服务器之间直接传输数据。然而,在大部分实现中,实际上能够使得FTP服务器发送文件到Internet的任何地方。许多攻击正是利用了这个缺陷。最近的许多扫描器利用这个弱点实现ftp代理扫描。

ftp端口扫描主要使用ftp代理服务器来扫描tcp端口。扫描步骤如下:

1:假定S是扫描机,T是扫描目标,F是一个ftp服务器,这个服务器支持代理选项,能够跟S和T建立连接。

2:S与F建立一个ftp会话,使用PORT命令声明一个选择的端口(称之为p-T)作为代理传输所需要的被动端口。

3:然后S使用一个LIST命令尝试启动一个到p-T的数据传输。

4:如果端口p-T确实在监听,传输就会成功(返回码150和226被发送回给S)。否则S回收到"425无法打开数据连接"的应答。

5:S持续使用PORT和LIST命令,直到T上所有的选择端口扫描完毕。

FTP代理扫描不但难以跟踪,而且当ftp服务器在防火墙后面的时候

五:其它扫描方法

Ping扫描

如果需要扫描一个主机上甚至整个子网上的成千上万个端口,首先判断一个主机是否开机就非常重要了。这就是Ping扫描器的目的。主要由两种方法用来实现Ping扫描。

1:真实扫描:例如发送ICMP请求包给目标IP地址,有相应的表示主机开机。

2:TCP Ping:例如发送特殊的TCP包给通常都打开且没有过滤的端口(例如80端口)。对于没有root权限的扫描者,使用标准的connect来实现。否则,ACK数据包发送给每一个需要探测的主机IP。每一个返回的RST表明相应主机开机了。另外,一种类似于SYN扫描端口80(或者类似的)也被经常使用。

安全扫描器

安全扫描器是用来自动检查一个本地或者远程主机的安全漏洞的程序。象其它端口扫描器一样,它们查询端口并记录返回结果。但是它们。它们主要要解决以下问题:

1:是否允许匿名登录。

2:是否某种网络服务需要认证。

3:是否存在已知安全漏洞。

可能SATAN是最著名的安全扫描器。1995年四月SATAN最初发布的时候,人们都认为这就是它的最终版本,认为它不但能够发现相当多的已知漏洞,而且能够针对任何很难发现的漏洞提供信息。但是,从它发布以来,安全扫描器一直在不断地发展,其实现机制也越来越复杂。

栈指纹

绝大部分安全漏洞与缺陷都与操作系统相关,因此远程操作系统探测是系统管理员关心的一个问题。

远程操作系统探测不是一个新问题。近年来,TCP/IP实现提供了主机操作系统信息服务。FTP,TELNET,HTTP和DNS服务器就是很好的例子。然而,实际上提供的信息都是不完整的,甚至有可能是错误的。最初的扫描器,依靠检测不同操作系统对TCP/IP的不同实现来识别操作系统。由于差别的有限性,现在只能最多只能识别出10余种操作系统。

最近出现的两个扫描器,QueSO和NMAP,在指纹扫描中引入了新的技术。 QueSO第一个实现了使用分离的数据库于指纹。NMAP包含了很多的操作系统探测技术,定义了一个模板数据结构来描述指纹。由于新的指纹可以很容易地以模板的形式加入,NMAP指纹数据库是不断增长的,它能识别的操作系统也越来越多。

这种使用扫描器判断远程操作系统的技术称为(TCP/IP)栈指纹技术。

另外有一种技术称为活动探测。活动探测把TCP的实现看作一个黑盒子。通过研究TCP对探测的回应,就可以发现 TCP实现的特点。TCP/IP 栈指纹技术是活动探测的一个变种,它适用于整个TCP/IP协议的实现和操作系统。栈指纹使用好几种技术来探测TCP/IP协议栈和操作系统的细微区别。这些信息用来创建一个指纹,然后跟已知的指纹进行比较,就可以判断出当前被扫描的操作系统。

栈指纹扫描包含了相当多的技术。下面是一个不太完整的清单:

1:FIN探测

2:BOGUS标记探测

3:TCP ISN 取样

4:TCP 初始窗口

5:ACK值

6:ICMP错误信息

7:ICMP信息

8:服务类型

9:TCP选项

网络安全技术的发展趋势

中国的网络安全技术在近几年得到快速的发展,这一方面得益于从中央到地方政府的广泛重视,另一方面因为网络安全问题日益突出,网络安全企业不断跟进最新安全技术,不断推出满足用户需求、具有时代特色的安全产品,进一步促进了网络安全技术的发展。

从技术层面来看,目前网络安全产品在发展过程中面临的主要问题是:以往人们主要关心系统与网络基础层面的防护问题,而现在人们更加关注应用层面的安全防护问题,安全防护已经从底层或简单数据层面上升到了应用层面,这种应用防护问题已经深入到业务行为的相关性和信息内容的语义范畴,越来越多的安全技术已经与应用相结合。

一、现阶段网络安全技术的局限性

谈及网络安全技术,就必须提到网络安全技术的三大主流—防火墙技术、入侵检测技术以及防病毒技术。

任何一个用户,在刚刚开始面对安全问题的时候,考虑的往往就是这“老三样”。可以说,这三种网络安全技术为整个网络安全建设起到了功不可没的作用,但是传统的安全“老三样”或者说是以其为主的安全产品正面临着许多新的问题。

首先,从用户角度来看,虽然系统中安装了防火墙,但是仍避免不了蠕虫泛滥、垃圾邮件、病毒传播以及拒绝服务的侵扰。

其次,未经大规模部署的入侵检测单个产品在提前预警方面存在着先天的不足,且在精确定位和全局管理方面还有很大的空间。

再次,虽然很多用户在单机、终端上都安装了防病毒产品,但是内网的安全并不仅仅是防病毒的问题,还包括安全策略的执行、外来非法侵入、补丁管理以及合规管理等方面。

所以说,虽然“老三样”已经立下了赫赫战功,且仍然发挥着重要作用,但是用户已渐渐感觉到其不足之处。其次,从网络安全的整体技术框架来看,网络安全技术同样面临着很大的问题,“老三样”基本上还是针对数据、单个系统、软硬件以及程序本身安全的保障。应用层面的安全,需要将侧重点集中在信息语义范畴的“内容”和网络虚拟世界的“行为”上。

二、技术发展趋势分析

1.防火墙技术发展趋势

在混合攻击肆虐的时代,单一功能的防火墙远不能满足业务的需要,而具备多种安全功能,基于应用协议层防御、低误报率检测、高可靠高性能平台和统一组件化管理的技术,优势将得到越来越多的体现,UTM(UnifiedThreatManagement,统一威胁管理)技术应运而生。

从概念的定义上看,UTM既提出了具体产品的形态,又涵盖了更加深远的逻辑范畴。从定义的前半部分来看,很多厂商提出的多功能安全网关、综合安全网关、一体化安全设备都符合UTM的概念;而从后半部分来看,UTM的概念还体现了经过多年发展之后,信息安全行业对安全管理的深刻理解以及对安全产品可用性、联动能力的深入研究。

UTM的功能见图1.由于UTM设备是串联接入的安全设备,因此UTM设备本身必须具备良好的性能和高可靠性,同时,UTM在统一的产品管理平台下,集防火墙、VPN、网关防病毒、IPS、拒绝服务攻击等众多产品功能于一体,实现了多种防御功能,因此,向UTM方向演进将是防火墙的发展趋势。UTM设备应具备以下特点。

(1)网络安全协议层防御。防火墙作为简单的第二到第四层的防护,主要针对像IP、端口等静态的信息进行防护和控制,但是真正的安全不能只停留在底层,我们需要构建一个更高、更强、更可靠的墙,除了传统的访问控制之外,还需要对垃圾邮件、拒绝服务、黑客攻击等外部威胁起到综合检测和治理的作用,实现七层协议的保护,而不仅限于第二到第四层。

(2)通过分类检测技术降低误报率。串联接入的网关设备一旦误报过高,将会对用户带来灾难性的后果。IPS理念在20世纪90年代就已经被提出,但是目前全世界对IPS的部署非常有限,影响其部署的一个重要问题就是误报率。分类检测技术可以大幅度降低误报率,针对不同的攻击,采取不同的检测技术,比如防拒绝服务攻击、防蠕虫和黑客攻击、防垃圾邮件攻击、防违规短信攻击等,从而显著降低误报率。

(3)有高可靠性、高性能的硬件平台支撑。

(4)一体化的统一管理。由于UTM设备集多种功能于一身,因此,它必须具有能够统一控制和管理的平台,使用户能够有效地管理。这样,设备平台可以实现标准化并具有可扩展性,用户可在统一的平台上进行组件管理,同时,一体化管理也能消除信息产品之间由于无法沟通而带来的信息孤岛,从而在应对各种各样攻击威胁的时候,能够更好地保障用户的网络安全。

0条大神的评论

发表评论