CN1649346A - 网络应用层攻击的检测、过滤、阻断和记录的方法 - Google Patents

网络应用层攻击的检测、过滤、阻断和记录的方法 Download PDF

Info

Publication number
CN1649346A
CN1649346A CN 200510055682 CN200510055682A CN1649346A CN 1649346 A CN1649346 A CN 1649346A CN 200510055682 CN200510055682 CN 200510055682 CN 200510055682 A CN200510055682 A CN 200510055682A CN 1649346 A CN1649346 A CN 1649346A
Authority
CN
China
Prior art keywords
server
application layer
client
record
attacks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 200510055682
Other languages
English (en)
Inventor
李冬岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN 200510055682 priority Critical patent/CN1649346A/zh
Publication of CN1649346A publication Critical patent/CN1649346A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种对网络应用层攻击的检测、过滤、阻断和记录的方法,该方法通过在服务器上添加模块来检测和阻止攻击,同时检测和过滤服务器返回的机密信息。该方法包括以下步骤:(1)在应用服务器响应客户端请求之前接管同客户端的通讯;(2)从特定的位置或文件中读取非法攻击和服务器机密信息的特征码;(3)根据特征码检测客户端到服务器端应用层数据的合法性;(4)对客户端的非法攻击进行阻断和记录;(5)通过检测的客户端到服务器端合法通讯正常传输给应用服务器;(6)服务器只响应客户端合法请求,提供服务;(7)根据特征码检测和处理服务器端返回客户端的数据;(8)对不合法客户端数据或服务器端返回信息给用户和服务器管理者提示。

Description

