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

【架构设计】安全架构设计

安全架构概述

       在当今以计算机、网络和软件为载体的数字化服务几乎成为人类社会赖以生存的手段,与之而来的计算机犯罪呈现指数上升趋势,因此,信息的可用性、完整性、机密性、可控性和不可抵赖性等安全保障有位重要,为满足这些诉求,离不开好的安全架构设计。

信息安全面临的威胁

       在网络与信息安全风险中,最重要的是人为蓄意破坏威胁,可分为被动性攻击主动性攻击

被动性攻击主要是收集信息、破坏保密性为主,不主动进行攻击,常见的攻击:

网络监听

用合法/非法手段窃取信息资源和敏感信息

非法登录

在未经授权的情况下,通过非法手段访问或使用某个系统或账户的行为

业务流分析

通过对系统进行长期监听,利用统计分析方法对诸如通信频度、通信的信息流向、通信总量的变化等参数分析,从而发现有价值的信息和规律

       主动攻击主要进行主动攻击,如中断(破坏可用性)、篡改(破坏完整性)、伪造(破坏真实性)等:

假冒

非法用户假冒合法用户、权限小的用户假冒权限大的用户

抵赖

否认自己发布过的信息、伪造对方来信

DOS拒绝服务

破坏可用性,对信息等资源的合法访问进行无条件拒绝

重放攻击

截获某次合法的信息数据,并且处于非法目的重新发送,使用时间戳可以识别重放攻击

XSS跨站脚本攻击

利用网页开发时留下的漏洞,注入恶意指令代码

缓冲区溢出攻击

利用缓冲区溢出漏洞进行攻击

SQL注入攻击

攻击者将SQL命令插入Web表单中七篇服务器执行恶意的SQL命令

旁路攻击

攻击者利用系统的安全缺陷或安全性上的脆弱之处获得非授权的权利或特权。例如,攻击者通过各种攻击手段发现原本应保密,但是却又暴露出来的一些系统“特性”利用这些“特性”,攻击者可以绕过防线守卫者侵入系统的内部。

安全模型

       我们在系统设计时,通常要识别系统可能会遇到的安全威胁,通过对系统面临的安全威胁和实施相应控制措施进行合理的评价,提出有效合理的安全技术,形成提升信息系统安全性的安全方案,是安全架构设计的根本目标。在实际应用中,安全架构设计可以从安全技术的角度考虑,主要包括:身份鉴别、访问控制、内容安全、冗余恢复、审计响应、恶意代码防范和密码技术等。

       安全模型是准确地描述安全的重要方面及其与系统行为的关系,提供了实现目标应该做什么,不应该做什么,具有实践指导意义。安全模型有许多种,可针对不同的特性、场景以及控制关系使用不同的安全模型。

       以下介绍几种常用的模型:

BLP模型

       Bell-LaPadula模型属于强制访问控制模型,以敏感度来划分安全级别。将数据划分为多安全级别与敏感度的系统,即多级安全系统。其机密性模型是第一个能够提供分级别数据机密性保障的安全策略模型(即多级安全)。

       Bell-LaPadula 模型使用主体、客体、访问操作(读、写、读/写)以及安全级别这些概念,当主体和客体位于不同的安全级别时,主体对客体就存在一定的访问限制。通过该模型可保证信息不被不安全主体访问。

(1)安全级别为“机密”的主体访问安全级别为“绝密”的客体时,主体对客体可写不可读(No ReadUp);

(2)当安全级别为“机密”的主体访问安全级别为“机密”的客体时,主体对客体可写可读;

(3)当安全级别为“机密”的主体访问安全级别为“秘密”的客体时,主体对客体可读不可写(No Write Down)。

Bell-LaPadula模型的安全规则如下:

(1)简单安全规则(Simple Security Rule):安全级别低的主体不能读安全级别高的客体(No Read Up);

(2)星属性安全规则(Star Security Property):安全级别高的主体不能往低级别的客体写(No Write Down);

(3)强星属性安全规则(Strong Star Security Property):不允许对另一级别进行读写;(4)自主安全规则(Discretionary Security Property):使用访问控制矩阵来定义说明自由存取控制。其存取控制体现在内容相关和上下文相关。

Chinese Wall模型

       在投资银行中,一个银行会同时拥有多个互为竞争者的客户,一个银行家可能为一个客户工作,但他可以访问所有客户的信息。因此,应当制止该银行家访问其他客户的数据。比如在某个领域有两个竞争对手同时选择了一个投资银行作为他们的服务机构,而这个银行出于对这两个客户的商业机密的保护就只能为其中一个客户提供服务。Chinese Wall 模型同时包括 DAC和MAC的属性,是强制访问控制模型 (MAC)的一种混合策略模型,比如银行家可以选择为谁工作(DAC),一旦选定,他就只能为该客户工作(MAC)。

ChineseWall模型的安全规则如下:

