当前位置: 首页 > article >正文

【D01】网络安全概论

网络安全概论--网络基础知识--防火墙技术--身份识别技术--虚拟专用网络--入侵检测技术--病毒和恶意代码

--业务连续性计划--安全管理--信息系统安全方案设计方法

一、网络安全面临的威胁

物理安全威胁、操作系统的安全缺陷、网络协议的安全缺陷、应用软件的实现缺陷、用户使用的缺陷和恶意程序等6个方面的安全威胁。

二、物理安全问题的重要性
      信息安全首先要保障信息的物理安全。物理安全是指在物理介质层次上对存储和传输的信息的安全保护。

  物理安全威胁,即直接威胁网络设备。目前主要的物理安全威胁包括以下3大类。
         自然灾害。特点是突发性、自然因素性、非针对性。这种安全威胁只破坏信息的完整性和可用性,无损信息的秘密性。
         电磁辐射。这种安全威胁只破坏信息的秘密性,无损信息的完整性和可用性。
         操作失误和意外疏忽(例如,系统掉电、操作系统死机等系统崩溃)。特点是人为实施的无意性和非针对性。这种安全威胁只破坏信息的完整性和可用性,无损信息的秘密性。

三、 操作系统的安全缺陷

  目前,人们使用的操作系统分为两大类:UNIX/Linux系列和Windows系列。下面分别举例说明这两大类操作系统中存在的安全缺陷。

  公共缺陷检索(Common Vulnerabilities and Exposures,CVE)。 大多数信息安全工具都包含一个信息安全缺陷的数据库,但是,这些数据库对信息安全缺陷的描述格式各不相同。
      CVE是信息安全确认的一个列表或者词典。它对不同信息安全缺陷的数据库之间提供一种公共的索引,是信息共享的关键。有了CVE检索之后,一个缺陷就有了一个公共的名字,从而可以通过CVE的条款检索到包含该缺陷的所有数据库。CVE有如下几个特点:
① 每一种缺陷都有惟一的命名;
② 每一种缺陷都有惟一的标准描述;
③ CVE不是一个数据库而是一种检索词典;
④ CVE为多个不同的数据库提供一种交流的共同语言; ⑤ CVE是评价信息安全数据库的一个基础;
⑥ CVE可以通过因特网阅读和下载;
⑦ CVE的会员可以给CVE提供自己数据库的索引信息及其修改信息。

1.UNIX操作系统的安全缺陷
(1)远程过程调用(Remote Procedure Calls,RPC)
         远程过程调用允许一台机器上的程序执行另一台机器上的程序。它们被广泛地用于提供网络服务,如NFS文件共享和NIS。很多UNIX操作系统的RPC软件包中包含具有缓冲区溢出缺陷的程序。以下的程序具有缓冲区溢出的缺陷。① rpc.yppasswdd: ② rpc.espd: ③ rpc.cmsd:④ rpc.ttdbserver: ⑤ pc.bind:如果系统运行上述程序之一,那么系统就很可能受到RPC服务缓冲区溢出的攻击。值得注意的是,UNIX的绝大部分版本都具有这个缺陷。解决这个问题的最好方案是全部删除这些服务。在必须运行该服务的地方,安装最新的补丁。

(2)Sendmail
        Sendmail是在UNIX和Linux操作系统中用得最多的发送、接收和转发电子邮件的程序。  Sendmail在因特网上的广泛应用使它成为攻击者的主要目标,过去的几年里曾发现了若干个缺陷。
         Sendmail有很多易受攻击的弱点,必须定期地更新和打补丁。

2.Windows系列操作系统的安全缺陷
(1)Unicode
         Unicode是ISO发布的统一全球文字符号的国际标准编码。它是一种双字节的编码。
         通过向IIS(Internet Information Server)服务器发出一个包括非法Unicode UTF-8序列的URL,攻击者可以迫使服务器逐字“进入或退出”目录并执行任意脚本,这种攻击称为目录转换(Directory Traversal)攻击。

