软件安全性:设计阶段分析


  Share  
|


一个全面的设计提供了解决这个问题的问题,由产品,而且还考虑到效果的创新。 安全的一个应用还可以产生和不断增进全面设计。

一旦一个组织被丢弃的想法安全的一个特点,显然, secu纯度需要及早考虑。 而每一个组织,可能有不同的方法设计一个产品或应用外,下列做法是有益的,以保证高水平的安全设计。 设计阶段的分析,从三个方面的观点:

•全球

•组织

•组成

全球角度来看,这是最高鉴于该系统;该文件确定了需要处理的应用及其功能特性。 该组织的观点,突出了个别组件,弥补其申请。 组件观云去接受更高层次的粒度,通过审查的明确细节,每个部件及其执行情况。 渐进做法,用在这里可以更深刻更全面地分析说,也提供了一个很容易理解的流程。 这有利于管理者和开发商把适当的程序进入,以确保我们考虑的安全问题及其应用。

全球观点

许多应用出现,从一个没有实现的需要或不足,目前的解决方案。 一个好的设计,确定了以下安全问题:

•安全有关的问题,现行的办法来解决问题,还是需要得到解决

•应用程序的响应这些安全问题

•潜在的安全漏洞存在于不断创新,取得了

全球分析提供的信息,攻击者便找到否则申请后就会被释放出来。 在这一阶段,一个安全体系结构的定义应为应用。 此一架构正式级别的安全需要申请。 它有助于建立应用程序的安全范围,通过确定关系的应用及其周围地区,并在安全程度上他们所提供的。 一个安全体系结构,同时也突出了必要性,和数量,独立的保安说,申请者必须提供,以及所要求的一些特点。

全球分析,并建立一个安全体系结构做了,透过渐进式的分类模块,部件,接口和所用的方法在应用。 它们的位置和相互关系,以及他们接触到外部应用程序,用户和接口是很重要的。

全球观点的一个应用,初步提出了谚语中的"黑匣子" -唯一已知的细节,是那些被外人。 这些外在的特点和功能要求,然后分割成模块,安全性分析。

搜索厂商警告,新闻组,邮件列表,以及在线论坛透露漏洞竞争或类似的申请,是一个好方法,以了解的一些主要安全问题,有关的申请。 它还有助于指出,无效的解决办法以解决漏洞,发现在类似的申请。

案例研究中,第一期

这个假设的例子是一个个案研究,为发展成为一个以因特网商务应用。 这项服务使用户能够连接从他们的浏览器,使网上购物。

第一个层次,在设计中的应用,这是界定其能力的,独立的执行使用的方法。 这些特征可能包括以下内容:

•选择一个适当的作业系统,以主机申请

•数据库存取储存的私人和公共信息

•网络服务

•连接这些部件采用定制开发的应用软件

•连接,使金融机构为交易

从全球的角度来看,设计师辨别防伪特征,需要对每一个组成部分,这些职能。

数据库商店私人资料,对许多不同的用户,其中包括密码,信用卡号码及联络资料。 为了保护这一信息后,数据库应该有安全组件,支持限制,以物体,甚至会影响他们的加密。

网络服务器应支持保密通信与安全套接字层( ssl )的协议,而有些方法的接口与外部应用系统和数据库。 这可能是经爪哇servlets和应用程式,或cgi程序。

网络通讯是一种内在的一部分,这一系统。 网络服务器和数据库服务器软件,因此可能对单独的机器,因此,一种手段,以加强网络安全防护,沟通是必须的。

最后一个组成部分加以考虑的是实际连接到该组织授权交易。 这可能是银行或信用卡公司授权支出,由用户。 连接,有可能完成一个调制解调器或其他一块的电信设备进行交互与金融组织,并进行审定。 这些连接需要高度保安,以避免未经授权的用户访问。

这些见解都是从对知识的领域,分析竞争者的产品,并熟悉客户需求。 在这一点上,勤于研究,需要做文件,过去和现在的安全漏洞,在相关的产品。 由此产生的名单,应查明风险领域需要解决。 防伪特征的失踪,从最初的名单上的要求往往被确定通过上述分析,另外它的好处。

在我们的因特网商务例如,研究人员发现以下漏洞,在可比产品:

•数据库也没有保护计划,以致曝光的私人客户信息。

•网络服务器了漏洞允许执行恶意代码对系统。 该服务器的默认配置,也允许目录遍历,允许外部用户可以进入很多私人文件和目录系统。

• cgi模式下使用的应用软件与数据库进行通信了漏洞,允许远程攻击者冒充其他顾客。

这项研究还表明,数据保护,缓冲区溢出,默认配置,并输入验证问题,是需要加以避免的,因为这些安全漏洞经常发生的类似申请。 它也表明,厂商增加了安全功能和补丁,将保护对这些问题。 这使得认证和准入控制的重要要求,随着网络安全。

