JP4977888B2 - ウェブアプリケーション攻撃の検知方法 - Google Patents

ウェブアプリケーション攻撃の検知方法 Download PDF

Info

Publication number
JP4977888B2
JP4977888B2 JP2010178803A JP2010178803A JP4977888B2 JP 4977888 B2 JP4977888 B2 JP 4977888B2 JP 2010178803 A JP2010178803 A JP 2010178803A JP 2010178803 A JP2010178803 A JP 2010178803A JP 4977888 B2 JP4977888 B2 JP 4977888B2
Authority
JP
Japan
Prior art keywords
http traffic
attack
reconfigured
packet
web application
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.)
Active
Application number
JP2010178803A
Other languages
English (en)
Other versions
JP2012014667A (ja
Inventor
キム、ドゥク−スー
リー、セオク−ウー
パーク、ヨウング−イン
パーク、ハエ−ミン
Original Assignee
ペンタ・セキュリティ・システムズ・インコーポレーテッド
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 ペンタ・セキュリティ・システムズ・インコーポレーテッド filed Critical ペンタ・セキュリティ・システムズ・インコーポレーテッド
Publication of JP2012014667A publication Critical patent/JP2012014667A/ja
Application granted granted Critical
Publication of JP4977888B2 publication Critical patent/JP4977888B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ウェブアプリケーション攻撃を検知する方法に関する。
従来のウェブアプリケーション・ファイアウォール(Web Application Firewall)(以下、「WAF」と略称する)では、OSIのネットワーク分類基準のうちのレイヤー4での攻撃検知を行う侵入検知システム(Intrusion Detection System、IDS)または侵入防止システム(Intrusion Protection System、IPS)を基盤として、OSIネットワーク分類の最上位階層に該当するレイヤー7を対象とする攻撃を防御しており、このため、防御に限界が生じていた。
図1は、一般的なOSI 7レイヤーを説明するための例示図である。
OSI 7レイヤーとは、図1に示すように、Application、Presentation、Session、Transport、Network、Data Link及びPhysicalの7階層から構成されたことをいい、前述したように、レイヤー7水準を対象とした攻撃を検知し防御するウェブアプリケーション・ファイアウォール(WAF)がレイヤー4水準で攻撃を検知し防御する理由は、次のとおりである。
先ず、従来より、攻撃の検知のために一般に用いられている侵入検知システム(IDS)または侵入防止システム(IPS)などのシステムが、過去の特定インターネット・プロトコル・アドレス(IPアドレス)に対して特定ポートを遮る役割をしていたネットワークファイアウォールの役割を、パケットの分析に拡張しようとする試みから発明されたものであるため、過去のネットワークファイアウォールが攻撃を検知していた水準のレイヤー4に止まるようになったわけである。
また、従来のウェブアプリケーション・ファイアウォールがレイヤー4にて攻撃の有無を検知する理由は、OSI 7レイヤーモデルにおいて意味のわからない電気信号ではない、意味をもつ最小のデータ単位であるパケットが現われる時点がレイヤー4であることから、最初のデータ単位が成立される時点で攻撃を判断し遮断するために、レイヤー4で検知するわけである。
すなわち、アプリケーション・レイヤー(レイヤー7、L7)を対象とする攻撃を検知し防御しようとするためには、ネットワーク・トラフィックの分析もレイヤー7水準で行われる必要があり、これにより、誤検知と未検知(攻撃であるのに検知できないこと)を極力抑えることができる知能的なウェブファイアウォールの役割を果たすことができるが、従来は、レイヤー7を対象とする攻撃をレイヤー4水準の検知方法にて検知していたため、正常な検知や防御がなされていなかったという問題点がある。
付言すると、レイヤー4はデータの単位がパケットであって、従来のIDS、IPSを根幹として作製された1世代、2世代のWAFは、パケット単位のパターン整合を行うことで当該ネットワーク・トラフィックの攻撃の有無を判断している。すなわち、従来の1、2世代のWAFは、事前に管理者によって登録されている平均5000個余りの攻撃類型(正規表現:Regular Expression、略語:Regx)に対し、パケット毎に1番から5000番までの攻撃類型と一致する類型があるか否かを検査することで、当該パケットが、攻撃が含まれているパケットであるか正常パケットであるかを判断する。
しかし、最近のWAFは、ディープパケットインスペクション(Deep Packet Inspection、DPI)という方式を表明し、既存のパケットヘッダーのみを見て攻撃の有無を判別する方式から脱皮して、パケットのペイロード部分も検査する方式に変化しつつあるが、これは真正な意味のアプリケーション・レイヤー水準の防御ではなく、ただ、従来のレイヤー4水準の防御が若干進化した形態であるといえる。
一方、アプリケーション・レイヤー(レイヤー7)水準の攻撃の検知方法に適用される、レイヤー4水準で行われる前述のような従来の攻撃の検知方法では、次のような4つの不具合をもっている。
第一に、従来の検知方法では、攻撃の類型が変化する度に新しい攻撃類型がアップデートされる必要がある。
第二に、従来の検知方法では、処理速度の問題のため登録可能な攻撃類型の個数が制限されているので(最大一万個)、既存に攻撃と登録されていた類型を周期的に削除する必要がある。
第三に、レイヤー4のパケットパターン整合基盤の従来のWAFでは、攻撃パケットの変調(例えば、HTMLタグの変形、削除など、個人情報の特定部分の削除など)が技術的にほぼ不可能である。その不可能の理由は、次のとおりである。すなわち、パケットの変調は、パケットサイズの変化を引き起こすが、従来の1、2世代のWAFが、変化されたパケットのサイズをパケットヘッダーに書き換える作業は非常に多くの演算を要求し、それに伴い、処理時間が増大し、実際のインターネットサービス環境には適用されにくいためである。
第四に、従来の検知方法では、HTTPトラフィックの全体をみて攻撃を判断するわけではないため、意味論的にみて攻撃ではないパケットを攻撃パケットと判断する誤検知を引き起し得る。
本発明は、上記のような問題点を解決するためになされたものであって、その目的は、受信されるHTTPトラフィックのパケットからペイロードのみを分離してHTTPトラフィックを再構成した後、該再構成されたHTTPトラフィックの内容をパーサーにて分析することで、攻撃に関連した内容が含まれているか否かを判断することができる、ウェブアプリケーション攻撃の検知方法を提供することである。
上記目的を達成するための本発明は、HTTPトラフィックを形成するパケットが受信されると、ウェブアプリケーション・ファイアウォールが、上記HTTPトラフィックを再構成するステップと、再構成されたHTTPトラフィックを分析することで、該再構成されたHTTPトラフィックが攻撃に関連した内容を含んでいるか否かを判断するステップと、上記判断の結果、上記再構成されたHTTPトラフィックが攻撃に関連した内容を含んでいないと、上記再構成されたHTTPトラフィックをウェブサーバまたは使用者サーバへ伝送して正常に処理されるようにするステップと、上記判断の結果、上記再構成されたHTTPトラフィックが攻撃に関連した内容を含んでいると、上記再構成されたHTTPトラフィックを攻撃と検知した後、再処理するステップと、を含む。
本発明は、受信されるHTTPトラフィックのパケットからペイロードのみを分離してHTTPトラフィックを再構成した後、該再構成されたHTTPトラフィックの内容をパーサーにて分析することで、攻撃に関連した内容が含まれているか否かを判断することにより、誤検知率を低減することができるという優れた効果を奏する。
一般的なOSI 7レイヤーを説明するための例示図である。 本発明が適用される通信システムの構成を示す例示図である。 本発明に係るウェブアプリケーション攻撃の検知方法の一実施形態のフローチャートである。 本発明に係るウェブアプリケーション攻撃の検知方法に適用されるHTTPトラフィック再構成の意味を説明するための例示図である。 本発明に適用されるSQLパーサーの機能を説明するための各種の例示図である。 本発明に適用されるSQLパーサーの機能を説明するための各種の例示図である。 本発明に適用されるSQLパーサーの機能を説明するための各種の例示図である。 本発明に適用されるSQLパーサーの機能を説明するための各種の例示図である。
以下、添付の図面を参照して本発明について詳しく説明する。
図2は、本発明が適用される通信システムの構成を示す例示図である。
本発明が適用される通信システムは、図1に示すように、ウェブサイトを運営し使用者らに各種のサービスを提供するためのウェブサーバ20と、ウェブサーバと通信を行うことでウェブサーバから各種の情報の提供を受けたり、ウェブサーバへ各種の情報を提供したりするために使用者が利用する使用者サーバ30、及びウェブサーバをネットワークを介して使用者サーバと接続させるとともに、使用者サーバからの攻撃を検知しウェブサーバの機能を保護するためのウェブアプリケーション・ファイアウォール10と、を含んで構成される。
ここで、使用者サーバは、パーソナルコンピューター(PC)のような端末機であってもよく、複数のパーソナルコンピューターとネットワークを介して通信を行うサーバであってもよい。
一方、本発明に係るウェブアプリケーション攻撃の検知方法が適用され、ウェブサーバを外部の攻撃から保護するためのウェブアプリケーション・ファイアウォール10は、図2に示すように、XMLパーサー11、JavaScriptパーサー12、SQLパーサー13を含んでいる。
すなわち、本発明に係るウェブアプリケーション攻撃の検知方法は、ウェブアプリケーション・ファイアウォールが、受信されるHTTPトラフィックからパケットのヘッダーを除去し、ペイロード部分のみを集めてHTTPトラフィックを再構成した後、当該トラフィックの意味論的な分析を遂行して攻撃の有無を検知するものであって、次のような長所を持っている。
第一に、本発明では、攻撃の類型が変化する度に新しいパターンを登録する必要がない。
第二に、格納されているパターンという概念がないので、既存の攻撃類型を削除する作業が不要である。
第三に、HTTPトラフィックの全体をみて攻撃の有無を判断し、攻撃と判断される場合、再構成HTTPトラフィックを変調して伝送することができる。すなわち、住民登録番号の削除とhtml、JavaScript Tagの変調が可能である。
第四に、パケットのみをみて攻撃類型を判断するのではなく、再構成されたHTTPトラフィックの全体からみて意味論的に分析するため、誤検知率を顕著に低減させることができる。
図3は、本発明に係るウェブアプリケーション攻撃の検知方法の一実施形態のフローチャートであり、図4は、本発明に係るウェブアプリケーション攻撃の検知方法に適用されるHTTPトラフィック再構成の意味を説明するための例示図である。
また、図5aないし図5dは、本発明に適用されるSQLパーサーの機能を説明するための各種の例示図である。
第一の過程として、ウェブアプリケーション・ファイアウォールは、ネットワークを介して外部のサーバと通信を行う途中で、HTTPトラフィックを形成するパケットが受信されると、パケットのシーケンス順に並べ、各パケットのヘッダーを除去した後、各パケットのペイロード部分のみを集めて、HTTPトラフィックを再構成する(502)。すなわち、HTTPトラフィックを再構成するということは、パケットのヘッダー部分を分析してシーケンス順にパケットを並べ、ペイロード部分のみを集めることであって、図4に示すように、各パケットをそのシーケンス順に並べた後、パケット40のペイロード42部分のみを結合させることをいう。つまり、HTTPトラフィックを形成する多数のパケット40のそれぞれは、図4に示すように、ヘッダー41とペイロード42とで構成されているところ、本発明は、各パケットからペイロード部分のみを分離して、HTTPトラフィックを再構成している。付言すると、HTTPトラフィックは、L7(レイヤー7)→L6→L5→L4→L3→L2→L1といったように下位階層にいくにつれて、より小さい単位に分けられて宛て先コンピューター(または、サーバ)に到着するようになり、L4階層でのデータの単位はパケットである。ここで、パケットは、該パケットのシーケンス状態などの情報が含まれたパケットヘッダー(以下、簡単に「ヘッダー」とする)と、小さい単位に分けられているL7階層の原文の一部が含まれているパケットペイロード(以下、簡単に「ペイロード」とする)部分とに分けられており、本発明は、各パケットのペイロード部分のみを再構成しているという特徴を持っている。
第二及び第三の過程として、ウェブアプリケーション・ファイアウォールは、再構成されたHTTPトラフィック50を分析し(504)、該再構成されたHTTPトラフィックが攻撃に関連した内容を含んでいるか否かを判断する(506)。このとき、ウェブアプリケーション・ファイアウォールは、図2に示すように、各種のパーサーにてHTTPトラフィックを分析することにより、攻撃の有無を判断する。
すなわち、本発明に適用されるウェブアプリケーション・ファイアウォールは、ウェブサイトを運営するウェブサーバを攻撃から防御することが目的であって、ウェブサイトが存在するのに必要な要素は、大きくXML、JavaScript、SQLであるところ、本発明に係るウェブアプリケーション攻撃の検知方法が適用されるウェブアプリケーション・ファイアウォールもまた、XMLパーサー、JavaScriptパーサー、SQLパーサーの3つの要素から構成されることが好ましく、パーサーの種類は、ウェブサイトの標準変化に応じて多様に変化され得る。
ここで、XMLは、DHTML、HTMLの上位要素であって、Tagを基盤に文書の整合性と上・下位概念を保障するマークアップ言語(Markup Language)であり、XMLパーサーは、再構成されたHTTPトラフィックに対してTagの始端と終端を把握することでXML構文の整合性(Integrity)と、上・下位概念を把握するパーサーであって、再構成されたHTTPトラフィックに攻撃に関連した内容が含まれているか否かを判断する機能を遂行する。
一方、JavaScriptパーサーは、コンピュータープログラミング言語(C言語やjava、phytonなど)の一種であるJavaScriptを分析し、コンピュータが理解できる形態である二進数に変換する機能を遂行するものであって、JavaScriptパーサーは、国際標準機関のECMAで策定したJavaScript文法の標準に従うものであって、この文法に従わない場合、当該JavaScript構文はコンピュータで正常に解釈できずにエラーを発生させる。従来のWAFでは、JavaScript構文を分析せずに、JavaScript構文が始まることを知らせるTagである<script>Tagの有無によってJavaScriptを利用した攻撃文であるか否かを判断していた。しかし、本発明では、EMCA−262標準のJavaScriptパーサーを(解読器)を利用して当該JavaScript構文が有効な構文であるか否かを把握する。また、従来のL4検知位置では、JavaScript HTTPトラフィックの全体を把握することができないため、JavaScript構文の有効性の有無を把握することができる方法がなかったが、本発明では、前述したように、HTTPトラフィックを再構成する一方、JavaScriptパーサーを利用して再構成されたHTTPトラフィックを分析することでJavaScript構文の有効性の有無を把握することができる。すなわち、JavaScriptパーサーは、EMCA−262標準を守るJavaScript文法を検査することでJavaScript構文が有効であるか否かを判断する機能を遂行する。
また、SQLパーサーは、再構成されたHTTPトラフィックを最小単位に分解し、各結果がSQL構文の一部分であるか否かをチェックすることで、HTTPトラフィックに攻撃文が含まれているか否かを判断する機能を遂行する。SQLパーサーの機能を、図5aないし図5dを参考して説明すれば、次のとおりである。すなわち、SQLパーサーを利用した攻撃検知の例として、SQLインジェクション攻撃文が(name=“penta”or name=“security”) and keyword=“pentasec”である場合、SQLパーサーは、上記SQLインジェクション攻撃文を図5aに示すように、SQL文法の最小単位に分解し、最小単位毎に攻撃の有無を検知するようになる。このとき、最小単位の結果がいずれもSQLコマンドの一部である場合、当該文章の全体がSQL文章であると判断する。これに対し、従来の技術を適用したウェブアプリケーション・ファイアウォール(WAF)は、図5bに示すように、多様なパターン(シグナチャー)を予め登録しておく方法を用いるものであって、SQLインジェクション攻撃文が‘a’=‘a’ to ‘b’=‘b’のように変更されたとき、これを防御することができないという問題点を持っている。また、前述したように多様なパターン(シグナチャー)を予め登録しておく方法を用いる従来のWAFでは、図5cに示すようなパターン(シグナチャー)を予め登録しておいた場合、たとえ使用者がサーバへ伝送するリクエストHTTPトラフィックに“…having a good time… ==…”のような文句が含まれていると、Havingという単語に==表示が続くことでSQLインジェクション攻撃文と判断してしまい、誤検知をすることもあるという問題点を持っている。
すなわち、XMLパーサーは、HTTPトラフィックを再構成して分析を行い、SQLパーサーは、攻撃文を最小単位に分解し、各結果がSQLの一部分であるか否かを分析することで攻撃の有無を検知するという特徴を持っている。
第四の過程として、上記判断の結果(506)、攻撃に関連した内容を含んでいないと、ウェブアプリケーション・ファイアウォールは、再構成されたHTTPトラフィックをウェブサーバへ伝送するか、またはネットワークを介して使用者サーバへ伝送し、正常に処理されるようにする(508)。
第五の過程として、上記判断の結果(506)、攻撃に関連した内容を含んでいると、ウェブアプリケーション・ファイアウォールは、再構成されたHTTPトラフィックに含まれているパケット(または、再構成されたHTTPトラフィック)が正常ではないと判断し、上記再構成されたHTTPトラフィックを攻撃と検知する一方、正常ではない再構成されたHTTPトラフィックを再処理する過程を行う(510)。ここで、正常ではない再構成されたHTTPトラフィックに対する再処理過程は、次の二つの方法にて行うことができる。第一の方法は、正常ではないパケットを送信したウェブサーバまたは使用者サーバに対し、上記正常ではないパケットに対応するパケットの再送信を要請するか、上記パケットを削除する方法であり、第二の方法は、正常ではないパケットを変調して伝送する方法であって、以下、二つの方法についてより詳しく説明することにする。
すなわち、使用者が使用者サーバ30を介してネットワーク上のウェブサーバ20へ伝送したい(Request)正常なメッセージ中に攻撃と疑われ得る文句(例:<script>)が含まれている場合、実際に使用者の意図したところは攻撃ではなかったにもかかわらず、従来のウェブアプリケーション・ファイアウォールでは攻撃と判断して使用者の要請を遮断することもあった。しかし、このような場合、本発明が適用されるウェブアプリケーション・ファイアウォールが‘<script>'Tagを‘[script]'のように、つまり中の文句‘<'を‘['に変更することで攻撃文は成立しなくなり、この結果、使用者の正常な行動に対する攻撃誤検知を防止することができる。
また、ウェップサーバ20から使用者サーバ30へ伝送される(Response)メッセージに個人情報が含まれている場合、単に個人情報が含まれているという理由にてページを遮断するとすれば、使用者は個人情報が含まれていない他の情報も見られなくなる。こうした場合、本発明が適用されるウェブアプリケーション・ファイアウォール10では個人情報が含まれている部分のみを変調(Masking、例:76****-11******)することで個人情報の流出と関係のない他のメッセージは正常に使用者に送信(Response)されるようにすることができる。すなわち、本発明は外部から伝送されてくるウェブトラフィックからの攻撃を検知する機能だけではなく、ウェブトラフィックの変調を通じて個人情報の流出を抑える機能を有することをその特徴とするものであって、住民登録番号、カード番号、住所、電子メール、法人番号、事業者番号などのような個人情報の流出を抑える機能を遂行することができる。このために、本発明は、ウェブアプリケーション・ファイアウォールが、再構成されたウェブトラフィック(HTTPトラフィック)に含まれているメッセージのうち、個人情報に係るメッセージの一部を外部から読み取り不可能なメッセージに変調することを特徴としている。
付言すると、本発明において意味する再構成されたHTTPトラフィックとは、パケットのヘッダー部分を分析し、シーケンスに応じてパケットを並べたものであって、当初L7階層で伝送しようとした原文メッセージを復元した状態のものを意味する。したがって、ウェブアプリケーション・ファイアウォールの上記パーサーのうち少なくともいずれかは、再構成されたHTTPトラフィックの内容を分析することで、攻撃文の有無を判断する一方、攻撃文などが含まれていて、正常ではないと判断されるパケットに対しては、送信ネットワークサーバに対し再送信を要請することで再度受信した後、前述したようにヘッダーを除去しHTTPトラフィックを再構成する過程(502)から繰り返すか、または、当該パケットのうち、攻撃に関連した内容のみを削除するか変調した後に伝送することもできる。
以下、前述したような本発明の二つの例を、[表1]及び[表2]を参照して説明する。
第一の例として、DHTML(XML)パーサーは、Tagの始端である<Tag>と、Tagの終端である</Tag>を一つのTagと分析し、Tagの属性(Attribute)とTag中の関数を分析するようになる。
すなわち、従来のWAFでは、通常、<script>タグが入っている場合、攻撃と判断して当該パケットを攻撃パケットとして処理していたが、本発明では、HTTPトラフィックの全体を再構成し完成されたDTHML構文を分析するため、<script>タグが検知されたとして、当該トラフィックを攻撃と処理することなく、再構成されたHTTPトラフィックの全体が攻撃文である場合のみに対して攻撃と処理するため、誤検知率が顕著に低くなる。
付言すると、本発明は、[表1]の場合、XMLパーサーがタグの始端とタグの終端を一つのタグと分析し、タグの属性とタグ中の関数を分析するものであって、従来ならば、<script>タグが入っていた場合に攻撃と判断したのに対し、本発明では再構成されたHTTPトラフィック構文の全体を分析することで、再構成されたHTTPトラフィックの全体が攻撃文である場合のみに対して攻撃と処理するという特徴を持っている。
ここで、エンドノード(End node)の結果がいずれもSQLの一部分であるので、全体文章のSQL文の有無=TRUEである。すなわち、第二の例として、非常に有名なWeb攻撃方法の一つであるSQLインジェクション攻撃の場合にも、従来のWAFでは、‘or string=string'の攻撃類型をストレージに登録しておくため、変形されたSQLインジェクション攻撃に対する防御を事前にできず、既に攻撃がなされた以後の防御だけが可能であった。しかし、本発明では、データベース・マネジメント・システム(Database Management System)で実行できるすべての種類のSQL構文に対するディテクションが可能であるので、変形された攻撃、新しい攻撃が現われても防御できるという特徴を持っている。
以上説明した内容を通じ、当業者ならば本発明の技術思想を逸脱しない範囲で種々の変更及び修正が可能であることが分かるであろう。したがって、本発明の技術的範囲は、明細書の詳細な説明に記載された内容に限定されるものではなく、特許請求の範囲によって決められるべきである。
10 ウェブアプリケーション・ファイアウォール
20 ウェブサーバ
30 使用者サーバ

Claims (6)

  1. HTTPトラフィックを形成するパケットが受信されると、ウェブアプリケーション・ファイアウォールが、前記HTTPトラフィックを形成する各パケットのヘッダーを除去した後、前記各パケットのペイロード部分のみを集めて、前記HTTPトラフィックを再構成するステップと、
    再構成されたHTTPトラフィックを分析することで、該再構成されたHTTPトラフィックが攻撃に関連した内容を含んでいるか否かをパーサーにて判断するステップと、
    前記判断の結果、前記再構成されたHTTPトラフィックが攻撃に関連した内容を含んでいないと、前記再構成されたHTTPトラフィックをウェブサーバまたは使用者サーバへ伝送して正常に処理されるようにするステップと、
    前記判断の結果、前記再構成されたHTTPトラフィックが攻撃に関連した内容を含んでいると、前記再構成されたHTTPトラフィックを攻撃と検知した後、前記再構成されたHTTPトラフィックに含まれている正常でないパケットを送信したウェブサーバまたは使用者サーバに対して前記正常でないパケットに対応するパケットの再伝送を要請する、または前記パケットを削除する、または前記再構成されたHTTPトラフィックに含まれている正常ではないパケットを変調して前記ウェブサーバまたは使用者サーバへ伝送する方式のいずれかにて再処理するステップと、
    を含むウェブアプリケーション攻撃の検知方法。
  2. 前記パーサーはXMLパーサーを含み、前記XMLパーサーは、前記再構成されたHTTPトラフィックに対し、Tagの始端と終端を把握してXML構文の整合性と、上・下位概念を把握することで、前記再構成されたHTTPトラフィックに攻撃文が含まれているか否かを判断することを特徴とする請求項1に記載のウェブアプリケーション攻撃の検知方法。
  3. 前記パーサーはJavaScriptパーサーを含み、前記JavaScriptパーサーは、JavaScript構文の有効性の有無を把握することで、前記再構成されたHTTPトラフィックに攻撃文が含まれているか否かを判断することを特徴とする請求項1に記載のウェブアプリケーション攻撃の検知方法。
  4. 前記パーサーはSQLパーサーを含み、前記SQLパーサーは、前記再構成されたHTTPトラフィックを最小単位に分解し、各結果がSQL構文の一部分であるか否かをチェックすることで、前記再構成されたHTTPトラフィックに攻撃文が含まれているか否かを判断することを特徴とする請求項1に記載のウェブアプリケーション攻撃の検知方法。
  5. 前記変調においては、
    前記ウェブアプリケーション・ファイアウォールが、前記再構成されたHTTPトラフィックに含まれている攻撃と疑われ得るメッセージを正常なメッセージに変調することを特徴とする請求項1に記載のウェブアプリケーション攻撃の検知方法。
  6. 前記変調においては、
    前記ウェブアプリケーション・ファイアウォールが、前記再構成されたHTTPトラフィックに含まれているメッセージのうち、個人情報に関連したメッセージの一部を外部から読み取り不可能なメッセージに変調することを特徴とする請求項1に記載のウェブアプリケーション攻撃の検知方法。
JP2010178803A 2010-07-05 2010-08-09 ウェブアプリケーション攻撃の検知方法 Active JP4977888B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100064363A KR101005927B1 (ko) 2010-07-05 2010-07-05 웹 어플리케이션 공격 탐지 방법
KR10-2010-0064363 2010-07-05

Publications (2)

Publication Number Publication Date
JP2012014667A JP2012014667A (ja) 2012-01-19
JP4977888B2 true JP4977888B2 (ja) 2012-07-18

Family

ID=43615822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010178803A Active JP4977888B2 (ja) 2010-07-05 2010-08-09 ウェブアプリケーション攻撃の検知方法

Country Status (4)

Country Link
US (1) US20120124661A1 (ja)
JP (1) JP4977888B2 (ja)
KR (1) KR101005927B1 (ja)
CN (1) CN102316087A (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361394B2 (en) * 2010-06-30 2016-06-07 Oracle International Corporation Response header invalidation
US20130019314A1 (en) * 2011-07-14 2013-01-17 International Business Machines Corporation Interactive virtual patching using a web application server firewall
CN102938771B (zh) * 2012-12-05 2016-04-06 山东中创软件商用中间件股份有限公司 一种网络应用防火墙的方法和系统
GB201302402D0 (en) * 2013-02-11 2013-03-27 Telecom Ltd Q Communication apparatus
US8997232B2 (en) * 2013-04-22 2015-03-31 Imperva, Inc. Iterative automatic generation of attribute values for rules of a web application layer attack detector
CA2884321C (en) * 2013-08-15 2015-06-30 Immun.io Inc. Method and system for protecting web applications against web attacks
KR101488271B1 (ko) 2013-11-26 2015-02-02 한국전자통신연구원 Ids 오탐 검출 장치 및 방법
KR101468601B1 (ko) 2014-03-13 2014-12-03 한국전자통신연구원 웹 서버/웹 어플리케이션 서버 보안 관리 장치 및 방법
EP3211853B1 (en) * 2016-02-26 2019-10-30 Mitsubishi Electric R & D Centre Europe B.V. Real-time validation of json data applying tree graph properties
US10404744B2 (en) * 2016-09-20 2019-09-03 Microsoft Technology Licensing, Llc Database query injection detection and prevention
CN106534209B (zh) * 2016-12-29 2017-12-19 广东睿江云计算股份有限公司 一种分流反射型ddos流量的方法及系统
CN108268774B (zh) * 2017-01-04 2021-07-23 阿里巴巴集团控股有限公司 攻击请求的判定方法和装置
US10931790B2 (en) * 2017-08-17 2021-02-23 Saudi Arabian Oil Company Systems and methods for securely transferring selective datasets between terminals with multi-applications support
US10389685B2 (en) * 2017-08-17 2019-08-20 Saudi Arabian Oil Company Systems and methods for securely transferring selective datasets between terminals
KR101959544B1 (ko) * 2018-06-01 2019-03-18 주식회사 에프원시큐리티 웹 공격 탐지 및 차단 시스템 및 그 방법
US11297091B2 (en) * 2019-09-24 2022-04-05 Bank Of America Corporation HTTP log integration to web application testing
CN111988280A (zh) * 2020-07-24 2020-11-24 网宿科技股份有限公司 服务器与请求处理方法
KR102258956B1 (ko) * 2020-11-20 2021-06-02 (주)시큐레이어 관계형 데이터베이스를 관리하기 위한 언어인 SQL(Structured Query Language)이 사용되는 환경에서 공격을 탐지하기 위한 방법 및 이를 사용한 서버
CN113297577B (zh) * 2021-06-16 2024-05-28 深信服科技股份有限公司 一种请求处理方法、装置、电子设备及可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7149966B2 (en) * 2002-06-24 2006-12-12 Microsoft Corporation Word processor for freestyle editing of well-formed XML documents
US7725934B2 (en) * 2004-12-07 2010-05-25 Cisco Technology, Inc. Network and application attack protection based on application layer message inspection
JP4997242B2 (ja) * 2005-08-25 2012-08-08 フォーティファイ ソフトウェア, エルエルシー セキュリティを提供するためのプログラムの解析および補完のための装置および方法
KR20080036706A (ko) * 2006-10-24 2008-04-29 박재철 웹 공격 정규표현과 스크립트 파일의 포함 기능을 이용한웹 보안 모듈
KR101343673B1 (ko) * 2007-02-05 2013-12-20 주식회사 엘지씨엔에스 네트워크 보안 장치 및 방법
KR100951930B1 (ko) * 2007-11-19 2010-04-09 (주) 시스메이트 부적절한 패킷의 분류 방법 및 장치
KR101045332B1 (ko) * 2008-12-24 2011-06-30 한국인터넷진흥원 Irc 및 http 봇넷 정보 공유 시스템 및 그 방법

Also Published As

Publication number Publication date
CN102316087A (zh) 2012-01-11
US20120124661A1 (en) 2012-05-17
JP2012014667A (ja) 2012-01-19
KR101005927B1 (ko) 2011-01-07

Similar Documents

Publication Publication Date Title
JP4977888B2 (ja) ウェブアプリケーション攻撃の検知方法
US9356937B2 (en) Disambiguating conflicting content filter rules
Wang et al. Shield: Vulnerability-driven network filters for preventing known vulnerability exploits
US7302480B2 (en) Monitoring the flow of a data stream
US8533824B2 (en) Resisting the spread of unwanted code and data
Rafique et al. Firma: Malware clustering and network signature generation with mixed network behaviors
JP5642856B2 (ja) クロスサイトスクリプティングフィルタ
US9516045B2 (en) Resisting the spread of unwanted code and data
Razzaq et al. Ontology for attack detection: An intelligent approach to web application security
CN104348803B (zh) 链路劫持检测方法、装置、用户设备、分析服务器及系统
US20200120109A1 (en) Iterative constraint solving in abstract graph matching for cyber incident reasoning
US8751787B2 (en) Method and device for integrating multiple threat security services
US8051484B2 (en) Method and security system for indentifying and blocking web attacks by enforcing read-only parameters
US20140189879A1 (en) Method for identifying file type and apparatus for identifying file type
CN111835777B (zh) 一种异常流量检测方法、装置、设备及介质
CN110362992A (zh) 在基于云端环境中阻挡或侦测计算机攻击的方法和设备
CN106470214A (zh) 攻击检测方法和装置
CN104954345B (zh) 基于对象分析的攻击识别方法及装置
CN113810381B (zh) 一种爬虫检测方法、web应用云防火墙、装置和存储介质
JP5656266B2 (ja) ブラックリスト抽出装置、抽出方法および抽出プログラム
CN110581780B (zh) 针对web服务器资产的自动识别方法
WO2022001577A1 (zh) 一种基于白名单的内容锁防火墙方法及系统
CN108259416B (zh) 检测恶意网页的方法及相关设备
CN110933094A (zh) 一种网络安全设备及其smb漏洞检测方法、装置和介质
US20120054861A1 (en) Secure third party scripting environment

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20111205

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20111227

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120327

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4977888

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250