一、安全架构概述

1、信息安全面临的威胁

对于信息系统来说,威胁可以是针对物理环境、通信链路、网络系统、操作系统、应用系统以及管理系统等方面。

物理安全威胁:对系统所用设备的威胁,如自然灾害、电源故障、操作系统引导失败或数据库信息丢失、设备被盗/被毁造成数据丢失或信息泄露。

通信链路安全威胁:在传输线路上安装窃听装置或对通信链路进行干扰。

网络安全威胁:由于互联网的开放性、国际化的特点,人们很容易通过技术手段窃取互联网信息,对网络形成严重的安全威胁。

操作系统安全威胁:对系统平台中的软件或硬件芯片中植入威胁,如"木马"和"陷阱门"、BIOS的万能密码。

应用系统安全威胁:对于网络服务或用户业务系统安全的威胁,也受到"木马"和"陷阱门"的威胁。

管理系统安全威胁:由于人员管理上疏忽而引发人为的安全漏洞,如人为的通过拷贝、拍照、抄录等手段盗取计算机信息。

具体安全威胁类型

  1. 信息泄露:信息被泄露或透露给某个非授权的实体。
  2. 破坏信息的完整性:数据被非授权地进行增删、修改或破坏而受到损失。
  3. 拒绝服务:对信息或其他资源的合法访问被无条件地阻止。
  4. 非法使用(非授权访问):某一资源被某个非授权的人或以非授权的方式使用。
  5. 窃听:用各种可能的合法或非法的手段窃取系统中的信息资源和敏感信息。
  6. 业务流分析:通过对系统进行长期监听,利用统计分析方法对诸如通信频度、通信的信息流向、通信总量的变化等态势进行研究,从而发现有价值的信息和规律。
  7. 假冒:通过欺骗通信系统(或用户)达到非法用户冒充成为合法用户,或者特权小的用户冒充成为特权大的用户的目的。
  8. 旁路控制:攻击者利用系统的安全缺陷或安全性上的脆弱之处获得非授权的权利或特权。
  9. 授权侵犯:被授权以某一目的使用某一系统或资源的某个人,却将此权限用于其他非授权的目的,也称作"内部攻击"。
  10. 特洛伊木马:软件中含有一个察觉不出的或者无害的程序段,当它被执行时,会破坏用户的安全。
  11. 陷阱门:在某个系统或某个部件中设置了"机关",使得当提供特定的输入数据时,允许违反安全策略。
  12. 抵赖:这是一种来自用户的攻击,例如,否认自己曾经发布过的某条消息、伪造一份对方来信等。
  13. 重放:所截获的某次合法的通信数据备份,出于非法的目的而被重新发送。
  14. 计算机病毒:一种在计算机系统运行过程中能够实现传染和侵害的功能程序。
  15. 人员渎职:一个授权的人为了钱或利益、或由于粗心,将信息泄露给一个非授权的人。
  16. 媒体废弃:信息被从废弃的磁盘或打印过的存储介质中获得。
  17. 物理侵入:侵入者通过绕过物理控制而获得对系统的访问。
  18. 窃取:重要的安全物品,如令牌或身份卡被盗。
  19. 业务欺骗:某一伪系统或系统部件欺骗合法的用户或系统自愿地放弃敏感信息。

2、安全架构的定义和范围

安全架构是架构面向安全性方向上的一种细分,通常的产品安全架构、安全技术体系架构和审计架构可组成三道安全防线。

(1) 产品安全架构:构建产品安全质量属性的主要组成部分以及它们之间的关系。产品安全架构的目标是如何在不依赖外部防御系统的情况下,从源头打造自身安全的产品。

(2) 安全技术体系架构:构建安全技术体系的主要组成部分以及它们之间的关系。安全技术体系架构的任务是构建通用的安全技术基础设施,包括安全基础设施、安全工具和技术、安全组件与支持系统等,系统性地增强各产品的安全防御能力。

(3) 审计架构:独立的审计部门或其所能提供的风险发现能力,审计的范围主要包括安全风险在内的所有风险。

二、系统安全体系架构规划框架

1、安全技术体系架构

根据网络中风险威胁的存在实体划分出5个层次的实体对象:应用、存储、主机、网络和物理。

2、信息系统安全体系规划

信息系统安全体系主要是由技术体系、组织机构体系和管理体系三部分共同构成的。

技术体系:全面提供信息系统安全保护的技术保障系统,由物理安全技术和系统安全技术两大类构成。

组织体系:信息系统的组织保障系统,由机构、岗位和人事三个模块构成。

管理体系:由法律管理、制度管理和培训管理三部分组成。

3、信息系统安全规划框架

(1) 信息系统安全规划依托企业信息化战略规划

信息系统安全规划依托企业信息化战略规划,对信息化战略的实施起到保驾护航的作用。

(2) 信息系统安全规划需要围绕技术安全、管理安全、组织安全考虑

规划的内容应涵盖:确定信息系统安全的任务、目标、战略以及战略部门和战略人员,并在此基础上制定出物理安全、网络安全、系统安全、运营安全、人员安全的信息系统安全的总体规划。

(3) 信息系统安全规划以信息系统与信息资源的安全保护为核心

规划工作需要围绕着信息系统与信息资源的开发、利用和保护工作进行,包括蓝图、现状、需求和措施4个方面:

  • 从信息化建设的蓝图入手,制定信息系统安全的发展目标
  • 对企业的信息化工作现状进行整体的、综合、全面的分析
  • 根据信息化建设的目标提出未来几年的需求
  • 明确在实施工作阶段的具体措施与方法

三、信息安全整体架构设计(WPDRRC模型)

人、管理和技术手段是信息安全架构设计的三大要素,而构成动态的信息与网络安全保障体系框架是实现系统的安全保障。

1、WPDRRC信息安全体系架构模型

WPDRRC(Waring/Protect/Detect/React/Restore/Counterattack)模型有6个环节和3大要素。

6个环节

  • W:预警:利用远程安全评估系统提供的模拟攻击技术来检查系统存在的薄弱环节
  • P:防护:通过采用成熟的信息安全技术及方法来实现网络与信息的安全
  • D:检测:通过检测和监控网络以及系统,来发现新的威胁和弱点
  • R:响应:在检测到安全漏洞和安全事件之后必须及时做出正确的响应
  • R:恢复:通过必要技术手段,在尽可能短的时间内使系统恢复正常
  • C:反击:采用高新技术手段,侦察、提取计算机犯罪分子的作案线索与犯罪证据

3大要素

  • 人员是核心
  • 策略是桥梁
  • 技术是保证

2、信息安全体系架构设计

(1)系统安全保障体系

系统安全保障体系是由安全服务、协议层次和系统单元等三个层面组成。

设计工作重点

  • 安全区域策略的确定
  • 统一配置和管理防病毒系统
  • 网络安全管理

(2)信息安全体系架构

从物理安全、系统安全、网络安全、应用安全和管理安全等5个方面开展分析和设计工作。

  1. 物理安全:保证计算机信息系统各种设备的物理安全,包括环境安全、设备安全、媒体安全等。
  2. 系统安全:主要是指对信息系统组成中各个部件的安全要求,包括网络结构安全、操作系统安全和应用系统安全。
  3. 网络安全:是整个安全解决方案的关键,包括访问控制、通信保密、入侵检测、网络安全扫描系统和防病毒等。
  4. 应用安全:主要是指多个用户使用网络系统时,对共享资源和信息存储操作所带来的安全问题,包括资源共享和信息存储两个方面。
  5. 安全管理:制定健全的安全管理体制;构建安全管理平台;增强人员的安全防范意识。

四、网络安全体系架构设计

1、OSI的安全体系架构概述

OSI定义了7层协议,其中除第5层(会话层)外,每一层均能提供相应的安全服务。

OSI开放系统互联安全体系的5类安全服务

  • 鉴别
  • 访问控制
  • 数据机密性
  • 数据完整性
  • 抗抵赖性

OSI定义分层多点安全技术体系架构

  • 多点技术防御:在对手可以从内部或外部多点攻击一个目标的前提下,多点技术防御通过对网络和基础设施、边界、计算环境这三个防御核心区域的防御达到抵御所有方式的攻击目的。
  • 分层技术防御:在对手和目标间使用多个防御机制。
  • 支撑性基础设施:为网络、边界和计算环境中信息保障机制运行基础的支撑性基础设施。

2、认证框架

鉴别(Authentication)的基本目的是防止其他实体占用和独立操作被鉴别实体的身份。

鉴别服务分为以下阶段

  • 安装阶段
  • 修改鉴别信息阶段
  • 分发阶段
  • 获取阶段
  • 传送阶段
  • 验证阶段
  • 停活阶段
  • 重新激活阶段
  • 取消安装阶段

3、访问控制框架

访问控制(Access Control)决定开放系统环境中允许使用哪些资源、在什么地方适合阻止未授权访问的过程。

涉及访问控制的有

  • 发起者
  • AEF(访问控制实施功能)
  • ADF(访问控制判决功能)
  • 目标

