[摘要]随着网络技术的迅速发展,在共享网络信息的同时,不可避免存在着安全风险,网络安全问题已成为当前网络技术研究的重点。网络安全风险评估技术能够检测网络系统潜在的安全漏洞和脆弱性,评估网络系统的安全状况,是实现网络安全的重要技术之一。
[关键词]计算机网络,安全评估,脆弱性
随着计算机网络技术的快速发展,全球信息化已成为世界发展的大趋势。在当今的信息中,计算机网络在、、军事、日常生活中发挥着日益重要的作用,从而使人们对计算机网络的依赖性大大加强。现有的计算机网络在建立之初大都忽视安全问题,而且多数都采用TCP/IP协议,TCP/IP协议在设计上具有缺陷,因为TCP/IP协议在设计上力求运行效率,其本身就是造成网络不安全的主要因素。由于计算机网络具有连接形式多样性、开放性、互联性等特点,使网络很容易受到各种各样的攻击,所以当人们充分享受网络所带来的方便和快捷的同时,也应该充分认识到网络安全所面临的严峻考验。
一、网络安全
(一)网络安全的定义
网络安全是指计算机网络系统中的硬件、数据、程序等不会因为无意或恶意的原因而遭到破坏、篡改、泄露,防止非授权的使用或访问,系统能够保持服务的连续性,以及能够可靠的运行。网络安全的具体概念会随着感兴趣角度的不同而不同。从用户的角度来说,他们希望自己的一些绝密信息在网络上传输时能够得到有效的保护,防止一些非法个人通过窃听、篡改、冒充等手段对用户的绝密信息进行破坏。
从网络安全员来说,他们希望本地网络信息的访问、读写等操作能够得到有效的保护和控制,避免出现拒绝服务、资源非法占用、非法控制等威胁,能够有效地防御黑客的攻击。对于国家的一些机密部门,他们希望能够过滤一些非法、有害的信息,同时防止机密信息外泄,从而尽可能地避免或减少对社会和国家的危害。网络安全既涉及技术,又涉及管理方面。技术方面主要针对外部非法入侵者的攻击,而管理方面主要针对内部人员的管理,这两方面相互补充、缺一不可。
(二)网络安全的基本要求
1.机密性(Confidentiality)它是指网络中的数据、程序等信息不会泄露给非授权的用户或实体。即信息只能够被授权的用户所使用,它是保护网络系统安全的重要手段。
2.完整性(Integrity)它是指网络中的数据、程序等信息未经授权保持不变的特性。即当网络中的数据、程序等信息在传输过程不会被篡改、删除、伪造、重放等破坏。
3.可用性(Availability)它是指当网络中的信息可以被授权用户或实体访问,并且可以根据需要使用的特性。即网络信息服务在需要时,准许授权用户或实体使用,或者当网络部分受到破坏需要降级使用时,仍可以为授权用户或实体提供有效的服务。
4.可靠性(Reliablity)它是指网络系统能够在特定的时间和特定的条件下完成特定功能的特性。可靠性是网络系统安全最基本的要求。
5.可控性(Controllablity)它是指对网络信息的和内容具有控制能力的特性。它可以保证对网络信息进行安全监控。
6.不可抵赖性(Non-Repudiation)它是指在网络系统的信息交互过程中,确认参与者身份的真实性。它可以保证发送方无法对他发送的信息进行否认,并且可以通过数字取证、证据保全,使方可以方便地介入,通过来管理网络。
二、网络安全评估中的脆弱性研究
脆弱性是指计算机或网络系统在硬件、软件、协议设计和实现、系统采取的安全策略存在的不足和缺陷。脆弱性存在的直接后果就是允许非法或非授权用户获取或提高访问权限,从而给攻击者以可乘之机破坏网络系统。
总的来说,计算机网络系统脆弱性主要是由程序员不安全编程和错误操作造成的,网络协议本身的缺陷以及用户的错误使用和设置所造成的。归纳起来主要有以下几个方面。
(一)设置错误
它主要是指系统管理员或用户的错误设置,这类由于错误设置导致的系统脆弱性很受攻击者喜欢,因此也是最常见的脆弱性。许多产品制造商在产品推向时为用户设置了许多默认参数,这些设置的目的主要是对用户的充分信任,方便新用户的使用,但是这些设置可能会给计算机网络系统带来很大的安全隐患。
(二)设计错误
它是指设计实现时,因为程序员由于自己的疏忽和为了自己方便而设计了一些后门,这类脆弱性很难发现,而且一旦发现也很难修补,它对网络系统的安全威胁非常大,这类脆弱性只有通过重新设计和实现。
(三)网络协议自身的缺陷
它是指网络协议自身的缺陷和不足所造成的安全隐患。网络协议是指计算机之间为了互联而共同遵守的规则,目前计算机网络大都采用TCP/IP协议,TCP/IP协议在设计之初力求开放性和运行效率,缺乏对安全性的总体构想和设计,所以存在许多脆弱性,从而留下很多安全隐患。
(四)输入验证错误
它是指对用户输入数据的合法性进行验证,导致攻击者非法进入系统。大多数缓冲区溢出脆弱性CGI类脆弱性都是由这种原因引起的。RedHat6.2的dump命令都存在这种脆弱性。
(五)访问验证错误
它是指程序的访问验证部分存在可以被利用的错误,从而有可能使非法攻击者跳过访问控制进入系统。早期AIX的rlogin就存在这种脆弱性。
(六)意外情况处理错误
它是指程序在实现逻辑中没有考虑到一些应该考虑的意外情况,从而造成运行错误。这种错误很常见,例如没有检查文件是否存在就直接打开设备文件从而导致拒绝服务。
(七)竞争条件
它是指程序在处理实体时,时序和同步方面存在问题,在处理过程中可能提供一个机会窗口给非法攻击者以可乘之机。早期的Solaris系统的ps命令就存在这种类型的脆弱性。
(八)错误
它是指一些环境变量的错误设置所形成的脆弱性。