网络应用层攻击的检测、过滤、阻断和记录的方法
技术领域
本发明是关于计算机网络攻击的检测、防护方法,是一种针对网络应用层攻击的入侵检测、过滤、阻断和记录的方法。
背景技术
计算机网络分为七层:
1、物理层
2、数据链路层
3、网络层
4、传输层
5、会话层
6、表示层
7、应用层
从1到7,由低到高,每层完成一定的功能,比如网络层和传输层主要是完成数据在网络上的传输和传输过程中的控制,不关心高层数据的组成,不对高层数据进行管理和控制。应用层是网络7层中的最高层,应用层的攻击数据在网络层和传输层难于检测和控制。
传统的网络防护方法和防火墙主要是针对网络层和传输层的防护,这种防护方式对老式的黑客攻击比较有效。
现在黑客的网络攻击手法正变得越来越狡猾,针对应用层的攻击往往能够穿过网络层防火墙,潜入到服务器的应用层当中,从而达到控制和破坏用户网络的目的。
用户的数据由用户所在的客户端到服务器所在的服务端的网络传输过程为:先由客户端把用户的数据拆分成数据包,加上用于网络传输和控制的包头、包尾,然后交给网络层向服务器端传输,数据在传输过程中完全由网络层和传输层来控制,网络层和传输层不管数据包里的具体内容,只负责把数据传输到目的地(服务端)。用户端输入的数据可能被分成了多个包,到达服务端的次序也可能先后不一样,等到达服务端后,再按次序把包里的内容组合成跟用户输入的数据一样的应用层数据交给应用层。然后交由应用服务器:比如WEB服务器,FTP服务器等对用户的请求进行响应并提供相应服务。
传统的网络攻击方式大多是端口扫描和制造拒绝服务攻击等针对网络层和传输层的攻击,相应的防火墙防护方式也主要是IP地址和协议端口过滤等方法。
近来,攻击者的方法有向应用层扩展的趋势,攻击的数据在应用层发起,拆分成数据包后同正常应用数据组成的数据包对网络层和传输层来讲是没办法识别的,所以攻击数据就得以突破网络防火墙,到达服务器端,等组合成应用层数据后对服务器产生了攻击作用,执行了攻击者的命令,从而达到控制和破坏服务器的目的。
举个形象的比喻:
如果把计算机网络比做一座建筑,传统的防火墙就是在企业内部网络和Internet之间的一系列并列的门。每道门都有安检人员对到达的包裹(数据包)进行逐一检查,但只是检查包裹的外面,若发现包裹外没有附着有害物便开门放行。传统攻击者常用的伎俩就是通过端口扫描来检查哪些门是敞开不设防的,然后加以利用。晚些时候出现的具有状态检测功能的防火墙可以检查哪些数据包是来自Internet对内部网络访问请求的应答。也就是说,能够鉴别那些不请自来的包裹。
但应用层攻击就要复杂得多,因为攻击数据包在绝大多数情况下是合法的数据包,不同的只是组合成应用层数据后的内容具有攻击性。攻击数据突破网络层防火墙后,组合成应用层攻击命令,就可以利用目标系统的漏洞执行命令,获得系统的控制权,然后以此为平台开始寻找周围其他系统的漏洞或后门,进而展开攻击。
现有的应用服务器最常见的是WEB服务器(即用来做网站的WWW服务器),其次还有FTP、MAIL等多种服务器。以下就以最常用的WEB服务器为例说明应用层攻击的方法和可能导致的后果。
假设有一台操作系统为WIN2000 Advanced Server,WEB服务器为IIS,数据库服务器为SQL Server 2000的服务器,这是现有INTERNET上应用最广泛的WEB系统类型。该WEB服务为网上商城,其上有商品展示的服务页面:
http://www.xxx.com/show.asp?id=10
通过在id=10后加入;and db_name()>0,可以得到WEB服务器连接的数据库名,让WEB服务器的报错信息把数据库名暴露出来。
通过在id=10后加入;and(Select Top 1 name from sysobjects where xtype=’U’andstatus>0)>0,可得到数据库里存储的用户创建的第一个表名,让报错信息把表名暴露出来。在利用更进一步的方法,可得到用户创建的第二、第三……等所有表名。一般多数关键信息都存储在诸如:admin,user等类似表里。
知道了所有表名后,可以通过在id=10后加入;and(Select Top 1col_name(object_id(’表名’),1)from sysobjects)>0,获取表名对应的字段名,用报错信息把字段名暴露出来。将object_id(’表名’),后的1换成2,3,4…就可以逐个获取所猜解表里面的所有字段名。一般多数关键信息存储在诸如:password,pwd,admin_pwd,user_pwd等类似的字段里。
经过以上步骤,攻击者就获得了服务器上的数据库名,关键表名,字段名等机密的信息,再下一步,攻击者可通过进一步的操作把关键字段(比如用户名为admin的password)字段里的内容暴露出来,这样就获得了用户admin在服务器上的密码。
攻击者还可以通过backup database数据库名to disk命令把关键数据库备份到服务器的目录下面,再通过http把整个数据库下载到攻击者本机,所有数据库里的信息都暴露在攻击者面前了。
攻击者还可以通过在ID=10后添加;exec master.dbo.sp_addlogin aaaa,bbbb;--以及;exec master.dbo.sp_addsrvrolemember aaaa,sysadmin;--来创建数据库用户aaaa(密码bbbb)并把用户添加到数据库管理员组,这样攻击者就获得了一个远程的shell,然后攻击者就可以利用Sql Exec等远程数据库控制工具进行控制数据库或执行命令等操作。
更有甚者,攻击者通过在ID=10后添加;exec master.dbo.xp_cmdshell″net user 12345678/add″;一命令就直接在服务器的操作系统里添加了用户名为1234,密码为5678的用户,然后通过在ID=10后添加;exec master.dbo.xp_cmdshell″net localgroup administrators1234/add″;--命令把用户1234加入到系统管理员组,这样,用户名1234,密码5678的用户就获得了服务器的最高级别控制权限,攻击者用1234登录到该服务器就可以做他想做的任何操作了,包括窃取、篡改、毁坏服务器数据,更改网站主页或利用该服务器对内部网络展开进一步攻击等等。
以上的攻击方法,都属于应用层攻击,该种类型的攻击在网络层和传输层难于检测和防护,比如例子中第一个暴露数据库名的攻击“;and db_name()>0”,在网络层传输时可能被分成了多个数据包,根本无法通过对单个数据包内数据的检测来防护。假设攻击数据“;anddb_name()>0”在传输时被分在了2个数据包里,前一个含“;and d”,后一个含“b_name()>0”,就算在网络层针对数据包里的“;and db_name()>0”实行了过滤同样可以正常通过,等到了服务器端,“;and d”,和“b_name()>0”组合成“;and db_name()>0”传给应用层交给WEB服务器处理时就恢复了其攻击性,对服务器造成了攻击。添加系统或数据库用户等其它应用层攻击方法同样可以正常通过网络层防火墙对服务器造成攻击。这是应用层攻击区别于传统攻击的特点,也是传统防护方法和防火墙难于检测和防护应用层攻击的原因。
发明内容
本发明的目的是要实现对网络应用层攻击的检测、过滤、阻断和记录。
为达到前述目的,本发明提供了一种通过特征码对传到服务器上的应用层数据进行检测、过滤、阻断和记录的方法。
本发明的原理为:工作在服务器端接收到客户端数据,从网络层组合成应用层数据传输到应用层以后,服务器端应用服务器响应客户端请求之前。这时的数据为应用层数据,即便是传输过程中攻击数据被分成了多个数据包,这时也已经恢复了其原貌,有了攻击性,也有了攻击的检测特征。该发明的使用,改变了直接由应用服务器响应客户端请求的服务模式为先由本发明检测应用层数据的合法性,再交由应用服务器响应的服务模式。
比如背景技术例子中暴露数据库名的攻击“;and db_name()>0”,只要针对其攻击的特征码db_name()进行检测和过滤,就能保证应用服务器不响应和处理攻击数据,攻击者就无法通过这种攻击获得数据库的名称。同样对暴露数据库表名、字段名,添加系统或数据库用户等其它攻击方法,也可以通过相应的特征码进行检测和防护。
为了实现本发明,需要在服务器或网络上(内部网、广域网甚至INTERNET上都可以)存储应用层攻击的特征码,以便本发明检测应用层攻击时取来同需要检测的数据进行对比。在服务器本机存储特征码有响应速度快的优点,但不能保证用最新的特征码进行检验,有可能在受到新的攻击方式攻击时检测不出来,在网络上(特别是INTERNET上)存储特征码有随时获得最新防护的优点,但每次检测都到网上去取特征码会导致响应速度较慢。本发明采用了服务器本机存储特征码,检测和防护时本机读取特征码,存储的特征码定时到INTERNET上更新的方法来保证响应速度和对最新攻击的防护能力。
另外对攻击的记录,同样可以服务器本机存储和网络存储攻击记录。本发明同样采用了服务器本机记录,定时通报到网络上特定位置的方法来处理。记录的内容包括攻击者IP地址,攻击时间,攻击特征等关键信息,以利于查找攻击源或为下一步处理提供支持。
对于攻击数据的处理,首先要过滤和阻断其到应用服务器,不让应用服务器响应和处理其数据。另外还可以把预定的信息反馈给攻击者,比如:警告信息,攻击者的地址,攻击时间,攻击特征等,以求达到震慑攻击者,使其不敢再次攻击的目的。
对于经检测合法的客户端数据,正常提交给应用服务器,使应用服务器正常给客户提供服务。
对于应用服务器返回给客户端的数据,同样先由本发明在服务器的应用层接管返回数据,根据特征码检测是否含有暴露给客户端的机密信息,有则过滤和记录,无则正常返回。
附图说明
图1:传统网络攻击和防护示意图;
图2:应用层攻击示意图;
图3:本发明工作原理图。
具体实施方式
本发明的具体实施方式为:
1、在服务器上安装程序,介入系统和应用服务器深层。
例如:对于最常用的微软系列服务器版操作系统和微软的WEB服务器IIS。
程序为IIS FILTER或ISAPI FILTER类型程序,编译成DLL,注册进操作系统,运行于WEB服务器IIS的深层。
2、在服务器上按应用服务器类型不同及通讯方向不同分别存储相应应用服务的攻击特征码及返回机密信息的特征码。
例如:对于最常用的WEB服务器IIS,其攻击特征码为exec,master,xp_cmdshell,create,drop等以及它们的大小写组合变体;机密信息特征码为dbo,varchar,OLE DB等。
3、先于应用服务器响应客户端的请求,按特征码检测客户端应用层数据是否合法;也先于应用服务器响应信息返回客户端前进行动作,检测返回信息是否泄密。
例如:对IIS,通过开发IIS FILTER或ISAPI FILTER,编译成DLL,先于IIS响应客户端的请求,FILTER运行于WEB服务器IIS的深层,在WEB服务器里,FILTER的应用机制就是在WEB服务器响应客户端请求之前进行动作,对用户的数据进行检测。该FILTER只需按特征码过滤含有exec,xp_cmdshell,sp_addlogin,db_name()等非法攻击的请求即可,因处理直接,明确,再加之工作于系统深层,所以能很好的保证响应的效率。过滤过的合法请求正常通行,非法请求提交给相应处理程序处理。
4、对于非法攻击或导致服务器返回机密信息的请求,转向到处理程序进行处理,处理程序完成攻击信息的记录,返回给用户相应的提示信息,并向系统管理者报警。
5、正常的请求和返回在通过检测后提交应用服务器处理和响应,正常给用户提供服务。

