网络安全概述
1、网络安全的概念
网络安全已经成为关系国计民生的大事,引起了全社会的高度重视。网络安全作为一门新兴的边缘交叉性学科,主要研究网络的安全理论、安全技术、安全应用和安全管理问题。网络安全涉及通信技术、计算机科学与技术、网络工程、信息论、数论、密码学、人工智能及社会工程学等,因此只有多个方面相互协同,才能有效保障网络的安全。
1.1、网络安全的定义
"安全"一词通常被理解为"远离危险的状态或特性"和"为防范间谍活动、蓄意破坏、犯罪、攻击或逃跑而采取的措施"。这是对安全的广泛性表述,不同的领域、行业对安全有着各自特定的理解及定义。对于20世纪随着信息革命而诞生的网络而言,"安全"具有特定的涵义。在历史上,人们对于"计算机安全""信息安全""网络安全""网络空间安全"等诸多概念有着不同的解读,随着互联网的迅猛发展以及广泛应用,这些概念的内涵不断丰富并逐渐趋于统一,主要聚焦于"网络安全"或"网络空间安全"。从本质上而言,网络安全就是网络环境下的信息安全。信息安全旨在保护信息的机密性、完整性和可用性等基本属性,涵盖物理安全、网络系统安全、数据安全、信息内容安全和信息基础设施安全等多个方面。
1.1.1、网络安全问题的由来
人类社会经历了农业革命、工业革命,目前正在经历信息革命。每一次重大的社会变革都伴随着相应的"安全"问题,然而在以信息技术为核心的数字化革命时代,互联网日益成为推动创新驱动发展的先导力量,由此引发的"安全"问题也呈现出更为复杂多样的态势,网络空间安全已经上升为国家安全战略的关键组成部分。在总体国家安全观的框架内,网络安全占据着极为重要的地位。可以说,没有网络安全就没有国家安全。网络安全之所以如此重要,是由多种因素共同作用的结果。网络空间安全威胁与政治安全、经济安全、文化安全、社会安全、军事安全等领域相互交融、相互影响,已经成为当前面临的最复杂、最现实、最严峻的非传统安全问题之一。网络安全问题严峻性的形成可以追溯到多个方面。
- 1)网络安全技术演进
伴随着信息技术及其应用的不断发展,网络安全的概念与特点也在不断发生着变化。为了有效对抗网络攻击,网络安全技术也在经历重大变革,已经从最初的被动防护阶段发展到如今的主动防御阶段。在网络攻防的技术对抗过程中,安全技术既有着内在的变化,也有着外在的变化,攻防双方始终处于矛盾运动的状态之中。- 网络安全技术的内在变化。最初,网络安全问题主要来源于网络协议体系自身固有的安全缺陷。在TCP/IP协议体系设计之初,由于当时网络的主要目的是将分散在不同地理位置的计算机系统通过通信线路连接起来,以实现信息通信和资源共享。网络技术专家、工程师及爱好者致力于提升网络通信的性能以及资源共享的便捷性,即便是黑客活动也仅限于展示其技术技能的高超,并无明显的恶意。然而,随着互联网的普及应用,出于各种原因,包括利益诱惑等,在全球范围内计算机病毒、蠕虫、垃圾邮件、虚假有害信息以及网络违法犯罪等形形色色的网络安全威胁相继出现,这促使网络安全技术从专用走向通用、从封闭走向开放、从单一走向复合、从简单走向超级复杂,发生了深刻的内在变化。安全保护的对象也由最初的数据、主机系统和网络,逐步扩展到了控制系统、数字化、智能化、数字城市、数字经济及数字社会等更为复杂的系统,并且将物理世界、数字世界以及人类社会融合成了一个新的复杂网络空间。网络空间安全威胁的严峻性并非因为原来的"安全第一性"原则失效,而是因为"系统"的定义和特点发生了重大变化,这种变化导致网络安全技术的可行性受到了严重影响。
- 网络安全技术的外在变化。随着互联网技术的持续进步,各种新技术和新应用的涌现给网络安全带来了新的挑战。例如,互联网的开放性和匿名性增加了黑客攻击的可能性;移动互联网的普及使得个人设备更容易受到攻击;物联网的出现使更多设备实现互联互通,从而增加了攻击目标的多样性。网络安全攻击从随机性攻击转变为有针对性的攻击,从简单的"贼偷"行为发展为有预谋的"贼惦记",从业余攻击者逐渐演变为专业甚至职业攻击者。网络攻击方式和手段也从早期的计算机病毒、木马、僵尸网络、钓鱼、劫持和拒绝服务攻击(DoS),发展变化为分布式拒绝服务攻击(DDoS)、勒索、投毒和高级持续性威胁(Advanced Persistent Threat, APT)攻击。网络安全已经成为信息化社会焦点中的焦点。因此,如何有效地保护重要的数据信息、提高网络系统的安全性,已经成为网络领域必须解决的重要问题之一。
- 2)网络的功能价值不断提升
互联网技术的普及应用,使得信息突破了时间和空间的限制,信息网络的价值也在不断提升。然而,计算机技术、网络技术及信息技术如同其他科学技术一样,是一把双刃剑。一方面,它们在计算机用户之间架起了通信的桥梁;另一方面,也为某些窃取机密数据的非法之徒打开了方便之门。当大部分人利用信息网络技术提高工作效率、为社会创造更多财富的同时,也有一些人却在利用信息技术从事相反的活动,非法侵入网络系统窃取机密信息、篡改和破坏数据,给社会造成难以估量的巨大损失。随着网络功能和价值的不断提升,心存恶意者不仅不会消失,反而会使网络安全问题愈发严峻。网络攻击者可能有不同的动机,包括经济利益、政治目的、个人满足等。黑客、恶意代码制造者、网络犯罪分子和间谍等都可能攻击网络系统和资源。常见的几种网络安全问题示例如下图所示。

