IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エフ・1・セキュリティ・インコーポレイテッドの特許一覧

特許7391313人工知能マシンラーニング行為ベースウェブプロトコル分析によるウェブ攻撃検知および遮断システムおよび方法
<>
  • 特許-人工知能マシンラーニング行為ベースウェブプロトコル分析によるウェブ攻撃検知および遮断システムおよび方法 図1
  • 特許-人工知能マシンラーニング行為ベースウェブプロトコル分析によるウェブ攻撃検知および遮断システムおよび方法 図2
  • 特許-人工知能マシンラーニング行為ベースウェブプロトコル分析によるウェブ攻撃検知および遮断システムおよび方法 図3
  • 特許-人工知能マシンラーニング行為ベースウェブプロトコル分析によるウェブ攻撃検知および遮断システムおよび方法 図4
  • 特許-人工知能マシンラーニング行為ベースウェブプロトコル分析によるウェブ攻撃検知および遮断システムおよび方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-27
(45)【発行日】2023-12-05
(54)【発明の名称】人工知能マシンラーニング行為ベースウェブプロトコル分析によるウェブ攻撃検知および遮断システムおよび方法
(51)【国際特許分類】
   H04L 43/08 20220101AFI20231128BHJP
   H04L 12/22 20060101ALI20231128BHJP
   H04L 41/16 20220101ALI20231128BHJP
   H04L 67/02 20220101ALI20231128BHJP
   H04L 67/1396 20220101ALI20231128BHJP
   G06N 20/00 20190101ALI20231128BHJP