(2)ISAPI缓冲区溢出
           Microsoft IIS(Internet Information Server)是在大多数Microsoft Windows NT和Windows 2000服务器上使用的服务器软件。在安装IIS的时候,多个ISAPI(Internet Services Application Programming Interface)被自动安装。ISAPI允许开发人员使用多种动态链接库DLLs来扩展IIS服务器的性能。一些动态链接库,例如idq.dll,有编程错误,使得它们进行不正确的边界检查。特别是,它们不阻塞超长字符串。攻击者可以利用这一点向DLL发送数据,造成缓冲区溢出,进而控制IIS服务器。

解决上述问题的方案是如果发现系统具有这种缺陷,则安装最新的Microsoft补丁。同时,应检查并取消所有不需要的ISAPI扩展。经常检查这些扩展是否被恢复。还要记住最小权限规则,系统应运行系统正常工作所需的最少服务。

四、网络协议的安全缺陷

五、应用软件的实现缺陷

  软件实现缺陷是由于程序员在编程的时候没有考虑周全而造成的。软件缺陷一般可以分为以下几种类型:  输入确认错误;访问确认错误; 特殊条件错误; 设计错误; 配置错误 ;竞争条件错误; 其他。

1.输入确认错误
        在输入确认错误的程序中,由用户输入的字符串没有经过适当的检查,使得黑客可以通过输入一个特殊的字符串造成程序运行错误。
    输入确认错误的另一个子集就是边界条件溢出。边界条件溢出指的是程序中的一个变量值超过它自己边界条件时的程序运行错误。

2.访问确认错误
        访问确认错误指的是系统的访问控制机制出现错误。错误并不在于用户可控制的配置部分,而在系统的控制机制本身。所以,这样的缺陷有可能使得系统运行不稳定,但是基本上不能被利用去攻击系统,因为它的运行错误不受用户的控制。

六、用户使用的缺陷体现在以下几个方面:密码易于被破解;软件使用的错误;系统备份不完整。

1.密码易于被破解
(1)缺省密码
(2)密码与个人信息有关
(3)密码为词典中的词语
(4)过短密码
(5)永久密码

2.软件使用的错误
 除了软件自身的缺陷以外,软件的使用错误还体现在以下几个方面。
(1)大量打开端口
(2)危险缺省脚本
(3)软件运行权限选择不当

3.系统备份不完整
  系统是否有备份?
  备份间隔是可接受的吗?
  系统是按规定进行备份的吗?
  是否确认备份介质正确地保存了数据?
  备份介质是否在室内得到了正确的保护?
  是否在另一处还有操作系统和存储设施的备份(包括必要的license key)?
  存储过程是否被测试及确认?

七、恶意代码是这几年比较新的概念。可以说,这些代码是攻击、病毒和特洛伊木马的结合。恶意代码不但破坏计算机系统(像计算机病毒),给黑客留出后门(像特洛伊木马),它还能够主动去攻击并感染别的机器。

1.计算机病毒
       计算机病毒是一种计算机程序,它可以寄生在一定的载体上,具有隐蔽性、传染性和破坏性。计算机病毒的影响对象就是计算机,也就是这个定义中提到的载体,隐蔽性、传染性和破坏性都是针对计算机而言。

2.特洛伊木马
        网络安全的另一种威胁是特洛伊木马。与计算机病毒一样,特洛伊木马并不是利用系统本身留下的缺陷而是设计者故意创造出来的,用来对系统进行攻击的一种工具。特洛伊木马与病毒的不同点在于,病毒的设计目标是破坏系统,而特洛伊木马的设计目标是远程控制受害系统。这样,特洛伊木马可以直接影响信息的机密性、完整性和可用性。

3.恶意代码
       恶意代码是一种计算机程序,它既有利用系统缺陷的攻击特性,又有计算机病毒和特洛伊木马的特性。下面分别讨论这3种特性。
(1)攻击特性
(2)计算机病毒特性
(3)特洛伊木马特性

八、网络安全体系结构

