【CISSP是小众,与MCSE,CCNA一类的不同,资料很少。本人在准备CISSP考试。总结一些考点,供大家参考(内容主要是《CISSP认证考试权威指南(第4版)》的读书笔记,感谢作者和译者,替他们宣传一下。)】
本地/非分布式环境中的应用程序安全问题
1,病毒(Virus) 感染和破坏,通过介质或网络传播,宏病毒最阴险,编写容易,传播简单。
2,木马(Torjan Horse)
3,逻辑炸弹(Logic Bomb)
4,蠕虫(Worm)
分布式环境中的应用安全问题
1,代理(Agent,也称为Bot)替用户执行操作的智能代码对象
2,Applet 从服务器下载,在客户端执行的程序。
3,Java Applet Sun的Java平台在安全性方面比较好,对Applet的执行有一定限制。
4,ActiveX控件 与Java Applet对应的产品,支持多种开发语言,只能运行在Windows平台,没Java Applet中采用的沙箱限制,它对Windows系统有全部访问权限,并可执行特权操作。
5,对象请求代理
* 公共对象请求代理体系结构(Common Object Request Broker Architecture,CORBA)
6,Microsoft组件模型(COM和DCOM)微软用.NET FrameWork替代了DCOM。
数据库和数据仓库
数据库管理系统(DBMS)
1,层次式数据库,典型的是DNS
2,关系数据库,主要的构件是表,也就是关系(Relation)
关系数据库中的三种键
A,候选键 可以唯一表示记录的属性子集。
B,主键 从候选键中选出,用来唯一标识记录的属性。
C,外键 用于在两个表间建立关系,一个表中的外键对应另一个表中的主键。
结构化查询语言(SQL)
所有的关系型数据库都使用结构化查询语言(SQL)来访问数据。
SQL包括两个主要的部分:
数据定义语言DDL,用于创建和更改数据库的结构;
数据操纵语言DML,用于与数据库内的数据进行交互。
数据库事务的四个特征
1,原子性(Atomicity)要么全有,要么全无。
2,一致性(Consistency)事务执行前和执行后的数据必须保持一致,操作期间受影响的数据是不可用的。数据库是有并发性的,要靠加锁机制来保障这种一致性。
3,隔离性(Isolation)事务彼此之间独立操作。
4,持久性(Durability)一旦提交,就会被保留下来。
开放式数据库互连ODBC
允许应用程序通过这一接口与不同的数据库进行通信。
聚合函数(Aggregate Function)
用于将多个记录组合后生成新的信息,如Count,Min,Max,Sum,Avg等。
通过使用聚合函数,用户可能获知一些非授权信息。(如某军官可能通过查询各基地人员总数知晓人员调动情况)
知识型系统
1,专家系统 由大量的if/then语句来构成的断言系统,专家系统的判断更加全面客观。
2,神经网络 应用于语音识别,脸部识别,天气预报和思考模型等。
3,决策支持系统(DSS,Decision Support System)属于信息型应用而非操作型应用。DDS通常需要专家系统的支持。
4,安全性应用 帮助管理员收集和分析安全日志和审计数据。
软件开发
1,保证 确保安全机制能够在整个生命周期内实现,我们需要保证过程(Assurance Procedure)
2,避免系统故障
* 极限检查 可以发现如缓冲区溢出一类的错误。
* 故障防护和应急开放
A,故障防护状态(Fail-secure State)将系统置入高级别安全性,甚至可以完全禁用,直到问题解决。Windows BSOD错误就是这样的例子。
B,应急开放状态(Fail-open State)允许用户绕开失败的安全控制。
在管理软件安全性的同时,要兼顾功能性和用户友好性。
此外,安全性的提升会增加成本,增加行政管理开销,降低生产率/吞吐量。
常见的编程语言
1,机器语言
2,汇编语言
3,编译语言 最可能隐藏安全性问题,因为软件的使用者没有办法看到原始代码。
4,解释语言 不易隐藏恶意代码。
一些新的编程语言:
1,自然语言,如SQL
2,可视化语言
3,面向对象语言
系统开发生命周期
1,概念定义 所有相关人员一起确定项目用途和大体需求。
2,功能需求确定 定义具体的系统功能,确定组件及协作关系。编制需求文档。
3,保护规范的开发 访问控制,权限检查,加密,监测和审计
4,设计复审 系统设计工作开始,实现功能模块,逐个完成阶段性任务。
5,代码复审走查 编写代码,复审代码,以发现流程问题,设计/安全性缺陷等。
6,系统测试复审 开发人员完成初测,然后是Beta测试。
7,维护 后期维护
生命周期模型
1,瀑布模型(WaterFall Model)
生命周期由一系列的反复活动构成。具有反馈循环特征(Feedback Loop Characteristics)
后来又出现了改良的(Modified)瀑布模型,每个阶段都需要确认和验证。
2,螺旋模型(Spiral Model)
由多个回路构成,每个回路都是一个原型开发。
开发人员需要为每个原型应用完整的瀑布处理过程。
逐渐得到一个满足所有功能的成熟系统。
软件能力成熟度模型
(Capability Maturity Model for Software,SW-CMM,CMM或SCMM)
1,开始 没有定义软件开发过程
2,可重复 有基本的生命周期管理过程,成果可重用。
3,定义 有正式的,文档化的软件开发过程,所有开发项目都在管理模型的制约下进行。
4,管理 定量处理管理和软件质量管理
5,优化 持续改进,包括缺陷预防,技术更改管理和过程更改管理。
IDEAL模型
1,启动(Initiating)概述更改的业务原因
2,诊断(Diagnosing)分析当前状态,给出关于更改的一般性建议
3,建立(Establishing)采用诊断建议,开发具体行动计划
4,行动(Acting)执行计划,测试,改进和实现解决方案
5,学习(Learning)不断努力,直接实现目标。
更改控制
1,请求控制 用户请求,管理员分析,开发人员确定优先顺序。
2,更改控制 重现故障,实现更改
3,发布控制 发布认可,复核辅助代码都已经被清除。
配置管理
1,配置标识 记录软件产品的配置
2,配置控制 确保版本更改要与管理策略相一致
3,配置状态统计 跟踪所有授权的更改
4,配置审计 确保生产环境与统计数据一致。
软件测试
* 白盒测试
检查程序内部逻辑,逐条检查代码。
* 黑盒测试
从用户的角度提供输入,检查输出。
* 灰盒测试
结合上述两种情况的特点,测试人员从用户的角度出发,分析输入和输出,也会访问源代码,并且使用源代码来帮助测试。但测试期间不分析代码的内部工作原理。
安全控制体系结构
1,进程隔离(Process Isolation)
每个进程有自己独立的内存空间。
2,保护环(四层环)
Layer 0 操作系统本身所驻留的环,也称为特权模式或内核模式。
Layer 1 and 2 设备驱动程序和其它操作系统服务,实际使用中,大多数操作系统都不实现这两层。
Layer 3 用户应用程序,也称为用户模式或保护模式。
服务等级协议(SLA)
1,系统正常工作时间(百分比)
2,连续停机的最长时间
3,峰值负载和平均负载
4,诊断责任
5,故障恢复时间
【本单元结束】
本文出自 “西蒙[爱生活,爱学习]” 博客,谢绝转载!