说到Web业务系统,很多人会下意识的认为Web业务系统 = 网站,但实际上,我们通常所说的Web业务系统指的是利用各种动静态Web技术开发的基于B/S(浏览器服务器)模式的事务处理系统。这些Web业务系统,都会遭受Web威胁的影响。而会威胁到Web业务安全的因素又包括哪些方面呢?在日常工作中,我们会遇到哪些Web安全隐患呢?
在中医领域,经常会听到气血两亏”这个词,这是指气虚与血虚同时存在的症候,当人体的气”和血”都存在亏虚的时候,身体就容易生病。Web系统就如人体,也会有类似气血两亏的情况,导致被攻击:
Z先生是某市信息中心主任,这个职位可不像外人想像的那么轻松,这不,一大早Z先生就被电话吵醒了:Z主任,咱们网站被人黑了”。待到Z先生打开网站时赫然发现首页已经被换成了小飞侠到此一游”的滚动文字.......
经专业安全公司专家确认,这是由于网站存在漏洞,骇客利用漏洞进行的攻击。在用网站备份恢复了页面后,Z先生马上找到了当初网站的开发人员,要求迅速进行漏洞的修补,在漏洞修补期间,Z先生紧急购买了一台入侵防御系统,上线保护网站系统,而后经过近一个月的代码修改、测试和试运行,网站全新上线。
让我们来回顾一下这个小故事,如果是我们遇到了这个问题,该如何处理呢?
网站页面被篡改意味着攻击者拿到了Web发布系统的和后台数据库的权限(如果有后台数据库)。
网站页面系统分为两种,一种是静态页面系统(全是html类型的文件,目前已非常少见),骇客可能获得了操作系统或是发布系统的权限,这就需要仔细检查相关日志信息(操作系统日志和发布系统日志),如果骇客未修改和删除这些日志,是可以从日志中分析判断攻击者利用了哪些漏洞进行攻击。对静态页面站点的安全防护,相对来说比较简单,操作系统及时升级,正确配置和使用最新版本的Web发布系统,同时部署网页防篡改系统※。
※详解:网页防篡改系统
网页防篡改系统的工作原理较为简单,事先备份了所有静态页面内容,并启动守护进程实时监视网站页面文件,一旦发现与原有备份文件不一致,马上进行恢复。
◆优点:网页防篡改系统并不是针对某种具体的攻击类型,不论骇客使用何种攻击方式,当企图对网站页面进行修改时,都会触发恢复机制。
◆缺点:网页防篡改系统只适用于静态页面的环境,如果网站采用了动网架构,并提供了用户交互功能(如查询和留言等),是无法使用网页防篡改系统的。同时,网页防篡改系统一般都是软件形式,安装在Web服务器上,可能由于遭致骇客攻击而失效。
另外一种情况就是90%以上的网站都采用的动态页面架构,在政府机关,这个比例也达到70%以上。所以,我们的Z先生,有70%的几率无法简单的通过部署网页防篡改系统进行防御。
常见的政务网站功能不外乎信息发布和网上办事两个大块功能,而网上办事将会涉及到与使用者的信息交互。如果网站的开发人员没有对这些信息交互做过滤和限制,就有可能造成安全隐患。Web应用威胁中最著名的SQL注入※,就是由此而产生的。据OWASP(开放式Web应用程序安全项目组织)的统计,SQL注入作为最严重的Web威胁行为之一,几乎60%以上的Web安全事件与之有关。
※详解:SQL注入
SQL注入就是指利用页面代码编写不完备,将恶意的SQL命令注入到后台数据库引擎执行的能力。SQL注入利用的是正常的HTTP服务端口,表面上看来和正常的Web访问没有区别,隐蔽性极强,不易被发现。
SQL注入的危害
◆未经授权状况下操作数据库中的数据
◆恶意篡改网页内容
◆私自添加系统帐号或者是数据库使用者帐号
◆网页挂木马
那么怎么来判断自己到底是否遭受了SQL注入的威胁呢?由于SQL注入攻击门槛很低,网络上有大量的免费SQL注入攻击软件,利用这些软件的骇客很有可能并不知道该如何清理自己留下的系统日志,从对日志的分析※中可以很容易的看到是否有SQL注入行为发生。
※详解:日志的分析
可以在日志中检索 and ”(空格and空格),或者是‘”(半角单引号)等关键字符,如果发现有类似[id=21 and 1=1] 的字符串,则基本可以判断遭受SQL注入的扫描或攻击。当然,这需要分析者具备一定的技术能力。
另外,还可以借助购买专业安全公司的安全服务来实现。
SQL注入攻击发生后,该如何应对呢?前面我们已经提到,SQL注入的发生原因是由于页面文件编写的不完备,所以最直接的方法就是代码级的页面文件修改※。
※详解:代码级页面文件修改
首先要知道在哪些地方代码过滤不严谨,一般来说未受过安全培训的网站开发人员,很难彻底发现这些存在的漏洞,建议此项工作最好聘请专业安全从业人员进行。
虽然代码级页面修改是最直接的方法,但即使是专业安全人员,也无法保证能100%彻底清除页面存在的所有漏洞,而且在网站新增页面时,还需要再次聘请安全服务人员进行检查,所以这种方法在实际应用中较少采用。通常情况下,采用较多的是通过增加安全产品进行防护。
考虑到SQL注入是应用层威胁,所以需要挑选胜任应用层威胁防护的产品※,在实际应用中,使用较多的就是入侵防御产品。
※详解:挑选胜任应用层威胁防护的产品
目前应对应用层攻击的方法主要有基于正常行为模型、基于签名技术,基于特征字符串、基于异常检测技术、基于行为模式检测手法五大类技术,其中前两种是学术界研究成果,需要修改网站源代码,且无成型产品。后三种是产业界技术,已有成熟产品,从实际使用情况来看,基于行为模式检测手法的产品表现效果较好。
网站如果在编码层面存在考虑不足导致的亏虚”,就也会陷入到气血亏”的地步,解决之道就是外敷内服”(入侵防御等安全设备+代码漏洞评估服务+代码修补)。
背景知识:
操作系统与后台数据库:
操作系统和后台数据库可能会存在漏洞或配置不当,如弱口令等等,导致骇客、病毒可以利用这些缺陷进行攻击。
Web发布系统:
Web业务常用的发布系统,如IIS、Apache等,这些系统存在的安全漏洞,给入侵者可乘之机。
Web应用程序:
主要指Web应用程序的编写人员,在编程的过程中没有考虑到安全的问题,使得骇客能够利用这些漏洞发起攻击,比如SQL注入、跨站脚本攻击等等。
Web后台管理系统:
主要是指Web内容编辑系统,通常也由一定数量的Web页面组成,用以作为Web数据和页面的发布管理,同样会存在安全漏洞和管理口令比较弱,使得骇客可以攻击网站。由于与Web应用程序的性质类似,下文描述中所提及的Web应用程序将泛指Web应用程序以及Web后台管理系统的总和。
网络状况:
Web应用系统服务器所处的网络安全状况也影响着Web应用系统的安全,比如网络中存在的DoS攻击等,也会影响到这些Web应用系统的正常运营。
上面五个方面基本概括了Web业务系统的威胁来源,而其中又以Web应用程序的漏洞最为突出:操作系统、网络协议、发布系统等标准化程度高,有大家耳熟能详的解决办法(如操作系统,会定期发布更新补丁以修补漏洞),而对Web系统来说,其Web应用程序都是独一无二的,缺少大规模代码检验过程,难以完全避免漏洞,且攻击极难防御。在考虑完整Web安全解决方案的时候,必须要全盘考虑这几个方面。
【编辑推荐】