1  网络安全总体框架
        可以把信息安全看成一个由多个安全单元组成的集合,其中每一个安全单元都是一个整体,包含了多个特性。一般来说,人们都从3个主要特性去理解一个安全单元,就是安全特性、结构层次和系统单元。安全单元集合可以用一个三维的安全空间去描述它

OSI安全体系结构主要包括三部分内容,即安全服务、安全机制和安全管理。

2  安全控制
        安全控制是指在微机操作系统和网络通信设备上对存储和传输的信息的操作和进程进行控制和管理,主要是在信息处理层次上对信息进行的初步的安全保护,可以分为以下3个层次。
(1)微机操作系统的安全控制。
(2)网络接口模块的安全控制。
(3)网络互连设备的安全控制。

3  安全服务
        OSI安全体系结构定义了一组安全服务,主要包括认证服务、访问控制服务、数据保密服务、数据完整性服务和抗抵赖服务。
1.认证服务
    认证服务提供某个实体的身份保证。
认证服务有对等实体认证和数据起源认证两种类型,现分述如下。
(1)对等实体认证
    对等实体认证服务就是,在一个实体与实体的连接中,每一方确认对方的身份。
(2)数据起源认证
    数据起源认证服务就是,在通信的某个环节中,需要确认某个数据是由某个发送者发送的。

2.访问控制服务
    访问控制服务就是对某些确知身份限制对某些资源的访问。
    访问控制服务直接支持保密性、完整性、可用性和认证的安全性能,其中对保密性、完整性和认证所起的作用十分明显。

3.数据保密性服务
(1)连接保密性
    数据保密性服务要保证数据在传输过程中的保密性。
(2)无连接保密性
        无连接保密性服务保证数据在无连接的一次通信中的保密性。
(3)选择字段保密性
(4)业务流保密性
    业务流保密性服务保证数据不能通过其流量特征而推断出其中的保密信息。

4.数据完整性服务
(1)可恢复的连接完整性
(2)不可恢复的连接完整性
(3)选择字段的连接完整性
(4)无连接完整性
(5)选择字段的无连接完整性
数据完整性服务直接保证数据的完整性。

5.抗抵赖服务
    抗抵赖服务与其他安全服务有根本的不同。它主要保护通信系统不会遭到来自系统中其他合法用户的威胁,而不是来自未知攻击者的威胁。
       抗抵赖服务包括如下两种形式。
(1)数据起源的抗抵赖
(2)传递过程的抗抵赖

4  安全需求
1.保密性
    广义的保密性是指保守国家机密,或是未经信息拥有者的许可,不得非法泄漏该保密信息给非授权人员。狭义的保密性则指利用密码技术对信息进行加密处理,以防止信息泄漏和保护信息不为非授权用户掌握。

2.安全性
    安全性标志着一个信息系统的程序和数据的安全保密程度,即防止非法使用和访问的程度,可分为内部安全和外部安全。内部安全是由计算机网络内部实现的;而外部安全是在计算机网络之间实现的。
3.完整性
    完整性就是数据未经授权不能进行改变的特性,即信息在存储或传输过程中保持不被修改、破坏和丢失的特性。

4.服务可用性
    服务可用性是一种可被授权实体访问并按需求使用的特性,即当需要时被授权实体能否存取所需的信息。
5.可控性
    可控性是一种对信息的传播及内容具有控制能力的特性。
6.信息流保护

九、PDRR网络安全模型

一个最常见的安全模型就是PDRR模型。PDRR由4个英文单词的头一个字符组成:Protection(防护)、Detection(检测)、Response(响应)和Recovery(恢复)。这4个部分组成了一个动态的信息安全周期。
      安全策略的每一部分包括一组安全单元来实施一定的安全功能。

1  防护
1.风险评估——缺陷扫描
    风险评估属于网络安全防护类型。风险评估就是发现并修补系统和网络存在的安全缺陷。
    安全缺陷可以分为两种,允许远程攻击的缺陷和只允许本地攻击的缺陷。
    对于允许远程攻击的安全缺陷,可以使用网络缺陷扫描工具去发现。

