版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章数据库及其应用系统的安全语义1本章概要
3.1安全的基本体系3.2系统安全基本原则3.3威胁模型3.4攻击树23.1安全的基本体系3.1.1安全的特征安全的五个基本特征:机密性:是防止信息泄漏给非授权个人、实体或过程,只允许授权用户访问的特性。完整性:完整性是信息在未经合法授权时不能被改变的特性,也就是数据在生成、存储或传输过程中保证不被偶然或蓄意地删除、修改、伪造、乱序、插入等破坏和丢失的特性。完整性要求保持数据的原样,即信息的正确生成、存储和传输。3可用性:可用性是数据库系统中,在需要时允许授权用户或实体使用的特性;或者是不正常情况下能自我恢复及状态保护,为授权用户提供有效服务的特性。非抵赖性:非抵赖性也称作不可否认性,即在数据库系统的信息交互过程中所有参与者都不可能否认或抵赖曾经完成的操作的特性。可控性:在授权范围内控制信息流向和行为方式,对信息的传播和信息的内容具有控制能力。机密性、完整性和可用性是信息安全的核心三要素,也是数据库安全的三要素。43.1.2基本安全服务安全服务的种类:鉴别服务:提供对通信中对等实体和数据来源的鉴别。也称为认证服务。访问控制服务:访问控制业务的目标是防止对任何资源的非法访问。所谓非法访问是指未经授权的使用、泄露、销毁以及发布等。包括合法授权用户的非法访问。5机密性服务:是防止信息泄漏给非授权个人、实体或过程,只允许授权用户访问的特性。完整性服务:数据完整性业务前面已经给予简述,该业务主要是防止数据被非法增删、修改或替代,从而改变数据的价值或存在。抗抵赖服务:限制合法授权用户的安全责任,为安全行为纠纷提供可以取证的凭据。6安全服务主要安全服务全称认证(AU)对等实体认证数据起源认证访问控制(AC)自主访问控制强制访问控制机密性(CO)连接机密性无连接机密性选择字段机密性业务流机密性完整性(IN)可恢复的连接完整性不可恢复的连接完整性选择字段的连接完整性无连接完整性选择字段的无连接完整性非否认(ND)数据起源的非否认传递过程的非否认73.1.3系统安全的八大机制数据加密机制访问控制机制数据完整性机制数字签名机制鉴别交换机制业务填充机制路由控制机制公证机制8一、数据加密机制需要加密层选择、加密算法选择和密钥管理。加密算法划分为对称密码体制和非对称密码体制。密码管理包括密钥的产生、密钥分配、销毁、更新9二、访问控制机制访问控制的目的是防止对信息资源的非授权访问和非授权使用信息资源。它允许用户对其常用的信息库进行适当权限的访问,限制他随意删除、修改或拷贝信息文件。访问控制技术还可以使系统管理员跟踪用户在网络中的活动,及时发现并拒绝“黑客”的入侵。10访问控制采用最小特权原则:即在给用户分配权限时,根据每个用户的任务特点使其获得完成自身任务的最低权限,不给用户赋予其工作范围之外的任何权力。自主访问控制(DAC)、强制访问控制(MAC)和基于角色的访问控制(RBAC)使用的技术是访问控制矩阵、权限、安全标记、访问时间等。11三、数据完整性机制是保护数据,以免未授权的数据乱序、丢失、重放、插入和纂改。数据完整性机制的两个方面单个数据单元或字段的完整性(不能防止单个数据单元的重放)数据单元串或字段串的完整性发送方接收方附加一个量比较这个量还要加上顺序号、时间标记和密码链12对数据单元进行签名和校验。防止数据单元的伪造、假冒、篡改和否认。传统签名的基本特点:能与被签的文件在物理上不可分割签名者不能否认自己的签名签名不能被伪造容易被验证传数字签名是传统签名的数字化,基本要求:能与所签文件“绑定”
签名者不能否认自己的签名签名不能被伪造容易被自动验证四、数字签名机制13五、鉴别交换机制交换鉴别机制通过互相交换信息的方式来确定彼此的身份。用于交换鉴别的技术有:用于认证交换的技术认证信息,如口令密码技术好被认证实体的特征为防止重放攻击,常与以下技术结合使用时间戳两次或三次握手数字签名14六、路由控制机制路由控制机制可使信息发送者选择特殊的路由,以保证连接、传输的安全。其基本功能为:路由选择路由可以动态选择,也可以预定义,以便只用物理上安全的子网、中继或链路进行连接和/或传输;路由连接在监测到持续的操作攻击时,端系统可能同网络服务提供者另选路由,建立连接;15安全策略携带某些安全标签的数据可能被安全策略禁止通过某些子网、中继或路。连接的发起者可以提出有关路由选择的警告,要求回避某些特定的子网、中继或链路进行连接和/或传输。16七、业务填充机制流量填充机制提供针对流量分析的保护。
所谓的业务填充即使在业务闲时发送无用的随机数据,制造假的通信、产生欺骗性数据单元的安全机制。该机制可用于提供对各种等级的保护,用来防止对业务进行分析,同时也增加了密码通讯的破译难度。发送的随机数据应具有良好的模拟性能,能够以假乱真。该机制只有在业务填充受到保密性服务时才有效。可利用该机制不断地在网络中发送伪随机序列,使非法者无法区分有用信息和无用信息。例:某公司出售股票。17八、公证机制有关在两个或多个实体之间通信的数据的性质,如完整性、原发、时间和目的地等能够借助公证机制而得到确保。这种保证是由第三方公证人提供的。公证人为通信实体所信任,并掌握必要信息以一种可证实方式提供所需的保证。每个通信实例可使用数字签名、加密和完整性机制以适应公证人提供的服务。当这种公证机制被用到时,数据便在参与通信的实体之间经由受保护的通信和公证方进行通信。18安全服务与安全机制的关系安全服务是由安全机制来实现的一种安全机制可以实现一种或者多种安全服务一种安全服务可以由一种或者多种安全机制来实现19机制服务加密数字签名访问控制数据完整性认证交换业务流填充路由控制公证认证对等实体认证√√√数据起源认证√√访问控制自主访问控制√强制访问控制√√机密性连接机密性√√无连接机密性√选择字段机密性√业务流机密性√√√完整性可恢复的连接完整性√√不可恢复的连接完整性√√选择字段的连接完整性√√无连接完整性√√√选择字段的无连接完整性√√√非否认数据起源的非否认√√√传递过程的非否认√√√安全服务与安全机制的关系20
3.1.4WebServices安全服务一、WebServices概念WebServices定义:WebServices是自包含的、模块化的应用程序,它可以在网络(通常为Web)中被描述、发布、查找以及调用。所谓Web服务,它是指由企业发布的完成其特别商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项应用服务。
21WebServices与WebService的区别:
WebServices是用于建构WebService的技术框架,WebService是使用WebServices技术而创建的应用实例。目的:WebService主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。22完好的封装性:WebServices具备对象的良好封装性,使用者能且仅能看到该对象提供的功能列表。也可认为是存在于Web服务器上的一组程序,这组程序被封装成一个暗箱,对外提供一个能通过Web进行调用的API接口,可用编程来调用它,其执行结果被回传到客户端。WebServices对外封装成由WSDL描述的服务,屏蔽了业务逻辑的复杂性、实现技术的多样性和开发平台的异构性。
松散耦合:当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要Web服务的调用界面不变,Web服务的实现任何变更对他们来说都是透明的,用户都可以对此一无所知。二、WebServices特征
23高度可集成能力:由于Web服务采取简单的、易理解的标准,Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB,都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。可以使用任何语言(如C、C++、VB、VC等)来编写Web服务,开发者无需更改他们的开发环境就可以生产和使用Web服务。Web服务技术不仅易于理解,并且IBM、微软等大的供应商所提供的开发工具能够让开发者快速创建、部署Web服务,已有的COM(ComponentObjectModel组件对象模型)组件、JavaBean等也可方便地转化为Web服务。
使用协议的规范性:这一特征从对象而来,但相比一般对象,其界面更加规范化和易于机器理解。这种良好的安全开放性使得以WebService构建电子商务独立安全系统成为发展的新趋势。为实现不同商业企业间的应用系统提供动态安全集成,体现电子商务的真正价值。
24WebServices体系架构中的角色包括如下三种:服务提供者:提供服务,它在服务代理处注册以配置和发布服务,等待服务可用。服务请求者:Web服务请求者就是Web功能的使用者,它使用查找操作来从服务代理者检索服务描述,然后与服务提供者绑定并调用Web服务或同它交互。服务请求者角色可以由浏览器来担当,由人或无用户界面的程序(例如,另外一个Web服务)来控制它。三、WebServices的体系架构25服务注册中心(服务代理):服务交换所,服务提供者和服务请求者之间的媒体将二者联系在一起,该角色可选。2627Web服务的应用程序三个操作:发布:为了使服务可访问,需要发布服务描述以使服务请求者可以查找它。还可以撤销发布。
查找:服务请求者直接检索服务描述或在服务注册中心中查询所要求的服务类型。运行时为了调用而检索服务的绑定和位置描述。绑定:最后需要调用服务。在绑定操作中,服务请求者使用服务描述中的绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服务的交互。[例]:学生身份验证模块的共享实现。283.1.5WebServices安全机制WebServices的安全机制构筑在现有安全机制上。包括下面七种安全机制:29一、XML数字签名:
XML数字签名:以便接收方可以证明消息发送方的身份,从而保证你的消息是来自特定方并确保XML文档内的内容没有发生改变,以保证数据完整性。
XML加密的特点:XMLSignature可以对任何能够以URI形式定位的资源做签名。既包括与签名同在一个XML文件中的元素,也包括其他XML文件中的元素,甚至可以是非XML形式的资源(比如一个图形文件),只要能被URI定位到的资源都可以应用XMLSignature.这也代表了XML签名的对象可以是动态变化的。30可以对XML文件中的任一元素做签名,也可以对整个文件做签名。实现对同一份XML文档的不同部分使用多于一种的数字签名。不仅仅在文档传送和通信的时候使用签名,还要使签名能够持久保留。既可以用非对称密钥做签名,也可以用对称密钥做签名。31二、XML加密XML加密:规定了数据加密并使用XML表示结果的过程。加密可以作用于任何地方。包括XML文档。XML加密的特点:W3C制定的新规范可以对某个文档选定的部分进行加密。支持对任意数字内容的加密,包括XML文档。确保经过加密的数据不管是在传输过程中还是在存储时,都不能被未经授权的人员访问到。32三、XML密钥管理XML密钥管理(XKMS):分发及管理在端点之间进行安全通信所需的密钥。对互联网信息进行加密、解密、签名和验证。
XKMS由两种服务组成:公钥的定位和查询等服务:即还原某一个加密的钥匙,以和另一个人进行安全通信。公钥的注册:用来发布或重新发布,或废除钥匙。
XKMS一般用于与公钥基础设施(PublicKeyInfrastructure,PKI)技术结合,以简化公钥的注册、管理和查询服务,减少客户端应用程序设置的复杂性,降低与PKI建立信任关系的复杂度。33XKMS有如下好处。减少应用程序的复杂性容易编码方便新PKI技术的部署34四、SAML安全机制SAML是安全性断言标记语言(SecurityAssertionMarkupLanguage,SAML)是用来以XML消息传输认证和授权信息的协议。它可以用来提供单点登录Web服务、认证和授权。允许不同安全系统产生的信息进行交换。35SAML三个基本组件:断言:都是关于用户(人或计算机)的一个或多个事实的声明。协议:这个协议定义了SAML请求和接收断言的方式。例如,SAML目前支持HTTP上的SOAP。绑定:详细描述了SAML请求应如何映射到HTTP上的SOAP消息交换的传输协议。SAML
三种断言类型:认证断言:验证用户的身份。属性断言:用户的特殊信息,如他的信用额度。授权断言:标识了用户具有哪些合法权限。36SAML的工作原理工作原理:用户浏览器访问认证服务器,认证服务器询问用户ID和口令。用户输入ID和口令。认证服务器检查LDAP目录,然后认证最终用户。用户从目的Web服务器请求资源,认证服务器开始与目的Web服务器的一次会话。认证服务器给最终用户发送URI,最终用户的浏览器被指向URI,URI将最终用户联接到Web服务。
37SAML的优点:使用SAML标准作为安全认证和共享资料的中间语言,能够在多个站点之间实现单点登录。SAML针对不同的安全系统提供了一个共有的框架,允许企业及其供应商、客户与合作伙伴进行安全的认证、授权和基本信息交换。由于SAML是通过XML对现有的安全模式进行描述,因此它是一个中立的平台。SAML的消息格式能够从一个源站点(SAML认证管理机构)将断言发送给一个接受者。用户合作中的事务处理速度得到加快,简化认证环境的复杂性。
38
单点登录通常是指:用户只需要在网络中主动地进行一次身份认证,随后便可以访问其被授权的所有网络资源而不需要再主动参与其他的身份认证过程。39单点登陆的原理:浏览器请求中心认证服务器,将用户名和密码传递给中心认证服务器。中心认证服务器验证成功之后,查找数据库里此用户名和密码对应的信息,根据这些信息生成一个令牌返回给浏览器。浏览器再用token访问应用系统。应用系统收到token之后,再用收到的token访问中心认证服务器,中心认证服务器通过这个token查找数据库,从而能够找到对应应用系统的用户名和密码,然后将这个用户名和密码返回给应用系统。应用系统再收到的用户名和密码进行登录。
40五、XACML机制可扩展访问控制标记语言XACML(ExtensibleAccessControlMarkupLanguage)由OASIS
2003年2月批准了一种新的标记语言,
XACML定义了一种通用的用于保护资源的策略语言和一种访问决策语言。XACML提供一套语法(使用XML定义)来管理对系统资源的访问。XACML的功能:用XACML来编写访问策略
,管理访问策略并根据策略
确定是否允许对某资源的访问。
41
XACML定义了4个主要实体:
PAP——策略管理点(PolicyAdministrationPoint)——基本上是一个存放策略的仓库。PIP——策略信息点(PolicyInformationPoint)——目录或者其他身份证明(identity)的供应者。PIP可提供被访问的资源的属性,以及试图访问该资源的实体(身份证明)。42PDP——策略决策点(PolicyDecisionPoint)——这个组件负责对访问授权的决策。PDP使用从PAP获得的策略以及从PIP获得的附加信息来进行决策。PEP——策略实施点(PolicyEnforcementPoint)——这个组件负责接收对授权的请求。PEP向PDP发送XAXML请求,然后根据PDP的决策来行动。
43
XACML的工作原理:某主体想对某个资源如文件系统或者Web服务器采取某种操作。该主体向该实体提交查询,该实体名为策略执行点(PEP)。PEP使用XACML请求语言生成请求。PEP把该请求发送到策略决策点(PDP),PDP会检查请求、检索适用于该请求的策略再根据评估策略的XACML规则,确定要不要授予访问权。这个响应返回给PEP,PEP允许或者拒绝请求方的访问。一旦按照策略完成了评估,就会返回一个是真或者是假的逻辑值表示是否允许接入,这个认证决定声明返回后,就会执行相应的操作。
44
XACML的工作原理45XACML优点:XACML是标准。标准通过了大量专家和使用者审查,开发者越是能轻松的通过标准语言来与其它应用系统协作交互。XACML是通用的。这意味着可以在大多数环境中使用,而不只是在一些特殊的环境中或对特殊的资源可以使用。一个访问控制策略编写后,可以被很多不同类型的应用程序使用。XACML是分布式的。这意味着一个访问控制策略可以被编写为引用其它任意位置的其它策略。策略既可以分散管理又可以由XACML来处理如何正确的合并不同的子策略判断结果,并作出统一的访问控制。46六、WSS安全机制Web服务安全WSS(WebServicesSecurity)标准由结构化信息标准促进组织(OASIS)开发,WSS标准为确保在基于Web服务标准的应用之间传递信息的安全提供了一个框架。WSS规定了如何保护在网络上传送的SOAP消息,包括验证、完整性保护和机密性。47WSS的操作方式:将WSS定义的名为security的安全元素,插入到SOAP头里面。SOAP头包含了运用于该消息的验证、数字签名和加密方面的所有信息。包括哪些数据被签名,哪些数据被加密以及执行这些操作的次序和使用的密钥。通过WSS,发送方可以规定安全信息的创建和失效日期。通过安全元素,发送方告诉接收方各种信息,它为接收方提供了对消息进行解密及验证所必不可少的信息,每个接收消息的节点可以包含一个安全元素。有时候客户提供的ID证明格式和许可认证格式不一致。如果采用WSS,可使连接多个网络的用户ID一次性通过认证,或者可在两个应用软件之间安全交换数据。48WSS的主要概念之一是令牌,令牌是一种数据结构,新标准提供了一个把安全令牌同信息内容联系在一起的通用机制,而且可以扩展到支持多种安全令牌格式。WSS使Web服务利用不同系统通过令牌分发密钥和其他认证信息成为可能。X.509证书和Kerberos规范以二进制令牌传送,而SAML机制和XrML许可证则是XML令牌。WSS还定义了用户名令牌,使用户名令牌可以与口令一起使用。当令牌在一条消息中被使用一次以上时,WSS还提供一个安全令牌证书,指向用于不同环境的令牌。WSS允许有选择地使用加密。譬如说,它允许应用防火墙检查未经加密的消息。49
3.2系统安全基本原则隔离原则最小特权原则纵深防御原则用户输入不信任原则关卡检察原则失效保护原则最弱连接安全化原则建立默认原则减少攻击面原则50隔离原则:分解并减少攻击面。采取措施:防火墙、最小特权账户、最小特权代码。一、隔离原则
51最小特权:指的是“在完成某种操作时所赋予系统中每个主体(用户或进程)必不可少的特权”。每个用户只能拥有刚够完成工作的最小权限。最小特权原则规定:只授予执行操作所必需的最少访问权,并且对于该访问权只准许用所需的最少时间。二、最小特权原则:
52纵深防御原则:采取多种有效防御措施促使攻击搁浅。思想:使用多重防御策略来管理风险,以便在一层防御不够时,在理想情况下,另一层防御将会阻止完全的破坏。三、纵深防御原则
53失效保护原则:系统失效时,保护敏感数据防止被任意访问。四、失效保护原则
54最弱连接安全化原则:强化系统最薄弱环节的安全监测和缓解措施。意识到系统弱点,保护整个系统安全。五、最弱连接安全化原则
55用户输入不信任原则:用户输入是对目标系统攻击的主要武器。应用程序应该彻底验证所有用户输入,然后再根据用户输入执行操作。六、用户输入不信任原则
56使用默认安全原则:需要为系统安全提供默认配置。如:默认账号、权限、策略。是简化系统的重要方式。创建安全的默认值。七、使用默认安全原则
57关卡检查原则:及早实施认证与授权。将攻击阻止在第一道门槛之外。八、关卡检查原则58减少攻击面原则:禁用应用程序不需要的模块和组件、协议和服务。减少攻击可利用的漏洞。九、减少攻击面原则593.3威胁模型3.3.1常见威胁与对策
这一节我们从攻击者的角度去考虑威胁,并了解他们可能采取的策略及攻击的最终结果。以便在系统的设计和实施阶段构建适当的手段,更加有效防御攻击。首先使用STRIDE方法将这些威胁分类。然后介绍了可能危及网络、主机基础结构和应用程序安全的最大威胁。有关这些威胁的知识和相应的对策为威胁建模过程会提供必要的信息。
60一、STRIDE威胁类型分类:应用程序所面临的威胁可根据攻击的目标和目的进行分类。熟知这些威胁的类别有助于您组织安全策略,从而对威胁作出规划的响应。STRIDE是Microsoft对不同威胁类型进行分类所使用的首字母缩略语。可以使用STRIDE进行威胁建模。STRIDE是六种威胁的字母缩略词。假冒:Spoofing篡改:Tampering否认:Repudiation信息泄漏:InformationDisclosure拒绝服务:DenialofService提升权限:ElevationofPrivilege61假冒:未授权的用户冒充应用程序的合法用户。可以使用偷取的用户凭证或假的IP地址来实现。属认证范畴。窜改:攻击者非法更改或毁坏数据。窜改数据是改变数据,不是信息揭露。属完整性范畴。否认:用户否认执行了操作的能力。就攻击者的观点,否认就是隐匿踪迹,让某件行为无法被追踪,无法归咎于肇事者。属不可抵赖范畴。62信息泄露:敏感数据被泄露给本应无权访问的人或位置。允许未授权的人取用敏感信息,像是信用卡号码、密码等。属机密性范畴。服务阻断(拒绝服务):导致系统或用户无法使用应用程序的破坏行为。让某种资源耗竭,例如网络带宽、处理器运算能力、磁盘空间。属可用性范畴。特权提升:将帐号的合法权限非法增加。比如尝试用管理员的权限去做事情,就是属于这种。属授权范畴。63二、STRIDE危险和对策假冒:用户身份使用增强的身份验证。
强制执行强大的口令政策。也就是说,口令要定期变换,口令长度最少为10位数并且包含字母和符号。不要以纯文本形式存储机密,口令加密。不用通过网络传递纯文本形式的凭证。
使用安全套接字层(SSL)保护身份验证Cookie。窜改数据:使用数据哈希和签名。
使用数字签名。使用增强的身份验证。
在通讯链接中使用反篡改协议。
使用提供消息完整性的协议来确保通讯链接的安全。
64否认:创建安全的审核记录。使用数字签名。信息泄露:强认证、强加密、机密性协议、杜绝明文传递安全凭证类信息。服务阻断:使用资源和带宽调节技术。
验证并筛选输入。特权提升:遵循最低特权的原则,使用最低特权服务帐户来运行进程和访问资源。65三、攻击方法的基本步骤调查和评估利用和渗透提升特权保留访问权拒绝服务66调查和评估:先后对潜在目标进行调查和评估。以识别和评估其特征。这些特征可能包括它所支持的服务和协议,以及潜在漏洞和入口点。攻击者使用在调查和评估阶段所收集的信息来规划最初的攻击。例如:攻击者可以通过测试检测跨站点脚本(XSS)的漏洞,以查看网页中的控件是否会返回输出。利用和渗透:对潜在目标进行调查后,下一步是利用和渗透。如果网络和主机是完全安全的,则您的应用程序(前门)将成为攻击的下一渠道。对于攻击者而言,进入应用程序最简便的方法是通过合法用户使用的同一入口。例如:通过应用程序的登录页面或不需要身份验证的页面。67提升特权:攻击者在通过向应用程序插入代码或创建与Microsoft®Windows®2000操作系统进行的已验证身份的会话来设法危及应用程序或网络的安全后,他们立即尝试提升特权。特别是,他们想得到Administrators组成员帐户提供的管理特权。他们也寻求本地系统帐户所提供的高级别特权。在整个应用程序中使用特权最低的服务帐户是针对特权提升攻击的主要防御措施。而且,许多网络级别的特权提升攻击要求交互式的登录会话。68保留访问权:获得系统的访问权后,攻击者采取措施使以后的访问更加容易,并且掩盖其踪迹。包括插入后门程序,或使用现有的缺少强大保护的帐户。掩盖踪迹通常包括清除日志和隐藏工具。因此,审核日志是攻击者的主要目标。应该确保日志文件的安全,而且应该对其进行定期分析。日志文件分析通常会揭露尝试的入侵在进行破坏之前的早期迹象。拒绝服务:无法获得访问权的攻击者通常装入拒绝服务的攻击,以防止其他攻击者使用此应用程序。对于其他攻击者而言,拒绝服务选项是他们最初的目标。例如SYN大量攻击,其中攻击者使用程序发送大量TCPSYN请求,来填充服务器上的挂起连接队列。这样便阻止了其他用户建立网络连接。69数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关,因此,从广义上讲,数据库系统的安全框架可以划分为三个层次:网络系统层次;宿主操作系统层次;数据库管理系统层次。
这三个层次构筑成数据库系统的安全体系,与数据安全的关系是逐步紧密的,防范的重要性也逐层加强,从外到内、由表及里保证数据的安全。下面就安全框架的三个层次展开论述。70四、网络系统威胁和对策从广义上讲,数据库的安全首先依赖于网络系统。随着Internet的发展和普及,越来越多的公司将其核心业务向互联网转移,各种基于网络的数据库应用系统如雨后春笋般涌现出来,面向网络用户提供各种信息服务。可以说网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大作用离不开网络系统的支持,数据库系统的用户(如异地用户、分布式用户)也要通过网络才能访问数据库的数据。网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。71网络入侵试图破坏信息系统的完整性、机密性或可信任的任何网络活动的集合,具有以下特点:没有地域和时间的限制,跨越国界的攻击就如同在现场一样方便。通过网络的攻击往往混杂在大量正常的网络活动之中,隐蔽性强。入侵手段更加隐蔽和复杂。72组成网络基础结构的主要组件是路由器、防火墙和交换机。它们保护服务器和应用程序免受攻击和入侵。最危险的网络级别威胁包括:•信息搜集•侦听•哄骗•会话劫持•拒绝服务73信息收集:网络设备和其他类型的系统一样可以被发现和分析。攻击者通常从端口扫描开始。他们在识别开放端口后,使用标志攫取和枚举来检测设备类型和确定操作系统及应用程序版本。具备了这些信息后,攻击者可以攻击那些可能未使用安全修补程序更新的已知漏洞。防止收集信息的对策包括:配置路由器以限制它们对于跟踪足迹请求的响应。配置网络软件(如软件防火墙)所驻留的操作系统,通过禁用不使用的协议和不需要的端口来防止跟踪足迹。74侦听:侦听或偷听是指监视网络传输以获取纯文本形式的密码或配置信息的行为。采用简单的数据包侦听器,攻击者可以轻易读取所有纯文本通信。而且,攻击者可以解开采用轻量级哈希算法加密的数据包,并可以破译您认为安全的有效负荷。侦听数据包要求在服务器/客户端通讯路径中有一个数据包侦听器。有助于防止侦听的对策包括:使用增强的物理安全和合适的网络分段。这是防止从本地收集通信的第一步。将通讯完全加密,包括身份验证凭证。这样即可防止攻击者使用侦听的数据包。SSL和IPSec(Internet协议安全)是加密解决方案的示例。75哄骗:哄骗是在网络上隐藏真实身份的方法。为创建哄骗身份,攻击者使用并不代表数据包真实地址的假的源地址。哄骗可用来隐藏攻击者的原始来源,或者规避网络访问控制列表(ACL),该列表用以限制基于源地址规则的主机访问。尽管从来也无法追踪到精心设计的哄骗数据包的发信人,但组合使用各种筛选规则可以防止在您的网络上生成哄骗数据包,从而使您可以显著地阻止哄骗数据包。防止哄骗的对策包括:筛选从您的外围的内部IP地址进入的数据包。筛选从无效的本地IP地址传出的数据包。76会话劫持:会话劫持也称为maninthemiddle,它欺骗服务器或客户端接受上游主机为实际的合法主机。不是上游主机而是攻击者主机操纵网络,从而攻击者的主机似乎成为期望的目标。有助于防止会话劫持的对策包括:使用加密的会话协商。使用加密的通讯通道。让自己能够得到平台修补程序通知,以消除TCP/IP漏洞,如可预测的数据包序列。77拒绝服务:拒绝服务拒绝合法用户访问服务器或服务。SYN大量攻击是网络级别拒绝服务攻击的典型示例。它容易启动且难以跟踪。攻击的目标是向服务器发送多于其处理能力的请求。此攻击利用TCP/IP连接建立机制的潜在漏洞,向服务器的挂起连接队列发送大量数据。防止拒绝服务的对策包括:应用最新的服务数据包。通过应用合适的注册表设置来强化TCP/IP堆栈,以增加TCP连接队列的大小,减少连接建立时间,并采用动态储备机制来确保连接队列不耗竭。使用网络入侵检测系统(IDS),因为它能自动检测并响应SYN攻击。78五、主机威胁和对策主机威胁存在于根据其建立应用程序的系统软件内。其中包括Windows2000、Internet信息服务(IIS)、.NETFramework和SQLServer2000,具体取决于特定的服务器角色。最危险的主机威胁包括:•病毒•特洛伊木马和蠕虫病毒•跟踪足迹•概要分析•密码破解•拒绝服务•任意代码执行•未授权访问79病毒、特洛伊木马和蠕虫病毒:病毒是一种设计用来执行恶意操作并造成操作系统或应用程序破坏的程序。特洛伊木马与病毒类似,不同的是它将恶意代码包含在看起来无害的数据文件或可执行程序内。蠕虫病毒与特洛伊木马类似,不同的是它自行在服务器之间进行复制。蠕虫病毒很难检测,因为它们通常不创建可以看到的文件。通常在蠕虫病毒开始消耗系统资源时注意到它,因为此时系统速度减慢或其他应用程序的执行终止。红色代码蠕虫病毒是攻击IIS的最臭名昭著的病毒;它依赖于特定ISAPI筛选器中的缓冲区溢出漏洞。80
尽管这三种威胁是实际攻击,但是对以下对象构成了严重的威胁:Web应用程序、这些应用程序所在的主机以及用以传输这些应用程序的网络。对任何系统的攻击都可能取得成功,这是因为系统存在许多漏洞,如脆弱的默认设置、软件缺陷和Internet协议的固有漏洞。对病毒、特洛伊木马和蠕虫病毒可以使用的对策包括:•通过最新的操作系统服务数据包和软件修补程序保持最新状态。•禁用防火墙和主机上所有不必要的端口。•禁用不使用的功能,包括协议和服务。•强化脆弱的默认配置设置。81跟踪足迹:跟踪足迹的示例有端口扫描、ping扫射和NetBIOS枚举,攻击者可使用这些方法来发现有价值的系统级别的信息,以准备更重要的攻击。可能被跟踪足迹发现的信息类型包括帐户详细信息、操作系统和其他软件版本、服务器名称和数据库方案的详细信息。有助于防止跟踪足迹的对策包括:•禁用不必要的协议。•采用相应的防火墙配置来锁定端口。•使用TCP/IP和IPSec筛选器以进行深度防•配置IIS以防止通过标志攫取泄漏信息。•使用可配置的IDS来识别跟踪足迹模式并拒绝可疑通信。82密码破解:如果攻击者无法与服务器建立匿名连接,他或她将尝试建立经过身份验证的连接。因此,攻击者必须知道一个有效的用户名和密码组合。如果您使用默认帐户名,则为攻击者创造了开始的机会。然后,攻击者只需破解帐户的密码。使用空密码或弱密码会使攻击者的工作变得更加容易。有助于防止密码破解的对策包括:•对所有帐户类型使用强密码。•对于最终用户帐户使用锁定策略,以限制可用来猜密码的重试次数。•不要使用默认帐户名,并且重命名标准帐户,如管理员帐户和许多Web应用程序所使用的匿名Internet用户帐户。•审核失败登录是否属于劫持密码尝试模式。83拒绝服务:以基础结构内的几个目标为目的的许多方法都可以实现拒绝服务。在主机上,攻击者可以通过强力攻击应用程序来中断服务,或者攻击者知道您的应用程序所在的服务中或运行服务器的操作系统中所存在的漏洞。有助于防止拒绝服务的对策包括:•以防止拒绝服务为目标,配置您的应用程序、服务和操作系统。•通过修补程序和安全更新保持最新状态。•针对拒绝服务,强化TCP/IP堆栈。•确保您的帐户锁定策略不能用来锁定众所周知的服务帐户。•确保您的应用程序能够处理大容量通信,且设置了阈值以处理反常的高负载。•检查您的应用程序的故障转移功能。•使用IDS可检测潜在的拒绝服务攻击。84任意代码执行:如果攻击者可以在您的服务器上执行恶意代码,则攻击者或者危及服务器资源的安全,或者继续攻击下游系统。如果攻击者代码运行所在的服务器进程越权,则任意代码执行所造成的危险更大。常见漏洞包括弱IID配置和无修补程序的服务器,这将允许路径遍历和缓冲区溢出攻击,都可能导致任意代码执行。有助于防止任意代码执行的对策包括:•将IIS配置为拒绝带有“../”的URL,以防止路径遍历。•锁定具有受限制的ACL的系统命令和实用程序。•通过修补程序和更新保持最新状态,以确保快速修补新近发现的缓冲区溢出。85未授权访问:不充分的访问控制会允许未授权用户访问受限制的信息或执行受限制的操作。常见漏洞包括弱IISWeb访问控制,其中包含Web权限和弱NTFS权限。有助于防止未授权访问的对策包括:•配置安全的Web权限。•锁定具有受限制的NTFS权限的文件和文件夹。•在ASP.NET应用程序内使用.NETFramework访问控制机制,包括URL授权和主要权限要求。86六、应用程序威胁和对策类别威胁输入验证缓冲区溢出;跨站点脚本;SQL插入;标准化身份验证网络偷听;强力攻击;字典攻击;Cookie重播;凭证偷窃授权特权提升;机密数据泄漏;数据篡改;诱惑攻击配置管理未授权访问管理界面;未授权访问配置存储区;检索明文配置数据;缺少各自的可说明性;越权进程和服务帐户敏感数据访问存储区中的敏感数据;网络偷听;数据篡改会话管理会话劫持;会话重播;maninthemiddle攻击加密不完善的密钥生成或密钥管理;弱加密或自定义加密参数操纵查询字符串操纵:表格字段操纵;Cookie操纵;HTTP头操纵异常管理信息泄漏;拒绝服务审核和记录用户拒绝执行操作;攻击者利用应用程序而不留踪迹;攻击者掩盖其踪迹分析应用程序级别威胁的较好方法是将其按照应用程序漏洞类别来组织。87输入验证如果攻击者发现您的应用程序对输入数据的类型、长度、格式或范围进行了无理由的假设,则输入验证是一个安全问题。攻击者然后便可提供精心设计的输入,从而危及您的应用程序的安全。当网络和主机级别入口点完全安全时,您的应用程序所暴露的公共接口则成为攻击的唯一来源。对您的应用程序进行输入既是测试系统的方法,也是执行对于攻击者有益的代码的方法。您的应用程序会盲目信任输入吗?如果是这样,则您的应用程序可能容易受下列情况的影响:•缓冲区溢出•跨站点脚本•SQL插入•标准化下一部分将详细说明这些漏洞,包括使其成为可能的原因。883.3.2威胁建模威胁建模:威胁建模是一种系统性的方法,寻找威胁与弱点,对现存的威胁进行识别和评估。从代表最强大风险的威胁开始,按照逻辑顺序使用相应的对策破除攻击。89资产:具有价值的资源,如数据库中或文件系统上的数据,或者是系统资源。威胁:可能危害资产的潜在发生(恶意或非恶意)漏洞:使威胁成为可能的弱点。攻击:所执行的危害资产的操作。对策:用以解除威胁并减轻危险的安全措施。一、威胁建模组成要素90威胁建模在系统设计的早期阶段启动、贯穿于整个应用程序生命周期的一个迭代过程。微软威胁建模步骤:(共6步)一、微软威胁建模过程91威胁模型的流程1.识别资产2.建立体系结构概述3.分解应用4.识别威胁5.将威胁存档6.评估威胁结构化的方法:辨别威胁找出对策92威胁建模过程概述识别资产:识别系统必须进行保护的有价值的资产。创建体系结构概述:使用简单的图表可以将应用程序的体系结构记录在文档中,包括子系统、信任边界和数据流。分解应用程序:分解应用程序的体系结构(包括基础网络和主机构造设计),以创建应用程序的安全配置文件。安全配置文件旨在发现应用程序的设计、实现或部署配置中的安全漏洞。93识别威胁:始终记住攻击者的目标、了解应用程序的体系结构和潜在的安全漏洞、识别可能影响应用程序的威胁。用文档记录威胁:使用定义了一组核心属性以捕获每个威胁的常用威胁模板,将每个威胁记录在文档中。评估威胁:对威胁进行评估,以便对威胁进行优先级排列,并首先致力于解决最明显的威胁。这些威胁代表最强大的风险。评估过程对威胁的可能性进行评估,以防止发生攻击而带来的损害。94威胁建模过程详解:识别资产识别需要保护的资产。一般范围包括后台数据库、中间商务逻辑与服务协同、前端应用程序接口。例如,在后台数据库中,客户订单、订单数据、资金帐户数据等资产。在中间商务逻辑与服务协同中,资金流通事务中,资金流通事务、货物流通事务、商务中介事务、法律委托事务等资产。在前端应用接口中,网页、GUI客户端及其配置。95创建体系结构概述此步骤的目标是介绍应用程序的功能、应用程序的体系结构、物理部署配置以及构成解决方案的技术。您应当在应用程序的设计或实现中不断查找潜在的安全漏洞。在该步骤中,需要执行以下任务:识别应用程序的功能。创建体系结构图表。识别技术。96识别应用程序的功能识别应用程序的功能以及应用程序如何使用并访问资产。文档使用案例来帮助您和其他人理解如何使用应用程序,还可以帮助您避免应用程序被错误地使用。使用案例可以将应用程序的功能放在具体环境中考虑。例:某自助员工人力资源应用程序的一些样例使用案例。员工将查看财务数据。员工将更新个人数据。经理将查看员工详细资料。97创建体系结构图表创建高水平的体系结构图表,用于说明应用程序的物理部署特性和应用程序及其子系统的组成和结构。根据系统的复杂性,您可能需要创建附加图表,以着重说明不同部分。例如,一个图表用于构造中级应用程序服务器的体系结构模型,另一个图表用于构造与外部系统交互作用的模型。98首先绘制一张草图,用于说明系统及其子系统的组成和结构以及系统特性。然后,通过添加有关信任边界、验证和验证机制的详细信息来完善此图,并注明何时需要这些信息。99应用程序体系结构图
100识别技术识别是用于实现应用程序的特定技术。将抽象的威胁映射为与技术细节相关的威胁,助于形成正确和最适合的缓解方案。当前,数据库应用的常规技术包括ASP.Net、Web服务、企业服务、Microsoft远程.Net和ADO.Net、Java、JSP/PHP等。另外,识别技术容易忽略的因素是应用程序将调用对不安全代码的调用。101实现技术技术/平台实现详细信息MicrosoftWindowsAdvancedServer2000上的MicrosoftSQLServer包括登录、数据库用户、用户定义的数据库功能、表、存储的过程、视图、约束和触发器。Microsoft.NETFramework用于表单身份验证。安全的SocketsLayer(SSL)用于加密HTTP通信。102分解应用程序在此步骤中,您将应用程序分解,以便基于安全漏洞的传统领域,创建应用程序的安全配置文件。您还将产生识别信任边界、数据流、入口点和特权代码。对应用程序了解得越深入,就越容易发现威胁。103应用程序分解的目标
104在该步骤中,需要执行以下任务:识别信任边界。识别数据流。识别入口点。识别特权代码。说明安全配置文件。105识别信任边界识别包含应用程序的每个有形资产的边界。对于每个子系统,请考虑是否信任上游数据流或用户输入,如果不信任,请考虑如何对数据流和输入进行验证并授权。还要考虑是否信任函数调用,如果不信任,请考虑如何对函数调用进行验证并授权。您必须能够确保相应的安全措施可以将所有入口点保护在特定的信任边界内,并确保所有入口点可以充分验证通过信任边界的所有数据的有效性。106识别数据流简单的方法是从最高级别开始,然后通过分析各个子系统之间的数据流来反复分解应用程序。越过信任边界的数据流是至关重要的,因为越过了自己的信任边界的代码应当假定数据是恶意的并执行数据有效性的完全验证。注意:数据流图表(DFD)和顺序图表有助于对系统进行正式的分解。107识别入口点应用程序的入口点同时提供了攻击的入口点。入口点可能包括用于侦听HTTP请求的前端Web应用程序。此入口点本来是要暴露给客户端。其他入口点(例如,由跨越应用程序各个层的子组件所暴露的内部入口点)的存在仅用于支持与其他组件之间的内部通信。但是,您应知道这些入口点的位置,以及它们接收的输入的类型,以防止攻击者试图绕过应用程序的前门而直接攻击内部的入口点。108对于每个入口点,您应当能够确定提供授权和验证级别的安全措施的类型。逻辑应用程序入口点包括网页提供的用户界面、Web服务提供的服务界面、服务组件和.NET远程组件以及提供异步入口点的消息队列。物理或平台入口点包括端口和Sockets。109识别特权代码特权代码可以访问特殊安全资源,并执行其他特权操作的代码。常见的安全资源类型包括DNS服务器、目录服务器、环境变量、事件日志、文件系统、消息队列、性能计数器、打印机、注册表、Sockets和Web服务。安全操作包括无人管理的代码呼叫、映像、序列化、代码访问安全权限和代码访问安全策略的处理(包括证据)。110代码访问安全策略必须授予特权代码相应的代码访问安全权限。特权代码必须确保其包含的资源和操作不会暴露给不受信任的和潜在的恶意的代码。.NET框架代码访问安全性通过执行堆栈通道来验证授予给呼叫代码的权限。但是,有时有必要覆盖此操作,不执行完全的堆栈过程。例如,当您想限制特权代码或隔离特权代码时。这样操作将开放您的代码以引诱攻击,在攻击中,恶意的代码将通过受信任的中间代码来呼叫您的代码。无论何时您覆盖由代码访问安全提供的缺省的安全操作时,请谨慎,并采取相应的安全措施。111说明安全配置文件(安全剖面)识别用于输入有效性、验证、授权、配置管理的设计和实现方法,以及应用程序最容易受安全漏洞影响的其他领域。通过识别,您将为应用程序创建一个安全配置文件。安全配置文档化。通过某种形式说明如何解决系统面临的各种威胁。下表显示了对应用程序的设计和实现的每个方面进行分析时要询问的问题的种类。112类别考虑输入有效性所有输入数据是否均有效?
攻击者是否可以向应用程序植入命令或恶意的数据?
数据越过独立的信任边界时是否验证数据的有效性?
是否信任数据库中的数据?验证通过网络传送证书是否安全?
是否使用了严格的账户策略?
是否强制使用严格的密码?
是否使用证书?
是否为用户密码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通讯网络服务员工作总结
- 二零二五年度全国少儿艺术夏令营参与合同3篇
- 二零二五年度基础设施建设投资合作协议范本3篇
- 二零二五年度个人生物质能利用合同范本4篇
- 二零二五版投标承诺书:太阳能光伏发电设备采购合同3篇
- 放假安全教育课教案
- 2025版物流园区转包合作协议合同范本3篇
- 二零二五版物业小区居民生活缴费代理服务协议3篇
- 二零二五版私人别墅买卖中介服务合同3篇
- 个人担保合同范本(2025年度升级版)
- 高中数学知识点全总结(电子版)
- 大学生创新创业教程PPT全套完整教学课件
- 小学科学项目化作业的设计与实施研究
- 2020年中考生物试卷及答案
- GB/T 10322.7-2004铁矿石粒度分布的筛分测定
- 2023新译林版新教材高中英语必修一重点词组归纳总结
- 苏教版四年级数学下册第3单元第2课时“常见的数量关系”教案
- 弘扬中华传统文化课件
- 基于协同过滤算法的电影推荐系统设计
- 消防应急预案流程图
- 《数据科学与大数据技术导论》完整版课件(全)
评论
0/150
提交评论