美文网首页
软件开发

软件开发

作者: fyd_cd81 | 来源:发表于2018-03-22 09:35 被阅读0次

    安全性是从事安全解决方案开发的安全专家需考虑的重点。

    语言发展的历程:机器语言-汇编语言-高级语言-自然语言(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):

    相关文章

      网友评论

          本文标题:软件开发

          本文链接:https://www.haomeiwen.com/subject/xquwqftx.html