2.访问控制及防火墙
访问控制技术属于网络安全防护类型。
3.防病毒软件与个人防火墙
4.数据备份和归档
5.数据加密
数据加密技术是信息安全防护的重要技术。

6.鉴别技术
鉴别技术也是信息安全防护的重要技术。
7.使用安全通信
8.系统安全评估标准

2  检测
    PDRR模型的第二个环节是检测(D)。
    检测和防护有根本性的区别。如果防护和黑客的关系是:“防护在明,黑客在暗”,那么检测和黑客的关系就是“黑客在明,检测在暗”。

在PDRR模型中,防护(P)和检测(D)之间有互补关系。
    IDS是一个硬件系统或软件程序,它的功能是检测出正在发生或者已经发生的入侵事件,这些入侵已经成功地穿过防护战线。一个入侵检测系统有很多特征,其主要特征为:检测环境和检测算法。根据不同的特征,入侵检测系统可以分为不同的类型。
3  响应
        PDRR模型中的第三个环节是响应(R)。响应就是已知一个攻击(入侵)事件发生之后,进行处理。
4  恢复
        恢复(R)是PDRR模型中的最后一个环节。

十、网络安全基本原则

1  普遍参与
    为了使安全机制更有效,绝大部分安全保护系统要求站点人员普遍参与(或至少没有反对者)。
2  纵深防御
    纵深防御也是一种基本的安全原则,而且不光是针对网络系统而言的。纵深防御是指不能只依赖单一安全机制,应该建立多种机制。

3  防御多样化
    系统可以通过使用大量的不同系统提供纵深防御而获得额外的安全保护。
4  阻塞点
    所谓阻塞点就是设置一个窄通道,在那里可以对攻击者进行监视和控制。

5  最薄弱链接
    安全保护的基本原则是链的强度取决它的最薄弱链接,墙的坚固取决于它的最弱点。

6  失效保护状态
    安全保护的另一个基本原则就是,在某种程度上系统应该可以做到失效保护。就是说如果系统运行错误,那么它们发生故障时会拒绝侵袭者访问,更不用说让侵袭者侵入了。
(1)默认拒绝状态。
(2)默认许可状态。
7  最小特权
    最小特权原则是指一个对象(程序、人、路由器或者任何事物)应该只拥有为执行其分配的任务所必要的最小特权并且绝不超越此限。
8  简单化
       简单化作为一个安全保护策略有两个原因:第一,让事情简单使它们易于理解,如果不了解某事,就不能真正了解它是否安全;第二,复杂化会为所有类型的事情提供隐藏的角落和缝隙。


http://www.kler.cn/a/402430.html

相关文章:

  • TensorFlow如何调用GPU?
  • 浏览器缓存与协商缓存
  • 网络爬虫——分布式爬虫架构
  • 详解Servlet的使用
  • jdk-VarHandle 翻译
  • Ray 和 PyTorch
  • mySql修改时区完整教程
  • 实战精选|如何使用 OpenVINO™ 在 ElectronJS 中创建桌面应用程序
  • Stable Diffusion核心网络结构——CLIP Text Encoder
  • 修改gitee提交时用户名密码输错导致提交失败的解决方法
  • 第14章 Nginx WEB服务器企业实战
  • 详细描述一下Elasticsearch搜索的过程?
  • 计算机网络安全 —— 对称加密算法 DES (一)
  • Linux TCP 服务器实现双向通信1v1
  • 【系统架构设计师】真题论文: 论企业应用系统的数据持久层架构设计(包括解题思路和素材)
  • Go小记:使用Go实现ssh客户端
  • Golang超详细入门教程
  • android 性能分析工具(04)Asan 内存检测工具
  • ROS2 Humble 机器人建模和Gazebo仿真
  • 【H2O2|全栈】MySQL的云端部署
  • 精通Rust系统教程-过程宏入门
  • Python操作Mysql中cursor的作用
  • Jmeter中的断言(四)
  • HBase 了解
  • django启动项目报错解决办法
  • Linux配置MySQL自动备份