在这一点上,设计师知道的弱点与应用,方法,由其他团体回应他们,并建立一套重要的安全特性的基础上,形成一个安全体系结构。 安全体系的进一步发展在下一阶段的设计。

该组织的观点

安全不是一门精确的科学;它需要针对每个特定的应用和环境。 因此,实在没有足够的研究,从安全,只有全球性的视野。 虽然否则精心设计的应用也许是独立存在的,所有其他的应用系统,互动的所有元件在这方面的应用可能会构成安全威胁。 该组织的观点,指出了个别元素或一组元素构成整个应用,其功能,及其相互间的关系是相辅相成的。 一个因素可能是一个函数,一个类,是一个过程,或者一套这些要素归入自己的关系,以该申请。

申请时,通常作出的几项功能模块,如用户界面,网络或者通信组件,或数据存储和检索工具。

而每一个单元可能似乎相当稳固,是其与其它部件可能被处死不稳。 类似的分析相互作用有关申请后,组织层级的分析会的功能需求,并确定了建筑用的。 功能要求,让设计师能够找出一套组件和方法,提供的功能;安全性分析它们之间的,因为他们的互动产量最安全的选择,列入与应用。

增量鉴定,组织和分类的每个组成部分,在继续应用,在这个阶段。 合乎逻辑的地点,开始和嫌疑人,特别是在安全方面-是边缘的一个模块。 边缘是入境或出境站,若数据十字架之间的界限模块。 举例来说,数据十字架之间的界限单元,在这些功能:

•通过数据作为参数

•设置全局变量

•操纵共享内存

•书面资料档案

•发送数据跨越沟通的渠道,如网络

•接收用户输入

案例研究,第二阶段

在组织阶段的设计样本因特网商务应用,每个应用组件的网络服务器,数据库服务器及相关应用程式分为及其功能模块作进一步的分析。

数据库服务器具有存储元件,认证和访问控制组件,通讯组件。 web服务器的网络服务组成,一个外部的编程模型,并确保客户的沟通和安全数据库通信组件。 互动,这些部件组成一个可定义的道路,与一些地方的安全要有强大的。 以下是一个互动的网络服务器和客户,一个客户端浏览器传递敏感数据传送到网络服务器。 这个数据,然后通过向定制应用软件进行交互与数据库和金融机构。 以下数据路径通过应用,开发者可以观察点的脆弱性,在客户端通信,网络服务器应用程序互动,沟通,从网络服务器数据库中,但两者之间的相互作用。

保安要求开始形成。 应用程序必须处理这些危险地区,并提供安全,在这几种形式:

-保密通信向客户端浏览器中的形式加密的网络通信,认证的用户,以及访问控制机制,对他们的信息。

•安全互动的网络浏览器和电子商务应用,以确保系统的安全性

应用程序的完整的商业计划

•安全的通信与数据库

•安全的数据库对象

从这些要求,是一个结构开始形成。 使用ssl对网络服务器保护服务器到浏览器的通信。 应用将拥有自己的认证机制,让客户登入安全。 数据验证和保护机制,将执行也可以有组织地认为只使用最低要求的特权经营。 功能将会被纳入适用对象的保护和加密对数据库服务器。 实际的实施细则将在最后一个阶段。

相关的安全方法将上升到表面时,以下几个问题是问在组织阶段:

-我们将如何保护资料,可以通过?

-究竟是什么效果,如果其中的一个模块合格杂散数据到另一个?

•有约束的数据被界定?

•是否有可取的方法就是通过数据本身,以提高安全性?

•哪些组件,应用和用户需要获得数据? 什么样的准入要求-唯读或阅读及书写能力?

构件观点

最后观点,从设计,分析出现的是剥离的个人组成的一个应用。 最小的设计和实施细节,可引入明显的,模糊的安全问题,这是很难找到释放后。 穷人的执行也能挽回的努力投入到安全,是一个设计。

一些预防措施,建议在这里落入什么是好的编码做法,并不见得安全具体的,但他们的确有一个作用,对安全的一个应用。

安全体系是界定为一种应用,将任务的是需要有一系列的制衡,而申请者必须符合。 这些制衡,提供一个高程度的保证,这是一个应用的行为,在一个统一的方式,在发生突发性的数据或资料。

构件期审查每一块即形成一个模块。 (单元,进而形成应用) 。这些部件应加以分析,为他们个人的安全特性和相互作用,与其他组件在该模块。 出发点在研究计划方面的问题,在一个模块

-返回值

•排名和先决条件

•数据确认

-确定了应对和恢复

•权限和特权

