安全性是从事安全解决方案开发的安全专家需考虑的重点。
语言发展的历程:机器语言-汇编语言-高级语言-自然语言(4GL)
面向对象编程
高内聚
低耦合
避免和缓解故障
输入验证
应急开放:少见,一般用于多级安全系统中较低级别的组件,一个组件开放了,还有其他安全措施进行保护。
应急防护:比较安全
安全性-功能性-用户友好型 三者应相互权衡
系统开发生命周期:使用规范化的开发流程,可以在每个阶段嵌入安全性
系统开发生命周期(设计的活动)
概念定义:定义了项目用途和系统的大体需求。开发过程中重复阅读,可以明确自己的目标。需领导批准
功能需求确认:需领导批准。
控制规范的开发:每次对设计规范进行重大改动时,都应涉及安全需求。(安全需求可从预防:访问控制、授权;检测:审计、问责制;纠正:可用性和容错;此外还有加密存储等)
设计审查:涉及模块设计和模块间的交互。
代码审查走查:多次的开发人员代码审查
用户验收测试:用户验收测试之后,代码可进行部署
维护和变更管理
生命周期模型
SDLC:初始步骤之一是获得管理层的批准
成熟度:
常见生命周期模型
瀑布模型:可返回至上一步
螺旋模型:模型的模型、元模型
敏捷软件开发
软件能力成熟度模型:(SW-CMM)。软件的质量依赖于开发过程的质量
IDEAL模型
软件能力成熟度模型
初始级
可重复
已定义
受管理
持续改进
IDEAL模型
启动:概述更改业务的原因
诊断:专家给出建议
建立:建立行动计划
行动:实施解决方案
学习:改进
甘特图:显示不同项目时间、调度关系的条形图。
PERT:一种项目调度方法;用于在开发中评价软件产品的大小和计算风险评估标准差。
软件开发过程中的变更管理流程分为三个组件。
请求变更:提出需求,管理层评估成本效益。
控制变更:
发布变更:通过发布控制过程进行发布认可。
DevOps(这个过程设计到开发、测试和部署)
软件开发
质量保证
IT操作
API:有的API也需要认证调用,认证授权需要API密钥支持,不需要认证授权的不需要API支持。API密钥一定要在加密的通信信道上传输。
软件测试
软件测试的最佳时期是设计模块之时。
不应使用真实数据用于开发测试
保证测试和开发的职责分离
三种软件测试方法
白盒测试:检查程序的内部逻辑结构,并逐行执行代码。
黑盒测试:从用户的角度出发,常见的用户验收测试就是此例子。
灰盒测试:从用户的角度出发,也分析源码,为了设计测试案例,不分析程序内部的工作原理。
专门评估应用程序安全性的测试类别
静态测试:分析源码,可以使用自动化监测工具,如代码审计软件。可以发现缓冲区溢出漏洞,不需要运行应用程序。
动态测试:分析类似EXE的文件,可以web扫描工具,注意避免意外服务中断。
软件采购
IAAS
SAAS:虽然安全责任大部分有供应商负责,但组织的安全人员也不能逃脱责任。组织还应当监控供应商,审计,漏洞扫描,确保验证供应商是否保持适当控制
数据库管理系统体系结构
层次式数据库:一对多,类似于组织的体系架构
分布式数据库:多对多,逻辑上连接,实际上分布
数据库概念
度:列
基数(元祖):行
候选键:多个候选主键
主键:唯一标识行
外键(对应参照完整性):在另一个表是主键,用于关联两张表,外键不能引用不存在的主键。
所有的关机数据库,都使用SQL语言,SQL控制粒度高,可针对表、行、列、甚至是单独的单元来限制用户访问。
使数据库遵从范式的过程称为规范化。规范化可以减少冗余。(考试中不考范式)
事务的4种特征:ACID
多级数据库的安全性
当知其所需和分类级别需求不同的数据混在一起,被称为数据库污染。
数据库视图限制访问:视图存储为SQL语句的形式,不是表的形式。
视图为一种安全机制:可限制用户访问视图,而不是直接访问原始表。
数据库的并发性:采用了锁的概念。
数据库的安全机制
语义完整性
内容相关的访问控制
上下文相关的访问控制
单元抑制:对数据库字段或单元隐藏或强加更安全的约束。
数据库分区:防止聚合、污染、推理
多实例:是针对推理攻击的防范措施。具体做法在同一张数据库表中是含有同一主键的两行或者多行,且具有不同的分类等级。
噪声和扰动:在数据库中插入错误的或者欺骗的数据。
数据库的安全性只涉及基本的前门渠道访问信息。
ODBC:连接了多种数据库类型和应用程序。
存储器的类型
主存储器
辅存储器
虚拟存储
顺序访问存储
随机访问存储:RAM
易失性存储
非易失性存储
针对数据存储的两种威胁
对存储器资源的非法访问:物理访问,采用加密文件系统
隐蔽通道:此处涉及存储型隐蔽通道
理解基于知识的系统
专家系统:知识库和推理引擎,优点:不受情绪影响
神经网络:包含计算单元链,用于模拟人脑的生物推理过程,使用DELta规则,神经网络就能从经验中学习知识。涉及分层计算,需要涉及大量的训练。
神经网络的特征:线性、输入和输出映射、自适应性。
决策支持系统(DSS):