扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
针对Web威胁的迅猛发展,幻想硬件、操作系统、服务、应用程序提供商提供没有漏洞的系统,显然是不现实的,因此需要在网络边界和服务器前增加安全控制设备,或者在服务器系统上部署软件来防御各种攻击。
SQL注入的检测
作为排在 Web 威胁前列的SQL 注入攻击,在传统的安全产业界的主要识别和防御方法有基于特征的关键字匹配技术和基于异常检测技术。
基于特征的关键字匹配技术是目前业界使用的主流方法,基本原理是抽取SQL注入过程中都会出现的特殊字符(例如:’ – #等)和关键字(例如:’SELECT、UNION等)作为检测SQL注入的依据。例如Snort中,以如下方式定义一个SQL 注入:
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS
$HTTP_PORTS ( msg:"SQL Injection Paranoid"; flow:to_server,established;
uricontent:".pl";pcre:"/(\%27)|(\’)|(\-\-)|(%23)|(#)/i";
classtype:Web-application-attack; sid:9099; rev:5;)
由于该方法是检测特定的字符和该字符的某一种编码方式,因此黑客可以利用其它的编码方式或者不同的关键字来进行攻击,系统将会形成漏报。在另一方面,由于这种机械地检测特定字符,也很容易形成误报。
与基于特征的关键字匹配技术对应的是基于异常检测技术。该技术主要分为学习期和检测期。在学习期,需要干净的网络数据,检测系统为Web应用程序自动建立各参数的正常使用模型(URL/COOKIE),待学习充分后,才能进入检测期。在检测期,系统利用学习期形成的模型对网络数据进行分析。
基于异常检测技术能够发现一些异常,但其缺陷也显而易见:需要一定的学习期才能投入使用,而且一段业务模型发生变化,就需要重新学习。更为重要的是异常未必就是攻击。
在学术界,针对SQL注入,同样有两个重要的研究方向基于正常行为模型的AMNESIA和基于数字签名技术的SQLRand 方法。
AMNESIA的核心思想为静态分析、动态监控。静态分析是找到源码中所有动态SQL语句的构造点,并为这些动态SQL语句建立自动机模型,同时在原系统中插入监测代码,动态监控是控提交的SQL语句是否满足自动机模型,如果满足则是正常的操作,否则,就认为发生了SQL注入攻击。其原理如图所示:
该方法的主要弱点是需要能够获得应用程序的源代码,并且需要修改源代码。
基于数字签名技术的SQLRand方法是开始时,对源代码中包含动态SQL语句的模版中的关键字进行随机化编码处理,这些编码规则黑客无法预知。在运行时,对随机化编码之后的SQL命令进行解码,如果解码失败则表示遭受到了SQL注入攻击。例如:
动态SQL命令模版:
select * from users where name = %name
编码后动态SQL命令:
select123 * from123 users
where123 name = ‘Mike’ OR 1=1
该方法的主要弱点是需要拥有源代码和修改源码,同时需要改变原有业务系统的部署,方案复杂。
XSS攻击的检测
随着交互式web系统的越来越多,跨站脚本攻击(XSS)愈演愈烈,大有超过SQL注入攻击的势头。与SQL注入相比,跨站脚本攻击的威胁程度更大、威胁波及面更广,同时攻击过程也更加复杂多变。
针对XSS攻击防御常用可以在服务端和客户端进行控制。在服务端采用的方法主要有两种,一是对HTML进行编码和过滤,防止有非授权的脚本出现。另一种是使用安全网关,在安全网关上配置安全策略,这种方法需要了解Web应用程序的上下文环境。由于应用系统的复杂性,这两种方法都不能完全防止出现XSS的漏洞出现。在客户端采用的方法就是禁止脚本运行,虽然能很好地提高安全性,但由此将会丧失各种脚本带来的便利。
在安全产业界,对XSS的检测和防御同样使用的基于攻击特征的关键字匹配以及基于异常的检测技术,由于XSS攻击过程更加复杂多变,这两种方法的弊端也更加明显。
为了更好的应对愈演愈烈的web安全威胁,降低传统的产业界和学术界解决方案的不足,安全厂商也纷纷加入到研究队伍中来,启明星辰公司作为国内最专业的网络安全厂商,提出了使用入侵防御产品解决web安全问题的新思路。
启明星辰天清入侵防御系统web防御方案
启明星辰公司作为国内最专业的入侵研究安全厂商,在网络入侵研究方面有深厚的技术积累,其天清入侵防御产品,采用了融合基于原理和基于特征的柔性化检测机制来解决web攻击的防御问题,独创出基于攻击手法的VXID专利检测算法,为各种WEB攻击方法建立具备行为共性的检测模型。使用轻型虚拟机预分析技术,对提交的URL、Cookie、Post Form、脚本代码等进行进一步分析,判断这些提交信息中是否含有WEB攻击的企图。
VXID算法是一种将规则分析(建立虚拟机检测规则的过程)和异常分析(符合WEB攻击模型的,就是WEB攻击)相结合的技术。其核心内容是首先收集、分析各种可能的WEB攻击方法(包括SQL注入特征和XSS攻击特征),并提取出相应的有针对性的攻击机理。为这些攻击方法建立相应的检测模型,所有的的这些检测虚拟机模型,就叫做VXID算法误用检测模型。根据这些虚拟机检测来自URL\COOKIE\ POST-Form中的各参数域值是否符合SQL注入模型,检测提交的脚本代码是否符合XSS攻击模型,如果符合则表示发生了WEB攻击。
上图描述的就是天清入侵防御系统WEB攻击检测流程图。可以看到,VXID算法避免了传统产业界基于单纯模式匹配方法的大量漏报:攻击者的编码转换和关键字跨域都将无法躲避检测;也不会由于用户输入中包含关键字而产生误报。
和基于异常检测技术的产业界做法相比,VXID算法避免了由于采样学习数据不够“清洁”导致的漏报,而且作为内置信息算法,也避免需要重新学习才能适应网络环境的变更。
和学术界的解决方案比,采用入侵防御产品的解决方法简便易行:无需更改网络拓扑环境和设备配置信息,也不需要对web发布系统进行代码级的修改。
其典型部署方式如下:
将入侵防御产品硬件串行接入在需要保护的WEB业务系统之前即可。
天清入侵防御产品的web业务安全解决方案有如下特点:
A:和学术界的解决方案相比,天清入侵防御系统将检测和防御功能都固化在硬件产品中,用户仅需要简单部署产品就可以全面防御SQL注入、XSS攻击等web攻击行为,不需要在业务系统的代码上做任何修改。
B:和传统的产业界解决方案相比,天清入侵防御系统报警准确率高,避免了仅采用单纯的特征匹配方法的大量漏报和误报。不会因为将关键字定义得过于严格而出现误报,也不会因为仅能定义有限多个特征而使得变种攻击可以轻易绕过。
有了这两个特点,我们可以看到,使用天清入侵防御产品解决web安全问题,是一种既便捷又有效的方法。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者