返回值指标的成功或失败的一个函数。 组成一个个人模制成的功能,这些功能互通,并已建立了关系,使节目演出。 开发商也应该明白这意味着什么,当一个函数失败,并应作出适当反应的失败。 一个完整的了解这些关系,让开发商了解依赖关系的功能。 基于这些属地,组成一个模块,可以举办,以提高可靠性和安全性。

数据是动态的,在任何应用,它旅社之间的职能和模块,并单独申请,变造执行最初的应用,因为它这样做。 与识别模块组成,应用和组件的形式,后来这些模块,路径的数据通过一个完整的应用可以追溯到。 入职起薪点之间的模块和功能是关键因素,影响成败的申请,因此确认数据,在上述各点是至关重要的。 工作手与验证是界定响应无效的数据和异常情况。 许多应用程序未能制订回收机制,在发生突发事件;这往往导致不稳定的应用,坠毁在最早签订的完美数据。

知识的访问权限和特权所需组件的功能提供了重要的信息,为应用设计者。 以下示范的最小权限是一个好的设计实践;它建议的孤立和限制的特权,在一个运行的应用。 在大多数情况下,高层次的特权,还需要非常罕见,只有在孤立的事例。 许多应用需要高架特权的一小部分功能,致力于整个应用,以较高水平的特权,为整个的存在。 这造成一种危险的环境下,每一个漏洞被发现存在于这个特权模式。

特权,是指主要向几个不同层次的权力运行体系。 在每一个较高水平的权限,授权用户可以逐步更多的资源,在该系统中,如记忆体,其他应用,硬件设备,和数据。 根用户在unix ,署长,而该制度特别帐户窗口体现了最高级别的特权。 有很多不同程度的接入提供细粒度的访问控制,也。 细粒度的访问控制允许可定义准入和排斥方法的应用。 文件,网络流量,用户和实物,可以势必要有一套明确的权限,允许或禁止他们接触。

案例研究,第三阶段

构件相分析我国的互联网商业应用看来,在个别部件用在应用和保障他们的安全。 进入这一阶段,设计师一定要有完整的数据路径以及两者之间的关系单元。 下一颗粒步奠定了基础,为应用程序的执行情况。 目标本分析,以确定特权的各部分组成,一个是观念和组织表示,将用于实施期间,及了解如何执行将发生。 在这里,原先决定的要求转化为具体的实施办法。

设计师选择一个web服务器和一个数据库服务器在这一点上,按照既定的要求。 在我们的例子中,阿帕奇网络服务器被选中,是因为它可以作出支持ssl通信和有充分证据的方法,以互动与外部应用程序。 甲骨文数据库服务器被选中,是因为它提供了灵活性,可扩展性和安全需要在数据库中,还因为它支持基于java的互动。 爪哇被选为语文和延期执行的实际因特网商务软件,因为它的运作与网络和数据库服务器,并支持一个强有力的,可配置的安全模式。

网络服务器和数据库服务器,然后由设计确定最安全的方法,具体组成如下:

•服务器的默认配置

•安全配置的底层操作系统

•特权需要互通与java应用

•访问控制组件

美国商业软件是有组织的,以提供这些组件:

•特权规定,以履行其职能

•网络服务器互动与沟通的入职起薪点

-用户认证和访问控制方法

•会议的安全方法,以防止假冒用户

•数据库服务器的互动与沟通的入职起薪点

在此基础上,分析和组织,它决定了,只有部分的系统,要求高架作业系统特权,是商业应用。 它也需要有一个内部的一套特权各级执行用户访问控制和认证。 默认配置,使只有需要的功能,为系统的运作,和每一个作业系统是安全的硬化与上年最低限度。

商业应用,是因为那里大多数的安全部件存在。 它有责任验证用户凭证,设置访问权限数据库对象,记录每一个用户会议上,并有实际需要的情报,以确保该系统的运作。

商业应用需要的权限只有当控制网络和数据库服务器的启动和关闭。 最安全的方法来完成这些行动,确定为是一个单独的控制器的进程,增加其特权,在当时它履行开机或关机行动;然后放弃其特权,直至下一次请求。 该控制器进行通信的过程中不仅与商业应用,并利用认证的信息,以着手启动或关闭该系统。

商业应用也将加密的私人资料,然后储存在数据库中,为了保护用户凭证和财务信息。 在发生异常和错误条件,如无效的输入数据,用户认证失败,没有通讯,设计要求必须具有报告系统,可以在这个日志信息和作出适当反应的事件。

系统实施自然上升,从连续提供的分析,在此之前的全球性,组织和成分分析的阶段。 开发商使用指南和程序,以帮助他们写的代码保持高安全标准的建立。

这是一篇文章说,由陶马什querolin

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions