CISP - 框架模型
博主初学 CISP 受益匪浅,故将所学知识梳理为笔记,以供查阅和复习。本章主要整理了 CISP 中所提到的框架模型、流程方针、技术指南等。
IATF 信息保障技术框架(NSA 制定)
分层策略允许在适当的时候采用低安全级解决方案以便降低信息安全保障的成本
IATF 从人、技术和操作三个层面提供一个框架实施多层保护,使攻击者即使攻破一层也无法破坏整个信息基础设施(纵深防御体系)
允许在关键区域(例如区域边界)使用高安全级保障解决方案,确保系统安全性
需要防护的三类“焦点区域”:网络和基础设施、区域边界和计算环境
PDR 模型(美国 ISS 公司提出)
- Protection(保护):就是采用一切可能的措施来保护网络、系统以及信息的安全。保护通常采用的技术及方法主要包括加密、认证、访问控制、防火墙以及防病毒等。
- Detection(检测):可以了解和评估网络和系统的安全状态,为安全防护和安全响应提供依据。检测技术主要包括入侵检测 、漏洞检测以及网络扫描等技术。
- Response(响应):在安全模型中占有重要地位,是解决安全问题的最有效办法。解决安全问题就是解决紧急响应和异常处理问题,因此,建立应急响应机制,形成快速安全响应的能力,对网络和系统而言至关重要。
P2DR 模型(美国 ISS 公司提出)
- Policy(策略):定义系统的监控周期、确立系统恢复机制、制定网络访问控制策略和明确系统的总体安全规划和原则。
- Protection(防护):通过修复系统漏洞、正确设计开发和安装系统来预防安全事件的发生;通过定期检查来发现可能存在的系统脆弱性;通过教育等手段,使用户和操作员正确使用系统,防止意外威胁;通过访问控制、监视等手段来防止恶意威胁。采用的防护技术通常包括数据加密、身份认证、访问控制、授权和虚拟专用网(VPN)技术、防火墙、安全扫描和数据备份等。
- Detection(检测):是动态响应和加强防护的依据,通过不断地检测和监控网络系统,来发现新的威胁和弱点,通过循环反馈来及时做出有效的响应。当攻击者穿透防护系统时,检测功能就发挥作用,与防护系统形成互补。
- Response(响应):系统一旦检测到入侵,响应系统就开始工作,进行事件处理。响应包括紧急响应和恢复处理,恢复处理又包括系统恢复和信息恢复。
SSE-CMM(System Security Engineering-Capability Maturity Model)系统安全工程-能力成熟度模型
SSE-CMM 包含 61 个基本实践(BP),归类成 11 种覆盖安全工程主要领域的过程域(PA);而通用实践(GP)也被归类为 12 个公共特征(CF),这 12 个公共特征(CF)被分为 5 个能力级别(Level),代表了不断增长的安全工程能力。
SSE-CMM 的能力维反映一个组织执行域维中各个过程区域的能力成熟度,能力维的最小组成单位是“通用实践(GP)”,若干个通用实践组合在一起构成通用实践的逻辑单位“公共特征(CF)”,若工程实施组织执行域维中的某一个 PA 具有若干个 CF,此工程组织的此 PA 的能力成熟度就达到了某个级别。
风险过程领域
工程过程领域
在此循环过程中还有PA07:协调安全
保证过程领域
过程能力描述结构
- Level1:非正式执行过程
- CF1.1:执行基本实践
- GP1.1.1:执行过程
- CF1.1:执行基本实践
- Level2:计划和跟踪过程
- CF2.1:计划执行
- GP2.1.1:分配资源
- GP2.1.2:指派责任
- GP2.1.3:描述过程
- GP2.1.4:提供工具
- GP2.1.5:确保培训
- GP2.1.6:计划过程
- CF2.2:训练执行
- GP2.2.1:使用计划、标准和程序
- GP2.2.2:执行配置管理
- CF2.3:检验执行
- GP2.3.1:检验过程顺应性
- GP2.3.2:审核工作产品
- CF2.4:跟踪执行
- GP2.4.1:跟踪与测量
- GP2.4.2:采取校正行为
- CF2.1:计划执行
- Level3:良好定义过程
- CF3.1:定义一个标准过程
- GP3.1.1:过程标准化
- GP3.1.2:裁减标准过程
- CF3.2:执行所定义的过程
- GP3.2.1:使用一个良好定义的过程
- GP3.2.2:执行缺陷评价
- GP3.2.3:使用良好定义的数据
- CF3.3:协调安全实践
- GP3.3.1:执行组内协调
- GP3.3.2:执行组间协调
- GP3.3.3:执行外部协调
- CF3.1:定义一个标准过程
- Level4:量化控制过程
- CF4.1:建立可测量的质量目标
- GP4.1.1:建立质量目标
- CF4.2:客观管理执行
- GP4.2.1:确定过程能力
- GP4.2.2:使用过程能力
- CF4.1:建立可测量的质量目标
- Level5:持续改进过程
- CF5.1:改进组织能力
- GP5.1.1:建立过程有效性目标
- GP5.1.2:持续改进标准过程
- CF5.2:改进过程有效性
- GP5.2.1:执行因果分析
- CF5.1:改进组织能力
微软 STRIDE 模型
- Spoofing(欺骗):先进行非法访问,并使用另一用户的身份验证信息,例如用户名和密码
- Tampering(篡改):恶意修改数据。 示例包括未经授权更改持久保存的数据(例如保存在数据库中的数据),更改通过开放网络(例如 Internet)在两台计算机之间传输的数据
- Repudiation(否认性):指用户拒绝执行某个操作,但其他操作方无法证实这种拒绝无效 - 例如,某个用户在无法跟踪受禁操作的系统中执行非法操作。 不可否认性是指系统对抗否认性威胁的能力。 例如,购买某个产品的用户可能需要在收货时签收该产品。 然后,供应商可以使用签收单来证明该用户确实收到了包裹
- Information Disclosure(信息泄露):将信息透露给本应不该有权访问这些信息的个人 — 例如,用户能够读取他们未授权访问的文件,或者入侵者能够读取在两台计算机之间传输的数据
- Denial of Service(拒绝服务):拒绝服务 (DoS) 攻击会拒绝向有效用户提供服务 — 例如,使 Web 服务器暂时不可用。 必须防范某些类型的 DoS 威胁,这只是为了提高系统的可用性和可靠性
- Elevation of Privilege(特权提升):无特权用户获得特权访问权限,从而拥有足够的访问权限来入侵或破坏整个系统。 特权提升威胁包括攻击者有效突破系统防御,成为受信任系统本身的一部分,这是非常危险的局面
SAMM(Software Assurance Maturity Model)软件保障成熟度模型
SAMM 规定了四个软件开发过程中的核心业务功能
- 治理:主要是管理软件开发的过程和活动
- 构造:主要是在开发项目中确定目标并开发软件的过程与活动
- 验证:主要是测试和验证软件的过程与活动
- 部署
微软安全开发生命周期(SDL)
- 培训:核心安全培训
- 要求:建立安全要求,创建 Gates Gates/Bug 条形图,安全性与隐私风险评估
- 设计:建立设计要求,分析供给面,威胁建模
- 实施:使用批准的工具,启用不安全的函数,静态分析
- 验证:动态分析,模糊测试,攻击面评析
- 发布:事件响应计划,最终安全性评析,发布存档
- 响应:执行事件响应计划
软件安全开发 BSI(Build Security In)模型
BSI 含义是指将安全内建到软件开发过程中,而不是可有可无,更不是游离于软件开发生命周期之外
BSI 系列模型强调应该使用工程化的方法来保证软件安全,即在整个软件开发生命周期中都要确保将安全作为软件的一个有机组成部分
软件安全的三根支柱:应用风险管理、软件安全的接触点、知识
软件安全触点是软件开发生命周期中一套轻量级最优工程化方法,它提供了从不同角度保障安全的行为方式
PDCERF 信息安全应急响应方法论(管理流程)(1987 年美国宾夕法尼亚匹兹堡软件工程研究所提出)
- Preparation(准备)
- Detection(检测)
- Containment(抑制/遏制)
- Eradication(根除)
- Recovery(恢复)
- Follow-up(跟踪总结)
PDCA 循环(戴明环)
- Plan(计划):分析问题、发现问题、确定方针、目标和活动计划
- Do(实施并运行):实施、具体运作,首先计划中的内容
- Check(检查并评审):检查、总结执行计划的结果,明确效果,找出问题
- Action(保持改进):根据 ISMS 审核、管理评审的结果及其他相关信息,采取纠正和预防措施,实现 ISMS
访问控制模型
DAC 自主访问控制模型
是一种广泛应用的方法
客体的属性(创建者)决定该客体的访问权限
灵活,具有较好的易用性和可扩展性
安全性不高
强制访问控制模型
要求主体和客体都有一个固定的安全属性,系统用该安全属性来决定一个主体是否可以访问某个客体。该模型具有一定的抗恶意程序攻击能力,适用于专用或安全性要求较高的系统
RBAC 基于角色的访问控制模型
便于授权管理(角色的变动远远低于个体的变动)
便于处理工作分级,如文件等资源分级管理
利用安全约束,容易实现各种安全策略,如最小特权、职责分离等
便于任务分担,不同角色完成不同的任务
基本思想是根据用户所担任的角色来决定用户在系统中的访问权限,该模型便于实施授权管理和安全约束,容易实现最小特权、职责分离等各种安全策略
分为 RBAC0、RBAC1、RBAC2、RBAC3 四种类型
- RBAC0:含有 RBAC 核心部分
- RBAC1:包含 RBAC0,另含角色继承关系(RH)
- RBAC2:包含 RBAC0,另含限制(Constraints)
- RBAC3:包含所有层次内容,是一个完整模型
风险评估
根据威胁属性和脆弱性属性确认安全事件发生的可能性
根据资产属性和脆弱性属性确认安全事件造成的损失
实施流程
- 风险评估准备阶段:《风险评估方案》《风险评估计划书》
- 风险要素识别阶段:《需要保护的资产清单》《面临的威胁列表》《存在的脆弱性列表》《已有安全措施列表》
- 风险分析阶段:《风险计算报告》
- 风险结果判定阶段:《风险程度等级列表》《风险评估报告》
信息安全保障
- 原则
- 保障和促进信息化发展
- 维护企业和公民的合法权益
- 构建安全可信的网络信息传播秩序
- 保护互联网知识产权
- 定义
- 防止信息泄露、修改和破坏
- 检测入侵行为,计划和部署针对入侵行为的防御措施
- 采用安全措施和容错机制,在遭受到攻击的情况下保证机密性、私密性、完整性、抗抵赖性、真实性、可用性和可靠性
- 修复信息和信息系统所遭受的破坏
信息安全需求
信息安全需求是安全方案设计和安全措施实施的依据
信息安全需求应当是从信息系统所有者(用户)的角度出发,使用规范化、结构化的语言来描述信息系统安全保障需求
信息安全需求应当基于信息安全风险评估结果、业务需求和有关政策法规和标准的合规性要求得到
公众服务信息系统的功能设计方案来自于信息安全需求
风险管理
背景建立
风险管理的第一步是背景建立
背景建立的依据是国家、地区或行业的相关政策、法律、法规和标准,以及机构的使命、信息系统的业务目标和特性
背景建立阶段应调查信息系统的业务目标、业务特性、管理特性和技术特性,形成信息系统的描述报告
背景建立阶段应分析信息系统的体系结构和关键要素,分析信息系统的安全环境和要求,形成信息系统的安全要求报告
残余风险
残余风险是采取了安全措施后,仍然可能存在的风险,一般来说,是在综合考虑了安全成本与效益后不去控制的风险
残余风险应受到密切监视,它会随着事件的推移而发生变化,可能会在将来诱发新的安全事件
实施风险处理时,应将残余风险清单告知信息系统所在组织的高管,使其了解残余风险的存在和可能造成的后果
风险管理的目标不是把风险降到最低,而是降到可接受的程度
项目管理
项目管理是一门关于项目资金、时间、人力等资源控制的管理科学
项目管理,就是项目的管理者,在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效管理
项目管理包括对项目范围、时间、成本、质量、人力资源、沟通、风险、采购、集成的管理
项目管理是系统工程思想针对具体项目的实践应用
数据库安全策略
- 最小特权策略:让用户可以合法的存取或修改数据库的前提下,分配最小的特权,使得这些信息恰好能够完成用户的工作,其余的权利一律不给。因为对用户的权限进行适当的控制,可以减少泄密的机会和破坏数据库完整性的可能性。
- 最大共享策略:在保证数据库的完整性、保密性和可用性的前提下,最大程度地共享数据库中的信息。
- 粒度适当策略:将数据库中不同的项分成不同的颗粒,颗粒越小,安全级别越高。通常要根据实际决定粒度的大小。
- 按内容存取控制策略:根据数据库的内容,不同权限的用户访问数据库的不同部分。
- 开系统和闭系统策略:数据库在开放的系统中采取的策略为开系统策略。开系统策略即除了明确禁止的项目,数据库的其他的项均可被用户访问。数据库在封闭系统中采取的策略称闭系统策略。闭系统策略即在封闭的系统中,除了明确授权的内容可以访问,其余均不可以访问。
- 按上下文存取控制策略:这种策略包括两方面:一方面限制用户在其一次请求中或特定的一组相邻的请求中不能对不同属性的数据进行存取;另一方面可以规定用户对某些不同属性的数据必须一组存取。这种策略是根据上下文的内容严格控制用户的存取区域。
- 根据历史的存取控制策略:有些数据本身不会泄密,但当和其他的数据或以前的数据联系在一起时可能会泄露保密的信息。为防止这种推理的攻击,必须记录主数据库用户过去的存取历史。根据其以往执行的操作,来控制其现在提出的请求。
数据库日志
一个完整的运行日志是数据库恢复机制的核心。数据库日志记录每个事务的关键操作信息,比如更新操作的数据改前值和改后值。数据库事务顺利执行完毕,称之为提交;发生故障时数据未存储到固定存储器上,数据有可能不完整,恢复时就要回滚事务。回滚就是把做过的更新取消。取消更新的方法就是从日志中取出数据的改前值,写回到数据库里去。提交表示数据库成功进入新的完整状态,回滚意味着把数据库恢复到故障发生前的完整状态。
关系型数据库完整性规则
关系型数据库提供了三类完整性规则:实体完整性规则、参照完整性规则和用户自定义完整性规则。在这三类完整性规则中,实体完整性规则和参照性完整性规则时关系模型必须满足的完整性约束条件,称为关系完整性规则
- 域(列)完整性:域完整性是对数据表中字段属性的约束,通常指数据的有效性,它包括字段的值域、字段的类型以及字段的有效规则等约束,它是由确定关系结构时所定义字段的属性决定的。限制数据类型、缺省值、规则、约束是否可以为空,域完整性可以确保不会输入无效的值
- 实体(行)完整性:实体完整性是对关系中的记录唯一性,也就是主键的约束。准确地说,实体完整性是指关系中的主属性值不能为 Null 且不能有相同值。定义表中的所有行能唯一的标识,一般用主键,唯一索引 unique 关键字,及 identity 属性,比如我们的身份证号码,可以唯一标识一个人
- 参照完整性:参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外键的约束。准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或者是 Null。参照完整性维护表间数据的有效性、完整性,通常通过建立外部键联系另一表的主键实现,还可以用触发器来维护参照完整性
SSL(Secure Sockets Laysr)安全套接层协议
SSL 协议位于 TCP/IP 协议层和应用协议层之间
SSL 协议广泛应用于 Web 浏览器与服务器之间的身份认证和加密数据传输
SSL 是一种可靠的端到端的安全服务协议
IPSec VPN(Internet Protocol Security Virtual Private Network)互联网协议安全虚拟专用网
IPSec 协议支持使用数字证书
IPSec 协议对于 IPV4 和 IPv6 网络都是适用的
IPSec 有两种工作模式:传输模式和隧道模式
IPSec 支持认证、保密性和完整性
IPSec 协议包括封装安全载荷(ESP)和鉴别头(AH)两种通信保护机制
在传送模式中,保护的是 IP 负载
验证头协议(Authentication Head,AH)和 IP 封装安全载荷协议(Encapsulating Security Payload,ESP)都能以传输模式和隧道模式工作
在隧道模式中,保护的是整个互联网协议(Internet Protocol,IP)包,包括 IP 头
配置 MD5 安全算法可以提供可靠的数据完整性验证
配置 AES 算法可以提供可靠的数据加密
部署 IPSec VPN 网络时,需要考虑 IP 地址的规划,尽量在分支点使用可以聚合的 IP 地址段,来减少安全关联(Security Authentication,SA)资源的消耗
Kerberos 认证协议
Kerberos 协议是常用的集中访问控制协议,通过可信第三方的认证服务,减轻应用服务器的负担。
Kerberos 运行环境由密钥分发中心(KDC)、应用服务器和客户端三个部分组成。其中,KDC 分为 AS(认证服务器)和 TGS(票据授予服务器)两部分
Kerberos 认证协议的优点:单点登录,只要用户拿到了 TGT 并且该 TGT 没有过期,就可以使用该 TGT 通过 TGS 完成到任何一个服务器的认证而不必重新输入密码
第一阶段:Kerberos 获得票据许可票据
第二阶段:Kerberos 获得服务器许可票据
第三阶段:Kerberos 获得服务
S/MIME(Secure Multipurpose Internet Mail Extension)安全的多用途互联网邮件扩展
S/MIME 采用了非对称密码学机制
S/MIME 支持数字证书
S/MIME 支持用户身份认证和邮件加密
S/MIME 的功能:保护 MIME 实体。PKCS 为一组公钥密钥规则。用签名和加密保护 MIME 实体。MIME 实体按 MIME 消息准备规则进行准备工作,然后将 MIME 实体和一些安全相关的数据一起用 S/MIME 处理,得到所谓的 PKCS 对象,最后将 PKCS 对象作为消息内容封装到 MIME 中
PGP(Pretty Good Privacy)软件
PGP 可以实现对邮件的加密、签名和认证
PGP 可以实现数据压缩
PGP 可以对邮件进行分段和重组
PGP 的安全业务
- 数字签名:DSS/SHA 或 RSA/SHA
- 完整性:RSA 和 MD5
- 消息加密:CAST-128 或 IDEA 或 3DES+Diffie-Hellman 或 RSA
- 数据压缩:ZIP
- 邮件兼容:Radix 64:将任意二进制输入转换成可打印的字符输出的编码技术
入侵检测系统
- 作用
- 防火墙的重要补充
- 构建网络安全防御体系重要环节
- 克服传统防御机制的限制
- 功能
- 监测并分析用户和系统的活动
- 核查系统配置和漏洞
- 对操作系统进行日志管理,并识别违反安全策略的用户活动
- 针对已发现的攻击行为作出适当的反应,如告警、中止进程等
- 异常入侵检测
- 在异常入侵检测中,观察到的不是已知的入侵行为,而是系统运行过程中的异常现象
- 异常入侵检测可以通过获得的网络运行状态数据,判断其中是否含有攻击的企图,并通过多种手段向管理员报警
- 异常入侵检测不但可以发现从外部的攻击,也可以发现内部的恶意行为
电子取证
计算机取证是使用先进的技术和工具,按照标准规程全面地检查计算机系统,以提取和保护有关计算机犯罪的相关证据的活动
取证的目的包括:通过证据查找肇事者、通过证据推断犯罪过程、通过证据判断受害者损失程度及收集证据提供法律支持
提取和保护的是电子证据,相关工作主要围绕两个方面进行:证据的获取和证据的分析
计算机取证的过程可以分为准备、保护、提取、分析和提交五个步骤
恶意代码隐藏技术
- 进程隐藏
- 进程迷惑
- DLL 注入
- 网络隐藏
- 端口复用
- 无端口
- 反向端口
- 系统隐藏
- 隐藏(系统)文件
- 流文件隐藏
- Hook 技术
反调试技术
- 反动态调试的实现
- 封锁键盘输入和屏幕显示
- 中止调试软件
- 恶意代码程序自动退出
- 反静态调试的实现
- 加壳:对恶意代码的可执行二进制程序进行压缩,使其执行流程发生变化
- 加密:随着加密密钥的变化,恶意代码会产生不同的表现形式,进一步提高了其抗静态分析的能力
- 代码混淆:通过插入伪指令、混淆程序数据和控制流等方法,防止静态分析和检测
MFA 多重要素认证
Security+ | CISP | 举例 |
---|---|---|
What you know | 实体所知的鉴别方法 | 口令、PIN 码、安全问题 |
What you have | 实体所有的鉴别方法 | 令牌、IC 卡、验证码 |
Who you are | 基于实体特征的鉴别方法 | 掌纹、声纹、指纹、虹膜、视网膜 |
Defects/KLOC(软件缺陷密度)
缺陷密度 = 缺陷数量➗每千行代码或功能点的数量