首页 > 范文大全 > 正文

Web安全求医不如求己

开篇:润墨网以专业的文秘视角,为您筛选了一篇Web安全求医不如求己范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

说到web业务系统,很多人会下意识地认为Web业务系统就是网站,但实际上,我们通常所说的Web业务系统指的是利用各种动态Web技术开发的基于B/S(浏览器/服务器)式的事务处理系统。比如:ERP系统、CRM系统以及常见的网站系统(如电子政务网站、企业网站等)都是Web业务系统。而这些Web业务系统,都会遭受Web威胁的影响。

被篡改了页面的网站

Z先生是某市信息中心主任,这个职位可不像外人想象的那么轻松,这不,一大早Z先生就被电话吵醒了:“Z主任,咱们网站被人黑了。”待到Z先生打开网站时赫然发现首页已经被换成了“小飞侠到此一游”的滚动文字……

经专业安全公司专家确认,这是由于网站存在漏洞,黑客利用漏洞进行攻击造成的。在用网站备份恢复了页面后,Z先生马上找到了当初网站的开发人员,要求迅速进行漏洞的修补,经过近一个月的代码修改、测试和试运行后,网站才重新上线。

让我们来回顾一下这个小故事,如果我们遇到了这个问题,该如何处理呢?

网站页面被篡改意味着攻击者拿到了Web系统的和后台数据库的权限(如果有后台数据库),通常来说如果网站是静态页面(全是HTML类型的文件,目前已非常少见),黑客可能获得了操作系统或系统的权限,这就需要仔细检查相关日志信息(操作系统日志和系统日志),如果黑客未修改和删除这些日志,则可以从日志中分析判断攻击者利用了哪些漏洞进行攻击。对静态页面站点的安全防护相对来说比较简单,只要及时升级操作系统,正确配置和使用最新版本的Web系统,同时部署网页防篡改系统就可以达到目的。

除了静态页面架构外,另外一种情况就是网站采用的是动态页面架构,目前来看,90%以上的网站采用了这种架构,在政府机关,这个比例也达到70%以上。所以,我们的Z先生,有70%的几率无法简单地通过部署网页防篡改系统进行防御。

常见的政务网站功能不外乎信息和网上办事两个大块功能,而网上办事将会涉及到与使用者的信息交互。如果网站的开发人员没有对这些信息交互做过滤和限制,就有可能造成安全隐患。Web应用威胁中最著名的SQL注入,就是由此而产生的。据OWASP(开放式Web应用程序安全项目组织)的统计,SQL注入作为最严重的Web威胁行为之一,与60%以上的Web安全事件有关。

那么怎么来判断自己到底是否遭受了SQL注入的威胁呢?由于SQL注入攻击门槛很低,黑客很有可能并不知道该如何清理自己留下的系统日志,所从,在对日志的分析中可以很容易地看到是否有SQL注入行为发生。

比如可以在日志中检索“ and ”(空格and空格),或者是“‘”(半角单引号)等关键字符,如果发现有类似[id=21 and 1=1] 的字符串,则基本可以判断系统遭受了SQL注入的扫描或攻击。当然,这需要分析者具备一定的技术能力。另外,还可以借助专业安全公司的安全服务来判断自己是否遭受了SQL注入的威胁。

带病毒的网络链接

经常上网的朋友会发现,有时候有些链接点击进去后,防病毒软件会报警,提示有病毒/木马存在。某银行科技处处长Y女士,正在为这样的一起客户投诉头疼不已:某网银用户收到一封网银活动通知邮件,点击后居然发现被防病毒软件报出存在木马。

在经过Y女士一番道歉后,客户的怒气似乎消退了一些,并表示可以把那封“肇事”邮件转发给Y女士。这封邮件内容是银行这段时间正在搞的一个小调查活动,点击“参加活动”按钮后,防病毒软件马上发出病毒报警。经专业安全公司专家分析后得知,这是一封伪造的活动邮件,黑客伪造了“参加活动”按钮的URL链接,用户点击后,虽然会进入活动页面,但同时也会被链接到一个恶意站点下载木马,这就是防病毒软件报警的原因。而能造成这种现象的原因是:该银行的网站页面编码存在缺陷。考虑到银行的业务连续性要求,Y女士按照安全专家的建议购买了安全防护产品,并迅速部署上线,用以屏蔽此类攻击行为。

为什么网页链接会带有病毒呢,主要原因是网站所有者故意在页面嵌入恶意代码。这种行为常见于私人小站,为了牟取私利,有些站长故意在网站页面中嵌入恶意代码,以窃取访问者的信息。一般来说,企业用户不会存在这种情况,但是在黑客攻击网站获取权限后,也可以在正常页面中添加恶意代码,这也就是常提到的XSS(跨站脚本)攻击。

在实际表现中,XSS攻击会有两种常见的形态:存储式攻击和反射式攻击。

存储式XSS:最常见的类型,黑客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。其攻击过程如下:

1. Bob拥有一个Web站点,该站点允许用户信息/浏览已的信息。

2. Charly注意到Bob的站点具有XXS漏洞。

3. Charly一个热点信息,吸引其它用户纷纷阅读。

4. Bob或者其他任何人如Alice浏览该信息,其会话cookies或者其他信息将被Charly盗走。

反射式XSS:Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。其攻击过程如下:

1. Alice经常浏览某个网站,此网站为Bob所拥有。Alice使用用户名/密码进行登录,并存储敏感信息(比如银行账户信息)。

2. Charly发现Bob的站点包含反射性的XSS漏洞。

3. Charly编写一个利用漏洞的URL,并将其冒充为来自Bob的邮件发送给Alice。

4. Alice在登录到Bob的站点后,浏览Charly提供的URL。

5. 嵌入到URL中的恶意脚本在Alice的浏览器中执行,就像它直接来自Bob的服务器一样。此脚本盗窃敏感信息(授权、信用卡、账号信息等)然后在Alice完全不知情的情况下将这些信息发送到Charly的Web站点。

上面的例子中,Y女士所遭遇到的就是这种反射式的XSS攻击。

如何判断自己已经遭受XSS攻击呢?和其他常见攻击行为一样,黑客很有可能并不知道该如何清理自己留下的系统日志,从对日志的分析中可以很容易地看到是否有XSS攻击行为发生。还有一种更直接的方法就是检查页面源代码,看是否有不相干URL等字符串出现,如某页面源文件中存在与页面功能无关的代码,就很有可能是发生了XSS攻击。

由于XSS攻击的直接受害者往往并不是网站所有者,而是访问受攻击网站的普通用户,所以,经常会出现普通用户发现网站已经被黑客攻击,而网站的管理人员仍一无所知的情况。对于一些依靠网站开展业务的机构来说(如金融机构等),做好前期检查,是一项非常重要的工作。

SQL注入攻击和XSS攻击发生后,该如何应对呢?和大部分的Web威胁行为一样,XSS攻击发生原因是由于页面文件编写不完备,所以最直接和有效的方法就是代码级的页面文件修改。但一般来说代码级修改需要较长的检查和修补时间,同时可能会涉及到在线试运行验证效果,所以在实际应用中较少采用,采用的较多的是检测+防护+响应(PDR模型)的手段。