网站建设核心防御机制
Web应用程序的基本安全问题(所有用户输轴入都不可信)致使应用程序实施大量安影制来抵攻击。尽管其设计细节与执行效率可能千差万别,但几子所有应用程序的安全机制在概念上都具有相似性。
Web应用程序采用的防每机制由以下几个核心因素构成。
口处理用户诗问应用程序的数据与功能,防止用户获得未权访问。
口处理用户对应用程序功能的输人,防止错误验人造成不良行为。
口防范攻击者,确保应用程序在成为直接攻击日标时能够正常运转,并采取适当的防每与攻击描施推败攻击者。
口管理应用程序本身,帮助管理员监控其行为,配置其功能
鉴于它们在解决核心安全问题过程中所发挥的重要作用,一个典型应用程序的绝大多数受政击面也由这些机制构成。知已知彼是战争的首要法则,那么防攻击者向应用程序发动有如击的重要前提是彻底了解这些机制。无论读者在透测试方面是否有经验,都应花时间了解过核心机制在遇到的每一种应用程序中的工作原理,并确定使其易于受到攻击的弱点。
1、处理用户访问
几乎任何应用程序都必须满足一个中心安全要求,即处理用户访问其数据与功能。在通含情况下,用户一般分为几种类型,如置名用户、正常通过验证的用户和管理用户。面且,许多情况下,不同的用户只允许访问不同的数据,例如,Web邮件应用程序的用户只能阅读自己的面他人的电子邮件。
大多数Web应用程序使用三层相互关联的安全机制处理用户访问:
口身份验证;
口会话管理
口访问控制。
上述每一个机制都是应用程序受攻击面的一个关键部分,对于应用程序的总体安全状况极其重要。由于这些机制相互依赖,因此根本不能提供强大的总体安全保护,任何一个部分存在缺陷都可使攻击者自由访问应用程序的功能与数据。
2、处理用户输入
所有用户输入都不可信。大量针对Web应用程序的不同攻击都与提交错误输入有关,攻击者专门设计这类输入,以引发应用程序设计者无法预料的行为。因此,能够安全处理用户输入是对应程序安全防御的一个关键要求。
应用程序每一项功能以及几乎每一种常用的技术都可能出现输入方面的漏洞。通常来说,输入确认是防御这些攻击的必要手段。然后,任何一种保护机制都不是万能的,防御恶意输入也并非如听起来那样简单。
3、处理攻击者
任何设计安全应用程序的开发人员必须基于这样一个假设:应用程序将成为蓄意破坏且经验丰富的攻击者的直接攻击目标。能够以受控的方式处理并应对这些攻击,是应用程序安全机制的一项主要功能。这些机制通常结合使用一系列防御与攻击措施,以尽可能地阻止攻击者,并就所发生的事件,通知应用程序所有者以及提供相应的证据。为处理攻击者而采取的措施一般由以下任务组成:
口处理错误;
口维护审计日志;
口向管理员发出警报;
口应对攻击。
尽管存在巨大差异,但几乎所有的Web应用程序都以某种形式采用相同的核心安全机制。这些机制是应用程序应对恶意用户所采取的主要防御措施,因而应用程序的受攻击面大部分也由它们构成。我们在本书后面介绍的漏洞也主要源于这些核心机制中存在的缺陷。在这些机制中,处理用户访问和用户输人的机制是最重要的机制。当针对应用程序发动攻击时,它们将成为主要攻击对象。利用这些机制中存在的缺陷通常可以完全攻破整个应用程序,使攻击者能够访问其他用户的数据、执行未授权操作以及注入任意代码和命令。
文章名称:网站建设核心防御机制
URL网址:http://abwzjs.com/view/16852.html