软件的安全要求


  Share  
|

结合找出相关的安全风险,众所周知,一个明确的应用或应用体裁,发展商必须评估安全要求,他们的申请。 这项分析应达成一个平衡的测量安全水平所需的申请。 它没有去思考极端的安全谱。 由于了解这是否属实,并保证安全是不存在的,保护儿童不受已知风险,并最大限度地减少了一些成功的袭击事件及其后果,是一个普遍可以接受的安全水平。 那些参与开发周期的申请书应决定他们自己的"可接受"的安全级别,通过考察已知风险,这些目标的应用,及所使用的方法来落实理想的保障水平。

到达安全的要求,管理者和开发者可以发现,有必要把注意力集中在以下,即俗称的风险领域:

-用户认证和访问控制

•数据存储的机密资料

•安全的外部网络通信

•安全的切入点外部应用程序和操作系统

从上述四个一般领域的应用设计和开发者能够确定一个极小集的重要特点来分析。 视功能的应用,一些危险地区更中肯比别人。

以安全或不可靠

加上安全的一个应用影响了申请,在几个方面。 它立刻变得更加复杂,因为代码路径需出现新的转机,以容纳治安方法。 表现了一个应用可能受到阻碍,特别是在加入加密业务。 这些行动是中央处理器密集由于复杂的算法。 效率的一个应用也可以被牺牲的,如果安全是应用在哪些领域提供了几个好处。 可发生这种情况,如果安全的方法是盲目地适用于所有部件的应用而不思,以他们的需要。 以下各节提供一个合理的起点,以确定了基本的安全保障要求。

尖端

这是一个很好的做法,要考虑安全,需要对每一个模块或组件内部的一个应用。 抵制呼吁申请毯治安方法跨越多个模块或组件。 相反,确定最合适程度的安全。

评估认证和访问控制的要求

用户认证是经常处理的作业系统上的应用违背了,但是有几个班级的应用可能需要处理认证它自己。 嵌入式应用,应用程序的运作必须独立于操作系统和分布式网络应用程序往往需要容纳某种程度的用户认证和访问控制。 一个常见的例子应用程序要求这些安全的方法是因特网商务(电子商务)的应用,即用户可以通过购买一个网站,或顾客数据库访问。 在这两种情况下,就有可能被许多不同的用户或用户群使用该系统需要严格控制的开放的数据。 申请时需要方法,让单独的用户可以进入该系统通过登录方法;他们也需要限制,对于个别users'respective财务数据。

确定认证和访问控制的要求,设计人员应仔细观察相互作用的应用,并与世界上包围它。 这包括方法,使用户能够访问应用-坐在直接在终端或上网,从网络两种方法可能需要不同的认证计划。 一个应用程序存取,而只能坐在桌面上,可以有效担保的经认证方法的操作系统上运行。 网络应用是接多个用户同时进行,或通过用户获取数据,由共同的数据库,提供了强大的动力,访问控制和认证。 该级别的粒度和灵活的访问控制和认证的能力,所提供的作业系统,帮助确定是否专有的方法应加以发展。 独立式或嵌入式应用方案往往是从零开始,因此需要有自己专门的方法。

要求数据存储

数据存储反映方法,用来存放私人和敏感信息。 这包括正确使用档案保护方法的基本经营制度(如再狭窄文件的权限)和更强的方法,保护个人数据元素(如加密) 。 在许多情况下,使用的操作系统的许可方式是否足以提供所需的安全程度。 加密技术可以用来保护极其敏感的数据,如用户凭证和信用信息。

至何种层次的应用需求,以数据存储,和大自然的数据驱动器的要求,为数据存储安全。 储存敏感资料往往是浇注的决定因素,如果高安全性的加密是必须的。 用户凭证,如密码,地址,电话号码,以及财务数据,应被视为敏感的,也是治疗高安全性。 配置信息的人往往可以担保,足以与标准档案权限的方法。

成形时,要求数据存储,设计者可能会被引诱来规范在一个层次上的安全。 举例来说,如果一个密码是存放在一个配置文件中,随着其他非敏感资料,诱惑,可能会强到使用加密对整个文件作为一个毛毯安全的方法。 以确定数据的存储需求,研究满足所有部件。 在这个例子中,运用加密,以nonsensitive的数据有可能被认为是效率低下,由于计算费用的加密行动,以及缺乏精细控制的其他资料档案。 一个单一的因素,无法进入系统很容易,如果整个文件是加密。 复杂性,以获取其他元素则急剧增加。

网络和入境点的安全要求

申请沟通给用户,作业系统,以及其它应用领域,通过入境点。 这可能是在相同的机器上,由于申请或横跨网络;他们往往是两地。 该方法提供的入职起薪点,以应用和支持网络通信,往往是同一个问题;因此,它们是一组,聚集在这里。

安全的网络通讯,是最好的解决所研究的内容,信息送到。 应用,利用网络沟通信息,为短信或通过静态数据可能不会要求任何强大的可靠性比议定书的支持。 再次,如在案件因特网商务,一个应用程序发送和接收敏感的用户信息,可能需要添加一个更高的安全方法。 入职起薪点也决定了保安上的需要,为应用程序沟通,在网络环境下。

入职起薪点,以一个应用需要一个高层次的分析,因为它们包含了,并提供网络通信功能。 其他人也与应用通过的入职起薪点。 这些功能区也可以得到保障,通过组合现有的操作系统的方法和定义,访问控制和认证计划的使用申请。 分析相互作用的一个应用已与外面的世界,让设计师,以确定最合适级别的安全需要。 这些相互作用和随后的入职起薪点是被归类为

-网络互动

•互动与其他应用

•互动与各自的操作系统

这些类别是众所周知的功能领域,和设计师大概已经知道,如果他们的申请相互作用,在上述任何一种礼仪。 下一步就是要考虑每个地区的安全。

网络的应用水平和系统的相互作用

互联网的普及,产生了许多新的应用,与其他部件的本地系统和远程系统。 应用程序独立运作,其他的应用和互动,不仅与自己显然并不需要网络风险分析。

网络互动的,可目前在几个层次。 一个应用可以完全客户机/服务器为导向,可用于远程系统推广到全国因特网。 安全的需求,在这些应用变得相当复杂得多,它是在单机应用。

几个属地应该分辨。 至何种层次,发展商希望提供的安全机制,在申请时须考虑的。 设计者可能决定不向台湾提供任何内部安全机制。 安全的网络应用,然后依靠的是对安全的网络上运行和沟通;网络白杨的ogy和防火墙确定的最高级别的安全,同意将应用体验。 设计师可能选择避开依赖关系,并提供最高程度的安全,并尽可能应用。 这是两个极端-大多数应用属于某个地方,在中东。

申请,也可以使用网络设施,为局部的沟通,这不是注定要超越局限,该系统上运行。 应考虑的性质,这种沟通,以确定是否实施造成不必要的风险。

需要之间的互动应用,或与操作系统并不意味着要求,为网络通信。 设计者应进行调查,实施方法,提供所需要的功能。 申请往往使用插座为基础的通信方法所提供的这些入境点,因为它们速度快,易于实现。 使用插座,可提供更多功能比是必须的,但是。 申请需要沟通,只有与其它应用,对本地系统或用自己的操作系统,有很多沟通的方法,在他们的处置,如对非互联网的插座和ipc机制。

常见的unix系统使用套接字通信,因为它们易于使用和过多的文件。 unix的支持几种口味的插座基通信,其中有两个是流行的ip插座和unix域套接字。

叶插座,顾名思义,利用知识产权的协议沟通,并支持远程网络通信,这使得本地和远程进程,以沟通与应用。 许多应用程序沟通,只有在过程中对当地的制度和不需要的网络通信能力,利用知识产权插座作为一个标准的接口。 叶插座都不甚理想,在这种情况下,因为他们提供自动获得本地和远程客户端。

域套接字使用内部的unix议定书沟通,不支持网络通信;他们提供一个面向连接的通讯通道。 域套接字有其份额的风险,如果使用不当。 unix域套接字支持通过文件的描述以及宣传资料。 这意味着指针或句柄系统其他部分可以通过从一个应用到另一个。 此功能仅可用于在unix域套接字。 如果这方面的能力是不理想或有正当理由,改道从插座为基础的沟通,以另一种工控机机制可能是一个更好的选择。

考虑到什么样的资料送到,从应用有助于界定要求其传播的方法。 设计者应评估互动功能的应用之前,把一个标准的功能。 在这个例子中,申请使用ip插座是危险,因为它允许远程系统连接到应用时,他们不应该被允许。 更好的设计文件规定的互动,只有当地的申请。 这项综合性的要求,导致了开发商,要使用其他比叶插座。

操作系统互动

互动与操作系统经常引起另一层次的安全问题。 许多层面上的互动,才能出现一个操作系统-网络互动的,跨进程通信nication ,和操纵的档案已被提到。 两种其他类型的相互作用,还需要注意:执行外部程式,并使用系统及其他外部定义来电是共同来源的剥削。 重要的问题,例如权限,认证,访问控制,并输入验证应被视为与操作系统互动。

系统调用和外部应用,目前高度危险的时候使用不当,因为他们的天性。 这些职能往往存在于图书馆正在使用的许多应用,同时,并经常提供直接进入操作系统组件和资源。 开发一个单一的应用,透过这些功能,可以影响几个应用程序和制度。

系统调用提供了进入许多普通用途和系统的具体功能。 他们允许申请与特定硬件组件以及内核级的功能。 提供安全的作业系统和组件的需求时,必须考虑到使用系统调用。 如果申请捆绑在一起,用户或网络数据与操作系统通过系统调用,设计者必须尽量减少暴露在危险的,始料不及的,不正当的数据。

执行外部应用程序,是另一种较常见的,无抵押的互动。 开发商往往设计出一种适用于呼吁其他应用各种方法。 有sev纪要原因,开发商也许要做到这一点,如分清职责,或者建立环境治理力度。 呼吁其它应用还允许开发人员利用现有的功能,以加速应用程序的执行情况。

是一个潜在的危机,呼吁另一个程序,从一个应用程序外部程序可很少是不可信的。 应用存在于一个动态的环境下,是有可能以修改或更换任何程式。 问题在于所用的方法,以电话申请。 基于unix系统往往支持功能称为系统( )和exec ( ) ,它通过随机提供的参数为一个字符串,以执行该标准的unix壳和子,分别为。 该系统( )调用返回到调用程序完成时,但exec ( )终止程序运行,并取代了它与所谓的程式。 基于windows系统有exec ( )调用允许执行其它程序。 不像在unix , windows版的exec ( )运行指定程序在一个子过程,并调用函数并不终止。 无输入验证,攻击者可以把壳元字符到输入流,迫使壳牌来说可能有害的命令和参数。 使用这些功能,是普遍遭到谴责,并应作出努力,以避免其使用,因为它们能够执行来路不明的和不受控制的申请。 另外,设计人员可以把要求的功能,直接进入应用。 使用的免费,开放源代码软件,大大降低了工作需要去做。

许多作业系统还可以使功能而言,在不同的特权层次。 在unix有其"根"的特权,窗户已"管理人"与"制度"的特权。 这些特别账户,可以执行行政任务,并有更多的互动与作业系统和服务比其他账户。 节目可以写,以提升特权时,各级专门的功能是必要的。 应用软件和操作系统上运行,可以毫不妥协的特权,如果不小心控制。

该模型的最小权限提示申请开办同一套最基本的特权需要履行的大部分职能。 功能性要求较高的特权应该被孤立变成自己的模块,但是这是有明确规定,作为一个过程,一类,申请时,或什至另一种制度。 但即使这样,那一套功能也应执行上最小特权的水平,直至这些高架特权要求。 那个时候,更高的特权,应先取得,一经完成,从功能,特权,应退还的最低水平。

元字符是字,采取特殊的含义在一个特定的背景下。 举例来说,符合标准的unix壳牌,分号( ; )是一个指挥分离器,那就是许多命令,可以放在一个单一线时,以分号的是它们之间。 管道( | )字符发送端输出,无论是继管道,使输出的一个节目,以传送到另一国。

结论

一些应用开发商选择忘记或忽视安全及其应用,并把自己在慈悲的客户的网络或操作系统及其防伪特征。 使用这种毛毯的安全模式回避责任提供安全应用向公众交代。 安全哲学意图一个强大和全面的安全思想,假设没有提到安全的外部元件,以该申请。 申请时应当始终作为安全的,因为它可以针对其自身和外部元件与它互动。 该级别的后续通过,是留给裁量设计师或开发商,但

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

Share  

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