关于软件开发安全的CISSP秘籍(二)

[[172520]]

接上阅读《关于软件开发安全的CISSP秘籍(一)》

平衡安全和功能

开放和分布式环境可能同时在使用传统技术和新技术,以及企业内部网络和业务合作伙伴外网,还要保持在互联网的电子商务业务–这些情况都带来很多安全挑战。然而,我们可以通过在不同技术层面分层部署安全控制以更好地保护这些系统。作为防守的最后壁垒,部署在系统和应用层面安全控制应该尽可能严格。

软件开发安全让软件供应商面临着很多挑战和压力,这通常导致他们未能将安全构建到软件产品。对于CISSP考试,考生应该深入了解决策过程以及过于依靠基于环境的安全设备而不是从一开始构建适当水平的安全性到产品中所带来的危害。

大多数商业应用都有内置安全控制,尽管直到最近供应商才开始在默认情况中设置安全性。这迫使用户做出风险决策来降低其安全保护,而不是采用供应商推荐的水平。虽然这些做法在开始会让用户觉得麻烦,但日益增加的全球威胁级别不仅提高了商业供应商的责任,也提高了用户部分的意识和责任。

然而,构建安全软件的经济学可能涉及系统安全和功能之间的权衡。虽然很多业内人士担心当今软件安全不安全,但客户对功能的要求仍然超过安全需求。而与此同时,攻击者的技术日益纯熟,整个行业有义务寻求新的方法来发现罕见条件下的系统漏洞,并修复这些漏洞以防止它们被恶意利用。

安全构建软件程序取决于我们在每个开发阶段提升可视性和安全优先级的能力。早在项目启动阶段,我们就可以开始根据业务需求、责任风险和投资限制来制定安全目标。在整个需求和设计阶段,我们可系统地发现隐藏的功能和架构缺陷。然后,我们可在架构和测试阶段部署检查方法和自动化,以根除哪些已知编码缺陷或故障情况。在每个决策点,决策人员都应该根据风险分析来了解他们需要接受的风险,作为更低价格、更快进入市场、增加功能或提高可用性的权衡。通过使用针对安装和管理的操作清单,以及通过运用严格的变更控制方法,软件供应商可确保其产品可同时满足用户需求以及企业安全标准–不管是现在还是未来。

漏洞识别做法应该构建到应用开发过程,这包括:

  • 攻击面分析:识别和减少可由不受信任用户访问的代码数量
  • 威胁建模:这个系统性方法用于了解不同的威胁如何被执行以及成功的攻击如何发生
  • 静态分析:这个调试技术会检查代码而不会执行程序,在程序编译前执行程序。
  • Fuzzing技术:用于发现软件漏洞和缺陷。

能力成熟度集成模型(CMMI)是一种过程改进模型,它为增量式软件开发改进提供了途径。这种模型采用数字1到5来代表工艺质量和优化的成熟度等级:1=初始,2=受管理,3=已定义,4=受量化管理,5=优化。

CMMI可对应软件开发生命周期的不同阶段,包括概念定义、需求分析、设计、开发、集成、安装、操作和维护,以及在每个阶段会发生什么。它可用于评估安全工程实践以及发现改进做法。它还可用于客户评估软件供应商。在理想情况中,软件供应商可使用该模型来改进其流程,而客户可使用该模型评估供应商的做法。

编程语言和分布式计算

在简要介绍编程开发后,这部分CISSP章节涉及面向对象的编程、代码块作为类对象的封装以及如何改变和重用这些对象。在创建应用设计时,该应用的数据使用被建模,数据路径被分析。这部分主要关注对象的原子性–其凝聚力和耦合特性,因为这将提高它们可安全更新的容易程度。

软件编程语言已随着时间推移而演变,主要包括以下:

  • 第一代:机器语言
  • 第二代:汇编语言
  • 第三代:高级语言
  • 第四代:非常高级语言
  • 第五代:自然语言

每一代都增加了编程语言的能力,每种编程语言都有自己的安全问题,安全专业人员必须了解这一点。

本章节涵盖数据从应用导入和导出的方式,还有确保组件通信(COM、DCOM)标准和技术的有效性、不同系统(ORB、CORBA、ODBC、DDE)之间数据无缝交换以及在本地应用(OLE)外对数据访问,以及围绕每种使用的安全问题。

本部分还将涵盖面向服务的架构(SOA),它同时提供很多不同应用对最需要的服务的标准访问。SOA内的服务通常通过Web服务提供,这让基于Web的通信可无缝进行–使用简单对象访问协议(SOAP)、HTTP、Web服务描述语言(WSDL)、通用描述、发现和集成(UDDI)以及可扩展标记语言(XML)等基于Web的标准。

另外还有服务器端包含、客户端验证、跨站脚本以及参数验证等Web安全问题,以及每种漏洞类型的应对方法。

数据库技术

数据库包含开展业务、指导业务战略以及证明业务绩效历史的数据。在这个方面,考试内容包括数据库管理软件,以及不同类型数据库模型概述。数据库模型定义了不同数据元素之间的关系,决定了数据如何被访问,并定义了可接受的操作、提供的完整性类型以及数据如何组织。数据库模型还提供了正式的方法以概念形式表示数据,并提供操纵数据库中数据的必要方法。主要有几种类型的模型:

  • 关系型
  • 分层型
  • 网络型
  • 面向对象型
  • 对象关系型

关系型数据需要深入了解,包括如何在数据字典中表示和使用模式、它如何应用到安全中、主键和外键如何关联、检查站和保存点如何运作,以及如何维护数据集的完整性–这是确保数据不会遗落在模式外或安全控制外的关键。

如果数据不能被访问和使用,数据则失去作用;应用需要能够获取和使用数据库中的信息,它们还需要某种类型的接口和通信机制,该领域主要包含这些接口语言:

  • 开放数据库连接(ODBC)
  • 对象链接和嵌入数据库(OLE DB)
  • ActiveX数据对象(ADO)
  • Java数据库连接(JDBC)

这部分CISSP包含数据库安全问题,包括并发保护、回滚功能、两阶段提交、检查站,以及聚合和推理保护。安全稳定的数据库提供ACID特性:

  • 原子性–对数据库的更改生效
  • 一致性–传输必须符合定义的完整性限制
  • 隔离–在传输完成前,用户或流程无法查看传输
  • 持久性–当传输发生时,即是永久性

数据仓库(不同数据集聚合)和数据集市(数据仓库子集副本)构成同样的挑战,对这些系统付出的努力和成本让它们产生的元数据对企业非常有价值,这也需要高层次的保护水平。

另外,为最佳安全性管理数据系统的战略也进行了讨论,主题包括如何使用安全观点来执行安全政策、内容和背景信息推动的访问控制战略、汇聚和推理攻击带来的挑战,以及采用迂回战术(蜂窝抑制、噪音和干扰等)

安全威胁和应对方法

在这部分的CISSP中,考试准备工作包括了解影响应用及系统的最常见威胁攻击以及它们如何执行。这些常见威胁包括:拒绝服务、定时攻击、病毒、蠕虫、Trojan木马、rootkit和犯罪软件等。

专家系统和人工神经网络等采用人工智能的先进系统可帮助发现不同信息块之间的关联,并可发现网络流量或应用中可能表明攻击的异常模式。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/138757.html<

(0)
运维的头像运维
上一篇2025-03-03 04:07
下一篇 2025-03-03 04:08

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注