Claims (10)

1、一种网络应用层攻击的检测、过滤、阻断和记录的方法,其特征在于,该方法包括以下步骤:
(1)在网络应用服务器响应客户端请求之前接管同客户端的通讯;
(2)从特定的位置或文件中读取非法攻击和服务器机密信息的特征码;
(3)根据(2)步骤取到的特征码检测客户端到服务器端应用层数据的合法性;
(4)对客户端的非法攻击进行阻断和记录;
(5)通过检测的客户端到服务器端合法通讯正常传输给应用服务器;
(6)服务器响应客户端合法请求,提供服务;
(7)根据特征码检测服务器端返回客户端数据的合法性,对服务器端机密信息的返回进行阻断和记录;
(8)对不合法客户端数据或服务器端返回信息给用户或服务器管理者提示。
2、一种网络应用层攻击的检测、过滤、阻断和记录的方法,其特征在于,建立在应用层上,是对客户端数据传输到服务器端,由网络及传输层数据组合成应用层数据后再进行的检测和防护方法,能防护网络层、传输层不能检测的攻击。
3、根据权利要求1所述的网络应用层攻击的检测、过滤、阻断和记录的方法,其特征在于,为实现权利要求1中第(1)步,在网络应用服务器处理客户端发来的应用层数据之前,先由该方法检测客户端数据,改变原有由服务器直接响应客户端请求的模式为通过该技术检测再由应用服务器响应的应用模式。
4、根据权利要求1所述的网络应用层攻击的检测、过滤、阻断和记录的方法,其特征在于,为实现权利要求1中第(2)步,在服务器上某文件或网络上某处存储非法攻击和服务器返回机密信息的特征码。
5、根据权利要求1所述的网络应用层攻击的检测、过滤、阻断和记录的方法,其特征在于,权利要求1中第(2)步的特征码包括:exec,master,xp_,sp_,dbo,cmdshell,addlogin,db_name(),OLE DB,varchar,net user,net localgroup,/add,@,..,union,+,//,;,0x,_,and,insert,drop,from,select,delete,update,count,%,chr,mid,truncate,char,declare,’,”;特征码还包括以上英文字符型特征码的大小写变化。
6、根据权利要求1所述的网络应用层攻击的检测、过滤、阻断和记录的方法,其特征在于,根据权利要求1中第(2)步的特征码检测客户端到服务器端应用层数据的合法性,并根据检测结果对客户端的非法攻击进行阻断和记录。
7、根据权利要求1所述网络应用层攻击的检测、过滤、阻断和记录的方法,其特征在于,不专门针对WEB攻击这一种类型的攻击,加入不同类型的特征码就能对不同类型的应用层攻击有防护效果。
8、根据权利要求1所述的网络应用层攻击的检测、过滤、阻断和记录的方法,其特征在于,为实现权利要求1中第(7)步,根据特征码检测和处理由服务器端到客户端的返回信息,改变原有由服务器直接向客户端返回信息的模式为通过该技术检测再由服务器把信息返回给客户端的应用模式。
9、根据权利要求1所述的网络应用层攻击的检测、过滤、阻断和记录的方法,其特征在于,可在服务器或网络某处记录请求服务器返回机密信息的请求或非法攻击的地址、时间、攻击特征等信息,同时可给攻击者和服务器管理者显示预定的提示。
10、一种网络应用层攻击的检测、过滤、阻断和记录的方法,其特征在于,对由客户端请求发起的调用数据库或其它的服务要求根据特征码进行检测和防护,拒绝非授权数据库访问和命令执行。
CN 200510055682 2005-03-23 2005-03-23 网络应用层攻击的检测、过滤、阻断和记录的方法 Pending CN1649346A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200510055682 CN1649346A (zh) 2005-03-23 2005-03-23 网络应用层攻击的检测、过滤、阻断和记录的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200510055682 CN1649346A (zh) 2005-03-23 2005-03-23 网络应用层攻击的检测、过滤、阻断和记录的方法

