《系统架构计划师教程(第2版)》第18章-安全架构计划理论与实践-07-系统架 ...

打印 上一主题 下一主题

主题 1871|帖子 1871|积分 5613

1. 脆弱性和漏洞



  • 信息系统的脆弱性是一个系统问题
  • 脆弱性包罗:

    • 物理装备脆弱性:如盘算机硬件、通信线路等
    • 软件脆弱性:如操纵系统、网络协议簇、数据库管理系统、应用程序等
    • 人员管理、规章制度、安全战略的脆弱性

  • 漏洞的主要来源:

    • 软件计划时的瑕疵
    • 软件实现中的弱点
    • 软件本身的瑕疵
    • 系统和网络的错误配置

2. 软件脆弱性

2.1 定义



  • 定义:

    • 由软件缺陷的客观存在所形成的,一个可以被攻击者利用的实例

   但是教材后文又表明为:软件脆弱性就是软件规范、开辟或配置中错误的实例,其实行结果将会违反安全战略。
这个说的并不精确,脆弱性本身并不是错误,也不会引起错误,只有被利用才会引起安全问题或错误。
  

  • 和缺陷的关系

    • 每个脆弱性都由至少一个软件缺陷引起
    • 一个软件缺陷不肯定会产生脆弱性
    • 差别的软件缺陷可能导致雷同的脆弱性

  • 软件开辟过程中的脆弱性

    • 软件架构计划的脆弱性
    • 软件模块计划的脆弱性
    • 软件接口计划的脆弱性
    • 软件界面计划的脆弱性
    • 数据库计划的脆弱性
    • 软件基础模型的脆弱性
    • 计划模式的脆弱性
    • 实现的脆弱性

2.2 特点



  • 脆弱性是软件系统中隐蔽的一个弱点,本身不会引起危害,但被利用后会产生严重的安全结果
  • 在软件开辟过程中,自发或不自发引入的逻辑错误是大多数脆弱性的根本来源
  • 软件脆弱性与具体的系统环境密切相关,系统环境的差异都有可能导致差别的脆弱性问题
  • 旧的脆弱性得到修补或纠正的同时可能引入新的脆弱性,因此脆弱性问题会恒久存在
2.3 分类

1) ISOS分类法



  • 范围:面向信息系统的安全和隐私方面的分类方法
  • 目的:

    • 资助信息系统管理人员明白安全问题
    • 为提高系统安全性提供相应信息

2) PA分类法



  • 范围:操纵系统中与安全保护相关的缺陷
  • 目的:是盼望可以或许让缺乏盘算机安全范畴知识的人可以利用模式指导的方法来发现盘算机安全问题
3)Landwehr



  • 提出:美国水师
  • 基于三个维度对这些安全缺陷举行分类

    • 缺陷的因由(有意或无意)
    • 缺陷引入的时间(开辟阶段、维护阶段、运行阶段)
    • 缺陷分布的位置(软件或硬件)

  • 针对每个维度,可以举行更为过细的多层次分类和描述,并从差别角度绘制缺陷分布图
4)Aslam分类法



  • 范围:是针对 Unix 操纵系统中的安全故障
  • 分类角度:从软件生命周期
  • 分类

    • 编码故障
    • 突发故障

  • 分类决策树:为了实现分类过程的主动化和无歧义化,计划了一系列问题
5)Bishop分类法



  • 范围:针对信息安全范畴的一种分类方法
  • 概念:描述了一种针对Unix和网络相关脆弱性的分类方法
  • 分类方法:利用6个轴线来对脆弱性举行分类

    • 6个轴线:脆弱性的性质、引入时间、利用率、影响域、最小数量、来源

6)IBM分类法



  • 概念:

    • 以Landwehr分类法为基础
    • 以新出现的安全缺陷来扩充和改造


2.3 软件脆弱性的生命周期

1)脆弱性的引入阶段



  • 引入软件脆弱性的原因:(吐槽:归纳了个寂寞)

    • 输入验证错误
    • 权限检查错误
    • 操纵序列化错误
    • 界限检出错误
    • 软件计划时的缺陷
    • 其他错误

2)产生破坏结果阶段



  • 非法实行代码
  • 非法修改目的对象
  • 非法访问数据对象
  • 拒绝服务攻击
3)修补阶段



  • 删除伪造实体
  • 增加新的实体
  • 写该实体不精确的位置
  • 其他情况
2.4 软件脆弱性的分析方法

软件脆弱性分析可从三个方面思量:


  • 分析软件故障现象
   分析故障的技术本质、总结脆弱性模式
  

  • 分析软件开辟
   发现安全管理和技术的薄弱环节,提高软件安全性;
  

  • 分析软件利用
   发现其脆弱性,接纳相应措施,避免脆弱性转化为安全故障。
  3. 典型软件架构的脆弱性

软件架构脆弱性通常与软件架构的风格和模式有关
3.1 分层架构



  • 层间的脆弱性
   

  • 底层发生错误,将导致整个程序无法正常运行
  

  • 层间通信的脆弱性
   大量细粒度对象产生的消息交互层层传递,造成性能的降落
  3.2 C/S 架构



  • 客户端软件的脆弱性
   客户端安装在用户盘算机上,面对着程序被分析、数据被截取的安全隐患。
  

  • 网络开放性的脆弱性
   客户端存在于Internet上,使得服务器端服务器端对于 Internet上的任何用户都是开放的
  

  • 网络协议的脆弱性
   

  • 客户端和服务器端之间通常利用自由协议举行通信
  3.3 B/S架构



  • 系统如果利用 HTTP 协议, 相对C/S 架构而言更容易被病毒入侵
3.4 事件驱动架构



  • 组件的脆弱性
   组件减弱了自身对系统的控制本领,一个组件触发事件,并不能确定响应该事件的其他组件及各组建的实行顺序。
  

  • 组件间交换数据的脆弱性
  • 组件间逻辑关系的脆弱性
   事件架构使系统中各组件的逻辑关系变得更加复杂
  

  • 事件驱动容易进入死循环
  • 高并发的脆弱性
   事件驱动的高并发,可能造成系统响应问题、系统数据错误等问题
  

  • 固定流程的脆弱性
   教材原文:事件驱动的可响应流程基本都是固定的,如果操纵不当,容易引发安全问题。
这个逻辑根本不通,难道不是固定流程,操纵不当就不容易引发安全问题?
我明白,这里应该是 流程固定,容易被攻击者找到漏洞。
  3.5 MVC架构



  • MVC架构的复杂性带来脆弱性
  • 视图与控制器间紧密连接的脆弱性       视图与控制器是相互分离却联系紧密的部件,这妨碍了它们的独立重用
  • 视图对模型数据的低效率访问的脆弱性       依据模型操纵接口的差别,视图可能需要多次调用才气获得充足的显示数据。对未变化数据的不必要的频仍访问也将侵害操纵性能。
   后来教材对MVC的脆弱性举行了完全不靠谱的总结,总结内容不贴了。
  3.6 微内核结构

   微内核架构也被称为插件架构模式 (Plug-in Architecture Pattern), 通常由内核系统和插件组成。
  

  • 微内核架构难以举行良好的团体优化
  • 微内核系统的进程间通信开销大
  • 通信损失率高
3.7 微服务架构



  • 开辟人员需要处置惩罚分布式系统的复杂结构
  • 开辟人员要计划服务之间的通信机制
  • 服务管理复杂



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美食家大橙子

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表