在Web技术飞速演变、电子商务蓬勃发展的今天,企业开发的很多新应用程序都是Web应用程序,而且Web服务也被越来越频繁地用于集成Web应用程序或与其进行交互,这些趋势带来的问题就是:Web应用程序和服务的增长已超越了程序开发人员所接受的安全培训和安全意识的范围。
一、Web安全威胁概述
在Web技术飞速演变、电子商务蓬勃发展的今天,企业开发的很多新应用程序都是Web应用程序,而且Web服务也被越来越频繁地用于集成Web应用程序或与其进行交互,这些趋势带来的问题就是:Web应用程序和服务的增长已超越了程序开发人员所接受的安全培训和安全意识的范围。
OWASP(Open Web Application Security Project)统计了当前最为严重的十种Web安全威胁。详见下表:
表一:OWASP TOP 10
漏洞 |
描述 |
A1 - 跨站脚本 Cross Site Scripting (XSS) |
当应用程序提取用户提供的数据并发送到Web浏览器,数据内容没有先经过验证或编码时,可能出现的XSS漏洞。XSS允许攻击者在受害者的浏览器上执行脚本,脚本可能会劫持用户会话、破坏Web站点或引入蠕虫等。 |
A2 – 注入攻击 Injection Flaws |
注入漏洞,特别是SQL注入,通过在Web应用程序内。当用户提供的数据作为命令或查询的一部分被发送到解释器时,可能出现注入漏洞。攻击者的恶意数据欺骗翻译器执行非用户本意的命令或改变数据。 |
A3 – 恶意文件执行 Malicious File Execution |
远程文件包含(RFI)代码缺陷允许攻击者包含恶意代码和数据,导致破坏性的攻击,如全部服务器被攻陷。恶意文件执行攻击会影响PHP、XML以及任意从用户接收文件名或文件的架构。 |
A4 – 不安全的直接对象引用 Insecure Direct Object Reference |
当开发人员把一个引用暴露给内部执行对象时,如一个文件、目录、数据库记录或键值、URL或格式参数,可能发生直接对象引用。攻击者可以操纵这些引用访问其它未经认证的对象。 |
A5 – 跨站请求伪造 Cross Site Request Forgery (CSRF) |
CSRF攻击强制登录用户的浏览器发送经过预先认证的请求到一个有漏洞的Web应用程序,接着强制受害者的浏览器执行一个对攻击者有利的恶意行为。CSRF能和它所攻击的Web应用程序一样有效。 |
A6 – 信息泄漏及不正确的错误操作 Information Leakage and Improper Error Handling |
应用程序可能通过各种应用程序问题非用户本意的泄漏配置、内部结构或隐私等信息。攻击者利用这个弱点偷窃敏感数据或传入更多严重的攻击。 |
A7 – 失效认证及会话管理 Broken Authentication and Session Management |
信任账户及会话令牌通过没有被完全的保护。攻击者使用密码、密钥或认证令牌伪装其它用户的身份。 |
A8 – 不安全的密码存储 Insecure Cryptographic Storage |
Web应用程序很少能适当的使用密码功能来保护数据和credential。攻击者通过缺乏有效保护的数据来窃取身份及其它犯罪行为,如信用卡欺诈。 |
A9 – 不安全的通信 Insecure Communications |
敏感数据需要被保护,而应用程序经常没有对网络流量进行加密。 |
A10 – 限制URL访问失效 Failure to Restrict URL Access |
通常应用程序只能通过对非认证用户链拉或URL的显示来保护敏感功能。攻击者能利用这个弱点,通过直接访问URL来访问并执行未授权的操作。 |
各种Web攻击防不胜防,任何一个Web安全漏洞都可能对用户造成难以弥补的损失。其中跨站脚本是目前最普遍的Web漏洞。以下是一种跨站脚本攻击的实例:
某论坛对上传文件名没有做严格的限制,可以用
当用户浏览贴子时,用户浏览器将自动执行http://xxx.com上的xss.js脚本。xss.js脚本可能是木马或病毒文件,对用户电脑中数据进行窃取或破坏。
通过以上例子可以看出,可能是一个简单的漏洞,却对用户造成巨大的损失。
二、FortiWeb安全防御
Fortinet公司一直致力于Web安全威胁的研究,并在2009年正式发布了Web安全威胁防护产品——FortiWeb。对OWASP十种最严重的Web安全威胁,FortiWeb以针对性的安全技术进行了防范。
例如对跨站脚本的防御,FortiWeb可以用参数验证和签名库匹配等方式进行防御。
参数验证是FortiWeb可以验证网页上所有输入表单的输入形式,杜绝类似第一节举例中的跨站脚本输入漏洞。如下图所示:
图一:FortiWeb 安全防御登录界面
(备注:上图实例用户名输入框内只可包含字母)
签名库匹配是FortiWeb内置了常见的有威胁的脚本和命令签名库,匹配后可进行阻止、告警。如下图所示:
图二:FortiWeb 安全防御配置界面
对于OWASP TOP 10中所定义的其它安全威胁,FortiWeb的防御机制如下表:
表二:FortiWeb 针对OWASP TOP 10防御机制表
表二:漏洞 |
Forti Web |
描述 |
A1 – 跨站脚本 Cross Site Scripting (XSS) |
YES |
参数验证及签名库和模板匹配引擎 |
A2 – 注入攻击 Injection Flaws |
YES |
签名库和模板匹配引擎 |
A3 – 恶意文件执行 Malicious File Execution |
YES |
参数验证及签名库和模板匹配引擎 |
A4 – 不安全的直接对象引用 Insecure Direct Object Reference |
YES |
站点流强制 |
A5 – 跨站请求伪造 Cross Site Request Forgery (CSRF) |
YES |
签名库和模板匹配引擎 |
A6 – 信息泄漏及不正确的错误处理 Information Leakage and Improper Error Handling |
YES |
签名库和模板匹配引擎 |
A7 – 失效的认证和会话管理 Broken Authentication and Session Management |
YES |
加密的FortiWeb会话密钥 |
A8 – 不安全的密码存储 Insecure Cryptographic Storage |
YES |
起始页面的使用,黑白名单URL列表能限制站点访问 |
A9 – 不安全的通信 Insecure Communications |
YES |
WAF强制使用HTTPS |
A10 – 限制URL访问失效 Failure to Restrict URL Access |
YES |
站点流强制 |
三、FortiWeb安全功能
FortiWeb的安全系统由以下安全模块组成:
Web应用防火墙 – 对多种Web应用进行安全保护
XML防火墙 – 对基于XML的Web服务提供专门的保护
应用加速 – 对基于Web的内容进行加速并保证及时发送
自学习功能 – 学习Web结构及页面构成,自动完成配置,简化了复杂的配置过程
网页防篡改 – 对非法篡改的网页进行校验并恢复
各安全模块间相互协作,不但可以有效的防御Web安全威胁,还可以加速Web处理时间,减轻服务器工作量;自动学习并完成配置,使复杂的Web配置化繁为简;自动恢复被篡改的网页,减小网站的损失等等。
FortiWeb上市伊始,即被民生银行选用为门户网站安全防护的产品。FortiWeb正式上线部署至今,运行稳定,多次对民生银行门户网站的Web攻击进行了有效的安全防御,得到了用户的好评。近期,民生银行计划再次购买FortiWeb产品,部署于OA办公系统中。
更多精彩的最新手机资讯,请点击进入手机中心!
网友评论