Publications (1)

Publication Number Publication Date
CN1649346A true CN1649346A (zh) 2005-08-03

Family

ID=34876758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510055682 Pending CN1649346A (zh) 2005-03-23 2005-03-23 网络应用层攻击的检测、过滤、阻断和记录的方法

Country Status (1)

Country Link
CN (1) CN1649346A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883020A (zh) * 2009-04-29 2010-11-10 丛林网络公司 检测恶意网络软件代理
CN101778108B (zh) * 2010-01-22 2012-10-24 蓝盾信息安全技术股份有限公司 一种服务器主页防篡改的方法及装置
TWI426744B (zh) * 2010-04-21 2014-02-11
CN103944897A (zh) * 2014-04-16 2014-07-23 广东电网公司信息中心 Iis应用服务器嵌入式安全监控方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883020A (zh) * 2009-04-29 2010-11-10 丛林网络公司 检测恶意网络软件代理
US8914878B2 (en) 2009-04-29 2014-12-16 Juniper Networks, Inc. Detecting malicious network software agents
CN101883020B (zh) * 2009-04-29 2015-11-25 丛林网络公司 检测恶意网络软件代理的方法和网络设备
US9344445B2 (en) 2009-04-29 2016-05-17 Juniper Networks, Inc. Detecting malicious network software agents
CN101778108B (zh) * 2010-01-22 2012-10-24 蓝盾信息安全技术股份有限公司 一种服务器主页防篡改的方法及装置
TWI426744B (zh) * 2010-04-21 2014-02-11
CN103944897A (zh) * 2014-04-16 2014-07-23 广东电网公司信息中心 Iis应用服务器嵌入式安全监控方法及装置