4、机密性框架

数据的机密性可以依赖于所驻留和传输的媒体。

具体机制

  • 通过禁止访问提供机密性
  • 通过加密提供机密性
  • 通过数据填充、虚假事件等

5、完整性框架

数据完整性保护机制

  • 阻止对媒体访问的机制:物理隔离的不受干扰的信道、路由控制、访问控制。
  • 用以探测对数据或数据项序列的非授权修改的机制:密封、数字签名、数据重复、与密码变换相结合的数字指纹和消息序列号。

6、抗抵赖框架

抗抵赖服务包括证据的生成、验证和记录,以及在解决纠纷时随即进行的证据恢复和再次验证。

抗抵赖由4个独立的阶段组成

  • 证据生成
  • 证据传输、存储及恢复
  • 证据验证
  • 解决纠纷

五、数据库系统的安全设计

按照TCSEC标准,D类产品是基本没有安全保护措施的产品,C类产品只提供了安全保护措施,B类以上产品是实行强制存取控制的产品。

数据库完整性是指数据库中数据的正确性和相容性。

数据库完整性约束可分为6类

  • 列级静态约束
  • 元组级静态约束
  • 关系级静态约束
  • 列级动态约束
  • 元组级动态约束
  • 关系级动态约束

数据库完整性的作用

  1. 防止合法用户使用数据库时向数据库中添加不合语义的数据。
  2. 利用基于DBMS的完整性控制机制实现业务规则,易于定义,容易理解。
  3. 合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能。
  4. 完善的数据库完整性有助于尽早发现应用软件的错误。

六、系统架构的脆弱性分析

1、概述

脆弱性分析主要是分析信息系统中产生脆弱性的根源、脆弱性可能造成的影响、如何利用脆弱性进行攻击、如何修补脆弱性、如何防止脆弱性被利用、如何探测目标系统的脆弱性、如何预测新的脆弱性的存在等一系列问题。

漏洞的来源

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

2、软件脆弱性

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

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

  • 脆弱性是软件系统中隐藏的一个弱点,本身不会引起危害,但被利用后会产生严重的安全后果。
  • 在软件开发过程中,自觉或不自觉引入的逻辑错误是大多数脆弱性的根本来源。
  • 与具体的系统环境密切相关。
  • 旧的脆弱性得到修补或纠正的同时可能引入新的脆弱性。

(3)软件脆弱性的生命周期

  • 引入阶段:输入验证错误、权限检查错误、操作序列化错误、边界检出错误等。
  • 产生破坏效果阶段:非法执行代码、非法修改目标对象、访问数据对象、拒绝服务攻击。
  • 修补阶段:删除伪造实体、增加新的实体、写该实体不正确的位置等。

(4)软件脆弱性的分析方法

  • 分析软件故障现象
  • 分析软件开发
  • 分析软件使用

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

(1)分层架构

  • 层间的脆弱性:底层发生错误,整个程序无法正常运行。
  • 层间通信的脆弱性:系统隔离为多个层,造成性能下降。

(2)C/S架构

  • 客户端软件的脆弱性:系统面临程序被分析、数据被截取的安全隐患。
  • 网络开放性的脆弱性:客户端直接读取服务器端数据,包含用户名、密码等致命信息。
  • 网络协议的脆弱性:不便于数据包共享,数据安全性方面有先天弊端。

(3)B/S架构

  • 系统如果使用HTTP协议,B/S架构相对C/S架构而言更容易被病毒入侵。

(4)事件驱动架构

  • 组件的脆弱性:组件削弱了自身对系统的控制能力。
  • 组件间交换数据的脆弱性:数据量大时,有效传递是问题。
  • 组件间逻辑关系的脆弱性:系统中各组件的逻辑关系变得更加复杂。
  • 事件驱动容易进入死循环。
  • 高并发的脆弱性:高并发容易导致系统数据不正确、丢失数据等现象。
  • 固定流程的脆弱性:操作不当容易引发安全问题。

(5)MVC架构

  • MVC架构的复杂性带来脆弱性。
  • 视图与控制器间紧密连接的脆弱性。
  • 视图对模型数据的低效率访问的脆弱性。

(6)微内核架构

  • 微内核架构难以进行良好的整体化优化。
  • 微内核系统的进程间通信开销较大。
  • 通信损失率高。

(7)微服务架构

  • 开发人员需要处理分布式系统的复杂结构。
  • 开发人员要设计服务之间的通信机制。
  • 服务管理的复杂性:在生产环境中管理多个不同的服务实例。