网络协议脆弱性分析

关键词: 网络协议 漏洞 系统漏洞 协议

网络协议脆弱性分析(精选七篇)

网络协议脆弱性分析 篇1

1 TCP/IP协议通信过程

TCP协议是面向连接的协议[1], 在传输TCP用户数据报之前, 必须先建立传输连接。在建立连接的过程中, TCP协议采用“三次握手”的方法[2], 保证新的连接不和其他连接或超时连接出现混淆性错误。在释放连接时, 也采用相同的方式, 保证所有数据都可靠达到目的地。

如图1所示, 计算机A创建一条计算机B的TCP/IP连接的过程如下:

(1) 计算机A首先发送一个带有初始序列号 (ISN, Initial Sequence Number) 的同步包 (标志位为SYN的数据包) 。

(2) 计算机B在收到这个同步包后发送一个响应数据包 (标志位为ACK, 带有ISN+1的序列号) 给计算机A, 这个序列号正是计算机A所期待收到的序列号。在这个数据包中, 计算机B还设置了自己的SYN标志, 并包含自己的ISN。

(3) 计算机A收到数据包后, 使用一个ACK包来响应计算机B发出的SYN数据包给计算机B。ACK序列号是计算机B的SNY数据包ISN+1, 这郑是计算机B所期待收到的序列号。这样, 计算机A和计算机B的一次TCP/IP连接就成功了。

2 TCP/IP序号攻击

当攻击者知道序号模式时, 很容易就可伪装成另一台主机[3]。如图2所示, 就是这样一种情况。

假冒一个主机的步骤如下:

(1) 入侵者与服务器建立一个有效的TCP连接来确定序号模式

(2) 入侵者常利用信任的主机地址, 伪造成源地址通过生成一个有效TCP连接来开始攻击, 如上图冒出被攻击的客户端IP地址171.71.1.6。并对那台主机上发起攻击来使他瘫痪。

(3) 服务器响应连接请求, 若被信任的主机受到了拒绝服务攻击, 就无法应答。即使服务器向被攻击的客户端发送回了SYN/ACK信息, 但是实际上被攻击的客户端也没有办法回应ACK信息。

(4) 入侵者等待一段时间, 以确保服务器已经发送了应答, 接着使用所猜到的正确序号进行响应。如果入侵者猜到的序号是正确的话那么服务器就会受到危害, 使得非法的数据传输得以进行。

TCP/IP序号攻击正是利用了, TCP/IP协议中的序号漏洞来进行攻击。序号不是随机选择 (或随机递增) , 所以这种攻击就能凑效--虽然执行起来需要一定的技巧。Steven M.Bellovin在RFC1948中描述了TCP的一个修订, 这个修订涉及到划分序号空间, 每个连接都有各自分离的序号空间。序号还像以前一样递增, 但这些空间中的序号没有明显的或隐含的关联。

防止欺骗攻击的最好办法是在网络的入口和出口启用包过滤。外部的入口点过滤器应当阻止从内部网范围内发起的向内 (从外部网络进来的报文分组) 的报文分组。内部的出口点过滤器应当只允许从内部网范围的主机发起的向外的报文分组 (从内部网到因特网的报文分组) 。

3 TCP/IP会话劫持

会话劫持[4] (Session hijacking) 是TCP/IP欺骗的一个特殊情况。而且会话劫持比序号欺骗更加容易。入侵者对这两台通信主机间的信息流进行监视, 并注入看起来类似其中一台主机的信息流, 就可以其中一个主机窃取会话。当合法主机与网络的连接被断开后, 入侵者就使用合法主机的访问权限继续进行会话。

会话劫持很难侦测。最好的防范措施是使用保密安全服务和数据进行加密以确保安全的会话。

4 TCP SYN攻击

当一个正常的TCP连接开始的时候, 目的主机接收到来自源主机的一个SYN (同步/开始) 报文分组, 并发送回一个SYN/ACK (同步确认) 报文分组。在连接被建立前, 目的主机必须收到该SYN/ACK的一个ACK (确认) 。这个就是之前所描述的“三次握手”。

当等待对SYN/ACK的ACK时, 目的主机上一个有限大小的连接队列跟踪并等待未完成的连接。由于ACK预期SYN/ACK发送几毫秒后到达, 因此队列通常很快被清空。

TCP SYN攻击[5]通常是利用一台攻击源主机生成的带有随机源地址TCP/SYN报文分组并发送到一台受害主机这种方式实现攻击。受害主机发送一个SYN/ACK到随机的源地址, 并在连接队列中增加一个条目。因为SYN/ACK被发送到一台地址错误或不存在的主机, 所以三次握手的最后一个阶段就无法完成, 条目就保留在连接队列中, 直到过期--通常是一分钟内。通过迅速生成来自随机IP地址的假冒TCP SYN报文分组, 入侵者能够填满连接队列, 从而导致拒绝为合法用户提供TCP服务 (比如E-mail、文件传输或WWW服务) 。

由于源IP地址是伪造的, 因此没有可以用来跟踪攻击发起者的简单方法。在网络基础设施中, 若路由器或防火墙截取TCP连接, 并作为发起连接的主机代理以确认连接时有效的, 那么攻击就可以被限制在有限的范围内。事实上目前为止我们都没有那个专家能出非常好的办法去解决SYN攻击问题。因为TCP SYN攻击正是利用了TCP协议的先天性缺陷性, 难以治疗。

5 Land.c攻击

Land.c攻击用来对各种TCP实现Do S攻击。Land.c程序发送一个TCP SYN报文分组 (连接初始化) , 给出目标主机的地址作为源和目的地址, 使用目标主机上的同一个端口作为源和目的端口。这可以造成被攻击主机因试图与自己建立连接而陷入死循环, 从而很大程度地降低了系统性能。

如果发现了该攻击需要在发现问题后接入层面实施, 先探测到Land.c攻击源和攻击使用的端口 (这个功能可以通过端口镜像, 将数据流镜像到专门的设备上进行分析, 以获取攻击源和攻击使用的端口) , 然后对攻击源的通信进行限制, 这类防范手段也可以通过ACL来实现。

参考文献

[1]张蒲生.网络安全应用技术.电子工业出版社, 2010.8:35-36.[1]张蒲生.网络安全应用技术.电子工业出版社, 2010.8:35-36.

[2]谢希仁.计算机网络.电子工业出版社, 2003.6:260-261.[2]谢希仁.计算机网络.电子工业出版社, 2003.6:260-261.

[3]刘建伟, 张卫东, 刘培顺, 李晖.网络安全实验教程.清华大学出版社, 2007:132-135.[3]刘建伟, 张卫东, 刘培顺, 李晖.网络安全实验教程.清华大学出版社, 2007:132-135.

[4]Jon Erickson著.范书义, 田玉敏译.黑客之道:漏洞发掘的艺术.中国水利水电出版社, 2009:242-247.[4]Jon Erickson著.范书义, 田玉敏译.黑客之道:漏洞发掘的艺术.中国水利水电出版社, 2009:242-247.

全球航运网络鲁棒性和脆弱性研究 篇2

全球航运网络鲁棒性和脆弱性研究