-
3)网络系统的脆弱性
网络的快速发展和普及应用,不仅需要数以万计的计算机系统、移动终端和信息基础设施,还需要难以计数的软件系统、应用软件。可以说,许多网络安全事件是网络、软件或系统的漏洞和脆弱性所引起的。这些脆弱性可能是设计不良、编码错误、不完善的安全措施或未及时修补的软件漏洞所导致的。
此外,在广泛应用的云计算环境中,大数据手段的综合分析与深度挖掘也增添了产生网络安全威胁的可能性。云计算和大数据技术的发展应用,不仅将人们的现实行为虚拟化为数据,其强大的计算能力也为存储、分析这些数据提供了无限的可能性。也就是说,在大数据时代,遍布网络上的普通信息一旦达到一定数量级,或者一些看似不相关的数据一旦被整合起来,通过大数据手段的综合分析与深度挖掘,很可能会暴露十分重要的信息。这将是影响网络安全的一种全新因素,而且是一个严峻的新挑战。
-
4)人类行为
网络安全问题与人类的行为密切相关。人类的不慎或不当操作可能会导致安全漏洞。例如,密码设置过于简单、随意共享账号和密码、忽视安全补丁的更新等行为,都极易导致未授权访问和数据泄露。此外,一些攻击者还可能利用社会工程学获取信息并实施针对性攻击。黑客可能通过欺骗、诱骗或利用人们的信任,获取关键信息,进而入侵系统或窃取数据。
综上所述,网络安全问题的形成是一个复杂而多元的过程,涉及技术、人类行为、攻击动机和系统脆弱性等多个方面。网络空间不是虚拟空间,而是人类现实活动空间的自然延伸,是人类一种崭新的存在方式和形态,自然存在安全问题。为了有效应对网络安全威胁,需要综合运用技术手段,强化人员安全意识及素养,建立起有效的安全机制,并通过法律法规予以约束。
1.1.2、网络安全概念的演变
信息技术革命以来,政治、经济、军事和社会生活对网络安全的需求日益增加,网络安全作为一门具有特定内涵的综合性学科逐渐得到发展,其概念也不断丰富和完善。从网络安全的发展演变过程来看,一般认为大致经历了以下几个阶段。
- 1)通信保密
自有人类以来,信息交流就成为一种最基本的人类社会行为,是人类其他社会活动的基础,自然会产生对信息交流的各种质量属性的期望。例如,在面对面交流中,人们可能会关心对方所说的话是否真实,自己所说的话对方是否听清楚,以及双方的对话是否被他人听到。这类需求一直普遍存在。在军事斗争中,这类信息交流更是上升为决定战争胜败的重要因素。在几千年的时间里,军事领域对安全通信的需求催生并推动了古典密码学的发展。这一阶段的显著特征是以"保密"为目的的通信安全。通信保密阶段历时较长。早在远古时代,就有了信息通信安全的概念。当时,所有的资产都是物理的,重要的信息也是以物理形式存在的,如将文字刻在石头上、竹片上,后来写在纸张上。保护这类信息主要采取一些物理性的手段,如深藏密室、护卫把守等。信息传递通常只能依靠信使完成,飞鸽传书也算是一种信息传递方式。然而,物理安全存在许多安全缺陷,如果报文在传递过程中被截获,报文的信息就会被敌人知悉。因此产生了通信保密问题。早在公元前600年,Julius Caesar发明了凯撒密码(CaesarCipher),从此,即使敌方截获了报文,也无法读懂其内容。此后,加密报文的概念得到了迅速发展与应用,一直到目前的量子密码。与此同时,军事通信开始使用密码技 术,即将每个字符编码后放入报文传输;即使敌人通过无线电通信手段窃听、截获到报文,也无法识别其含义。在这一阶段,人们主要关心的是通信安全,且集中在军事领域,解决的主要问题是在远程通信中拒绝非授权用户的信息访问,以及确保通信的真实性,包括加密、传输保密、发射保密和通信设备的物理安全。通信保密阶段的技术重点是通过密码技术解决通信保密问题,保证数据的机密性、完整性和可靠性。
- 2)计算机系统安全
进入20世纪中期后,人们开始广泛使用计算机等数据处理设备来处理数据,信息开始以电子形式移植到计算机系统中,而计算机系统上的信息对任何访问者都是开放的。显然,存放在计算机系统中的文件以及其他一些信息,需要一种自动工具来进行保护。这些自动工具(诸如分时共享系统、通过公共电话网或互联网可访问的系统等)可作为保护数据信息和阻止攻击者实施破坏行为的工具,因此便产生了计算机系统安全,简称为计算机安全(COMPUSEC)。通信保密阶段转变到计算机系统安全阶段。这一阶段的标志事件是1977年美国国家标准局(NBS)公布的《数据加密标准》(DES)和1985年美国国防部(DoD)公布的《可信计算机系统评估准则》(TCSEC)。这些标准的提出意味着解决网络和信息系统机密性问题的研究和应用进入了一个新的历史阶段。
当计算机技术得到普及应用之后,计算机系统安全的主要任务是解决计算机信息载体及其运行过程中的安全问题;采取的主要措施是根据主、客体的安全级别,正确实施主体对客体的访问控制,从而保护信息的机密性。然而,随着计算机网络把孤立的单机系统连接起来,实现相互通信和资源共享,由于计算机系统中的信息具有共享和易扩散等特性,很容易受到干扰、滥用、遗漏和丢失,甚至被泄露、窃取、篡改、伪造和破坏,机密性已经不足以满足人们对安全问题的需求,人们开始提出了完整性和可用性等新的计算机系统安全需求。
就计算机系统安全而言,其所涵盖的内容已经非常丰富,包括操作系统安全、计算机网络安全、病毒查杀、访问控制、加密与认证以及数据库安全等诸多方面。国际标准化组织(ISO)将计算机系统安全(Computer SystemSecurity)定义为"为数据处理系统建立和采取的技术和管理的安全保护措施,以保护计算机硬件、软件、数据不因偶然和恶意的原因而遭到破坏、更改和泄露"。显然,这一定义偏重静态信息的保护。因此,可将计算机系统安全进一步定义为"计算机的硬件、软件和数据得到保护,不因偶然和恶意的原因而遭到破坏、更改和泄露,并保障系统能够连续正常运行",这一定义侧重于动态信息的描 述。显然,"安全"一词是指将服务与资源的脆弱性降到最低限度,其中脆弱性是指计算机系统的任何弱点。
- 3)网络安全
进入20世纪90年代之后,网络安全开始成为网络系统的重要组成部分。此时,通信和计算机技术已经相互依存,计算机网络发展成为全天候、全球通、个人化、智能化的信息高速公路,互联网成为寻常百姓伸手可及的日常技术平台,其安全需求不断向社会的各个领域扩展,人们的关注对象从计算机系统开始转向更具本质性的信息本身,继而关注网络的安全。人们需要保护信息在网络中存储、处理、传输过程中不被非法访问或更改,确保对合法用户提供服务并限制非授权用户的服务,确保网络的业务功能能够正常运行。因此,这一阶段是以"安全保障"为目的的网络安全。
关于网络安全,权威的定义出自《中华人民共和国网络安全法》,其表述为:网络安全是指通过采取必要措施,防范对网络的攻击、侵入、干扰、破坏和非法使用以及意外事故,使网络处于稳定可靠运行的状态,以及保障网络数据的完整性、保密性、可用性的能力。
在网络安全阶段,除了机密性、完整性和可用性之外,人们还关注不可否认性、可靠性、可控性等,所采取的主要措施是提供完整的安全保障体系,以恢复技术为后盾,融合防护、检测、响应和恢复四大类技术,包括防火墙、入侵检测系统、虚拟专用网及公钥基础设施等。网络安全技术的继续发展是以"顽存(Survivable)"为目的的可生存或生存技术,即网络系统在遭受攻击、故障和意外事故的情况下,在一定时间内仍然能够继续执行全部或关键使命的能力。
网络安全是研究与计算机网络相关的安全问题的学科。具体而言,网络安全主要研究安全地储存、处理或传输信息资源的技术、体制和服务。假设A和B要应用网络进行通信,并希望该网络及其通信过程是"安全"的。在这里,A和B可以是两台需要安全交换路由表的路由器,也可以是希望建立一个安全传输连接的客户机和服务器,或者是交换安全电子邮件的应用程序。因此,可以把A和B看作两个网络通信实体,即应用进程。A和B要进行网络通信并希望做到"安全",那么,此处的安全意味着什么呢?显然,这个"安全"的内涵是丰富多彩的,涉及多个方面。例如,A和B希望存储在客户机或服务器中的数据不被破坏、篡改、泄露;它们之间的通信内容对于窃听者是保密的,而且通信的确是在与真实的对方进行;它们还希望所传输的内容即使被窃听者窃取了也不能理解其报文的含义;还要确保它们的通信内容在传输过程中没有被篡改,或者即使被篡改了,应能够检测出该信息已经被篡改、破坏。由此归纳起来,对网络安全的定义可以表述如下。
所谓网络安全,就是在分布式网络环境中,对信息载体(处理载体、存储载体、传输载体)和信息的处理、传输、存储、访问提供安全保护,以防止数据、信息内容遭到破坏、更改、泄露,或者网络服务被中断、拒绝、被非授权使用和篡改,使网络处于稳定可靠运行的状态,以及保障网络数据的机密性、完整性和可用性的能力。简言之,网络安全是指在分布式网络环境中,针对各种网络安全威胁研究其安全服务和安全机制,制定安全策略,实施安全技术,确保网络的安全性。
网络安全具有信息安全的基本属性。广义地讲,凡是涉及网络上信息的机密性、完整性、可用性、可靠性、可信性、可控性和不可否认性的相关理论和技术,都属于网络安全所要研究的范畴。网络的安全性包括网络安全目标、资产风险评估、安全策略和用户安全意识等多个方面。在实际中,对网络安全内涵的理解会随着"角色"的变化而有所不同,而且还在不断地延伸和丰富。例如,从用户(个人、企业等)的角度来说,他们希望涉及个人隐私或商业利益的信息在网络上传输时受到机密性、完整性和真实性的保护,避免他人利用窃听、假冒、篡改、抵赖等手段侵犯用户利益。
从网络运营者的角度来说,他们希望对本地网络信息的访问、读写等操作进行保护和控制,避免出现陷门、恶意代码、非法存取、拒绝服务、网络资源非法占用和非法控制等威胁,制止和防御网络黑客的攻击。
从安全保密部门的角度来说,他们希望对非法、有害的或涉及国家机密的信息进行过滤和防堵,避免机要信息泄露,避免对社会产生危害,对国家造成巨大损失。
从社会教育和意识形态的角度来说,网络上的不健康内容会对社会的稳定和人类的发展造成阻碍,必须对其进行控制。
可见,网络安全的内涵与其保护的信息对象有关,但本质都是在信息的安全期内保证在网络上传输或静态存放时允许授权用户访问,而不被未授权用户非法访问。网络安全涉及网络的机密性、完整性、可用性、可靠性、可信性、可控性、不可否认性。网络安全除了以上这些技术问题之外,还涉及组织和法律方面的问题。显然,网络安全涵盖的内容很多,并不像初次接触网络安全技术的人想象得那么简单。
- 网络空间安全
进入21世纪,伴随互联网技术的迅速发展和普及应用,逐渐将物理世界、数字世界及人类社会融合形成了复杂的网络空间。网络空间成为继陆、海、空、天之后的第五大人类生存空间。网络空间安全(Cyberspace Security)的极端重要性开始上升到国家安全的高度。在国家安全这一个战略高度上,网络安全的概念有了更为广阔的外延,仅仅从机密性、完整性和可用性等技术角度去理解已经远远不够,而是要关注网络安全对国家政治、经济、文化、军事等全方位的影响。
网络空间(Cyberspace)的概念是伴随着互联网的成长而逐步产生、发展形成的。关于网络空间这一概念的起源有多种描述。一种说法是,科幻小说家William Gibson在1982年发表的短篇小说Burning Chrome中,首次使用了"Cyberspace"一词。在William Gibson的笔下,Cyberspace是一个由"矩阵"构成的交感幻觉空间,人们可以通过在神经中植入电极将自己的意识接入到这个空间并进行互动。William Gibson进一步想象,Cyberspace内不仅仅有人类,还会有人工智能存在。在互联网产业蓬勃发展的20世纪90年代,人们的许多新兴理念都可以借助Cyberspace的概念予以表达。例如,1990年6月,John Perry Barlow在创建电子前哨基金会(EFF)的宣言《罪与罚》中描述道:"通过数以百万计的通信线路,人们相互连线在一起,形成一张跨越了广阔空间并充满着电子、微波、磁场和光脉冲的网络------也就是科幻小说家William Gibson笔下的Cyberspace"。自此,有观点认为,"相比万维网、信息高速公路,Cyberspace更准确地描述了互联网真正的样子------一个全新的地域"。在这个时期,Cyberspace是崇尚自由、充满理想的第一代互联网人与工程师们喜欢使用的概念,其更多地反映了技术专家对人类社会虚拟乌托邦的理想。随着互联网的进一步普及,计算机病毒开始出现和扩散,原有意义上以奉行网络自由主义精神、展示高超技能的黑客们越来越多地与网络犯罪联系在一起,使Cyberspace的"技术自由"开始淡化。与此同时,许多国家开始注意到Cyberspace这个人造空间对社会发展和国家利益的影响,开始把Cyberspace纳入管控范围,并出现在官方文档中。
"Cyberspace"一词最早于2008年1月出现在美国布什总统签署的两份与网络安全相关的官方文件中,即第54号国家安全政策令和第23号国土安全令(NSPD-54/HSPD-23)。文件中对其描述为:"网络空间是由众多相互依赖的信息技术(IT)基础设施网络组成的,包括互联网、电信网、计算机系统以及用于关键工业部门的嵌入式处理器和控制器。常见的用法还指信息及人与人之间相互构成的虚拟环境。"这一描述首次明确指出,Cyberspace的范围不仅限于互联网或计算机网络,还涵盖了各种军事网络和工业网络,但仅包含信息与通信技术设施。
我国对Cyberspace的认识已有多年。1991年9月,《科学美国人》杂志封面上同时出现了"Network"和"Cyberspace"两个词。我国著名科学家钱学森先生敏锐地察觉到其背后可能蕴含的重要意义,并提议安排专人跟踪研究Cyberspace及其相关问题。自此,Cyberspace被我国专家学者纳入研究视野,并一直习惯将其翻译为"网络空间"。目前,网络空间正全面改变着人们的生产生活方式,深刻影响着人类社会历史发展进程。网络技术突破了时空限制,拓展了传播范围,创新了传播手段,引发了数字社会的根本性变革,让世界变成了地球村。2016年,在我国发布的《国家网络空间安全战略》文件中指出:"伴随信息革命的飞速发展,由互联网、通信网、计算机系统、自动化控制系统、数字设备以及其承载的应用、服务和数据等组成的网络空间,正在全面改变人们的生产生活方式,深刻影响人类社会历史发展进程。"这一描述明确指出了网络空间的四个基本要素:设施(网络空间载体)、数据(网络空间资源)、用户(网络活动主体)和操作(网络活动形式)。由此可以认为,网络空间是信息时代人们赖以生存的信息环境,是所有信息系统的集合。
所谓网络空间安全,就是针对网络设施、数据、用户和操作等要素,研究其安全服务和安全机制,制定安全策略,实施安全技术和措施,确保网络空间的机密性、完整性、可用性等基本属性,以及可靠性、可信性、可控性和不可否认性。网络空间安全与政治安全、经济安全、文化安全、社会安全和军事安全等领域密切相关,已经成为当前亟待研究解决的最复杂、最现实、最严峻的安全问题之一。
1.2、网络安全的属性
网络安全作为一门综合性学科,其内涵十分丰富,外延不断扩展,不同的人对网络安全有着不同的理解及认识。但是,从信息的安全获取、处理和应用这一本质要求出发,人们对网络安全的基本需求就是要保证网络上信息存储和传输的安全性。根据网络安全的定义,网络安全的主要目标是保护网络信息系统,使其远离安全危险、不受安全威胁、不出安全事故。从网络安全技术的角度来说,通常将网络系统的机密性(Confidentiality)、完整性(Integrity)和可用性(Availability)简称为CIA。这是在部署、维护和评估一个安全系统时所要关注的最基本属性。随着网络安全技术的发展,后来又有文献将"可靠性""
- 机密性
机密性是一种古已有之的基本需要,有时也被称为保密性。它指的是网络通信中的信息不被未经授权的人员获取与使用,仅允许授权用户访问的特性。机密性是一种面向信息的安全属性,它建立在可靠性和可用性的基础之上,是保障网络信息系统安全的基本要求。在网络系统的不同层次上,存在着不同的机密性需求及相应的防范措施。在物理层,主要采用电磁屏蔽技术、干扰及跳频技术来防止电磁辐射造成的信息外泄;在网络层、传输层和应用层,则主要采取加密、访问控制、审计等方法来保障机密性。
- 完整性
完整性是指信息不被偶然或蓄意删除、修改、伪造、乱序、重放、插入等破坏的特性。只有获得许可的用户才能修改实体或进程,并且能够判断实体或进程是否已被篡改。也就是说,信息的内容不能被未经授权的第三方修改;数据在存储或传输过程中不被修改、破坏,不出现数据包的丢失、乱序等情况。完整性是一种面向信息的安全属性,它要求保持信息的原始状态,即信息的正确生成、正确存储和正确传输。
完整性与机密性不同,机密性要求信息不被泄露给未经授权的人,而完整性则要求信息不被各种原因破坏。影响信息完整性的主要因素包括设备故障、误码、人为攻击、恶意代码等。
- 可用性
网络可用性是指网络信息系统可被授权实体访问并按要求使用的特性,用来衡量网络信息系统提供持续服务的能力。与其相关的参数包括链路长度(km)、双向全程故障(次/年)、无故障工作时间(MTBF,单位为h)、失效率(F,单位为%),以及可用率(A,单位为%)。可用率是指一个网络系统或设备在一个给定的时间间隔内可操作的总时间与该时间间隔的比值,计算公式为:A=(网络总运行时间-网络无效时间)/网络总运行时间。
实际上,可用率也可以表示为"网络有效时间/网络总运行时间",或者"1-(网络无效时间/网络总运行时间)"。例如,PSTN交换系统要求有99.999%的可用性,这意味着每年可以有4分钟的停工时间。
- 可靠性
网络的可靠性也称为可靠度,是指网络系统能够在规定的条件下和规定的时间内完成预定功能的能力,它包括网络结构的安全性、适用性和耐久性。当以概率来度量时,称为可靠度。可靠性涵盖网络硬件的可靠性、软件的可靠性、通信系统的可靠性、人员可靠性和环境可靠性等方面,主要参数为无故障运行时间、环境条件和规定的功能。人为攻击或自然破坏造成的网络不稳定性属于网络安全问题。可靠度函数可用关于时间t的函数表示,具体为:

式中,t为规定的时间;T表示网络系统或设备的寿命。根据可靠度的定义可知,R(t)描述了网络系统或设备在(0, t)时间内完好的概率,且R(0)=1, R(+∞)=0。
- 可信性
可信性是指网络信息系统的访问者与其声称的身份是一致的,以保证数据信息的真实状态是可以鉴别的,即没有被篡改(完整性)、身份是真实可信的,有时也称为可鉴别性。通常可以通过认证来验证其可信性,以确保信息的发送者和接收者都能证实网络通信过程中所涉及的另一方,确信通信的另一方确实具有其所声称的身份。在人类面对面通信中,可以通过视觉很轻松地解决身份验证问题,但当通信实体在无法看到对方的媒体上交换信息时,认证就变得复杂了。例如,如果你收到一封电子邮件,其中所包含的信息声称这封邮件是你的朋友发送的,或者是你的上级领导的通知或函件。那么,你如何才能确信该邮件是可信的呢?这时就需要认证技术来帮助解决。认证是网络通信系统安全的基础。
- 可控性
可控性是指网络对信息的传播应具有控制能力,确保仅允许拥有适当访问权限的实体以定义明确的方式,对访问权限内的资源进行访问。
- 不可否认性
不可否认性也称作不可抵赖性,即在网络信息系统的信息交互过程中,所有参与者都不可能否认或抵赖曾经完成的操作。不可否认性是对面向通信双方(人、实体或进程)的信息真实统一的安全要求,它包括收、发双方的均不可抵赖。不可否认性涉及两个方面:一是源节点发送证明,它是提供给信息接收者的证据,使发送者谎称未发送过这些信息或者否认其内容的企图不能得逞;二是交付证明,它是提供给信息发送者的证据,使接收者谎称未接收过这些信息或者否认其内容的企图不能得逞。
1.3、网络安全是一个系统
由上述对网络安全及其安全属性的讨论可知,网络安全的内涵主要集中在对网络通信和网络资源的保护方面。实际上,网络安全不仅涉及安全防护,还包括入侵检测、应急响应以及数据灾难备份与恢复等内容。在许多情况下,作为对攻击的响应,网络管理员需要设置附加的保护机制和措施。同时,网络攻击技术也应包含在网络安全研究的范畴之中。只有对网络攻击技术有比较深入的了解,才能做好网络安全工作。因此,ITU-T X.800标准认为:网络安全包含了安全攻击(Security Attack)、安全服务(Security Service)和安全机制(SecurityMechanism)等方面,并在逻辑上分别进行了定义。安全攻击是指损害机构所拥有信息安全的任何行为;安全服务是指采用一种或多种安全机制以抵御安全攻击、提高机 构的数据处理系统安全和信息传输安全性的服务;安全机制是指用于保护网络免受攻击、破坏,实现安全服务或者恢复系统的技术手段。在这种意义上,网络安全是通过循环往复的保护、攻击、检测和响应而实现的。
由此看来,网络安全不仅要研究安全防护技术,还要研究网络攻击技术以及用于防御这些攻击的对策。从网络系统安全的角度考虑,网络安全攻防技术包括网络防护技术和网络攻击技术两大类,如图所示。