【FI】
H04L43/08
H04L12/22
H04L41/16
H04L67/02
H04L67/1396
G06N20/00 130
【請求項の数】 6
(21)【出願番号】P 2022551682
(86)(22)【出願日】2020-12-08
(65)【公表番号】
(43)【公表日】2023-04-20
(86)【国際出願番号】 KR2020017799
(87)【国際公開番号】W WO2021172711
(87)【国際公開日】2021-09-02
【審査請求日】2022-08-25
(31)【優先権主張番号】10-2020-0023050
(32)【優先日】2020-02-25
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】521001467
【氏名又は名称】エフ・1・セキュリティ・インコーポレイテッド
【氏名又は名称原語表記】F1 SECURITY INC.
(74)【代理人】
【識別番号】100149870
【弁理士】
【氏名又は名称】芦北 智晴
(74)【代理人】
【識別番号】100207022
【弁理士】
【氏名又は名称】小島 弘之
(72)【発明者】
【氏名】リ デホ
(72)【発明者】
【氏名】リ ドングン
(72)【発明者】
【氏名】リ インヨン
【審査官】大石 博見
(56)【参考文献】
【文献】特表2019-535068(JP,A)
【文献】特開2019-185183(JP,A)
【文献】特開2013-232716(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/08
H04L 12/22
H04L 41/16
H04L 67/02
H04L 67/1396
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
人工知能ベースのウェブ攻撃検知システムであって、
ウェブユーザから複数のHTTP要請パケットを受信するフィルタ部と、
前記複数のHTTP要請パケットから複数のフィーチャを抽出し、前記複数のフィーチャに基づいて前記複数のHTTP要請パケットを複数のグループにクラスタリングし、クラスタリングされた情報をウェブ管理者サーバに伝送し、前記ウェブ管理者サーバから前記複数のグループが異常クラスタであるか否かに関するラベリング情報を受信し、前記ラベリング情報に基づいて機械学習を行う学習部と、
ウェブユーザから受信するHTTP要請パケットを入力変数とする前記機械学習を用いて、前記ウェブユーザから受信するHTTP要請パケットがウェブ攻撃パケットであるか否かを判断する分析部とを含む、ウェブ攻撃検知システム。
【請求項2】
前記クラスタリングされた情報に基づいて、画面上に各クラスタを互いに異なる色で出力し、前記ウェブ管理者サーバから各クラスタに対応するラベリング情報の提供を受ける視覚化部をさらに含む、請求項1に記載のウェブ攻撃検知システム。
【請求項3】
前記複数のフィーチャは、
ウェブユーザの遠隔公認IP、ウェブユーザのメイン要請パケット、メイン要請パケットによって連結される下位要請パケットの数、下位要請パケットのリソース種類、下位要請のリソース種類別の個数、要請パケットのヘッダ、要請ユーザのセッションID、セッションIDの生成間隔、セッションIDの更新繰り返し数、要請パケットのグループ内でのヘッダクッキーの変化、および要請パケットのグループ内でのヘッダユーザエージェントの変化のうち少なくとも一つを含む、請求項1に記載のウェブ攻撃検知システム。
【請求項4】
前記分析部は、
前記ウェブユーザから受信するHTTP要請パケットがウェブ攻撃パケットであると判断した場合、要請リソースを遮断するかまたはリダイレクション動作を行う、請求項1に記載のウェブ攻撃検知システム。
【請求項5】
人工知能ベースのウェブ攻撃検知方法であって、
ウェブユーザから受信する複数のHTTP要請パケットを用いて機械学習を行うステップと、
ウェブユーザから受信するHTTP要請パケットを入力変数とする前記機械学習を用いて、前記ウェブユーザから受信するHTTP要請パケットがウェブ攻撃パケットであるか否かを判断するステップとを含み、
前記機械学習を行うステップは、
ウェブユーザから複数のHTTP要請パケットを受信するステップと、
前記複数のHTTP要請パケットから複数のフィーチャを抽出するステップと、
前記複数のフィーチャに基づいて前記複数のHTTP要請パケットを複数のグループにクラスタリングするステップと、
クラスタリングされた情報をウェブ管理者サーバに伝送するステップと、
前記ウェブ管理者サーバから前記複数のグループが異常クラスタであるか否かに関するラベリング情報を受信するステップと、
前記ラベリング情報に基づいて機械学習を行うステップとを含む、ウェブ攻撃検知方法。
【請求項6】
前記複数のフィーチャは、
ウェブユーザの遠隔公認IP、ウェブユーザのメイン要請パケット、メイン要請パケットによって連結される下位要請パケットの数、下位要請パケットのリソース種類、下位要請のリソース種類別の個数、要請パケットのヘッダ、要請ユーザのセッションID、セッションIDの生成間隔、セッションIDの更新繰り返し数、要請パケットのグループ内でのヘッダクッキーの変化、および要請パケットのグループ内でのヘッダユーザエージェントの変化のうち少なくとも一つを含む、請求項5に記載のウェブ攻撃検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ウェブ攻撃検知システムおよび方法に関し、特に、人工知能マシンラーニング行為ベースウェブプロトコル分析によるウェブ攻撃検知システムおよび方法に関する。
【背景技術】
【0002】
現在、HTTP通信上での攻撃検知方法として、インジェクション攻撃、パラメータ検査、アップロードバイナリ検査などペイロード中心の研究が活発に行われている。
【0003】
人工知能ベース攻撃検知方法に関する研究も活発に行われている。従来の人工知能ベース攻撃検知方法は、ネットワークとペイロード(Length of payload、Byte entropy of payload、Number of distinct bytesなど)に基づいてデータセット(Data set)およびフィーチャ(Feature)を抽出したため、ウェブ攻撃検知の正確度が低い問題があった。
【0004】
そのため、ユーザのウェブ行為に基づいてフィーチャの選択、抽出、およびクラスタリングを行うことで、ウェブ攻撃検知の正確度を向上させることができる技術が求められている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明が解決しようとする技術的課題は、ユーザのウェブ行為に基づいてフィーチャの選択、抽出、およびクラスタリングを行うことで、ウェブ攻撃検知の正確度を向上させることができる人工知能ベースのウェブ攻撃検知システムおよび方法を提供することである。
【課題を解決するための手段】
【0006】
一実施形態によると、人工知能ベースのウェブ攻撃検知システムが提供される。前記ウェブ攻撃検知システムは、ウェブユーザから複数のHTTP要請パケットを受信するフィルタ部と、前記複数のHTTP要請パケットから複数のフィーチャを抽出し、前記複数のフィーチャに基づいて前記複数のHTTP要請パケットを複数のグループにクラスタリングし、クラスタリングされた情報をウェブ管理者サーバに伝送し、前記ウェブ管理者サーバから前記複数のグループが異常クラスタであるか否かに関するラベリング情報を受信し、前記ラベリング情報に基づいて機械学習を行う学習部と、ウェブユーザから受信するHTTP要請パケットを入力変数とする前記機械学習を用いて、前記ウェブユーザから受信するHTTP要請パケットがウェブ攻撃パケットであるか否かを判断する分析部とを含む。
【0007】
前記ウェブ攻撃検知システムは、前記クラスタリングされた情報に基づいて、画面上に各クラスタを互いに異なる色で出力し、前記ウェブ管理者サーバから各クラスタに対応するラベリング情報の提供を受ける視覚化部をさらに含むことができる。
【0008】
前記複数のフィーチャは、ウェブユーザの遠隔公認IP、ウェブユーザのメイン要請パケット、メイン要請パケットによって連結される下位要請パケットの数、下位要請パケットのリソース種類、下位要請のリソース種類別の個数、要請パケットのヘッダ、要請ユーザのセッションID、セッションIDの生成間隔、セッションIDの更新繰り返し数、要請パケットのグループ内でのヘッダクッキーの変化、および要請パケットのグループ内でのヘッダユーザエージェントの変化のうち少なくとも一つを含むことができる。
【0009】
前記分析部は、前記ウェブユーザから受信するHTTP要請パケットがウェブ攻撃パケットであると判断した場合、要請リソースを遮断するかまたはリダイレクション動作を行うことができる。
【0010】
一実施形態によると、人工知能ベースのウェブ攻撃検知方法が提供される。前記ウェブ攻撃検知方法は、ウェブユーザから受信する複数のHTTP要請パケットを用いて機械学習を行うステップと、ウェブユーザから受信するHTTP要請パケットを入力変数とする前記機械学習を用いて、前記ウェブユーザから受信するHTTP要請パケットがウェブ攻撃パケットであるか否かを判断するステップとを含み、前記機械学習を行うステップは、ウェブユーザから複数のHTTP要請パケットを受信するステップと、前記複数のHTTP要請パケットから複数のフィーチャを抽出するステップと、前記複数のフィーチャに基づいて前記複数のHTTP要請パケットを複数のグループにクラスタリングするステップと、クラスタリングされた情報をウェブ管理者サーバに伝送するステップと、前記ウェブ管理者サーバから前記複数のグループが異常クラスタであるか否かに関するラベリング情報を受信するステップと、前記ラベリング情報に基づいて機械学習を行うステップとを含む。
【0011】
前記複数のフィーチャは、ウェブユーザの遠隔公認IP、ウェブユーザのメイン要請パケット、メイン要請パケットによって連結される下位要請パケットの数、下位要請パケットのリソース種類、下位要請のリソース種類別の個数、要請パケットのヘッダ、要請ユーザのセッションID、セッションIDの生成間隔、セッションIDの更新繰り返し数、要請パケットのグループ内でのヘッダクッキーの変化、および要請パケットのグループ内でのヘッダユーザエージェントの変化のうち少なくとも一つを含むことができる。
【発明の効果】
【0012】
ユーザのウェブ行為に基づいて、フィーチャの選択、抽出、およびクラスタリングを行うことで、ウェブ攻撃検知の正確度を向上させることができる。
【0013】
複数のHTTP要請パケット群に対して、フィーチャの選択、抽出、クラスタリングを行うことで、ハッカーのハッキング試み前の異常行為(例:単独リソースの要請および命令要請、明示的なエラー発生誘導、存在しないリソースの周期的な要請、所定間隔の均一な要請パターン、同じエラーの繰り返しの発生、GeoIPによる不可能な移動要請行為判別)に関する検知が可能である。
【0014】
各フィールド別の値に対してフィーチャの選択、抽出、およびクラスタリングを行うことで、コンテンツ(Content)全体に対してクラスタリングを行うことに比べて攻撃検知の正確度を向上させることができる。
【図面の簡単な説明】
【0015】
図1】一実施形態による人工知能ベースのウェブ攻撃検知システムのブロック図である。
図2】一実施形態によるHTTP要請パケットを説明するための図である。
図3】一実施形態による視覚化部の動作内容を説明するための図である。
図4】一実施形態による人工知能ベースのウェブ攻撃検知方法のフローチャートである。
図5】一実施形態による人工知能ベースのウェブ攻撃検知方法のフローチャートである。
【発明を実施するための形態】
【0016】
以下、添付の図面を参照して、本発明の実施形態について、本発明が属する技術分野において通常の知識を有する者が容易に実施するように詳細に説明する。しかし、本発明は、様々な相違する形態に具現されることができ、ここで説明する実施形態に限定されない。また、図面において、本発明を明確に説明するために、説明と関係のない部分は省略し、明細書の全体にわたり、類似する部分に対しては類似する図面符号を付けた。
【0017】
明細書の全体において、ある部分がある構成要素を「含む」とした時に、これは、特別に反対の意味の記載がない限り、他の構成要素を除くのではなく、他の構成要素をさらに含み得ることを意味する。
【0018】
図1は一実施形態による人工知能ベースのウェブ攻撃検知システムのブロック図である。図2は一実施形態によるHTTP要請パケットを説明するための図である。図3は一実施形態による視覚化部の動作内容を説明するための図である。
【0019】
図1を参照すると、一実施形態による人工知能ベースのウェブ攻撃検知システム100は、フィルタ部110と、学習部120と、分析部130と、データベース部140と、視覚化部150とを含む。
【0020】
フィルタ部110は、ウェブユーザ10から複数のHTTP要請パケットを受信する。フィルタ部110は、ウェブユーザ10のHTTP要請パケットを受信すると、分析部130に攻撃検知要請メッセージを伝送する。
【0021】
フィルタ部110は、一実施形態として、分析部130から攻撃検知結果を受信して遮断動作(例:Deny、Allow)を行うか、またはフィルタリングされたデータをウェブアプリケーションに伝達することができる。
【0022】
フィルタ部110は、一実施形態として、分析部130によってフィルタリング処理された(例:住民登録番号などの個人情報および注釈の除去が行われた)HTTP応答を実際のウェブユーザ10に伝達することができる。フィルタ部110は、一実施形態として、アパッチ(Apache)フィルタモジュールであることができる。
【0023】
学習部120は、ウェブユーザ10から受信した複数のHTTP要請パケット(ウェブトラフィック)に対して前処理を行い、前処理されたデータからフィーチャの選択(Feature Selection)、抽出(Extraction)、クラスタリング(Clustering)、およびウェブ管理者サーバ30から受信したラベリング情報に基づいて機械学習を行う。
【0024】
具体的には、学習部120は、一実施形態として、予め格納されたアルゴリズムを用いて、前処理過程として、Json形式になっているHTTPトラフィック情報からフィーチャ抽出のためのデータに加工する。
【0025】
学習部120は、予め格納されたアルゴリズムを用いて、前処理された複数のHTTP要請パケットから複数のフィーチャを選択および抽出する。学習部120は、表1のように、複数のHTTP要請パケットのコンテンツタイプ(Content―Type)別にデータ値(value)を抽出する。
【0026】
【表1】
【0027】
学習部120は、予め格納されたアルゴリズムを用いて、複数のフィーチャに基づいて複数のHTTP要請パケットを複数のグループにクラスタリングする。学習部120は、HTTP Main Requestを始まりとするすべてのサブ要請(Sub Request)を所定時間(例:最大10秒)の間要請グループ(Request Group)にクラスタリング(グループ分け)することができる。
【0028】
複数のフィーチャは、表2のようにウェブユーザの遠隔公認IP、ウェブユーザのメイン要請パケット、メイン要請パケットによって連結される下位要請パケットの数、下位要請パケットのリソース種類、下位要請のリソース種類別の個数、要請パケットのヘッダ、要請ユーザのセッションID、セッションIDの生成間隔、セッションIDの更新繰り返し数、要請パケットのグループ内でのヘッダクッキーの変化、および要請パケットのグループ内でのヘッダユーザエージェントの変化を含むことができる。
【0029】
【表2】
【0030】
学習部120は、クラスタリングされた情報(グループ分けした情報)をウェブ管理者サーバ30に伝送する。学習部120は、ウェブ管理者サーバ30から複数のグループが異常クラスタであるか否かに関するラベリング情報を受信する。ウェブ管理者サーバ30は、ウェブ管理者または保安管理者からクラスタリングされた情報に関する正常または異常ラベリング(Labeling)設定情報の入力を受けることができる。
【0031】
学習部120は、予め格納されたアルゴリズムを用いて、ウェブ管理者サーバ30から受信したラベリング情報に基づいて機械学習を行う。予め格納されたアルゴリズムは、一実施形態として、教師なし学習(Unsupervised Learning)アルゴリズムまたは教師あり学習(Supervised Learning)アルゴリズムであることができる。
【0032】
図2を参照すると、ウェブユーザは、ほとんどがウェブブラウザまたはモバイルアプリを使用するため、ウェブサーバに要請されるHTTP要請(Request)パケットは、一つではなく、複数であることができる。本発明は、複数のHTTP要請パケット群に対して、フィーチャの選択、抽出、クラスタリングを行うことで、ハッカーのハッキング試み前の異常行為(例:単独リソースの要請および命令要請、明示的なエラー発生誘導、存在しないリソースの周期的な要請、所定間隔の均一な要請パターン、同じエラーの繰り返しの発生、GeoIPによる不可能な移動要請行為判別)に関する検知が可能である。
【0033】
コンテンツタイプ(Content―Type)の場合、コンテンツ(Content)がフィールドと値で構成されており、本発明は、各フィールド別の値に対してフィーチャの選択、抽出、およびクラスタリングを行うことで、コンテンツ(Content)全体に対してクラスタリングを行うことに比べて、攻撃検知の正確度を向上させることができる。
【0034】
分析部130は、ウェブユーザ10から受信するHTTP要請パケットを入力変数とする機械学習を用いて、ウェブユーザ10から受信するHTTP要請パケットがウェブ攻撃パケットであるか否かを判断する。
【0035】
分析部130は、ウェブユーザ10から受信するHTTP要請パケットがウェブ攻撃パケットであると判断した場合、要請リソースを遮断するかまたはリダイレクション(Redirection)動作を行うことができる。
【0036】
分析部130は、HTTP要請パケットに対する分析結果をフィルタ部110に伝達する。
【0037】
分析部130は、一実施形態として、ウェブファイアウォールデーモンモジュールであることができる。分析部130は、複数のユーザのウェブサーバに設置されているフィルタモジュールに対する支援、すなわち、多重ウェブサーバまたは仮想ウェブサーバ支援を行うことができる。
【0038】
データベース部140は、フィルタ部110が受信したデータおよび分析部130により分析または処理されたデータを格納する。
【0039】
データベース部140は、Json形式のDocumentをすぐ格納および制御することができ、オート-シャーディング(Auto―Sharding)により、分散格納および処理を行うことができる。データベース部140は、一実施形態として、MongoDBであることができる。
【0040】
図3を参照すると、視覚化部150は、学習部120によりクラスタリングされた情報に基づいて、ウェブブラウザの画面上に各クラスタを互いに異なる色で出力することができる。視覚化部150は、予め格納された多次元視覚化ツール(例:Tensorboard)を用いて、ウェブブラウザの画面上に各クラスタを互いに異なる色で出力することができる。
【0041】
視覚化部150は、ウェブ管理者サーバ30から各クラスタに対応するラベリング情報の提供を受けて学習部120に伝達することができる。
【0042】
図4および図5は一実施形態による人工知能ベースのウェブ攻撃検知方法のフローチャートである。
【0043】
図4および図5を参照すると、人工知能ベースのウェブ攻撃検知方法は、ウェブユーザから受信する複数のHTTP要請パケットを用いて機械学習を行うステップ(S100)と、ウェブユーザから受信するHTTP要請パケットを入力変数とする機械学習を用いて、ウェブユーザから受信するHTTP要請パケットがウェブ攻撃パケットであるか否かを判断するステップ(S200)とを含み、機械学習を行うステップ(S100)は、ウェブユーザから複数のHTTP要請パケットを受信するステップ(S110)と、複数のHTTP要請パケットから複数のフィーチャを抽出するステップ(S120)と、複数のフィーチャに基づいて複数のHTTP要請パケットを複数のグループにクラスタリングするステップ(S130)と、クラスタリングされた情報をウェブ管理者サーバに伝送するステップ(S140)と、ウェブ管理者サーバから複数のグループが異常クラスタであるか否かに関するラベリング情報を受信するステップ(S150)と、ラベリング情報に基づいて機械学習を行うステップ(S160)とを含む。
【0044】
ウェブユーザから受信する複数のHTTP要請パケットを用いて機械学習を行うステップ(S100)と、ウェブユーザから受信するHTTP要請パケットがウェブ攻撃パケットであるか否かを判断するステップ(S200)と、ウェブユーザから複数のHTTP要請パケットを受信するステップ(S110)と、複数のHTTP要請パケットから複数のフィーチャを抽出するステップ(S120)と、複数のフィーチャに基づいて複数のHTTP要請パケットを複数のグループにクラスタリングするステップ(S130)と、クラスタリングされた情報をウェブ管理者サーバに伝送するステップ(S140)と、ウェブ管理者サーバから複数のグループが異常クラスタであるか否かに関するラベリング情報を受信するステップ(S150)と、ラベリング情報に基づいて機械学習を行うステップ(S160)は、上述のウェブ攻撃検知システム100の動作内容と同一であるため、詳細な説明は省略する。
【0045】
以上、本発明の実施形態について詳細に説明しているが、本発明の権利範囲は、これに限定されず、以下の請求の範囲で定義している本発明の基本概念を用いた当業者の様々な変形および改良形態も本発明の権利範囲に属する。
図1
図2
図3
図4
図5