系统架构设计师教程 第18章 18.7 系统架构的脆弱性分析 笔记

18.7 系统架构的脆弱性分析

18.7.1 概述

安全架构的设计核心是采用各种防御手段确保系统不被破坏,而系统的脆弱性分析是系统安全性的另一方面技术,即系统漏洞分析。

漏洞的来源:

1.软件设计时的瑕疵

2.软件实现中的弱点

3.软件本身的瑕疵

4.系统和网络的错误配置

18.7.2 软件脆弱性

1.软件脆弱性定义

软件脆弱性是指由软件缺陷的客观存在所形成的一个可以被 攻击者利用的实例

2.软件脆弱性的特点和分类

主要特点:

1.系统中隐藏的弱点,本身无危害,被利用后产生严重后果

2.根本来源是开发过程中引入的逻辑错误

3.系统环境差异可能导致不同的脆弱性

4.修改旧的脆弱性可能会引入新的脆弱性

典型分类:ISOS 分类法、 P A分类法、 Landwehr分类法、 Aslam 分类法、 Bishop分类法和IBM 分类法。

3.软件脆弱性的生命周期

包含 了引入、产生破坏效果、被修补和消失等阶段

4.软件脆弱性的分析方法

软件脆弱性分析可从三个方面考虑:

(1)分析软件故障现象,分析故障的技术本质、总结脆弱性模式;

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

(3)分析软件使用,发现其脆弱性,采取相应措施,避免脆弱性转化为安全故障。

软件脆弱性分析首先要明确分析对象,脆弱性分析对象可以分为两类:脆弱性数据软件系统

常用的探测工具是扫描器,它 能够自动检测远程或本地主机安全脆弱性的程度

脆弱性扫描器采用的是基于特征的扫描方法,依据具体特征库进行判断,关键在于脆弱性特征库的规模和完善程度。

18.7.3 典型软件架构的脆弱性分析

1.分层架构

大多数分层架构模式通常包括4个层次: 即表示层、业务层、持久化层和数据库层。

脆弱性主要表现:

(1)层间的脆弱性。

(2)层间通信的脆弱性。

2.C/S 架构

C/S分为两部分:服务器部分和客户机部分

脆弱性主要表现

(1)客户端软件的脆弱性

(2)网络开放性的脆弱性。

(3)网络协议的脆弱性。

3.B/S架构

脆弱性主要表现

使用 HTTP 协议,更容易被病毒入侵

4.事件驱动架构

事件驱动架构是一种分布式异步架构,适合高扩展工程的、较流行的分布式 异构架构模式,有较高柔性,它由高度解耦、单一目的异步接收的事件处理组件和处理事件组成。

脆弱性主要表现

(1)组件的脆弱性

(2)组件间交换数据的脆弱性

(3)组件间逻辑关系的脆弱性

(4)事件驱动容易进入死循环

(5)高并发的脆弱性

(6)固定流程的脆弱性

5.MVC架构

应用可被分成三层:模型层、视图层和控制层

脆弱性主要表现

(1)MVC架构的复杂性带来脆弱性

(2)视图与控制器间紧密连接的脆弱性

(3)视图对模型数据的低效率访问的脆弱性

6.微内核架构

微内核架构是指内核的一种精简形式,通常由内核系统和插件组成

脆弱性主要表现

(1)微内核架构难以进行良好的整体化优化

(2)微内核系统的进程间通信开销大

(3)通信损失率高

7.微服务架构

微服务架构是一种架构模式,它提倡将单块架构的应用划分成一组小的服务,服务之间相 互协调、相互配合、为用户提供最终价值。

脆弱性主要表现

(1)开发人员需要处理分布式系统的复杂结构。

(2)开发人员要设计服务之间的通信机制

(3)服务管理的复杂性

相关推荐
笑衬人心。2 小时前
Ubuntu 22.04 修改默认 Python 版本为 Python3 笔记
笔记·python·ubuntu
金色光环2 小时前
【Modbus学习笔记】stm32实现Modbus
笔记·stm32·学习
zyxzyx6663 小时前
Flyway 介绍以及与 Spring Boot 集成指南
spring boot·笔记
Mr_Xuhhh4 小时前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构
西岭千秋雪_5 小时前
Redis性能优化
数据库·redis·笔记·学习·缓存·性能优化
HuashuiMu花水木6 小时前
Matplotlib笔记4----------图像处理
图像处理·笔记·matplotlib
DES 仿真实践家7 小时前
【Day 11-N22】Python类(3)——Python的继承性、多继承、方法重写
开发语言·笔记·python
IMPYLH13 小时前
Python 的内置函数 reversed
笔记·python
麦兜*14 小时前
Spring Boot启动优化7板斧(延迟初始化、组件扫描精准打击、JVM参数调优):砍掉70%启动时间的魔鬼实践
java·jvm·spring boot·后端·spring·spring cloud·系统架构
ysa05103016 小时前
数论基础知识和模板
数据结构·c++·笔记·算法