周光军 蔡成军 祖卓红 杨帆 刘建 李颖
摘 要 随着网络应用的普及与推广,越来越多的网络门户平地而起,在各类门户如此普及的现今社会,门户应用层的安全问题被提升到了一个很高的关注层面,主要表现在数据库的防注入、门户站点页面防篡改、防注册机等类型的安全防护,本文将在上述几种安全问题中结合实际应用做出相应解决方案。
【关键词】门户 安全 注入sqlserver .net
无论何种技术的网络平台,在internet环境中发布后均会面临各类攻击,特别是基于网页篡改和数据库的注入攻击,多数静态网页面临的攻击为页面篡改、站点文件删除的攻击,而各类数据库站点的攻击则重点体现在数据库的注入攻击方面,本文将结合实际开发过程中遇到的各类典型注入攻击,在缺乏硬件设备保护的前提下,基于.net技术,在非托管环境中所做出的技术解决方案进行阐述。
1 注入攻击渠道及原理分析
基于B/S结构的网络应用门户,http请求访问方式多数为get、post两种方式,程序中一般在cookie、form、request等请求中体现,攻击原理即是利用客户端与服务器商的请求进行的数据交互的功能发出含有如add、update、exec、drop、alter、exists、union、execute、xp_cmdshell、insert、sp_oacreate等功能性代码的请求,如果一个网络门户在应用层及数据库层的安全防护功能不够完善,则会被轻易地将一些与自己门户无关的数据被迫允许性地存储到服务器数据库中,严重者会丢失非常重要的账户信息造成庞大的经济损失。
2 注入攻击手段及目的
结合本部门近十年的网络平台运维经验,注入攻击手段上基本全是利用注入攻击软件不停地对网络门户进行漏洞扫描,然后利用漏洞进行非法指令请求进行注入攻击。
攻击目的多以谋取商业利益为主,主要是为了广泛的发布企业的信息,扩大企业相关信息在Internet中的发布量,提升客户通过各大搜索引擎搜索的命中率,或者非法获取相关的用户账号信息,进行非法交易以谋取商业利益。
3 注入攻击的危害
由于我部门运维的网络门户为交互性门户(非电子商务门户,无在线支付交易功能),综合与注入攻击多年来的对抗反击,总结出如下几种危害:
3.1 损耗硬件设备资源
每遇到注入攻击时,服务器硬件资源损耗非常巨大,CPU使用率往往达到100%,内存使用率也非常高,经常导致不停止站点运行就无法操作服务器的状况。
3.2 信息资源损失
注入攻击除添加新的数据记录外,批量将现有数据字段内容Update为非法注入内容或非法脚本。导致原有数据未及时备份的情况下损失很多历史数据。
3.3 人力物力及经济损失
由于我部门网络平台为会员制交互门户,涉及到一些会员服务资费问题,注入攻击经常会丢失重要数据,导致售后人员及技术人员投入精力进行数据恢复处理及网络门户修复处理,浪费的时间和精力成本所带来的经济损失无法估量。
4 .Net防注入技术优势
ASP.Net的Application_BeginRequest对预防注入功能作用非常大。在收到Request时第一个触发的事件,这个方法第一个执行,即,可以简单理解为:当客户端向服务器发现任何一个请求时,首先触发服务器端的“Application_BeginRequest”事件。基于Application_BeginRequest事件的优势,解决方案如下文所述。
5 面对攻击的解决方案
5.1 页面篡改预防
由于是非托管环境,我部门拥有自己的web服务器,在预防网页被篡改方面,主要采取权限控制来实现,即通过IIS相应站点的“权限”打开安全设计窗口,对”everyone”与”Internet来宾账户”进行只读权限配置。
5.2 数据库层解决方案
多年来综合分析数据库被注入基本是为了实现一个目的:注入可通过浏览页面打开对方网站的代码,即,当用户访问浏览我部门运维门户时,页面内容可直接嵌入或跳转到指定网站。经分析有如下关键词的注入内容“