(1)与主体曾经访问过的信息属于同一公司数据集合的信息,即墙内信息可以访问;

(2)属于一个完全不同的利益冲突组的可以访问;

(3)主体能够对一个客体进行写的前提是主体未对任何属于其他公司数据集进行过访问。

Biba模型

Biba 模型不关心信息机密性的安全级别,因此它的访问控制不是建立在安全级别上,而是建立在完整性级别上。

完整性的三个目标:保护数据不被未授权用户更改;保护数据不被授权用户越权修改(未授权更改); 维持数据内部和外部的一致性。

(1)当完整性级别为“中完整性”的主体访问完整性为“高完整性”的客体时,主体对客体可读不可写(NoWrite Up,也不能调用主体的任何程序和服务;

(2)当完整性级别为“中完整性”的主体访问完整性为“中完整性”的客体时,主体对客体可读读可写;

(3)当完整性级别为“中完整性”的主体访问完整性为“低完整性”的客体时,主体对客体可写不可读;(No Read Down);

Biba模型的安全规则如下:

(1)星完整性规则(*-integrity Axiom): 表示完整性级别低的主体能对完整性级别高的客体写数据;

(2)简单完整性规则(Simple Integrity Axiom):表示完整性级别高的主体不能从完整性级别低的客体读取数据:

(3)调用属性规则(Invocation Property):表示一个完整性级别低的主体不能从级别高的客体调用程序或服务。

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

       WPDRRC(Waring/Protect/Detect/React/Restore/Counterattack)信息安全模型是我国“八六三”信息安全专家组提出的适合中国国情的信息系统安全保障体系建设模型。WPDRRC 是在PDRR(Protect/Detect/React/React/Restore) 信息安全体系模型的基础上前后增加了预警和反击功能。

       在 PDRR模型中,安全的概念已经从信息安全扩展到了信息保障,信息保障内涵已超出传统的信息安全保密,它是保护(Protect)、检测(Detect)、反应(React)、恢复 (Restore)的有机结合,称为 PDRR模型。PDRR 模型把信息的安全保护作为基础,将保护视为活动过程,要用检测手段来发现安全漏洞,及时更正;同时采用应急响应措施对付各种入侵;在系统被入侵后,要采取相应的措施将系统恢复到正常状态,这样才能使信息的安全得到全方位的保障。该模型强调的是自动故障恢复能力。

WPDRRC模型有6个环节和3大要素。

6个环节包括:预警、保护、检测、响应、恢复和反击,它们具有较强的时序性和动态性能够较好地反映出信息系统安全保障体系的预警能力、保护能力、检测能力、响应能力、恢复能力和反击能力。

3大要素包括:人员、策略和技术。人员是核心,策略是桥梁,技术是保证,落实在WPDRRC的6个环节的各个方面,将安全策略变为安全现实。

网络安全体系架构设计

OSI的安全体系架构概述

GB/T 9387.21995 给出了基于OSI参考模型的7层协议之上的信息安全体系结构。其核心内容是:为了保证异构计算机进程与进程之间远距离交换信息的安全,它定义了该系统 5大类安全服务,以及提供这些服务的8类安全机制及相应的 OSI安全管理,并可根据具体系统适当地配置于OSI模型的7层协议中。

安全服务框架

认证框架

鉴别(Authentication)的基本目的是防止其他实体占用和独立操作被鉴别实体的身份。鉴别提供了实体声称其身份的保证,只有在主体和验证者的关系背景下,鉴别才是有意义的。

鉴别的方式主要有以下几种:

(1)已知的,如一个秘密的口令

(2) 拥有的,如IC 卡、令牌等。

(3)不改变的特性,如生物特征。

(4)相信可靠的第三方建立的鉴别(递推)。

(5)环境(如主机地址等)

给出了申请者、验证者、可信第三方之间的关系及三种鉴别信息类型

访问控制框架

        访问控制 (Access Control) 决定开放系统环境中允许使用哪些资源、在什么地方适合阻止未授权访问的过程。在访问控制实例中,访问可以是对一个系统(即对一个系统通信部分的-个实体)或对一个系统内部进行的。

        ACI(访问控制信息) 是用于访问控制目的的任何信息,其中包括上下文信息。ADI(访问控制判决信息)是在做出一个特定的访问控制判决时可供 ADF 使用的部分(或全部)ACIADF (访问控制判决功能)是一种特定功能,它通过对访问请求、ADI以及该访问请求的上下文使用访问控制策略规则而做出访问控制判决。AEF(访问控制实施功能)确保只有对目标允许的访问才由发起者执行。

        当发起者请求对目标进行特殊访问时,AEF 就通知ADF 需要一个判决来做出决定。为了作出判决,给 ADF 提供了访问请求(作为判决请求的一部分) 和访问控制判决信息(ADI)。

机密性框架

       机密性(Confdentiality)服务的目的是确保信息仅仅是对被授权者可用。

  1. 通过禁止访问提供机密性通过禁止访问的机密性能通过在ITU-T Rec.812或ISO/IEC10181-3 中描述的访问控制获得,以及通过物理媒体保护和路由选择控制获得。通过物理媒体保护的机密性保护可以采取物理方法保证媒体中的数据只能通过特殊的有限设备才能检测到。数据机密性通过确保只有授权的实体才能使这些机制本身以有效的方式来实现。通过路由选择控制的机密性保护机制的目的,是防止被传输数据项表示的信息未授权泄露。在这一机制下只有可信和安全的设施才能路由数据,以达到支持机密性服务的目的。
  2. 通过加密提供机密性

这些机制的目的是防止数据泄露在传输或存储中。加密机制分为基于对称的加密机制和基于非对称加密的机密机制。

  1. 除了以下两种机密性机制外,还可以通过数据填充、通过虚假事件(如把在不可信链路上交换的信息流总量隐藏起来)、通过保护 PDU 头和通过时间可变域提供机密性

完整性框架

1.完整性概述

        完整性 (Integrity)框架的目的是通过阻止威胁或探测威胁,保护可能遭到不同方式危害的数据完整性和数据相关属性完整性。所谓完整性,就是数据不以未经授权方式进行改变或损毁的特征。

        完整性服务有几种分类方式:根据防范的违规分类,违规操作分为未授权的数据修改、未授权的数据创建、未授权的数据删除、未授权的数据插入和未授权的数据重放。依据提供的保护方法分为阻止完整性损坏和检测完整性损坏。依据是否支持恢复机制,分为具有恢复机制的和不具有恢复机制的。

2.完整性机制的类型

        由于保护数据的能力与正在使用的媒体有关,对于不同的媒体,数据完整性保护机制是有区别的,可概括为以下两种情况。

        (1)阻止对媒体访问的机制。包括物理隔离的不受干扰的信道、路由控制、访问控制。

        (2)用以探测对数据或数据项序列的非授权修改的机制。未授权修改包括未授权数据创建、数据删除以及数据重复。而相应的完整性机制包括密封、数字签名、数据重复(作为对抗其他类型违规的手段)、与密码变换相结合的数字指纹和消息序列号。

        按照保护强度,完整性机制可分为不作保护:对修改和创建的探测:对修改、创建、删除和重复的探测:对修改和创建的探测并带恢复功能:对修改、创建、删除和重复的探测并带恢复功能。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SpringBoot优雅的封装不同研发环境下(环境隔离)RocketMq自动ack和手动ack
  • Python爬虫—常用的网络爬虫工具推荐
  • 3.服务注册_服务发现
  • 口语笔记——非谓语动词
  • 【代码随想录训练营第42期 Day38打卡 - 动态规划Part6 - LeetCode 322. 零钱兑换 279.完全平方数 139.单词拆分
  • MyBatis-Plus联表查询(mybatis-plus-join)
  • 1.ftp简介
  • C++程序调用SetWindowsHookEx全局拦截键盘按键消息和窗口消息的Hook实例分享
  • 相机掉帧采集速度慢怎么办巨型帧9014
  • [随便学学]在doker服务器中实现ssh免密登陆
  • 力扣经典题目之->相同的树(递归判断两颗二叉树是否相同)
  • SpringBoot 一文复习知识点概览
  • 一个干净的python项目(没连数据库啥的)
  • 华为 2024 届校园招聘-硬件通⽤/单板开发——第一套(部分题目分享,完整版带答案,共十套)
  • 游泳耳机哪个牌子好?四大爆款游泳耳机实测,优缺点秒懂!
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Angular4 模板式表单用法以及验证
  • Consul Config 使用Git做版本控制的实现
  • hadoop集群管理系统搭建规划说明
  • java取消线程实例
  • Puppeteer:浏览器控制器
  • Python 反序列化安全问题(二)
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 回流、重绘及其优化
  • 前端之React实战:创建跨平台的项目架构
  • 我从编程教室毕业
  • 无服务器化是企业 IT 架构的未来吗?
  • k8s使用glusterfs实现动态持久化存储
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • "无招胜有招"nbsp;史上最全的互…
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • $.ajax中的eval及dataType
  • (160)时序收敛--->(10)时序收敛十
  • (3)STL算法之搜索
  • (6)设计一个TimeMap
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (全注解开发)学习Spring-MVC的第三天
  • (未解决)macOS matplotlib 中文是方框
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)linux 命令大全
  • .ai域名是什么后缀?
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .net refrector
  • .NET/C# 的字符串暂存池
  • .NET成年了,然后呢?
  • .NET正则基础之——正则委托
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • /3GB和/USERVA开关
  • @JsonFormat与@DateTimeFormat注解的使用
  • [AIGC] 开源流程引擎哪个好,如何选型?
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体
  • [CCIE历程]CCIE # 20604
  • [emuch.net]MatrixComputations(7-12)