第三章数据库及其应用系统的安全语义.ppt

上传人:本田雅阁 文档编号:2557205 上传时间:2019-04-07 格式:PPT 页数:124 大小:608.01KB
返回 下载 相关 举报
第三章数据库及其应用系统的安全语义.ppt_第1页
第1页 / 共124页
第三章数据库及其应用系统的安全语义.ppt_第2页
第2页 / 共124页
第三章数据库及其应用系统的安全语义.ppt_第3页
第3页 / 共124页
亲,该文档总共124页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第三章数据库及其应用系统的安全语义.ppt》由会员分享,可在线阅读,更多相关《第三章数据库及其应用系统的安全语义.ppt(124页珍藏版)》请在三一文库上搜索。

1、1,第 三 章 数据库及其应用系统 的安全语义,2,本 章 概 要,3.1 安全的基本体系 3.2 系统安全基本原则 3.3 威胁模型 3.4 攻击树,3,3.1 安全的基本体系,3.1.1 安全的特征 安全的五个基本特征: 机密性:是防止信息泄漏给非授权个人、实体或过程,只允许授权用户访问的特性。 完整性:完整性是信息在未经合法授权时不能被改变的特性,也就是数据在生成、存储或传输过程中保证不被偶然或蓄意地删除、修改、伪造、乱序、插入等破坏和丢失的特性。完整性要求保持数据的原样,即信息的正确生成、存储和传输。,4,可用性:可用性是数据库系统中,在需要时允许授权用户或实体使用的特性;或者是不正常

2、情况下能自我恢复及状态保护,为授权用户提供有效服务的特性。 非抵赖性:非抵赖性也称作不可否认性,即在数据库系统的信息交互过程中所有参与者都不可能否认或抵赖曾经完成的操作的特性。 可控性:在授权范围内控制信息流向和行为方式,对信息的传播和信息的内容具有控制能力。 机密性、完整性和可用性是信息安全的核心三要素,也是数据库安全的三要素。,5,3.1.2 基本安全服务,安全服务的种类: 鉴别服务:提供对通信中对等实体和数据来源的鉴别。也称为认证服务。 访问控制服务:访问控制业务的目标是防止对任何资源的非法访问。所谓非法访问是指未经授权的使用、泄露、销毁以及发布等。包括合法授权用户的非法访问。,6,机密

3、性服务:是防止信息泄漏给非授权个人、实体或过程,只允许授权用户访问的特性。 完整性服务:数据完整性业务前面已经给予简述,该业务主要是防止数据被非法增删、修改或替代,从而改变数据的价值或存在。 抗抵赖服务:限制合法授权用户的安全责任,为安全行为纠纷提供可以取证的凭据。,7,8,3.1.3 系统安全的八大机制,数据加密机制 访问控制机制 数据完整性机制 数字签名机制 鉴别交换机制 业务填充机制 路由控制机制 公证机制,9,一、数据加密机制,需要加密层选择、加密算法选择和密钥管理。 加密算法划分为对称密码体制和非对称密码体制。 密码管理包括密钥的产生、密钥分配、销毁、更新,10,二、访问控制机制,访

4、问控制的目的是防止对信息资源的非授权访问和非授权使用信息资源。它允许用户对其常用的信息库进行适当权限的访问,限制他随意删除、修改或拷贝信息文件。访问控制技术还可以使系统管理员跟踪用户在网络中的活动,及时发现并拒绝“黑客”的入侵。,11,访问控制采用最小特权原则:即在给用户分配权限时,根据每个用户的任务特点使其获得完成自身任务的最低权限,不给用户赋予其工作范围之外的任何权力。 自主访问控制(DAC)、强制访问控制(MAC)和基于角色的访问控制(RBAC) 使用的技术是访问控制矩阵、权限、安全标记、访问时间等。,12,三、数据完整性机制,是保护数据,以免未授权的数据乱序、丢失、重放、插入和纂改。

5、数据完整性机制的两个方面 单个数据单元或字段的完整性(不能防止单个数据单元的重放) 数据单元串或字段串的完整性,还要加上顺序号、时间标记和密码链,13,对数据单元进行签名和校验。防止数据单元 的伪造、假冒、篡改和否认。 传统签名的基本特点: 能与被签的文件在物理上不可分割 签名者不能否认自己的签名 签名不能被伪造 容易被验证 传数字签名是传统签名的数字化,基本要求: 能与所签文件“绑定” 签名者不能否认自己的签名 签名不能被伪造 容易被自动验证,四、数字签名机制,14,五、鉴别交换机制,交换鉴别机制通过互相交换信息的方式来确定彼此的身份。用于交换鉴别的技术有: 用于认证交换的技术 认证信息,如

6、口令 密码技术 好被认证实体的特征 为防止重放攻击,常与以下技术结合使用 时间戳 两次或三次握手 数字签名,15,六、路由控制机制,路由控制机制可使信息发送者选择特殊的路由,以保证连接、传输的安全。其基本功能为: 路由选择 路由可以动态选择,也可以预定义,以便只用物理上安全的子网、中继或链路进行连接和/或传输; 路由连接 在监测到持续的操作攻击时,端系统可能同网络服务提供者另选路由,建立连接;,16,安全策略 携带某些安全标签的数据可能被安全策略禁止通过某些子网、中继或路。连接的发起者可以提出有关路由选择的警告,要求回避某些特定的子网、中继或链路进行连接和/或传输。,17,七、业务填充机制,流

7、量填充机制提供针对流量分析的保护。 所谓的业务填充即使在业务闲时发送无用的随机数据,制造假的通信、产生欺骗性数据单元的安全机制。该机制可用于提供对各种等级的保护,用来防止对业务进行分析,同时也增加了密码通讯的破译难度。发送的随机数据应具有良好的模拟性能,能够以假乱真。该机制只有在业务填充受到保密性服务时才有效。 可利用该机制不断地在网络中发送伪随机序列, 使非法者无法区分有用信息和无用信息。 例:某公司出售股票。,18,八、公证机制,有关在两个或多个实体之间通信的数据的性质, 如完整性、原发、时间和目的地等能够借助公证机制而得到确保。 这种保证是由第三方公证人提供的。公证人为通信实体所信任,

8、并掌握必要信息以一种可证实方式提供所需的保证。 每个通信实例可使用数字签名、加密和完整性机制以适应公证人提供的服务。当这种公证机制被用到时, 数据便在参与通信的实体之间经由受保护的通信和公证方进行通信。,19,安全服务与安全机制的关系,安全服务是由安全机制来实现的 一种安全机制可以实现一种或者多种安全服务 一种安全服务可以由一种或者多种安全机制来实现,20,安全服务与安全机制的关系,21,3.1.4 Web Services安全服务 一、Web Services概念 Web Services定义:Web Services是自包含的、模块化的应用程序,它可以在网络(通常为Web)中被描述、发布、

9、查找以及调用。 所谓Web服务,它是指由企业发布的完成其特别商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项应用服务。,22,Web Services与Web Service的区别: Web Services是用于建构Web Service的技术框架, Web Service是使用Web Services技术而创建的应用实例。 目的:Web Service主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。 这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。,23,完好的封装性: Web Services

10、具备对象的良好封装性,使用者能且仅能看到该对象提供的功能列表。 也可认为是存在于Web服务器上的一组程序,这组程序被封装成一个暗箱,对外提供一个能通过Web进行调用的API接口,可用编程来调用它,其执行结果被回传到客户端。 Web Services 对外封装成由WSDL描述的服务,屏蔽了业务逻辑的复杂性、实现技术的多样性和开发平台的异构性。 松散耦合:当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要Web服务的调用界面不变,Web服务的实现任何变更对他们来说都是透明的,用户都可以对此一无所知。,二、 Web Services特征,24,高度可集成能力:由于W

11、eb服务采取简单的、易理解的标准,Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB,都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。可以使用任何语言(如C、C+、VB、VC等)来编写Web服务,开发者无需更改他们的开发环境就可以生产和使用Web服务。Web服务技术不仅易于理解,并且IBM、微软等大的供应商所提供的开发工具能够让开发者快速创建、部署Web 服务,已有的COM(Component Object Model 组件对象模型) 组件、Java Bean 等也可方便地转化为Web 服务。 使用协议的规范性:

12、这一特征从对象而来,但相比一般对象,其界面更加规范化和易于机器理解。 这种良好的安全开放性使得以Web Service 构建电子商务独立安全系统成为发展的新趋势。为实现不同商业企业间的应用系统提供动态安全集成,体现电子商务的真正价值。,25,Web Services体系架构中的角色包括如下三种: 服务提供者:提供服务,它在服务代理处注册以配置和发布服务,等待服务可用。 服务请求者:Web服务请求者就是Web功能的使用者,它使用查找操作来从服务代理者检索服务描述,然后与服务提供者绑定并调用Web服务或同它交互。服务请求者角色可以由浏览器来担当,由人或无用户界面的程序(例如,另外一个Web服务)来

13、控制它。,三、 Web Services的体系架构,26,服务注册中心(服务代理):服务交换所,服务提供者和服务请求者之间的媒体将二者联系在一起,该角色可选。,27,28,Web服务的应用程序三个操作: 发布:为了使服务可访问,需要发布服务描述以使服务请求者可以查找它。还可以撤销发布。 查找 :服务请求者直接检索服务描述或在服务注册中心中查询所要求的服务类型。运行时为了调用而检索服务的绑定和位置描述。 绑定:最后需要调用服务。在绑定操作中,服务请求者使用服务描述中的绑定细节来定位、联系和调用服务,从而在运行时调用或启动与服务的交互。 例:学生身份验证模块的共享实现。,29,3.1.5 Web

14、Services安全机制 Web Services的安全机制构筑在现有安全机制上。包括下面七种安全机制:,30,一、XML数字签名: XML数字签名:以便接收方可以证明消息发送方的身份,从而保证你的消息是来自特定方并确保XML文档内的内容没有发生改变,以保证数据完整性。 XML 加密的特点: XML Signature可以对任何能够以URI形式定位的资源做签名。既包括与签名同在一个XML文件中的元素,也包括其他XML文件中的元素,甚至可以是非XML形式的资源(比如一个图形文件),只要能被URI定位到的资源都可以应用XML Signature. 这也代表了XML签名的对象可以是动态变化的。,31

15、,可以对XML文件中的任一元素做签名,也可以对整个文件做签名。 实现对同一份 XML 文档的不同部分使用多于一种的数字签名。 不仅仅在文档传送和通信的时候使用签名,还要使签名能够持久保留。 既可以用非对称密钥做签名,也可以用对称密钥做签名。,32,二、XML加密 XML加密:规定了数据加密并使用XML表示结果的过程。加密可以作用于任何地方。包括 XML 文档。 XML 加密的特点: W3C制定的新规范可以对某个文档选定的部分进行加密。 支持对任意数字内容的加密,包括 XML 文档。 确保经过加密的数据不管是在传输过程中还是在存储时,都不能被未经授权的人员访问到。,33,三、XML密钥管理 XM

16、L密钥管理(XKMS):分发及管理在端点之间进行安全通信所需的密钥。对互联网信息进行加密、解密、签名和验证。 XKMS由两种服务组成: 公钥的定位和查询等服务:即还原某一个加密的钥匙,以和另一个人进行安全通信。 公钥的注册:用来发布或重新发布,或废除钥匙。 XKMS一般用于与公钥基础设施(Public Key Infrastructure,PKI)技术结合,以简化公钥的注册、管理和查询服务,减少客户端应用程序设置的复杂性,降低与PKI建立信任关系的复杂度。,34,XKMS有如下好处。 减少应用程序的复杂性 容易编码 方便新PKI技术的部署,35,四、 SAML安全机制 SAML是安全性断言标记

17、语言(Security Assertion Markup Language,SAML)是用来以 XML 消息传输认证和授权信息的协议。它可以用来提供单点登录 Web 服务、认证和授权。允许不同安全系统产生的信息进行交换。,36,SAML三个基本组件: 断言:都是关于用户(人或计算机)的一个或多个事实的声明。 协议:这个协议定义了 SAML 请求和接收断言的方式。例如,SAML 目前支持 HTTP 上的 SOAP。 绑定:详细描述了 SAML 请求应如何映射到HTTP 上的 SOAP 消息交换的传输协议。 SAML 三种断言类型: 认证断言:验证用户的身份。 属性断言:用户的特殊信息,如他的信用

18、额度。 授权断言:标识了用户具有哪些合法权限。,37,SAML的工作原理工作原理 : 用户浏览器访问认证服务器,认证服务器询问用户ID和口令。 用户输入ID和口令。认证服务器检查LDAP目录,然后认证最终用户。 用户从目的Web服务器请求资源,认证服务器开始与目的Web服务器的一次会话。 认证服务器给最终用户发送URI,最终用户的浏览器被指向URI,URI将最终用户联接到Web服务。,38,SAML的优点: 使用SAML标准作为安全认证和共享资料的中间语言,能够在多个站点之间实现单点登录。 SAML针对不同的安全系统提供了一个共有的框架,允许企业及其供应商、客户与合作伙伴进行安全的认证、授权和

19、基本信息交换。由于SAML是通过XML对现有的安全模式进行描述,因此它是一个中立的平台。 SAML的消息格式能够从一个源站点(SAML认证管理机构)将断言发送给一个接受者。用户合作中的事务处理速度得到加快,简化认证环境的复杂性。,39,单点登录通常是指:用户只需要在网络中主动地进行一次身份认证,随后便可以访问其被授权的所有网络资源而不需要再主动参与其他的身份认证过程。,40,单点登陆的原理: 浏览器请求中心认证服务器,将用户名和密码传递给中心认证服务器。 中心认证服务器验证成功之后,查找数据库里此用户名和密码对应的信息,根据这些信息生成一个令牌返回给浏览器。 浏览器再用token访问应用系统。

20、 应用系统收到token之后,再用收到的token访问中心认证服务器,中心认证服务器通过这个token查找数据库,从而能够找到对应应用系统的用户名和密码,然后将这个用户名和密码返回给应用系统。 应用系统再收到的用户名和密码进行登录。,41,五、 XACML机制 可扩展访问控制标记语言XACML(Extensible Access Control Markup Language) 由OASIS 2003年2月批准了一种新的标记语言, XACML定义了一种通用的用于保护资源的策略语言和一种访问决策语言。 XACML提供一套语法(使用XML定义)来管理对系统资源的访问。 XACML的功能:用XACM

21、L来编写访问策略 ,管理访问策略并根据策略 确定是否允许对某资源的访问。,42,XACML定义了4个主要实体: PAP策略管理点(Policy Administration Point)基本上是一个存放策略的仓库。 PIP策略信息点(Policy Information Point)目录或者其他身份证明(identity)的供应者。PIP可提供被访问的资源的属性,以及试图访问该资源的实体(身份证明)。,43,PDP策略决策点(Policy Decision Point)这个组件负责对访问授权的决策。PDP使用从PAP获得的策略以及从PIP获得的附加信息来进行决策。 PEP策略实施点(Polic

22、y Enforcement Point)这个组件负责接收对授权的请求。PEP向PDP发送XAXML请求,然后根据PDP的决策来行动。,44,XACML的工作原理:某主体想对某个资源如文件系统或者Web服务器采取某种操作。 该主体向该实体提交查询,该实体名为策略执行点(PEP)。 PEP使用XACML请求语言生成请求。PEP把该请求发送到策略决策点(PDP), PDP会检查请求、检索适用于该请求的策略再根据评估策略的XACML规则,确定要不要授予访问权。这个响应返回给PEP, PEP允许或者拒绝请求方的访问。 一旦按照策略完成了评估,就会返回一个是真或者是假的逻辑值表示是否允许接入,这个认证决定

23、声明返回后,就会执行相应的操作。,45,XACML 的工作原理,46,XACML优点: XACML是标准。标准通过了大量专家和使用者审查,开发者越是能轻松的通过标准语言来与其它应用系统协作交互。 XACML是通用的。这意味着可以在大多数环境中使用,而不只是在一些特殊的环境中或对特殊的资源可以使用。一个访问控制策略编写后,可以被很多不同类型的应用程序使用。 XACML是分布式的。这意味着一个访问控制策略可以被编写为引用其它任意位置的其它策略。策略既可以分散管理又可以由XACML来处理如何正确的合并不同的子策略判断结果,并作出统一的访问控制。,47,六、 WSS 安全机制 Web服务安全WSS (

24、Web Services Security)标准由结构化信息标准促进组织(OASIS)开发,WSS标准为确保在基于Web服务标准的应用之间传递信息的安全提供了一个框架。 WSS规定了如何保护在网络上传送的SOAP消息,包括验证、完整性保护和机密性。,48,WSS的操作方式: 将WSS定义的名为security的安全元素,插入到SOAP头里面。SOAP头包含了运用于该消息的验证、数字签名和加密方面的所有信息。包括哪些数据被签名,哪些数据被加密以及执行这些操作的次序和使用的密钥。 通过WSS,发送方可以规定安全信息的创建和失效日期。通过安全元素,发送方告诉接收方各种信息,它为接收方提供了对消息进行

25、解密及验证所必不可少的信息,每个接收消息的节点可以包含一个安全元素。 有时候客户提供的ID证明格式和许可认证格式不一致。如果采用WSS,可使连接多个网络的用户ID一次性通过认证,或者可在两个应用软件之间安全交换数据。,49,WSS的 主要概念之一是令牌,令牌是一种数据结构,新标准提供了一个把安全令牌同信息内容联系在一起的通用机制,而且可以扩展到支持多种安全令牌格式。WSS使Web服务利用不同系统通过令牌分发密钥和其他认证信息成为可能。X.509证书和Kerberos规范以二进制令牌传送,而SAML机制和XrML许可证则是XML令牌。WSS还定义了用户名令牌,使用户名令牌可以与口令一起使用。当令

26、牌在一条消息中被使用一次以上时,WSS还提供一个安全令牌证书,指向用于不同环境的令牌。WSS允许有选择地使用加密。譬如说,它允许应用防火墙检查未经加密的消息。,50,3.2 系统安全基本原则 隔离原则 最小特权原则 纵深防御原则 用户输入不信任原则 关卡检察原则 失效保护原则 最弱连接安全化原则 建立默认原则 减少攻击面原则,51,隔离原则:分解并减少攻击面。 采取措施:防火墙、最小特权账户、最小特权 代码。,一、隔离原则,52,最小特权:指的是“在完成某种操作时所赋予系统中每个主体(用户或进程)必不可少的特权”。每个用户只能拥有刚够完成工作的最小权限。 最小特权原则规定:只授予执行操作所必需

27、的最少访问权,并且对于该访问权只准许用所需的最少时间。,二、最小特权原则:,53,纵深防御原则:采取多种有效防御措施促使攻击搁浅。 思想:使用多重防御策略来管理风险,以便在一层防御不够时,在理想情况下,另一层防御将会阻止完全的破坏。,三、纵深防御原则,54,失效保护原则:系统失效时,保护敏感数据防止被任意访问。,四、失效保护原则,55,最弱连接安全化原则:强化系统最薄弱环节的安全监测和缓解措施。意识到系统弱点,保护整个系统安全。,五、最弱连接安全化原则,56,用户输入不信任原则:用户输入是对目标系统攻击的主要武器。应用程序应该彻底验证所有用户输入,然后再根据用户输入执行操作。,六、用户输入不信

28、任原则,57,使用默认安全原则:需要为系统安全提供默认配置。如:默认账号、权限、策略。是简化系统的重要方式。创建安全的默认值。,七、使用默认安全原则,58,关卡检查原则:及早实施认证与授权。将攻击阻止在第一道门槛之外。,八、关卡检查原则,59,减少攻击面原则:禁用应用程序不需要的模块和组件、协议和服务。减少攻击可利用的漏洞。,九、减少攻击面原则,60,3.3 威胁模型 3.3.1 常见威胁与对策 这一节我们从攻击者的角度去考虑威胁,并了解他们可能采取的策略及攻击的最终结果。以便在系统的设计和 实施阶段构建适当的手段,更加有效防御攻击。首先使用 STRIDE 方法将这些威胁分类。然后介绍了可能危

29、及网络、主机基础结构和应用程序安全的最大威胁。有关这些威胁的知识和相应的对策为威胁建模过程会提供必要的信息。,61,一、STRIDE威胁类型分类: 应用程序所面临的威胁可根据攻击的目标和目的进行分类。熟知这些威胁的类别有助于您组织安全策略,从而对威胁作出规划的响应。STRIDE 是 Microsoft 对不同威胁类型进行分类所使用的首字母缩略语。可以使用 STRIDE 进行威胁建模。 STRIDE是六种威胁的字母缩略词。 假冒:Spoofing 篡改:Tampering 否认:Repudiation 信息泄漏:Information Disclosure 拒绝服务:Denial of Serv

30、ice 提升权限:Elevation of Privilege,62,假冒:未授权的用户冒充应用程序的合法用户。可以使用偷取的用户凭证或假的 IP 地址来实现。属认证范畴。 窜改:攻击者非法更改或毁坏数据。窜改数据是改变数据,不是信息揭露。属完整性范畴。 否认:用户否认执行了操作的能力。就攻击者的观点,否认就是隐匿踪迹,让某件行为无法被追踪,无法归咎于肇事者。属不可抵赖范畴。,63,信息泄露 :敏感数据被泄露给本应无权访问的人或位置。允许未授权的人取用敏感信息,像是信用卡号码、密码等。属机密性范畴。 服务阻断(拒绝服务):导致系统或用户无法使用应用程序的破坏行为。让某种资源耗竭,例如网络带宽、

31、处理器运算能力、磁盘空间。属可用性范畴。 特权提升:将帐号的合法权限非法增加。比如尝试用管理员的权限去做事情,就是属于这种。属授权范畴。,64,二、STRIDE 危险和对策 假冒:用户身份使用增强的身份验证。 强制执行强大的口令政策。也就是说,口令要定期变换,口令长度最少为10位数并且包含字母和符号。不要以纯文本形式存储机密,口令加密。不用通过网络传递纯文本形式的凭证。 使用安全套接字层 (SSL) 保护身份验证 Cookie。 窜改数据:使用数据哈希和签名。 使用数字签名。使用增强的身份验证。 在通讯链接中使用反篡改协议。 使用提供消息完整性的协议来确保通讯链接的安全。,65,否认:创建安全

32、的审核记录。使用数字签名。 信息泄露 :强认证、强加密、机密性协议、杜绝明文传递安全凭证类信息。 服务阻断:使用资源和带宽调节技术。 验证并筛选输入。 特权提升:遵循最低特权的原则,使用最低特权服务帐户来运行进程和访问资源。,66,三、攻击方法的基本步骤 调查和评估 利用和渗透 提升特权 保留访问权 拒绝服务,67,调查和评估:先后对潜在目标进行调查和评估。以识别和评估其特征。这些特征可能包括它所支持的服务和协议,以及潜在漏洞和入口点。攻击者使用在调查和评估阶段所收集的信息来规划最初的攻击。 例如:攻击者可以通过测试检测跨站点脚本 (XSS) 的漏洞,以查看网页中的控件是否会返回输出。 利用和

33、渗透:对潜在目标进行调查后,下一步是利用和渗透。如果网络和主机是完全安全的,则您的应用程序(前门)将成为攻击的下一渠道。对于攻击者而言,进入应用程序最简便的方法是通过合法用户使用的同一入口。 例如:通过应用程序的登录页面或不需要身份验证的页面。,68,提升特权:攻击者在通过向应用程序插入代码或创建与 Microsoft Windows 2000 操作系统进行的已验证身份的会话来设法危及应用程序或网络的安全后,他们立即尝试提升特权。特别是,他们想得到 Administrators 组成员帐户提供的管理特权。他们也寻求本地系统帐户所提供的高级别特权。 在整个应用程序中使用特权最低的服务帐户是针对特

34、权提升攻击的主要防御措施。而且,许多网络级别的特权提升攻击要求交互式的登录会话。,69,保留访问权:获得系统的访问权后,攻击者采取措施使以后的访问更加容易,并且掩盖其踪迹。包括插入后门程序,或使用现有的缺少强大保护的帐户。掩盖踪迹通常包括清除日志和隐藏工具。因此,审核日志是攻击者的主要目标。应该确保日志文件的安全,而且应该对其进行定期分析。日志文件分析通常会揭露尝试的入侵在进行破坏之前的早期迹象。 拒绝服务:无法获得访问权的攻击者通常装入拒绝服务的攻击,以防止其他攻击者使用此应用程序。对于其他攻击者而言,拒绝服务选项是他们最初的目标。例如 SYN 大量攻击,其中攻击者使用程序发送大量 TCP

35、SYN 请求,来填充服务器上的挂起连接队列。这样便阻止了其他用户建立网络连接。,70,数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关,因此,从广义上讲,数据库系统的安全框架可以划分为三个层次: 网络系统层次; 宿主操作系统层次; 数据库管理系统层次。 这三个层次构筑成数据库系统的安全体系,与数据安全的关系是逐步紧密的,防范的重要性也逐层加强,从外到内、由表及里保证数据的安全。下面就安全框架的三个层次展开论述。,71,四、网络系统威胁和对策 从广义上讲,数据库的安全首先依赖于网络系统。随着Internet的发展和普及,越来越多的公司将其核心业务

36、向互联网转移,各种基于网络的数据库应用系统如雨后春笋般涌现出来,面向网络用户提供各种信息服务。可以说网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大作用离不开网络系统的支持,数据库系统的用户(如异地用户、分布式用户)也要通过网络才能访问数据库的数据。网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。,72,网络入侵试图破坏信息系统的完整性、机密性或可信任的任何网络活动的集合,具有以下特点: 没有地域和时间的限制,跨越国界的攻击就如同在现场一样方便。 通过网络的攻击往往混杂在大量正常的网络活动之中,隐蔽性强。 入侵手段更加隐蔽和复杂。,73,组成网络基础结

37、构的主要组件是路由器、防火墙和交换机。它们保护服务器和应用程序免受攻击和入侵。最危险的网络级别威胁包括: 信息搜集 侦听 哄骗 会话劫持 拒绝服务,74,信息收集:网络设备和其他类型的系统一样可以被发现和分析。攻击者通常从端口扫描开始。他们在识别开放端口后,使用标志攫取和枚举来检测设备类型和确定操作系统及应用程序版本。具备了这些信息后,攻击者可以攻击那些可能未使用安全修补程序更新的已知漏洞。 防止收集信息的对策包括: 配置路由器以限制它们对于跟踪足迹请求的响应。 配置网络软件(如软件防火墙)所驻留的操作系统,通过禁用不使用的协议和不需要的端口来防止跟踪足迹。,75,侦听:侦听或偷听是指监视网络

38、传输以获取纯文本形式的密码或配置信息的行为。采用简单的数据包侦听器,攻击者可以轻易读取所有纯文本通信。而且,攻击者可以解开采用轻量级哈希算法加密的数据包,并可以破译您认为安全的有效负荷。侦听数据包要求在服务器/客户端通讯路径中有一个数据包侦听器。 有助于防止侦听的对策包括: 使用增强的物理安全和合适的网络分段。这是防止从本地收集通信的第一步。 将通讯完全加密,包括身份验证凭证。这样即可防止攻击者使用侦听的数据包。SSL 和 IPSec(Internet 协议安全)是加密解决方案的示例。,76,哄骗:哄骗是在网络上隐藏真实身份的方法。为创建哄骗身份,攻击者使用并不代表数据包真实地址的假的源地址。

39、哄骗可用来隐藏攻击者的原始来源,或者规避网络访问控制列表 (ACL),该列表用以限制基于源地址规则的主机访问。 尽管从来也无法追踪到精心设计的哄骗数据包的发信人,但组合使用各种筛选规则可以防止在您的网络上生成哄骗数据包,从而使您可以显著地阻止哄骗数据包。 防止哄骗的对策包括: 筛选从您的外围的内部IP地址进入的数据包。 筛选从无效的本地 IP 地址传出的数据包。,77,会话劫持:会话劫持也称为 man in the middle,它欺骗服务器或客户端接受上游主机为实际的合法主机。不是上游主机而是攻击者主机操纵网络,从而攻击者的主机似乎成为期望的目标。 有助于防止会话劫持的对策包括: 使用加密的

40、会话协商。 使用加密的通讯通道。 让自己能够得到平台修补程序通知,以消除 TCP/IP 漏洞,如可预测的数据包序列。,78,拒绝服务:拒绝服务拒绝合法用户访问服务器或服务。SYN 大量攻击是网络级别拒绝服务攻击的典型示例。它容易启动且难以跟踪。攻击的目标是向服务器发送多于其处理能力的请求。此攻击利用 TCP/IP 连接建立机制的潜在漏洞,向服务器的挂起连接队列发送大量数据。 防止拒绝服务的对策包括: 应用最新的服务数据包。 通过应用合适的注册表设置来强化 TCP/IP 堆栈,以增加 TCP 连接队列的大小,减少连接建立时间,并采用动态储备机制来确保连接队列不耗竭。 使用网络入侵检测系统 (ID

41、S),因为它能自动检测并响应 SYN 攻击。,79,五、主机威胁和对策 主机威胁存在于根据其建立应用程序的系统软件内。其中包括 Windows 2000、Internet 信息服务 (IIS)、.NET Framework 和 SQL Server 2000,具体取决于特定的服务器角色。最危险的主机威胁包括: 病毒 特洛伊木马和蠕虫病毒 跟踪足迹 概要分析 密码破解 拒绝服务 任意代码执行 未授权访问,80,病毒、特洛伊木马和蠕虫病毒:病毒是一种设计用来执行恶意操作并造成操作系统或应用程序破坏的程序。特洛伊木马与病毒类似,不同的是它将恶意代码包含在看起来无害的数据文件或可执行程序内。蠕虫病毒与

42、特洛伊木马类似,不同的是它自行在服务器之间进行复制。蠕虫病毒很难检测,因为它们通常不创建可以看到的文件。通常在蠕虫病毒开始消耗系统资源时注意到它,因为此时系统速度减慢或其他应用程序的执行终止。红色代码蠕虫病毒是攻击 IIS 的最臭名昭著的病毒;它依赖于特定 ISAPI 筛选器中的缓冲区溢出漏洞。,81,尽管这三种威胁是实际攻击,但是对以下对象构成了严重的威胁:Web 应用程序、这些应用程序所在的主机以及用以传输这些应用程序的网络。对任何系统的攻击都可能取得成功,这是因为系统存在许多漏洞,如脆弱的默认设置、软件缺陷和 Internet 协议的固有漏洞。 对病毒、特洛伊木马和蠕虫病毒可以使用的对策

43、包括: 通过最新的操作系统服务数据包和软件修补程序保持最新状态。 禁用防火墙和主机上所有不必要的端口。 禁用不使用的功能,包括协议和服务。强化脆弱的默认配置设置。,82,跟踪足迹:跟踪足迹的示例有端口扫描、ping 扫射和 NetBIOS 枚举,攻击者可使用这些方法来发现有价值的系统级别的信息,以准备更重要的攻击。可能被跟踪足迹发现的信息类型包括帐户详细信息、操作系统和其他软件版本、服务器名称和数据库方案的详细信息。 有助于防止跟踪足迹的对策包括: 禁用不必要的协议。 采用相应的防火墙配置来锁定端口。 使用 TCP/IP 和 IPSec 筛选器以进行深度防 配置 IIS 以防止通过标志攫取泄漏

44、信息。 使用可配置的 IDS 来识别跟踪足迹模式并拒绝可疑通信。,83,密码破解:如果攻击者无法与服务器建立匿名连接,他或她将尝试建立经过身份验证的连接。因此,攻击者必须知道一个有效的用户名和密码组合。如果您使用默认帐户名,则为攻击者创造了开始的机会。然后,攻击者只需破解帐户的密码。使用空密码或弱密码会使攻击者的工作变得更加容易。 有助于防止密码破解的对策包括: 对所有帐户类型使用强密码。 对于最终用户帐户使用锁定策略,以限制可用来猜密码的重试次数。 不要使用默认帐户名,并且重命名标准帐户,如管理员帐户和许多 Web 应用程序所使用的匿名 Internet 用户帐户。 审核失败登录是否属于劫持

45、密码尝试模式。,84,拒绝服务:以基础结构内的几个目标为目的的许多方法都可以实现拒绝服务。在主机上,攻击者可以通过强力攻击应用程序来中断服务,或者攻击者知道您的应用程序所在的服务中或运行服务器的操作系统中所存在的漏洞。 有助于防止拒绝服务的对策包括: 以防止拒绝服务为目标,配置您的应用程序、服务和操作系统。 通过修补程序和安全更新保持最新状态。 针对拒绝服务,强化 TCP/IP 堆栈。 确保您的帐户锁定策略不能用来锁定众所周知的服务帐户。 确保您的应用程序能够处理大容量通信,且设置了阈值以处理反常的高负载。 检查您的应用程序的故障转移功能。 使用 IDS 可检测潜在的拒绝服务攻击。,85,任意

46、代码执行:如果攻击者可以在您的服务器上执行恶意代码,则攻击者或者危及服务器资源的安全,或者继续攻击下游系统。如果攻击者代码运行所在的服务器进程越权,则任意代码执行所造成的危险更大。常见漏洞包括弱 IID 配置和无修补程序的服务器,这将允许路径遍历和缓冲区溢出攻击,都可能导致任意代码执行。 有助于防止任意代码执行的对策包括: 将 IIS 配置为拒绝带有“/” 的 URL,以防止路径遍历。 锁定具有受限制的 ACL 的系统命令和实用程序。 通过修补程序和更新保持最新状态,以确保快速修补新近发现的缓冲区溢出。,86,未授权访问:不充分的访问控制会允许未授权用户访问受限制的信息或执行受限制的操作。常见

47、漏洞包括弱 IIS Web 访问控制,其中包含 Web 权限和弱 NTFS 权限。 有助于防止未授权访问的对策包括: 配置安全的 Web 权限。 锁定具有受限制的 NTFS 权限的文件和文件夹。 在 ASP.NET 应用程序内使用 .NET Framework 访问控制机制,包括 URL 授权和主要权限要求。,87,六、应用程序威胁和对策 类别威胁输入验证缓冲区溢出;跨站点脚本;SQL 插入;标准化身份验证网络偷听;强力攻击;字典攻击;Cookie 重播;凭证偷窃授权特权提升;机密数据泄漏;数据篡改;诱惑攻击配置管理未授权访问管理界面;未授权访问配置存储区;检索明文配置数据;缺少各自的可说明性

48、;越权进程和服务帐户敏感数据访问存储区中的敏感数据;网络偷听;数据篡改会话管理会话劫持;会话重播;man in the middle 攻击加密不完善的密钥生成或密钥管理;弱加密或自定义加密参数操纵查询字符串操纵:表格字段操纵;Cookie 操纵;HTTP 头操纵异常管理信息泄漏;拒绝服务审核和记录用户拒绝执行操作;攻击者利用应用程序而不留踪迹;攻击者掩盖其踪迹 分析应用程序级别威胁的较好方法是将其按照应用程序漏洞类别来组织。,88,输入验证 如果攻击者发现您的应用程序对输入数据的类型、长度、格式或范围进行了无理由的假设,则输入验证是一个安全问题。攻击者然后便可提供精心设计的输入,从而危及您的应

49、用程序的安全。 当网络和主机级别入口点完全安全时,您的应用程序所暴露的公共接口则成为攻击的唯一来源。对您的应用程序进行输入既是测试系统的方法,也是执行对于攻击者有益的代码的方法。您的应用程序会盲目信任输入吗?如果是这样,则您的应用程序可能容易受下列情况的影响: 缓冲区溢出跨站点脚本SQL 插入标准化下一部分将详细说明这些漏洞,包括使其成为可能的原因。,89,3.3.2 威胁建模 威胁建模:威胁建模是一种系统性的方法,寻找威胁与弱点,对现存的威胁进行识别和评估。从代表最强大风险的威胁开始,按照逻辑顺序使用相应的对策破除攻击。,90,资产:具有价值的资源,如数据库中或文件系统 上的数据,或者是系统资源。 威胁:可能危害资产的潜在发生(恶意或非恶意) 漏洞:使威胁成为可能的弱点。 攻击:所执行的危害资产的操作。 对策:用以解除威胁并减轻危险的安全措施。,一、威胁建模组成要素,91,威胁建模在系统设计的早期阶段启动、贯穿于整个应用程序生命周期的一个迭代过程。 微软威胁建模步骤:(共6步),一、微软威胁建模过程,92,威胁模型的流程,1.识别资产,2. 建立体系结构概述,3. 分解应用,4. 识别威胁,5. 将威胁存档

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1