对于不同环境和应用中的网络安全,还可以将其划分为以下几个方面。
- 运行系统安全,即保证数据处理和传输系统的安全。它侧重于确保系统正常运行,避免因系统的崩溃和损坏而对系统存储、处理和传输的数据造成破坏和损失;同时,防止因电磁泄漏导致的信息泄露,避免干扰他人或受到他人干扰。
- 网络系统信息的安全,包括用户口令认证、用户存取权限控制、数据存取权限、访问方式控制、安全审计、安全问题跟踪、恶意代码防范和数据加密等。
- 网络信息的健康性,包括信息过滤等,主要指防止和控制非法、不健康的网络内容信息的自由传输,抑制公用网络信息传输失控。
- 网络内容信息的安全,主要侧重于保护网络内容信息的机密性、真实性(认证)和完整性。避免攻击者利用系统漏洞实施篡改、泄露、窃听、冒充、欺骗等破坏行为。
根据以上对网络安全定义的讨论可知,网络安全是一个系统。它并非仅仅是防火墙、入侵检测、虚拟专用网,也不是加密、认证、授权以及审计。安全也不是网络设备公司及其任何合作伙伴或竞争对手能够提供的任何产品。尽管这些产品和技术在网络安全中扮演着重要角色,但网络安全的内涵更为丰富。网络安全起始于安全策略,还涵盖了必须遵守这些安全策略的人以及实施这些策略的人。那么,对于网络安全来说,什么是系统呢?网络安全系统是指通过相互协作的方式为信息资产提供安全保障的全体网络产品、理论与技术、策略以及最佳实践的集合。从狭义的角度看,网络安全是指防护网络系统和信息资源不受自然和人为有害因素的威胁和危害。从广义角度看,凡是与网络上信息的机密性、完整性、可用性、可靠性、可信性、可控性、不可否认性等相关的理论、技术和产品都属于网络安全的研究范畴。从社会学的角度看,网络安全是一个系统工程,涵盖网络安全战略布局、安全文化、人才培养、产业发展等方面,需要通过网络安全工程解决方案,才能全面保障网络安全。
2、网络安全体系
网络安全体系是一种全面保障网络系统安全的最高抽象,是提高安全保障能力的最高解决方案。网络安全体系的主要特征包括整体性、协同性、过程性、全面性和适应性。
2.1、网络安全体系结构
为了能够有效地对网络拥有机构所需要的安全需求做出科学分析和评价,并正确选择安全策略及安全产品,基于开放系统互连(OSI)参考模型的7层协议,ISO制订了国际标准ISO 7498-2: 1989《信息处理系统 开放系统互连基本参考模型 第2部分:安全体系结构》。该标准描述了OSI参考模型,为协调开发现有的与未来的系统互连标 准建立了一个框架。该安全体系结构(见下图)定义了必需的5类安全服务,包括身份认证、访问控制、数据机密性、数据完整性和不可否认性;8种特定的安全机制,包括数据加密、数字签名、访问控制、数据完整性、认证交换、通信流量填充、路由控制和公证机制,以及它们在系统上的合理部署及关系配置。

ISO颁布的安全体系结构包含了安全机制、安全服务、OSI参考模型,并明确了三者之间的逻辑关系。
- 安全机制:安全机制为实现安全服务提供技术手段,用于保护系统免受攻击、侦听、破坏及恢复系统等。
- 安全服务:ISO 7498-2: 1989给出的5类安全服务虽然不能涵盖所有常见的安全需求,但具有代表性意义,其目的是建立一种"安全需求→安全服务→安全机制→安全产品"的链式逻辑,以便对网络安全形成整体框架。利用一种或多种安全机制阻止安全攻击,增强数据处理系统和信息传输的安全性。
- OSI参考模型:开放系统互连参考模型,即常见的7层网络协议体系结构。
安全服务可理解为安全需求的一种表示,而安全机制是能够提供一种或多种安全服务的、与具体的实现方式无关且一般不能再细分的安全技术的抽象表示。安全机制一般是"原子"级的,各项机制之间很少出现交叉。安全产品则是一种或多种安全机制的具体实现。
1995年,ISO 7498-2: 1989被等同采用为我国的国家推荐标准GB/T 9387.2---1995《信息处理系统 开放系统互连 基本参考模型 第2部分:安全体系结构》,用于保证开放系统进程与进程之间远距离安全交换信息。
2.2、网络安全模型
网络安全机制依赖安全模型。安全模型用于解决信息系统安全的基本问题,用于精确和形式地描述信息系统的安全特征,以及用于解释与系统安全相关行为的理由。安全模型实质上就是访问控制模型,其重要性在于它决定了访问的规则。目前已有许多网络安全模型,可以从不同角度进行分类,如下表所示。其中,贝尔-拉普拉(BLP)安全模型、毕巴(Biba)安全模型以及克拉克-威尔逊(Clark-Wilson)安全模型是形式化安全模型的典型代表。它们都使用严格的数学语言和逻辑来定义和验证网络系统的安全属性。

2.2.1、BLP安全模型
BLP安全模型是Bell-LaPadula多级安全模型的简称,是第一个基于数学的访问控制模型,适用于多级安全系统,即对用户和数据做相应的安全标记的系统。BLP安全模型由Bell和LaPadula在1973年提出,Denning于1975年针对BLP模型提出了一个基于严格证明的数学模型。该模型不仅影响了许多其他模型的发展,甚至在很大程度上影响了计算机安全计算的发展。
BLP安全模型把密级由低到高分为公开级、秘密级、机密级和绝密级,不同的密级包含不同的信息,以确保每一密级的信息仅能让那些具有高于或等于该级别权限的人使用。BLP安全模型的简单安全特性规则是:特定安全级别的主体,只能向下读,不能向上读。特性规则是:特定安全级别的主体只能向上写,不能向下写。这种分级的安全标签实现了信息的单向流通,合法的信息流从低安全级别主体/客体流向高安全级别的主体/客体,逆向的信息流动是被禁止的。注意,多级安全模型访问数据不是受限于数据的密级,而是受限于主体已经获得了对哪些数据的访问权限。
BLP安全模型结合了强制访问控制和自主访问控制。所谓自主访问控制,是指对某个客体具有拥有权的主体能够将对该客体的访问权限自主地授予其他主体,并可在随后的任何时刻收回权限。例如,用户在计算机中生成了某个文件,可以通过文件属性对话框定义其他用户对该文件的权限,如下图所示。

自主访问控制是保护计算机系统资源不被非授权访问的有效手段。但这种控制的缺点在于其自主性,虽然为用户提供了极大的灵活性,但也相应地削弱了安全性。因此,对于高安全等级的信息系统,必须采取更为强有力的强制访问控制措施。
2.2.3、Biba安全模型
Biba安全模型是一个专门针对完整性安全需求的模型。1977年,Biba在对系统的完整性进行深入研究后提出了三种策略,其中一种是Bell-LaPadula模型在数学上的对偶。Biba安全模型隐含地融入了"信任"这一概念。事实上,用于衡量完整性等级的术语是"可信度"。例如,如果一个严格进程所处的等级比某个客体的等级高,则可以认为该进程比该客体更"可信"。
Biba安全模型使用线性的完整性等级来标识主体和客体,其范围规则如下:
- 当主体的完整性级别低于客体的完整性级别时,主体可以读取客体。
- 当主体的完整性级别高于客体的完整性级别时,主体可以写入客体。
也就是说,Biba安全模型的简单安全特性规则是:主体不能修改比自身完整性级别低的客体(主体不能向下读)。特性规则是:主体不能修改比自身完整性级别高的客体(主体不能向上写)。调用特性是:主体不能调用比自身完整性级别高的主体。
2.2.3、Clark-Wilson安全模型
Clark-Wilson安全模型是由David Clark和David Wilson于1987年开发的一种完整性模型,它以事务处理为基本操作,比较适用于商业系统的建模。在商业系统中,最为关键的安全问题是系统数据的完整性和对这些数据操作的完整性。Clark-Wilson安全模型将从属于其完整性控制的数据定义为约束型数据项,而不从属于其完整性控制的数据定义为非约束型数据项。同时,该模型还定义了两组过程:一组是完整性验证过程,用于检验约束型数据项是否符合完整性约束;另一组是转换过程,将系统数据从一个有效状态转换为另一个有效状态。通过一系列证明规则和实施规则来确保系统的完整性。
2.3、网络安全策略及其技术
网络安全风险永远不可能完全消除,因此必须加强防护与管理。对于一个网络拥有机构来说,网络安全策略至关重要。那么,什么是安全策略(Policy)呢?安全策略是指在一个特定网络环境中,为保证提供一定级别的安全保护所必须遵守的一系列规则。这些规则主要用于:如何配置、管理和控制系统;约束用户在正常环境下应如何使用网络资源;当网络环境发生异常行为时,应如何响应与恢复。一种合理的网络安全策略不但要把一个单位的网络、计算机系统安全与使用者的行为、信息价值的评估有机结合起来,而且要恰当地采取相应的网络安全防御技术来对抗网络攻击。
2.3.1、网络安全策略等级
随着网络技术的不断发展,全球信息化已成为人类发展的必然趋势。但由于网络具有连接形式多样性、终端分布不均匀性,以及网络的开放性、互联性等特点,网络容易受到黑客、骇客、恶意软件和其他不轨手段的攻击,所以网络信息的安全和保密是一个至关重要的问题。对于军用的自动化指挥网络、金融、银行等传输敏感数据的网络系统而言,其网络信息的安全和保密更为重要。如果网络没有足够强的安全措施,不仅会变得无用,甚至还会危及社会安全。无论是局域网还是广域网,都存在着自然和人为等诸多因素造成的脆弱性和潜在威胁。因此,安全策略应能够全方位、有层次地针对各种不同的威胁和脆弱性,采取不同的安全保护措施。只有这样,才能确保网络信息的机密性、完整性和可用性。
网络安全策略的关键是如何保护企业内部网络及其信息,通常包括总体策略和具体规则两部分内容。总体策略用于阐述安全策略的总体思想,而具体规则用于明确说明什么是允许的,什么是禁止的。通常将安全策略划分为以下4个等级。
- 一切都是禁止的。这种策略等级是最高保护策略,其实施方法是切断内部网络与外部网络的连接。采用这种策略虽能有效防止内部网络遭受外部攻击,但同时也隔绝了内部网络与外网的连接,通常情况下,这是一种不可取的策略。
- 一切未被允许的都是禁止的。这种策略开放(允许)有限的资源,对于未明确允许的资源禁止访问。
- 一切未被禁止的都是允许的。这种策略只禁止对部分资源的访问,对于未明确禁止的资源都允许访问。
- 一切都是允许的。这是一种没有任何保护的策略,即把内部网络的全部资源完全对外开放,不加任何保护。通常情况下,这种策略也是不可取的。
2.3.2、网络安全策略及其相关技术
网络安全策略及其技术致力于解决如何有效进行访问控制,以及如何保证网络数据安全性等问题,它涵盖了物理安全技术、网络结构安全技术、系统安全技术和管理安全技术,以及其他一些安全服务和安全机制等,涉及的内容较为宽泛。在此,主要讨论网络系统的一些实用性安全策略及技术。
- 1)物理安全
网络的物理安全是网络安全的基础,指的是在物理上所采取的安全保护措施及技术。物理安全主要涉及网络连接的规则、运行环境的保护机制与方式,其目的是:保护计算机系统、网络服务器、路由器、交换机等硬件实体和通信链路免受自然灾害、人为破坏、操作失误和搭线攻击;确保网络设备有一个良好的电磁兼容工作环境;建立完备的安全管理制度,防止各种偷窃、破坏活动的发生。 - 2)安全访问控制
访问控制是网络安全防御和保护的核心策略,包括操作系统的安全控制、网络互联设备的安全控制、网络的安全防护等,目的是保证网络资源不被非法使用和非授权访问。访问控制规定了主体对客体访问的限制,并在身份识别的基础上,根据身份对提出资源访问的请求加以限制。网络访问控制是对网络信息系统资源进行保护的重要措施,也是计算机系统中最重要和最基础的安全机制。实现访问控制的技术、方法虽然比较多,但主要的还是身份识别和防火墙技术。身份识别是用户接入访问网络的关键环节。采用用户名(或用户账号)、口令是所有计算机系统进行访问控制的基本形式。防火墙技术是建立在现代网络通信技术和信息安全技术基础上的网络系统的安全检测、监控技术。一般情况下,互联网的第一道防线就是防火墙。 - 3)网络加密/解密
网络加密/解密技术包含了文件加密、口令加密和传输加密及其解密技术等,目的是保护网络数据、文件、口令和控制信息以及网络数据的机密性。网络加密的常用方法为链路加密、节点对节点加密、端到端加密。链路加密的目的是保护网络节点之间的链路信息安全;节点对节点加密的目的是对源节点到目的节点之间的传输链路提供加密保护;端到端加密的目的是对源端用户到目的端用户的数据提供加密保护。用户可根据网络情况酌情选择这几种加密方式,一般不采用节点对节点加密方式。
密码技术作为保障网络安全的核心手段,是构建网络信任的基石。但是绝对安全的密码体系是不存在的,当前几乎所有实用的密码体制在理论上都是可被破译的,因此人们关心的是在计算上不可破译的密码体制。如果一个密码体制中的密码无法被现有计算机资源所破译,则认为这一密码体制在计算上是安全的。 - 4)网络安全管理
为了抵御网络攻击、保障网络安全,目前几乎所有的网络系统都配备了各式各样的网络安全设施,如加密设备、防火墙、入侵检测系统、入侵防御系统、漏洞扫描工具、防杀病毒软件、VPN、认证系统和审计系统等。安全管理策略是网络安全的生命,加强网络的安全管理、制定有关规章制度,对于确保网络的稳定、可靠运行至关重要。
网络安全管理涵盖以下几个方面:确定安全管理等级和范围;制定网络操作规程和机房出入管理制度;制定网络维护、应急响应、灾难恢复与备份措施等。
网络安全最终将是一个折中的方案,需要在风险与防护成本之间进行权衡。实现安全强度与成本的平衡,需考虑以下因素:用户的方便程度;管理的复杂性;对现有系统的影响;对不同平台的支持。
2.3.3、安全策略的制定
网络安全的相对性使得安全定义变得复杂。例如,某公司为保护商业机密,禁止外部人员访问其计算机系统;而一个提供公开信息的网站,可能将安全定义为允许数据访问但禁止外部修改;还有一些单位注重通信机密性,将安全定义为只有发送者和真正接收者才能获取和阅读信息。因此,实现安全网络系统,必须制定网络安全策略。安全策略不是规定如何实现保护,而是明确、无歧义地阐明保护的具体内容及采用的安全技术。
制定网络安全策略是一项复杂工作,涉及网络设施、计算机系统和人的行为等多方面因素。例如,无线网络信号可能在单位外被接收、移动存储设备(如U盘)可能被带出单位。同时,单位需正确认识自身信息的价值,因为信息价值往往难以评估。例如,包含员工档案、工作时间和薪资等级的数据库,若被竞争对手获取,可能被用于引诱员工跳槽或做其他不可预见的事。因此,制定网络安全策略时,需明确保护重点,并在安全性和易用性之间进行权衡。通常,制定网络安全策略时需考虑以下方面:
- 数据机密性。数据机密性是指要防止未授权的数据访问(如窃听、数据包拦截、密钥破解等),即数据是否能够防止非授权访问。
- 数据可用性。数据可用性是指要防止服务受到破坏,即对于合法的使用是否能够保持数据的可访问性。
- 数据完整性。数据完整性是指要防止数据被篡改,即到达接收方的数据是否与发送出来的数据完全相同。
- 数据私密性。数据私密性是指发送者保持其匿名身份的能力,即发送者的身份是否会被泄露出去。
2.3.4、安全责任与控制
实现安全网络的单位必须考虑如何正确地规定、分派或控制对数据信息的安全责任。信息的安全责任通常包含以下两个方面:
- 审计。审计是指如何保留审计踪迹,即哪个部门对哪类数据负有责任,以及如何保存各个部门对数据进行访问和修改的记录。目前,围绕网络安全审计已经研发了许多解决方案及新产品,如上网行为监控、信息过滤及计算机取证等。
- 授权。授权是指对每个信息项的责任,以及如何把这样的责任委派给他人,即由谁来负责决定将信息存储在哪里,以及负责人如何审批访问和修改权限。
审计和授权的关键在于控制。一个单位必须对信息的服务进行控制,而控制的关键是认证,即如何确定身份。例如,假定一个单位详细制定了一套给予员工比普通来访者使用更高权限的授权策略,那么除非该单位具有一套区分本单位员工和普通来访者的认证机制,否则其授权策略是没有意义的。认证对象除了人之外,还应扩展到计算机、设备和应用软件。
2.4、网络协议安全性分析
网络协议安全性分析不但有助于理解网络协议的工作原理,而且可以用于识别范围广泛的网络行为。运用网络协议分析软件(如WireShark、Sniffer Pro等),查看、分析协议与协议动作、协议数据单元格式、协议封装及交互过程,有助于理解TCP/IP实现数据传送的机制,提升网络协议安全性能。
2.4.1、利用WireShark进行网络协议分析
用于捕获、显示、分析对等进程之间交换协议数据单元(PDU)的网络协议分析工具较多。WireShark是一种被广泛使用的基于流量镜像的网络协议分析软件,它的前身为著名的Ethereal。流量镜像主要侧重于网络协议分析,它把网络设备的某个端口(链路)流量镜像到协议分析器,通过各层协议解码对网络流量进行监测。
WireShark是一个开源的软件,支持UNIX、Linux和Windows平台,仍在持续推出新版本。它提供了对TCP、UDP、SMB、Telnet和FTP等常用协议的支持。以下简单介绍在Windows环境下利用WireShark进行网络协议分析的方法。
WireShark具有设计精良的图形用户界面(GUI)和众多分类信息与过滤选项,随着版本的更新,其功能及用户界面也在不断改进。一般说来,安装成功后即可捕获在网络上传送的数据包,并分析其内容。通过查看每一数据包的流向与内容,可检查网络的工作情况,或发现网络程序的缺陷。
2.4.2、WireShark的安装与使用
WireShark需要在网络环境下运行。首先在客户端下载WireShark(可从官网下载最新版本),然后按照默认值安装WireShark。安装完成后,双击桌面上的WireShark图标即可运行。图标即可运行。
1)WireShark的主窗口
成功启动WireShark后,其窗口界面如图所示。