Similar Documents

Publication Publication Date Title
CN110719291B (zh) 一种基于威胁情报的网络威胁识别方法及识别系统
CN103581363B (zh) 对恶意域名和非法访问的控制方法及装置
RU2417417C2 (ru) Идентификация в реальном времени модели ресурса и категоризация ресурса для содействия в защите компьютерной сети
JP3448254B2 (ja) アクセス・チェーン追跡システム、ネットワーク・システム、方法、及び記録媒体
CN103229185B (zh) 用于针对恶意软件的本地保护的系统和方法
CN100448203C (zh) 用于识别和防止恶意入侵的系统和方法
US8806632B2 (en) Systems, methods, and devices for detecting security vulnerabilities in IP networks
CN103634315B (zh) 域名服务器的前端控制方法及系统
CN101052934B (zh) 用于检测网络上未经授权的扫描的方法、系统和计算机程序
JP4020912B2 (ja) 不正アクセス検知装置、不正アクセス検知プログラムおよび不正アクセス検知方法
US7278019B2 (en) Method of hindering the propagation of a computer virus
US8051484B2 (en) Method and security system for indentifying and blocking web attacks by enforcing read-only parameters
CN101018121B (zh) 日志的聚合处理方法及聚合处理装置
US20100262688A1 (en) Systems, methods, and devices for detecting security vulnerabilities in ip networks
US20070226510A1 (en) Signature distribution in a document registration system
CN1768516A (zh) 智能集成网络安全设备
CN110730175A (zh) 一种基于威胁情报的僵尸网络检测方法及检测系统
US20070226504A1 (en) Signature match processing in a document registration system
CN104396220A (zh) 用于安全内容检索的方法和设备
WO2010056379A1 (en) Systems, methods, and devices for detecting security vulnerabilities in ip networks
CN1764129A (zh) 防止多个主机的异步arp高速缓存中毒的方法和系统
US9894038B2 (en) System security for network resource access using cross-firewall coded requests
CN1684431A (zh) 响应拒绝服务攻击的方法和设备
US9264440B1 (en) Parallel detection of updates to a domain name system record system using a common filter
CN107154939A (zh) 一种数据追踪的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication