关于软件开发安全的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和犯罪软件等。
专家系统和人工神经网络等采用人工智能的先进系统可帮助发现不同信息块之间的关联,并可发现网络流量或应用中可能表明攻击的异常模式。
作者:Shon Harris
来源:51CTO
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
移动时代 以快为先
随着无线互联网技术的突飞猛进、4G乃至5G技术的持续完善与落地,整个IT行业都在为“一切互联”这一宏伟的目标不断努力。根据IDC数据显示,从现在到2018年,可穿戴设备的装运量将产生78.4%的复合年增长率,最终在2018年达到1.119亿的世界运载量。而全球智能家居设备的市场容量,在2019年将达到4900亿美元。在刚刚结束的2015年世界移动大会上海站上,我们也可以清晰的感觉到,无论是努力发展NFV技术的运营商与解决方案供应商,还是提供车载、家电乃至婴幼儿智能化产品的厂商都对这个大市场充满了期待。 在从“向流量要效益”到“向应用要效益”的模式转换下,来自应用交付领导厂商F5公司的中国区总经理张毅强先生,也表述了自己的思考与期待。 技术领先,唯快不破 张毅强认为,无论是无线运营商准备着手落地的NFV,还是方兴未艾的SDN,对于F5都是很大的机遇。运营商通过NFV可以以虚拟化的形式部署功能模块,同时释放现有设备的潜能、控制成本,这就意味着运营商的CIO们能真正以业务为导向,快速的部署新的应用。由于现阶段的应用交付已发展成为包括安全性、可用性、身份验证和访问控制、云服务以及性能管理于一...
- 下一篇
2016年最酷的十大存储初创公司
存储行业对企业家来说仍然是片沃土,他们有管理企业越来越多数据的新方法。这也是一个苛刻的行业,并不总是能容忍投资者的错误。然而,对于每个像Nirvanix这样关闭业务的公司,或者像Pure Sotrage这样准备IPO的公司,或者像Xangati、QLogic或者SolidFire甚至是EMC这样被收购的公司来说,有新想法的其他公司总会试图取代它的位置。 2016年最酷的十大存储初创公司 并非所有的初创公司都会取得成功,其中一些创新能吸引足够多的关注,最终得到他们无法拒绝的收购要约。有些可能会花光所有钱,选择任何他们可以得到的报价。还有一些可能就会消失了。每隔一段时间,就会有一家公司展示某种创新或者市场营销手段,真正地脱颖而出,获得客户和渠道和合作伙伴的兴趣,有朝一日会变成一家老牌公司。 下面就让我们来看看在2016年走出隐身模式、或者推出了首个解决方案的10家独立存储初创公司。 Cloudistics Cloudistics位于弗吉尼亚州赖斯顿,它的超融合基础设施业务正在高速成长,在6月走出隐身模式,有消息称它在由Bain Capital Ventures领投的A轮融资中获得1500万...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,8上快速安装Gitea,搭建Git服务器
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6