通过对全球航运网络节点度分布、度值相关性和节点度与介数相关性分析发现,度值大的节点优先与度值较大节点连接,度值大的`节点介数也较大,因而度值较大的节点对网络影响程度较大.选择度值较大节点为优先攻击目标进行选择删除,随机生成节点序列作为出错目标进行随机删除,进而研究在出错和攻击情况下,全球航运网络聚集系数、平均距离、孤立节点比率和网络效率的变化情况.通过分析发现全球航运网络具有较好的鲁棒性,但网络较脆弱.

作 者:邓贵仕 武佩剑 田炜 DENG Gui-shi WU Pei-jian TIAN Wei 作者单位:大连理工大学,系统工程研究所,辽宁,大连,116024刊 名:大连理工大学学报 ISTIC EI PKU英文刊名:JOURNAL OF DALIAN UNIVERSITY OF TECHNOLOGY年,卷(期):200848(5)分类号:C94关键词:全球航运网络 鲁棒性 脆弱性

网络协议脆弱性分析 篇3

1 计算机互联网的网络安全问题

所谓网络安全, 是的就是计算机系统在连入互联网工作的过程中, 组成计算机的软硬件、计算机中包含的数据、各种计算机程度等都不会因为意外或者是任何恶意的因素而受到损伤、泄露修改或者是发生故障, 使得任何没有被授权的网络访问都不会出现, 有效的保证计算机连入互联网时候计算机的安全, 使其能够安全正常的运行。对计算机网络安全的认识随着角度的不同可能会产生不同的感念, 从用户的角度上来看, 计算机网络的安全就是要能够保证他们的计算机中的软硬件不受损伤, 计算机中的数据不会被别人知道或者是破坏;但是从网络的安全管理员的角度来说, 计算机网络的安全就是对计算机进行的任何合理的、合法的、授权的操作都受到有效的保护, 而不合理的、不合法的、未被授权的黑客们的操作则被完全的隔离, 有效的保证计算机数据和设备安全。尤其是在一些需要保密信息的关键部分, 他们的计算机在使用的过程中更加是需要能够将不合理的信息进行有效的过滤, 以防出现不必要的损失。

计算机网络是否安全, 可以从六个方面看出。第一, 机密性。在正常的计算机网络操作过程中, 保存在网络中的各种程序信息、数据等不会被任何未被授权的个人或者组织获得。第二, 完整性。计算机网络中的各种信息不会被未被授权的用户修改、删除和破坏等;第三, 可用性。不管计算机出现什么情况, 只要能够正常运行的情况下都能够为授权用户提供其所需要的信息, 让授权用户能够对计算机网络中保存的各种信息进行正常的使用;第四, 可靠性。计算机网络能够在一些特定的情况或者是特定的时间内为授权用户提供比较特殊的服务;第五, 可控制。对计算机网络中的各种信息的发布或者是传播都要有有效的控制能力;第六, 不可抵赖性。在计算机网络中所进行的各种操作都必然有证据存在, 能够在计算机网络中查询到所进行操作的步骤, 方便依据相关法律对计算机网络运行进行有效的管理。

2 计算机网络安全评估中所包含的脆弱性研究

所谓计算机网络安全评估中的脆弱性, 就是计算机网络在软硬件的组成、网络协议的设置或者是网络安全的保护等方面存在的不足之处。计算机网络脆弱性的存在使得计算机网络能够被非授权的用户对其所拥有的信息进行非法的操作, 让计算机网络承受着被破坏的危险。计算机网络安全问题之所以存在, 基本上是由于设计人员在编程的时候未注意安全问题或者是对程序进行错误的设计、网络协议设计时本身已经存在的不足或者因为计算机用户对计算机所进行的错误错操作或者是设置才会出现的。

这些问题主要包括:第一、计算机网络安全之设置问题。主要是因为系统管理员或者是计算机用户对计算机网络安全方面进行的错误的设置, 这种因为错误的设置使计算机网络安全出现的问题, 是最常见的计算机的脆弱问题, 也是最受黑客攻击者喜欢的攻击之所在。第二、计算机网络安全之设计问题。在对各种系统软件进行设计的过程中, 因为程序设计员在设计的时候出现的失误或者是为了以后的方便而故意设计的一些后门, 这些缺陷的存在对于计算机网络安全是十分重大的隐患。第三、计算机网络安全之网络协议方面的问题。网络协议自身本来也拥有一定的缺陷, 这些缺陷使得计算机网络安全方面存在很大的问题。第四、计算机网络安全之输入验证方面的错误。即计算机需要对用户所输入的数据信息是否合法进行验证, 使得非授权的用户能够乘机侵入计算机系统。第五、计算机网络安全之访问验证方面的错误。这是由于计算机网络安全的系统在对各种访问进行验证的系统部分存在着逻辑上面的错误, 让非授权用户能够有机会逃脱访问控制程序非法进入计算机内部。第六、计算机网络安全之意外情况处理方面的错误。即计算机安全方面的程序在设计的时候没有考虑到一些可能出现的问题, 使得这种错误出现的时候计算机运行出现故障, 给非法入侵提供了机会。第七、计算机网络安全之竞争方面的问题。计算机程序在对各种实体进行处理的过程中, 对待处理问题的时间顺序进行编排的时候可能出现的一些问题, 使得非授权用户能够利用这些问题对计算机进行非法访问。第八、计算机网络安全之环境方面的问题。因为对计算机网络安全环境的变量进行设置的时候因为一些错误的设置造成计算机网络安全方面的脆弱, 造成可供非授权用户利用的漏洞。

总之, 在现在科技高速发达的今天, 计算机对于各行各业人们的工作生活都有着十分重要的作用, 因此对计算机网络安全方面的问题必须给予足够的重视。

摘要:现在人们对计算机网络安全问题越来越重视。本文就计算机互联网的网络安全问题和计算机网络安全评估中所包含的脆弱性研究进行了简要的论述。

关键词:网络安全,互联网,评估,脆弱性,漏洞

参考文献

[1]张震, 冯伟, 颜金韬.一种基于云扫描技术的系统安全配置基线核查机制及方法[J].电信工程技术与标准化, 2012 (04) .

[2]贾忠清, 赵玉芹, 刘文鹏, 吴建峰.尔王庄管理处信息系统工程建设管理[J].水科学与工程技术, 2010 (05) .

[3]张兴建.电信IP网络的安全防护研究[A].河南省通信学会2005年学术年会论文集[C], 2005.

[4]许飞, 潘亮, 张岱岭.高校图书馆网络安全策略探析[J].泰安教育学院学报岱宗学刊, 2011 (01) .

基于SPIN的网络脆弱性分析 篇4

关键词:计算机脆弱性,渗透,模型检验,SPIN

0 引言

网络系统及其应用扩展范围广阔, 随着网络规模的扩大及应用的增加, 网络脆弱性 (也叫做安全漏洞) 也会不断增加。在攻击者对计算机系统进行攻击之前, 应明确要采取的技术, 这种技术我们可以称之为渗透。

计算机脆弱性的定义[1]:计算机系统是由一系列描述构成计算机系统的实体的当前配置的状态 (state) 组成, 系统通过应用状态变换 (state transitions) 实现计算。从给定的初始状态使用一组状态变换可以到达的所有状态从安全策略定义的角度讲分为已授权的和未授权的两种类型。脆弱状态是指能够使用已授权的状态转换到未授权状态的已授权状态, 受损状态是指通过上述方法到达的状态。攻击是指以受损状态结束的已授权状态变换顺序, 即攻击开始于脆弱状态。

脆弱性评估主要有两种方法:一个是用于检验系统是否存在已有的渗透转换的规则匹配法, 还有一个是基于模型分析的方法, 主要用于发现新的转换或者转换序列。

1 模型检验

模型检验是一种基于有限模型并检验改模型的期望特性的一种技术。它通过将所要验证的系统行为描述为有限状态自动机, 然后建立对行为的时态逻辑限制。通过遍历自动机上的所有可达状态, 找出不满足逻辑表达式的路径, 同时提供违背公式的路径。

模型检验已在硬件电路、协议的验证、软件系统规格与分析中得到成功的应用。常见的模型检验工具有SMV, Merφ, SPIN, FDR, PVS, VIS, HSIS等。

2 基于模型检验的网络脆弱性分析

2.1 模型检验的优点

COPS (Computer Oracle and Password System) , Cyber Cop by Network Associates, System Scanner by ISS, SATAN都是不错的检查主机脆弱性的分析工具, 但是它们都是基于规则的, 所以适用于发现已知的渗透转移。而模型检验的方法可以发现新的未曾找到的渗透。此外, 模型检验有着很好的模块性。新的模块可以很容易的加入模型中, 而不用改变旧的模块。不像基于规则的方法, 一旦有新的规则加入, 不但要建立新旧规则的接口, 而且还要对旧的规则做相应的修改。并且, 模型检验的方法可以对检查到的违背逻辑公式的行为提供反例。即, 提供攻击的路径。这样便于我们进一步完善系统的安全性。

2.2 SPIN

SPIN (Simple Promela Interpreter) 是一个由美国贝尔实验室开发的用于分布式系统形式化验证的软件。

在SPIN中, 采用了on-the-fly的机制来构建自动机模型。主要步骤是: (1) 首先将由LTL公式描述的系统性质取反, 建立Büchi自动机A (2) 通过计算系统中的每个进程的转移子系统的乘积, 得到系统的全局行为, 从而建立Büchi自动机P (3) 计算自动机A与P的乘积 (4) 检查最后得到的自动机所能接受的语言是否为空, 如果为空, 则系统满足描述的属性要求, 否则系统的行为不满足我们定义的属性要求。我们可以通过检查是否存在一个从初始状态可达的环路包含一个至少一个接受状态来检查积自动机是否为空。

3 用SPIN分析网络脆弱性

安全模型是实际问题的抽象, 只是涉及到整体的属性而不关注细节的实现。我们可以依据主体对可以访问的时序关系, 主体访问的可达性等来形式化验证安全模型。基于模型的脆弱性评估就可以看作是寻找特定状态的可达关系。比如:我们可以根据规则建立原子攻击 (atomic attack) , 模型中的每个状态对应系统中的一个状态, 状态之间的转移对应一个相应的原子攻击。转移S1→S2是攻击的前提条件在状态S1满足, 攻击的后续条件在S2成立的转移。一个攻击是一个状态转移序列, 一直到攻击者达到自己的攻击目标为止。

3.1 模型初始化

模型主要包括四部分:主机描述、主机连接性、攻击者的起始点、渗透方法。

主机描述包括主机存在的漏洞 (如操作系统的类型及版本, 密码的最大长度, 提供的网络服务类型) 和当前的访问权限。主机的连接性由一个连接矩阵表示, 它包含了主机间的连接关系, 这个关系在我们分析中不会更改。攻击者的起始点描述了攻击者所在的主机。渗透方法包括源主机访问权限、目的主机访问权限和渗透结果。

用Promela语言定义相应的数据结构:

mtype={none, user, root};/*定义了访问权限变量, 其中none代表攻击者不执行主机上的程序, root可以执行主机上的所有程序*/

bool exploit[4];

bool vulnerability[10];

在Promela中, 变量在定义之初就默认赋值为零。

3.2 分析模型

在用SPIN分析模型之前, 我们首先初步分析模型。首先, 我们对模型整体关注的是攻击者的访问途径以及主机所提供的脆弱性环境。其次, 模型的改变将导致新的渗透的加入以及会使攻击者对主机的访问权限得到更新。模型的停止条件是要么系统再没有新的渗透发生, 要么是模型不再违背定义好的逻辑限制

对渗透者的描述

对渗透者的描述是模型描述的重点, 因为这些直接影响到分析的结果。对渗透者的描述包括:攻击点的集合, 源主机的访问权限和目的主机的访问权限, 与主机的连接, 渗透的结果 (体现模型的动态性) 。然后, 我们需要将所有的描述转化为逻辑公式的描述。例如:当 ( (Statement=1) && (Connectness-host=1) ) 满足, 则渗透成功。主机应该根据渗透改变相应的变量 (向主机中加入新的渗透点、改变攻击者对当前主机的访问权限等) 。

LTL公式断言:[]!host.access=root即, 任何攻击者都不能在给定的主机上提出请求

结语:

基于模型检验的办法可以发现新的很微小的脆弱性, 并且我们可以通过修改模型的参数从而实现用一个模型去测试不同场景的攻击。这样一旦系统的模型建立完成, 剩下的问题只是对攻击者赋予不同层次的访问权限, 找到攻击的路径。虽然模型检验仍面临着状态空间爆炸问题的制约使受系统的大小受到限制, 但是我们可以在检验的过程中使用抽象、基于限制条件的描述等手段来缓解这个问题。

参考文献

[1]计算机系统脆弱性评估研究邢栩嘉, 林闯等计算机学报.Vol.27No.11-11.

[2]Ritchey R.W., Ammann P..Using model check-ing to analyze network vulnerabilities.In:Proceed-ings of 2000IEEE Symposium on Security and Privacy, Oakland, CA, 2000, 156-165.

[3]Ramakrishnan C.R., Sekar R..Model-based analysis of configuration vulnerabilities.In:Pro-ceedings of ACM CCIDS Workshop on Intrusion Detection and Prevention (WIDS) , Athens, Greece, 2000.

[4]Internet Security Systems, System Scanner in-formation on the web at http://www.iss.net.

[5]Network Associates, Cyber Cop Scanner infor-mation on the web at http://www.nai.com/asp_set/products/tns/ccscanner_intro.asp>.

[6]E.Clarke, O.Grumberg, and D.Peled.Model Checking.MIT Press, 2000.

[7]Gerard J.Holzmann.The Model Checker Spin.IEEE.TRANSACTIONS ONSOFTWARE ENGI-NEERING.VOL.23.NO.51-17.

网络协议脆弱性分析 篇5

信息网络涉及到个人及相关机构的各个领域,其中有很多是敏感信息,甚至是国家机密,所以难免遭受各种恶意的人为攻击。因此,信息安全脆弱性时刻威胁着网络信息系统的安全,要保障网络信息安全,关键问题之一是解决安全脆弱性问题。信息安全风险的脆弱性分析可以让个人及相关组织认识到信息跟踪、隐私挖掘、商业窃密等一些较前沿的信息安全攻击技术及其危害性,使个人及机构加紧对信息安全的防范,防止重要机密免遭窃取或被入侵的危险。

2 信息网络脆弱性分析方法

2.1 信息网络安全风险概述

信息网络安全风险是一种潜在的、负面的、处于未发生的状态,是人为或自然的威胁利用系统存在的脆弱性(安全漏洞)引发的安全事件,并由于受损信息资产的重要性而对机构造成的影响

信息网络安全性的根源在于其存在的脆弱性,即网络协议、网络软件、网络服务、主机操作系统及各种主机应用软件在设计及实现上存在种种安全隐患和安全缺陷。脆弱性之间的关联性、网络主机之间的依赖性、网络服务的动态性及网络联接的复杂性,决定了信息网络脆弱性分析是一项非常复杂的工作。

2.2 信息网络脆弱性分析方法

脆弱性是网络攻防双方争夺信息优势的焦点,脆弱性分析是网络安全风险分析与控制的关键技术,是实施信息网络安全控制的关键环节,它贯穿于项目信息网络的整个生命周期。自动和系统地进行脆弱性分析是目前的研究重点。同国外相比,我国脆弱性信息的实时性和完整性尚欠缺,主要原因在于脆弱性的发现滞后于国外。而安全脆弱性检测、消除、防范等都受制于安全脆弱性的发现。因而,安全脆弱性分析成为最具挑战性的研究热点。

目前对于信息网络采用的脆弱性分析方法,主要有可生存性分析方法、攻击树、基于图的网络脆弱性分析方法。

2.2.1 可生存性分析方法

可生存性[1]是系统在处于损伤状态时依然能够提供必要的服务并满足临界条件的业务要求,如安全性、可靠性、正确性、实时响应等。它最关心的是系统在受到损伤后该如何处理,其研究范围包括安全性、可靠性、重用性、失败冗余、性能、认证、测试等。可生存性分析方法是一个综合了众多相关领域的整体安全框架。它能够在系统架构级上评估系统的存活性能,有助于以积极主动的方式处理不可避免的入侵造成的系统性能下降,使规划或已经实现的系统性能得到改善。步骤包括系统任务和架构、基本能力、妥协能力定义等,结果往往是所推荐的存活策略与系统架构的映射。

虽然本方法是为大规模分布式网络系统设计的,但也同样适用于其他架构的系统。随着对网络可生存性研究的不断深入,将可生存性作为非功能系统属性来描述的方法,已经存在一定的局限性了。总体上讲,实现系统级的应急响应与恢复还有许多问题要解决,如:基于结点级的生存策略,被保护的目标仍然处于静止的被动的地位,难以应付众多黑客的持续攻击;防守反击能力差等。

2.2.2 攻击树

攻击树模型[2]是由Bruce Schneier在1999年提出的一种对系统的安全威胁进行建模的方法。它将针对系统的一个攻击表示为与或树的结构形式。树的根节点表示网络攻击要达到的一个目标,叶节点表示实现这一攻击目的而可能采取的手段。每一条从根节点到叶节点的路径表示实现这个攻击目标而进行的一个完整的攻击过程。攻击树的节点分为与(AND)节点和或(OR)节点两类。其中,与节点表示:只有在所有子节点都实现之后,本节点才能实现,并将任务继续向上传递;或节点表示:只要其中一个子节点已经实现,则本节点就可以实现,并将任务向上一级传递。可以为攻击树的各节点赋值,这些值可以逐级向上传递到根节点。根据权值就可以得出采用特定的攻击路径所需花费的开销。

对于比较复杂的建模对象,攻击树的图形表示会变得非常复杂。在实际应用中,针对不同的设计要求,可以选择性地对攻击树中最感兴趣的节点进行深度细化和求精。通过从根节点到叶节点的逐步细化和求精,就可以列举出针对系统的所有可能的攻击。

2.2.3 基于图的网络脆弱性分析方法[3]

攻击图是一个状态转换系统T=(S, t, s0, SG)。其中, S是网络状态的集合,t⊆S×S是状态转换关系的集合, s0∈S是网络初始状态, SG⊆S是目标状态的集合。传统攻击图模型中的SG只包含一种目标状态,然而在现实中,网络管理员不仅需要知道攻击者可能从哪些路径入侵网络中的一台主机,还应该了解网络内的哪些主机可能被攻击。这就要求攻击图模型中的SG必须包含攻击者所能到达的全部网络状态,这就是全局攻击图生成方法,利用这种方法能够获得包含全部目标状态的攻击图。

基于图的脆弱性分析方法的缺陷在于它并不量化整个系统的脆弱性,以及没有考虑网络服务和节点的互相依赖性。而预测攻击发生是根据量化的某些确定事件,这种预测则用来提供预先的保护机制。

系统结构具有生命周期,也具有时序性,结构本身也可能存在问题。分析攻击体系的结构,有利于寻找抵御或反制攻击的最佳作用点。因此,从网络系统结构的角度考虑,结合运用基于图的脆弱性分析方法,建立访问路径关键点分析和访问路径综合脆弱性分析模型[4],从访问路径的关键点考虑访问路径的脆弱性,可以有针对性地采取防护措施,有效降低网络的安全风险。

3 信息网络安全脆弱性防范

计算机网络的安全脆弱性涉及到多方面的内容,各种安全措施必须相互配合才能真正起到保护作用。通常一个健全的网络信息系统采用的脆弱性安全措施,主要概括为:完善网络管理性安全策略和牢固的技术防范措施。

3.1 管理性安全策略

理性安全策略是利用法制保证、行政管理和其他措施防止安全事故的发生。建立和完善安全管理规范和机制,切实加强和落实安全管理制度,增强安全防范意识。

(1)人员安全。

网络安全体系中最难以控制、难以打补丁的因素就是人的因素,因此工作人员特别对敏感性工作的成员要明确其工作职责,避免权限的滥用。

(2)体系结构。

主要考察信息系统的体系结构设计是否能够按敏感程度、安全功能或职能部门等特性进行安全域划分,并实施深度防御策略。

(3)访问控制策略、数据安全管理。

通过访问控制策略,加密等手段保证数据、文档资料的可用性、保密性和完整性。重点核查保密文档的安全管理,包括保密文档浏览、复制、传播、存储和销毁等。

(4)应用系统开发与维护

特别是对于处理敏感的、有价值的或关键资产要加以控制。

3.2 网络脆弱性防范

对于网络脆弱性防范,主要考虑从网络拓扑结构、网络设备和安全设备方面对其进行全方位的安全设置防范。

3.2.1 网络拓扑结构

在网络拓扑结构方面的防范,主要是指对信息系统的网络拓扑结构、网络边界等信息进行探测识别与分析,重点发现可能存在的边界安全问题,主要包括与外部网的连接、与内部网的连接、与上、下级纵向部门的连接;分析信息系统的网络拓扑及结构设计的安全性;对信息系统的网络拓扑及结构进行验证,查看其是否符合设计要求;查看并分析边界连接的安全性,必要时借助拓扑扫描工具进行测试,检测是否存在非法外连和非法接入行为。

3.2.2 网络设备

主要网络设备包括交换机、路由器和负载均衡设备等,对这些设备物理威胁的防范是优先考虑的问题。首先,机房的基础设施建设和各项环境参数必须达到相应的标准;其次,要建立完善的机房管理制度、门禁系统和安防系统,限制非网络管理人员接近网络设备。另外,还要加强用户权限管理和数据备份工作。

(1)交换机,特别是三层交换机要保证操作系统的安全性,不能存在安全漏洞,要定期检测并安装补丁。对于交换机VLAN的划分,各VLAN间的访问控制策略以及交换机配置文件的备份都是需要谨慎对待的。例如通过IEEE802 .1x强安全认证可以验证端口设备接入局域网;通过设置以太网端口或VLAN的广播风暴抑制比,抑制广播风暴,避免网络拥塞;通过设置MAC地址控制技术来抑制MAC攻击;通过建立规则的方式来实现各种过滤需求等。

(2)对路由器的安全防范主要涉及操作系统、配置以及抵御各种攻击等方面。网络扫描攻击、对路由器管理协议的攻击、欺骗攻击、拒绝服务(Dos)攻击等各种形式的攻击,都是路由器经常遇到的。对此所要做的防范对策主要有:要检测路由器操作系统是否存在安全漏洞,并要及时安装补丁;设置复杂口令;严格控制访问权限;关闭路由器不必要的服务和协议,如finger服务、HTTP服务、IP SourceRouting服务、DNS服务、TCP和UDP Small服务等。同时,可在路由器端口上关闭以下协议或服务:CDP、IP Proxy-ARP、IP Directed-Broadcast、IP redirects等,提高路由器端口的安全性;加强对数据包过滤,限制对路由器的服务、端口或协议的访问,减少特定的拒绝服务攻击,如通过对TCP-SYN包的流量限制可防止SYN泛洪攻击;部署网络监测工具和日志服务器,一旦出现异常情况便于分析网络设备的各种故障,并且要保证关键位置路由器要有热备份。

(3)对负载均衡设备的防范主要考虑以下三个方面:一是其操作系统是否安全;二是配置是否正确,与安全策略一致;三是是否能够抵御拒绝服务攻击。对于四层以上交换机的负载均衡功能、基于应用类型与用户ID的传输流控制功能要检测是否能够实现,以及负载均衡设备是否能按设计策略进行负载的分配。

3.2.3 安全设备

对安全设备的防范主要涉及到以下几个方面:通过漏洞扫描系统,检测端口开放情况,以及是否存在安全漏洞;检查防火墙的部署,登录防火墙查看规则配置,并且验证规则的有效性;检查入侵检测系统的部署及运行状况,通过抗攻击测试工具或系统,测试能否抵御拒绝服务和分布式拒绝服务攻击;进行渗透性测试,检测防火墙抵御隐藏通道攻击的能力和入侵检测系统抵御插入、规避攻击的能力。

3.3 系统脆弱性防范

据国外SecurityFocus公司的安全脆弱性统计数据表明,绝大部分操作系统存在安全脆弱性。首先对应用服务器,检查其操作系统是否与网络安全等级相适应,是否开启了不必要的服务;通过漏洞扫描方式,检测操作系统的安全漏洞、服务和配置,检测操作系统的口令设置复杂度。其次对数据库系统进行漏洞扫描、截包分析、检查口令加密强度,登录查看数据库系统的安全配置,检测数据库数据存储的机密性和完整性。再次对应用系统的安全审计、抗抵赖、密码支持、用户数据保护、标识与鉴别、安全管理、系统安全功能的保护和系统访问等方面的内容进行强化。最后要加强防范终端的脆弱性,主要包括操作系统安全性、是否存在主机漏洞及恶意代码攻击等。

在系统脆弱性防范方面,有时还要考虑横向连接系统和内部业务系统部分,它们也涉及到应用系统、数据库系统以及应用系统和终端,这些都属于脆弱性防范的范畴。

另外,僵尸网络(BotNet)也是网络信息安全防范的重要方面,它不是一种单纯的安全事件,而是作为攻击者搭建的一个攻击平台,使攻击者可以在此平台上进行DDoS,spam等各种攻击行为。它作为一种网络程序杀手、创建和管理僵尸网络软件,使得僵尸网络危害程度远远高于恶意脚本。僵尸网络是模块化的,一个模块可利用漏洞控制目标系统。在某种意义上讲它不仅仅是病毒,而是病毒的病毒。因此要经常检查系统网络是否隐藏了僵尸病毒,加强防范措施。检测僵尸网络的一种较好的入侵检测系统是利用对域名服务器查询的分析来找到行为异常的主机。这是因为僵尸网络通常使用DNS来寻找控制者的IP 地址,这使控制者能够迅速移动到先前断开的新的主机。

4 结束语

信息网络安全脆弱性是风险实现的途径,一个系统,其总体脆弱性是由硬件设备、人员、软件系统、环境等综合因素决定的。其总体安全性的提高,是与各个部分的脆弱性降低密不可分的,只有各部分的安全性都同步提高了,才有可能降低整个系统的脆弱性。总之,信息系统的安全脆弱性防范并不仅仅是简单的技术问题,只有通过采取合理的脆弱性分析方法,与严格的管理措施相结合才是保证系统安全可靠的根本保障

摘要:在信息网络中,其脆弱性直接影响着信息网络的安全程度,复杂的脆弱性分析及其防范已成为当前网络技术研究的重点。本文针对信息网络存在的复杂的脆弱性问题进行了深入的分析探讨,并根据系统的脆弱性分析,提出了较为全面的防范措施。

关键词:安全风险,脆弱性,管理安全策略,技术防范

参考文献

[1]夏春和,王继伟,赵勇.可生存性分析方法研究[J].计算机应用研究,2002:28-32.

[2]B Schneier.Attack Trees:Modeling Security Threats[J].Dr Dobb’s Journal,1999.

[3]苘大鹏,杨武,杨永田.基于攻击图的网络脆弱性分析方法[J].南京理工大学学报,2008,32(4).

网络协议脆弱性分析 篇6

随着经济全球化和社会分工的不断深化,以及网络技术的发展,越来越多的企业通过联合起来来应对激烈的市场竞争。企业通过协同方式获得了竞争优势,但也面临新的风险:部分企业的故障会影响其协同伙伴,乃至影响整个协同网络的正常运营,产生系统脆弱性[1]。例如2011年3月日本地震后,2011年4月中国广州汽车制造业生产总值出现自2003年来的首次下降,同比下降幅度达32.2%[2]。研究个别企业的故障对整个生产系统功能的影响,成为企业界和学术界关注的重点。

Thomas等[3]研究了企业的数量、差异程度、相互关系对整体供应链网络的影响,阐释了生产系统脆弱性产生的机制;Manuel等[1]整合了现有风险管理软件功能,提出了基于攻击图分析生产系统脆弱性的软件架构。但上述研究多从生产管理和风险管理角度出发,缺乏对企业间的强耦合关系的分析。Barabasi等[4]提出了复杂网络的Scale-free模型,并发现系统固有的结构特性对系统的脆弱性有着重要影响。至此,拓扑学成为分析系统脆弱性的有力工具:Latora等[5]基于最短路径提出了网络效率参数,并通过比较系统故障前后功能变化来分析脆弱性;姜洪权等[6]提出了节点负荷与结构脆弱性系数的概念,建立了基于最短路径长度和聚集系数的高度耦合工业生产系统脆弱性分析方法;闫妍等[7]将节点介数作为衡量企业负载的测度,通过计算级联失效后系统最大连通子图规模来衡量供应链网络的脆弱性。但上述基于拓扑学的研究,多将企业视为均质节点,忽略了企业间的差异性。

本文基于复杂网络理论,从协同关系角度分析协同生产网络本身所具有的脆弱性。首先通过划分协同关系类别,建立协同生产网络的无向加权图模型;然后根据协同关系影响概率计算企业间的最大可能路径,提出分析协同网络脆弱性的方法;最后通过案例分析及与其他分析方法的对比,验证本文方法的适用性。

1 协同生产网络的脆弱性

1.1 协同生产网络

20世纪70年代以来,虚拟企业、延展型企业、战略联盟、虚拟组织、供应链一体化、企业集群及网络化制造等迅速发展,Camarinha等[8]将这些具体企业间的组织形式所涵盖的共同内容加以提炼,提出了协同网络的概念。协同网络是指在计算机网络的支持下,为创造价值,由大量自发的,地域上分散的,在运营环境、文化、社会资本以及目标上各异的协同主体组成的网络系统[9]。

本文主要研究在工业领域,为提高生产效率、获得竞争优势,由多个企业组成的协同生产网络,比较典型的例子有Swiss MiroTech、中关村IT产业集群等。

企业间根据各自业务的互补性或相似性建立协同关系,即从运营层面来讲,两个企业之间由于各种业务联系(物料、技术、能量、人员、资金等)建立了多种协同关系。而大量企业相互协作形成了企业联盟,即从组织层面来讲,多个企业之间联合结成具有明显拓扑结构的企业网络。协同生产网络的双层次结构如图1所示。

1.2 协同生产网络的脆弱性

脆弱性概念来源于生态学,其后扩展到金融、电网、Internet等领域。尽管研究对象不同,但是各种领域的脆弱性都是描述组成要素失效后对系统整体功能影响的性质。结合协同生产网络的定义,本文给出协同生产网络脆弱性的概念:协同生产网络脆弱性是衡量单个或部分企业故障后对整个协同生产网络功能影响的性质。协同生产网络脆弱性研究的目的是为了发现协同生产网络中的安全隐患和薄弱企业,从而为制定有效优化措施提供依据。

企业对整个生产系统越重要,则该企业发生故障后对协同生产网络的影响越大,即越脆弱。可通过比较企业故障后协同生产网络效能的变化程度来衡量脆弱性[5]:

V[G,D]=Φ[G]-Φ[G,D]Φ[G] (1)

其中,G为正常状态的协同生产网络;D为协同网络受到某些因素影响后产生故障的企业集合;Φ[X]为协同网络整体效能的测度函数,则ΔΦ为协同网络故障后效能损失值,ΔΦ=Φ[G]-Φ[G,D]≥0;V[G,D]为协同网络GD企业发生故障后的脆弱性,其取值范围是[0,1],数值越大表示该企业故障对整个协同网络的影响越大,即越脆弱。

运用式(1)分析脆弱性,首先要建立协同生产网络的数学模型,其次要提出衡量协同生产网络效能的方法。

2 协同生产网络的数学模型

根据复杂网络理论,将企业视为组成协同生产网络的节点,C={ci|i=1,2,…,n}表示协同网络中的节点集合,ci表示第i个企业,n为协同网络中的企业个数。

将所有企业间的协作关系按企业间的业务联系分类,R={rk|k=1,2,…,m}表示协同网络中的协同关系集合,rk表示第k类协同关系,m为协同网络中存在的协同关系种类的数量。企业间的业务联系可按照物料、技术、人员、资金、能源、管理进行划分,R可依据这种分类方式结合企业具体行业特征来设置协同关系类别。

在运营层面,协同生产网络中的企业存在复杂的联系。由图1a可知,企业间既可能存在多个相同类别的协同关系,如模具厂与金属加工厂存在两种物料协同关系,模具厂既提供给金属加工厂模具,又接收金属加工厂提供的某些零件;企业间也可能存在不同类别的协同关系,如电厂为化工厂提供热能和电能,而化工厂将废气提供给电厂作为补充燃料。

本文用企业协同关系集合CR表示协同生产网络在运营层面的复杂协同关系:

式中,cri,j,k为企业cicj间存在协同关系rk的个数。

在组织层面,着重考虑协同生产网络所有企业间联系的拓扑结构。若两企业间存在协同关系,则存在边;若不存在协同关系,则没有边。本文用网络G(C,A)表示协同网络在组织层面的拓扑结构,其中A为企业间产生协同关系的集合。根据式(2),建立协同网络的关系集合:

A={ai,j|i,j=1,2,,n}ai,j={1k=1mcri,j,k00k=1mcri,j,k=0(3)

某个企业发生故障后,故障影响将会沿协同关系传递给其他企业,不同协同关系对企业的影响概率是不同的,而且这种影响是双向的。本文用协同关系影响概率集合P来区别不同的协同关系:

P={pk|k=1,2,…,m} (4)

式中,pk为存在rk关系的两企业发生相互影响的概率,pk∈(0,1]。

两企业间仅存在一个协同关系时,企业间的相互影响概率就是协同关系影响概率;而两企业间存在多个协同关系时,各关系间是并联的。根据式(2)、式(4),可得出企业影响概率集合为

W={wi,j=1-k=1m(1-pk)cri,j,k|i,j=1,2,,n} (5)

式中,wi,j为企业cicj间发生相互影响的概率。

将协同生产网络在运营和组织层面的数学模型整合起来,将W视为协同生产网络边的权重集合,即协同生产网络可用G(C,A,W)无向加权图表示。

3 协同生产网络的脆弱性分析

基于G=(C,A,W)模型分析协同生产网络脆弱性,首先要确定协同关系影响概率pk的取值,然后再确定协同生产网络效能的衡量方法,最后运用式(1)比较企业发生故障前后协同网络效能的变化,分析脆弱性。

3.1 协同关系影响概率赋值

本文通过专家打分的方法确定协同关系影响概率。基于模糊集理论,先将专家对各种协同关系给出的语言变量评价转化为三角模糊数,再将模糊数映射为协同关系影响概率的清晰值。

有限数量专家集为E={Et|t=1,2,…,q},本文假设专家具有相同的重要程度。而被评价对象集合为R={rk|k=1,2,…,m},且rk仅有一个评价指标即pk。评价语言变量集为S={sh|h=0,1,…,l-1},S由预先定义的由奇数个元素构成的有序语言变量组成。

专家Et针对协同关系rk的语言评价信息为dk t,且dk tS,将dk t表示为三角模糊数形式:

dkt=(dkt(L),dkt(Μ),dkt(R))=(max(h-1l-1,0),hl-1,min(h+1l-1,1))(6)

把每个专家给出的评价信息集结为群的评价信息D={dk},dk可用下式求得:

dk=(1/q)(dk1dk2dkq) (7)

dk=(dk(L),dk(Μ),dk(R)),则有

dk(L)=(1/q)t=1qdkt(L) (8)

dk(Μ)=(1/q)t=1qdkt(Μ) (9)

dk(R)=(1/q)t=1qdkt(R) (10)

将模糊数按照CFCS方法转化为清晰值[10],即协同关系影响概率为

pk=L+Δ[(d(M)k-L)(Δ+d(R)k-d(M)k)2(R-d(L)k)+

(d(R)k-L)(Δ+d(M)k-d(L)k)2]/[(Δ+d(M)k-

d(L)k)(Δ+d(R)k-d(M)k)2(R-d(L)k)+

(d(R)k-L)(Δ+d(M)k-d(L)k)2(Δ+d(R)k-dk(Μ))] (11)

L=min{d(L)k},R=max{d(R)k},Δ=R-L

3.2 协同生产网络效能衡量函数

复杂网络理论一般用网络效率指标函数评价系统的整体效能[5]:

E(G)=ijεi,jn(n-1)=ij1/di,jn(n-1) (12)

其中,di,j是节点ij间的最短距离,可由Floyd算法得出,它表示企业cicj间经过最少的中间企业就发生联系,di,j越大,cicj间的协同效率εi,j越低。此时G中的权重集合W表示节点间的几何距离、延时程度等现实含义。

在协同生产网络中,权重集合W表示节点间发生相互影响的概率。而企业间相互影响的最大概率即为协同效率。在任意两个企业的可连接路径上,所有企业之间都是串联的,基于此可给出协同效率的计算公式:

εi,j=maxγi,j(x,yγi,jwx,y) (13)

式中,γi,j为企业cicj之间的可连接路径。

根据式(12)、式(13),协同生产网络的效能衡量函数可表示为

Φ(G)=ij(maxγi,j(x,yγi,jwx,y))n(n-1) (14)

3.3 协同网络脆弱性分析方法

归纳协同生产网络脆弱性分析方法步骤如下:

(1)获得组成协同生产网络的企业信息,建立企业集C

(2)获得企业间业务关系的信息,并划分协同关系种类,建立协同关系集R。

(3)建立企业协同关系集合CR

(4)按照式(3),建立协同生产网络的关系集合A

(5)通过专家打分,按照式(6)~式(11),建立协同关系影响概率集P

(6)按照式(5),计算协同网络权重,建立协同生产网络加权无向图G=(C,A,W)。

(7)按照式(1)、式(13)、式(14),计算单个企业故障后的脆弱性V,并进行排序,其值较大的企业就是协同生产网络的脆弱点。

4 实例分析

国内某典型重化工协同网络是以国有企业A与德国公司B为主体、多家国际公司参与的大型重化工生产项目,它由41个企业组成,形成了以天然气基化工为龙头,以聚氨酯类产品为核心,上、中、下产品链全面配套的生产系统。

根据具体化工生产特征,汇总企业间各种业务联系后,将协同关系划分为11类,见表1。

本文邀请5位专家打分,设置7个语言变量,按照式(6),得出三角模糊数,见表2。

根据专家打分情况,按照式(11)计算协同关系影响概率,即

P={0.95 0.8857 0.8214 0.725 0.4679 0.275

0.1143 0.3072 0.1465 0.0822 0.05}

按照式(3)建立关系集合,计算权重,并绘制协同网络如图2所示。

企业用带有标号的节点表示,企业影响概率由不同粗细程度的边来表示,权重wi,j具体数值见表3。

按照式(1)、式(14)计算协同网络的脆弱性,并与文献[5]方法求得结果进行对比,见表4。

通过对比发现,两种方法都能够确定脆弱企业,如脆弱性排名前两位的都是c4、c18,但脆弱性排序差别较大。差异产生的原因是:文献[5]方法将网络视为同质节点组成的,分析脆弱性时仅考虑网络的拓扑结构;而协同生产网络是由不同功能的企业组成的,本文方法中将企业的功能按照不同协同关系加以区分,并赋予权值,将企业功能和拓扑结构结合起来分析协同网络的脆弱性。

c41为例,用两种方法得出的脆弱性排名分别是第41位和第9位。从生产经营实际来分析:c41是自备电厂,为多家企业提供电力及余热蒸汽。从拓扑角度来看,该厂向众多企业供应热能、电能,一旦发生故障,其影响面较广,即较脆弱;而从实际运营角度来看,各企业所处的工业区有充足的外部电源及完善的基础设施,即使电厂发生故障,与之相连的企业也可通过其他渠道获得相应能源,因此电厂的影响有限。

整个协同生产网络的主要工业原料为盐卤和天然气,而c4是盐卤生产处理厂,c2是天然气生产处理厂,c4、c2一旦发生故障,其他企业将面临无工业原料的风险。整个协同生产网络的核心产品是聚氨酯类产品,由c18生产,c18一旦发生故障,整个协同生产系统的盈利能力将会大大降低。对比表3计算结果发现,本文方法较符合实际。

此外,从生产经营角度分析脆弱性,只能获得定性的结论,仅能区别个别企业的脆弱性,而本文方法可以对所有企业进行排序。

5 结束语

为发现协同生产网络中的安全隐患和薄弱环节,本文首先基于协同关系特征,建立了协同生产网络的加权无向图模型;其次根据模糊集理论和复杂网络理论,提出了适合分析协同生产网络脆弱性的方法;最后仿真分析了某重化工协同生产网络,结果表明,节点4、18、2、8是该协同生产网络的脆弱点。

参考文献

[1]Manuel C,Ivan C B,Luca D.On the Analysis ofVulnerability Chains in Industrial Networks[C]//Proceedings of International Workshop on FactoryCommunication Systems.Dresden,Germany,2008:215-224.

[2]广州市统计局,宏观经济数据库[DB/OL].[2011-09-10]http://www.gzstats.gov.cn/tjsj/.

[3]Thomas Y C,Daniel R K.The Supply Base and itsComplexity Impliactions for Transaction Costs,Risks,Responsiveness and Innovation[J].Journalof Operations Management,2006,24(5):637-652.

[4]Barabasi A L,Albert R.Emergence of Scaling inRandom Networks[J].Science,1999,286(5439):509-512.

[5]Latora V,Marchiori M.Vulnerability and Protectionof Infrastructure Networks[J].Physical Review E,2005,71(1):015103.

[6]姜洪权,高建民,陈富民,等.基于网络特性的分布式复杂机电系统脆弱性分析[J].计算机集成制造系统,2009,15(4):791-796.

[7]闫妍,刘晓,庄新田.基于复杂网络理论的供应链级联效应检测方法[J].上海交通大学学报,2010,44(3):322-325.

[8]Camarinha M L,Afsarmanesh H.Collaborative Net-works a New Scientific Discipline[J].Journal of In-telligent Manufacturing,2005,16(5):439-452.

[9]Camarinha M L,Afsarmanesh H,Galeano N,et al.Col-laborative Networked Organizations Concepts andPractice in Manufacturing Enterprises[J].Computers&Industrial Engineering,2009,57(1):46-60.

网络协议脆弱性分析 篇7

1.基本BP神经网络算法

BP神经网络算法是一种采用误差反向传播的多层前馈感知器。其特点是具有分布式的信息存储方式, 能进行大规模并行处理, 并具有较强的自学习及自适应能力。BP网络由输入层 (感知单元) 、计算层 (隐藏层) 、输出层3部分组成。输入层神经元首先将输入信息向前传递至隐含层节点, 经过激活函数预处理后, 隐层节点再将输出信息传送至输出层得到结果输出。输入层与输出层节点的个数取决于输入、输出向量的维数, 隐含层节点个数目前并没有统一的标准进行参考, 需通过反复试错来确定。根据Kolmogorov定理, 具有一个隐层的3层BP神经网络能在闭集上以任意精度逼近任意非线性连续函数, 所以本文选择单隐层的BP神经网络。

2.人工鱼群算法

2.1基本原理

通过对鱼类觅食的观察可知, 鱼类一般能自行或者尾随其他同伴找到食物数量相对充足的地方。因此, 一般鱼类数量较多的地区即为食物相对充足的区域。人工鱼群算法是指通过长期对鱼类觅食行为的观察, 构造人工鱼来模拟鱼类的觅食、群聚、尾随以及随机行为, 从而完成全局最优值的寻找。算法所包含的基本过程如下:

觅食行为:鱼类会利用视觉或嗅觉来感知水中食物浓度的高低, 以此来选择觅食的路线。

聚群行为:鱼类一般会以群体形式进行觅食, 以此来躲避天敌的伤害, 并以最大概率获得准确的觅食路线。

尾随行为:当群体中的某条鱼或几条鱼寻找到食物后, 其附近的其他同伴会立刻尾随而来, 其他更远处的鱼也会相继游过来。

随机行为:鱼在水中的活动是不受外界支配的, 基本上处于随机状态, 这种随机性有利于鱼类更大范围的寻找食物及同伴。

2.2行为描述

首先假设1条人工鱼, 其当前状态定义为Xr, 随机选择另一个状态为Xs=[xsd (s=1, 2, …, N;d=1, 2, …, D, 这是一个D维向量, 其中状态为Xr的食物浓度为Yr=f (Xr) , f (x) 为目标函数, 人工鱼群体中个体间的距离表示为drs=‖Xr-Xs‖, 其有效视线范围 (感知距离) 为Visual, 游行步长设置为Step, 群体中的拥挤度因子为σ。

2.2.1觅食行为

鱼类觅食是以定义的游行步长为前进单元, 通过在其有效视线范围内感知食物浓度的变化来确定最佳觅食路线。设人工鱼当前状态为Xr, 在有效视线范围内随机选择另一个状态为Xs, 通过目标函数确定两种状态下的食物浓度分别为Yr、Ys, 若Yr<Ys, 则向该方向前进一步, 即Xr-next, 反之, 重复选择随机状态, 并继续判断是否满足前进条件, 直到随机状态选择的次数达到设定的trynumber后, 若仍然不满足前进条件, 则随机向前移动一步。该过程用数学表达式描述为:

其中Rand为一个 (0, 1) 的随机数。

2.2.2聚群行为

人工鱼在其有效视线范围内能够感知同伴的数目及其中心位置, 假设在当前视野范围内人工鱼感知到的同伴数目及其中心位置状态为Xc, 若Yc, nf>σYr, 则表明该区域食物浓度较高, 并且其周围并不拥挤, 此时人工鱼将向此方向前进一步, 否则继续执行觅食行为。其数学表达式为:

2.2.3尾随行为

若人工鱼在当前视线范围内感知到的食物浓度最大值为Xmax, 如果Ymax, nf>σYr, 则状态Xmax具有较高的食物浓度并且鱼群密度较低, 适合人工鱼进行觅食, 则朝着此方向前进一步, 反之, 若Ymax, nf<σYr, 则人工鱼继续执行觅食行为。该过程用数学表达式描述为:

2.3鱼群算法优化BP神经网络的原理

BP神经网络在求解最优化问题时容易陷入局部极值, 并且网络的收敛速度较慢。鱼群算法通过设定人工鱼个体, 模拟鱼群在水中的觅食、尾随和群聚行为, 通过个体的局部寻优, 最终实现全局寻优。人工鱼在不断感知周围环境状况及

同伴状态后, 集结在几个局部最优点处, 而值较大的最优点附近一般会汇集较多的人工鱼, 这有助于判断并实现全局最优值的获取。因此用人工鱼群算法来优化BP神经网络是一种合理的尝试。

2.4具体工作步骤

人工鱼群算法用于优化神经网络时的具体步骤如下:

(1) 设定BP神经网络结构, 确定隐层节点数目;

(2) 设定人工鱼参数, 主要包括个体间距离、有效视线范围以及移动步长等;

(3) 人工鱼进行觅食、群聚及尾随行为来优化BP神经网络;

(4) 通过设定的状态参量, 判断是否达到目标精度;

(5) 若达到精度要求则输出网络优化权值, 并执行网络循环, 否则继续改化参数进行优化;

(6) 输出最终优化参数并进行计算机网络安全评价。

3.算例分析

本文以文献[2]设定的评价标准作为网络的训练数据。主要包括土壤层厚度、土壤层形状、包气带厚度、包气带岩性等14项影响因素指标, 因此输入层神经元数取为14。隐含层定为1层。一般而言, 隐层节点数目是输入层节点数目的2倍, 因此, 本文将隐层节点数目定为28。

算法用Matlab语言实现。通过实验分析, 本文将网络隐含层节点数设为5, 权值调整参数α=0.1, 阈值调整参数β=0.1, 学习精度ε=0.0001。网络经过2000次训练, 收敛于所要求的误差, 然后对检验样本及专家评价样本进行仿真, 结果见表1。可以看出网络评价结果与标准BP神经网络及模糊综合评价算法保持一致, 但其网络运行时间却大幅下降, 甚至比应用蚁群算法优化的效果更好。

结论

本文将鱼群算法和神经网络结合起来对地下水脆弱性进行了研究, 得到了如下几个结论:

(1) 基于鱼群算法优化后的BP神经网络具有收敛速度快、拟合精度高等优点, 克服了标准BP神经网络收敛速度慢、容易陷入局部极小值的缺点。同时, 优化算法编码过程简单, 并具有较强的鲁棒性。

(2) 本文采用的实验数据仅有1个, 基于鱼群算法优化后的BP神经网络精度有明显提高, 避免了由于样本数量少造成的拟合精度低等缺点。

(3) 通过将标准BP神经网络算法与鱼群神经网络算法进行对比发现, 后者的收敛速度明显加快, 并且自组织能力也有一定提高, 在实际的工程建设中可以将其代替传统的BP神经网络算法来进行地下水脆弱性的评价与分析。

摘要:地下水脆弱性评价是区域进行地下水资源保护和管理的重要依据。针对BP神经网络技术在对地下水脆弱性进行评价时存在的收敛速度慢、不易获得全局最优解、诊断精度低以及网络结构不确定等缺点, 而人工鱼群算法具有较优的全局收敛能力及较快的寻优速度。因此, 本文利用人工鱼群算法对BP神经网络的初始权值和阈值进行了优化, 建立了一种新的地下水脆弱性评价模型, 并将该模型应用到具体的评价实例中。结果表明, 人工鱼群神经网络算法具有收敛速度快及泛化能力强的优点, 为地下水脆弱性评价提供一种高效、准确及可靠的方法。

关键词:地下水脆弱性,评价,人工鱼群算法,BP神经网络

参考文献

[1]贺新春, 邵东国.几种评价地下水环境脆弱性方法之比较[J].长江科学院院报, 2005, 26 (3) :17-21.

[2]李梅, 孟凡玲.基于改进BP神经网络的地下水环境脆弱性评价[J].河海大学学报, 2007, 35 (3) :245-248.

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:协议条款对比分析 下一篇:协议分析验证