与大多数图形用户界面程序一样,WireShark窗口由以下几部分组成:
- 主菜单:用于开始操作,其中包括文件、编辑、视图、跳转、捕获、分析、统计、电话、无线、工具、帮助等子菜单。
- 主工具栏:提供快速访问菜单中经常使用的项目功能。
- 过滤器工具栏(Filter Toolbar):提供处理当前显示过滤的方法。
- 数据包列表(Packet List):用于显示打开文件的每个包的摘要。单击面板中的单独条目,数据包的其他情况将会显示在另外两个面板中。
- 数据包细节(Packet Details):用于显示在PacketList中所选数据包的更多详情。
- 数据包字节(Packet Bytes):用于显示在PacketList中所选数据包的内容,以及在Packet Details中高亮显示的字段。
- 状态栏:显示当前程序状态以及所捕捉数据的更多详情。
2)WireShark的三窗格界面功能
在WireShark的图形用户界面(GUI)中,通过PacketList、Packet Details和Packet Bytes三个窗格界面可以直观地查看捕获的数据包。
数据包列表框(即顶层窗格)如下图所示,显示了交互过程中传送的每一个数据包的摘要信息,如序号(No)、时间(Time)、源地址(Source)、目的地址(Destination)、协议类型(Protocol)、数据包长度(Length)及简要信息(Info)等。如果选中其中一行,选中的那一行会以蓝色底色高亮度显示,对应的数据包信息就会显示在数据包细节框和数据包字节框中。

数据包细节框(协议树)如下图所示,它以树形结构显示在数据包列表框中被选中的数据包的协议和字段内容。协议树可以展开和收起。单击图中每行前面的加号标志,协议树就会展开,将会看到每种协议的详细信息,如主机的MAC地址(Ethernet II)、IP地址、TCP端口号等,以及协议的具体内容。当在顶层窗口选中一个数据包时,中间的窗口就显示了该数据包的层次结构及各层封装的报头字段值。若从上到下浏览中间窗格的各行,可以看到TCP建立连接时所经历的协议栈。例如,先从以太网到网际互联层的IP,然后到传输层的TCP,再到应用层的HTTP。

数据包字节框如图所示。WireShark通常使用哈希方式显示协议数据包在物理层传送时的最终形式。在图1.8中,左边显示协议数据包偏移量,中间使用十六进制数显示协议包,右边显示代码字节对应的ASCII字符,或是没有适当的字符。当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便地对各种协议的数据包进行查看和分析了。

