JP2012527691A - アプリケーションレベルセキュリティのためのシステムおよび方法 - Google Patents

アプリケーションレベルセキュリティのためのシステムおよび方法 Download PDF

Info

Publication number
JP2012527691A
JP2012527691A JP2012511848A JP2012511848A JP2012527691A JP 2012527691 A JP2012527691 A JP 2012527691A JP 2012511848 A JP2012511848 A JP 2012511848A JP 2012511848 A JP2012511848 A JP 2012511848A JP 2012527691 A JP2012527691 A JP 2012527691A
Authority
JP
Japan
Prior art keywords
behavior
pattern
user
evaluation
patterns
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
JP2012511848A
Other languages
English (en)
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 JP2012527691A publication Critical patent/JP2012527691A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

アプリケーションレベルのセキュリティのためのシステムおよび方法を開示する。アプリケーションレベルのセキュリティとは、機能的ユーザ挙動からセキュリティ脅威を検出することを指す。機能的ユーザ挙動に関する情報は、挙動セッションに変換される。挙動セッションは、挙動パターンに変換される。挙動パターンは、潜在的なセキュリティ脅威を検出するように評価パターンと相関している。挙動パターンは、分析を向上させるように、経時的に収集される。

Description

本願は、2009年5月19日に出願された米国出願第12/468,739号の利益を主張し、この米国出願の開示は、その全体が本明細書において参照により援用される。
本発明は、概して、アプリケーションレベルのセキュリティシステムに関し、より具体的には、アプリケーションレベルの機能的ユーザ挙動に関する情報を収集し、かつ攻撃が起こる前にセキュリティ脅威を検出するように、収集される情報を評価パターンと相関させる、ウェブアプリケーションセキュリティシステムに関する。
セキュリティは、インターネットに関する最大の懸念点および市場の1つである。より多くのユーザおよび会社が、クレジットカード情報および従業員記録等、インターネット上の機密情報にアクセスするにつれ、インターネットベースの商取引に対するセキュリティ脅威は、日々拡大する。インターネットセキュリティへのソリューションの大部分は、ネットワーク、サーバの動作環境、およびデータに重点を置いている。
例えば、インターネットセキュリティに対する一般的なソリューションのうちの1つは、ネットワークファイアウォールである。ネットワークファイアウォールは、資産への未承認のアクセスを阻止し、(例えば、顧客等の承認されたユーザに対して)ある種のアクセスの発生を可能にする。例えば、ネットワークファイアウォールは、特定のIPアドレスから生じる通信を阻止することができる。ハードウェアファイアウォール等のネットワークレベルのセキュリティソリューションは、通常、アクセス許可を判定するための規則およびアクセス制御リストを実行する。例えば、ハードウェアファイアウォールは、外部ネットワークトラフィックのアクセス許可を制限することによって、プライベートネットワークを保護することができる。
しかしながら、アプリケーションレベルでの保護は、おおむね軽視されている。主要な検討事項としてのセキュリティなく書き込まれ、配置されたウェブアプリケーションは、不注意に、機密または秘密情報を暴露し、ウェブサイトの改変を促進し、プライベートネットワークへのアクセスを提供し、サービス拒否(DoS)攻撃を仕掛け、かつバックエンドデータベースへの妨害のないアクセスを促進する可能性がある。危険度は高く、攻撃者がアプリケーションに対する攻撃を開始する機会を得る前に、脅威を検出し、修復しなければならない。
攻撃者は、ハードウェアファイアウォールの開放されたドアを通ってアクセスを取得するように、アプリケーションを操作することがより効果的であることに気付いている。これらの攻撃は、ウェブサーバおよびウェブサーバが実行するアプリケーションを利用して、通常のユーザ(例えば、顧客)がウェブサイトにアクセスするために使用する境界領域防衛内の同じ開放されたドアを通って進入することによって機能する。そのような場合において、攻撃者は、概して、ウェブアプリケーションのコードの脆弱性を利用する。アプリケーションレベルの攻撃の一例として、SQLインジェクションがある。この種類の攻撃に対して脆弱であるウェブアプリケーションは、ユーザから受信したテキストをSQLコードと連結させてSQLクエリを作成することによって、SQLクエリを構成するように、フォームフィールドへのテキスト入力等のユーザ入力を使用することが多い。対象のクエリの代わりに悪意のあるクエリが作成されるように、適切なテキストがフォームフィールドを通じて提出された場合、ウェブアプリケーションは、パスワードまたは他の種類の個人情報等、ユーザを対象としていない情報を返す場合がある。
Juniper Networksのネットワークファイアウォール等、アプリケーションレベルの攻撃を対象にした既存のセキュリティソリューションは、パケットのペイロードを検査するように、パケットレベルのソリューションを提供し、かつアプリケーションレベルの活動をモデル化するように、ネットワークトラフィックの履歴を記憶する。例えば、SQLインジェクションから保護するために、ネットワークファイアウォールは、特殊記号に関してパケットペイロードデータを検査する。しかしながら、アプリケーションレベルの活動は断片化され、適切でないため、これらのソリューションは、ネットワークレベルでパケットを検査し、かつ再構築、スクラビング、および正規化を必要とする。アプリケーションデータの目的を解釈するように、パケットペイロードを分析する工程は難しく、厄介であり、かつ多大な諸経費に繋がる。ブラウザセッションクッキーと関連付けられるデータ等のセッション情報は、ネットワークレベルで一貫性がないため、パケットレベルのソリューションは、ブラウザセッションを容易に記録することができない。パケットレベルのソリューションはまた、あるアプリケーションから別のアプリケーションにもたらされるネットワークトラフィックを容易に区別することができない。パケットレベルのソリューションはまた、高価であり、かつファイアウォールがアプリケーションデータに関してこれらのパケットにフィルタをかけるため、ネットワークの速度を著しく減速させる可能性がある。さらに、特定のアプリケーションに基づいて、パケットレベルのソリューションを容易に適合および修正することはできない。付加的に、パケットレベルのソリューションは、生パケットデータからアプリケーションレベルのユーザ挙動を解釈し、再構成するよう試行することしかできないため、パケットレベルのソリューションは、アプリケーション上の機能的挙動を正確かつ適切に追跡することができない。生パケットデータの再構成は、曖昧さに繋がり、セキュリティシステムの性能を低下させる。さらに、既存のソリューションは、無害な、および/または悪意のある挙動の新しいパターンを自動的に学習せず、所与の一式の脅威シグネチャ(つまり、ハードウェアベンダーまたはシステム管理者によって提供される脅威シグネチャ)とのみ連携することができる。
アプリケーションレベルで悪意のある活動(例えば、機能的不正使用)を、ネットワークレベルの通常かつ毎日のウェブトラフィックと区別するのは困難である。アプリケーション攻撃は、侵入検出方法、ネットワークファイアウォール、または暗号化によってさえも十分に防止することはできない。アプリケーションレベルの攻撃を防止し、既存のソリューションの欠点を排除することができるソリューションに対する必要性が存在する。
本発明の原則に従う、攻撃が起こる前にセキュリティ脅威を検出するためのシステムおよび方法を開示する。本明細書に開示される種々の実施形態において、概して、ウェブアプリケーションセキュリティシステムは、アプリケーションレベルの機能的ユーザ挙動に関する定性的および/または定量的情報を収集し、収集される情報は、定量化可能な値を有する定性的データを含む挙動パターンに変換され、かつ攻撃が起こる前にセキュリティ脅威を検出するように、挙動パターンを評価パターンと相関させる。
記載したセキュリティシステムの実施形態は、アプリケーションの他の挙動パターンに対する(例えば、ブラウザセッションにおける)挙動パターンの実時間分析および相関、脅威シグネチャ、およびウェブアプリケーションの全体的な利用を通じて、通常の挙動と悪意のある挙動(例えば、それぞれ、タイプミスにより不正なパスワードを入力する顧客対パスワードの辞書攻撃を実施する攻撃者)とを見分ける。例えば、ウェブサーバによって提供されるウェブアプリケーションは、データベースプログラム、電子メールプログラム、ビデオゲーム、電子商取引ウェブサイト、または他の適したウェブアプリケーションであることができる。そのようなアプリケーションでの機能的ユーザ挙動は、タイムスタンプされたユーザのボタンクリック、フォームフィールドへのテキスト入力、ユーザにより訪問されるページのシーケンス、または他の適したユーザ操作を含んでもよい。
システムは、ウェブアプリケーション上の機能的ユーザ挙動に関する定性的および/または定量的情報を挙動パターンに変換するために挙動分析エンジンを使用し、統計的分析または任意の他の適した相関方法を用いて、挙動パターンを複数の評価パターンのそれぞれと相関させるために相関エンジンを使用する。機能的ユーザ挙動に関して収集される定性的および/または定量的情報は、挙動パターンが評価パターンと容易に相関することができるように、最初に収集されたデータとは異なる形式で記憶された定量的および/または定性的情報を含む挙動パターンに変換されてもよい(例えば、挙動パターンの形式が、相関方法の入力と合致するように、収集されたデータを変換する)。評価パターンは、システムによって保護されているアプリケーションに特異的であってもよい。評価パターンのうちの少なくとも1つは、悪意のある挙動と関連付けられる。
収集される定性的および/または定量的情報を変換する工程は、アプリケーションレベルの機能的ユーザ挙動を定性的に記述するデータを含む挙動パターンを出力する。定性的データは、統計的相関等の、記憶および/または定量的分析を促進するように、定量化可能な値を含んでもよい。例えば、ページシーケンス(例えば、定量的かつ定性的な、タイムスタンプされたHTTPページ要求)を含む生データは、ページシーケンスがロボットのようにみえるかどうかを判定するために、分析法を介して変換される(アプリケーションレベルの機能的ユーザ挙動に関する定性的データおよび情報)。ページシーケンスがロボットのようであるかどうかは、「0」または「1」として、あるいは代替的に、「0.56」または「0.3」等のロボット挙動の相対的水準を記述するよう、種々の値として定量化されてもよい。
収集される情報を変換する工程は、相関のために、収集される一式の生データを、管理可能な一式のデータまで低減する。一部の実施形態において、変換工程は、相関工程と統合され、変換工程は、特定の評価パターンとの最初の相関結果に応じて、動的に変わってもよい。
一部の実施形態において、機能的ユーザ挙動に関する定性的および/または定量的情報は、ウェブアプリケーションをホストするウェブサーバによってユーザ挙動セッションにわたって収集される。ユーザ挙動セッションは、ユーザがウェブアプリケーションとの相互作用を開始する時間から、ユーザがウェブアプリケーションとの相互作用を中止する時間までの、直接的または間接的にアプリケーションを使用する際のエンドユーザ挙動として定義される。例えば、ブラウザクッキーは、ユーザ挙動セッションを識別するために使用されてもよい。
セキュリティシステムは、脅威シグネチャを表すように構成される枠を有する。各枠は、アプリケーションレベルの攻撃の特性を記述するための鋳型である。枠は、機能的不正使用特質、データ挿入、コマンド挿入、および脅威シグネチャ等の属性を含む。一部の実施形態において、枠属性は、アプリケーションに特異的な評価パターンを作成するように、システムによって自動的に、または手動で投入される。
多くの方法で評価パターンを実装することができる。例えば、アプリケーション特異的評価パターンは、電子メールアプリケーションへの特異的な攻撃において存在する機能的不正使用特質のリストを表すベクトルであることができる。別の場合において、特定の属性の有無を表すように、評価パターンを、値(例えば、「0」および「1」)を有するキーとしての枠属性との連想配列として実装することができる。代替的に、値は、挙動パターンにおけるその属性を発見する相対的重要性を表す重量として、0から100の数で表されてもよい。一部の実施形態において、枠は、機能的不正使用を示し得る特定のページシーケンスを表してもよい。
ユーザ挙動セッションにおいて、任意の適した方法を用いて、定性的および/または定量的な機能的ユーザ挙動を追跡、収集および記憶することができる。例えば、ウェブページ上のJaveScript(登録商標)コード等のクライアント側のスクリプトを、ウェブサイト上のマウスの動きおよびクリックを追跡するために使用することができる。一部の実施形態において、サーバオブジェクトは、ページ要求等の、クライアントからウェブサーバへの関連する要求(例えば、サーバ側のスクリプト)を捕捉するように、ウェブアプリケーションをホストするウェブサーバ上にインストールされる。収集される機能的ユーザ挙動に関する情報は、挙動パターンに変換されてもよく、挙動パターンは、特定の属性の有無によって定義される。これらの属性は、機能的ユーザ挙動活動を定性的に記述してもよく、それらの属性に対する値は、記憶および/または相関を促進するように、定量的であってもよい。これらの属性は、アプリケーション特異的であってもよい。例えば、挙動パターンは、定量的値(例えば、0.35ヒット/秒)に、関連する定性的属性(例えば、「book_eventA.html」へのページヒット間の平均時間間隔)をマップするためのハッシュテーブルとして実装されてもよい。別の場合において、挙動パターンは、それらの定性的属性の有無(例えば、提出される電子メールアドレスフィールド内の「?&=」の存在)を表すように、定性的属性に対する定量的値として「0」または「1」を含む。
一部の実施形態において、機能的ユーザ挙動に関する情報を含むユーザ要求(例えば、HTTP要求)は、ユーザ挙動セッション中に追跡される。ユーザ要求の中の機能的ユーザ挙動に関する情報は、ページ要求のタイムスタンプ、要求が属するアプリケーション、ユーザ挙動セッションの識別(例えば、ブラウザセッションクッキー)、要求ペイロード(例えば、URI、クエリ文字列、ヘッダパラメータ、投稿されたデータ)、または機能的ユーザ挙動に関する任意の他の適した情報を含んでもよい。特定の実施形態において、挙動パターンは、定性的属性と関連付けられる定量化可能な値を有する、定性的属性と関連付けられる。例えば、定性的属性は、ユーザによって入力されるテキスト入力中の正規表現の存在であってもよく、定量化可能な値は、「0」または「1」であってもよい。一部の実施形態において、機能的ユーザ挙動に関する情報は、ページシーケンスである。ページシーケンスは、以下の定性的属性に対する定量化可能な値を含む挙動パターンに変換される。
・各ページ要求間の時間間隔の差異
・各ページ要求間の平均時間間隔
・「confirm_order.aspx」がシーケンスにおいて最も訪問されているページがどうか
上記の定性的属性に対する定量的値の例:
・0.08
・0.12秒
・1(「はい」を示す)
機能的ユーザ挙動に関する情報の生データは、任意の適した手段を使用して挙動パターンに変換される。結果として生じる挙動パターンはまた、ページシーケンス自体等の定性的値を含んでもよい。挙動パターンは、さらなる分析のために、セキュリティシステムに記憶される。
挙動パターンは、一式の評価パターンのそれぞれと相関している。一部の実施形態において、アプリケーションレベルの機能的ユーザ挙動に関してより多くの情報が収集されるにつれ、挙動パターンは、評価パターンと相関し続ける。相関方法は、閾値等のある既知の値に照らして、挙動パターンにおける定量的値を確認することを含んでもよい。例えば、相関は、0.03に照らして、各ページ要求間の時間間隔の差異を確認することを含んでもよく、差異が0.03を下回る場合、ページシーケンスは、ウェブアプリケーション上のロボットのような、人間以外のような機能的ユーザ挙動活動を示してもよい(例えば、ユーザ挙動がロボットのようであることを示す定性的データ)。
一部の実施形態において、相関は、挙動パターンと既知の評価パターンのそれぞれとの間の統計的相関を発見することによって、統計的方法(例えば、分類方法)を使用して実施される。使用される他の相関または分類方法は、ニューラルネットワーク、最近接分類子、決定木、または任意の他の適した分類手法を含んでもよい。一式の既知の挙動パターンは、カテゴリー別に整理されてもよく、階層の形で互いに関連していてもよく、他の種類の分類手法がより適している場合もある。
一部の実施形態において、相関は、ユーザ挙動セッションにわたるページシーケンスを、既知のページシーケンスパターンと合致させるように、パターン合致方法を使用して、挙動パターンに関して実施される。この場合、システムに記憶される挙動パターンは、定性的である。相関の結果は、ユーザ挙動セッションがセキュリティ脅威と相関しているかどうかを判定するために使用される。セキュリティ脅威を検出すると、修復措置は、セキュリティ脅威に反応するように自動的に実行される。例えば、修復措置は、セキュリティ脅威に関してシステム管理者に電子メールで連絡することを含む。代替的な実施形態において、修復措置は手動で実行される。
一部の実施形態において、経時的に、かつ多くのユーザにわたって収集される挙動パターンは、新しい評価パターンを検出するために使用される。収集される挙動パターンを再クラスタ化することによって、システムは、任意の適したクラスタ化アルゴリズムを使用して、新しい異常な、および/または悪意のある評価パターンを学習、検出、および抽出する。システムはまた、通常のパターンを学習、検出、および抽出する。今後の相関および分析のために、新しい評価パターンを、一式の既存の評価パターンと統合することができる。
本発明の上記のおよび他の目的および利点は、添付の図面と組み合わせて以下の発明を実施するための形態を考慮することにより明らかであり、図面全体を通して、同様の参照番号は同様の部分を示す。
図1は、本発明の一実施形態に従う、例示的なウェブアプリケーションシステムの図である。 図2は、本発明の一実施形態に従う、例示的なウェブアプリケーションセキュリティシステムの図である。 図3は、例示的なウェブアプリケーションの例示的な表示部を示す。 図4は、本発明の一実施形態に従う、機能的ユーザ挙動を既知の評価パターンと相関させるための例示的なフローチャートである。 図5は、本発明の一実施形態に従う、評価パターンを作成するための例示的な方法の図である。 図6は、本発明の一実施形態に従う、多層アプリケーションレベルのセキュリ
図1は、サーバ−クライアントシステムとして実装される、本発明の一実施形態に従う、例示的なウェブアプリケーションシステム100を示す。ウェブサーバ102は、ウェブページを供給するように、クライアントから要求を受信する責任を担うコンピュータプログラムを実行するサーバコンピュータを備える。ウェブサーバ102は、コマンド、要求、および他の適したデータを送信および受信するように、制御回路110を備えてもよい。制御回路110は、1つ以上のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラム可能論理デバイス等に基づく処理回路等の、任意の適した処理回路に基づいてもよい。
ウェブサーバ102はまた、データベースおよびファイルを維持するためのデータ記憶構成要素112を含んでもよい。データ記憶構成要素112は、ランダムアクセスメモリまたはハードディスクを備えてもよい。代替的に、データベースおよび/またはファイルは、ウェブサーバ102から異なるウェブサーバ(図示せず)に記憶されてもよい。ウェブサーバ102は、イーサネット(登録商標)カードまたはデータモデム等の通信デバイス114を使用して、インターネット、ローカルエリアネットワーク(LAN)、無線ネットワーク、または任意の他の適したネットワーク上でアクセス可能であってもよい。ウェブサーバ102は、通信デバイス114を使用して、他のサーバまたはクライアントと通信するように構成されてもよい。通信デバイス114を介して、ウェブサーバ102は、ウェブサーバ102上で実行されているアプリケーションにアクセスするのに適した種々のデバイスによってアクセス可能である。
ウェブサーバ102は、ウェブアプリケーション116の1つ以上のインスタンスを実行する。任意の適したアプローチは、ウェブアプリケーション116をクライアントに提供するために使用されてもよい。任意のクライアント(つまり、ユーザ)は、任意の適したアプローチを使用して、ウェブアプリケーション116のインスタンスにアクセスおよび/またはそれを実行してもよい。例えば、サーバ−クライアントベースのアプローチを、ウェブベースの電子メールアプリケーションをユーザに提供するために、電子メールサーバによって使用することができる。ユーザは、ウェブアプリケーションにアクセスするために、blackberryに実装されるウェブブラウザを使用して、blackberryを使用して電子メールにアクセスし、それを送信、および受信してもよい。別の実施形態において、ユーザは、リモートデスクトップソフトウェア(例えば、SymantecのpcAnywhere)を使用して、サーバ上で実行されているウェブアプリケーションにアクセスしてもよい。
ウェブアプリケーション116は、オンラインバンキングウェブアプリケーション、ソーシャルネットワーキングコミュニティウェブサイト、オンラインカレンダーアプリケーション、電子商取引アプリケーション、または任意の他の適したウェブサイトであってもよい。ウェブアプリケーション116は、ファイルおよびデータベース等のデータにアクセスすること、およびそれを(例えば、表示デバイス118またはシステムに結合される他のデバイスに)表示することを支持してもよい。ウェブサーバ102は、第三者データを提供するための外部記憶装置を使用してもよい。データは、画像ファイル、音声ファイル、またはデータベースを含んでもよい。ウェブサーバ102は、HTTP要求および応答を処理するように、またはPHP、ASPもしくはMySQL等のインターフェースを支持するように構成されてもよい。ウェブサーバ102は、静的および/または動的コンテンツを供給するように構成されてもよい。
ウェブサーバ102は、パーソナルコンピュータ104もしくはノート型パソコン111、または任意の他の適したユーザ機器デバイスによってアクセス可能であってもよい。コンピュータ104、ノート型パソコン111、または任意の他の適したユーザ機器デバイス等の複数のデバイスは、ウェブサーバ102に同時に接続されてもよい。パーソナルコンピュータ104は、データを要求するように、ウェブサーバに要求を送信するための、かつウェブサーバから受信したデータを処理するためのプロセッサ120と、ウェブページを表示するための表示部122とを備える。パーソナルコンピュータ104は、マウス、キーボード、タッチパッド、マイクロホン、アクチュエータ、または任意の適した入力デバイス等の、入力デバイス124を含んでもよい。パーソナルコンピュータ104は、人間のユーザによって使用されてもよく、またはボットもしくはボットのネットワークによって制御されてもよく、あるいは遠隔位置から人間のユーザによって、もしくはボットによってアクセスされてもよい。一部の実施形態において、ウェブブラウザは、ウェブサーバ102から受信されるウェブページおよびデータを表示部122に表示させるように、パーソナルコンピュータ104上に実装される。パーソナルコンピュータ104は、通信デバイス126を介して、任意の適した通信プロトコルおよび媒体を使用して、ウェブサーバ102と通信するように構成されてもよい。同様の方法で、ノート型パソコン111を実装することができる。
一部の実施形態において、ウェブサーバ102は、Palm Pilot、iPhoneまたはBlackberry等のモバイルデバイス106によってアクセス可能である。モバイルデバイス106は、ウェブページを表示するための表示部128、データを要求するように、ウェブサーバに要求を送信するための通信デバイス132、およびウェブサーバから受信したデータを処理し、かつ表示部128にウェブページを表示するためのプロセッサ130を備える。モバイルデバイス106は、タッチ画面、スクロールボール、キーパッド、マイクロホン、触覚センサ、アクチュエータ、または任意の適した入力デバイス等のユーザ入力デバイス134を含んでもよい。モバイルデバイス106は、人間のユーザによって使用されてもよい。一部の実施形態において、ウェブブラウザは、ウェブサーバ102から受信されるウェブページおよびデータを表示部128に表示させるように、モバイルデバイス106上に実装される。モバイルデバイス106は、空気伝送でアンテナ136および通信デバイス132を使用して、または任意の適した通信プロトコルおよび媒体を使用して、ウェブサーバ102と通信するように構成されてもよい。
一部の実施形態において、ウェブサーバ102は、サーバ108によってアクセス可能である。サーバ108は、プロセッサ138、通信デバイス140およびデータ記憶構成要素142を備える。サーバ108は、性能を向上させるように(例えば、アプリケーション116における特定のウェブページの応答時間を向上させるように)、ウェブアプリケーション加速サーバとして使用されてもよい。サーバ108は、バックアップ目的で、またはアプリケーション116によって提供されるデータの一部をホストするため等の、ウェブサーバ102に対してデータを記憶する責任を担ってもよい。サーバ108はまた、クレジットカード支払処理または何らかのサーバ/プロセッサ集中的処理等、ウェブサーバ102上で実行されているアプリケーション116に機能性を提供してもよい。サーバ108は、ウェブサーバ102上で実行されている同じアプリケーション116またはその一部を実行するミラーサーバであることができる。サーバ108は、通信デバイス140を介して、任意の適した通信プロトコルおよび媒体を使用してウェブサーバ102と通信するように構成されてもよい。一部の実施形態において、ウェブサーバ102およびサーバ108の機能性は組み合わされ、単一施設における単一システムから、または複数の施設における複数のシステムから提供される。
パーソナルコンピュータ104、モバイルデバイス106およびノート型パソコン111等のユーザ機器は、ウェブアプリケーション体験を提供するのに適した任意の機器を含んでもよい。ユーザ機器の他の例は、ゲームシステム(例えば、PlayStation)、セットトップボックス、IP電話等を含むことができる。ユーザは、ウェブアプリケーション116を使用して機能を実施するために、ユーザ機器を使用してもよい。ユーザ機器とインターフェースで接続するのに適した任意の入力デバイスを使用して、ユーザは、ウェブサーバ108から別のウェブページを要求するように、ウェブページ上のリンクをクリックしてもよい(例えば、HTTP要求をウェブサーバ104に送信する)。HTTP要求を受信すると、ウェブサーバ108は、要求を処理し、ユーザ機器にHTTP応答を送信し、応答は、要求されるウェブページを表示するのに必要な情報を含む。
ウェブサーバ102は、ウェブサイトをクライアントに提供するウェブアプリケーションを実行しなくてもよい。ウェブサーバ102は、ユーザ機器上で実行されているアプリケーションまたはプログラムのインスタンスにデータおよび他の機能を提供してもよい。一実施形態において、ウェブサーバ102は、航空管制官によって使用されるモバイルデバイス106に運航スケジュール情報を提供してもよい。モバイルデバイス106は、FileMaker、またはMicrosoft Accessのインスタンス等、その上に実装されるデータベースプログラムを有してもよい。データベースプログラムは、ウェブサーバ102に記憶される運航スケジュールデータのデータベース要求またはクエリを送信してもよい。ウェブサーバ102はまた、サーバ108と同様のリモートサーバから、気象情報等の第三者データを要求してもよい。
ウェブサーバ102は、ユーザに基盤およびサービスとしてのソフトウェアを提供する、クラウドコンピューティングを支持するように構成されるファイルサーバであってもよい。ウェブサーバ102は、または他の分散サーバと併用して、ユーザにデータ、ファイルおよびアプリケーションへのアクセスを提供してもよい。例えば、ウェブサーバ102は、ビジネスプロジェクトと関連付けられるファイルのリポジトリを記憶するためのプロジェクト管理ツールを支持するため、かつ世界中のユーザにデータ、ファイルおよびアプリケーションへのアクセスを提供するために使用されてもよい。
図2は、本発明の一実施形態に従う、例示的なウェブアプリケーションセキュリティシステム200を示す。ウェブサーバ204、ウェブサーバ206、クライアント208およびクライアント212は、サーバ−クライアントアプローチまたは任意の他の適したアプローチを使用して通信するように構成されてもよい。ウェブサーバ204、ウェブサーバ206、挙動分析エンジン216、相関エンジン218、および学習エンジン220は、ネットワーク202(例えば、インターネット、広域ネットワーク、ローカルエリアネットワーク、移動体通信ネットワーク等)を介して、互いに通信するように構成される。例えば、ネットワーク202は、(例えば、HTTP要求および応答と通信することによって)サーバ−クライアントウェブアプリケーション体験を提供するように、ウェブサーバ204が、クライアント208およびクライアント212と通信することを可能にする。ウェブサーバ204および/またはウェブサーバ206は、機能的ユーザ挙動に関するデータを挙動分析エンジン216に伝達するために、ネットワーク202を使用してもよい。一部の実施形態において、機能的ユーザ挙動に関するデータは、サーバ側で捕捉される。他の実施形態において、機能的ユーザ挙動に関するデータは、クライアント側で捕捉される。
ネットワーク202は、任意の適したトポロジで実装されてもよい。ネットワーク202上の通信は、任意の適した通信プロトコル(例えば、TCP/IP上のHTTP)であってもよい。アプリケーション222を実装するウェブサーバ204は、ネットワーク202に結合され、かつウェブサーバ102と同様の方法で構成されてもよい。ウェブサーバ206は、ネットワーク202に結合され、かつサーバ108と同様の方法で実装されてもよい。特定の実施形態において、ウェブサーバ204およびウェブサーバ206の機能性は組み合わされ、単一施設における単一システムとして実装される。代替的な実施形態において、それらの機能性は、複数の施設における複数のシステムとして実装される。ウェブサーバ204および/またはウェブサーバ206は、機能的ユーザ挙動と関連付けられるデータを挙動分析エンジン216に送信するように構成されてもよい。相関エンジン218または別のサーバコンピュータ(図示せず)は、悪意のある挙動の検出に応じて、修復措置を実行するよう、ウェブサーバ204、ウェブサーバ206、クライアント208、およびクライアント212と通信するように構成されてもよい。
ウェブサーバ204およびウェブサーバ206は、少なくとも1つのクライアント、例えば、クライアント208およびクライアント212によってアクセス可能である。クライアント208およびクライアント212は、図1に関連して説明したように、ウェブサーバ204および/またはウェブサーバ206と通信し、それにアクセスするように構成される、パーソナルコンピュータ、モバイルデバイス、ノート型パソコン、サーバ、または任意の適したデバイスであってもよい。クライアント208およびクライアント212は、それぞれユーザ挙動セッション、ユーザ挙動セッション210およびユーザ挙動セッション214を確立するように構成されてもよい(例えば、ブラウザクッキーによって確立されるようなブラウザセッション)。一部の実施形態において、各クライアントマシンは、1つを超えるユーザ挙動セッションを確立してもよい。クライアント208およびクライアント212のみが図示されているが、同様の方法で実装される他のクライアントもまた、挙動セッションを確立してもよい。複数のクライアントは、ウェブサーバ204またはウェブサーバ206に同時に接続されてもよい。
一部の実施形態において、ユーザ挙動セッション210およびユーザ挙動セッション214等のユーザ挙動セッションは、アプリケーション上の機能的ユーザ挙動の特性が収集されるセッションを定義する。ユーザ挙動セッションは、特定のブラウザクッキーと関連付けられてもよい。ユーザ挙動セッション中にセキュリティシステム200が記録する情報は、各ページと関連付けられる時間間隔とともに、ユーザによって移動されるウェブページまたは画面シーケンスを含んでもよい。機能的ユーザ挙動に関する情報は、アプリケーションのウェブページ、画面、またはフォームへの入力を含んでもよい。他の例は、アプリケーションのウェブページまたは画面内のタイムスタンプされたユーザクリックまたはタッチストロークを含んでもよい。機能的ユーザ挙動は、挙動のコンテキストによって処理およびタグ付けられてもよい。例えば、ウェブページ上の画像のクリックは、画像の説明(例えば、「情報アイコン」)でタグ付けられてもよい。一部の実施形態において、アプリケーション上のブラウザセッション中の機能的ユーザ挙動は、経時的に観察および追跡され、ブラウザセッション(つまり、ユーザ挙動セッション)中に収集される機能的ユーザ挙動に関する情報は、挙動パターンに変換され、記憶される。
ユーザ挙動セッション中の機能的ユーザ挙動の追跡は、クライアントとサーバとの間の単一接続を追跡する(つまり、単一IPアドレスへの、および単一IPアドレスからのトラフィックを追跡する)と向上する。単一接続(つまり、IPアドレス)を阻止すること、および保護することは、ハッカーまたは不正ユーザが、攻撃を開始するために、多数のIPアドレスを使用して接続を確立しようとする場合があるため、効果がない場合がある。
一部の実施形態において、機能的ユーザ挙動に関する情報は、挙動分析エンジン216によって分析される。機能的ユーザ挙動に関する定性的および/または定量的情報は、ウェブサーバ204にインストールされるサーバオブジェクト224によって捕捉されてもよい。サーバオブジェクト224(またはクライアント側のスクリプト)によって捕捉される情報は、さらなる処理のために、ネットワーク202上で挙動分析エンジン216に伝達されてもよい。挙動分析エンジン216は、ウェブサーバ204もしくはウェブサーバ206上で実装されてもよく、または別々のサーバとして、もしくは多数のサーバとして実装されてもよい。挙動分析エンジン216は、機能的ユーザ挙動に関する定性的および/または定量的情報を収集するよう、アプリケーション222のクライアント(例えば、クライアント208およびクライアント212)、ウェブサーバ204およびウェブサーバ206と通信するように構成されてもよい。特定の実施形態において、挙動分析エンジン216は、分散サーバシステムにおいて実装され、収集された情報は、ネットワークを通じて早急に同期される。挙動分析エンジン216は、ウェブアプリケーション222上の機能的挙動を監視、追跡、記憶、変換、および分析するように構成されてもよい。挙動分析エンジン216は、ウェブアプリケーション222の一部に対してユーザ挙動セッションを追跡および収集するように構成されてもよく、または多数のウェブアプリケーションに対してユーザ挙動セッションを追跡および収集するように構成されてもよい。
一部の実施形態において、挙動追跡スクリプト(例えば、JaveScript(登録商標)ファイル)は、ユーザクリックもしくはテキスト入力または任意の機能的ユーザ挙動を追跡するように、ウェブアプリケーション222のページにインストールされる。挙動追跡スクリプトおよび挙動分析エンジン216は、所定の一式の種々の種類の機能的ユーザ挙動を追跡および記憶するように構成されてもよい。挙動分析エンジン216はまた、非機能的ユーザ挙動(例えば、サーバとクライアントとの間で送信されるIP/TCPパケットヘッダデータ)を追跡してもよく、またはネットワークファイアウォールと連携して、他のデータを追跡してもよい。サーバ側のスクリプトは、サーバとクライアントとの間の要求および応答を追跡するように、ウェブサーバ204およびウェブサーバ206上に、サーバオブジェクト224としてインストールされてもよい。スクリプトは、さらなる分析のために、機能的ユーザ挙動と関連付けられるデータを、リレーショナルデータベース226または挙動分析エンジン216上の任意の他の適したデータ記憶構成要素等の別々のデータ記憶場所に送信するように構成されてもよい。挙動分析エンジン216は、ブラウザクッキーを使用して、機能的ユーザ挙動関連付けられる受信データを、ユーザ挙動セッションに整理するように構成されてもよい。収集されるデータは、挙動分析エンジン216によって集約、処理、変換および分析されてもよい。一部の実施形態において、機能的ユーザ挙動に関する情報は、ユーザおよび/またはクライアントから収集される生データから挙動パターンに変換され、挙動パターンは、相関方法の入力と合致する形式である。リレーショナルデータベース226に記憶され、収集される挙動パターンは、挙動分析エンジン216および相関エンジン218で実行されているアルゴリズムを向上させるために、学習エンジン220によって使用されてもよい。
一部の実施形態において、機能的ユーザ挙動は、ウェブサーバ204内のサーバオブジェクト224によって追跡され、ユーザ挙動セッションにおける機能的ユーザ挙動に関する情報は、挙動分析エンジン216内のリレーショナルデータベース226に記憶される。例えば、ユーザからのウェブページに対するHTTP要求は、新しい記録としてリレーショナルデータベース226に記憶されてもよい。リレーショナルデータベース226内の情報および記録は、ブラウザセッション内のアプリケーション活動を表し、かつ定性的に記述する挙動パターンを形成するように、ユーザ挙動セッション中に集約されてもよい。ユーザ挙動セッション中のページ履歴は、早急な取得およびアクセスのために、ハッシュテーブルとして記憶されてもよい。集約される情報は、さらに処理され、挙動パターンに変換されてもよい。例えば、ユーザ挙動セッション中に集められる生データは、リレーショナルデータベース内の多次元ベクトルとして、特定のユーザ入力特性の存在およびページシーケンスにおけるページの存在を表すことによって、挙動パターンに変換されてもよい。挙動パターンは、アプリケーションレベルの機能的ユーザ挙動を定性的に記述し、さらに、特定の定性的属性および機能的ユーザ挙動の特性に対する定量化可能な値を含んでもよい。
一部の実施形態において、ユーザ挙動セッションにおけるページシーケンスは、マルコフ連鎖を使用することによって、挙動パターンに変換されてもよい。マルコフ連鎖は、複数の状態を有してもよい。マルコフ連鎖は、ユーザ挙動セッションにおけるページシーケンスにおける次のページに応じて、現在の状態を変更してもよい。例えば、マルコフ連鎖は、ユーザ挙動セッションにおけるページシーケンスをモデル化してもよく、かつ各ページ要求で、挙動分析エンジン216は、マルコフ連鎖の現在の状態を更新してもよい。ユーザのページ履歴をモデル化するのに適したマルコフ連鎖を用いて、ページ要求が処理されると、現在の状態は、ページシーケンスにおける先のページ訪問を反映することができる。マルコフ連鎖は、挙動分析エンジン216で新しいページ要求が受信されるたびに、シーケンスに関して全検索を行うことなく、パターン合致を発生させることを可能にする。
一実施形態において、相関エンジン218は、(例えば、ブラウザセッションにわたって挙動分析エンジン216によって集約される)特定の挙動セッション中に機能的ユーザ挙動と関連付けられる挙動パターンを、一式の評価パターン(例えば、一式の既知の挙動特性)と相関させるように実装される。ユーザおよび/またはクライアントから収集される機能的ユーザ挙動と関連付けられる生データ(定性的および/または定量的)は、相関エンジン218の入力に合致する形式に変換されてもよい。この形式のデータは、挙動パターンとして記憶され、データは、定性的および/または定量的である。HTTP要求(例えば、POST)の生データは、評価パターン中の属性を探すように解析されてもよい(例えば、特定の正規表現に関する解析)。
例示的な実施形態において、HTTP要求を解析した結果は、特定の正規表現がHTTP要求に現れたかどうかを記録するベクトルに変換されてもよい。挙動パターンの例:
Q=[0,1,1,0,1,1,0,0,0]
ベクトル中の各要素は、特定の正規表現の有無を表す(例えば、.exeの存在、//*の存在、%+”の存在、&&=の存在等)。悪意のある特性を表す評価パターンの例:
E=[0,1,1,0,0,1,0,0,1]
ベクトル中の各要素は、特定の正規表現の有無を表す。相関エンジン218は、2つのベクトル(Q.E)のドット積を発見して、2つのベクトル間の類似性を判定するために、ベクトルを使用してもよい。ドット積の結果が特定の閾値より大きい場合(例えば、閾値=3)、相関エンジン218は、挙動パターンQを、評価パターンEとの合致とみなす。悪意のある活動と関連付けられる評価パターンとの合致は、セッション終了等の修復措置を呼び出してもよい。
相関エンジン218は、現在の挙動パターンを既知の評価パターンと相関させる。例えば、リレーショナルデータベース226に記憶されるユーザ挙動セッションにおけるページシーケンスに関する情報は、マルコフ連鎖の状態に変換されてもよく、状態は、現在の状態が悪意のある挙動と関連付けられるかどうかを判定するために、相関工程の一部として使用されてもよい。評価パターンは、図5に関連してさらに詳細に説明される。相関エンジンおよびその上に実装されるアルゴリズムは、ユーザ挙動に関して学習される付加的な情報およびアプリケーションに関する新しい情報を反映するように、自動的に、または手動で更新されてもよい。相関エンジン218は、ウェブサーバ204上で実行されているアプリケーション222に部分的に応じて、異なって実装されてもよい。
特定の実施形態において、相関の結果は、さらなる検査および分析のために、追跡され、システム管理者に報告される。結果はまた、(例えば、学習エンジン220を使用して)相関エンジン218内の分類システムを訓練するために使用されてもよい。代替的に、結果は、学習エンジン220内の一式の挙動パターンを再クラスタ化するために使用されてもよい。
一部の実施形態において、学習エンジン220は、任意の適した人工知能学習アルゴリズムを使用して、挙動分析エンジン226によって収集される挙動パターンおよび相関エンジン218からの結果から学習するように実装される。学習エンジン220は、一式の既知の挙動パターンを経時的に更新するように構成される。例えば、収集される挙動パターンに少なくとも部分的に基づいて、学習エンジンは、新しい評価パターンを検出するように、一式の既知の評価パターンに対して挙動パターンを再クラスタ化することができる。別の場合において、学習エンジン220は、挙動パターンを再クラスタ化するために、ヒューリスティックとして、過去の攻撃に関する情報(例えば、過去の攻撃の時間枠等)を使用することができる。学習エンジン220は、ヒューリスティックと進化アルゴリズムとの組み合わせを使用してもよい。ヒューリスティックは、過去の攻撃がどこから発生したかのロケール等の、過去の攻撃に関する情報を含んでもよい。再クラスタ化工程から学習される新しい評価パターンは、相関エンジン218内の一式の既知の評価パターンと統合することができる。システム200は、検出される新しい評価パターンを学習エンジン220に取り込むことによって、相関エンジン218を修正してもよい。新しい評価パターンは、システム200が保護しているアプリケーション222により特異的となってもよく、それによってセキュリティ脅威を検出する性能を向上させ得る。新しい評価パターンは、おそらく、アプリケーションの変更またはアプリケーション上のユーザ活動の変更に部分的に起因して、新しいユーザ挙動パターンを表してもよい。次いで、システム200は、システム管理者による手動の再構成を必要とせずに、自動的にそれらの変更に適合することができる。
クラスタ化方法は、階層的クラスタ化、分割クラスタ化およびスペクトルクラスタ化等の人工知能アルゴリズムを含んでもよい。学習エンジン220は、アプリケーション220の変更、システム200によって追跡される新しい特徴、新しい種類の機能的挙動、機能的ユーザ挙動の分散における変更、ハッカーによって使用される方法に関する新しい知識を反映するように適合および修正されてもよい。クラスタ化方法は、収集される挙動パターン、または任意の他の要因に適合してもよい。学習エンジン220は、経時的に自動的および連続的に実行されてもよく、または予定された時間間隔で実行されてもよく、あるいはシステム管理者による指示通りに実行されてもよい。
一式の評価パターンを更新することによって、システムの性能は、新しい評価パターンが学習されるにつれて向上することができる。学習エンジン220に関連して説明したように、システム200は、現在のユーザ挙動セッションまたは過去のユーザ挙動セッションにおける挙動パターンに対して情報を収集する。学習エンジン220は、収集される挙動パターンを一式の既知の評価パターンと連続的にまたは個別に相関させる。機能的ユーザ挙動に関してより多くの情報が既知となるにつれ、収集される挙動パターンは、新しい評価パターンを検出および学習するように、学習エンジン220によって再クラスタ化されてもよい。例えば、アプリケーションは、ユーザによって経時的に使用されているため、通常の機能的ユーザ挙動パターンは、より多くのユーザがウェブサイトを使用するにつれて出現してもよく、それらの出現するパターンは、一式の評価パターンの一部として存在していなくてもよい。一部の実施形態において、異常な挙動は、より多くのユーザがウェブサイトを使用するにつれて出現してもよい。例えば、一群のハッカーは、アプリケーションの潜在的な脆弱性を発見したかもしれず、一連の攻撃を試行する場合がある。学習エンジン220によって、ハッカーの試行を検出することができる。
学習エンジン220における学習工程は、決まった時間にオンラインおよび/またはオフラインで行われてもよい。学習エンジン220を使用して発見される新しい評価パターンは、自動工程を介して挙動分析エンジン216および相関エンジン218とオフラインで組み合わせることができる。
動作中、挙動分析エンジン216、相関エンジン218、および学習エンジン220は、多数のサーバ上で実装されてもよく、あるいは全部または一部のエンジンを組み合わせ、単一の個々のサーバ上で実装することができる。
図3は、例示的なウェブアプリケーションの例示的な表示部を示す。一実施形態において、セキュリティシステム200は、ウェブサーバ204、ウェブサーバ206、および/またはウェブサーバ102上で実行されているウェブアプリケーション上の機能的ユーザ挙動に関する情報を収集する。例示的なウェブアプリケーションは、図1に関連して説明したように、ウェブサイトとしてユーザおよびクライアントに提供されてもよい。例示的な実施形態において、図3は、ウェブサイトのスクリーンショット300を示す。ウェブサイト「website.com」の「register_form.html」ページは、アドレスバー302に示されている通りである。ウェブサイトの他の部分へのハイパーリンクは、ナビゲーションバー304に提供される。ユーザは、「コンタクト」リンクをクリックして、異なるウェブページに移動してもよく、またはサーバへの通信を送信するように、スクリプトまたはプログラムを起動してもよい。ユーザクリック、異なるウェブページへの移動、通信を送信するようにスクリプトまたはプログラムを起動すること、あるいは任意の他の適したユーザ活動は、挙動分析エンジン216によって追跡および監視される機能的ユーザ挙動であってもよい。スクリプト、プログラムを起動する、または要求を送信するボタンのクリックは、攻撃者が、サーバを減速させ、サービス拒否攻撃を実施するために繰り返し使用し得る潜在的な脆弱性であり得る。
ユーザは、ログインフィールド306にテキスト入力を提供してもよく、または検索フィールド308にテキスト入力を提供してもよい。テキストフィールドの識別とともに提供される入力は、ウェブサーバ204内のサーバオブジェクト224によって追跡されてもよく、さらなる処理のために、挙動分析エンジン216に伝送されてもよい。ハッカーおよび攻撃者は、フィールドを使用して、バッファオーバーフロー攻撃を実施することができるので、テキストフィールドは脆弱な場合がある。ユーザはまた、ログインフィールド306および検索フィールド308、またはテキストを受信する任意の他の入力フィールドに特殊文字を提出することによって、コマンドを挿入することができてもよい。ハッカーはまた、辞書攻撃を使用して、ログインフィールド306を介してシステムへのアクセスを得る場合があり、アクセスを得ようとする繰り返しの試行は、挙動分析エンジン226によって追跡されるページシーケンスにおける「login.html」および「error.html」の繰り返しのシーケンスとして追跡されてもよい。テキスト入力およびログイン試行のタイムスタンプされたシーケンスは、挙動分析エンジン216によって追跡されてもよい。サーバオブジェクト224および挙動分析エンジン216によって追跡される機能的ユーザ挙動のタイムスタンプされたデータは、リレーショナルデータベース226に記憶されてもよい。タイムスタンプは、定量的データであり、反復シーケンスにおけるページは、ユーザ挙動セッションにわたって収集される定性的データである。シーケンスにおけるタイムスタンプおよびページは、挙動パターンに変換されてもよい。挙動パターンは、リレーショナルデータベース226に記憶されてもよい。挙動パターンは、相関エンジン218への入力として使用される。
ウェブアプリケーションは、登録フォーム310内にフォームフィールドを含んでもよい。登録フォーム310は、ウェブサーバ204およびウェブサーバ206上でバックエンドデータベースクエリを呼び出してもよい。フォームを通じて提供されるデータは、無効な形式である場合があり、サーバ側でエラーを発生させる可能性がある。生データ(例えば、登録フォーム310へのユーザ入力)を挙動パターンに変換するため、ユーザ入力は、セキュリティ脅威をもたらす入力を発見するように、正規表現を使用して解析されてもよい。多数の登録はまた、ウェブアプリケーションに対して問題となり得、かつウェブサイトに一般的な機能的不正使用特質となる可能性がある。$10(10ドル)の商品券をウェブサイトに登録した全員に提供する電子商取引ウェブサイトでは、多数のアカウント登録はまた、問題となる場合があり、かつ高価な場合がある。ユーザが、フォームフィールドに部分的なデータベースクエリを入力した場合、登録フォームはまた、SQLインジェクションに対して脆弱な場合がある。例えば、解析され、バックエンドデータベースに送信される部分的なデータベースクエリを含むテキストは、ウェブサーバ206にユーザのパスワードを返すように要求する悪意のあるクエリとなり得る。
図3に示した例示的なウェブアプリケーションは、チャットボックス320に示したようなチャット等の他のサービスを提供するように、および/または領域322内に天候等の第三者情報を提供するように構成されてもよい。チャットデータは、クライアント212、クライアント214、パーソナルコンピュータ104、モバイルデバイス106、ノート型パソコン111等によって、あるいはウェブサーバ102、ウェブサーバ204またはウェブサーバ206上で実行されているコンピュータプログラム等によって、他のエンティティから提供されてもよい。第三者情報は、サーバ108またはウェブサーバ206によって提供されてもよい。例示的なウェブアプリケーション上のこれらの高度なサービスはまた、ハッカーおよび攻撃者に対して脆弱な場合がある。ユーザは、動的ウェブアプリケーションに悪意のあるトロイの木馬またはスクリプトを提出し得る。ハッカーは、悪意のある目的で、それらの第三者サーバへの合法的な要求になりすますことができ得るため、ユーザは、サーバへのサービス拒否攻撃を実施してもよい。図3に関連して説明した不正行為は、一般的に、アプリケーションレベルの攻撃と関連付けられる。
図4は、本発明の一実施形態に従い、セキュリティ脅威を検出するように、機能的ユーザ挙動に関する情報を既知の評価パターンと相関させることに関わる工程400の例示的なフローチャートである。ユーザ402はアプリケーションを使用しているため、サーバオブジェクト224、および挙動分析エンジン216、ならびに図2に関連して説明したように、機能的ユーザ挙動に関する定性的および/または定量的情報は、ステップ404で収集される。ステップ406は、サーバオブジェクト224によって収集される情報を挙動パターンに変換するか、または特定のユーザ挙動セッションと関連付けられる(例えば、リレーショナルデータベース226に記憶されているような)挙動パターンを更新する。ステップ406での変換は、挙動分析エンジン216によって実施されてもよい。次いで、工程400は、相関エンジン218において挙動パターンが評価パターンと相関しているステップ408に進む。ステップ410で、工程は、挙動パターンが悪意のある挙動パターンに合致するかどうかを判定する。ステップ408およびステップ310は、相関エンジン218によって実施されてもよい。
ステップ410が、はいという結果になる場合、工程400の次のステップは、修復措置(ステップ412)および学習(ステップ414)を実行する。電子メールサーバ、またはウェブサーバ204等の任意の適したサーバが、修復措置を実行するために使用されてもよい。挙動パターンが、悪意のある挙動と関連付けられる評価パターンと合致(例えば、ステップ410に対する「はい」)していることが分かった場合、システムは、システム管理者に通知すること、またはウェブアプリケーション上のユーザアカウントを無効にすること等の、修復措置(ステップ414)を自動的に実行してもよい。評価パターンは、修復措置と関連付けられてもよく、または関連付けられなくてもよい。評価パターンと関連付けられる修復措置は、システム管理者によって手動で実行されてもよい。
修復措置は、潜在的なセキュリティ脅威に関連している情報を記載した電子メールをシステム管理者に送信すること等、(アプリケーション116またはウェブサーバ102外での)修正を含んでもよい。修復措置は、セキュリティシステム200が悪意のある挙動を検出したことをユーザに知らせるために、ウェブページ上のポップアップとして、アプリケーション116またはアプリケーション222に挿入される警告を含んでもよい。一部の実施形態において、修復措置は、現在のセッションを停止および終了させ、かつアプリケーション116およびアプリケーション222のさらなるアクセスおよび使用を防止する、別のサーバ上でホストされる阻止ページにブラウザセッションをリダイレクトすることを含む。挙動パターンが無害な評価パターンに合致する場合、システムは、ユーザ挙動セッション中に機能的ユーザ挙動に関する情報を収集し続けてもよく、挙動パターンを更新し続けてもよく、および更新された挙動パターンを評価パターンと相関させ続けてもよい。
分析の更新は、ステップ414で学習エンジン220によって実施され、学習エンジン220は、挙動分析エンジン216および相関エンジン218を向上させるために、経時的に収集される挙動パターンに関する情報を使用する。挙動分析エンジン216および相関エンジン218で使用される測定基準は、現在のおよび/または過去の挙動パターンから収集される累積データを使用して、連続的に更新および再計算されてもよい。
ステップ410が、いいえという結果になる場合、次のステップは、ステップ404に戻って、機能的ユーザ挙動に関してさらなる情報を収集し、かつステップ414で分析を更新する。一部の実施形態において、ユーザ挙動は、悪意がない場合があるが、挙動パターンにおける情報は、学習ステップ414で、学習エンジン220によって挙動分析エンジン216および/または相関エンジン218を更新するために使用される。
図5は、本発明の一実施形態に従う、挙動パターンを作成するための例示的な方法500の図である。図2に関連して説明したように、挙動パターンは、評価パターンと相関している。特定の実施形態において、枠は、特定のアプリケーションレベルの攻撃に対して手動で、または自動的に作成される。枠は、機能的不正使用特質、データ挿入、コマンド挿入、および脅威シグネチャ等の属性を含む。脅威シグネチャまたは悪意のある挙動特性の鋳型として、枠は、ホストアプリケーションおよびそのユーザに特異的であり得る、既知のアプリケーションレベルの脅威特性および学習されたアプリケーションレベルの脅威特性をモデル化するモジュラーおよび適合能力を提供する。枠502または任意の他の枠は、システム管理者のアプリケーションレベルの攻撃に関する専門知識に少なくとも部分的に基づいて、手動で作成されてもよい。一部の実施形態において、枠は、様々なアプリケーションに応じて調整することができるパラメータを有する。
枠は、本質的に一般的であってもよい。例えば、ユーザ入力の一部としての正規表現の検出は、枠属性であってもよい。一部の実施形態において、枠属性は、機能的不正使用の徴候として解釈することができるため、特定の一連のページと関連付けられてもよい。自動的に、または手動で、枠は、枠属性およびパラメータを修正およびカスタマイズすることによって、評価パターンを作成するように構成または適合されてもよい。特定の一連のページは、悪意があると解釈され得るが、一方で、ページの同様の繰り返しは、異なる種類のアプリケーションにおいて正常であり得るため、適合能力は有利である。
評価パターンは、枠から作成されてもよく、枠属性は、システムによって保護されているアプリケーションに適合している。例えば、枠属性を特定の正規表現(つまり、枠属性へのパラメータ)と関連付けることによって、枠属性として正規表現を有する枠を、評価パターンを作成するように修正することができる。枠は、新しい評価パターンを作成するように、学習エンジン220を使用して適合されてもよい。学習エンジン220は、再クラスタ化工程によって検出される新しいパターンを反映するために、枠属性もしくは評価パターン属性、またはパラメータを調整することによって、挙動パターンを再クラスタ化して、新しい評価パターンを作成してもよい。
図5に示したように、枠502は、枠属性として、引数挿入506、コマンドデリミタ508、不正リソース消費510の3つの脅威シグネチャを有する。評価パターン504は、評価パターン属性を有する。概して、枠属性および評価属性は定性的であり、それらの属性に対する値は、定性的および/または定量的である。自動工程(例えば、学習エンジン220においてクラスタ化方法を使用)または手動工程を通じて、枠502、その属性およびパラメータは、アプリケーションに適合することができ、アプリケーション特異的評価パターン504となることができる。引数挿入506では、枠属性506は、特に”,””−−文字に関して解析することによって、機能的ユーザ挙動を確認するように適合される。コマンドデリミタ508では、評価パターンは、ユーザ入力中の/,?および()文字を解析することによって、挙動パターンを確認してもよい。不正リソース消費では、評価パターンは、ユーザ挙動セッション中の反復ページシーケンス(例えば、「submit.html」は、25回現れる)の存在に関して挙動パターンを確認してもよい。システムによって保護されているアプリケーションに応じて、不正リソース消費の属性は、異なる反復ページシーケンスに関して確認するように修正される(例えば、様々なアプリケーションにパラメータを適合する)。
サーバオブジェクト224によって収集される機能的ユーザ挙動と関連付けられる情報は、ユーザ挙動セッションにわたる機能的ユーザ活動を記述し、挙動分析エンジン212を使用して挙動セッションに変換されてもよい。一式の既知の枠およびアプリケーション特異的評価パターンに基づいて、機能的ユーザ挙動に関して収集される生データは、挙動パターンを容易に処理および相関することができる方法で、挙動分析エンジン212によって挙動パターンに変換されてもよい。変換は、サーバオブジェクト224によって収集される生データを、一式の既知の枠属性および/または評価パターン属性内の属性にマップすることによって実施されてもよい。例えば、マッピング工程は、リレーショナルデータベース226内の機能的ユーザ挙動と関連付けられる生データの列を、生データのそれらの列における特定の枠属性および/または評価パターン属性の有無を追跡する挙動パターンに(例えば、別のデータベーステーブル内の別の列に)変換してもよい。一部の実施形態において、特定の属性の有無を記録する連想配列は、挙動パターンを表すために使用される。挙動パターンは、アプリケーションに対する一式の既知の挙動パターンと統計的およびプログラム的に相関している。
攻撃およびアプリケーション脆弱性の種類に関する一般的な知識、既存の脆弱性および先の攻撃に関する特異的なアプリケーション種類の、および/またはプラットフォームの知識、ならびに収集された挙動パターンの確率的挙動分析に少なくとも部分的に基づいて、枠および挙動パターンを作成することができる。図2に関連して説明したように、評価パターンは、学習エンジン220において再クラスタ化工程を介して更新されてもよい。一部の実施形態において、評価パターンは、システム管理者によって手動で更新される。
一部の実施形態において、アプリケーション特異的挙動パターンは、挙動パターンにおいて考慮されるまたは除外される特異的なページの定義によって生成または作成される。挙動パターンを生成または作成する工程は、枠および/または評価パターンの属性における正規表現を指定すること等、枠および評価パターンにパラメータを構成することを含んでもよい。一部の実施形態において、学習エンジン220に関連して説明したように、挙動パターンは、統計的分析を使用して作成される。
図6は、本発明の一実施形態に従う、多層アプリケーションレベルのセキュリティシステムに対する例示的な図である。セキュリティシステム200は、多層の世界的基盤として実装されてもよい。攻撃は、ホストアプリケーションのシステムの不正および消費利用を防止するように、攻撃にローカルな地点にある源の最も近くで停止される。瀬戸際で脅威保護を提供するように、地理的に分散された地点で、複数のローカルシステム606を実装することは有利であり得る。特定の実施形態において、ローカルシステム606は、脅威修復に使用されてもよい。
ユーザ挙動セッションにわたって追跡されるデータは、効果的な脅威知識の移行および修復のために、保護の全ての地点にわたって早急に同期されてもよい。複数の地域システム604は、地理的に、地域的に位置していてもよく、セッション検出、相関、および分析のための拠点を提供してもよい。地域システム604は、挙動分析エンジン216、相関エンジン218、および学習エンジン220のうちの少なくとも1つを備えてもよい。地域システム604は、図4に関連して説明した工程の構成要素を実装してもよい。
少なくとも1つの中央システム602は、主要な地理的地点に位置していてもよく、かつ報告、管理、および分析のための中核を提供するように構成されてもよい。中央システム602は、様々な位置から収集される情報を同期するように構成されてもよい。特定の実施形態において、中央システム602は、学習エンジン220および図4に関連して説明したように、新しい評価パターンを学習するよう、収集される挙動パターンを処理するように構成されてもよい。一部の実施形態において、中央システム602は、システムの性能に関して大域分析を実施するように、および/または管理者に分析データを報告するように構成されてもよい。
本発明に関連する方法は、コンピュータ可用および/または可読媒体を含むコンピュータプログラム製品において具体化され得ることを、当業者は理解する。例えば、そのようなコンピュータ可用媒体は、CD ROMディスク、DVD、フラッシュメモリスティック、従来のROMデバイス、あるいは記憶されたコンピュータ可読プログラムコードを有するハードドライブデバイスまたはコンピュータディスケット等のランダムアクセスメモリ等、読み取り専用または書き込み可能メモリデバイスから成ってもよい。
本発明の上述の実施形態は、例示の目的で提示されており、限定の目的で提示されておらず、本発明は、以下の特許請求の範囲によってのみ限定される。

Claims (38)

  1. ウェブアプリケーション上の悪意のある機能的ユーザ挙動を検出するための方法であって、
    セッション中に、クライアントデバイスから前記ウェブアプリケーションをホストするウェブサーバに送信された複数のユーザ要求を収集するステップであって、
    前記複数のユーザ要求は、機能的ユーザ挙動と関連付けられる情報を含み、
    前記ウェブアプリケーションは、インターネット上で、前記ウェブサーバよって前記クライアントデバイスに提供される、ステップと、
    機能的ユーザ挙動と関連付けられる前記情報を、前記機能的ユーザ挙動を定性的に記述する挙動パターンに変換するステップと、
    一式の既知の評価パターンを、前記挙動パターンと相関させるステップであって、前記既知の評価パターンのうちの少なくとも1つは、悪意のある機能的ユーザ挙動と関連付けられる、ステップと、
    前記相関から、前記挙動パターンと、悪意のある機能的ユーザ挙動と関連付けられる評価パターンとの間の合致を発見することに応じて、前記合致評価パターンと関連付けられる修復措置を自動的に実行するステップと
    を含む、方法。
  2. 機能的ユーザ挙動と関連付けられる情報は、前記ウェブアプリケーション上のユーザ活動に関する定性的情報、および前記ウェブアプリケーション上のユーザ活動に関する定量的情報のうちの少なくとも1つを含む、請求項1に記載の方法。
  3. 前記挙動パターンは、特定の定性的な機能的ユーザ挙動特性に関する定量化可能な情報を含み、前記定性的な機能的ユーザ挙動特性は、ウェブページ上のユーザ入力、ウェブページ閲覧シーケンス、ユーザ入力のタイムスタンプ、および前記閲覧シーケンスにおけるページ訪問のタイムスタンプのうちの少なくとも1つを含む、請求項1に記載の方法。
  4. ユーザ入力は、テキスト入力、マウスクリック、カーソル移動、および触覚入力のうちの少なくとも1つを含む、請求項1に記載の方法。
  5. 前記セッションは、前記ウェブアプリケーションとの相互作用が開始する第1の時間から、前記ウェブアプリケーションとの相互作用が終了する第2の時間までに開始する、ユーザ挙動セッションである、請求項1に記載の方法。
  6. 複数の挙動パターンをデータ記憶デバイスに経時的に記憶するステップをさらに含む、請求項1に記載の方法。
  7. 前記評価パターンのうちの1つは、入力として特異的な正規表現を受信するステップを含む、請求項1に記載の方法。
  8. 前記評価パターンのうちの1つは、特定の一連のウェブページの存在を含む、請求項1に記載の方法。
  9. 前記評価パターンは、前記ウェブアプリケーションに特異的であり、一式の非アプリケーション特異的挙動パターンから生成される、請求項1に記載の方法。
  10. 前記評価パターンは、階層的に関連している、請求項1に記載の方法。
  11. 相関させるステップは、統計的相関アルゴリズムおよびヒューリスティックを使用して、前記挙動パターンを分類するステップを含み、統計的相関アルゴリズムは、前記挙動パターンと前記評価パターンのそれぞれとの間の類似性を定量的に計算するステップを含む、請求項1に記載の方法。
  12. ヒューリスティックに少なくとも部分的に基づいて、前記評価パターンを更新するステップをさらに含む、請求項1に記載の方法。
  13. 1つ以上の新しい評価パターンを抽出するように、前記評価パターンに対して収集される挙動パターンをクラスタ化するステップをさらに含む、請求項6に記載の方法。
  14. 収集される挙動パターンに少なくとも部分的に基づいて、前記評価パターンを更新するステップをさらに含む、請求項6に記載の方法。
  15. 前記挙動パターンを分類するステップは、前記挙動パターンにおける特定の機能的特性の有無に少なくとも部分的に基づく、請求項11に記載の方法。
  16. 前記修復措置は、システム管理者に通知を送信するステップを含む、請求項1に記載の方法。
  17. 前記修復措置は、一定の期間にわたって、前記ユーザが前記ウェブアプリケーションにアクセスすることを阻止するステップを含む、請求項1に記載の方法。
  18. 前記修復措置は、前記ウェブアプリケーション上に警告を表示することによって、前記セッションを修正するステップを含む、請求項1に記載の方法。
  19. 複数の分散ネットワークおよびアクセスポイントにわたって、複数のユーザ要求を収集するステップをさらに含む、請求項1に記載の方法。
  20. ウェブアプリケーション上の悪意のある機能的ユーザ挙動を検出するためのシステムであって、
    セッション中に、クライアントデバイスから前記ウェブアプリケーションをホストするウェブサーバに送信された複数のユーザ要求を受信するように構成される、サーバ上の制御回路であって、
    前記複数のユーザ要求は、機能的ユーザ挙動と関連付けられる情報を含み、
    前記ウェブアプリケーションは、インターネット上で、前記ウェブサーバよって前記クライアントデバイスに提供され、
    受信される前記ユーザ要求の中の前記情報を、前記機能的ユーザ挙動を定性的に記述する挙動パターンに変換する、制御回路と、
    前記複数のユーザ要求および前記挙動パターンを記憶するための前記サーバ内のデータ記憶装置と、
    前記サーバ上のプロセッサであって、
    一式の既知の評価パターンを、前記挙動パターンと相関させるためのプロセッサであって、前記既知の評価パターンのうちの少なくとも1つは、悪意のある機能的ユーザ挙動と関連付けられ、
    前記挙動パターンと、悪意のある機能的ユーザ挙動と関連付けられる評価パターンとの間の合致を発見することに応じて、前記合致評価パターンと関連付けられる修復措置を自動的に実行するためのプロセッサである、プロセッサと
    を備える、システム。
  21. 機能的ユーザ挙動と関連付けられる前記情報は、前記ウェブアプリケーション上のユーザ活動に関する定性的情報、および前記ウェブアプリケーション上のユーザ活動に関する定量的情報のうちの少なくとも1つを含む、請求項20に記載のシステム。
  22. 前記挙動パターンは、特定の定性的な機能的ユーザ挙動特性に関する定量化可能な情報を含み、前記定性的な機能的ユーザ挙動特性は、ウェブページ上のユーザ入力、ウェブページ閲覧シーケンス、ユーザ入力のタイムスタンプ、および前記閲覧シーケンスにおけるページ訪問のタイムスタンプのうちの少なくとも1つを含む、請求項20に記載のシステム。
  23. ユーザ入力は、テキスト入力、マウスクリック、カーソル移動、および触覚入力のうちの少なくとも1つを含む、請求項20に記載のシステム。
  24. 前記セッションは、前記ウェブアプリケーションとの相互作用が開始する第1の時間から、前記ウェブアプリケーションとの相互作用が終了する第2の時間までに開始する、ユーザ挙動セッションである、請求項20に記載のシステム。
  25. 複数の挙動パターンを前記データ記憶デバイスに経時的に記憶するステップをさらに含む、請求項20に記載のシステム。
  26. 前記評価パターンのうちの1つは、入力として特異的な正規表現を受信するステップを含む、請求項20に記載のシステム。
  27. 前記評価パターンのうちの1つは、特定の一連のウェブページの存在を含む、請求項20に記載のシステム。
  28. 前記評価パターンは、前記ウェブアプリケーションに特異的であり、一式の非アプリケーション特異的挙動パターンから生成される、請求項20に記載のシステム。
  29. 前記評価パターンは、階層的に関連している、請求項20に記載のシステム。
  30. 相関させるステップは、統計的相関アルゴリズムおよびヒューリスティックを使用して、前記挙動パターンを分類するステップを含み、統計的相関アルゴリズムは、前記挙動パターンと前記評価パターンのそれぞれとの間の類似性を定量的に計算するステップを含む、請求項20に記載のシステム。
  31. 前記プロセッサは、ヒューリスティックに少なくとも部分的に基づいて、前記評価パターンを更新するようにさらに構成される、請求項20に記載のシステム。
  32. 前記プロセッサは、1つ以上の新しい評価パターンを抽出するように前記評価パターンに対して収集される、挙動パターンをクラスタ化するようにさらに構成される、請求項25に記載のシステム。
  33. 収集される挙動パターンに少なくとも部分的に基づいて、前記評価パターンを更新するようにさらに構成される、請求項25に記載のシステム。
  34. 前記挙動パターンを分類するステップは、前記挙動パターンにおける特定の機能的特性の有無に少なくとも部分的に基づく、請求項30に記載のシステム。
  35. 前記修復措置は、システム管理者に通知を送信するステップを含む、請求項20に記載のシステム。
  36. 前記修復措置は、一定期間にわたって、前記ユーザが前記ウェブアプリケーションにアクセスすることを阻止するステップを含む、請求項20に記載のシステム。
  37. 前記修復措置は、前記ウェブアプリケーション上に警告を表示することによって、前記セッションを修正するステップを含む、請求項20に記載のシステム。
  38. 前記制御回路は、複数の分散ネットワークおよびアクセスポイントにわたって、複数のユーザ要求を受信するようにさらに構成される、請求項20に記載のシステム。
JP2012511848A 2009-05-19 2010-04-30 アプリケーションレベルセキュリティのためのシステムおよび方法 Pending JP2012527691A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/468,739 US8356001B2 (en) 2009-05-19 2009-05-19 Systems and methods for application-level security
US12/468,739 2009-05-19
PCT/US2010/033193 WO2010135068A1 (en) 2009-05-19 2010-04-30 Systems and methods for application-level security

Publications (1)

Publication Number Publication Date
JP2012527691A true JP2012527691A (ja) 2012-11-08

Family

ID=43125243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012511848A Pending JP2012527691A (ja) 2009-05-19 2010-04-30 アプリケーションレベルセキュリティのためのシステムおよび方法

Country Status (6)

Country Link
US (1) US8356001B2 (ja)
EP (1) EP2433215A4 (ja)
JP (1) JP2012527691A (ja)
AU (1) AU2010250015A1 (ja)
CA (1) CA2762429A1 (ja)
WO (1) WO2010135068A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015079512A (ja) * 2013-10-15 2015-04-23 ペンタ・セキュリティ・システムズ・インコーポレーテッド イベント分析に基づくサイバー攻撃探知装置及び方法
JP2015141643A (ja) * 2014-01-30 2015-08-03 株式会社日立製作所 業務システムの監視装置及び監視装置の制御方法
JP2016038627A (ja) * 2014-08-05 2016-03-22 Kddi株式会社 監視システム、観測装置、解析装置、監視方法およびコンピュータプログラム
KR20190042080A (ko) * 2016-07-22 2019-04-23 알리바바 그룹 홀딩 리미티드 데이터 처리 및 송신을 위한 방법과 위험한 행동 식별을 위한 방법 및 장치
US11240258B2 (en) 2015-11-19 2022-02-01 Alibaba Group Holding Limited Method and apparatus for identifying network attacks
JP7408725B2 (ja) 2018-12-03 2024-01-05 セールスフォース インコーポレイテッド コンピュータシステムの自動動作管理

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9860274B2 (en) 2006-09-13 2018-01-02 Sophos Limited Policy management
US8607340B2 (en) * 2009-07-21 2013-12-10 Sophos Limited Host intrusion prevention system using software and user behavior analysis
US8776218B2 (en) * 2009-07-21 2014-07-08 Sophos Limited Behavioral-based host intrusion prevention system
US8839441B2 (en) * 2010-06-28 2014-09-16 Infosys Limited Method and system for adaptive vulnerability scanning of an application
US8607353B2 (en) * 2010-07-29 2013-12-10 Accenture Global Services Gmbh System and method for performing threat assessments using situational awareness
US8966036B1 (en) * 2010-11-24 2015-02-24 Google Inc. Method and system for website user account management based on event transition matrixes
US20190158535A1 (en) * 2017-11-21 2019-05-23 Biocatch Ltd. Device, System, and Method of Detecting Vishing Attacks
US10404729B2 (en) * 2010-11-29 2019-09-03 Biocatch Ltd. Device, method, and system of generating fraud-alerts for cyber-attacks
US8918834B1 (en) * 2010-12-17 2014-12-23 Amazon Technologies, Inc. Creating custom policies in a remote-computing environment
US10586227B2 (en) 2011-02-16 2020-03-10 Visa International Service Association Snap mobile payment apparatuses, methods and systems
CN109118199A (zh) 2011-02-16 2019-01-01 维萨国际服务协会 快拍移动支付装置,方法和系统
EP2492832B1 (de) * 2011-02-22 2021-08-18 Siemens Healthcare GmbH Optimierung einer auf einem client-server-system implementierten softwareapplikation
SG193510A1 (en) 2011-02-22 2013-10-30 Visa Int Service Ass Universal electronic payment apparatuses, methods and systems
US10168413B2 (en) 2011-03-25 2019-01-01 T-Mobile Usa, Inc. Service enhancements using near field communication
US20120278179A1 (en) * 2011-04-28 2012-11-01 Ray Campbell Systems and methods for deducing user information from input device behavior
US9355393B2 (en) 2011-08-18 2016-05-31 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
US10121129B2 (en) 2011-07-05 2018-11-06 Visa International Service Association Electronic wallet checkout platform apparatuses, methods and systems
US9582598B2 (en) 2011-07-05 2017-02-28 Visa International Service Association Hybrid applications utilizing distributed models and views apparatuses, methods and systems
US8850535B2 (en) * 2011-08-05 2014-09-30 Safefaces LLC Methods and systems for identity verification in a social network using ratings
US10825001B2 (en) 2011-08-18 2020-11-03 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
US10242358B2 (en) * 2011-08-18 2019-03-26 Visa International Service Association Remote decoupled application persistent state apparatuses, methods and systems
US9710807B2 (en) 2011-08-18 2017-07-18 Visa International Service Association Third-party value added wallet features and interfaces apparatuses, methods and systems
US9824199B2 (en) 2011-08-25 2017-11-21 T-Mobile Usa, Inc. Multi-factor profile and security fingerprint analysis
US20130054433A1 (en) 2011-08-25 2013-02-28 T-Mobile Usa, Inc. Multi-Factor Identity Fingerprinting with User Behavior
US10223730B2 (en) 2011-09-23 2019-03-05 Visa International Service Association E-wallet store injection search apparatuses, methods and systems
US9083687B2 (en) 2011-09-24 2015-07-14 Elwha Llc Multi-device behavioral fingerprinting
US9729549B2 (en) 2011-09-24 2017-08-08 Elwha Llc Behavioral fingerprinting with adaptive development
US9621404B2 (en) 2011-09-24 2017-04-11 Elwha Llc Behavioral fingerprinting with social networking
US9298900B2 (en) 2011-09-24 2016-03-29 Elwha Llc Behavioral fingerprinting via inferred personal relation
US8555077B2 (en) 2011-11-23 2013-10-08 Elwha Llc Determining device identity using a behavioral fingerprint
US8869241B2 (en) * 2011-09-24 2014-10-21 Elwha Llc Network acquired behavioral fingerprint for authentication
US8688980B2 (en) 2011-09-24 2014-04-01 Elwha Llc Trust verification schema based transaction authorization
US9348985B2 (en) * 2011-11-23 2016-05-24 Elwha Llc Behavioral fingerprint controlled automatic task determination
US9015860B2 (en) 2011-09-24 2015-04-21 Elwha Llc Behavioral fingerprinting via derived personal relation
US20130191887A1 (en) * 2011-10-13 2013-07-25 Marc E. Davis Social network based trust verification Schema
US9825967B2 (en) 2011-09-24 2017-11-21 Elwha Llc Behavioral fingerprinting via social networking interaction
US8713704B2 (en) 2011-09-24 2014-04-29 Elwha Llc Behavioral fingerprint based authentication
US8793790B2 (en) * 2011-10-11 2014-07-29 Honeywell International Inc. System and method for insider threat detection
US8484741B1 (en) 2012-01-27 2013-07-09 Chapman Technology Group, Inc. Software service to facilitate organizational testing of employees to determine their potential susceptibility to phishing scams
AU2013214801B2 (en) 2012-02-02 2018-06-21 Visa International Service Association Multi-source, multi-dimensional, cross-entity, multimedia database platform apparatuses, methods and systems
SE536726C2 (sv) * 2012-02-03 2014-06-24 Innometrics Ab En metod för att spåra en användares interaktion med en webbsida
US9280669B2 (en) 2012-05-11 2016-03-08 Infosys Limited Systems, methods and computer readable media for calculating a security index of an application hosted in a cloud environment
US9690635B2 (en) 2012-05-14 2017-06-27 Qualcomm Incorporated Communicating behavior information in a mobile computing device
US9202047B2 (en) 2012-05-14 2015-12-01 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
US20130304677A1 (en) * 2012-05-14 2013-11-14 Qualcomm Incorporated Architecture for Client-Cloud Behavior Analyzer
US9324034B2 (en) 2012-05-14 2016-04-26 Qualcomm Incorporated On-device real-time behavior analyzer
US9609456B2 (en) 2012-05-14 2017-03-28 Qualcomm Incorporated Methods, devices, and systems for communicating behavioral analysis information
US9298494B2 (en) 2012-05-14 2016-03-29 Qualcomm Incorporated Collaborative learning for efficient behavioral analysis in networked mobile device
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US9330257B2 (en) 2012-08-15 2016-05-03 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US9495537B2 (en) 2012-08-15 2016-11-15 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US9319897B2 (en) 2012-08-15 2016-04-19 Qualcomm Incorporated Secure behavior analysis over trusted execution environment
US9747440B2 (en) 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9336388B2 (en) * 2012-12-10 2016-05-10 Palo Alto Research Center Incorporated Method and system for thwarting insider attacks through informational network analysis
US10089582B2 (en) 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
US9684870B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of using boosted decision stumps and joint feature selection and culling algorithms for the efficient classification of mobile device behaviors
US9686023B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors
US9742559B2 (en) 2013-01-22 2017-08-22 Qualcomm Incorporated Inter-module authentication for securing application execution integrity within a computing device
US9275348B2 (en) 2013-01-31 2016-03-01 Hewlett Packard Enterprise Development Lp Identifying participants for collaboration in a threat exchange community
US9456001B2 (en) 2013-01-31 2016-09-27 Hewlett Packard Enterprise Development Lp Attack notification
US9729505B2 (en) 2013-01-31 2017-08-08 Entit Software Llc Security threat analysis
WO2014120181A1 (en) 2013-01-31 2014-08-07 Hewlett-Packard Development Company, L.P. Targeted security alerts
US9143517B2 (en) 2013-01-31 2015-09-22 Hewlett-Packard Development Company, L.P. Threat exchange information protection
US9253207B2 (en) 2013-02-08 2016-02-02 PhishMe, Inc. Collaborative phishing attack detection
US9053326B2 (en) 2013-02-08 2015-06-09 PhishMe, Inc. Simulated phishing attack with sequential messages
US8966637B2 (en) 2013-02-08 2015-02-24 PhishMe, Inc. Performance benchmarking for simulated phishing attacks
US9398038B2 (en) 2013-02-08 2016-07-19 PhishMe, Inc. Collaborative phishing attack detection
US9356948B2 (en) 2013-02-08 2016-05-31 PhishMe, Inc. Collaborative phishing attack detection
US9491187B2 (en) 2013-02-15 2016-11-08 Qualcomm Incorporated APIs for obtaining device-specific behavior classifier models from the cloud
US9117171B2 (en) 2013-03-14 2015-08-25 Intelmate Llc Determining a threat level for one or more individuals
US9300682B2 (en) 2013-08-09 2016-03-29 Lockheed Martin Corporation Composite analysis of executable content across enterprise network
US20150142935A1 (en) * 2013-10-21 2015-05-21 Nyansa, Inc. System and method for observing and controlling a programmable network via higher layer attributes
US9262629B2 (en) 2014-01-21 2016-02-16 PhishMe, Inc. Methods and systems for preventing malicious use of phishing simulation records
US10237298B1 (en) * 2014-06-17 2019-03-19 Wells Fargo Bank, N.A. Session management
US10929923B1 (en) 2014-06-17 2021-02-23 Wells Fargo Bank, N.A. Security scoring
GB2529150B (en) 2014-08-04 2022-03-30 Darktrace Ltd Cyber security
US10482404B2 (en) 2014-09-25 2019-11-19 Oracle International Corporation Delegated privileged access grants
US10530790B2 (en) * 2014-09-25 2020-01-07 Oracle International Corporation Privileged session analytics
KR101628071B1 (ko) * 2014-10-21 2016-06-09 (주)해든브릿지 대규모 그룹통신 방법 및 시스템
CA2876464A1 (en) * 2014-12-29 2016-06-29 Ibm Canada Limited - Ibm Canada Limitee Application decomposition using data obtained from external tools for use in threat modeling
US9680832B1 (en) 2014-12-30 2017-06-13 Juniper Networks, Inc. Using a probability-based model to detect random content in a protocol field associated with network traffic
US9699207B2 (en) 2015-02-05 2017-07-04 Phishline, Llc Social engineering simulation workflow appliance
CN105989155B (zh) 2015-03-02 2019-10-25 阿里巴巴集团控股有限公司 识别风险行为的方法及装置
US9906539B2 (en) 2015-04-10 2018-02-27 PhishMe, Inc. Suspicious message processing and incident response
CA2982463C (en) 2015-05-01 2019-03-05 Lookout, Inc. Determining source of side-loaded software
US10289819B2 (en) * 2015-08-12 2019-05-14 Kryptowire LLC Active authentication of users
US20170078309A1 (en) * 2015-09-11 2017-03-16 Beyondtrust Software, Inc. Systems and methods for detecting vulnerabilities and privileged access using cluster movement
CN106598972B (zh) * 2015-10-14 2020-05-08 阿里巴巴集团控股有限公司 一种信息显示方法、装置及智能终端
WO2017095727A1 (en) * 2015-11-30 2017-06-08 Jpmorgan Chase Bank, N.A. Systems and methods for software security scanning employing a scan quality index
GB2547201B (en) * 2016-02-09 2022-08-31 Darktrace Holdings Ltd Cyber security
GB2547202B (en) 2016-02-09 2022-04-20 Darktrace Ltd An anomaly alert system for cyber threat detection
GB201603304D0 (en) * 2016-02-25 2016-04-13 Darktrace Ltd Cyber security
US10230609B2 (en) 2016-04-18 2019-03-12 Nyansa, Inc. System and method for using real-time packet data to detect and manage network issues
US10193741B2 (en) 2016-04-18 2019-01-29 Nyansa, Inc. System and method for network incident identification and analysis
US10200267B2 (en) 2016-04-18 2019-02-05 Nyansa, Inc. System and method for client network congestion detection, analysis, and management
US20180115542A1 (en) * 2016-10-24 2018-04-26 Caradigm Usa Llc Security mechanism for multi-tiered server-implemented applications
US10977361B2 (en) 2017-05-16 2021-04-13 Beyondtrust Software, Inc. Systems and methods for controlling privileged operations
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
US11093624B2 (en) 2017-09-12 2021-08-17 Sophos Limited Providing process data to a data recorder
US10666494B2 (en) 2017-11-10 2020-05-26 Nyansa, Inc. System and method for network incident remediation recommendations
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
WO2019144039A1 (en) * 2018-01-18 2019-07-25 Risksense, Inc. Complex application attack quantification, testing, detection and prevention
US11924238B2 (en) 2018-02-20 2024-03-05 Darktrace Holdings Limited Cyber threat defense system, components, and a method for using artificial intelligence models trained on a normal pattern of life for systems with unusual data sources
US11463457B2 (en) 2018-02-20 2022-10-04 Darktrace Holdings Limited Artificial intelligence (AI) based cyber threat analyst to support a cyber security appliance
US11477222B2 (en) 2018-02-20 2022-10-18 Darktrace Holdings Limited Cyber threat defense system protecting email networks with machine learning models using a range of metadata from observed email communications
US11985142B2 (en) 2020-02-28 2024-05-14 Darktrace Holdings Limited Method and system for determining and acting on a structured document cyber threat risk
CA3034176A1 (en) 2018-02-20 2019-08-20 Timothy BAZALGETTE An artificial intelligence cyber security analyst
US11962552B2 (en) 2018-02-20 2024-04-16 Darktrace Holdings Limited Endpoint agent extension of a machine learning cyber defense system for email
CN108540465A (zh) * 2018-03-30 2018-09-14 北京百度网讯科技有限公司 Sql注入拦截检测方法、装置、设备及计算机可读介质
CN108989095B (zh) * 2018-06-28 2021-03-23 安徽大学 可抵抗恶意评价的公有云可信度评估方法及其评估系统
KR102291557B1 (ko) * 2018-07-03 2021-08-19 네이버 주식회사 사용자 행동 분석 장치 및 사용자 행동 분석 방법
US10263996B1 (en) * 2018-08-13 2019-04-16 Capital One Services, Llc Detecting fraudulent user access to online web services via user flow
US10949542B2 (en) 2018-11-25 2021-03-16 International Business Machines Corporation Self-evolved adjustment framework for cloud-based large system based on machine learning
US10986121B2 (en) 2019-01-24 2021-04-20 Darktrace Limited Multivariate network structure anomaly detector
US11540130B2 (en) * 2019-02-04 2022-12-27 802 Secure, Inc. Zero trust wireless monitoring-system and method for behavior based monitoring of radio frequency environments
GB2584018B (en) 2019-04-26 2022-04-13 Beyondtrust Software Inc Root-level application selective configuration
US11163889B2 (en) 2019-06-14 2021-11-02 Bank Of America Corporation System and method for analyzing and remediating computer application vulnerabilities via multidimensional correlation and prioritization
EP3786823A1 (en) 2019-08-29 2021-03-03 Darktrace Limited An endpoint agent extension of a machine learning cyber defense system for email
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11405412B2 (en) * 2019-12-30 2022-08-02 Imperva, Inc. Inline anomaly detection for multi-request operations
IL295937A (en) 2020-02-28 2022-10-01 Darktrace Holdings Ltd Red team of AI opponents
WO2021171093A1 (en) 2020-02-28 2021-09-02 Darktrace, Inc. Cyber security for a software-as-a-service factoring risk
GB202007046D0 (en) * 2020-05-13 2020-06-24 Netacea Ltd Method of processing a new visitor session to a web-based system
CN111831881B (zh) * 2020-07-04 2023-03-21 西安交通大学 一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法
US11930025B2 (en) 2021-04-15 2024-03-12 Bank Of America Corporation Threat detection and prevention for information systems
US11785025B2 (en) 2021-04-15 2023-10-10 Bank Of America Corporation Threat detection within information systems
US11880440B2 (en) * 2021-08-09 2024-01-23 Bank Of America Corporation Scheme evaluation authentication system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004084063A1 (ja) * 2003-03-17 2004-09-30 Seiko Epson Corporation ウィルスの感染を阻止する方法およびシステム
JP2005520230A (ja) * 2002-03-08 2005-07-07 サイファートラスト, インコーポレイテッド 電子セキュリティを強化するシステムおよび方法
JP2005341217A (ja) * 2004-05-27 2005-12-08 Fujitsu Ltd 不正アクセス検知装置、不正アクセス検知方法、不正アクセス検知プログラムおよび分散型サービス不能化攻撃検知装置
JP2007047884A (ja) * 2005-08-05 2007-02-22 Recruit Co Ltd 情報処理システム
JP2008250728A (ja) * 2007-03-30 2008-10-16 Yahoo Japan Corp 情報漏洩監視システムおよび情報漏洩監視方法
US20090100518A1 (en) * 2007-09-21 2009-04-16 Kevin Overcash System and method for detecting security defects in applications

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405318B1 (en) * 1999-03-12 2002-06-11 Psionic Software, Inc. Intrusion detection system
US7307999B1 (en) * 2001-02-16 2007-12-11 Bbn Technologies Corp. Systems and methods that identify normal traffic during network attacks
US7458098B2 (en) * 2002-03-08 2008-11-25 Secure Computing Corporation Systems and methods for enhancing electronic communication security
WO2006044798A2 (en) * 2004-10-15 2006-04-27 Protegrity Corporation Cooperative processing and escalation in a multi-node application-layer security system and method
US8272033B2 (en) 2006-12-21 2012-09-18 International Business Machines Corporation User authentication for detecting and controlling fraudulent login behavior

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005520230A (ja) * 2002-03-08 2005-07-07 サイファートラスト, インコーポレイテッド 電子セキュリティを強化するシステムおよび方法
WO2004084063A1 (ja) * 2003-03-17 2004-09-30 Seiko Epson Corporation ウィルスの感染を阻止する方法およびシステム
JP2005341217A (ja) * 2004-05-27 2005-12-08 Fujitsu Ltd 不正アクセス検知装置、不正アクセス検知方法、不正アクセス検知プログラムおよび分散型サービス不能化攻撃検知装置
JP2007047884A (ja) * 2005-08-05 2007-02-22 Recruit Co Ltd 情報処理システム
JP2008250728A (ja) * 2007-03-30 2008-10-16 Yahoo Japan Corp 情報漏洩監視システムおよび情報漏洩監視方法
US20090100518A1 (en) * 2007-09-21 2009-04-16 Kevin Overcash System and method for detecting security defects in applications

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015079512A (ja) * 2013-10-15 2015-04-23 ペンタ・セキュリティ・システムズ・インコーポレーテッド イベント分析に基づくサイバー攻撃探知装置及び方法
US9817969B2 (en) 2013-10-15 2017-11-14 Penta Security Systems Inc. Device for detecting cyber attack based on event analysis and method thereof
JP2015141643A (ja) * 2014-01-30 2015-08-03 株式会社日立製作所 業務システムの監視装置及び監視装置の制御方法
JP2016038627A (ja) * 2014-08-05 2016-03-22 Kddi株式会社 監視システム、観測装置、解析装置、監視方法およびコンピュータプログラム
US11240258B2 (en) 2015-11-19 2022-02-01 Alibaba Group Holding Limited Method and apparatus for identifying network attacks
KR20190042080A (ko) * 2016-07-22 2019-04-23 알리바바 그룹 홀딩 리미티드 데이터 처리 및 송신을 위한 방법과 위험한 행동 식별을 위한 방법 및 장치
JP2019533851A (ja) * 2016-07-22 2019-11-21 アリババ グループ ホウルディング リミテッド 伝送及びリスク分析のためのサービスデータの集約
KR102233078B1 (ko) * 2016-07-22 2021-03-30 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 데이터 처리 및 송신을 위한 방법과 위험한 행동 식별을 위한 방법 및 장치
JP7408725B2 (ja) 2018-12-03 2024-01-05 セールスフォース インコーポレイテッド コンピュータシステムの自動動作管理

Also Published As

Publication number Publication date
EP2433215A4 (en) 2013-09-04
US8356001B2 (en) 2013-01-15
AU2010250015A1 (en) 2011-12-08
EP2433215A1 (en) 2012-03-28
US20100299292A1 (en) 2010-11-25
CA2762429A1 (en) 2010-11-25
WO2010135068A1 (en) 2010-11-25

Similar Documents

Publication Publication Date Title
US8356001B2 (en) Systems and methods for application-level security
US11171925B2 (en) Evaluating and modifying countermeasures based on aggregate transaction status
US11711438B2 (en) Systems and methods for controlling data exposure using artificial-intelligence-based periodic modeling
Zhang et al. Crawlphish: Large-scale analysis of client-side cloaking techniques in phishing
US20200311630A1 (en) Adaptive enterprise risk evaluation
JP7319370B2 (ja) 挙動による脅威検出のためのシステムおよび方法
US10560471B2 (en) Detecting web exploit kits by tree-based structural similarity search
US9942250B2 (en) Network appliance for dynamic protection from risky network activities
CA2859415A1 (en) System for detecting, analyzing, and controlling infiltration of computer and network systems
CN108154029A (zh) 入侵检测方法、电子设备和计算机存储介质
Alani Big data in cybersecurity: a survey of applications and future trends
Kim et al. SoK: A Systematic Review of Insider Threat Detection.
US20180146002A1 (en) Cyber Security System and Method Using Intelligent Agents
JP7389806B2 (ja) 挙動による脅威検出のためのシステムおよび方法
Ávila et al. Use of security logs for data leak detection: a systematic literature review
Soleymani et al. A Novel Approach for Detecting DGA‐Based Botnets in DNS Queries Using Machine Learning Techniques
Pramono Anomaly-based intrusion detection and prevention system on website usage using rule-growth sequential pattern analysis: Case study: Statistics of Indonesia (BPS) website
Yan et al. Graph mining for cybersecurity: A survey
Yang et al. Network forensics in the era of artificial intelligence
Hatada et al. Finding new varieties of malware with the classification of network behavior
Lee et al. DGA-based malware detection using DNS traffic analysis
Salih et al. Cyber security: performance analysis and challenges for cyber attacks detection
Yüksel et al. Towards useful anomaly detection for back office networks
Udiyono et al. Botnet Detection Using DNS and HTTP Traffic Analysis
Yaacob et al. Moving towards positive security model for web application firewall

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141002