3)设置捕获条件
在捕捉数据包之前,首先要选择正确的捕获接口,然后再对捕获条件进行设置。一些常用设置项的含义如下:
- Interface:选择捕获接口;
- Capture packets in promiscuous mode:表示是否打开混杂模式,打开即表示捕获所有的报文;
- Limit each packet:表示限制每个报文的大小,默认情况下不限制;
- Capture Filter:过滤器,只抓取满足过滤规则的数据包;
- Capture Files:保存捕获数据包的文件名以及存储位置。
确认选择后,单击"Start"按钮开始进行抓包,并弹出统计所捕获到的报文各占百分比的小窗口。单击"Stop"按钮即可停止抓包。
如果不想每次打开WireShark都重复上述的"CaptureOption"设置,可以在菜单栏中依次选择"Edit→Preferences→Capture"和"Name Resolution"选项,预先做好网卡和其他选项的设置。做好预设之后,每次打开WireShark时,直接单击工具栏的"Start"按钮,即可开始捕获数据包。
如果有两个以上的网卡,要对采集数据的网卡进行设置后才能捕获在该网卡上收发的数据包,进行数据包收集和分析。
4)设置WireShark的过滤器
在利用WireShark捕获数据包之前,应该为其设置相应的 过滤器,以便捕获所需的数据包。抓包过滤器使用的是libpcap过滤语言,在tcpdump手册中有详细的解释。捕获过滤语句的基本格式是:
[not]primitive[and|or|[xnot]primitive...]
例如:

也可以设置显示过滤器,用来显示感兴趣的协议包。可以根据协议、是否存在某个字段、字段值、字段值之间的比较等进行显示过滤。逻辑运算符and(&&)、or(||)、not(!)可以用于连接不同的过滤条件。例如:

5)WireShark捕获数据包的方法
首先启动WireShark应用程序,单击菜单栏上的"Capture"选项,弹出下拉菜单,选择下拉菜单中的"Options"选项,"Wireshark: Capture Options"选项界面如图1.9所示。可以在这里设置WireShark的一些选项,如网卡接口、捕获过滤器等。
其中,重要的是恰当设置捕获过滤器。单击"Capture"选项,选择"Capture Filters..."菜单项,打开"Wireshark:Capture Filter-Profile: Default"对话框,为WireShark添加一个过滤器,如图所示。注意在WireShark中添加过滤器时,需要为该过滤器指定名字及规则。


例如,要在主机192.168.0.3和主机192.168.0.11之间创建过滤器,可以在"Filter name"编辑框内输入过滤器名字"lhj",在"Filter string"编辑框内输入过滤规则"host192.168.0.3 and 192.168.0.11",然后单击"OK"按钮即可。
选择要捕获数据报的网卡接口,如选择以太网卡,其他选项使用默认值。选项设置好之后,单击"Start"按钮,WireShark便进入捕获网络协议包状态。
在WireShark协议包捕获过程中,有各种协议的统计提示,包括各种协议百分比、运行时间等信息。若要停止捕获,单击界面上的"Stop"按钮,即可结束此次抓包过程。抓包过程结束,转到WireShark主界面,显示此次捕获的所有数据包的信息。
2.4.3、TCP分析示例
WireShark是一种开源、免费、侧重于网络协议分析的软件。在此利用WireShark分析TCP通过三次握手连接建立、连接释放的通信机制。
首先,启用WireShark,在IP地址为202.119.167.83的机器上打开IE浏览器,输入202.119.160.20的网址进入主页面,登录Web邮箱。
然后,打开WireShark的主界面,可以发现IP地址为202.119.167.83的客户机向邮件服务器202.119.160.20提出连接请求,TCP三次握手的实现过程如图所示。

编号为30的数据包由202.119.167.83向202.119.160.20发送带有SYN标识的连接请求(202.119.167.83202.119.160.20 TCP 74 49870 > httpSYNSeq=0Win=8192 Len=0 MSS=1460 WS=4 SACK_PERM=1TSval=107781 TSecr=0);
编号为31的数据包由202.119.160.20返回给202.119.167.83一个带有SYN标识的连接确认(202.119.160.20 202.119.167.83 TCP 74 http >49870SYN, ACKSeq=0 Ack=1 Win=5792 Len=0MSS=1460 SACK_PERM=1 TSval=63645655TSecr=107781 WS=128);
当202.119.167.83收到连接确认后,向202.119.160.20发送一个连接确认数据包(202.119.167.83 202.119.160.20TCP 66 49870 > httpACKSeq=1 Ack=1 Win=66608Len=0 TSval=107781 TSecr=63645655)。
这样经过三次握手,一个完整的TCP连接就建立起来了。也就是说,客户端利用HTTP服务器构造的TCP数据流,通过Web浏览器发起HTTP连接请求,来进行TCP三次握手的实现。在图1.11中可以清晰地看到协议的名称、端口号、连接的标识,从而可以直观地了解TCP三次握手的实现过程。
在建立连接后,TCP也有一个释放连接的过程,如图所示。

先由202.119.160.20向202.119.167.83发送带有FIN标识的释放连接请求报文段(202.119.160.20 202.119.167.83TCP 66 http > 49870FIN, ACKSeq=145 Ack=619Win=7040 Len=0 TSval=63645657 TSecr=107781);202.119.167.83收到这个FIN段后,返回带有ACK标识的确认段(202.119.167.83 202.119.160.20 TCP 66 49870> httpACKSeq=619 Ack=146 Win=66464 Len=0TSval=107781 TSecr=63645657)。
另一个方向的TCP连接的释放过程也一样。
先由202.119.167.83向202.119.160.20发送带有FIN标识的释放连接请求报文段(202.119.167.83 202.119.160.20TCP 66 49870 > httpFIN, ACKSeq=619 Ack=146Win=66464 Len=0 TSval=107781TSecr=63645657);202.119.160.20收到这个FIN段后,返回带有ACK标识的确认段(202.119.160.20202.119.167.83 TCP 66 http > 49870ACKSeq=146Ack=620 Win=7040 Len=0 TSval=63645657TSecr=107781)。
双方都收到确认后完成两个方向的连接释放,整个TCP连接被成功释放。
利用WireShark可以详细地了解从网络中捕获的服务器与客户端的详细信息,如图所示。

在上图中的中间窗口,通过以下4个方面给出了网络运行协议的简要信息:
- Frame 32 66bytes on wire(528bits),66bytescaptured(528bits);
- Ethernet II, Src: HonHaiPr_95: f4: 03(00: 1c: 25:95: f4: 03),Dst: Cisco_3d: 19: ff(00: 1f: 6c: 3d: 19:ff);
- Internet Protocol Version 4, Src: 202.119.167.83(202.119.167.83),Dst: 202.119.160.20(202.119.160.20);
- Transmission Control Protocol, Src Port: 49870(49870),Dst Port: http(80),Seq: 0, Len: 0。
此外,点开协议树中相应的"+"号,可以看到详细、具体的协议信息。例如,Transmission Control Protocol标识了源地址和目的地址的端口号,Checksum是这个TCP段的校验和等。在该示例中可以看到,TCP连接所用的连接的源端口是49870,目的端口是80,相对序号是1, TCP报头长度是32字节;Flags字段中的FIN设置为0x10,源地址窗口大小为16652字节;Checksum是这个TCP段的校验和,为正确。
WireShark也可以用来分析每一帧中的MAC地址、IPv4报头、ICMP信息以及相关协议等。另外,WireShark也是供网络管理人员灵活监控网络的一种管理工具,即网络协议分析仅仅是该软件的众多功能之一。监视网络活动、解码和重构捕获数据、会话重新组合以及探测连接攻击等均是该款软件的特色,因此该软件也可作为学习和管理计算机网络的常用工具。